中国自动化学会专家咨询工作委员会指定宣传媒体
免费注册 登录 广告服务 | 客服中心
您现在所在的是:

施耐德电气论坛

抖音 西门子减速电机 德嘉 台达 英威腾 泓格论坛 西门子 我和LOGO!有个约会 FLIR红外热像论坛 【有奖活动】英威腾 “Ni美国国家仪器 “PLC发展趋势大讨论”活动圆满结束 cc-link图文征集活动 西门子SMART LINE V3
工控论坛首页 施耐德电气PLC → 浏览主题: 施耐德PLC常用通讯指令解析
发表新帖 回复该主题
回帖:1个,阅读:80 [上一页] [1] [下一页]
* 帖子主题:

施耐德PLC常用通讯指令解析

分享到
837
handafen
文章数:70
年度积分:210
历史总积分:837
品牌积分(施耐德):92
注册时间:2001/3/21
发站内信
发表于:2020/10/15 9:58:36
#0楼
施耐德PLC常用通讯指令解析

一、Quantum PLC通讯指令解析

CREAD_REG、CWRITE_REG、READ_REG、WRITE_REG 和 MBP_MSTR 功能块各使用 1 条数据事务路径,并且需要经过多个循环才能完成一项操作。

可用的事务路径数取决于使用的通讯端口:

·Modbus Plus 嵌入式端口或 NOM 模块同时最多支持 4 个功能块

·TCP/IP 以太网嵌入式端口同时最多支持 4 个功能块

·TCP/IP 以太网 NOE 模块同时最多支持 16 个功能块

可以在同一个通讯端口上对更多的通讯功能块进行编程。但是,对于超过该端口支持的最大数目的通讯功能块,将不再提供服务,直到释放一条事务路径为止。当事务路径资源空闲时,同一个端口上的下一个功能块才会变为活动状态,并开始使用释放的路径。

所有路由信息包含在 ADDRFLD 输入的 WordArr5 数据结构中。功能块为此输入分配的类型由所用的网络定义。

请使用:

·对于功能块 ModbusP_ADDR,使用 Modbus Plus

·对于功能块 TCP_IP_ADDR,使用 TCP/IP 以太网

·对于功能块 SYMAX_IP_ADDR,使用 SY/MAX 以太网

1、CREAD_REG

功能描述:

此功能块连续读取寄存器区域。它借助 Modbus Plus、TCP/IP 以太网或 SY/MAX 以太网从定址节点读取数据。

参数描述 :

SLAVEREG :从站中要读取源数据的区域起始地址。源区域始终驻留在 %MW 寄存器区域内。该参数可作为地址、定位变量、非定位变量或数值输入。

注意: 对于非 Unity Pro PLC 的从站:

源区域始终驻留在 4x 寄存器区域内。SLAVEREG 默认的源参考偏移在 4x 区域之内。必须忽略前导的"4"(例如,59(变量内容或数值)= 40059)。

NO_REG :要从定址从站读取的地址的数目 (1 ... 100)。 该参数可作为地址、定位变量或非定位变量输入。

REG_READ :对于此参数,必须确保 ARRAY 大小与请求的传输大小相等 (≥ NO_REG)。该数组的名称定义为一个参数。如果该数组定义得过小,则仅传输数组中的数据量。

该参数必须定义为定位变量。

STATUS :如果在执行功能时出错,则循环的错误代码仍然保留在此输出中。

功能块配置:

该功能块需和地址功能块一起配置,如下:

附件 1.jpg

TCP_IP_ADDR功能块的MAP_IDX引脚配置为目标设备的MB+站号(本例用Modbus Slave软件仿真从站,站号设为1,因此该引脚配置为1。在昆腾PLC之间通讯,该引脚一般设置为0),SLOT_ID配置为本地通讯模块的槽位号,IP_B1-4配置为IP地址。

通讯解析:

该数据包在Modbus Slave从站抓取,数据如下:

33 AB 00 00 00 06 01 03 00 00 00 05

33 AB 00 00 00 0D 01 03 0A 00 03 00 00 00 37 00 00 00 00

解析如下:

附件 2.jpg

2、CWRITE_REG

功能描述:

此功能块连续写入寄存器区域。它借助 Modbus Plus、TCP/IP 以太网或 SY/MAX 以太网将数据从 PLC 传输到定址从站。

参数描述 :

SLAVEREG :定址从站中写入源数据的区域的开始。源区域始终驻留在 %MW 地址区域内。

注意: 对于非 Unity Pro PLC 的从站:

目标区域始终驻留在 4x 寄存器区域内。SLAVEREG 默认的目标地址偏移在 4x 区域之内。必须忽略前导的"4"(例如,59(变量内容或数值)= 40059)。

该参数可作为地址、定位变量非定位变量或数值输入。

NO_REG :要写入从站处理器的寄存器的数目 (1 ... 100)。该参数可作为地址、定位变量、非定位变量或数值输入。

STATUS :如果在执行功能时出错,则循环的错误代码仍然保留在此输出中。

REG_WRIT :对于此参数,必须确保 ARRAY 大小与请求的传输大小相等 (≥ NO_REG)。此数组的名称被定义为一个参数。如果该数组定义得过小,则仅传输数组中存在的数据量。

该参数必须定义为定位变量。

功能块配置:

该功能块需和地址功能块一起配置,如下:

附件 3.jpg

TCP_IP_ADDR功能块和CREAD_REG相同

通讯解析:

该数据包在Modbus Slave从站抓取,数据如下:

7D E3 00 00 00 11 01 10 00 0A 00 05 0A 00 16 00 00 00 00 00 00 00 00

7D E3 00 00 00 06 01 10 00 0A 00 05

解析如下:

附件 4.jpg

3、READ_REG

功能描述:

REQ 输入处出现上升沿时,此功能块将通过 Modbus Plus、TCP/IP 以太网或 SY/MAX 以太网从已定址从站读取一个寄存器区域。

参数描述 :

REQ :上升沿会触发读取事务。

该参数可作为直接地址、定位变量、非定位变量或数值输入。

SLAVEREG :已定址从站中读取源数据的区域的开始。源区域始终驻留在 %MW 寄存器区域内。

注意: 对于非 Unity Pro PLC 的从站:

源区域始终驻留在 4x 寄存器区域内。SLAVEREG 默认的源参考偏移在 4x 区域之内。必须忽略前导的"4"(假如变量内容或数值为 59,则 59 = 40059)。

该参数可作为直接地址、定位变量、非定位变量或数值输入。

NO_REG :要从已定址从站读取的地址的数目 (1 ... 100)。

该参数可作为直接地址、定位变量、非定位变量或数值输入。

NDR :一个程序循环的状态转换为有效表示收到了新数据,可以立即处理。

该参数可作为直接地址、定位变量或非定位变量输入。

错误 :一个程序循环的状态转换为有效表示检测到新错误。

该参数可作为直接地址、定位变量或非定位变量输入。

REG_READ :与请求的传输大小相等的 ARRAY 必须和此参数的 ≥ NO_REG 一致。此数组的名称被定义为一个参数。如果数组定义得太小,则仅传输数组中存在的数据量。

该参数必须定义为定位变量。

STATUS :如果在执行功能时出错,则循环的错误代码将留在此输出中。

功能块配置:

该功能块需和地址功能块一起配置,如下:

附件 5.jpg

TCP_IP_ADDR功能块和CREAD_REG相同

通讯解析:

该数据包在Modbus Slave从站抓取,数据如下:

81 AA 00 00 00 06 01 03 00 00 00 05

81 AA 00 00 00 0D 01 03 0A 00 03 00 00 00 37 00 00 00 00

解析如下:

附件 6.jpg

4、WRITE_REG

功能描述:

REQ 输入处出现上升沿时,此功能块会通过 Modbus Plus、TCP/IP 以太网或 SY/MAX 以太网将一个寄存器区域从 PLC 写入已定址从站。

参数描述 :

REQ :写入事务由上升沿触发。

该参数可作为地址、定位变量、非定位变量或数值输入。

SLAVEREG :已定址从站中写入源数据的区域的开始。源区域始终驻留在 %MW 地址区域内。

注意: 对于非 Unity Pro PLC 的从站:

目标区域始终驻留在 4x 寄存器区域内。SLAVEREG 默认目标地址的偏移在 4x 区域之内。必须忽略前导的"4"(例如,59(变量内容或数值)= 40059)。

该参数可作为地址、定位变量、非定位变量或数值输入。

NO_REG :要写入从站处理器的地址的数目 (1 ... 100)。

该参数可作为地址、定位变量、非定位变量或数值输入。

REG_WRIT :与计划的传输大小相等的 ARRAY 必须与此参数的 (≥ NO_REG) 一致。此数组的名称被定义为一个参数。如果数组定义得太小,则仅传输数组中存在的数据量。

该参数必须定义为定位变量。

完成 :程序扫描的状态转换为有效表示数据已传输。

该参数可作为地址、定位变量或非定位变量输入。

错误 :程序循环的状态转换为有效表示检测到新错误。

该参数可作为地址、定位变量或非定位变量输入。

STATUS :如果在执行功能时出错,则循环的错误代码仍然在此输出中。

功能块配置:

该功能块需和地址功能块一起配置,如下:

附件 7.jpg

TCP_IP_ADDR功能块和CREAD_REG相同

通讯解析:

该数据包在Modbus Slave从站抓取,数据如下:

81 AE 00 00 00 11 01 10 00 0F 00 05 0A 00 01 00 02 00 03 00 04 00 05

81 AE 00 00 00 06 01 10 00 0F 00 05

解析如下:

附件 8.jpg

5、MBP_MATR

功能描述:

通过使用 MBP_MSTR 功能块,可选择 14 种可用的网络通讯操作之一。本例只介绍用MBP_MSTR功能块发送MODBUS请求,操作功能代码为15。

参数描述 :

输入参数

附件 9.jpg

输出参数

附件 10.jpg

功能块配置:

功能块组态配置如下:

附件 11.jpg

Control数据配置:

控制数据块的长度为11

附件 12.jpg

Databuf数据配置:

请求数据和响应数据都存储在Databuf数据块中,请求数据的长度在CONTROL[10]中定义,响应数据起始地址在CONTROL[4]中定义。

通讯解析:

读取输入寄存器(%IW区)

控制数据块配置如下:



837
handafen
文章数:70
年度积分:210
历史总积分:837
品牌积分(施耐德):92
注册时间:2001/3/21
发站内信
发表于:2020/10/15 10:02:19
#1楼
附件 13.jpg

Databuf数据区配置如下:

附件 14.jpg

Databuf请求数据区寄存器定义如下:

附件 15.jpg

Databuf响应数据区寄存器定义如下:

附件 16.jpg

该数据包在Modbus Slave从站抓取,数据如下:

CE 59 00 00 00 06 01 04 00 00 00 05

CE 59 00 00 00 0D 01 04 0A 00 37 00 00 00 00 00 00 00 00

解析如下:

附件 17.jpg

MODBUS的其它请求操作和读取%IW区(功能码:04)相同,只需修改功能码即可。

二、M340通讯指令解析

1、READ_VAR

功能描述:

READ_VAR 功能用于读取以下一个或多个语言对象的值:

·内部位

·内部字

读取的对象必须始终是连续的。这些对象可以位于远程 CPU 或连接到通讯通道的设备中。

在 Modicon M340 和 M580 CPU 上,READ_VAR 功能最多可读取远程设备中的 2,000 个连续位。

参数描述 :

附件 18.jpg

功能块配置:



通讯解析:



2、WRITE_VAR

功能描述:

WRITE_VAR 功能用于写入同类型的以下一个或多个语言对象:

·内部位

·内部字

要写入的对象必须始终是连续的。这些对象可以位于远程 CPU 或连接到通讯通道的设备中。

参数描述 :

附件 19.jpg
工控学堂推荐视频:

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 中华工控网 Copyright©2020 Gkong.com, All Rights Reserved

78