您现在的位置是:首页 > PLC技术 > PLC技术

S7-300/400 PLC的取补码指令

来源:艾特贸易2017-06-04

简介(1) 对整型数取补码的指令 对整型数取补码指令的结构如图 4-42 所示,其基本结构也与前面介绍的指令类似。 IN 端和 OUT 端均为 INT 类型的数据,其中 OUT 端输出的为 IN 端输入数的二进制

    (1)对整型数取补码的指令    对整型数取补码指令的结构如图4-42所示,其基本结构也与前面介绍的指令类似。    IN端和OUT端均为INT类型的数据,其中OUT端输出的为IN端输入数的二进制补码。NEG_I指令读取输入端IN的数据并执行二进制补码指令,二进制补码指令等同于乘以(-1)后改变符号(如从正值变为负值)。基本上ENOEN的信号状态保持相同,只有当EN端的信号为高电位“1”且产生溢出时,ENO端才与EN端的信号不同,此时ENO端为低电位“0”。    (2)对长整型数取补码的指令    对长整型数取补码指令的结构如图4-43所示,其基本结构与对整型数取补码指令的结构一样。IN端和OUT端均为DINT类型的数据,其中OUT端输出的为IN端输入数的二进制补码。NEG_DI指令读取输入端IN的数据并执行二进制补码指令,二进制补码指令等同于乘以(-1)后改变符号(如从正值变为负值)。同样的,除了当EN端的信号为高电位“1”且产生溢出时,ENO端与EN端的信号不同外,其他情况下EN端和ENO端的信号状态一样。
NEG_I指令结构
    4-42    NEG_I指令结构
NEG_DI指令结构
    4-43    NEG_DI指令结构    (3)对浮点型数取补码的指令    对浮点型数取补码指令的结构如图4-44所示。IN端和OUT端的输入、输出数据均为REAL类型的数据;NEG_R指令读取输入端IN的数据并执行二进制补码指令,二进制补码指令等同于乘以(-1)后改变符号(如从正值变为负值);ENO始终与EN的信号状态相同。    NEG_R指令在程序中的具体应用如图4-45所示。
NEG_R指令结构
    4-44    NEG_R指令结构
NEG_R指令具体的编程
    4-45    NEG_R指令具体的编程    在图4-45中,输入端为ID4存储区内的数据,因为浮点数是以324个字节存储的,所以在给IN端和OUT端指定存储单元时一定要注意是指定4个字节的单元。本例中,当I0.1为高电位“1”时,指令将输入端的数据取反输出到MD8中。例如,ID4=+8.236,则输出结果为MD8=-8.236