基于Qt数控系统的人机界面设计与研究外文翻译资料

 2022-05-27 10:05

基于Qt数控系统的人机界面设计与研究

关键字:CNC系统;HMI;WinCE;Qt

摘要

随着数控系统人机界面需求的增长,本文建立和开发一种基于AM3352的数控系统的人机界面系统。本文介绍了WinCE系统、Qt语言的设计以及开发嵌入式数控系统人机界面的方法。人机界面的设计基于Qt平台及相关的应用,包括总体框架设计、g代码编辑器设计、研究文件管理器主要部分的设计和图形仿真。对于G02和G03图形仿真纸本文也提供了更详细的算法步骤。实验和测试结果表明,数控系统是能够满足人机交互和控制要求的系统。

引言

随着计算机技术的飞速发展,嵌入式技术如今已成为一种热门的新趋势。在嵌入式技术的发展下,作为一种具有工业控制功能的专用计算机系统,数控系统变得越来越复杂,并越来越向网络化、智能化和小型化方向发展。为了快速开发嵌入式数控系统控制程序,摆脱传统接口通用性差、稳定性差、软件开发生命周期短等缺点,人们开始研究基于嵌入式系统的人机界面。由于嵌入式操作系统需要跨平台开发语言,因此本文采用Qt跨平台开发语言作为开放式数控系统设计开发人机界面开发语言。开放式数控系统的发展对推动工业自动化的发展起着重要的作用。本文基于EPC-9200控制面板 WinCE嵌入式数控系统人机界面平台,采用Qt作为开发语言。

Qt引入和开发环境搭建

Qt介绍

Qt是由挪威TrollTech公司提供的跨平台C 图形用户界面库,Qt支持包括Linux在内的所有UNIX系统,当然也支持WinNT / WinCE,Win95 / 98平台。Qt基本上都有像Openwin,GTK,MFC,VCL,ATL这类东西,但Qt有以下优点:(1)良好的跨平台功能,(2)面向对象,(3)丰富的API,(4)支持2D / 3D图形的渲染,支持OpenGL(5)许多开发文档(6)支持XML。

开发环境搭建

基于WinCE开发需求的数控系统需要拥有基于WinCE系统的PC开发环境,即构建“VS Qt SDK”开发环境。具体的开发环境如下:硬件包括安装WIN7 PC机,预装Windows Embedded CE6.0 EPC-9200I-W工业控制面板软件,包括Visual Studio2008,WinCE6.0_Standard_SDK,Microsoft ActiveSync4.5。然后Qt4.8(更高版本或者只是需要更高版本的VS)配置VS2008编译好的类库,使得开发者可以在VS2008上开发Qt应用程序。环境搭建完成。

数控(CNC)系统

数控(CNC)系统功能需求

根据实际需要,构建了数控系统主界面的设计框图,如图1所示。数控主界面分为坐标、程序编辑、偏置设置、处理、监控、维护、诊断、参数设置、系统8个模块,这8个模块作为第一层。通过显示器下边缘的8个按钮来切换模块和命令。其中,坐标模块主要负责坐标切换,并拥有清除功能;程序编辑模块主要实现编辑处理程序、文件管理和图形模拟这部分的功能;部分复位设置模块主要有伪影坐标系统设置、道具设置、上刀的功能;处理监控模块主要用于图形模拟显示和处理记录,有清除时间累计、图形调整等功能;维护模块主要包括警报显示、网络设置和信息备份的功能;诊断模块主要是对运行的系统进行快速诊断,包括PLC状态、系统信息、共享信息、程序变量和操作记录;系统制造商和系统配置文件中引入了参数矩阵、应用参数、参数和补偿表数据系统模块等参数。

图1 CNC主接口图

表1 函数名

功能1

函数名

功能2

函数名

hellip;

坐标

Coordinate()

1 坐标开关

SwitchCoordinate()

2 清除相对坐标

ClearRelaCoordinate()

hellip;

hellip;

程序编辑

ProgramEditor()

1 文件管理

FileManagement()

2 图形模拟

SimulateGraph()

3 删除行

DeleteRow()

4 复制

Copy()

5 粘贴hellip;

Paste()hellip;

偏置设置

SetOffset()

1 工件坐标

WorkpieceCoordnate()

2 工具设置

SettingTool()hellip;

处理监视器

Coordinate()

1 图形模拟显示

DisplayAnalogGraph()

2 MPI

MPI()

3 处理设置

SetManuInformation()

4 处理记录

ProcessRecordForm()

5 表格hellip;

hellip;

维护

Maintenance()

1 报警显示

Alarm()

2 系统设置

SystemSettings()

3 数据备份

DataBackup()

诊断功能

DiagnosticFunction()

1 PLC状态

PLCStatus()

2 共享数据

SharedData()

3 操作记录

OperationRecord()

参数设置

ParameterSetting()

1 参数汇总表

ParameterSumTable()

2 应用参数

ApplicationPara()hellip;

系统

System()

hellip;

hellip;

模块接口定义和通信机制

为了在后期开展合作与交流,本文按照一定的规则定义了模块的功能,如表1所示。定义好后,各个功能模块之间就可以直接通过类名或函数名进行调用,并可减少多人合作编程中命名不一致的问题。

Qt的信号和槽的之间的通信机制是通过“QPushButton”类实现的,跳转功能使用“click()”槽来实现。为了调整菜单,例如在头文件(MainWindow.h)的主窗口中包含坐标的模块头文件(coordinateialog.h),并在主窗口类中将坐标类(CoordinateDialog)定义为坐标对象(坐标),然后在主窗口内的一个源文件(MainWindow.cpp)中写入坐标菜单的按钮槽,当按下该按钮的坐标时,按下Groove功能的坐标按钮,显示主界面的坐标。时隙代码是“coordinate.showFullScreen()”,即全屏坐标对象。功能模块接口跳转等类似。

CNC接口设计和开发

框架设计

数控系统框架的人机界面如图2所示。主要分为四部分:警告栏、状态栏、工具栏和菜单栏。运行一个程序的状态栏,包括当前菜单的商标或标志,名称和位置,显示日期和时间;栏是显示的重点,用来显示当前的文件信息;包括数控系统运行状态和报警显示在内的报警列;菜单栏在类模块中提及。

图2 数控系统框架的人机界面

G代码编辑器设计

数控系统的界面设计的一个主要特征是程序编辑器,包括g代码编辑器,是界面设计的核心。为了更方便编辑,g代码编辑器将具有以下功能:编辑、自动完成和语法检测等功能特性,其工作流程如图3所示。通过键盘编辑继承的“QPlainTextEdit”类别进行编辑;自动完成功能,继承“QListWidget”类,通过查询库文件中的代码提示自动完成的相关功能;语法检测功能是使用正则表达式逐行检查g代码,使用“QRegExp”类完成编程。

图3 G代码编辑器工作流程

文件管理器设计

文件管理功能是指对文件进行一些基本操作,除了一些基本的新增功能,如复制,粘贴,打开,保存,另存为等外,还包括位置的选择,其中涉及内部和外部存储。内部存储,指的是文件存储在本地。外部存储,指的是文件存储外部存储设备,如外部USB闪存驱动器或便携式硬盘驱动器。以USB记忆棒为例,文件传送工作流程如图4所示。

图4 文件传递工作流程

图形仿真设计

Qt开发图形程序有很大的优势,因为“QPainter”类有很多绘图功能,包括直线、圆弧、圆形、矩形和其他基本功能。 数控程序代码的图形模拟为“G00”,“G01”,“G02”和“G03”。“G00”指定位,直接使用“moveTo()”功能; “G01”指直线插补,使用“lineTo()”可以直接完成; “G02”和“G03”是指圆弧插补顺时针和逆时针圆弧插补,使用绘制圆弧函数“arcTo(a)”实现,其具有三个参数:边界矩形“矩形”,起始角度“startAngle”,弧度“sweepLength” ,但是由于这个函数的参数不是根据实际情况来定,因而将直接在后面讨论。

圆弧插补算法如图5所示,将圆划分为8个部分,分别讨论了8个部分圆弧的角度和方向以及圆弧的位置。 编程基于已知起点和终点坐标的半径坐标,并找到三个参数“rectangle(矩形)”,“startAngle(起始角度)”和“sweepLength(扫描长度)”的变量值。 算法步骤如下:

(1)将起点坐标(x1,y1),终点坐标(x2,y2)以及获得的半径坐标(x0,y0),代入以下“rectangle”中计算。

QRectF rectangle(x0-r,y0-r,2 * r,2 * r);

  1. 根据公式(1),计算起点和中心的连线同水平线之间的夹角(锐角)“alpha;”,并进一步讨论“startAngle”的值是“180-alpha;”还是“alpha;”。

(1)

  1. 根据公式(2)求“sweepLength”。

(2)

  1. 根据所需的“arcTo (rectangle,startAngle,sweepLength)”绘制图形。

图5 弧分布

测试结果

整个系统的接口程序运行良好,因此每个小模块都可以构建单独的项目,然后在测试运行后整合到一个主要项目中。本文的分期包括g代码语法检查测试部分和ARC测试,测试结果如图6所示。如图所示,“#300”非法变量语法测试问题框会弹出,显示变量无效后的第一行,更改后再测试问题消失,程序语法正确; 图中的弧线轨迹是用g代码的顺序绘制的,注意弧线测试程序的采用,只是圆弧的光滑度很大程度上需要加以改进。

全文共4321字,剩余内容已隐藏,支付完成后下载完整资料


英语原文共 8 页,剩余内容已隐藏,支付完成后下载完整资料


资料编号:[11763],资料为PDF文档或Word文档,PDF文档可免费转换为Word

原文和译文剩余内容已隐藏,您需要先支付 30元 才能查看原文和译文全部内容!立即支付

以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。