写入控制的使用
关键词:写入控制
作者:赵石林 手机:13640736857 QQ:1241896329
写入控制主要用于某些控件的允许写入或禁止写入,写入控制的使用方法介绍如下。
第一步:新建一个工程,添加4个实时数据控件,如下图所示。
图1
第二步:鼠标双击第一个实时数据控件,打开控件属性对话框,点【写入控制】,如图2所示,在【使用允许/禁止写入控制】左边的复选框打上勾,默认关联HMI变量m_CellWrEn,当然你也可以关联其他变量,HMI变量的右边有一个“位”,这里“位”的含义是:当“位”为0时,该控件的允许写入或禁止写入由HMI变量m_CellWrEn的第0位控制,第0位为1,则控件允许写入,第0位为0,则控件禁止写入;当“位”为1时,该控件的允许写入或禁止写入由HMI变量m_CellWrEn的第1位控制,第1位为1,则控件允许写入,第1位为0,则控件禁止写入;依次类推,当“位”为n时,该控件的允许写入或禁止写入由HMI变量m_CellWrEn的第n位控制,第n位为1,则控件允许写入,第n位为0,则控件禁止写入。n的范围由所关联的HMI变量m_CellWrEn的字节决定,如果m_CellWrEn为1个字节,n的范围为0—7;如果m_CellWrEn为2个字节,n的范围为0—15。我们这里有4个控件,所以HMI变量只需一个字节就够了,“位”的范围为0—7,我们只需低4位就可以了。第1个控件的“位”填写0,第2个控件的“位”填写1,第3个控件的“位”填写3,第4个控件的“位”填写3,即4个实时数据控件分别由HMI变量m_CellWrEn的第0—3位控制。
图2
要想让控件允许写入或禁止写入,有两种方法,一种是通过MC8051来实现,另一种是使用易显协议向串口发送数据。下面先讲MC8051的方法。
第一步:如下图所示,打开工程文件MC8051里面的MC8051.Uv2(电脑必须要装有Keil软件,才能打开MC8051.Uv2)。
第二步:我们想让第1和第2个实时数据控件允许写入,另外两个则禁止写入,那么我们就让HMI变量m_CellWrEn的第1,2位为1,第3,4位为0,即11 0 0 0 0 0 0,转化为十六进制就是0x03,所以我们把0x03赋值给HMI变量m_CellWrEn,由于要对HMI变量赋值,所以要加上屏幕刷新函数RefreshLCD(),如图3所示。
图3
编写好程序后,我们就点编译按钮,产生hex文件,如图4所示。
图4
第三步:打开HMIMaker软件,点仿真按钮,HMIMaker软件就会自动执行hex文件,我们看到,第1和第2个实时数据控件可以输入数据,即它们可以写入数据;而第3和第4个实时数据控件输入不了数据,即它们被禁止写入数据。
下面讲一下使用易显协议向串口发送数据的方法。
第一步:HMIMaker软件界面上点击菜单【工程】>【工程属性】进入工程属性对话框,如图6所示,因为我们用的是485通信,所以在串口2中设置参数,波特率设置为9600,解码协议选择【易显单片机协议】,设备地址设置为2。
图5
第二步:编译工程并生成目标硬件所需要的FLASH文件,如下图所示,点菜单【硬件】中的【编译工程】。
图6
第三步:我们通过USB把刚才编译后的工程下载到触摸屏上。注意,如果是第一次使用需要安装USB驱动,具体见文档《单片机HMIMaker用户使用手册》中的“快速入门”的介绍。如下图所示,点菜单【硬件】中的【下载工程到系统区】。
图7
第四步:工程下载完毕后,通过USB转485把电脑和触摸屏连接起来。在此之前,我们先查看HMI变量m_CellWrEn的地址,HMI软件界面上点击菜单【HMI变量】,弹出如图8所示对话框,由此我们可以得知,HMI变量m_CellWrEn的地址是30。
图8
打开串口调试助手,通过串口调试助手发送下面的数据(十六进制),就可以实现第1和第2个实时数据控件可以写入数据,第3和第4个实时数据控件被禁止写入数据。
81 00 02 1E 00 00 00 04 00 03 00 00 00 A8 00
解释如下:
注意事项
1、通过串口发送的数据必须是十六进制格式,其中,变量地址、数据个数、变量大小以及校验和的格式都是从左到右从低字节到高字节。