您的位置:首页 > 其它

颜色控制的使用

2016-12-04 11:10 169 查看
颜色控制的使用

关键词:颜色控制

    颜色控制主要用于改变控件的字体颜色或背景颜色。目前只有字符控件和实时数据控件有颜色控制的功能。下面讲一下颜色控制的使用方法。

    第一步:新建一个工程,添加一个实时数据控件。如图1所示。



[align=left] [/align]

图1

    第二步:双击实时数据控件,弹出控件属性对话框,点【颜色控制】,在【使能字体颜色控制】和【使能背景颜色控制】的左边复选框分别打上勾,【使能字体颜色控制】用于改变控件的字体颜色,关联的HMI变量默认是m_FontColor,unsigned short类型,当然也可以关联其他HMI变量,但必须是两个字节;【使能背景颜色控制】用于改变控件的背景颜色,关联的HMI变量默认是m_BackColor,unsigned
short类型,当然也可以关联其他HMI变量,但必须是两个字节。我们知道,通过给HMI变量赋值,可以改变控件的字体颜色或背景颜色,但是到底赋什么值,才能显示某种颜色,这里我们可以通过HMI软件查询某种颜色所对应的值。



[align=left] [/align]

图2
    如下图所示,HMI软件界面上点击菜单【工具】>【调试易显单片机协议】,弹出如图4所示对话框。



[align=left] [/align]

图3
    在图4中,[变量]地址那里选择HMI变量m_FontColor,也可以选其他变量,但必须是双字节的HMI变量,然后点击【取色】按钮,弹出如图5所示对话框。



[align=left] [/align]

图4
    在图5中,可以点击我们所需要的颜色,例如红色,然后点【确定】。



[align=left] [/align]

图5
    然后我们就可以得到它的值是63488,如图10所示,而下面的那一串数据中从右往左数第三和第四个数据00 F8就是63488拆分为两个字节后的结果,其中00是高8位,F8是低8位。



[align=left] [/align]

图6
    接下来我们就可以赋值给HMI变量来改变控件的字体颜色和背景颜色。这里有两种方法,第一种是通过MC8051来实现,第二种是使用易显协议向串口发送数据。下面先讲MC8051的方法。

    第一步:如下图所示,打开工程文件MC8051里面的MC8051.Uv2(电脑必须要装有Keil软件,才能打开MC8051.Uv2)。



    第二步:我们想让实时数据控件的字体颜色变成红色,背景颜色变成绿色。通过上述方法查询,可以得知红色对应的值是63488,其高8位和低8位分别是F8和00;绿色所对应的值是34784,其高8位和低8位分别是87和EO。编写程序如下图所示。



[align=left] [/align]

图7
    第三步:编写好程序后,我们就点编译按钮,产生hex文件,如图8所示。



[align=left] [/align]

图8
    第四步:打开HMIMaker软件,点仿真按钮,HMIMaker软件就会自动执行hex文件,我们看到,实时数据控件的字体颜色变成了红色,背景颜色变成了绿色。



[align=left] [/align]

图9
    下面讲一下使用易显协议向串口发送数据的方法。

    第一步:HMIMaker软件界面上点击菜单【工程】>【工程属性】进入工程属性对话框,如图10所示,因为我们用的是485通信,所以在串口2中设置参数,波特率设置为9600,解码协议选择【易显单片机协议】,设备地址设置为2。



[align=left] [/align]

图10
    第二步:编译工程并生成目标硬件所需要的FLASH文件,如下图所示,点菜单【硬件】中的【编译工程】。



[align=left] [/align]

图11
    第三步:我们通过USB把刚才编译后的工程下载到触摸屏上。注意,如果是第一次使用需要安装USB驱动,具体见文档《单片机HMIMaker用户使用手册》中的“快速入门”的介绍。如下图所示,点菜单【硬件】中的【下载工程到系统区】。



[align=left] [/align]

图12
    第四步:工程下载完毕后,通过USB转485把电脑和触摸屏连接起来。在此之前,我们先查看HMI变量m_FontColor和m_BackColor的地址,HMI软件界面上点击菜单【HMI变量】,弹出如图13所示对话框,由此我们可以得知,HMI变量m_FontColor的地址是40,HMI变量m_BackColor的地址是42。



[align=left] [/align]

图13
    打开串口调试助手,通过串口调试助手分别发送下面的数据(十六进制),就可以把实时数据控件的字体颜色变成红色,背景颜色变成绿色。

         81  
00   02  
28   00   00   00   04   00   00  
F8  00   00   A7   01


         81
  00   02   2A   00   00   00   04  
00   E0   87  00   00  
18   02


    解释如下:



[align=left] [/align]

注意事项
1、通过串口发送的数据必须是十六进制格式,其中,变量地址、数据个数、变量大小以及校验和的格式都是从左到右从低字节到高字节。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  颜色控制