K600+屏MODBUS和T5屏MODBUS相同点和不同点 迪文的新屏和老屏都是走的标准的MODBUS协议,客户想使用迪文屏来连接使用MODBUS协议的设备,那其实是一件不难的事情,因为MODBUS通信部分的代码都已经写好了,只需要通过简单的配置来调用就可以了。K600+的屏,MODBUS的通信代码已经做成了内核,屏幕做主机或者从机只需要选择相应的内核下载到屏里就可以了。T5屏的MODBUS虽然不是内核的形式,但是也差不多,这部分的代码是运行在OS里的,生成的BIN文件直接通过SD卡烧录进去就可以使屏支持MODBUS通信了。K600+的MODBUS内核和T5MODBUS代码如下图所示:
K600+MODBUS参数配置方法:K600+的MODBUS参数定义在了0X5000-0X6FFF的16K空间里,对应22.BIN文件的字节地址0X0A000-0X0DFFF。通过UE软件来打开22.BIN文件,按照下图来定义MODBUS参数。 当然,也可以通过在屏的界面工程上面设置相关的地址,然后进行配置,或者还可以通过OS来访问相应的地址,实现复杂的逻辑组合指令。 另外,对于miniDGUS屏的modbus配置,参考mini屏的文档,配置地址不同,功能上面大致一样,注意miniDGUS出厂的屏一般自带了迪文DGUS协议和modbus配置协议内核,用户无须升级内核,miniDGUS屏配置了modbus协议之后,mobus开启,原来的DGUS协议不能继续用,可以在做工程的是后用一个增量调节开关循环开启modbus启用和不启用,比较方便适合用DGUS5.04软件进行串口下载配置文件,避免重复插拔卡。 很多客户不理解本条指令处理定时时间是什么,可以这么理解。主机的读指令(比如0x03 0x04指令等)间隔是最大间隔,如果从机立即应答,那么应答后就会立马执行下一条指令。写指令(比如0x06 0x10指令等)的间隔就是真实的间隔,不论从机是否应答,间隔始终为设定的,从上往下依次执行。读指令如果想让其以某一个时间频率读最简单的办法:可以在01模式指定页面运行指令,读指令穿插一条虚拟的0x10写指令,这样交替达到即使立即响应也能延时的目的。 T5 MODBUS参数配置方法:T5 MODBUS的参数则是定义在了0XE000-0XFFFF的8KW变量空间里,对应22.BIN字库文件地址0X1C000-0X1FFFF。配置原理和K600+的大同小异,参数定义如下表: 注意事项:
(1)首先请确保 T5 屏幕系统配置值为“上电加载 22 号文件初始化”(具体配置方法请参考 应用指南>,屏幕出厂默认已经配置好,用户一般无需重新配置); (2)此版程序基本功能与 DGUS 屏的 MDOBUS 主从机基本一致,但 22 号文件的参数配地址改为了 0x1C000~0x1FFFF,对映 T5 变量空间中的最后 8KW 地址 0xE000~0xFFFF; (3)指令等待时间参数的设置范围与波特率以及 MODBUS 指令长度有关,默认 115200bps下,建议最小设置为 20mS;建议每个字50ms。(若不设置此参数,则程序以默认值 60mS 运行)。 (4)如下图所示,图 1 为 Modbus 主机模式下的 22 号文件配置参考,0x1c000 开始的 16 字 节内容为接口参数;指令配置范围 0x1c010~0x1ffff,最多 1023 条指令,两条指令之间可以连续也可以间隔若干条指令地址。
|