DGUS屏的modbus主机内核配置与调试160425_第1页
DGUS屏的modbus主机内核配置与调试160425_第2页
DGUS屏的modbus主机内核配置与调试160425_第3页
DGUS屏的modbus主机内核配置与调试160425_第4页
DGUS屏的modbus主机内核配置与调试160425_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 Dgus屏的modbus配置与调试 1:dgus屏modbus现只支持HEX的RTU主机格式, 暂时不支持ascii格式的通信模式, 暂时不支持从机格式的通信模式 2: modbus内核升级。SD卡升级如下(串口升级请参考串口升级文档)。 modbus内核为“DGUS_V71_MODBUS”,把内核文件装入sd卡上的DWIN_SET 文件夹中(可以随工程文件考入,也单独拷入即可),插到屏的sd卡接口。 3: modbus协议的配置方式有3种, 1)由屏上页面配置。一般测试可以用这个方法,请参考modbus7寸8寸历程。 >如上图的第二条指令03指令:是将设备5的356(0x0164)地

2、址的2个字的数读到屏上变量地址0001的显示,发送模式是0,所有页面均可执行,(如果要改成01模式,后面发送标志改成10,那么此指令会在10页面下才会执行)上图配置后屏主动会外发:05 03 01 64 00 02 85 AC 可以用串口测试回应:05 03 04 000A 000B DE36历程的屏上面地址0x0001和0x0002设会显示数据1.0和1.1显示小数,(因为设置了一位定点小数)>如上图的第二条指令16(0x10)指令:是将屏上面变量地址4098(0x1002),的数写进0设备地址2,发送模式是2,也就是当4111(0x100F)这个设置的 按键返回地址键值0x005A按

3、下之后,才进行发送,发送一次后地址0x100F键值底层自动清零。以上两条可以用于测试通讯或简单的功能直接界面配置替换。 2)由22.bin文件配置。这个方法是90%的用户用的方法,22文件要单独拿出来写,不然点击生成配置文件,22文件会被软件本身未有初始值设置的控件的地方而清空。 Modbus协议在屏的内存地址0x5000(word)开始定义,UltraEdit-32打开是由字节编辑,那么0x5000折算到22.bin的字节地址为:0x5000X2=0xA000 . 用UltraEdit-32 打开22.bin(见图1) 图1: 0xa000=5A 表示启用modbus。 0xa001=A5

4、表示启用modbus。 0xa002=5A 表示保存配置文件。 0xa003=00 填入 5A 表示从22.bin把配置文件读入缓冲区 (22.bin配置时不用填,默认 00 即可)。 0xa004=00 与0xa005设定通信波特率,0060=9600 0480=115200 0xa005=60 0xa006=00 00H=8N1 01H=8E1 02H=8O1 03H=8N2 0xa007=00 默认 00 即可 0xa00a=00 默认 00 即可 共16字节。 modbus协议指令 第一条modbus协议指令从0xa010开始。 0xa010 =5A 写入5A表示C,其他无效。 0xa

5、011 =01 从机ID号。 0xa012 =03 modbus读取从机参数指令03。 0xa013 =22 读取从机参数的字节数,字数=0x11 0xa014 =00 与0xa015构成通信超时时间(0064=100ms) 0xa015 =64 0xa016 =00 0xa017 =01 0001表示只在0xa018 0xa019表示的页面下执行modbus 0xa018 =00 0xa019 =0A 000A表示本条只在10号页面下执行,其他页时停止执行。(如果0xa0160xa019均写0x0000, 0x0000 那么此条指令会在所有页面下均可执行;如果0xa0160xa019均写的0

6、x0002 ,0x100F 那么此条指令会在在当地址0x100F写入0x005A后执行本条指令。实质的应用是做一个:键值0x0005A、地址0x100F的“按键返回”控件,当这个按键按下之后执行一次本条指令) 0xa01a =20 0xa01b =00 (是读或写数据的DGUS屏上面的存放地址2000) 0xa01c =10 0xa01d =00 0xa01c 0xa01d 从机数据地址1000。 0xa01e =00 读或写是否成功标志位,指令发送时是00,发送完成后等数据返回 时等于FF ,表示从机成功返回 ,等于00,返回错误或超时。 0xa01f = 00 保留默认 00 第二条mod

7、bus协议指令从0xa010开始。 0xa020 0xa02F 第三。 依此类推。 3)由os程序代码配置。其实就是上电写入变量地址,比第二种方法进步的地方是不需要单独拿出22文件来写。注:由于升级了modbus内核,DGUS的0x5A 0xA5的协议屏不再支持,DGUS_5.04上位机软件串口下载无效,所以这种写法适用于5寸屏以上能用ED2的下载器用户,方便直接通过插上SD卡槽的串口下载os。下文的os写法可以直接复制到os编译软件进行查看。 ; DWIN OS IJNE R255,0,4 ;比较R255里面不是0后往下跳转4行 CALL MODBUS启用配置 CALL 第一条03指令 CA

8、LL 第一条06指令 LDBRR255,1,1 ;上电运行一次即可,0x5000以后地址不再访问 END;=MODBUS启用配置: LDWR R0,0X5000 ;注:所有的变量地址都要经过R0和R1,在进行处理。 LDWR R10,0X5AA5 ;5000 其他的指令参考os指导说明文档。 LDWR R12,0X5A00 ;5001 ;LDWR R14,0X0480 ;5002 9600=0060 115200= 0480 LDWR R14,0X0060 ;5002 9600=0060 115200= 0480 LDBR R16,0X00,10 ;5003 8N1 MOVXR R10,0,8

9、 RET ;= ;CMD 03 第一条03指令: LDWR R0,0X5008 LDBR R10,0X5A,1 ; LDBR R11,0X01,1 ;ID LDBR R12,0X03,1 ;CMD LDBR R13,46,1 ;LEN *2 ;2 LDWR R14,0X0190 ;TIM 400MS LDWR R16,0X0001 ;MARK LDWR R18,7 ;MARK LDWR R20,0X0001 ;DGUS ADDRE LDWR R22,0X0001 ;ID_ADDRE LDWR R24,0X0000 MOVXR R10,0,8 ;READ_X1-X7 RET ;CMD 06第一条

10、06指令: LDWR R0,0X5058 LDBR R10,0X5A,1 ; LDBR R11,0X01,1 ;ID LDBR R12,0X06,1 ; CMD LDBR R13,2,1 ;LEN *2 ;2 LDWR R14,0X0190 ;TIM 400MS LDWR R16,0X0002 ;MARK LDWR R18,0X0060 ;MARK LDWR R20,0X000D ;DGUS ADDRE LDWR R22,0X000D ;ID_ADDRE LDWR R24,0XFF00 MOVXR R10,0,8 ;READ_X1-X7 RET4:调试问题及解决方法 1) Modbus只是定义

11、了一种通信数据格式,与硬件的通信接口没有任何关系, 通信口无论是RS232,485,还TTL电平连接都能运行modbus。 2) 配置好Modbus 协议后,下载到屏里,接上sscom32调试助手, 选择好波特率,若是配置了在任何页面都读取的指令,则屏会发送数据到 sscom32调试助手上。 3) 配置好后,若没有发送数据,则先检查配置文件有无错误, 波特率是否正确,22.bin文件是否被重新编译(用配置软件编译后, 22.bin文件会被改写清零。) 4) 用RS-232 TO 485 转接头调试时,转接头A+ 接屏A+. B- 接屏的B-。 或485+ 接屏A+. ,485- 接屏B-.。

12、转接头的GND 最好接到屏的 GND,有的转接头(无源)不好 GND不连接时有FFFFFFFFFF往串口发送。 1、 MODBUS本条指令处理定时时间怎样理解?答:主机的读指令间隔是最大间隔,如果从机立即应答,那么应答后就会立马执行下一条指令。写指令的间隔就是真实的间隔,不论从机是否应答,间隔始终为设定的,从上往下依次执行。读指令如果想让其以某一个时间频率读最简单的办法:可以在01模式指定页面运行指令,读指令穿插一条虚拟的写指令,这样交替达到即使立即响应也能延时的目的。2、 MODBUS读写指令发送方式02模式如何运用?答:实际就是利用按键返回按下发送一次,比如按键返回配置地址0x1000,键

13、值0x005A,当这个按键按下的时候,配置指向的modbus屏上面的地址指令会下发一次,底层自动清零键值,不会重复发。一般对于写指令,数据变量录入参数之后,如果不额外配置一个按键返回用02模式发送,那么可以用os判断数据录入变化了就自动下发,不变化就不发,这里写os一般是用的写02模式下的时候也是会底层会自动清零键值。3、 MODBUS和os配合问题?答:os可以将运行周期调成是120ms或者80ms运行一次,这样变量刷新的处理速度会加快,但是屏上面变量的处理能力会下降,os的周期和MODBUS配置的指令是分开的,modbus多条指令从第一条到最后一条然后再从第一条重新开始,这个进行的时间是要看用户的实际需要,所以在某种程度上需要合理配合。尽量利用用01模式,尤其是写指令,可以在指定的页

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论