《逻辑与可编程控制系统课件(5)》由会员分享,可在线阅读,更多相关《逻辑与可编程控制系统课件(5)(27页珍藏版)》请在金锄头文库上搜索。
1、第四章 可编程控制器S7-200的指令系统第三节S7-200的指令系统 4.3 传送和比较指令一、传送操作指令 1梯形图符号及语句表格式 MOV传送指令标识符 B/W/DW/R数据类型(字节/字/双字/实数) EN传送启动信号 IN源操作数 OUT目标操作数 ENO传送状态位 2功能: 启动信号EN=1时,执行传送功能。其功能是把原操作数IN传送到目标 操作数OUT中。此时,ENO为1状态。3说明:(1)应用传送指令应该注意数据类型。字节用符号B、字用符号W、双字用符号D或DW、实数用符号R表示。(2)操作数范围:EN信号I、Q、M、SM、T、C、V、S、L(位)字节传 送 操作数INIB、Q
2、B、MB、SMB、VB、LB、AC、常数、*VD、*AC、*LDOUTIB、QB、MB、SMB、VB、LB、AC、*VD、*AC、*LD字传送操 作数INIW、QW、MW、SMW、VW、LW、T、C、AIW、AC、常数、*VD、 *AC、*LDOUTIW、QW、MW、SMW、VW、LW、T、C、AIW、AC、*VD、*AC、 *LD双字传送 操作数INID、QD、MD、SMD、VD、LD、HSC、&VB、&IB、&QB、&MB、 &SB、&T、&C、AC、常数、*VD、*AC、*LDOUTID、QD、MD、SMD、VD、LD、AC、*VD、*AC、*LD实数传送 操作数INID、QD、MD、S
3、MD、VD、LD、AC、常数、*VD、*AC、*LDOUTID、QD、MD、SMD、VD、LD、AC、*VD、*AC、*LD(4)例题:如果想监视传送状态,可在ENO端加一个输出继电器。如:只要SM0.0通,则传送状态为1,ENO=1,所以Q0.0通。二、比较操作指令 1梯形图符号及语句表格式IN1比较数1 IN2比较数2 比较条件:等于= =/大于/小于/大于等于=/小于等于200时,Q0.0=1 整数比较:当VW02002时,Q0.0=1 双整数比较:当VD02002时,Q0.0=1 实数比较:当VD0200.3时,Q0.0=1综合练习: 仍然实现上述比较功能,但要事先将相应变量赋值。 4
4、.4 S7-200的运算指令 一、四则则运算操作指令 (一)加法运算 1梯形图符号及语句表格式ADD加法运算符 I(INT)/DI(DINT)/R(REAL)数据类型符(整/双整/实数) EN(Enable In)运算允许信号(使能输入) IN1被加数 IN2加数 OUT和 ENO运算状态位(使能输出)2功能: 梯形图:使能输入EN=1时,被加数IN1与加数IN2相加,其结果传送到 OUT中。即:IN1+IN2=OUT 指令表:要先将一个加数送到OUT中,然后把OUT中的数据和IN2中的 数据进行相加,并将其结果传送到OUT中。 即:MOVW IN1,OUT+I IN2,OUT 实现OUT+I
5、N2=OUT 3说明: (1)应用加法指令应该注意数据类型。 ADD_I(整数加法):将两个单字长(16位)符号整数(IN1和IN2)相 加,结果为16位整数。 ADD_DI(双整数加法):将两个双字长(32位)符号整数(IN1和IN2 )相加,结果为32位整数。 ADD_R(实数加法):将两个双字长(32位)符号实数(IN1和IN2)相 加,结果为32位实数。 (2)在语句表中,IN1、IN2与OUT操作数的地址不同时,语句表指令 将梯形图的加法运算分别用两条指令描述;IN1或IN2=OUT时,加法指令节 省一条数据传送指令。本规律适用于所有四则运算指令。(3)操作数范围:整数 加法IN1/
6、IN2IW、QW、MW、SW、SMW、VW、AIW、T、C、AC、常数、*VD、 *AC、*LDOUTIW、QW、MW、SW、SMW、VW、LW、T、C、AC、*VD、*AC、*LD双字 型加 法IN1/IN2ID、QD、MD、VD、SD、SMD、VD、HC、AC、*VD、*AC、*LDOUTID、QD、MD、VD、SD、SMD、VD、HC、AC、*VD、*AC、*LD实数 型加 法IN1/IN2ID、QD、MD、SMD、VD、SD、AC、HC、常数、*VD、*AC、*LDOUTID、QD、MD、SMD、VD、SD、LD、AC、HC、*VD、*AC、*LD4例题:(二)减法运算 1梯形图符号及
7、语句表格式SUB减法运算符 I/DI/R数据类型符(整数/双整数/实数) EN使能输入 IN1被减数 IN2减数 OUT差 ENO使能输出2功能: 梯形图:使能输入EN=1时,被减数IN1减去减数IN2,其结果传送到OUT中 。即:IN1-IN2=OUT 指令表:要先将一个减数送到OUT中,然后用OUT中的数据减去IN2中的数 据,并将其结果传送到OUT中。 即:MOVW IN1,OUT-I IN2,OUT 实现OUT-IN2=OUT 3说明: (1)应用减法指令应该注意数据类型。 SUB_I(整数减法):将两个单字长(16位)符号整数(IN1和IN2)相减 ,结果为16位整数。 SUB_DI
8、(双整数减法):将两个双字长(32位)符号整数(IN1和IN2)相 减,结果为32位整数。 SUB_R(实数减法):将两个双字长(32位)符号实数(IN1和IN2)相减 ,结果为32位实数。(2)操作数范围:整数 减法IN1/IN2IW、QW、MW、SW、SMW、VW、AIW、T、C、AC、常数、*VD、 *AC、*LDOUTIW、QW、MW、SW、SMW、VW、LW、T、C、AC、*VD、*AC、*LD双字 型减 法IN1/IN2ID、QD、MD、VD、SD、SMD、VD、HC、AC、*VD、*AC、*LDOUTID、QD、MD、VD、SD、SMD、VD、HC、AC、*VD、*AC、*LD实
9、数 型减 法IN1/IN2ID、QD、MD、SMD、VD、SD、AC、HC、常数、*VD、*AC、*LDOUTID、QD、MD、SMD、VD、SD、LD、AC、HC、*VD、*AC、*LD4例题:(三)乘法运算 1梯形图符号及语句表格式MUL乘法运算符 I/DI/R数据类型符(整数/双整数/实数) EN使能输入 IN1被乘数 IN2乘数 OUT积 ENO使能输出2功能: 梯形图:使能输入EN=1时,被乘数IN1与乘数IN2相乘,其结果传送到 OUT中。即:IN1IN2=OUT 语句表:要先将被乘数送到OUT中,然后把OUT中的数据和IN2中的数 据相乘,并将其结果传送到OUT中。 即:MOVW
10、 IN1,OUT*I IN2,OUT 实现IN2*OUT = OUT 3说明: (1)应用乘法指令应该注意数据类型。 MUL_I(整数乘法):将两个单字长(16位)符号整数(IN1和IN2)相 乘,结果为16位整数。 MUL_DI(双整数乘法):将两个双字长(32位)符号整数(IN1和IN2 )相乘,结果为32位整数。 MUL(整数乘双整数输出):将两个单字长(16位)符号整数(IN1和 IN2)相乘,结果为32位整数。 MUL_R(实数乘法):将两个双字长(32位)符号实数(IN1和IN2)相 乘,结果为32位实数。 (2)操作数范围:整数 乘法IN1/IN2IW、QW、MW、SW、SMW、
11、VW、LW、AIW、T、C、AC、常数、 *VD、*AC、*LDOUTIW、QW、MW、SW、SMW、VW、LW、T、C、AC、*VD、*AC、*LD双整 数乘 法IN1/IN2ID、QD、MD、VD、SD、SMD、VD、LD、HC、AC、*VD、*AC、 *LDOUTID、QD、MD、VD、SD、SMD、VD、AC、*VD、*AC、*LD常规 乘法IN1/IN2IW、QW、MW、SW、SMW、VW、LW、AIW、T、C、AC、常数、 *VD、*AC、*LDOUTID、QD、MD、SMD、VD、SD、LD、AC、*VD、*AC、*LD实数 乘法IN1/IN2ID、QD、MD、SMD、VD、SD
12、、LD、AC、HC、常数、*VD、*AC 、*LDOUTID、QD、MD、SMD、VD、SD、LD、AC、*VD、*AC、*LD4例题:(四)除法运算 1梯形图符号及语句表格式DIV除法运算符 I/DI/R数据类型符(整数/双整数/实数) EN使能输入 IN1被除数 IN2除数 OUT商 ENO使能输出2功能: 梯形图:使能输入EN=1时,被除数IN1与除数IN2相除,其结果传送到 OUT中。即:IN1/IN2=OUT 语句表:要先将被除数送到OUT中,然后把OUT中的数据和IN2中的数 据相除,并将其结果传送到OUT中。 即:MOVW IN1,OUT/I IN2,OUT 实现OUT/ IN2
13、 =OUT 3说明: (1)应用除法指令应该注意数据类型。 DIV_I(整数除法):将两个单字长(16位)符号整数(IN1和IN2)相 除,结果为16位整数。 DIV_DI(双整数除法):将两个双字长(32位)符号整数(IN1和IN2) 相除,结果为32位整数。 DIV(整数除双整数输出):将两个单字长(16位)符号整数(IN1和 IN2)相除,结果为32位整数。其中低16位是商,高16位是余数。 DIV_R(实数除法):将两个双字长(32位)符号实数(IN1和IN2)相 除,结果为32位实数。 (2)操作数范围:整数 除法IN1/IN2IW、QW、MW、SW、SMW、VW、LW、AIW、T、
14、C、AC、常数、 *VD、*AC、*LDOUTIW、QW、MW、SW、SMW、VW、LW、T、C、AC、*VD、*AC、*LD双整 数除 法IN1/IN2ID、QD、MD、VD、SD、SMD、VD、LD、HC、AC、*VD、*AC、 *LDOUTID、QD、MD、VD、SD、SMD、VD、AC、*VD、*AC、*LD常规 除法IN1/IN2IW、QW、MW、SW、SMW、VW、LW、AIW、T、C、AC、常数、 *VD、*AC、*LDOUTID、QD、MD、SMD、VD、SD、LD、AC、*VD、*AC、*LD实数 除法IN1/IN2ID、QD、MD、SMD、VD、SD、LD、AC、HC、常数
15、、*VD、*AC 、*LDOUTID、QD、MD、SMD、VD、SD、LD、AC、*VD、*AC、*LD4例题:综合: 在温度检测系统中,用Pt100热电阻作为测温元件,测温范围为0200 。现选择EM235将温度变送器的420mA电流转换成12位二进制数,该数 据存于AIW0的第314位。 试编制把检测值转换成实际的温度值,存于VD0中的程序。分析: 当测得温度到上限(200)时,温度转换器的电流应该为20mA,AIW0 的数值为32767。每毫安对应的A/D值约为3276720。 当测得温度为下限(0)时,温度转换器的电流应该为4 mA,A/D值约 为:(3276720)46553.4。 所以,被测温度为0200时,AIW0的对应值约为6553.432767。可 以算出1对应的A/D值大约为:(32767-6553.4)/200=131.068。 可以算出把AIW0的数值转换为实际温度的计算公式为: VD0值=(AIW0值-6553.4)/131.068 则梯形图如图:上图为当I0.0=1时,求实际温度的近似计算程序。第一个梯形图支路是把 检测的A/D值传送到VW0中。第二个梯形图支路是把VW0的值除以131存于 VW0中。VW0中的最后数值就是实际温度的近似值。