APP下载

基于MATLAB GUI的控制器终端通信与界面设计

2020-11-12周晓

电子元器件与信息技术 2020年8期
关键词:通信协议控件界面设计

周晓

(南昌市科技信息中心,江西 南昌 330006)

0 引言

人机交互接口是实现人与机器对话的主要交流通道,界面就是人机交互接口的一种方式。随着科学技术的发展,越来越多形式的人机交互方式诞生,如人体特征识别交互、语音识别交互、图像识别交互等。界面作为人机交互的一种接口技术,已在智能手机、智能穿戴设备、工业控制器等领域得到了广泛的应用。赖禹能[1]等基于MATLAB GUI开发一种自动化软件,提高了转向系统报告效率与准确度,可设置数据读取要求、批量处理、试验数据等功能。闫洪波[2]等通过对外界因素影响的分析,针对噪声污染、组织边界模糊等问题,基于Matlab GUI设计实现了一款图像处理仿真系统,测试表明图像质量有所提高,方便用户使用。韩超[3]等基于MATLAB GUI设计实现了火炮调炮动态特性评估系统,从而更加方便、及时地对调炮性能检测评估,其中曲线绘制模块可实时显示火炮调炮动态姿态数据,性能指标计算模块可完成多个动态性能指标参数的计算。因此,在目前的许多工程实践中,有许多运用MATLAB GUI开发人机交互界面的实践,而在控制器方面,采用MATLAB GUI界面设计环境的应用还较少,随着MATLAB集成越来越多的通信接口及协议,将越来越多地应用于单片机、嵌入式系统等的界面设计中。

1 MATLAB与MATLAB GUI

20世纪70年代中期,Cleve Moler博土及其同事开发了LINPACK和EISPACK的FORTRAN语言子程序库,代表了当时矩阵运算的最高水平,MATLA由MATrix和LABoratory两个单词的前三个字母所合成。1978年,MATLAB面世。这个程序获得了很大的成功,受到了学生的广泛欢迎。在以后的几年里,MATLAB在多所大学作为教学辅助软件使用,并作为面向大众的免费软件广为流传。1984年成MATLAB商用版退出,经过了几十年的专门打造和千锤百炼,以高性能的数组运算(包括矩阵运算)为基础,不仅实现了大多数数学算法的高效运行函数和数据可视化,而且提供了非常高效的计算机高级编程语言,在用户可参与的情况下,各种专业领域的工具箱不断开发和完善,MATLAB取得了巨大的成功,已广泛应用于科学研究、工程应用,数值计算分析、系统建模与仿真等[4]。

MATLAB GUI是MATLAB进行人机交互界面设计的主要开发环境,在MATLAB的脚本文件中也可进行UI的开发,但其操作性没有MATLAB GUI方便。因此,在进行大软件的界面设计时,应首选MATLAB GUI开发环境,其打开首页如图 1所示。

在MATLAB GUI环境中,用户可通过拖动控件的方式在MATLAB界面画布中进行界面设计,其主要的控件包括按钮、文本框、多行文本、复选框、图标框、菜单栏、工具栏、滑动条、检查框等,每种控件可进行回调函数的设计,在回调函数中进行功能任务的编写。如文件保存回调函数与文件打开回调函数:

在界面的回调函数中,句柄的概念十分重要,一个界面对应一个句柄,要想操作某个界面的数据或控件等,就必须要拿到该界面的句柄,句柄的调用格式为:handles.guiMain,表示拿到主界面的句柄。在不同界面之间如何交换使用句柄,也是在界面开发中的主要注意事项,如在数据显示界面拿到主界面句柄程序为:

程序中h_mainGUI变量即为主界面句柄变量。

2 控制器终端通信协议

许多主流控制器均可进行RS232的串口通信,如51单片机、STM32、DSP、FPGA等。在没有串口接口连接时,可应用CH340G、CH340等协议转换技术进行机端通信。CH340G协议转换电路如图2所示[5]。电路中的RXD为串口接收端口,TXD为串口发送端口,CH340G需要使用一个12 MHz晶振为其提供时序时基。

3 应用MATLAB GUI进行界面开发的主要步骤

应用MATLAB GUI开发环境进行人机界面设计的主要步骤包括需求分析、明确设计目的、明确设计思想、理清设计思路、明确设计方法、通信协议设计、界面画布布局、运用回调函数进行功能设计、不同界面的相互调用设计、整体系统设计、导出为可执行文件,最后可在计算机中安装使用[6]。

进行需求分析的目的是明确设计的目的,实现有的放矢,在知晓目的的情况下,进行设计思想的思考,而不是快速地进行编程,导致出错时可能要颠覆已设计的程序,得不偿失。思路是实现思想的主要逻辑解答,是进行界面布局与功能函数编写及不同界面协同工作的基础。在进行控制器终端界面设计时还要考虑使用何种通信协议,对收发的数据进行何种处理,以保证安全可靠地存储和运行在计算机中[7]。界面画面布局是进行界面设计的重要步骤,一个好的布局方式可大大提高节目单友好性,方便用户进行人机交互。在回调函数中可进行功能程序的编制,以完成设计所需的特定功能,同时可实现与其他函数的协同调用与处理。在设计好程序后,可在MATLAB中仿真运行,以检验程序设计的准确性,通过MATLAB可将设计好的程序导出为exe可执行文件,可在安装有MATLAB运行环境的计算机中运行[8]。

4 结语

界面是实现人机交互的一种最常见方式,在许多领域均有应用,在控制器终端通信与界面设计中,MATLAB GUI为其提供了方便快捷的界面设计环境。本文讲述了MATLAB GUI的基本概念及设计环境,通过串口通信协议实现与控制器终端的通信与交互,以及采用MATLAB GUI进行界面设计的主要步骤及注意事项,为控制器终端界面的MATLAB GUI实现提供参考。

猜你喜欢

通信协议控件界面设计
中医养生APP界面设计
基于C++Builder 的电子邮件接收程序设计*
“共享员工”平台界面设计
中国传统元素在界面设计中的应用
使用“填表单”微信小程序 统计信息很方便
基于.net的用户定义验证控件的应用分析
手机UI界面设计中视觉艺术元素的构成
电动汽车充电接口及通信协议新国标发布
基于R8C的汽车OBD通用故障诊断仪设计
SIP协议系统模型的形式化研究