五、 数学函数指令 1、平方根 SQRT,平方根指令。把一个双字长(32位)的实数IN开平方,得到32位的实数结果。 在LAD中,以指令盒形式编程,执行结果:SQRT(IN)=OUT。 在STL中,执行结果:SQRT(IN)=OUT。 本指令影响的特殊存储器位:SM1.0(零);SM1.1(溢出和非法值);SM1.2(负)。 指令格式: SQRT IN,OUT 例: SQRT VD0,AC0 2、自然对数 LN,自然对数指令。将一个双字长(32位)的实数IN取自然对数,得到32位的实数结果。 应用实例: 求以10为底的50(存于VD0)的常用对数,结果放到AC0。 本运算程序如图3.29所示。 图3.29自然对数的应用 3、指数 XP,指数指令。将一个双字长(32位)的实数IN取以为底的指数,得到32位的实数结果OUT。 在LAD和FBD中,以指令盒形式编程,执行结果:XP(IN)=OUT。 在STL中,执行结果:XP(IN)=OUT。 指令格式: XP IN, OUT
例: XP VD0, AC0 4. 正弦、余弦、正切 SIN、COS、TAN,即正弦、余弦、正切指令。将一个双字长(32位)的实数弧度值IN分别取正弦、余弦、正切,各得到32位的实数结果。 如果已知输入值为角度,要先将角度值转化为弧度值,方法:使用(*R)MUL_R指令用角度值乘以π/180°即可。 例:TAN VD0, AC0 应用实例:求COS160°的值。程序如下图3.30所示。 图3.30三角函数应用例 六、增减 1.、字节增和字节减 INCB,字节增指令。使能输入有效时,把一字节长的无符号输入数(IN)加1,得到一 字节的无符号输出结果OUT。 DCB,字节减指令。使能输入有效时,把一字节长的无符号输入数(IN)减1,得到一字节的无符号输出结果OUT。 2、字增和字减
INCW,字增指令。使能输入有效时,把一字长的无符号输入数(IN)加1,得到一个32位的有符号输出结果OUT。 DECW,字减指令。使能输入有效时,把一字长的无符号输入数(IN)减1,得到一个32位的有符号输出结果OUT。 3、双字增和双字减 INCD,双字增指令。使能输入有效时,把双字长(32位)的有符号输入数(IN)加1,得到双字长的有符号输出结果OUT。 DCD,双字减指令。使能输入有效时,把双字长的有符号输入数(IN)减1,得到双字长的有符号输出结果OUT 4、应用实例 控制要求: 食品加工厂对饮料生产线上的盒装饮料进行计数,每24盒为一箱,要求能记录生产的箱数。 程序如图3.31所示。 图3.31增减指令的应用 七、 逻辑运算 1、字节逻辑运算 字节逻辑运算包括字节与、字节或、字节异或、字节取反。 ANDB,字节与指令。使能输入有效时,把两个1字节长的输入逻辑数按位相与,得到1字节的逻辑数输出结果OUT。 ORB,字节或指令。使能输入有效时,把两个1字节长的输入逻辑数按位相或,得到1字节的逻辑数输出结果OUT。
XORB,字节异或指令。使能输入有效时,把两个1字节长的输入逻辑数按位相求异或,得到1字节的逻辑数输出结果OUT。 INVB,字节取反指令。使能输入有效时,把一个1字节长的输入逻辑数按位求反,得到1字节的逻辑数输出结果OUT。指令盒见下图。 例:1)ANDB VB0,AC0 2)ORB VB0,AC0 3)XORB VB0,AC2 4)INVB VB10 执行情况下表3.15 表3.15 指令执行情况表 例 1) 2) 3) 4) 操作数 IN1 IN2(OUT) IN1 IN2(OUT) IN1 IN2(OUT) IN(OUT) 地址单元 VB0 AC1 VB0 AC0 VB0 AC2 VB10 单元长度(n字节) 1 1 1 1 1 1 1 运算前值 01010011 11110001 01010011 00110110 01010011 11011010 01010011 运算结果值 01010011 01010001 01010011 01110111 01010011 10001001 10101100 2、字逻辑运算 字逻辑运算包括字与、字或、字异或、字取反。 ANDW,字与指令。使能输入有效时,把两个1字长的输入逻辑数按位相与,得到1字长的逻辑数输出结果OUT。 ORW,字或指令。使能输入有效时,把两个1字长的输入逻辑数按位相或,得到1字长的逻辑数输出结果OUT。 XORW,字异或指令。使能输入有效时,把两个1字长的输入逻辑数按位相求异或,得到1字长的逻辑数输出结果OUT。 INVW,字取反指令。使能输入有效时,把一个1字长的输入逻辑数按位求反,得到1字长的逻辑数输出结果OUT。指令盒见下图。
3、双字逻辑运算 双字逻辑运算包括双字与、双字或、双字异或、双字取反。 ANDD,字与指令。使能输入有效时,把两个2字长的输入逻辑数按位相与,得到2字长的逻辑数输出结果OUT。 ORD,字或指令。使能输入有效时,把两个2字长的输入逻辑数按位相或,得到2字长的逻辑数输出结果OUT。 XORD,字异或指令。使能输入有效时,把两个2字长的输入逻辑数按位相求异或,得到2字长的逻辑数输出结果OUT。 INVD,字取反指令。使能输入有效时,把一个2字长的输入逻辑数按位求反,得到2字长的逻辑数输出结果OUT。指令盒见下图。 实验四 算术运算指令 一、实验目的 1) 加深理解算术运算指令的功能。 2) 掌握算术运算指令的应用。 二、实验设备 1、计算机一台。 2、S7-200 PLC一台 3、适配器一根 三、实验内容 1、任务 用算术运算指令完成下式的计算: [(1234+4321)×123-4565]/1234