数控系统人机界面开发方法研究
2012-10-24林剑峰徐兆成化春雷
邴 旭 林剑峰 徐兆成 化春雷
(沈阳机床(集团)有限责任公司,辽宁 沈阳 110142)
人机界面,即HMI(Human Machine Interface),是用户与机床互相传递信息的媒介。数控系统自带的标准人机界面,可以用来实现操作、监控、编程、设置和诊断功能,但并不是对所有机床都是最优的设计。为了能够满足不同客户的需要以及不同机床特性,系统提供了用户自己开发人机界面的功能。如西门子、FANUC、海德汉以及一些国产系统的人机界面的开发方法,其目的就是要利用专业的开发软件,开发出具有自身特色的、实用的个性化界面,进一步发挥数控系统的性能,提高我国数控机床的档次。
1 人机界面的开发需求
从机床的发展趋势来看,人机界面的需求主要集中在以下几个方面:
(1)专用机床上的应用 专用磨床、激光切割机床等,需要有自己的专用界面,这样才方便对设备的操作、管理,也使专用机床的效益得到充分的发挥。
(2)特殊结构上的应用 在机床的应用中,往往许多机床都有其自身特有的部分,用户为了操作需要,经常会提出定制相关操作界面的需求。
(3)简化操作的需要 以提高工作效率等为目的人机界面开发需求无疑是所占界面开发需求比重最大的,把常用参数和常用的功能归纳到若干个画面中,并且可以直接修改,用户操作起来就会更加方便。
2 西门子系统人机界面的开发
目前,常用的西门子数控系统有802D sl、810D、840D pl。其中802D sl由于面向低端经济型数控机床,其人机界面能够满足绝大多数用户的需要,因此不需要进行界面的二次开发,而实际上西门子公司也没有提供802D sl系统人机界面的开发方法。
810D和840D pl系统是一个开放式的数控系统,其人机界面HMI Advanced具有扩展用户接口、HMI编程包(HMI Programming Package)和WinCC Flexible三种开发方法。它们各自的特点见表1所示。
表1 HMI Advanced界面的开发方法比较
西门子公司新推出的828D和840D sl系统,其人机界面是HMI Operate。它支持扩展用户接口,只是语法稍有不同,对于840D sl系统,还可以购买相应版本的HMI Operate的编程包进行二次开发。
综上,西门子系统人机界面的开发方法可以分为扩展用户接口、HMI编程包、西门子专业组态软件WinCC Flexible三类。下面以常用的HMI Advanced为例,说明这三类开发方法的应用。
2.1 扩展用户接口
扩展用户接口配置的画面可实现定义画面中的软键和变量、动态改变画面、定义操作等级、读写NC/PLC变量等功能,并可做算术和逻辑运算。它定义标准界面上的空白软键,激活存放在标准循环目录(或制造商循环、用户循环)下的com文件中,该文件是文本格式的,按照一定语法规则编写的文件。但是鉴于语法中的参数过于复杂,只适合开发一些非常简单的界面。
2.2 HMI编程包应用
HMI编程包允许用户将使用VB和VC++编写的应用程序加入HMI Advanced,并可通过编程包提供的接口访问NC/PLC变量、实现多幅画面的调用、管理NC数据、实现复杂的计算和画面。用户可在HMI编程包提供的Sample基础上开发界面程序。下面以程序oembsp1.exe为例说明界面程序的开发方法。界面运行效果如图1所示。
(1)打开HMI编程包自带的例子程序oembsp1.vbp,根据需要添加控件并设计界面外观,调用编程包中提供的函数访问数控系统,编程结束后生成oembsp1.exe文件。
(2)修改配置文件:
①改RE_UK.ini,配置接口软键文本,在HMI中将6号软键的标签修改为“test”:
HSK6=“test”
②修改Regie.ini,为6号软键配置应用程序oembsp1.exe:
Task6=name:=oembsp1,Timeout:=60000
(3)放入下面两个文件:
①oembsp1.mdi:定义了所有程序内部子窗口及其类型。
②oembsp1.zus:定义了oem程序的状态及动作。
(4)在oembsp1.ini文件中定义上面两个文件的位置:
MDIList=OEMBSP1OEMBSP1.MDI
ControlFile=OEMBSP1OEMBSP1.ZUS
(5)在oemlanguage目录中的o1_UK.dll文件中,定义OEM程序内的软键文本。
2.3 WinCC Flexible
WinCC Flexible是西门子公司的专业组态软件,适用于西门子的各种操作面板,可实现鼠标和功能键的处理,输入/输出域,bar条,历史曲线等等。应用WinCC Flexible开发的画面既可以作为HMI Advanced的扩展,也可单独运行。图2为应用WinCC Flexible软件开发的机床HMI界面。
应用WinCC Flexible软件开发界面的特点是具有强大的图形化组态功能,简单高效、易于上手、开发周期短。它提供了智能化的向导工具和供用户使用的丰富图库及操作对象,并支持用户自定义对象。它还具有强大的通信组态功能,支持多种通信类型,可组态基于Windows CE的SIMATIC HMI设备、西门子的C7、乃至PC机。可以与西门子的STEP7、iMap和Scout等软件集成在一起。并且具有优良的开放性和扩展性,支持VB脚本和C脚本功能。
3 FANUC系统人机界面开发
目前,FANUC系统人机界面的开发方法有三种:宏执行器、C语言执行器、FANUC PICTURE。这三种开发方法的特点如表2所示。
3.1 宏执行器和C语言执行器
宏执行器通常用于集成加工程序,制作特殊加工固定循环,或者简单地自定义画面;C语言执行器功能强大,是被广泛应用的计算机语言,基本上可以取代宏执行器,国外高档机床、特殊机床应用较多,但是使用C语言执行器开发界面周期长,调试过程复杂。
运用C语言执行器开发界面,将源文件(.src)编译为二进制文件(.rel),可通过中间文件(.lst)看编译错误记录。
usage:mcompi[SRC File][-0/-30]
-0:Macro compile for FS0i-D
-30:Macro compile for FS30i
然后,通过Link控制文件(.lnk),链接二进制文件和库文件(.mex)最终生成Rom文件(.rom),再将Rom文件转换为存储卡格式文件(.mem),最后传到CNC中。
运用C语言执行器开发界面,首先要安装WinRiver Compiler,从源文件到最终文件生成的过程由Win-River Compiler直接完成,相关内容定义都在批处理文件Makefile中,执行时只需输入nmake.exe命令即可。最终文件为存储卡文件格式(.mem),最后传到CNC中。
表2 FANUC系统人机界面的开发方法比较
3.2FANUC PICTURE
FANUC PICTURE采用图形化设计界面,特别适合画面的制作,能够满足绝大部分用户界面开发的需要。开发界面程序过程如下:
(1)首先创建一个新工程,对CNC硬件做参数配置,在多语言设定选项卡中可以设定语言种类和不同语言的切换方式。
(2)用编辑环境设计画面,画面的编辑过程就是设置通用控件以及FANUC专有控件的位置和属性的过程。
(3)为了与CNC系统交换信息,必须给各图形元素赋予对应CNC各种信息的功能。为此FANUC PICTURE设计了两种功能指令库:CNC窗口库和PMC窗口库。绘图时点击图形元素的属性,在属性项中将相应的功能赋予该元素即可完成与CNC系统的链接,所绘画面即会具有操作CNC与显示CNC信息的功能。
(4)编程结束后,将执行文件传入CNC的Flash ROM中存储,在数控系统上运行。图3所示为应用FANUC PICTURE开发的轴状态显示界面。
4 海德汉系统人机界面开发
海德汉数控系统的界面修改与制作大体分为两种方法,第一种方法是通过菜单编辑软件MenuDesign来编辑界面,这种方法操作简便,但是不够灵活,可以改变界面中右侧软键的图标样式,及点击后产生的PLC时序功能,与PLC程序可以很好的结合。图4所示为利用MenuDesign编辑器开发的界面,在原有界面右侧空白软键处,增加了一个带有“SYMG”标志的图形软键,按下该软键,会进入如图5所示的自己开发的各伺服轴运行状态画面,该画面中显示有机床各个轴运动时的实际速度等信息。
第二种界面开发方法需要用到Python、Glade和Winpdb等第三方软件,结合海德汉的PLC程序及宏程序,来实现界面的修改及制作。该方法的特点是制作过程比较复杂,但应用效果很灵活。其中,Python OEM程序选装,是为机床制造商提供的面向对象的控制系统高级编程语言,开发的程序可以通过熟悉的PLC窗口导入到PLC中,也可以显示在单独可用的窗口中,这个窗口可扩展为TNC的全屏显示。制作过程如图6所示。
首先用Glade软件制作需要显示的界面,再通过对Python和PLC的编程,将该界面需要导入的触发事件和显示模式做好,之后一并送入到NC的控制核心进行运算,最终达到预期的目的。
5 国产系统人机界面开发
国产数控系统使用较多的有华中数控、广州数控、沈阳高精、大连光洋以及飞阳系统。其中,广州数控系统、沈阳高精以及飞阳系统尚未提供人机界面的开发方法。不过对于大批量订购的系统,厂家可以在系统出厂前按用户的要求定制界面。目前只有华中数控和大连光洋系统提供了人机界面开发的解决方案。
5.1 华中数控系统人机界面开发
华中数控的人机界面开发使用的是华中数控2000型数控底层控制软件包HCNC-API2.0。该软件的运行平台是MS-DOS5.0或以上版本,并需要先安装Borland C++3.1。在安装目录下运行N.BAT即可装载底层并运行DEMO程序,运行N1.BAT即可装载底层并运行IIPDEMO.EXE,运行E.BAT底层控制程序退出。其界面的开发是基于C/C++,可以完成屏幕背景的设置、清屏、移动光标等基本功能,在程序的开始部分需要使用putch()、textattr()等指令进行初始化与底层NCBIOS的接口,获取NCBIOS通信区指针,将部分通信区数据赋初值,通过这一过程来完成HMI与NC数据的通信连接。在主程序中可以通过memset()、gptoxy()和ch_move_rel()等指令与其操作面板上的F1~F7按钮的配合来进行各个轴运动的控制。
5.2 光洋系统人机界面开发
大连光洋数控系统从整体结构上分为OHMI、通信服务器和CNC内核三部分。通信服务器负责CNC内核和OHMI之间的通信工作以及对客户端指令的解释和处理。客户端根据通信服务器提供的通信协议与通信服务器进行数据的通信。对用户开放的是HMI部分,因为对用户开放,所以光洋数控系统的开放式HMI也称OHMI。OHMI的开发主要使用C/C++,遵循socket通信协议。用户可以使用C/C++语言根据不同的需要开发客户端程序,所有客户端程序的统称为OHMI。
6 结语
随着对数控系统更深层次的研究,对其结构和系统硬件的分析,可以获得重要的技术参数,通过对人机界面的开发,便能够将自适应控制、模糊控制、神经网络控制和前馈控制等先进的控制技术应用于数控机床,这无疑会进一步提高机床整体的性能与质量,进而增加产品附加值,提升产品竞争力。
[1]高峰.西门子OEM软件在数控凸轮轴磨床上的开发与应用[J].制造技术与机床,2006(10):122-125.
[2]侯春明,化春雷,邴旭,等.基于西门子840D数控系统的倒置式立式车床人机界面开发[J].制造技术与机床,2010(2):81-84.
[3]汪木兰.数控原理与系统[M].北京:机械工业出版社,2005.