吐槽
这既要保证梯形图是对的,还要保证接线是对的,总是报错error事件3,还要去猜是哪里错了,真的难。
硬件接线
1.PLC接线
西门子的PLC 200-smart自带一个RS485的接线孔,如图:这本例中使用RS485中的半双工模式,即图中的RS485-2W(二线制)。
参考:RS485针脚pin脚功能说明以及常见pin脚解法的解释
PLC实物接线如图:
2.仪表接线
首先看仪表手册,这个很重要,本例中仪表手册的接线定义图如下:(DATA+, DATA-,逻辑地。其实就对应A, B, 地)
然后照着仪表对应接线,实物接线图如下:
软件编程
1.仪表设置
这步概况地说就是边写边查手册。手册功能参数表如下:
本例中对应为:30-1,31-1,32-0,33-4,34-01。即全部为默认参数,MODBUS-RTU协议的19200波特率,从站地址为01。这部分的参数对应梯形图编程时的MBUS_MSG的填写。
2.STEP7的梯形图编写
2.1.从库中拖出来之后,鼠标放在上面摁F1可以查看帮助和说明,这里不一一讲解参数意义。只对重要的几点进行说明。
梯形图完整如下
2.2.查仪表手册得知测量值的存放地址。
这里我想读取long型地址,则为十六进制的606,但是!!!!
在MBUS_MSG中Addr里填写的地址需要是:
(40001+(仪表中的对应地址转换成十进制,例如0x606=1542)1542=41543)
2.3.这个程序中,我通过I0.0的输入产生一次读取访问,结束时数据存在VB100开始的连续两位(即VB100和VB101,也就是VD100)。之后用I0.1输入去MOV_D就可以在运行的时候看到结果了。
心得
这种下位机之间的通讯,最好还是先买转接口让两个下位机(仪表和PLC)和电脑连接,确定各自连接访问没问题后(用串口调试软件),再试他们两个的连接。