昆仑通态人机界面与单片机通信实战教程三:脚本驱动与HDMI工程的关联

大家好,我是『芯知识学堂』的SingleYork,前面给大家介绍了“昆仑通态人机界面与单片机通信实战教程二:脚本驱动的设计”,今天笔者就要来给大家介绍“昆仑通态人机界面与单片机通信实战教程三:脚本驱动与HDMI工程的关联”。

首先,我们打开HDMI工程,在工作台的“实时数据库”中添加我们需要用到的数据,这里我们可以选择“成组增加”一次性添加多个,如下图所示:

昆仑通态人机界面与单片机通信实战教程三:脚本驱动与HDMI工程的关联_第1张图片

笔者以添加“r_X00-r_X07”为例,一次性添加8个“开关”类型的数据,设置好后,直接点击“确定”按钮即可,我们就可以看到在“实时数据库”中多了r_X00-r_X07这8个数据:

昆仑通态人机界面与单片机通信实战教程三:脚本驱动与HDMI工程的关联_第2张图片

按照同样的方式,我们将其他的数据r_X10-r_X17、r_Y00-r_Y07、r_Y10-r_Y17也都添加上去,类型同样为“开关型”,另外,我们还需要添加“w_Y00-w_Y07、w_Y10-w_Y17”这16个“数值型”的数据:

昆仑通态人机界面与单片机通信实战教程三:脚本驱动与HDMI工程的关联_第3张图片

就这样一波操作后,我们需要的数据就全部添加好了:

昆仑通态人机界面与单片机通信实战教程三:脚本驱动与HDMI工程的关联_第4张图片

接下来,我们就需要将添加好的数据与HDMI工程的“用户窗口”中的控件关联起来,以X00状态显示图标为例,鼠标左键双击图标,在弹出窗口中选择“数据对象”属性,然后点击旁边的“小问号”:

昆仑通态人机界面与单片机通信实战教程三:脚本驱动与HDMI工程的关联_第5张图片

在弹出的“变量选择”对话框中选择“r_X00”这个变量,点击“确认”按钮,即可完成数据r_X00与图标的关联,当然咯,我们也可以直接在上一步的“小问号”左侧的输入框中直接输入“r_X00”,也同样可以轻松完成关联:

昆仑通态人机界面与单片机通信实战教程三:脚本驱动与HDMI工程的关联_第6张图片

所有输入、输出状态显示的图标跟数据的绑定按照上面所说的方法去操作就OK了,接下来,我们就要来将按键操作和数据绑定起来。同样,鼠标左键双击按键“Y00输出控制”,在弹出的“标准按钮构建属性”框中选择“操作属性”,然后勾选下面的“数据对象值操作”,下拉框中选择“按1松0”(按键按下时发送1,松开时发送0),操作对象选择“w_Y00”,然后点击“确认”按钮,即可完成关联:
昆仑通态人机界面与单片机通信实战教程三:脚本驱动与HDMI工程的关联_第7张图片

其他的几个按键,按照同样的方式操作即可,在所有的控件跟数据库数据绑定后,我们就可以来添加“设备驱动”程序了。

我们将上一讲中写好的“脚本驱动”复制或剪切到“MCGS脚本驱动开发工具”安装目录下的“Drivers->用户定制设备->新建一个名为[昆仑通态屏与单片机通信演示]的文件夹”中,如下图所示:

昆仑通态人机界面与单片机通信实战教程三:脚本驱动与HDMI工程的关联_第8张图片

接下来,在HDMI工程工作台菜单“设备窗口”->“设备窗口”图标上双击,在弹出的对话框中鼠标右键单击,选择“设备工具箱”:

昆仑通态人机界面与单片机通信实战教程三:脚本驱动与HDMI工程的关联_第9张图片

在“设备工具箱”中鼠标左键双击“通用串口父设备”,这样,就将在“设备窗口”中成功添加了一个“通用串口父设备”了:

昆仑通态人机界面与单片机通信实战教程三:脚本驱动与HDMI工程的关联_第10张图片

接下来,我们还要在“通用串口父设备”中添加一个“子设备”。在“设备工具箱”中点击“设备管理”,在弹出的菜单中找到“用户定制设备”下的“昆仑通态屏与单片机通信演示”文件夹中的“昆仑通态屏与单片机通信演示”驱动,鼠标左键双击选定该设备,然后点击“确认”按钮:

昆仑通态人机界面与单片机通信实战教程三:脚本驱动与HDMI工程的关联_第11张图片

这个时候,在“设备工具箱”中就有了“昆仑通态屏与单片机通信演示”这个设备了,然后我们鼠标左键双击这个设备,就可以添加到“通用串口父设备”中了:

昆仑通态人机界面与单片机通信实战教程三:脚本驱动与HDMI工程的关联_第12张图片

现在,我们就要开始将“脚本驱动”和“HDMI工程”开始关联起来了,其实,这两者之间关联起来很简单,只需要将HDMI工程中的“数据对象”和脚本驱动中的“通道类型”一一对应起来就OK了,操作方式如下:鼠标左键双击刚才添加的“昆仑通态屏与单片机通信演示”这个子设备,在弹出的属性框中选择“通道链接”这个属性,左边“对应数据对象”就是HDMI工程的“实时数据库”中建好的那些数据,右边的“通道类型”就是脚本驱动中的“设备通道名”,只是为了方便,笔者将“数据对象名”和“设备通道名”设置成了一样。

昆仑通态人机界面与单片机通信实战教程三:脚本驱动与HDMI工程的关联_第13张图片

在上一步操作完成后,整个HDMI工程就算是完成了,接下来,我们可以先模拟测试一下,确定脚本驱动和HDMI工程没有问题之后,我们在下一讲中就要开始写单片机端的程序了。

我们在电脑上安装一个“虚拟串口”,添加一对虚拟串口,笔者这里添加的虚拟串口是COM2和COM4,这种方式添加的虚拟串口都是成对的,可以理解为,一个为发送端口,一个为接收端口。

昆仑通态人机界面与单片机通信实战教程三:脚本驱动与HDMI工程的关联_第14张图片

在添加好“虚拟串口”后,我们就可以在HDMI工程中的“通用串口父设备”里修改“串口端口号”为COM2或COM4,笔者这里设置的是COM2,那么在后面测试的时候,串口助手里面就要设置为COM4了。

昆仑通态人机界面与单片机通信实战教程三:脚本驱动与HDMI工程的关联_第15张图片

接下来,我们修改“子设备”中的“最小采集周期”,为了便于观察数据,笔者这里将采样周期设置成了1000ms,也就是1秒:

昆仑通态人机界面与单片机通信实战教程三:脚本驱动与HDMI工程的关联_第16张图片

一切就绪之后,我们就可以来下载工程模拟运行了,按照下图所示操作即可,当显示“工程下载成功!”字样的时候,直接点击“启动运行”按钮即可:

昆仑通态人机界面与单片机通信实战教程三:脚本驱动与HDMI工程的关联_第17张图片

在HDMI工程启动后,我们同时打开串口助手,将COM口设置成COM4,波特率跟HDMI工程中一致为9600即可,这个时候,我们就可以发现,串口助手每隔一秒会收到一条“37 73 04 80 00 00 84”的数据,这个数据就是HDMI工程下发的。这个时候我们可以鼠标点击一下“Y00输出控制”按键,则会在按键按下的时候发送一条“37 73 06 81 00 00 00 01 88”的数据,在按键松开的时候,会发送一条“37 73 06 81 00 00 00 00 87”的数据。

昆仑通态人机界面与单片机通信实战教程三:脚本驱动与HDMI工程的关联_第18张图片

至此,HDMI工程数据下发的指令就算是OK了,接下来,就要测试一下HDMI工程的数据接收和解析的指令,是不是正确了,同样,我们还是用串口助手来模拟从机的数据返回,具体操作如下:

1、 在串口助手中设置“收到一帧回答后发送下一帧”;
2、 在数据“发送区1”设置需要回复的一帧数据5A A5 06 80 FF 00 00 00 85,这一帧数据的含义,我们可以从通信协议中得知“帧头(2)+ 长度(1)+ 功能码(1)+ 数据一(输入状态一:X00-X07)+ 数据二(输入状态二:X10-X17)+ 数据三(输出状态一:Y00-T07))+ 数据四(输出状态二:Y10-X17)+和校验(从长度位开始累加)”;
3、 在“发送区1属性”框中,勾选“16进制”和“参加轮发”;
4、 点击“开始文件轮发”;

串口助手设置完成后,我们就可以看到HDMI工程中的X00-X07图标的颜色都变成了绿色,这就意味着我们HDMI工程数据的解析没有什么问题了:

昆仑通态人机界面与单片机通信实战教程三:脚本驱动与HDMI工程的关联_第19张图片

好了,本节的内容就给大家介绍到这里了,在下一讲内容中,笔者将会给大家介绍“昆仑通态人机界面与单片机通信实战教程”的最后一个内容,那就是“单片机程序的设计”了,敬请关注!

喜欢工控的小伙伴们,请大家记得多多支持SingleYork!项目源码下载:昆仑通态人机界面与单片机通信实例源码

昆仑通态人机界面与单片机通信实战教程三:脚本驱动与HDMI工程的关联_第20张图片

你可能感兴趣的:(单片机,嵌入式)