|
T5屏位分解应用:
应用主要介绍使用T5系列串口屏(带OS功能的)在modbus模式下N个变量的开关状态使用一个控制板的寄存器地址,在屏上单独分开显示各个状态功能的方案。 如下以四个压机状态显示为例:4个压机状态单独显示,互不干扰,用户主控板可使用1个寄存器控制状态,一个8位的寄存器最多可控制8个压机,极大减小客户对地址的占用数量,只需将对应的状态按位置1或者置0表示两种不同状态即可。
实现步骤: 一. T5屏上位机界面控件设计 1. 设计背景BMP图、指示灯图标。 2. 在上位机软件新建工程导入背景图,制作图标库,在界面所需位置摆放四个不同变量地址0x1040-0x1043的图标变量控件并设置好属性。
二. modbus配置 1. 配置22_ModbusMaster.bin文件,可复制附件中配置文件修改,或使用上位机软件生成的22_Config.bin文件修改,以便配置指令下载使用。T5屏作为主机,主动询问控制板中压缩机的状态数据寄存器地址,modbus配置03指令,具体参数含义参考附件文档T5平台Modbus主从机OS使用说明。此例中使用用户寄存器地址为0x1000。 2. T5屏需要使用modbus专用OS程序DWINOS_T5_Modbus_V7.bin(见附件),放入DWIN_SET文件夹同工程一起烧录。
三. OS功能编辑 1. 指令说明: T5系列带OS内核的串口屏可实现常用逻辑功能,附件T5_Modbus_V7.asm的main函数部分用户可添加自定义OS代码。案例功能用到的指令主要是JB指令:
| 位测试、跳转 | | | 测试 R#指向的 16bit 寄存器的第<Bit>位,1 跳转,0 继续执行下一条代码,跳转范围+/-127 条指令。 R#:位测试的寄存器,16bit。 <Bit>:位测试位置,0x00-0x0F,MSB 方式。 <TAB>:跳转位置。 | | | | | | | | R#:寄存器或寄存器组。 <MOD>:0=寄存器到变量 1=变量到寄存器。 <NUM>:交换的数据字(Word)长度,0x00-0x80; 当<NUM>为 0x00 时,数据长度由 R9 决定。 数据变量指针由 R0:R1 寄存器定义。
|
2. 流程说明:
3. 主要代码如下: 压机状态: LDWR R0, 1000H MOVXR R116,1,1
压机1: JB R116,0,4 LDWR R118, 0 LDWR R0, 1040H MOVXR R118,0,1 GOTO 压机2 LDWR R118, 1 LDWR R0, 1040H MOVXR R118,0,1 压机2: JB R1161,4 LDWR R118, 0 LDWR R0, 1041H MOVXR R118,0,1 GOTO 压机3 LDWR R118, 1 LDWR R0, 1041H MOVXR R118,0,1 压机3: JB R116,2,4 LDWR R118, 0 LDWR R0, 1042H MOVXR R118,0,1 GOTO 压机4 LDWR R118, 1 LDWR R0, 1042H MOVXR R118,0,1 压机4: JB R116,3,4 LDWR R118, 0 LDWR R0, 1043H MOVXR R118,0,1 RET LDWR R118, 1 LDWR R0, 1043H MOVXR R118,0,1 RET
|