刘洪强
(唐山三友远达纤维有限公司,河北 唐山 063305)
在工业自动化控制领域中,RS485总线通信接口允许在简单的一对双绞线上进行多点、双向通信。本文主要以西门子S7-300PLC与PowerFlex 400P变频器的通信为例,来阐述采用Modbus协议实现串行通信的方法。
Modbus协议传输模式主要有ASCII模式和RTU模式两种。其中RTU模式直接按十六进制符号发送,无需转换成ASCII码,现如今智能仪表、变频器以及PLC等工控设备大多支持Modbus RTU格式。
Modbus通信协议是一种主从式、半双工通信协议,即仅主站能初始化查询,从站根据主站查询提供的数据做出相应的反应。此控制系统中主站是S7-300PLC,从站是PowerFlex 400P变频器(如图1所示),理论上一个Modbus系统中可以有一台主站和多至247台从站。
图1 S7-300PLC与PowerFlex 400P变频器的通信
PowerFlex 400P变频器采用内置RS485作为Modbus的物理接口,支持RTU的传输模式。硬件上,变频器的DSI接口用于RS485通信,网络连线由屏蔽的双绞线组成,节点到节点之间成菊花链连接,方式如图2所示。
图2 PowerFlex 400P的RS485连接图
硬件连接好后,要激活变频器与外部设备之间的Modbus通信,需要设置如下参数(见表1)。
表1
表2
S7-300PLC本身不支持RS485通信,需要通过串行通讯模板CP341来实现。
进入硬件配置画面,双击CP341模板,点击Parameter…配置参数,在Protocol选型中选择MODBUS Master,参照变频器设置波特率、数据位、停止位、奇偶校验等内容,设置好后需要通过Load Drivers装载到PLC中。
本文主要采用Modbus主站轮询方式通过FB7/FB8功能块进行读取/发送数据。其中轮询方式采用如图3所示。在系统初始化完成后,手动启动第一次轮询作业,先轮询1#从站。给1#从站发送查询请求后,等待1#从站的响应,如果在指定的延时时间内接收到1#从站返回的数据,则执行2#从站。如果在指定时间内不能接收到从站的返回数据或接收错误,则跳过本站,执行下一个从站。
图3 主站轮询流程
利用RS485总线实现了软水站的自动化控制,同时减少了大量的I/O卡件,节省配线,提高了控制系统的抗干扰能力,为实现生产过程的自动化、智能化创造了条件,应用前景十分广泛。
[1]廖常初.西门子S7-300/400 PLC应用技术[M].北京:机械工业出版社,2011.
[2]向晓汉.西门子PLC工业通信完全精通教程[M].北京:化学工业出版社,2013.
[3]廖常初.西门子工业通信网络组态编程与故障诊断[M].北京:机械工业出版社,2011.