S7-200的串口Modbus通信被广泛应用于S7-200与仪表、变频器、HMI及第三方PLC的数据交换。S7-200 Modbus串口通信指令本身使用简单,但由于应用范围广泛,所以在应用中会遇到各种问题。
Modbus是公开通信协议,其最简单的串行通信部分仅规定了在串行线路的基本数据传输格式,在OSI七层协议模型中只到1,2层。Modbus具有两种串行传输模式,ASCII和RTU。它们定义了数据如何打包、解码的不同方式。支持Modbus协议的设备一般都支持RTU格式。通信双方必须同时支持上述模式中的一种。Modbus是一种单主站的主/从通信模式。Modbus网络上只能有一个主站存在,主站在Modbus网络上没有地址,从站的地址范围为0-247,其中0为广播地址,从站的实际地址范围为1-247。Modbus通信标准协议可以通过各种传输方式传播,如RS232C、RS485、光纤、无线电等。在S7-200 CPU通信口上实现的是RS485半双工通信,使用的是S7-200的自由口功能。
S7-200通过以下方式支持Modbus通信协议:S7-200 CPU上的通信口0(Port0)通过指令库支持Modbus RTU从站模式。S7-200 CPU上的通讯口0和1(Port0和Port1)通过指令库支持Modbus RTU主站模式。
一、s7200 PLC MOdbus rtu通讯基础
1.Modbus RTU主站指令库的功能是通过在用户程序中调用预先编好的程序功能块实现的,该库对Port0和Port1有效。该指令库将设置通信口工作在自由口模式下。
2.Modbus RTU主站指令库使用了一些用户中断功能,编其他程序时不能在用户程序中禁止中断。
3.Modbus RTU主站库对CPU的版本有要求。CPU的版本必须为2.00或者2.01(即订货号为6ES721*-***23-0BA*),1.22版本之前(包括1.22版本)的S7-200 CPU不支持。
使用Modbus RTU主站指令库,可以读写Modbus RTU从站的数字量、模拟量I/O以及保持寄存器。
要使用Modbus RTU主站指令库,须遵循下列步骤:
安装西门子标准指令库;
按照要求编写用户程序调用 Modubs RTU 主站指令库 ;
二、主站和从站功能块
1、主站控制功能块和数据读写功能块可以参见帮助文件,写的非常详细!