此项目使用S7-1200的TCP通讯功能读取远程MODBUS RTU仪表,利用原有的串口服务器,克服了485总线传输距离的问题。 所用设备:S7-1212C ,NP3016T(三旺16口串口服务器 485),4块虹润NHR1104数显仪表。 设置串口服务器,如下图: 注意这里使用的是TCP Server Mode模式,直接将实际串口指向串口服务器的端口30060(可以根据自己需要进行修改)。另外波特率一定要设置正确,此处区别于PC端直接访问串口服务器时无需设置严格波特率。 下面进行PLC的程序编辑,首先配置硬件组态: 下一步配置TCP连接 这里的CONNECT(即连接数据)管脚可自动新建一个DB块。 下一步编写背景数据DB块。 由于MODBUS RTU通讯代码为16进制数,所以此处建立的数据是以BYTE为基本单元建立的。 查询数显仪表通讯点表后可得出访问需要访问的寄存器的代码,并编辑到发数据的初始值中。 下面进行梯形图的编写。 此处为轮询做准备。 根据不同的时间点触发不同的访问代码 同一归结到一个数组中。 根据对MODBUS RTU代码的解析可得知当前接收数据的数组中的数据为哪一块表计的数据。 运行程序后可观察到结果。 到这里S7-1200通过串口服务器读取MODBUS RTU设备步骤就讲完了,如果有任何疑问,欢迎留言讨论! 如何成为优秀的电气工程师?
|
|