操作系统课件第三章2
- 格式:ppt
- 大小:2.67 MB
- 文档页数:75


可编程控制器辅导资料五主题:课件第三章第2节——存储器的数据类型与寻址方式学习时间:2016年10月31日-11月6日内容:我们这周主要学习课件第三章PLC的程序设计基础第2节PLC的编程语言与程序结构的相关内容。
希望通过下面的内容能使同学们加深对PLC的程序设计相关知识的理解。
一、学习要求1.掌握PLC的存储器的数据类型与寻址方式。
二、主要内容1.数据在存储器中存取的方式所有的数据在PLC中都是以二进制形式表示的,数据的长度和表示方式称为数据格式。
(1)用1位二进制数表示开关量二进制数的1位(bit)只有0和1这两种不同的取值,可以用来表示开关量(或称数字量)的两种不同状态。
位数据的数据类型为BOOL(布尔)类型。
S7-200的位存储单元的地址由字节地址和位地址组成,例如I3.2,其中的区域标识符“I”表示输入,字节地址为3,位地址为2。
(2)多位二进制数可以用多位二进制数来表示数字,二进制又称为8421码,8位二进制数组成一个字节,相邻的两个字节组成一个字,相邻的4个字节组成双字(3)十六进制数十六进制数使用16个数字符号,即0~9和A~F,A~F分别对应于十进制数10~15。
(4)BCD码BCD码是二进制编码的十进制数的缩写,BCD码用4位二进制数的组合来表示1位十进制数。
例如十进制数23对应的BCD码为2#00100011。
2.CPU的存储区(1)输入映像寄存器I(输入继电器)输入继电器是PLC用来接收用户设备输入信号的接口,它的作用是接收来自现场的控制按钮、行程开关及各种传感器等的输入信号。
通过输入继电器,将PLC 的存储系统中与外部输入端子(输入点)建立起明确对应的连接关系,它的每1位对应1个数字量输入点。
输入继电器的状态是在每个扫描周期的输入采样阶段接收到的由现场送来的输入信号的状态(“1”或“0”)。
由于S7-200的输入映像寄存器是以字节为单位的寄存器,CPU一般按“字节.位”的编址方式来读取一个继电器的状态,也可以按字节(8位)、或者按字(2个字节、16位)来读取相邻一组继电器的状态。
第三章死锁作业答案1,3,9,11,13,14, 161.什么是死锁?试举出一个生活中发生死锁的例子。
参考答案:所谓死锁,是指在一个进程集合中的每个进程都在等待仅由该集合中的另一个进程才能引发的事件而无限期地僵持下去的局面。
(也可以是:多个进程因竞争资源而造成的一种僵局,若无外力作用这些进程都将永远不能再向前推进。
)举例:1)书中例子“两辆汽车过窄桥发生冲突”2)公共汽车到站,车上的人要下车,车下的人要上车,挤在车门口。
结果是车上的人下不来,车下的人上不去。
3. 发生死锁的四个必要条件是什么?参考答案:发生死锁的四个必要条件是:互斥条件、占有且等待条件、不可抢占条件和循环等待条件。
9. 设想有一条带闸门的运河,其上有两座吊桥,它们在一条公路上,运河和公路的交通都是单方向的。
河上的交通工具是轮船。
当轮船距A桥100m时就鸣笛警告,若桥上无车辆,吊桥就吊起,直至轮船尾部过桥为止。
对吊桥B也做同样处理。
设轮船的长度为200m。
车辆和轮船任意前进时,是否会发生死锁?若会,说明理由。
怎样发现?并请提出一种防止死锁的办法。
参考答案:会产生死锁。
当轮船距A桥100m时鸣笛警告,此时若桥上无车辆,吊桥就吊起,但是B桥上有车辆,而且由于A桥吊起,车辆无法前进,B桥上的车辆无法下桥。
于是,轮船和车辆都不能前进,造成死锁现象。
一种防止死锁的办法是:当轮船距A桥100m时就鸣笛警告,车辆不能再上B桥。
当B桥上无车辆时,就吊起B 桥;然后,当A桥上无车辆,则吊起A桥。
轮船通过A桥和B桥后,两个吊桥放下,车辆可以通行。
(该方法相当于资源有序分配,也可以采用资源预分配策略,即同时吊起A、B两桥的方法,资源利用率相对较低。
)11. 死锁和“饥饿”之间的主要差别是什么?参考答案:①处于死锁状态的进程都占有一定的资源,而处于饥饿状态的进程永远都得不到所申请的资源②死锁是一种僵局,在无外力干预下,处于死锁状态的全部进程都不能前进,即它们都处于阻塞态,可能造成整个系统瘫痪;而出现饥饿时系统照常运行,只是某个或某几个进程永远也不能得到所需的全部服务③造成死锁的根本原因是资源有限且使用不当;而造成饥饿的原因是资源分配策略或调度策略不合适,如果采用先来先服务的资源分配策略就可以避免饥饿。