DWIN

       迪文屏中关于MODBUS的接口配置

MODBUS是工业协议中比较欢迎的一种,它简单、通用性强并且使用方便,MODBUS的另一个优点是它可以通过任何传输媒介进行通讯,其中包括双绞线、无线通讯、光导纤维、以太网、电话调制调解器、移动电话以及微波等。它已经成为通用的工业标准,通过它不同厂商生产的控制设备可以连成工业网络,进行集中监控。此协议定义了一个控制器能认识使用的消息结构,支持传统的Rs-232、Rs-485和以太网设备。PLC、DCS、智能仪表都在使用MODBUS协议作为他们之间的通讯标准。迪文作为以提供客户高品质人机交互产品和相关系统集成服务为主的高新技术企业,其产品中也有相关的MODBUS配置操作,以下分别对MINI_DGUS、DGUS、DGUSII产品的MODBUS接口配置进行说明。
1、MINI_DGUS的MODBUS接口配置
(1)用户接口指令集为 Modbus RTU 主机模式和Modbus RTU从机模式,同时支持 DGUS 指令集(同时支持串口图片、字库下载)。通过 22.BIN 字库文件的 0x600~0x7FF 位置(1KB 空间大小,定义如下)。
注:通过UltraEdit打开22号文件,DGUS变量地址与UltraEdit上的地址存在2倍的关系,例如:DGUS 变量地址是:0X7F8,对应到UltraEdit软件上的地址是:0X7F8*2=0XFF0。

DGUS UltraEdit(22地址) 定义 说明
0X7F8 0XFF0 Modbus启用标记 主机启用:0X5AA5
从机启用:0X5BB5
0x7F9-0X7FF 0XFF2-0XFFE 未定义 全部写0
0X600-0X607 0XC00-0XC0E 第1条 MODBUS 指令(16 字节) 详细说明见表2
0X608-0X60F 0XC10-0XC1E 第2条 MODBUS 指令(16 字节)
0X7F0-0X7F7 0XFE0-0XFEE 第63条 MODBUS 指令(16 字节)
0XC00 第1个字节 0x5A=本条指令有效,其它=本条指令无效
0XC01 第2个字节 读写的 modbus 设备地址
0XC02 第3个字节 读/写使用的 modbus 指令
0XC03 第4个字节 读写数据长度,0x00 表示本条指令无效,最多一次性读取120个字节
0XC04-0XC05 第5字节-第6字节 本条指令处理定时时间,4 位整数,单位为 ms,最大 9999ms
0XC06 第7字节 应答 CRC 校验错误,0xFF 应答 CRC 校验正确。
0XC07 第8字节 modbus 读写指令的发送方式,0x00:**** 所有页面下均执行指令;
0x01:Page_ID 仅在指定的页面下执行指令;
0x02:VP 仅在 VP 指向的变量缓冲区低字节内容为 0x5A 才执行指令;
0XC08-0XC09 第9字节-第10字节 根据第8字节的填写01或者是02,添加页码或者DGUS变量地址
0XC0A-0XC0B 第11字节-第12字节 DGUS 屏变量存储区的起始地址。如果地址高字节为 0xFF,表示读取的数据将写入 DGUS 曲线缓冲区,此时低字节地址表示为曲线数据格式
0XC0C-0XC0D 第13字节-第14字节 本条指令读写的数据在modbus 设备上的数据起始地址。
0XC0E-0XC0F 第15字节-第16字节 保留写0X00
在这里插入图片描述
图1
(2)MOSBUS操作指令对应表
MODBUS 指令 功能 读写数据长 Modbus 起始地址
0x01 读取输入线圈状态 线圈个数/8 起始线圈
0x02 读取输入位置量状态 位变量个数/8 起始输出位置
0x03 读取保存寄存器数据 寄存器个数2 保存寄存器首地址
0x04 读取输入寄存器数据 寄存器个数
2 输入寄存器首地址
0x05 强制单个线圈 0x02 线圈地址
0x06 预制单个寄存器 0x02 寄存器地址
0x07 读取异常状态 0x01 任意值
0x0F 强制多个线圈 线圈数量 起始线圈位置
0x10 预制多个寄存器 寄存器个数*2 寄存器首地址
0x11 读取从机标识 从机标示字节数 任意值

2、DGUS的MODBUS接口配置
(1)基于Modbus主机接口的DGUS软件应用说明
升级程序名称:DGUS_V71_MODBUS.BIN,对应的DGUS版本是V71,支持K600+或DGUS内核,用户接口指令集为MODBUS RTU主机模式,串口不再支持标准的DGUS指令集(包括DWIN OS、串口仿真、串口图片、字库下载)。DWIN OS中,以下指令不再支持:

指令 说明
RMODBUS 到COMO_Rx_FIFO读取MODBUS数据帧
COMSET 串口配置
COMTXD 串口数据发送到COM1
CPRTS 串口打印
RDXLEN 检查COMO_Rx_FIFO
RDXDAT 读取COMO_Rx_FIFO
COMTXI 直接串口发送
RD645 到COMO_Rx_FIFO读取DL/T645数据帧

通过22.bin字库文件的20KW-28KW(16KB空间大小,文件字节地址0x0A000--0x0DFFF)来定义Modbus运行参数,DGUS上电会自动把这8KW配置文件解码加载到变量缓冲区的最后8KW。

DGUS UltraEdit(22地址) 定义 说明
0X5000 0XA000 Modbus启用标记 主机启用:0X5AA5
0X5001:H 0XA002 保存配置文件标记 0X5A:保存DGUS变量缓冲区的MODBUS配置文件到22字库
0X5001:L 0XA002-0XA003 加载配置文件标记 0X5A:从22字库加载MODBUS配 置文件到DGUS变量缓冲区
0X5002 0XA004 串口波特率 3.1格式定点小数(115200bps=0X480) 单位为kbps,最大999.9kbps
0X5003:H 0XA006 串口模式 0X00=8N1(无校验)
,0X01=8E1(偶校验EVEN),0X02=801(奇校验ODD),0X03=8N2(无校验,2个停止位)
0X5004:H 0XA008 变量写标记 0X5A表示保存指定DGUS变量空间到22字库
0X5004:L 0XA009 变量读标记 0X5A表示从22字库相应位置读数据到DGUS指定变量空间
0X5005 0XA00A 变量读写起止地址 PS:PE PS、PE是DGUS变量空间开始、结束地址高字节,低字节固定为0
0X5006-0X5007 0XA00C-0XA00E 保留 写0X0000
0X5008-0X500F 0XA010-0XA01F 第一条MODBUS指令 详细说明见表6
… … … …
0X6FF8-0X6FFF 0XFE0-0XFEE 第1023条 MODBUS 指令(16 字节) 最多支持1023条指令
在这里插入图片描述
图2
UltraEdit(22地址) 定义 说明
0XA010 第1个字节 0x5A=本条指令有效,其它=本条指令无效
0XA011 第2个字节 读写的 modbus 设备地址
0XA012 第3个字节 读/写使用的 modbus 指令
0XA013 第4个字节 读写数据长度,0x00 表示本条指令无效,最多一次性读取120个字节
0XA014-0XA015 第5字节-第6字节 本条指令处理定时时间,4 位整数,单位为 ms,最大 9999ms定时时间是从机响应的最长时间
0XA016 第7字节 0X00
0XA017 第8字节 modbus 读写指令的发送方式,0x00:**** 所有页面下均执行指令;
0x01:Page_ID 仅在指定的页面下执行指令;0x02:VP 仅在 VP 指向的变量缓冲区低字节内容为 0x5A 才执行指令;
0XA018-0XA019 第9字节-第10字节 根据第8字节的填写01或者是02,添加页码或者DGUS变量地址
0XA01A-0XA01B 第11字节-第12字节 DGUS 屏变量存储区的起始地址。如果地址高字节为 0xFF,表示读取的数据将写入 DGUS 曲线缓冲区,此时低字节地址表示为曲线数据格式
0XA01C-0XA01D 第13字节-第14字节 本条指令读写的数据在modbus 设备上的数据起始地址。
0XA01E 第15字节 总线通信状态反馈,写指令始终为0X00,读指令返回0X00(失败)/0XFF(成功)
0XA01F 第16字节 保留写0X00
表6
注:MODBUS的位(线圈)变量是按照LSB定义的,而DGUS是按照MSB定义

(2)基于Modbus从机接口的DGUS软件应用说明
升级程序名称DGUS_V71_MODBUS_SLAVE.BIN,对应的DGUS版本是V71,支持K600+或DGUS内核,用户接口指令集为MODBUS RTU从机模式,串口不再支持标准的DGUS指令集(包括DWIN OS串口仿真、串口图片、字库下载)。CONFIG.TXT配置文件的R3寄存器设置MODBUS从机地址,RA寄存器设置MODBUS串口格式,0X00=8N1(无校验) 0X01=8E1(偶校验,EVEN),0X02=801(奇校验,ODD),0X03=8N2(无校验,2个停止位)。串口波特率设置R1、R5、R9,当R1的值在00-10时,R5和R9无效,可以选择17档固定波特率之一,如下表7(波特率单位为Kbps)。
R1 00 01 02 03 04 05 06 07
波特率 1.2 2.4 4.8 9.6 19.2 38.4 57.6 115.2

R1 08 09 0A 0B 0C 0D 0E 0F 10
波特率 28.8 76.8 62.5 125 250 230.4 345.6 691.2 921.6

当R1取值为11时,此时波特率由R5和R9决定,并由下式计算,R5:R9=6250000/波特率,R5:R9表示一个双字节参数,R5为高字节,R9为低字节,比如设定10000bps,R5:R9=6250000/10000=625=0X0271,R5为02,R9为71。

3、DGUSII的MODBUS接口配置
主要是T5UID1、T5UID2、T5UID3 平台的MODBUS配置。MODUS主从机写在了DWIN OS程序里面了,串口为UART4,使用T5_MODBUS OS程序,OS内核程序升级到V21或以上版本。
(1)基于MODBUS的主机接口配置
用户可通过 22.BIN 字库文件 0x1C000~0x1FFFF 的 16KB 空间大小来定义 Modbus 运数;也可通过 T5 OS 直接访问 0xE000~0xFFFF 的 8KW 变量空间来定义 Modbus 参数。
DGUS UltraEdit(22地址) 定义 说明
0XE000 0X1C000 Modbus启用标记 0X5AA5

0XE001 0X1C002 主从机标记 0X0000表示ModbusMaster,其它值表示ModbusSlave
0XE002 0X1C004 串口波特率 单位是Kbps,1位定点小数,例如:115200=0X480
0XE003 0X1C006 串口模式 0X00=8N1(无校验)
,0X01=8E1(偶校验EVEN),0X02=801(奇校验ODD),0X03=8N2(无校验,2个停止位)
0XE004 0X1C008 从机设备地址 从机下设备地址,默认为0X005A
0XE005:H 0X1C00A MODBUS输出串口 0X04默认串口4
0XE005:L 0X1C00B 0S版本号 只读
0XE006-0XE007 0X1C00C-0X1C00E 保留 写0X0000
0XE008-0XE00F 0X1C010-0X1C01F 第一条MODBUS指令 详细说明见表9
… … … …
第1023条 MODBUS 指令(16 字节) 最多支持1023条指令

UltraEdit(22地址) 定义 说明
0X1C010 第1个字节 0x5A=本条指令有效,其它=本条指令无效
0X1C011 第2个字节 读写的 modbus 设备地址
0X1C012 第3个字节 读/写使用的 modbus 指令
0X1C013 第4个字节 读写数据长度,0x00 表示本条指令无效,最多一次性读取90字节
0X1C014-0X1C015 第5字节-第6字节 本条指令处理定时时间,4 位整数,单位为 ms,最大 9999ms等待时间是从机响应的最长时间
0X1C016 第7字节 0X00
0X1C017 第8字节 modbus 读写指令的发送方式,0x00:**** 所有页面下均执行指令;
0x01:Page_ID 仅在指定的页面下执行指令;
0x02:VP 仅在 VP 指向的变量缓冲区低字节内容为 0x5A 才执行指令,执行完后自动清零VP指向的内容
0X1C018-0X1C019 第9字节-第10字节 根据第8字节的填写01或者是02,添加页码或者DGUS变量地址
0X1C01A-0X1C01B 第11字节-第12字节 DGUS 屏变量存储区的起始地址(0X0000-0XDFFF)。
0X1C01C-0X1C01D 第13字节-第14字节 本条指令读写的数据在modbus 设备上的数据起始地址。
0X1C01E-0X1C01F
0 第15字节-第16字节 总线通信状态反馈,0X0000=失败,0X00FF=成功,OS读取后需要清零

在这里插入图片描述
图3
(2)基于MODBUS的从机接口配置
在22号文件中配置成从机格式,设备默认地址是0X5A,若设定值为0,则自动恢复默认ID。22号配置如下图4。注:主机可读写数据变量范围为 0x0000-0xDFFF,若超出此范围,程序会将功能码最高位置 1 并返回给主机,表明通信错误;主机可读写数据长度上限为 90 个字,超出范围则通信失败;各个平台的CFG文件,必须设置为上电加载22文件。

在这里插入图片描述
图4

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值