新疆维吾尔族自治区西门子授权供应商---西门子电机巴音郭楞蒙古自治州总代理

供应商
广东湘恒智能科技有限公司
认证
西门子PLC
西门子伺服电机
西门子触摸屏
西门子电缆
西门子变频器
西门子模块
联系电话
13510737515
手机号
13185520415
联系人
董海波
所在地
惠州大亚湾澳头石化大道中480号太东天地花园2栋二单元9层01号房(仅限办公)
更新时间
2024-06-11 07:00

详细介绍

一、流程描述

1.一个200smart模拟量输入模块采集流量瞬时值,通过模拟量转换指令转换为工程量;

2.初始化相关变量地址并启用定时器中断;

3.中断程序内实现流量累计计算;

4.累积到一定值后,复位清空所有数据,重新开始累计。


二、硬件设备

1.西门子plc :s7-200smart cpusr30 6es7 288-1sr30-0aa1;

2.模拟量输入模块:emae04(4ai)6es7 288-1ae04-0aa0。


三、软件

西门子200smart plc编程软件:step7-microwin smart v2.7版。


四、地址分配

v区地址

注释

其它地址

注释

vd0

工程瞬时值

m0.0

工程量转换允许信号

vd4

流量/每分钟

m0.1

复位信号

vd8

流量整数部分

aiw16

模拟量通道

vd12

流量小数部分



vd100

整数和



vd104

小数和



vd108

累积和




五、程序思路及编写

1.因有的十进制小数转化为二进制存储时会无限循环,而200smart只能存储23位单精度浮点数的小数位,当前一个累积值比较大,而现时流量瞬时值较小时,两者相加会因舍弃小数值造成误差,累积次数越多,误差越大。为减小误差,可采用将采集的瞬时值分解成整数和小数两部分,整数部分相加,小数部分相加,两者的和再相加即为累积值,这样可极大的减小累积误差。


2.首先调用模拟量转换指令将采集到的模拟量通道值转换为实际工程值,假设工程值的上下限分别为0.0、50.0,如图1所示:


图1


3.接下来调用初始化指令,目的是每200ms采集一次瞬时流量值,因此需要建立定时中断,还需清空所有存储数据的变量地址,如图2所示:


图2


4.在定时中断程序中做数据的处理,先将瞬时流量分解为整数和小数,然后整数与前一次的整数累计和相加,小数和前一次的小数累积和相加,再将两者的和相加即为当前流量的累积值,需注意整数即整数和也需转化为浮点数,以便于和小数和相加,如图3所示:



图3


5.为不使累积值超出变量地址的存储范围,过一段时间后需将存储数据的地址清零,再从头开始累计,具体时间可根据现场实际要求而定,如图4所示:


图4


总结

该程序采用将浮点数分离为整数和小数两部分,各自求和后再分别相加,得出当前流量累积值,大大减小了累积误差,适用于要求精度不是很高的场合

华南西门子总代理,华中西门子总代理,华东西门子总代理,华北西门子总代理,西北西门子总代理

展开全文

我们其他产品
我们的新闻
咨询 在线询价 拨打电话