当前位置:首考文秘网>范文大全 > 公文范文 > 基于MiniGUI的工业电脑绣花机控制系统的研究与实现

基于MiniGUI的工业电脑绣花机控制系统的研究与实现

时间:2023-05-18 11:05:05 公文范文 来源:网友投稿

摘 要:MiniGUI是一个比较成熟的图形用户接口支持系统,已被广泛应用于工业控制系统中。在工业电脑绣花机控制系统中开发出一个优良的图形界面越来越重要。在对以上问题研究的基础上,讨论了基于MiniGUI工业电脑绣花机控制系统HMI的实现,同时简单介绍了MiniGUI在基于ARM9和Linux的电脑绣花机控制系统的移植过程。

关键词:工业电脑绣花机;ARM9; MiniGUI图形系统;人机交互界面

中图分类号:TP273 文献标识码:B

文章编号:1004-373X(2008)11-184-03

Research and Realization of Industrial Embroidery Sewing

Machine Control System Based on MiniGUI

ZHANG Xiuting,XIA Luyi

(School of Information Engineering,Taiyuan University of Technology,Taiyuan,030024,China)



Abstract:MiniGUI is a more mature graphical user interface support system,and has been widely used in industrial control systems.How to develop an excellent graphical interface become increasingly important in the industrial embroidery sewing machine control system.In order to solve the problem above,it discusses the design and implementation of graphical interface of industrial embroidery sewing machine control system based on MiniGUI,it describes the process of how to port and cross compile MiniGUI to industrial embroidery sewing machine control.System based on ARM9 and embedded Linux operating system.

Keywords:industrial embroidery sewing machine;ARM9;MiniGUI;HMI

1 引 言

电脑绣花机是随着电子、计算机控制技术、精密机械的发展和应用而逐渐发展起来的一种高自动化、高效率的刺绣设备。随着电脑刺绣机行业的迅速发展,配备一个优良的图形用户界面, 使产品和用户能进行友好可靠的信息交互,已成为开发工作中非常紧迫的要求。特别是随着硬件条件的提高,控制系统对高性能、高可靠、轻量级GUI的需求越来越迫切。MiniGUI就是一个为基于Linux的实时嵌入式系统提供一个高性能、高可靠、轻量级的图形用户界面支持系统。

本文正是针对电脑绣花机这一市场需求,将MiniGUI用于工业电脑绣花机控制系统中实现人机交互界面。在不明显增加成本的基础上,改进了工业电脑绣花机控制系统的性能比,并缩短了开发周期,为用户提供了一个方便、简洁、美观的可视化操作界面。

2 工业电脑绣花机工作原理

电脑绣花机首先通过磁盘或U 盘接口电路读出编程打版好的花样文件,然后通过操作面板上的按键或者触摸屏设置好主轴电机转速一系列参数,再发出主轴电机运动的控制命令。

电脑绣花机工作时,主轴电机通过传动轮带动针杆,再由针杆带着线上下运动做刺绣动作。X,Y轴步进电机带动绣框在X,Y轴方向运动,刺绣品随绣框运动, 从而刺绣出图案。当需要换色时,换色电机转动,将穿有其他颜色线的针换上,继续刺绣。当刺绣完毕时,剪线电机带动剪刀将线剪断。

3 工业电脑绣花机控制系统

3.1 工业电脑绣花机硬件电路选型

硬件平台是基于三星公司ARM9内核S3C2410的芯片开发的。硬件电路的主要设计思想是以S3C2410为主处理器,FPGA为协处理器。

本系统采用的S3C2410 为三星公司的,选用此芯片的理由为:

(1) 有32 kB的FLASH 程序存储器,544 B的双口RAM和2 kB的单口RAM;

(2) 运行速度快,最高时钟频率可达到40 MHz,运算精度高;

(3) 有控制电机专用的PWM调制口;

(4) 本芯片具有2个16位的加密位,可以使系统程序不被破解。

3.2 工业电脑绣花机控制系统功能介绍

工业电脑绣花机控制系统要实现的主要功能如下:

(1) I/O设备输入输出控制包括人机交互界面部分和软磁盘和U盘输入输出花样部分。 

(2) Z轴伺服电机速度控制,主轴控制要求转速可调并且能够稳定转速,最高转速达到1 000转/min。

(3) X,Y轴混合式步进电机的速度和位置控制,步进电机在规定的时间内完成发出的脉冲数,精确的进行移位,步进电机必须与主轴电机充分的协调好。

(4) 换色电机控制,进行换色操作。

(5) 剪线电机控制,在正确的位置完成剪线。

(6) 断线检测,接口电路可判断出那个针位出现断线。

由以上基本控制对象和功能,设计出控制系统架构,如图1所示,图中双向箭头表示控制信号是双向的,单向箭头表示控制信号单向。

图1 工业电脑绣花机控制系统架构图

4 MiniGUI的体系结构

MiniGUI是由北京飞漫软件技术有限公司开发的,是一个能广泛应用于各种嵌入式系统的高效、可靠、可定制、小巧灵活的图形用户接口支持系统。

从整体结构上看,MiniGUI是分层设计的,层次结构如图2所示。

图2 MiniGUI的分层体系结构

在最底层,GAL (图形抽象层)和IAL(输入抽象层)定义了一组不依赖于任何特殊硬件的抽象接口,pthread用于提供内核级线程支持的C函数库;中间层是MiniGUI的核心层,包括窗口系统必不可少的各个模块;最顶层是API编程接口。MiniGUI引入GAL和IAL 接口使用户可在X Windows 上开发和调试MiniGUI程序,通过交叉编译让MiniGUI应用程序运行在嵌入式硬件平台上。

5 基于MiniGUI的电脑绣花机控制系统的控制界面的设计与实现

5.1 电脑绣花机控制界面框架设计

电脑绣花机控制系统的控制界面提供输入和输出命令与状态和显示当前实时绣花状态、信息提示及机械故障提示等。电脑绣花机控制系统的人机交互控制界面主程序有内存花样管理、机器参数设置、U盘、磁盘花样管理、辅助设置、帮组提示5个子程序,主控程序首先进入主界面等待触摸屏输入,当有消息进入时,根据命令键分析结果选择进入相应的子程序,子程序执行结束以后再回到主界面。人机交互控制界面框架结构如图3。

图3 人机交互控制界面框架图

5.2 电脑绣花机控制系统的主控界面应用程序设计

MiniGUI使用消息驱动作为应用程序的创建构架,在消息驱动的应用程序中,窗口之间、控件之间都通过消息通信。当用户通过触摸屏进行操作时,系统的消息循环队列中会产生相应的消息。根据消息中的窗口句柄,系统将消息发送到目标窗口,MiniGUI调用窗口过程函数来响应。电脑绣花机主控界面应用程序流程如图4所示。

图4 主控程序流程图

5.3 电脑绣花机控制界面实现

MiniGUI 通过窗口系统来管理应用程序在屏幕上的显示,包含三种窗口类型:主窗口、对话框和控件。每一个MiniGUI 的运用程序一般都要创建一个主窗口或非模态对话框,作为应用程序的主界面, 然后在主窗口中创建一些控件来构成整个图形用户界面的框架。基于MiniGUI设计与实现的界面如图5所示。

图5 工业电脑绣花机主控界面

其中,主界面的主要功能是当用户设置好一系列参数后显示刺绣的实时走线、刺绣进度及机械故障提示。另外,在绣花过程中显示绣花信息提示如当前针的位置、换色顺序等;

内存花样管理界面主要是对由磁盘软盘或者U盘输入到内存的花样进行操作包括拼接分割花样、内存花样检测等;

U盘、磁盘管理界面功能主要是将从网络下载到磁盘或者U盘的花样输入到内存中并对其进行操作;

机器参数设置界面功能是对即将刺绣的花样进行参数设置如是否循环绣作、反复刺绣次数、断线检测设置等;

辅助设置模块界面是对电脑绣花机硬件进行设置包括对液晶显示器、CPU、时钟、内存、FLASH、勾线剪线扣线电磁铁检测、电机检测等;

帮助提示界面主要是提供刺绣过程中的一些实时帮助信息提示。

6 MiniGUI在工业电脑绣花机控制系统的移植

6.1 MiniGUI在PC机上环境搭建

首先需要一个Linux环境,安装的是 RedHat 9.0,图形系统选用的是开源版本MiniGUI 1.3.3。

安装步骤如下:

(1) 环境准备 包括库文件、资源包、配套示例程序包、综合演示程序;

(2) 安装库文件和资源。

首先,安装库文件。解压缩库文件软件包并进入相应的目录下配置、编译和安装 libminigui,其中命令如下:

[root@CCC libminigui-str-1.3.3]# ./configure

[root@CCC libminigui-str-1.3.3]# make

[root@CCC libminigui-str-1.3.3]# make install

其次,安装资源包包括运行MiniGUI应用程序需要的基本字体、位图及鼠标光标等。

[root@CCC minigui-res-1.3.3]# make install

(3) 安装例子包并行Demo程序。

图6是运行于虚拟机上的例子程序。

图6 运行于虚拟机上的例子程序

6.2 搭建交叉编译环境

硬件平台是以S3C2410ARM9处理器为核心器件。在Linux操作系统中移植MiniGUI 的步骤如下:

建立自己的根文件系统,安装交叉编译工具arm-Linux-gcc3.4.1,安装库文件zlib,png,jpeg,libttf。 

编译程序结束后,把编译好的库文件和资源文件拷贝到ramdisk 的/user/lib 目录下,同时修改配置文件MiniGUI.cfg( 配置环境参数),并放其到目标板的/etc 目录下。然后使用相关的工具生成目标映像,再下载到目标板上运行。

6.3 图形引擎和输入引擎的移植

用于实现抽象接口的“图形引擎”和“输入引擎”的移植是MiniGUI移植到操作系统上的关键。由于我们采用嵌入式Linux作为工业电脑绣花机控制系统的操作系统,图形引擎可以通过FrameBuffer获得。这样,MiniGUI 就可以使用自带的fbcon作为图形引擎进行图像显示。

相对图形来讲,由于嵌入式设备没有统一的输入设备接口。因此,输入引擎的移植显得更为重要。通过配置选项或者宏,指定MiniGUI 使用console输入引擎,可以指定[system]段中的运行时配置选项ialengine=console。本文中的工业电脑绣花机采用触摸屏作为主要输入设备,因此需要自己编写相应的输入引擎代码。

首先,定义触摸屏x,y的绝对坐标值unsigned short px=0;unsigned short py=0。其次,需要定义一个结构体来从触摸屏的设备文件(/dev/event0)中获取数据,该结构体定义如下:

struct inputevent {

struct timeval time;// 触摸屏被点击的间隔时间

unsigned short type;//报告触摸屏的状态,3表示获得触摸屏的状态信息

unsigned short code;{//报告触摸屏的坐标,0是获得x坐标,1是获得y坐标的值

long value;

}Point;

然后在gettouchkey()函数中通过以下代码获得触摸屏的状态信息:

fd = open("/dev/input/event0",0,0);

fcntl(fd,FSETFL,FNDELAY);

int ret = read(fd,&Point,sizeof Point);/* 从触摸屏的设备文件(/dev/ event0)中获取数据*/

if((Point.type==0x03)&&(Point.code==0x00))

{

px=Point.value-ADOffset;

}

else if((Point.type==0x03)&&(Point.code==0x01))

{

py=Point.value-ADOffset;

} 

pthreadmutexunlock(&mutex);

最后通过getkey 和gettouchkey 等函数将获得的状态信息通过INPUT 结构体传递给MiniGUI应用程序。

7 结 语

MiniGUI已经被广泛应用于诸多行业中,包括数控系统、手持信息终端产品、DVR系统等。实践表明,MiniGUI高效、稳定、占用资源少。本文将MiniGUI作为电脑绣花机的图形用户界面,实现了数据管理、触摸屏输入、动态显示等多种功能,使得操作更简单更人性化。MiniGUI作为工业电脑绣花机控制系统的图形系统,具有广阔的应用前景。

参 考 文 献

[1]魏永明.MiniGUI 编程指南[S].北京飞漫软件技术有限公司,2006.

[2]魏永明.MiniGUI 用户手册[S].北京飞漫软件技术有限公司,2006.

[3]魏永明.MiniGUI 技术白皮书[S].北京飞漫软件技术有限公司,2006.

作者简介 张秀亭 女,1981年出生,山东聊城人,硕士研究生。主要从事单片机控制技术和嵌入式系统方面的研究。

注:本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。

推荐访问:控制系统 工业 绣花机 研究 电脑

版权所有:首考文秘网 2015-2024 未经授权禁止复制或建立镜像[首考文秘网]所有资源完全免费共享

Powered by 首考文秘网 © All Rights Reserved.。备案号:冀ICP备15026071号-91