欢迎来到天天文库
浏览记录
ID:50174109
大小:549.50 KB
页数:6页
时间:2020-03-06
《DGUS屏的modbus主机内核-配置与调试-160425.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
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寸历程。>
2、如上图的第二条指令03指令:是将设备5的356(0x0164)地址的2个字的数读到屏上变量地址0001的显示,发送模式是0,所有页面均可执行,(如果要改成01模式,后面发送标志改成10,那么此指令会在10页面下才会执行)上图配置后屏主动会外发:05030164000285AC可以用串口测试回应:050304000A000BDE36历程的屏上面地址0x0001和0x0002设会显示数据1.0和1.1显示小数,(因为设置了一位定点小数)>如上图的第二条指令16(0x10)指令:是将屏上面变量地址4098(
3、0x1002),的数写进0设备地址2,发送模式是2,也就是当4111(0x100F)这个设置的按键返回地址键值0x005A按下之后,才进行发送,发送一次后地址0x100F键值底层自动清零。以上两条可以用于测试通讯或简单的功能直接界面配置替换。2)由22.bin文件配置。这个方法是90%的用户用的方法,22文件要单独拿出来写,不然点击生成配置文件,22文件会被软件本身未有初始值设置的控件的地方而清空。Modbus协议在屏的内存地址0x5000(word)开始定义,UltraEdit-32打开是由字节编辑
4、,那么0x5000折算到22.bin的字节地址为:0x5000X2=0xA000.用UltraEdit-32打开22.bin(见图1)图1:0xa000=5A表示启用modbus。0xa001=A5表示启用modbus。0xa002=5A表示保存配置文件。0xa003=00填入5A表示从22.bin把配置文件读入缓冲区(22.bin配置时不用填,默认00即可)。0xa004=00与0xa005设定通信波特率,0060=96000480=1152000xa005=600xa006=0000H=8N101
5、H=8E102H=8O103H=8N20xa007=00默认00即可~0xa00a=00默认00即可共16字节。modbus协议指令第一条modbus协议指令从0xa010开始。0xa010=5A写入5A表示C,其他无效。0xa011=01从机ID号。0xa012=03modbus读取从机参数指令03。0xa013=22读取从机参数的字节数,字数=0x110xa014=00与0xa015构成通信超时时间(0064=100ms)0xa015=640xa016=000xa017=010001表示只在0xa
6、0180xa019表示的页面下执行modbus0xa018=000xa019=0A000A表示本条只在10号页面下执行,其他页时停止执行。(如果0xa016~0xa019均写0x0000,0x0000那么此条指令会在所有页面下均可执行;如果0xa016~0xa019均写的0x0002,0x100F那么此条指令会在在当地址0x100F写入0x005A后执行本条指令。实质的应用是做一个:键值0x0005A、地址0x100F的“按键返回”控件,当这个按键按下之后执行一次本条指令)0xa01a=200xa01
7、b=00(是读或写数据的DGUS屏上面的存放地址2000)0xa01c=100xa01d=000xa01c0xa01d从机数据地址1000。0xa01e=00读或写是否成功标志位,指令发送时是00,发送完成后等数据返回时等于FF,表示从机成功返回,等于00,返回错误或超时。0xa01f=00保留默认00第二条modbus协议指令从0xa010开始。0xa020~0xa02F第三。。。。。。。。。。。。。。。。依此类推。3)由os程序代码配置。其实就是上电写入变量地址,比第二种方法进步的地方是不需要单独
8、拿出22文件来写。注:由于升级了modbus内核,DGUS的0x5A0xA5的协议屏不再支持,DGUS_5.04上位机软件串口下载无效,所以这种写法适用于5寸屏以上能用ED2的下载器用户,方便直接通过插上SD卡槽的串口下载os。下文的os写法可以直接复制到os编译软件进行查看。;DWINOSIJNER255,0,4;比较R255里面不是0后往下跳转4行CALLMODBUS启用配置CALL第一条03指令CALL第一条06指令LDBRR255,1,1;上电运
此文档下载收益归作者所有