作为灵活设计应用的高档PLC系统,以往如果要扩展多个模拟采集端口往往非常困难,为了满足扩展多个端口的功能,经常被搞得非常被动,下面就介绍如何使用S7-200扩展多个模拟采集端口。
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。
——摘自:http://www.ynpax.com
|