S7- 400HMODBUS  RTU通讯与常见问题

S7- 400H可以用作 Modbus RTU)主站或 Modbus RTU)从站。

使用S7-400 H 通过 MODBUS RTU 协议与第三方设备建立通信连接,需要如下的软硬件组件:

  1.  串行通信模块
  1.  相应的MODBUS主站或从站可装载驱动(硬件狗、硬件驱动程序与软件库)

硬件和软件

组件

说明

CP341

 可装载的 Modbus (RTU) 主站和 Modbus (RTU) 从站驱动可以用在 CP341 上使用,CP341 订货号如下: 

·         6ES7341-1AH02-0AE0

·         6ES7341-1BH02-0AE0

·         6ES7341-1CH02-0AE0

CP441-2

可装载的 Modbus (RTU)  主站和 Modbus(RTU)  从站驱动可以在 CP441-2 上使用,CP441-2 订货号:6ES7441-2AA05-0AE0
对于 CP441-2 还需要如下的接口模块:

·         6ES7963-1AA10-0AA0 带有 RS232 接口

·         6ES7963-2AA10-0AA0 带有 TTY 接口

·         6ES7963-3AA10-0AA0 带有 RS422/RS485  接口

可装载 Modbus(RTU) 主站驱动

可装载 Modbus (RTU) 主站驱动授权可通过如下的订货号采购:

·         6ES7870-1AA01-0YA0:此授权包包括软件、文档以及硬件狗

·         6ES7870-1AA01-0YA1:此授权包只包括硬件狗

 可装载 Modbus(RTU) 从站驱动

 可装载 Modbus (RTU) 从站驱动授权可通过如下的订货号采购:

·         6ES7870-1AB01-0YA0:此授权包包括软件、文档以及硬件狗

·         6ES7870-1AB01-0YA1:此授权包只包括硬件狗

Modbus RTU编程步骤

Modbus RTU驱动下载

为了能够使用 CP PtP Modbus RTU 软件,需要满足下列要求:

·         已安装的 STEP 7 Basic V5.3 版本或更高版本。

·         已安装的选件包 Point-to-Point Connection Parameter Assignment ( CP PtP Param ) V5.1 或更高版本。

PTP协议软件包:SIMATIC S7-CP PtP Param下载链接:

https://support.automation.siemens.com/CN/view/zh/27013524

可装载的驱动程序“Modbus Master (RTU)

https://support.industry.siemens.com/cs/cn/zh/view/27774018

可装载驱动程序 Modbus Slave (RTU)

https://support.industry.siemens.com/cs/cn/zh/view/27774276

如何给在S7-400H系统中的CP341装载MODBUS驱动程序

S7-400H中加载CP341 MODBUS驱动程序,请遵守如下步骤:

1

切断从站  CPU 的电源。接口模块(IM)随后切换到主 CPU 上。

2

切换主 CPU 的运行状态到“STOP”

3

通过主 CPU MPI 接口,直接从 PG 装载驱动程序到 CP341 模块的 EPROM 中。如果没有 PG,模块替代是不可能的。

详细操作参考:

如何加载驱动程序到CP341模块中,例如“Modbus Master(RTU)”。使它通过一个 ET 200M 模块连接一套 S7-400 H 系列的 PLC

https://support.automation.siemens.com/CN/view/zh/17854293

PCS 7系统中如何实现Modbus RTU通讯

 

PCS 7系统推荐使用CP341用于MODBUS 通讯,放置于ET200M机架,实现冗余。

CP341作为 MODBUS从站时,需调用 CP341 库中的P_SND_RKP_RCV_RK 功能块或 PCS7 SND_341RCV_341 功能块。

CP341作为MODBUS主站时,需要调用FB80功能块。

具体组态方法,请参见文档:

CP340/CP341/CP440/CP441通讯及编程

https://support.industry.siemens.com/cs/cn/zh/view/72928033

MODBUS 手册下载地址

 

MODBUS Master手册下载链接:

https://support.automation.siemens.com/CN/view/zh/1220184

MODBUS Slave手册下载链接:

https://support.automation.siemens.com/CN/view/zh/1218007

RS485/R422通讯传输的最大距离

串行通讯模板 CP341 RS232C TTY RS485/422 三种电气接口类型。一般来讲,RS232 的通讯最大距离为 15m20mA TTY 的通讯最大距离为 100m(主动模式)、1000m(被动模式),RS422/485 的通讯最大距离位 1200m。每种接口方式下的具体接线方法可参考 CP341 手册。

以下示例为 RS485 接口定义:

Description: 7

在使用RS422/485接口时,如果电缆长度超过50m,则必须在接收方焊接一个约330欧姆的终端电阻,以保证正常的数据传输。

CP341-RS485MODBUS主站时,可以连接多少个从站设备?

CP341-RS485MODBUS主站时,可以直接创建一个多点连接的网络,在一个RS485网络中最多可以连接32个从站设备。CP341MODBUS驱动程序将会使接收的二 线制线路在发送和接收之间切换。

CP341/CP441-2MODBUS通信时的功能码与地址对应关系

 

功能码

功能

CPU地址

Modbus地址

长度范围

01

读取线圈状态

MQTC

00001-09999

12024bits

02

读取输入状态

MI

10001-19999

12024bits

03

读取保持寄存器

DB

40001-49999

1127words

04

读取输入寄存器

DB

30001-39999

1127words

05

写单个线圈

MQ

00001-09999

1bit

06

预设单个寄存器

DB

40001-49999

1word

15

写多个线圈

MQ

00001-09999

12024bits

16

预设多个保持

寄存器

DB

40001-49999

1127words

实现多个站轮询通信

在实际的应用中,可以将多个节点连接到一个RS422/485网络中,这时就需要通过程序控制的方式实现站点间的数据交换,这里称之为站点间的轮询通信。多站点轮询通信主要以站地址标识(站地址)为基础,系统主站发送带有站地址标识的数据来寻址不同的从站,同时不同的从站通过响应带有站地址标识的数据给主站,以完成整个通信过程。这就要求整个RS422/485网络中站点的地址不能相同,且必须唯一。

对于轮询通信,可以根据不同的网络规模、不同的通信对象及通信需求等,采用有针对性的轮询方法,在程序的实现上也不尽相同,这里仅给出两种主要的编程思路,供应用时参考。

·         思路一:以固定的时间间隔进行轮询,即以固定的时间发送指令给不同的从站并处理每个从站的响应。例如每1秒钟轮询一个从站,需要更改的只是发送的数据,在大多数情况下只需修改数据中的从站地址。对于接收到数据的处理,可以根据具体的用户要求进行。

·         思路二:根据发送和接收完成的标志来完成,即发送完成后启动接收,接收完成后再启动下一次发送。同样需要更改的只是发送的数据,在大多数情况下只需修改数据中的从站地址。对于接收到数据的处理,可以根据具体的用户要求进行。

 

CP341 Modbus RTU多站点轮询

https://www.ad.siemens.com.cn/download/docMessage.aspx?Id=3472

CP340/CP341通信功能块使用时需要注意哪些

通信功能块用于建立CPU由于CP之间数据交换,使用时需要注意以下几个方面:

·         对同一个CP340/CP341模块在程序中不能多次调用发送或接收功能块;

·         发送块由沿触发使能,接收块由高电平使能;

·         发送数据长度由参数LEN决定,接收数据长度由发送方决定,可以通过LEN读出;

·         发送块故障状态取决于DONEERRORSTATUS,只在一个扫描周期内有效;

·         接收块故障状态取决于NDRERRORSTATUS,只在一个扫描周期内有效;

CP341/CP441-2的加载驱动程序存储在哪里?

当使用 CP 341 时,将可加载驱动程序直接装载到 CP 341中,应注意,在没有编程设备的情况下将不能更换模块。使用 CP 441-2 时,将可加载驱动程序装载到 CPU 的装载存储器中,并在 CPU 启动时传送到 CP 的存储器中,因此,CPU 必须有足够的装载存储器空间。

怎么构建一个RS422/485的多点网络

多点网络接线图如下: