S7-200PLC实现大量温度数据采集的方法
2010/3/9 23:48:00
S7-200PLC是西门子公司的小型PLC系统,具有简单灵活的特点,但是,模拟量通道少的可怜,增加一个扩展模块也只有4路模拟量输入,尤其热电偶温度、热电阻温度采集模块,不但通道少,而且价格高,信号类型必须统一选择,不能混合输入,当需要采集大量温度时,S7-200 PLC将无法胜任。
一,S7-EM239模拟量扩展模块
S7-EM239模块是专为S7-200系统设计的16通道模拟量扩展模块,外形尺寸和使用方法与S7-200系列模块完全兼容,可以和S7-200系列的任何型号的CPU直接连接,每个CPU可以连接32个S7-EM239模块,最大可实现512路模拟量采集。
S7-EM239模块有16路模拟量输入通道,每个通道可以独立设置为电压、电流、热电阻温度、热电偶温度等信号类型,有6种类型的热电偶和6种型号的热电阻可以选择,16个通道信号类型可以混合输入,满足多通道模拟量采集的需要,尤其在多通道温度数据采集的场合,不仅使用方便,而且节约成本,每通道相当100元。
二,S7-EM239模块与S7-200CPU的连接
S7-EM239模块与S7-200CPU的连接十分简单,将S7-EM239模块的RS485接口与S7-200CPU的RS485接口连接在一起就可以了,如下图所示。
三,软件编程
S7-EM239模块支持MODBUS-RTU协议,S7-200CPU只需使用MODBUS协议库指令,即可读取S7-EM239模块的采集数据。S7-200CPU的编程步骤是:
1,安装西门子标准指令库。
2,使用SM0.0调用MBUS_CTRL主站初始化指令,具体参数解释如下:
EN和First均接通时启动MBUS_CTRL命令,必须保证每一扫描周期都被使能(使用SM0.0);
Mode模式:常为1,使能 Modbus 协议功能;为0 时恢复为系统 PPI 协议;
Baud波特率:设为19200,要与从站S7-EM239波特率对应;
Parity校验:校验方式选择 0=无校验,与从站S7-EM239对应;
Timeout超时:主站等待从站响应的时间,以毫秒为单位,典型的设置值为1000毫秒(1秒)。;
Done完成位:初始化完成,此位会自动置1。可以用该位启动 MBUS_MSG 读写操作;
Error初始化错误代码(只有在 Done 位为1时有效)。
3,调用 Modbus RTU 主站读写子程序MBUS_MSG,发送一个读模拟量请求,参数设置如下:
EN和First均接通时启动MBUS_MSG命令;
slave用来指明S7-EM239模块的地址,可选范围1~247;
RW=0,指明该命令是读数据命令;
addr=30001指明读取模拟量数据从S7-EM239模块的1通道开始;
count=16代表连续读取16个通道数据(对S7-EM239模块可以是1~16间的任何数);
Dataptr指明读取数据存放地址;
Done读写功能完成位 ;
4,当S7-200CPU扩展多个S7-EM239模块时,须多次调用MBUS_MSG指令,注意,必须是前一个指令执行完才能调用下一个指令,还要注意slave指向不同的S7-EM239模块。
详细内容参见《MODBUS协议及自由口通讯》及《S7-200可编程序系统手册》。
由于S7-EM239模块使用RS485接口与S7-200CPU通讯,S7-EM239模块与S7-200CPU可以有1200米的距离,实现远程分布式数据采集。
有关S7-EM239模块的使用方法及软件编程参见www.485bus.com。
提交
查看更多评论
其他资讯
PLC的MODBUS通讯和自由口通讯协议(支二)
16路模拟量采集模块EM239十月份接受定货
海为PLC低成本温度采集方案
两线、三线制热电阻接线的区别
热电偶冷端温度补偿的说明