被搅拌的对象要求如下:
1.当成分A(B)泵工作时要求:1)成分A(B)的进料阀已开,出料阀已开;2)搅拌桶未满,搅拌的出料阀关闭;3)泵的驱动电机无故障,没有紧急停止动作。
2.拌电机工作时的条件:1)搅拌桶未空,搅拌桶的出料阀关闭;2)搅拌马达无故障,紧急停止没有动作。
3.开排放阀的条件:搅拌马达停止,紧急停止没有动作。
系统中的液位开关让操作者了解搅拌桶内的液位情况,并且提供输送泵和搅拌电机之间的连锁关系。
一、线性化编程
线性化编程就是将用户程序连续放置在一个指令块内,即一个简单的程序块内包含系统的所有指令。线性化编程不带分支,通常是OB1程序按顺序执行每一条指令,软件管理的功能相对简单。
二、分部编程
分部式编程是把一项控制任务分成若干个独立的块,每个块用于控制一套设备或一系列工作的逻辑指令,而这些块的运行靠组织块OB内指令来调用。
三、结构化编程
结构化程序把过程要求的类似或相关的功能进行分类,并试图提供可以用于几个任务的通用解决方案。向指令块提供有关信息(以参数形式),结构化程序能够重复利用这些通用模块。
控制软件分为五个功能块:
FC10 功能块用于控制成分A的供料泵;
FC20 功能块用于控制成分B的供料泵;
FC30 功能块用于控制搅拌马达;
FC40 功能块用于控制排料电磁阀;
FC50 功能块用于控制操作站上的指示灯。
移位指令可以可以将累加器1 的低字或整个累加器的内容进行左移或右移一定的位数。二进制数左移一位相当于将原数值乘以2。右移一位相当于将原数值除以2。
参数N 表示移位的次数。移出的空位根据不同的指令由0或符号位的状态填充。较后移出的位的状态同时被装入到状态字的CC1位,CC0和OV位被复位。
l SSI <number> 16位整数右移指令
l SSD <number> 32位整数右移指令
l SLW <number> 逻辑字左移指令
l SRW <number> 逻辑字右移指令
l SLD <number> 逻辑双字左移指令
l SRD <number> 逻辑双字右移指令
l 打开数据块
指令格式:OPN <data block>
说明:打开一个数据块作为shared数据块(DB)或者作为instance数据块(DI)。
可以同时打开一个shared数据块和一个instance数据块。
例 4.9.1: OPN DB 10 // 打开数据块DB 10作为shared数据块
L DB W35 // 将DB 10的数据字W35装入到累加器
1的低字。
T M W22 // 将累加器1的低字传输到M W22。
OPN DI 20 // 打开数据块DI 20作为instance数据块
L DI B12 // 将DI 20的数据字节B12装入到累加
器1的低字
T DB B37 // 将累加器1的低字传输到DB 10的字
节37中。
l 交换shared数据块和instance数据块
指令格式:CDB
说明:交换shared数据块和instance数据块。
shared数据块变成instance数据块,
instance数据块变成shared数据块。
l 装shared数据块的长度到累加器1
指令格式:L DBLG
说明:将shared数据块的长度装到累加器1。
l 装shared数据块的数目到累加器1
指令格式:L DBNO
说明:将shared数据块的数目装到累加器1。
l 装instance数据块的长度到累加器1
指令格式:L DILG
说明:将instance数据块的长度装到累加器1。