莫迪康ModbusRTU - 图文
更新时间:2023-11-06 12:29:01 阅读量: 教育文库 文档下载
异步串行传输(各种介质如有线RS-232-/422/485/;光纤、无线等),对应的通信模式是MODBUS RTU或MODBUS ASCII。
莫迪康ModbusRTU
1、 设备简介
本驱动构件用于MCGS软件通过ModbusRTU协议读写Modicon PLC设备的各种寄存器的数据; 同时也可用于对支持ModbusRTU标准协议的各类PLC、仪表、控制器数据的读写。 本驱动支持01、02、03、04、05、06、15、16常用功能码,对功能码支持请参见附录1。 驱动类型 通讯协议 通讯方式 串口子设备,须挂接在“通用串口父设备”下才能工作 采用莫迪康ModbusRTU协议 一主一从、一主多从方式。驱动构件为主,设备为从。 2、 硬件连接
MCGS软件与设备通讯之前,必须保证通讯连接正确。
通讯连接方式:TPC与设备之间采用标准的RS485或RS232通讯。
Modicon TSX系列和Twido系列PLC的编程通讯口(Terminal Port)的通讯电缆图如下:
其他设备的通讯连接,具体请参考对应设备手册。
3、 设备通讯参数
“通用串口父设备”通讯参数设置如下: 设置项 通讯波特率 数据位位数 停止位位数 奇偶校验位 参数项 9600 (默认值)、19200、38400 7、8(默认值) 1(默认值)、2 奇校验、偶校验(默认值)、无校验 其中父设备通讯参数设置应与设备的通讯参数相同,否则无法正常通讯。 设备通讯参数的具体设置请参见对应设备手册。
4、 设备构件参数设置
“莫迪康ModbusRTU”子设备参数设置如下:
? 内部属性:单击“查看设备内部属性”,点击按钮进入内部属性,具体设置请参看内部属性。 ? 最小采集周期:MCGS对设备进行操作的时间周期,单位为ms,默认为100ms,根据采集数
据量的大小,设置值可适当调整。
? 设备地址:必须和实际设备的地址相一致,范围为0-255,默认值为0。
? 通讯等待时间:通讯数据接收等待时间,默认设置为200ms,根据采集数据量的大小,设置值可
适当调整。
? 快速采集次数:对选择了快速采集的通道进行快采的频率(已不使用,为与老驱动兼容,故保留,
无需设置)。
16位整数解码顺序:调整字元件的解码顺序,对于Modicon PLC及标准PLC设备,使用默认值即可。
0―12 1―21 16位整数解码顺序 举例:0x0001 表示字元件高低字节不颠倒(默认值) 表示1 表示字元件高低字节颠倒 表示256 32位整数解码顺序:调整双字元件的解码顺序,对于Modicon PLC,请设置为“2-3412”顺序解码。
32位整数解码顺序 举例:0x0000 0001 表示1 0―1234 表示双字元件不做处理直接解码(默认值) 1―2143 表示双字元件高低字不颠倒,但字内高低字节颠倒 表示256 2—3412 表示双字元件高低字颠倒,但字内高低字节不颠倒 表示65536 3—4321 表示双字元件内4个字节全部颠倒 表示1677 7216 32位浮点数解码顺序:调整双字元件的解码顺序,对于Modicon PLC,请设置为“2-3412”顺序解码。
32位浮点数解码顺序 举例:0x3F80 0000 表示1.0 0―1234 表示双字元件不做处理直接解码(默认值) 1―2143 表示双字元件高低字不颠倒,但字内高低字节颠倒 表示-5.78564e-039 2—3412 表示双字元件高低字颠倒,但字内高低字节不颠倒 表示2.27795e-041 3—4321 表示双字元件内4个字节全部颠倒 表示4.60060e-041 校验方式:选择LRC校验值的组合方式,对于Modicon PLC及标准PLC设备,使用默认设置即可。 0—LH[低字节,高字节] :校验结果为2个字节,低字节在前,高字节在后。 1—HL[高字节,低字节] :校验结果为2个字节,高字节在前,低字节在后。
分块采集方式:驱动采集数据分块的方式,对于Modicon PLC及标准PLC设备,使用默认设置可以提高采集效率。
0— 按最大长度分块:采集分块按最大块长处理, 对地址不连续但地址相近的多个分块,分为一块一次性读取,以优化采集效率。
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。
注意:
1. “解码顺序”及“校验方式”设置:主要是针对非标准ModbusRTU协议的不同解码及校验顺序。当用户通过本驱动软件与设备通讯时,如果出现解析数据值不对,或者通讯校验错误(通讯状态为3),可与厂家咨询后对以上两项进行设置。而对于Modicon PLC及支持标准ModbusRTU的PLC及控制器等设备,一般需将“32位整数解码顺序”和“32位浮点数解码顺序”设置为“2-3412”。 另外,在使用本驱动与“Modbus串口数据转发设备”构件通讯时,“解码顺序”及“校验方式”均需按默认值设置,否则会导致通讯失败或解析数据错误。
2. “分块采集方式”设置:主要是针对非标准ModbusRTU协议设备。当用户通过本驱动软件与设备通讯时,如果按默认“0-按最大长度分块”时,出现读取连续地址正常,而不连续地址不正常时,可与厂家咨询,并设置为“1-按连续地址分块方式”尝试是否可正常通讯。而对于Modicon PLC及支持标准ModbusRTU的PLC及控制器等设备,直接使用默认设置即可,这样可以提高采集效率。
5、 采集通道
a、 通讯状态: 通讯状态值 0 1 2 3 4 代表意义 表示当前通讯正常 表示采集初始化错误 表示采集无数据返回错误 表示采集数据校验错误 表示设备命令读写操作失败错误 5 6 表示设备命令格式或参数错误 表示设备命令数据变量取值或赋值错误 6、 内部属性
用户可通过内部属性,添加通道,本驱动构件可支持ModbusRTU寄存器类型及对应功能码如下: 寄存器 数据类型 读取功能码 [1区]输入继电器 [0区]输出继电器 [3区]输入寄存器 BT 02 写入功能码 — 操作方式 只读 只读10001 表示1区地址1 BT 01 05、15 读写 读写00001 表示0区地址1 BT、WUB、WB、WD DUB、DB、DD、DF、STR [4区]输出寄存器 BT、WUB、WB、WD DUB、DB、DD、DF、STR 说明:
功能码:[1区]、[3区]不支持写操作;[4区]在双字(32位)数据写操作或批量写入多个数据时,使用16功能码。
数据类型:“STR”数据类型是专用于和MCGS“Modbus串口数据转发设备”驱动构件配合使用的,并且只能通过写通道的方式来改变“Modbus串口数据转发设备”从设备的值。具体数据类型说明请参见
附录2
注意:在内部属性中添加通道时,起始地址均为1,这是遵从Modbus协议的,即所谓的“协议地址”,对于部分寄存器起始地址为0的设备,通道添加时,地址应加1处理。
03 06、16 读写 读写40001 表示4区地址1 04 — 只读 只读30001 表示3区地址1 通道举例 7、 设备命令
本设备构件提供设备命令,具体格式如下: 设备命令 读取命令 Read 命令格式 Read(寄存器名称, 寄存器地址, 数据类型=返回值) 命令举例 例1.1: !SetDevice(设备0,6, \读取0区地址为1,1区地址10的继电器值,放入MCGS变量Data00,Data01中。 例1.2: !SetDevice(设备0,6, \读取寄存器4区地址1的16位无符号值, 和地址40的浮点数值,放入MCGS变量Data00,Data01中。 写入命令 Write Write(寄存器名称, 寄存器地址, 数据类型=写入值) 例1.3: !SetDevice(设备0,6, \将Data00,Data01的值分别以16位无符号和浮点数写入4区寄存器地址10和40中。 32位读命令 Read32 Read32(寄存器名称, 寄存器地址, 数据类型=字符返回值) 32位写命令 Write32 Write32(寄存器名称, 寄存器地址, 数据类型=字符写入值) 批量读取A: ReadP ReadP(寄存器名称, 起始地址, 数据类型,数据例2.1: !SetDevice(设备0,6, \读取4区寄存器中地址10的32位无符号值, 放入字符变量strData中。 例2.2: !SetDevice(设备0,6, \将字符变量strData的值, 以32位无符号格式写入4区寄存器地址1中。 例3.1: !SetDevice(设备0,6,\个数n, 数据1, …..数据n 表示读取4区寄存器从地址10开始的两个16位无符号数值,放入 [,返回状态]) 批量读取B: ReadPV ReadPV(寄存器名称, 起始地址, 数据类型,数据个数n, 数据1 [,返回状态]) MCGS变量Data00,Data01中, 执行结果存入变量nReturn中。 例3.2: !SetDevice(设备0,6,\返回值)\表示读取4区寄存器从地址10开始的5个16位无符号数值,放入MCGS变量Data00为起始,连续5个变量(即: Data00,Data01,Data02,Data03,Data04) 中, 结果存入变量“返回值”中。 批量读取C: ReadBlock ReadBlock (寄存器名称, 说明: 读取数量是指读取N个数据类型中指定的数据段到字符起始地址, [数据类型1][数据类型…],读取数量n, 字符数据 [,返回状态]) 变量中,数据类型可以有多个,之间用中括号分隔。 实际连续读取个数 = 读取数量n *(数据类型1+数据类型n) 返回数据“字符数据”格式为:123,456,xxx的csv方式,每次读取时以回车换行结尾。 例3.3: !SetDevice(设备0,6, \表示读取4区寄存器从地址10开始,按WBU,DF格式连续读取3
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 迪康
- ModbusRTU
- 图文
- 中班幼儿自我意识
- 2012年国家公务员公共基础试题及答案(升级版)
- 章3-经济性评价方法(习题答案)
- 小麦庄1号隧道进口初期支护技术交底2016.2.16版课件 - 图文
- 电子电工复习题 - 图文
- 苏教版三年级数学下册《长方形和正方形的面积》复习练习题
- 第三届全国周培源大学生力学竞赛试题(印)
- 几种常见仪表的通讯设置
- 中山公园植物 - 图文
- 苏州市工程造价行业专家库成员名单
- 03303043高级语言程序设计(上)期末考试试卷B(上机考试)
- 浅谈中小出口企业所面临的问题及解决措施
- 山东省特色名校建设方案之八 护理专业及专业群建设方案
- -学生信息管理系统数据库实训报告 - 图文
- 现代教育技术复习资料
- 自动控制理论答案(孙扬声版)
- 2013年基层年终工作总结
- 天津发布医院布局规划 附新增医疗机构分布详解 - 图文
- 最新最全《公共建筑设计原理》(考研)包含课堂笔记
- 中美法学教育制度比较