现在的项目是使用S7-200smartPLC与科隆的电磁流量计进行ModbusRTU通信。科隆提供的通信协议文件显示,瞬时流量的寄存器地址是30002。由于PLC始终与流量计没通信上,于是用电脑使用ModScan32串口助手直接与流量计通信了一下,发现能通信上,只不过地址是30003.这个数据是1.2295立方米每秒,与表头显示的4426.2立方米每小时也是吻合的。
核对了一下流量计表头的通信设置:站号1,波特率9600,偶校验(Even),1停止位。PLC这边选择了主站通信库的MBUS_CTRL和MBUS_MSG块。附图是两个块的设置。
结果PLC读取还是0 。已经确认了流量计到PLC柜的线路没问题(串口助手测试的时候就是从PLC柜端子排上的取的信号),PLC与流量计的通信参数也是一致的。唯一怀疑的就是寄存器地址,我试了30004、30003、43003、43004、40003、40004,始终VB1000这里都是0。Done和Error这里的监测数值也一直都是闪烁的0。


