昆仑通态 莫迪康ModbusRTU讲解

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

分块采集方式:驱动采集数据分块的方式,对于 Modicon PLC 及标准 PLC 设 备,使用默认设置可以提高采集效率。
0— 按最大长度分块:采集分块按最大块长处理, 对地址不连 续但地址相近的多个分块,分为一块一次性读取,以优化采集效 率。
1— 按连续地址分块:采集分块按地址连续性处理,对地址不连 续的多个分块, 每次只采集连续地址,不做优化处理。
MCGS 变量 Data00,Data01 中。
例 1.2: !SetDevice( 设 备 0,6,
"Read(4,10,WUB=Data00;4,40,DF=Data01) ")
读取寄存器 4 区地址 1 的 16 位无符号值, 和地址 40
的浮点数值,放入 MCGS 变量 Data00,Data01 中。
n, 数据 1, …..数据 符号数值,放入
n [,返回状态])
MCGS 变量 Data00,Data01 中, 执行结果存入变量
nReturn 中。
批量读取 B: ReadPV(寄存器 名 例
3.2:
!SetDevice(


ReadPV 称, 起始地址, 数 0,6,"ReadPV(4,10,WUB,5,Data00,返回值)")
式连续读取 3 组数据 (即: 数据格式为
WUB,DF,WUB,DF,WUB,DF),并以相应格式解析并
以逗号间隔的 CSV 格式存入字符变量 StrData 中。
批量读取 D: ReadMutiReg(寄存 说明: 按指定数据类型批量读取起始地址开始连续 ReadMutiReg 器名称, 起始地址, 地址的 n 个数据到字符变量数据中,数据间以逗号间
附录 1。
驱动类型
串口子设备,须挂接在“通用串口父设备”下才能工作
通讯协议
采用莫迪康 ModbusRTU 协议
通讯方式
一主一从、一主多从方式。驱动构件为主,设备为从。
2、 硬件连接
MCGS 软件与设备通讯之前,必须保证通讯连接正确。 通讯连接方式:TPC 与设备之间采用标准的 RS485 或 RS232 通讯。 Modicon TSX 系列和 Twido 系列 PLC 的编程通讯口(Terminal Port)的通讯电缆图如下:
区地址 1
DUB、DB、DD、
DF、STR
[4 区 ]输出 BT、WUB、WB、 03 寄存器
WD
06、16
读写 读写 40001 表示 4 区地址 1
DUB、DB、DD、
DF、STR
说明:
功能码:[1 区]、[3 区]不支持写操作;[4 区]在双字(32 位)数据写操作或批量写入多个
数据时,使用 16 功能码。
3—4321 表示双字元件内 4 个字节全部颠倒
表示 4.60060e-041
校验方式:选择 LRC 校验值的组合方式,对于 Modicon PLC 及标准 PLC 设备, 使用默认设置即可。
高字节在后。
0—LH[低字节,高字节] :校验结果为 2 个字节,低字节在前,
低字节在后。
1—HL[高字节,低字节] :校验结果为 2 个字节,高字节在前,
数据类型:“STR”数据类型是专用于和 MCGS“Modbus 串口数据转发设备”驱动构件
配合使用的,并且只能通过写通道的方式来改变“Modbus 串口数据转发设备”从设备的值。
具体数据类型说明请参见 附录 2
注意:在内部属性中添加通道时,起始地址均为 1,这是遵从 Modbus 协议的,即所谓
的“协议地址”,对于部分寄存器起始地址为 0 的设备,通道添加时,地址应加 1 处理。
7、 设备命令
本设备构件提供设备命令,具体格式如下:
设备命令 命令格式
命令举例
读取命令 Read(寄存器名称, 例 1.1: !SetDevice( 设 备 0,6,
Read
寄存器地址, 数据 "Read(0,1,BT00=Data00;1,10,BT00=Data01) ")
类型=返回值)
读取 0 区地址为 1,1 区地址 10 的继电器值,放入
区寄存器地址 1 中。
批量读取 A: ReadP( 寄 存 器 名 例
3.1:
!SetDevice(


ReadP 称, 起始地址, 数 0,6,"ReadP(4,10,WUB,2,Data00,Data01,nReturn)")
据 类 型 , 数 据 个 数 表示读取 4 区寄存器从地址 10 开始的两个 16 位无
32 位浮点数解码顺序
举例:0x3F80 0000
0―1234 表示双字元件不做处理直接解码(默认值) 表示 1.0
1―2143 表示双字元件高低字不颠倒,但字内高低字节 表示-5.78564e-039 颠倒
2—3412 表示双字元件高低字颠倒,但字内高低字节不 表示 2.27795e-041 颠倒
1―2143 表示双字元件高低字不颠倒,但字内高低字节 表示 256 颠倒
2—3412 表示双字元件高低字颠倒,但字内高低字节不 表示 65536 颠倒
3—4321 表示双字元件内 4 个字节全部颠倒
表示 1677 7216
32 位浮点数解码顺序:调整双字元件的解码顺序,对于 Modicon PLC,请设置 为“2-3412”顺序解码。
4、 设备构件参数设置
“莫迪康 ModbusRTU”子设备参数设置如下:
内部属性:单击“查看设备内部属性”,点击按钮进入内部属性,具体设置请 参看内部属性。
最小采集周期:MCGS 对设备进行操作的时间周期,单位为 ms,默认为 100ms, 根据采集数据量的大小,设置值可适当调整。
设备地址:必须和实际设备的地址相一致,范围为 0-255,默认值为 0。
写入命令 Write(寄存器名称, 例 1.3: !SetDevice( 设 备 0,6,
Write
寄存器地址, 数据 "Write(4,10,WUB=Data00;4,40,DF=Data01) ")
类型=写入值)
将 Data00,Data01 的值分别以 16 位无符号和浮点数
写入 4 区寄存器地址 10 和 40 中。
32 位读命令 Read32( 寄 存 器 名 例 2.1: !SetDevice( 设 备 0,6,
Read32 称 , 寄 存 器 地 址 , "Read32(4,10,DUB=strData) ")
数据类型=字符返 读取 4 区寄存器中地址 10 的 32 位无符号值, 放入
回值)
字符变量 strData 中。
数据个数 n, 数据 隔。
寄存器
数据类型
读取功 写入功能 操作方
通道举例
[1 区 ]输入
BT
继电器
能码 02
[0 区 ]输出
BT
01
继电器
[3 区 ]输入 BT、WUB、WB、 04 寄存器
WD
码 — 05、15 —
式 只读 只读 10001 表示 1
区地址 1 读写 读写 00001 表示 0
区地址 1 只读 只读 30001 表示 3
据 类 型 , 数 据 个 数 表示读取 4 区寄存器从地址 10 开始的 5 个 16 位无
n, 数据 1 [,返回状 符号数值,放入 MCGS 变量 Data00 为起始,连续 5 个
态])
变量(即: Data00,Data01,Data02,Data03,Data04) 中,
结果存入变量“返回值”中。
1. “解码顺序”及“校验方式”设置:主要是针对非标准 ModbusRTU 协议的不同 解码及校验顺序。当用户通过本驱动软件与设备通讯时,如果出现解析数据值不对,或 者通讯校验错误(通讯状态为 3),可与厂家咨询后对以上两项进行设置。而对于 Modicon PLC 及支持标准 ModbusRTU 的 PLC 及控制器等设备,一般需将“32 位整数解码顺序” 和“32 位浮点数解码顺序”设置为“2-3412”。 另外,在使用本驱动与“Modbus 串口 数据转发设备”构件通讯时,“解码顺序”及“校验方式”均需按默认值设置,否则会 导致通讯失败或解析数据错误。
通讯等待时间:通讯数据接收等待时间,默认设置为 200ms,根据采集数据量的
大小,设置值可适当调整。
快速采集次数:对选择了快速采集的通道进行快采的频率(已不使用,为与老
驱动兼容,故保留,无需设置)。
16 位整数解码顺序:调整字元件的解码顺序,对于 Modicon PLC 及标准 PLC 设备,使用默认值即可。
硬件配置 参数设置 设备命令 故障分析
#莫迪康 ModbusRTU
1、 设备简介
本驱动构件用于 MCGS 软件通过 ModbusRTU 协议读写 Modicon PLC 设备的各种 寄存器的数据;
同时也可用于对支持 ModbusRTU 标准协议的各类 PLC、仪表、控制器数据的读写。 本驱动支持 01、02、03、04、05、06、15、16 常用功能码,对功能码支持请参见
5、 采集通道
a、 通讯状态:
通讯状态值
代表意义
0
表示当前通讯正常
1
表示采集初始化错误
2
表示采集无数据返回错误
3
表示采集数据校验错误
4
表示设备命令读写操作失败错误
5
表示设备命令格式或参数错误
6
表示设备命令数据变量取值或赋值错误
6、 内部属性
用户可通过内部属性,添加通道,本驱动构件可支持 ModbusRTU 寄存器类型及对应功 能码如下:
2. “分块采集方式”设置:主要是针对非标准 ModbusRTU 协议设备。当用户通过 本驱动软件与设备通讯时,如果按默认“0-按最大长度分块”时,出现读取连续地址 正常,而不连续地址不正常时,可与厂家咨询,并设置为“1-按连续地址分块方式” 尝试是否可正常通讯。而对于 Modicon PLC 及支持标准 ModbusRTU 的 PLC 及控制器等 设备,直接使用默认设置即可,这样可以提高采集效率。
批量读取 C: ReadBlock (寄存器 说明: 读取数量是指读取 N 个数据类型中指定的数
ReadBlock 名 称 , 起 始 地 址 , 据段到字符变量中,数据类型可以有多个,之间用中
[数据类型 1][数据 括号分隔。
类型…],读取数量 实际连续读取个数 = 读取数量 n *(数据类型 1+数
例如:有 4 区寄存器地址分别为 1~5,7,9~12 的数据需采 集,如果选择“0-按最大长度分块”,则两块可优化为地址 1~12 的数据打包 1 次完成采集;如果选择“1-按连续地址 分块”,则需要采集 3 次。 4 区 16 位写功能码选择:写 4 区单字时功能码的选择,这个属性主要是针对自 己制作设备的用户而设置的,这样的设备 4 区单字写可能只支持 0x10 功能码, 而不支持 0x06 功能码。 0—0x06:单字写功能码使用 0x06。 1—0x10:单字写功能码使用 0x10。 注意:
其他设备的通讯连接,具体请参考对应设备手册。
3、 设备通讯参数
“通用串口父设备”通讯参数设置如下:
设置项
参数项
返回顶部
通讯波特率 数据位位数 停止位位数 奇偶校验位
9600 (默认值)、19200、38400 7、8(默认值) 1(默认值)、2 奇校验、偶校验(默认值)、无校验
其中父设备通讯参数设置应与设备的通讯参数相同,否则无法正常通讯。 设备通讯参数的具体设置请参见对应设备手册。
32 位写命令 Write32( 寄 存 器 名 例 2.2: !SetDevice( 设 备 0,6,
Write32 称 , 寄 存 器 地 址 , "Write32(DM,10,DUB=strData) ")
数据类型=字符写 将字符变量 strData 的值, 以 32 位无符号格式写入 4
入值)
16 位整数解码顺序
举例:0x0001
0―12 1―21
表示字元件高低字节不颠倒(默认值) 表示 1
表示字元件高低字节颠倒
表示 256
32 位整数解码顺序:调整双字元件的解码顺序,对于 Modicon PLC,请设置为 “2-3412”顺序解码。
32 位整数解码顺序
举例做处理直接解码(默认值) 表示 1
n, 字 符 数据 [, 返 据类型 n)
回状态])
返回数据“字符数据”格式为:123,456,xxx 的
csv 方式,每次读取时以回车换行结尾。
例 3.3: !SetDevice( 设 备 0,6, "ReadBlock(4,10,[WUB][DF],3,strData)")
表示读取 4 区寄存器从地址 10 开始,按 WBU,DF 格
相关文档
最新文档