浔之漫智控技术(上海)有限公司总部
主营西门子模块 , PLC模块 , 变频器模块 , 触摸屏模块
长春西门子S7-400CPU代理商

长春西门子S7-400CPU代理商长春西门子S7-400CPU代理商长春西门子S7-400CPU代理商长春西门子S7-400CPU代理商长春西门子S7-400CPU代理商长春西门子S7-400CPU代理商

上海SIEMEN西门子触摸屏授权总代理商,上海西门子触摸屏授权一级代理商,金华西门子模块授权一级代理商,宁波西门子CPU模块一级代理商、西门子交换机模块,北京西门子电源模块代理商,杭州西门子逻辑控制模块。深圳西门子伺服电机模块代理商,广州西门子DP电缆代理商,西门子变频器代理商,荆门西门子PLC模块授权一级代理商,

微信截图_20230218165450.png

西门子PLC一级代理商,西门子PLC授权代理商,西门子PLC代理商,西门子PLC分销商,西门子CPU

代理商,西门子CPU一级代理商,西门子CPU总代理商,西门子CPU代理商,西门子CPU代理商,西门子电缆代理商,西门子电缆一级代理商,西门子

电缆总代理商,西门子电缆授权代理商,西门子电缆分销商

流程描述

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。总结

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

长春西门子S7-400CPU代理商            长春西门子S7-400CPU代理商

展开全文