安川A1000型变频器与S7-1500 Modbus RTU通信

2019-11-28 05:03张宏波
国际纺织导报 2019年9期
关键词:点对点通信协议主站

张宏波

邯郸宏大化纤机械有限公司(中国)

在化纤生产过程中,原液经纺丝泵通过喷丝板挤压出,所得纤维经酸液等环境固化后,再通过牵引机、水洗机、烘干机和卷绕机等设备,根据工艺要求进行牵伸干燥直至最后成型,这往往需要监控很多工艺参数。本文介绍了安川A1000型变频器运行情况的监控操作过程,采用了西门子S7-1500系列可编程逻辑控制器(PLC),并选择了广泛应用的Modbus通信协议进行数据监控。

1 安川A1000型变频器MEMOBUS/Modbus通信的构成

Modbus是由Modicon(现为施耐德电气公司的一个品牌)在1979年开发的,是全球第一个真正用于工业现场的总线协议。Modbus网络是一个工业通信系统,由带智能终端的可编程序控制器和计算机通过公用线路或局部专用线路连接而成。其系统结构既包括硬件,亦包括软件。它可应用于各种数据采集和过程监控。Modbus网络只有一个主机,所有通信都由它发出。其允许多个设备连接在同一个网络上进行通信,例如,它允许添加一个测量温度和湿度的装置,并且将结果发送给计算机。在数据采集与监视控制系统(SCADA)中,Modbus通常用来连接监控计算机和远程终端控制系统(RTU)。

Modbus从诞生之日起,比其他通信协议使用得更广泛,主要有以下原因:公开发表并且无版权要求;易于部署和维护;对供应商而言,修改移动本地的比特或字节没有很多限制。正是因为这些优点,很多厂家都在产品中集成了此通信协议,安川公司也是其中之一。安川公司集成使用的 MEMOBUS/Modbus通信协议,可与S7-1500系列等含有Modbus端口的PLC进行串行通信。

MEMOBUS/Modbus通信由PLC(1个主站)和最多 31台从站构成。主站和从站的通信(串行通信)通常以主站开始通信、从站响应的方式进行。主站对各个从站预先设定地址编号,并指定该编号进行信号通信。接到主站指令的从站执行指定的功能,对主站作出响应。通信网络连接如图1所示。

图1 MEMOBUS/Modbus通信网络连接示意图

MEMOBUS/Modbus通信规格如表1所示。从规格表中可看出,数据长度和停止位是固定的,因此需设置相关参数。波特率为9.6 kbps时,无校验和变频器地址的相关参数如表2所示。

表1 MEMOBUS/Modbus通信规格

表2 MEMOBUS/Modbus通信参数设置

MEMOBUS通信采取主站对从站发出指令,从站进行响应的形式。接收发送的信息格式按从站地址、功能码、数据和错误校验码顺序构成。根据指令(功能)内容的不同,数据部的长度也随之发生变化,如表3所示。

表3 功能码数据格式

由于只需要监控实际运行数据,因此本文选择功能码03H。需要注意的是,使用功能码03H(读取)最多只能读取16个存储寄存器的内容,超过16个寄存器会出现通讯不成功的情况。

2 S7-1500 Modbus-RTU功能简介

S7-1500系列PLC可以在主机架或分布式输入/输出(I/O)站点(如ET 200MP和ET 200SP站)使用点对点通信模块实现Modbus-RTU通信,如需在分布式I/O站上实现Modbus-RTU通信,推荐通过Profinet或Profibus的方式扩展ET 200MP或ET 200SP站,在ET200MP或ET 200SP上配置高性能(HF)的点对点通信模块。无论是安装在S7-1500主机架的模板,还是分布式I/O站的模板,都可作为Modbus-RTU的主站或从站,通过直接调用Modbus-RTU相关程序块即可实现Modbus-RTU通信,而无需硬件狗。

根据实际使用通信物理接口的不同,S7-1500主机架和ET 200 MP可使用的模板分CM PtP RS232 HF(通信模块6ES7 541-1AD00-0AB0)和CM PtP RS 422/485 HF(通信模块6ES7 541-1AB00-0AB0)两种。普通的点对点通信模块(型号BA结尾)无法通过本文档实现Modbus-RTU通信,而ET 200SP的点对点通信模块只有一个,即CM PtP(6ES7 137-6AA00-0BA0),该模块物理接口支持RS-232/422/485。

S7-1500 Modbus-RTU还具有下述特点:无论点对点通信模块安装在S7-1500主机架还是分布式I/O站中,也无论分布式I/O站是通过ET 200MP还是ET 200SP实现Modbus-RTU通信,其组态步骤、方法、调用的程序块及注意事项等均完全相同。

研究选用了含422/485接口的通信模板6ES7 541-1AB00-0AB0。S7-1500 Modbus-RTU支持的Modbus功能代码如表4和表5所示。

表4 用于读取数据的功能(读取分布式I/O)

注:1)表示用于扩展寻址。

表5 用于写入数据的功能(更改分布式I/O和程序数据)

3 软件编写

S7-1500系列PLC实现Modbus-RTU通信功能,需要调用以下指令,如表6所示。

表6 S7-1500系列PLC实现Modbus-RTU通信功能的指令

其中,“Modbus_Comm_Load”指令用于通信模块的组态;“Modbus_Master”指令和“Modbus_Slave”指令分别实现Modbus 主站通信和Modbus 从站通信。这3条指令是通过“Modbus_Comm_Load”指令的“MB_DB”参数实现关联的,如图2所示。

图2 Modbus通信初始化指令

由于 Modbus 指令读取或写入的数据区必须为指针寻址,因此必须是有绝对地址的区域才可访问,而 S7-1500创建的 DB块缺省为优化的 DB块,变量没有绝对地址,无法直接使用。本例中创建 DB块,并在该 DB块内创建一个名为“data”的数组,类型为 WORD,长度为 20,即创建了20个字的存储空间。然后将该 DB 块的属性设置成无“优化的块访问”,从而重新编译并生成新的DB 块。此时可看到每个变量都有偏移地址了,如图3所示。

图3 取消DB块“优化的块访问”选项

在本项目中,共有8台变频器需读取数据,因而采用了轮询访问的机制。在“data”数据块中建立了一个“slave_address”的变量用来确定当前需访问的变频器的地址。在读取到当前变频器的数据后再开始下一个变频器数据的访问。根据项目需求,“Modbus_Master”指令应按表7所示操作进行赋值。实际编程结果如图4所示。

表7 “Modbus_Master”指令管脚参数设置

图4 Modbus读取子站数据结果图

通过数据监控表或项目中建立的“data”接收数据块,可以看到通过Modbus通信从从站采集到的数据,这些数据可以显示在触摸屏或上位机软件上,并且可以进行数据归档和数据分析,为工艺改进提供帮助。

4 结语

在使用了Modbus作为通信协议后,相应的参数设置和调试相对简单,并且这种通信协议的应用相当广泛,可靠性高,可实现大量数据的传输工作。由PLC读取的变频器参数实时传输到上位机,供工艺人员查询和参考,从而为工艺改进提供帮助。

猜你喜欢
点对点通信协议主站
“点对点”帮2万名农民工返岗
基于S7-1200 PLC的DP总线通信技术在马里古伊那水电站泄洪冲沙孔门机上的应用
变电站综合自动化系统调试新方法研究
OptiX155622H设备点对点以太网透传业务故障分析
EtherCAT主站与主站通信协议的研究与实现*
多表远程集抄主站系统
基于DMX512通信协议的多路转发器设计与研究
基于NS-3的PLC多频通信协议仿真平台设计与实现
宽带电力线载波点对点通信性能测试平台设计
便携式点对点可见光通信终端的实验研究