被搅拌的对象要求如下:
1.当成分A(B)泵工作时要求:1)成分A(B)的进料阀已开,出料阀已开;2)搅拌桶未满,搅拌的出料阀关闭;3)泵的驱动电机无故障,没有紧急停止动作。
2.拌电机工作时的条件:1)搅拌桶未空,搅拌桶的出料阀关闭;2)搅拌马达无故障,紧急停止没有动作。
3.开排放阀的条件:搅拌马达停止,紧急停止没有动作。
系统中的液位开关让操作者了解搅拌桶内的液位情况,并且提供输送泵和搅拌电机之间的连锁关系。
一、线性化编程
线性化编程就是将用户程序连续放置在一个指令块内,即一个简单的程序块内包含系统的所有指令。线性化编程不带分支,通常是OB1程序按顺序执行每一条指令,软件管理的功能相对简单。
二、分部编程
分部式编程是把一项控制任务分成若干个独立的块,每个块用于控制一套设备或一系列工作的逻辑指令,而这些块的运行靠组织块OB内指令来调用。
三、结构化编程
结构化程序把过程要求的类似或相关的功能进行分类,并试图提供可以用于几个任务的通用解决方案。向指令块提供有关信息(以参数形式),结构化程序能够重复利用这些通用模块。
控制软件分为五个功能块:
FC10 功能块用于控制成分A的供料泵;
FC20 功能块用于控制成分B的供料泵;
FC30 功能块用于控制搅拌马达;
FC40 功能块用于控制排料电磁阀;
FC50 功能块用于控制操作站上的指示灯。
整数乘法指令(MUL-I)是:使能输入有效时,将两个16位符号整数相乘,并产生一个16位积,从OUT*的存储单元输出。
整数除法指令(DIV-I)是:使能输入有效时,将两个16位符号整数相除,并产生一个16位商,从OUT*的存储单元输出,不保留余数。如果输出结果大于一个字,则溢出位SM1.1置位为1。
双整数乘法指令(MUL-D):使能输入有效时,将两个32位符号整数相乘,并产生一个32位乘积,从OUT*的存储单元输出。
双整数除法指令(DIV-D):使能输入有效时,将两个32位整数相除,并产生一个32位商,从OUT*的存储单元输出,不保留余数。
整数乘法产生双整数指令(MUL):使能输入有效时,将两个16位整数相乘,得出一个32位乘积,从OUT*的存储单元输出。
整数除法产生双整数指令(DIV):使能输入有效时,将两个16位整数相除,得出一个32位结果,从OUT*的存储单元输出。其中高16位放余数,低16位放商。
整数乘除法指令格式如表5-15所示。
整数双整数乘除法指令操作数及数据类型和加减运算的相同。
整数乘法除法产生双整数指令的操作数:IN1/IN2:VW, IW, QW, MW, SW, SMW, T, C, LW, AC, AIW, 常量, *VD, *LD, *AC。数据类型:整数。
OUT:VD, ID, QD, MD, SMD, SD, LD, AC, *VD, *LD, *AC 。数据类型:双整数。
使ENO = 0的错误条件:0006(间接地址),SM1.1(溢出),SM1.3(除数为0)。
对标志位的影响:SM1.0(零标志位),SM1.1(溢出),SM1.2(负数),SM1.3(被0除)。