西门子plc自带的modbus库可以实现和仪表通过MODBUS协议进行通讯,可以将现场多功能网络电力仪表的数据通过MODBUS通讯的方式上传至PLC中。
首先配置好智能仪表从站通讯参数,主要设置波特率、奇偶校验位、地址。然后编写PLC主程序,第一步初始化,复位各标志位和起始位,M0.0复位(置0),M0.1置位(置1),初始化完成后,启动定时器T40,定时器3秒周期接通M0.2。SM0.1是初始化脉冲,只在第一个扫描周期闭合。
M0.1置位读取从站数据,读取保持寄存器40301-40309 9个数据.根据数据格式写入&VB1000开始的存储单元,如40301 40302为32位浮点数,则保存在VB1000 VB1001 VB1002 VB1003中,依次类推,读取完成时M2.1置位,然后把读取从站保持寄存器的数据再写回到仪表中,最后复位读取从站保持寄存器M0.2 M2.1。
下面是通过串口调试工具检测到的数据情况。