用户中心
18528324328
15986783051
售前
咨询
售前
咨询
技术
咨询
用户中心
如何建立控制器S7-1200与SINAMICS S200 PTI 之间MODBUS-RTU 通讯(二)
如何建立控制器S7-1200与SINAMICS S200 PTI 之间MODBUS-RTU 通讯(二)
08.31
/ 2026

3   采用 Modbus 通信协议,如何以非循环通讯方式读取与修改S200 PTI驱动器参数?

SINAMICS S200 PTI 驱动器支持通过数据组 47(寄存器 40601 … 40722)进行参数数据的非循环通讯。寄存器 40601 控制非循环通讯功能。寄存器 40602 包含子功能代码(始终 47 = 2F hex)。寄存器 40603 … 40722 存储用户数据。


其中,表格3-1简单描述了寄存器从40601到40722的内容格式。


表格 3-1 通过 DS47 进行非循环通讯

图片

3.1 读取参数值

为了读取参数值,PLC 首先会向对应的寄存器 40601 至 40722 发送读取参数的请求任务。驱动器在接收到该读参数任务后,会发送应答信息。随后,PLC 会再次发送读取任务,从而从这些寄存器中读取具体的数值。其中,表格3-2 描述了实现读参数任务的发送数据格式。


表格 3-2参数的读任务

图片
图片


其中,表格3-3描述了实现读参数任务的发送数据后,S200 PTI对读参数任务应答的数据格式。


表格 3-3 驱动器对读参数任务的应答

图片
图片

3.2   修改参数值

若要修改多个参数值,PLC 会先向对应的寄存器 40601 至 40722 发送修改多个参数值的任务请求。驱动器接收到该修改多个参数的任务请求后,会向 PLC 发送应答信息。其中,表格3-4描述了实现参数修改任务的发送数据格式。


表格 3-4 参数修改任务

图片
图片

其中,表格3-5描述了实现修改多个参数任务的发送数据成功后,S200 PTI对修改多个参数任务应答的数据格式。


表格 3-5 驱动器执行修改任务后的应答

图片

其中,表格3-6描述了实现修改多个参数任务的发送数据不能完全执行任务后,S200 PTI对修改多个参数任务应答的数据格式。


表格 3-6 驱动器不能完全执行修改任务时的应答

图片

3.3  非循环模式下参数读取与修改的示例





3.3.1  示例一、读取多个参数

在 Modbus RTU 通信协议中,功能码用于指示主站请求从站执行的操作类型。S200 PTI 驱动器支持以下三种标准功能码:

  • FC3(读取保持寄存器)

  • FC6(写入单个寄存器)

  • FC16(写入多个寄存器)

使用 FC16 非循环实现读取多个参数。以下是从设备 1 读取 p1215 和 p1120 的示例。


第一步,如图3-1所示,PLC通过MW40到MW58, 发送请求读多个参数任务的报文内容如下:

831119.png

图3-1 请求读参数任务的报文


第二步,如图3-2所示,PLC调用Modbus_Master功能块,将请求读 p1215 和 p1120两个参数读任务按照图3-1的内容写入 DS47 寄存器40601到40610里。

831120.png

图3-2写任务:将请求读参数任务写入 DS47 寄存器


第三步,如图3-3所示,再次调用Modbus_Master功能块,PLC 向S200 PTI发送读任务,从 DS47 寄存器40601到40609读取这两个参数的数值大小。

831121.png

图3-3读任务:从 DS47 寄存器读取参数值


最后,如图3-4所示,PLC得到驱动器S200 PTI发送的应答内容,包括了所需参数的数值。这样完成读参数的任务。

831122.png

图3-4成功读取参数时的应答p1120=10.0 和p1215 =0


另外,如图3-5所示,可以通过网络服务器查看PLC读取的两个参数,得到的结果与PLC程序得到的数值是一致的。

831123.png

图3-5 在网络服务器中S200PTI的参数值







3.3.2 示例二、修改多个参数

使用 FC16 非循环写入参数。以下是设置 p1130 = 1.28 和 p29130 = 2 的示例。


第一步,如图3-6所示,PLC通过MW110到MW138,发送请求修改多个参数任务的报文内容如下:

831124.png

图3-6 请求修改参数任务的报文


第二步,如图3-7所示,PLC调用Modbus_Master功能块,将修改p1130 和 29130 的参数值通信任务按照图3-6的内容写入到 DS47 寄存器40601到40615里。

831125.png

图3-7 将需要修改的参数值写入 DS47 寄存器


第三步,如图3-8所示,PLC再次调用Modbus_Master功能块,PLC向寄存器发送读任务,从寄存器40601到40607读取数值。

831126.png

图3-8 从 DS47 寄存器读取修改参数任务的应答


最后,如图3-9所示,S200 PTI驱动器发送以下应答内容,完成了修改多个参数的任务。

831127.png

图3-9 成功修改参数时的应答


如图3-10 同时通过网络服务器查看所修改的参数值,与执行PLC程序的结果相一致。

831128.png

图3-10 在网络服务器中S200PTI的参数值