当前位置:文档之家› S7―200PLC双精度浮点数转换为整形-最新资料

S7―200PLC双精度浮点数转换为整形-最新资料

S7―200PLC双精度浮点数转换为整形
现场总线技术是物联网核心技术之一,在物联网广为推行的今天被应用得更是淋漓尽致。

小型PLC为核心的小型测控终端拥有标准化构架、高可靠性、易于修改调整的控制编程、智能化、强大控制能力和现场总线通讯能力,使PLC系统构架更加灵活,被应用在很多工业分布集散型控制系统,如车间数台大型设备的分控、无人值守泵房的监控、城域管网系统的智能调控节点。

这些小型系统不仅集成了对现场设备工艺控制保护逻辑,还通过通讯总线无损读取流量计、智能电能仪表等现场仪表测量值和累计值,避免积算误差和线路干扰以及模拟采集精度误差,确保采集值与仪表读数的一致性。

内存空间较小、运算能力相对较弱是小型PLC的主要缺点,目前多数PLC缺少对双精度浮点数支持,而不少仪表的数据采用双精度浮点数格式存储,这就导致通讯采集的仪表数据不能进一步处理并用于工艺保护控制。

作者根据双精度浮点数定义,结合小型PLC指令特点,针对Siemens-S7200系列这类没有双精度浮点数指令的PLC,深入探讨在其中实现双精度数据便捷处理的方法。

本文仅以双精度数据取整转化为长整形数为例,其它诸如双精度转换成单精度等均可如法炮制。

现场总线,因为通讯信息无损,不需要考虑通道两端转换误差,正越来越多地被应用到各种现代控制检测系统。

尤其是针对
诸如流量计等具有累计信息的仪表,原始依靠瞬时量积算或脉冲亮积算方法往往会因PLC停电等原因导致PLC累计值与仪表读数不一致,通过总线的无损传输完全克服了读数不一致,无疑给管理带来极大方便,用户不必再抄录现场仪表读数。

通常PLC是第一接收来自仪表、智能控制器等总线数据的控制单元,甚至还需要PLC直接处理后用于现场人机界面显示或远程传输。

S7-200内部数据处理指令只能直接处理单精度浮点数。

双精度浮点采用64位数据存储。

流量计等仪表通常采用双精度浮点数直接积算出累计信息,因此其累计信息也通常采用双精度浮点数存储,但实际管理中,针对累计信息,一般只看整数部分,而仪表累计信息整数部分通常最多只显示9位或10位整数位。

比如流量计累计流量,管理部门通常只关心多少吨液体或多少标立方气体,小于1吨或1立方的数据往往被忽略。

因此为便于管理,需要在S7-200PLC中直接将双精度浮点数转化为整形字。

PLC 中只有双长整形数能达到10位整数位,有符号双长字整形数可以表达-2147483648~2147483647。

因此可以将双精度浮点数转换为双长字即能满足日常生产管理需要。

图一直接整数截取法适用于指数不大于30,最大截取误差为±1。

如果再根据截取后第一小数位判断即可实现四舍五入,使最大截取误差变为±0.5。

从图二S7-200指令实现可以看出,由于没有使用单精度计算,避免了单精度计算导致数据丢失,从而提高了转换精度,确保整数位与仪表读数一致性。

效果:使用Siemens S7-200系列PLC移位指令实现双精度浮点数取整,指令精简,计算精度高,完全实现Siemens S7-200系列PLC的双精度浮点数无损取整运算。

结论:通过移位处理,可以将双精度浮点数取整或单精度化,使小型PLC能够直接使用仪表通讯读取原始数据,用于计量分析和精细控制等功能,提高现场级智能控制终端的处理能力和数据分析能力。

相关主题