在此我先简单描述一下我们的项目,以及为何选择这个屏,屏的优缺点等等。
我们做了个便携式污染源监测系统,由监测平台和一个以上的便携式污染源监测终端组成;监测平台无线连接各便携式污染源监测终端。便携式污染源监测终端包括污染源检测模块、控制器、卫星通信模块、显示模块和指纹识别模块;它的检测位置方便灵活;便于分析污染源的方位和来源;明确检测记录的操作人员,进行绩效统计。
我九月份做污水处理厂PH值超标检测联动报警系统时,用的是淘晶驰的HMI屏,应用中遇到不少的问题,经过十来天的磨合,已经掌握了他的应用规律,尽量来用自己的软硬件来适应HMI屏.
当然存在一些不太完美的地方(在此声明以下,我已经用自己的软件和硬件克服了屏的不完美),所以就在网上找啊找到了迪文的屏,迪文的屏从网上不是很容易索道的。
这是我刚做的一个简单界面,如下图所示:
设计的界面
实际运行界面
先说特点吧:最大的特点是所有的控件都以地址区分,大家注意了是地址(字地址,即一个地址对应两个字节的存储区),类似C51的地址指针,比如我PM2.5后面就有一个数值型变量控件,我把它的地址定义为0x0008,那我如果想让PM2.5的数值238显示在界面上,就得往0x0008地址内写入0x00EE就可以了,简单吧。并且这个地址是对应的存储空间是独占的,分给谁了就是谁的,共享了就会显示出现错。
所有的空间都是用地址来标示!!!!!!
我把它理解成双口RAM,我定义好什么地方放上什么数据或参数,那HMI屏就按照我定义好的来对外提取数据展示在界面上,当然是不同的界面需要的数据是不同的,屏会根据控件分配的地址提取相应的数据展示,我当让可以随时跟新数据,尽管跟新的数据不一定是屏幕现在需要的。这样就不会存在数据串屏等问题。
第二是,自己可以编写程序放到屏的系统了去执行,进行数据处理,数值比较,页面切换等等,就像是在屏里给你了一段程序区,你可以根据自己的需求编写程序代码,唯一的不好就是,这段代码的用汇编语言编写,汇编语言也不是标准的汇编语言,是的按厂家自定义的汇编语言编写,不过对于用过汇编语言做个项目的人来说也是很好理解和使用的,大不了不清楚的地方翻翻厂家的语句说明即可,还好我04到06年一直用汇编语言做了不少项目。下面是我做的一个简单的提取界面登录用户名和密码的一段,让大家见笑了
CALL Change_password
END
;===========================================================
Change_password:
LDWR R0,0X0007 ;
MOVXR R10,1,1 ;
IJNE R11,5AH,Go_End ;重建密码码确认键是否按下
LDWR R0,0X0003 ;读新建密码框
MOVXR R10,1,2
LDBR R14,0,1
OR R14,R10,1
OR R14,R11,1
OR R14,R12,1
OR R14,R13,1
IJNE R14,0,DATA1>0 ;密码框不为0
LDWR R0,0X0005 ;读再次输入密码框
MOVXR R10,1,2
LDBR R14,0,1
OR R14,R10,1
OR R14,R11,1
OR R14,R12,1
OR R14,R13,1
IJNE R14,0,DATA1>0 ;密码框不为0
;LDWR R0,0x0003 ;
;LDBR R240,0,10
;MOVXR R240,0,5 ;清空密码输入框 按键
GOTO Go_End
DATA1>0:
LDWR R0,0003H
MOVXR R20,1,2 ;将第一次输入的新密码读到R20,R21,R22,R23
LDWR R0,0005H
MOVXR R30,1,2 ;将第二次输入的新密码读到R30,R31,R32,R33
;CJNE R20,R30,M_O_ERR ;
;CJNE R21,R31,M_O_ERR ;
;CJNE R22,R32,M_O_ERR ;
;CJNE R23,R33,M_O_ERR ;判断两次密码是否相同,相同则继续执行,不同则跳转
GOTO SAVE_M
M_O_ERR:
LDWR R10,5 ;切换到第5页两次密码不一致。
MOVRD R10,3,2 ;
LDWR R0,0x0003 ;
LDBR R240,0,10
MOVXR R240,0,5 ;清空密码输入框 清空确认键
GOTO Go_End
SAVE_M:
LDWR R240,0x5AA5 ;文件头
LDBR R242,0x0E,1 ;数据长度
LDBR R243,0x83,1 ;命令字
LDWR R244,0x0003 ;数据地址
LDBR R246,0x05,1 ;数据字数
LDWR R0,0x0003 ;
MOVXR R247,1,5 ;数据
;LDWR R0,0x0005 ;
;MOVXR R244,1,2 ;
LDWR R10,17
COMTXD 0,R240,R11 ;
LDWR R0,0x0003 ;
LDBR R240,0,17
MOVXR R240,0,5 ;清空密码输入框 按键
;LDWR R10,10
;COMTXD 0,R240,R11 ;
;LDWR R10,2 ;切换到第02页
;MOVRD R10,3,2
Go_End:
RET
还有就是同样尺寸平的价格稍微便宜些比淘金吃的。
具体应用细节我们可以沟通交流,或者你有神马好的HMI屏告诉不要怜惜我啊
我还有个想法,你有什么好的想法或写的心得体会可以发给我,我很乐意为你效劳发布的,当让作者还是你啊!
|