杨大奎,曹川川,谭修彦
(1.重庆城市职业学院;2.重庆文理学院,重庆402160)
基于迪文DGUS屏在PM2.5自动换膜采样器中的应用研究
杨大奎1,曹川川2,谭修彦2
(1.重庆城市职业学院;2.重庆文理学院,重庆402160)
介绍了迪文DGUS屏如何和ARM单片机及上位机进行通讯,论述了迪文DGUS屏某些硬件设置,详述了迪文DGUS屏中某些重要功能的实现过程。
迪文DGUS屏;单片机;通讯
迪文屏是迪文科技有限公司研发的用于人机界面控制的一款产品,迪文屏已广泛的运用在各个领域。PM2.5自动换膜采样器的功能控制也离不开人机界面,采用了迪文DGUS屏实现对PM2.5的功能控制,通过对迪文DGUS屏的界面操作达到对PM2.5的功能控制。但迪文DGUS屏具体功能的实现,要通过和下位机的通讯才能得以实现。
DGUS迪文屏通过串口工具与上位机之间实现通讯,如图1所示:
图1
则图2中的空白区域就会出现启动按钮所对应的指令
若在图3方框中输入指令5A A5 05 82 00 02 00 01,点击手动发送,则图中启动按钮颜色将由浅蓝色变为深蓝色。
图2
串口操作。迪文DGUS屏采用异 步、全双工串口(UART),串口模式为8n1(51单片机的MOD1,9bit UART),即每个数据传送采用10个位:一个起始位,8个数据位,1个停止位。
串口波特率通过SD卡来配置。串口的所有指令或者数据都是16进制(HEX)格式:对于字型(2字节)数据,总是采用高字节先传送(MSB)方式。比如0X1234传送时先传送0X12。
图3
数据帧架构。迪 文DGUS屏的串口数据帧由四个数据块组成,如表1所述:
表1
一个数据包能够传送的最大数据长度为254字节(不要CRC校验)或252字节(带CRC验)。其中,CRC校验不包括帧头和数据长度,仅针对指令和数据,采用ANSI CRC-16(X16+X15+X2+1)格式。
指令集。可实现访问控制寄存器的指令有两个,分别为0x80、0x81。0x80用于指定地址写寄存器数据;0x81用于读寄存器的DGUS屏应答。可实现访问数据寄存器的指令也有两个,分别为0x82、0x83。0x82用于指定地址开始写入数据串(字数据)到变量存储区。0x83用于读取数据寄存器的DGUS屏应答。
将图片添加到DGUS软件之前,要根据“0_首页.BMP”(0代表第一张图片)图片格式对图片进行命名。例:“1_主界面.BMP”代表第二张图片,并可依次类推。若想弹出迪文屏中第50张界面,则只需发送指令:
5A A5 04 80 03 00 32;其中32代表要弹出界面所在的位置(转为十六进制),其余不变。其中5A A5为帧头;04为长度(包括指令及数据);80为指令;03为寄存器地址(与控制界面切换相关联);00 32为切换界面ID。再例,比如要弹出第33张界面,则发送指令5A A5 04 80 03 00 21,其中21亦代表要弹出界面所在的位置(转为十六进制)。即要弹出界面的位置转换为十六进制即可。
为了提高工作效率及减少指令发送过程中的错误,由单片机向DGUS迪文屏成串发送指令就变得尤为重要。
若单片机向屏中地址为00 36,00 37,00 38,00 39,00 40的位置分别发送数据1、2、3、4、5,则发送指令为5A A5 0D 82 00 36 00 01 00 02 00 03 00 04 00 05,则屏中地址为00 36的位置显示数据为1,00 37的位置显示数据为2,并依次类推。
在对DGUS迪文屏应用的过程中,对时间的显示是必不可少的,那么该怎样在迪文屏中实现对年、月、日、星期、时、分、秒的显示?若要实现对2014年2月23日、1周日、16时35分00秒的显示,则需发送指令如下:
5A A5 0A 80 1F 5A 14 02 23 07 16 35 00
注:由单片机发送时间显示指令时,需将要显示的时间转换为十六进制。
对右图进行变量图标触控配置,在贴图之前须先从图标文件中选择相应图标所放置的文件。变量下限(0)即为原始图标,把贴图图标按照1、2、3顺序依次排列好。在该图中,红色按钮对应橘黄色按钮对应变量上限2。
图4
方法一:
在DGUS迪文屏中输入文字,掉电重启后,文字消失,若让DGUS迪文屏掉电重启后自动显示上次输入的文字,则需和单片机紧密结合。首先确认DGUS迪文屏与单片机的可靠通讯,然后在迪文屏的键盘中输入文字,输入完毕后,点击键盘中的确认按钮;此时单片机已接收到每个数据所对应的数据,并对这些数据进行保存。待单片机检测到DGUS迪文屏掉电重启后,就会向DGUS迪文屏传送上次掉电前所保存的数据,继而在迪文屏开机后,文字就可自动显示在屏中。
操作步骤说明:1.手动输入天津科技有限公司,在当前页面上显示天津科技有限公司;2.单片机接受到的数据为5A A5 1A 83 05 00 0B CC EC BD F2 BF C6 BC BC D3 D0 CF DE B9 AB CB BE FF FF;3.当单片机检测到DGUS迪文屏掉电重启后,就会自动发送该指令给给迪文屏,继而文字就会显示到屏中相应位置。
方法二:
1.手动输入天津科技有限公司,当前界面上显示天津科技有限公司;2.发送命令:5A A5 0C 80 40 5A 50 42 00 00 00 05 00 00 20,命令解释:将变量地址0010的数据存放到字库ID为66的000000地址里,字库存放的数据可以实现掉电保存功能;50:代表把变量数据写入到字库空间里;3.给屏掉电;4.给屏重新上电;5.上电后重新给屏发送命令,将上次录入的数据显示出来,发送命令如下:5A A5 0C 80 40 5A A0 42 00 00 00 05 00 00 20,命令解释:将字库ID号为66的000000地址里的内容拿出来送给变量0500;A0:代表把字库空间的数据读出到变量地址里。
在DGUS迪文屏中同一位置放置如下图所示三个不同颜色的按钮,假设此确认按钮在屏中地址为00 20;图(a)灰色按钮为初始状态,点击此按钮,按钮颜色变为绿色(图(b)),说明单片机已成功接收到指令;经过几秒后,单片机发送指令5A A5 06 82 00 20 01 00 01,按钮颜色恢复到原来颜色(灰色);同样也可以发送指令5A A5 06 82 00 20 01 00 02使灰色按钮变为红色来实现迪文屏对外部设备的某一控制功能。
图5
迪文DGUS屏的广泛运用,为对系统的控制操作提供了极大的方便,同时迪文DGUS屏作为PM2.5的人机界面,不仅系统可靠性高,而且功能全面,整个系统运行稳定、精确,同时还可以根据自身需要进行二次开发 。
[1]北京迪文科技有限公司.DGUS屏使用指南[K].
[2]北京迪文科技有限公司.DGUS屏开发指南[K].
[3]北京迪文科技有限公司.迪文HMI二次开发指令及产品开发指南[K].
10.16640/j.cnki.37-1222/t.2016.22.014