起订量:
西门子S7-1200PLC模块江西代理价格
免费会员
经销商西门子S7-1500代理商 上海卓曙自动化设备有限公司
大量现货
【卓曙科技】专业代理西门子电线电缆,PLC、接触器、软启动器、中间继电器、触摸屏,变频器,自动化产品等佺系列产品。一律为全新原包装,货真价实,质量有保证!
我公司经营西门子*现货PLC:S7-200,S7-300, S7-400 ,S7-1200 ,S7-1500,触摸屏,变频器,6FC,6SNS 120 V10 V60 V80 V20 V90 伺服数控备件:*电机(1LA7、1LG4、1LA9、1LE1),国产电机(1LG0,1LE0)大型电机(1LA8,1LA4,1PQ8)伺服电机(1PH,1PM,1FT,1FK,1FS)西门子保内*产品,质保一年。一年内因产品质量问题免费更换新产品,不收取任何费。
西门子一级代理商
西门子S7-1200PLC模块江西代理价格
西门子S7-300/400 PLC的取整指令
PLC数据类型中存在浮点数类型,在某些应用场合下只需要浮点数的整数部分,那么就涉及到取整的问题。下面依次介绍S7-300/400系统中基本的取整指令。
(1)取整为长整型数的指令
对浮点数取整为长整型数指令的基本结构如图4-46所示。大体结构与前面介绍的指令类似,ROUND为该指令的标题,用于指明该指令的功能;EN端和ENO端所能识别的数据仍为BOOL类型的数据。IN端输入REAL类型的数据,OUT端输出DINT类型盼数据。其中,IN端可以为具体的数,也可以为存储地址;而OUT端只能为存储地址。
ROUND指令将输入IN的数据以浮点数读取,并将其转换为长整型(32位),结果为接近的整数(“取整到接近值”)。如果浮点数介于两个整数之间,则返回偶数。结果由输出端OUT输出。如果产生溢出,ENO的状态为“0”。
如输入的浮点数为485.63,则经指令取整输出486;如果输入的浮点数为485.43,经指令取整输出485;如果输入的浮点数为485.50,这个浮点数介于整数485和整数486之间,则经指令取整输出偶数486。
(2)截取长整型数部分的指令
截取长整型数部分指令的基本结构如图4-47所示。IN端输入REAL类型的数据,OUT端输出DINT类型的数据。TRUNC指令将输入端IN的数据以浮点数读取,并将其转换为长整型(32位)。长整型数结果(向零取整)由输出端OUT输出。如果产生溢出,ENO的状态为“0”。
图4-46 ROUND指令结构
图4-47 TRUNC指令结构
(3)向上取整指令
向上取整指令的基本结构如图4-48所示。IN端输入REAL类型的数据,OUT端输出DNT类型的数据。CEIL指令将输入端IN的数据以浮点数读取,并将其转换为长整型(32位)。结果为大于该浮点数的小整数(取整为正无穷大)。如果产生溢出,ENO的状态为"0"。
如输入端IN输入的数据为456.89,则输出端OUT输出的数据为457,即大于所给浮点数小的整数。
(4)向下取整指令
向下取整指令的基本结构如图449所示。IN端输入REAL类型的数据,OUT端输出DINT类型的数据。FLOOR指令将输入端IN的数据以浮点数读取,并将其转换为长整型(32位)。结果为小于该浮点数的大整数部分(取整为负无穷大)。如果产生溢出,ENO的状态为“0”。
如输入端IN输入的数据为456.89,则输出端OUT输出的数据为456,即小于所给浮点数大的整数。
图4-48 CEIL指令结构
图4-49 FLOOR指令结构
(1)对整型数取补码的指令
对整型数取补码指令的结构如图4-42所示,其基本结构也与前面介绍的指令类似。
IN端和OUT端均为INT类型的数据,其中OUT端输出的为IN端输入数的二进制补码。NEG_I指令读取输入端IN的数据并执行二进制补码指令,二进制补码指令等同于乘以(-1)后改变符号(如从正值变为负值)。基本上ENO与EN的信号状态保持相同,只有当EN端的信号为高电位“1”且产生溢出时,ENO端才与EN端的信号不同,此时ENO端为低电位“0”。
(2)对长整型数取补码的指令
对长整型数取补码指令的结构如图4-43所示,其基本结构与对整型数取补码指令的结构一样。IN端和OUT端均为DINT类型的数据,其中OUT端输出的为IN端输入数的二进制补码。NEG_DI指令读取输入端IN的数据并执行二进制补码指令,二进制补码指令等同于乘以(-1)后改变符号(如从正值变为负值)。同样的,除了当EN端的信号为高电位“1”且产生溢出时,ENO端与EN端的信号不同外,其他情况下EN端和ENO端的信号状态一样。
图4-42 NEG_I指令结构
图4-43 NEG_DI指令结构
(3)对浮点型数取补码的指令
对浮点型数取补码指令的结构如图4-44所示。IN端和OUT端的输入、输出数据均为REAL类型的数据;NEG_R指令读取输入端IN的数据并执行二进制补码指令,二进制补码指令等同于乘以(-1)后改变符号(如从正值变为负值);ENO始终与EN的信号状态相同。
NEG_R指令在程序中的具体应用如图4-45所示。
图4-44 NEG_R指令结构
图4-45 NEG_R指令具体的编程
在图4-45中,输入端为ID4存储区内的数据,因为浮点数是以32位4个字节存储的,所以在给IN端和OUT端存储单元时一定要注意是4个字节的单元。本例中,当I0.1为高电位“1”时,指令将输入端的数据取反输出到MD8中。例如,ID4=+8.236,则输出结果为MD8=-8.236。
西门子S7-1200PLC模块江西代理价格