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

S7-300/400 PLC的取整指令

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

简介PLC 数据类型中存在浮点数类型,在某些应用场合下只需要浮点数的整数部分,那么就涉及到取整的问题。下面依次介绍 S7-300/400 系统中基本的取整指令。 (1) 取整为长整型数的指令 对浮

    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”。
ROUND指令结构
    4-46    ROUND指令结构
TRUNC指令结构
    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,即小于所给浮点数最大的整数。
CEIL指令结构
    4-48    CEIL指令结构
FLOOR指令结构
    4-49    FLOOR指令结构