生活快讯

PLC如何驱动大屏幕VGA显示器显示多个画面和子窗口

2025-12-20 | 分类: 生活快讯 | 查看: 4476

目录

一、实验目的

二、实验设备

三、实验步骤

3.1 新建工程

3.2 新建画面

3.3 新建子窗口

3.4 添加控件

3.5模拟工程

3.6硬件验证


一、实验目的

51、AVR、PIC、STM等8位或者32位单片机的串口与单片机智能显示卡相连驱动3.5寸~55寸的TFT-LCD/VGA显示器或者电视机进行多个画和子窗口的控制、切换、显示等。

画面和子窗口的控制有两种方式:

1,用户单片机的串口发送数据给单片机智能显卡进行切换、显示。

2,用户鼠标或触摸屏点击操作按钮控件的时候,画面和子窗口发生切换的同时单片机智能显卡发送将被激活的画面和子窗口的编号给用户单片机。


二、实验设备

下载软件一个,HMIMaker下载链接,http://www.gz-yixian.com/Download.asp,单片机智能显示终端一个;用户51、AVR、PIC、STM等单片机(带串口UART)实验电路板一个;鼠标或者触摸屏。


三、实验步骤

3.1 新建工程

wKgZO2keuJaABd59AA--hMz6fSI304.png

HMIMaker软件界面如上图所示,点击菜单[工程]>[新建工程]进入新工程设置界面。下图是新工程设置界面,用户根据实际的硬件填写相应的参数。

下图是新工程的界面。在该画面的左边工程导航栏内有《画面》,《窗口》,《模拟LCD/VGA显示器》三个元素。其中,每个工程必须至少包含一个画。

wKgZO2kw-qSASzb6AA--hJ_t2vk325.png


3.2 新建画面

在新工程界面左边的工程导航栏内鼠标右键选中《画面》元素,弹出子菜单如上图所示右键子菜单。鼠标左键单击选中《新建画面》元素,进入新画面设置界面如下图所示。您只能设置画面的名字,而画面的宽度和高度与您的显示硬件的分辨率是相同的,它会填充整个屏幕。点击[确定]便给新工程增加了一个画面。

wKgZO2kw-s6AKYk8AApWghur-lU637.png

添加后如下所示:

wKgZPGkw-t2AbJBLAArreLuyKl8106.png


3.3 新建子窗口

wKgZPGkw-0mAVKM9AA_9r77jjR4115.png

在新工程界面左边的工程导航栏内鼠标右键选中《子窗口》元素,弹出子菜单如上图所示右键子菜单。鼠标左键单击选中《新建子窗口》元素,进入新子窗口设置界面如下图所示。点击[确定]便给新工程增加了一个子窗口。

wKgZO2kw-1eADCBRABPSNjcH9Iw826.png

添加后如下所示:

wKgZO2kw-2eADcbvABKqEi2wsXE297.png


3.4 添加控件

wKgZO2kw-5SAR8mBABBwfxOFm_g790.png

如上图所示,鼠标移动到新工程界面左边的工程导航栏内,左键点击选中新画面将“win0”画面激活为当前活动文件。

wKgZO2kw-52AEvW5ABBCu3MMgCI094.png

HMIMaker软件界面上点击菜单[控件]>[操作按钮]如上图所示。将鼠标移到“win0”画面上,此时鼠标变成十字形状,按下鼠标左键并拖动至合适大小后松开左键,这样便给画面添加了一个指定的控件。在画面的同一位置单击鼠标左键(不拖动),鼠标退出十字状态。鼠标左键点击菜单[工程]>[保存工程]。

wKgZO2kw-6WAc1QKAAwayk5hRwo162.png

双击控件,弹出控件属性修改对话框,鼠标选中[外观]标签选项如下图所示,把按钮文字改为“这是0号画面,点击跳到1号画面”。

wKgZO2kw-7aAdJQjABxlKErr1BM608.png

鼠标选中[基本控制]标签选项如下图所示,把点击时执行变为“WindowName.drw”。

wKgZPGkw-8OALZi0ABxQPlJEmg8775.png

按确定后,回到界面,调整好按钮的尺寸大小,界面如下。

wKgZO2kw-82AFXJcAAt4StuhZ6w177.png

下面按照相似的方法处理“1号画面

wKgZO2kw-9uAC93WAAs3TFlDub8409.png

如上图所示,鼠标移动到新工程界面左边的工程导航栏内,左键点击选中新画面将“1号画面”激活为当前活动文件。

wKgZO2kw--aADCftABETMGAGs4M015.png

HMIMaker软件界面上点击菜单[控件]>[操作按钮]如上图所示。将鼠标移到“1号画面”上,此时鼠标变成十字形状,按下鼠标左键并拖动至合适大小后松开左键,这样便给画面添加了一个指定的控件。在画面的同一位置单击鼠标左键(不拖动),鼠标退出十字状态。鼠标左键点击菜单[工程]>[保存工程]。

wKgZPGkw_E6AE_ugAAtXy6_I-io296.png

双击控件,弹出控件属性修改对话框,鼠标选中[外观]标签选项如下图所示,把按钮文字改为“这是1号画面,点击跳到0号子窗口”。

wKgZO2kw_FeAXtXiABxGEM0O7bY989.png

鼠标选中[基本控制]标签选项如下图所示,把点击时执行变为“0号子窗口.dlg”。

wKgZPGkw_GmAaGdDABwmUg-itJk810.png

按确定后,回到界面如下。

wKgZO2kw_HCAWqT9AA55fyWpDGA918.png

下面按照相似的方法处理“0号子窗口

wKgZPGkw_HuAc5hrABJ-tmzlQto561.png

如上图所示,鼠标移动到新工程界面左边的工程导航栏内,左键点击选中新画面将“0号子窗口”激活为当前活动文件。

wKgZO2kw_ISAcVXoABA_CILLKAc252.png

HMIMaker软件界面上点击菜单[控件]>[操作按钮]如上图所示。将鼠标移到“0号子窗口”上,此时鼠标变成十字形状,按下鼠标左键并拖动至合适大小后松开左键,这样便给画面添加了一个指定的控件。在画面的同一位置单击鼠标左键(不拖动),鼠标退出十字状态。鼠标左键点击菜单[工程]>[保存工程]。

wKgZO2kw_JKAEZa8ABSRl-B2mts257.png

双击控件,弹出控件属性修改对话框,鼠标选中[外观]标签选项如下图所示,把按钮文字改为“这是0号子窗口,点击回到父画面”。

wKgZPGkw_KGAEUl6ABwa5GVO-z4574.png

鼠标选中[基本控制]标签选项如下图所示,把点击时执行变为“win0.drw”。

wKgZO2kw_KyABUbSABxmdH001EE014.png

按确定后,回到界面如下。

wKgZPGkw_LiAFrJDABS85-nYazg973.png

鼠标左键点击菜单[工程]>[保存工程]。 通过两种方法可以控制上面的画面切换:

第一种方法是,用户单片机串口设置画面和子窗口变量大小。那么如何知道当前的画面或者子窗口的变量呢?如下: HMIMaker软件界面上点击菜单[HMI变量],进入[HMI变量管理]对话框,如下图所示。

wKgZO2kw_MSACXbHABNiObH-7jM940.png

如上图所示,m_HuaMian表示画面编号,当等于1的时候表示显示1号画面;m_ChildWindow表示子窗口,当等于0时候表示弹出0号子窗口,当等于255时候表示当前无子窗口显示。 第二种方法是,硬件运行的时候,鼠标点击按钮或者触摸屏点击按钮的时候,显示终端会发将被激活的画面和子窗口的编号给用户单片机。


3.5模拟工程

用户51、AVR、PIC、STM等单片机的串口连接电脑的串口并向工程发送数据便可以改变控件对应的变量值,从而达到改变控件的显示。在本实验中我们使用电脑的串口COM3和用户单片机串口进行连接。HMIMaker软件界面上点击菜单[工程]>[工程属性]进入新工程属性设置对话框。如下图所示。

wKgZO2kw_O-AGsA4ABFPZJeNb-I662.png

在上图的命令接收串口号选中COM3,点击右边的连接。如下图所示表示串口COM3可以接收发送命令数据了。 点击[确定]按钮,回到主界面。在主界面下端的状态栏中可以看到,COM3已经连接成功,如下图所示。

wKgZO2keuiqAcY-DAAqUx-G-CzY824.png

设置好串口后,那么用户单片机发什么样的数据可以把切换画面和子窗口呢?

首先,您要让工程进入模拟仿真状态,有两种方法可以进入仿真状态:

1:点击菜单[查看]>[全屏仿真]进入全屏方式的仿真状态。

wKgZO2kw_QKAJ1V6ABIKxb7H-tE992.png

2:在工程界面左边的工程导航栏内鼠标左键选中《模拟LCD/VGA显示器》元素。

wKgZPGkw_Q6AYgRtAA9HYOASqXk387.png

其次,在激活仿真功能之后,用户通过单片机串口向电脑COM3发送下面的数据(注意:十六进制)就可以显示1号画面。

81 00 02 00 00 00 00 01 00 01XX XX

解释如下:

wKgZPGkw_W-ADgz7AABUoGOblhA296.png

同理,用户通过单片机串口向电脑COM3发送下面的数据(注意:十六进制)就可以弹出0号子窗口。

81 00 02 01 00 00 00 01 00 01XX XX

第二种实现画面和子窗口切换的方法是,用户鼠标或触摸屏点击“操作按钮”的时候,显示卡就会发数据给用户告知当前的画面和子窗口号。

假如当前的画面是0号画面,点击“这是0号画面,点击跳到1号画面”按钮就会激活1号画面,同时用户单片机将收到显示卡发来的下面数据:

81 00 02 00 00 00 00 01 00 01XX XX

同理,点击“这是1号画面,点击跳到0号子窗口”按钮就会弹出0号子窗口,同时用户单片机将收到显示卡发来的下面数据:

81 00 02 01 00 00 00 01 00 00XX XX

继续,点击“这是0号子窗口,点击回到父画面”按钮就会关闭0号子窗口,同时用户单片机将收到显示卡发来的下面数据:

81 00 02 01 00 00 00 01 00 255XX XX


3.6硬件验证

上面已经完成了工程的仿真,现在我们把工程下载到目标硬件上,脱离电脑进行实际的显示。 首先,我们编译工程并生成目标硬件所需要的FLASH文件,移动鼠标执行如下图所示操作。

wKgZO2kw_aSAaMb6AAZ54pRNn1s549.png

其次,我们通过USB串口把刚才编译后的工程下载到目标硬件上。注意,如果是第一次使用需要安装USB驱动,具体见“快速入门”的介绍。移动鼠标执行如下图所示操作。

wKgZPGkw_a6APe0rAAcGwIYzqQA583.png

最后,下载完之后要给目标硬件重新断电和上电。 用户51、AVR、PIC、STM等单片机的串口连接目标硬件的串口并发送数据便可以改变m_HuaMian和m_ChildWindow变量大小,从而达到切换画面和子窗口的显示。 用户通过单片机串口向目标硬件发送下面的数据(注意:十六进制)就可以就可以显示1号画面。

81 00 02 00 00 00 00 01 00 01XX XX解释如下:

wKgZPGkw_bmAS-6fAABVZzdf2tU772.png

同理,用户通过单片机串口向电脑COM3发送下面的数据(注意:十六进制)就可以弹出0号子窗口。

81 00 02 01 00 00 00 01 00 01XX XX

第二种实现画面和子窗口切换的方法是,用户鼠标或触摸屏点击“操作按钮”的时候,显示卡就会发数据给用户告知当前的画面和子窗口号。

假如当前的画面是0号画面,点击“这是0号画面,点击跳到1号画面”按钮就会激活1号画面,同时用户单片机将收到显示卡发来的下面数据:

81 00 02 00 00 00 00 01 00 01XX XX

同理,点击“这是1号画面,点击跳到0号子窗口”按钮就会弹出0号子窗口,同时用户单片机将收到显示卡发来的下面数据:

81 00 02 01 00 00 00 01 00 00XX XX

继续,点击“这是0号子窗口,点击回到父画面”按钮就会关闭0号子窗口,同时用户单片机将收到显示卡发来的下面数据:

81 00 02 01 00 00 00 01 00 255XX XX

关键词: