酒泉西门子S7-200代理商浔之漫智控技术有限公司 上海诗慕自动化设备有限公司本公司销售西门子自动化产品,*,质量保证,价格优势西门子PLC,西门子触摸屏,西门子数控系统,西门子软启动,西门子以太网西门子电机,西门子变频器,西门子直流调速器,西门子电线电缆我公司大量现货供应,价格优势,*,德国*
更新时间:2020-04-30
厂商性质: 总代理商
在线留言酒泉西门子S7-200代理商 酒泉西门子S7-200代理商
浔之漫智控技术有限公司 上海诗慕自动化设备有限公司
本公司销售西门子自动化产品,*,质量保证,价格优势
西门子PLC,西门子触摸屏,西门子数控系统,西门子软启动,西门子以太网
西门子电机,西门子变频器,西门子直流调速器,西门子电线电缆
我公司大量现货供应,价格优势,*,德国*
比较指令影响状态字,用指令测试状态字的有关位,可以得到更多的信息。
整数比较指令用来比较两个整数字的大小,指令助记符中用I表示整数。
双整数比较指令用来比较两个双字的大小,指令助记符中用D表示双整数。
浮点数比较指令用来比较两个浮点数的大小,指令助记符中用R表示浮点数。
表3-7 比较指令
语句表 | 梯形图 | 描述 |
?I | CMP?I | 比较累加器2和累加器1低字中的整数是否==,<>,>,<,>=,<=,如果条件满足,RLO=1 |
?D | CMP?D | 比较累加器2和累加器1中的双整数是否==,<>,>,<,>=,<=,如果条件满足,RLO=1 |
?R | CMP?R | 比较累加器2和累加器1中的浮点数是否==,<>,>,<,>=,<=,如果条件满足, RLO=1 |
表3-7中的“?”可以取==、<>、>、<、>=和<=。
下面是比较两个浮点数的例子:
L MD 4 //MD4中的浮点数装入累加器1
L 2. 345E+02 //累加器1的值装入累加器2,浮点数常数装入累加器1
>R //比较累加器1和累加器2的值
= Q 4.2 //如果MD4>234.5,则Q4.2为1
梯形图的方框比较指令用来比较两个同类型的数,与语句表的比较指令类似,可以比较整数(I)、双整数(D)和浮点数(R)。在使能输入信号为1时,比较IN1和IN2输入的两个操作数。方框比较指令在梯形图中相当于一个常开触点,可以与其他触点串联和并联。如果被比较的两个数满足指令的大于、等于、小于等条件,比较结果为“真”,等效触点闭合,指令框才有可能有能流流过。如果图3-54中I0.6的常开触点闭合,且MW2<=MW4,Q4.1被置位为1。
图3-54 比较指令
梯形图中比较指令框的输入和输出均为BOOL变量,可以取I、Q、M、L和D;被比较数IN1和IN2的数据长度与指令有关,可以取整数、双整数和浮点数。数据类型为I、Q、M、L、D或常数。
1)使用SFC 20“BLKMOV”(块移动),可将源存储区的内容复制到目标存储区。源区域与目标区域不能交叉。下面是使用SFC 20传送20个字节的例子。
CALL "BLKMOV” //调用SFC 20
SRCBLK :=P#M 54.0 BYTE 20 //源存储器区
RET_VAL:=MW10 //执行SFC 20出错时的错误代码
DSTBLK :=P#DB2.DBX0.0 BYTE 20//目标存储器区
2)使用SFC 21“FILL”,可以将源数据区的数据填充到目标数据区。假设MB20和MB21的值为7和5,执行下面的例程后DB2的DBB30~DBB34的值分别为7、5、7、5和7。源区域与目标区域不能交叉。
CALL "FILL" //调用SFC 21
BVAL :=P#M 20.0 BYTE 2 //源存储器区
RET_VAL:=MW12 //执行SFC 21出错时的错误代码
BLK :=P#DB2.DBX30.0 BYTE 5 //目标存储器区
3) SFC 81“UBLKMOV”(不间断的块移动)与SFC 20的功能和使用方法基本上相同,SFC 81的复制操作不会被其他操作系统的任务打断。
梯形图的传送指令(见图3-53)只有一条MOVE指令,它直接将源数据传送到目的地址,不需经过累加器中转。输入变量和输出变量可以是8位、16位或32位的基本数据类型。同一条指令的输入变量和输出变量的数据类型可以不相同,例如可以将MB0中的数据传送到MW2。如果将MW4的数据传送到MB6时,MW4中的数据超过255,只是将MW4的低位字节(MB5)中的数据传送到MB6,应避免出现这种情况。
图3-53 传送指令
可以用L指令将定时器字的十六进制剩余时间值装入累加器1的低字,称为直接装载。也可以用LC指令以BCD码格式将剩余时间值装入累加器1的低字。使用LC指令可以同时获得时间值和时间基准,时间基准与时间值相乘得到实际的定时剩余时间。
可以用L指令将十六进制计数值装入累加器1的低字,或用LC指令将BCD码格式的计数值装入累加器1的低字。
L T 5 //将定时器T5中的十六进制时间值装入累加器1的低字
LC T 5 //将定时器T5中的BCD码格式的时间值装入累加器1的低字
C 3 //将计数器C3中的十六进制计数值装入累加器1的低字
LC C 16 //将计数器C16中的BCD码格式的计数值装入累加器1的低字。
S7中有两个地址寄存器AR1和AR2,通过它们可以对各存储区的存储器内容作寄存器间接寻址。地址寄存器的内容加上偏移量形成地址指针,后者指向数据所在的存储单元。