热门关键词:
位置:首页 > 机械学术资料 > 

基于VC的西门子840D数控系统人机界面开发方法

  • 该文件为pdf格式
  • 文件大小:530.87KB
  • 浏览次数
  • 发布时间:2014-11-10
文件介绍:

本资料包含pdf文件1个,下载需要1积分

Development M ethods of Human-M achine Interface ofSIEMENS 840D Based on VCJIN Ling,ZHANG Wei-qing,WANG Xing-long(The key Lab of Automobile Parts&Test Technique,Ministry of Education,Chongqing University of Technology,Chongqing 400054,China)Abstract:The development methods of human machine interface of Siemens 840D were studied basedon VC. The standard Windows interface was developed by using UNICODE programming,DDE,COM components,OPC protocol etc,and the developmentamework is out of the Siemens HMI Pro-gramming Package.And the simulation experiments have been conducted by applying the developedhuman machine interface on 840D system.The test results show the development methods are correct。

Key words:human-machine interface;SIEMENS 840D;VC随着数控机床的高速发展,数控系统的通用 研究热点 I2]。

功能已不能满足高档机床的特殊需求,对开放式的数控系统进行二次开发已成为当今数控技术的目前,我 国大部分高端机床均采用西门子840D数控系统,为了适应个性化市场的需要,国收稿日期:2012-10-29基金项目:国家科技重大专项(2011ZX04002-032);国家自然科学基金资助项目(51175531)作者简介:金陵(1987-),男,湖北黄冈人 ,硕士研究生,主要从事复杂曲面零件智能化制造与检测研究。

金 陵,等:基于VC的西门子840D数控系统人机界面开发方法 61内学者针对各种机床不同的控制要求,对西门子840D数控系统的二次开发方法进行了-系列研究。其 中,大 部分 学 者 利用 HMI ProgrammingPackage开发工具,通过 HMI Advanced标准软件开发标准应用程序 Regie及 Sequence Control的嵌入式应用软件,但其开发方式存在-定局限性,-些标准类模板及窗体都不允许更改,语言动态链接库的建立也较为烦琐。而单独采用VC开发标准的 Windows应用软件则能很好地解决这些问题,且所开发的人机界面更加人性化、自由化、美观化。因此,本文利用西 门子数控系统提供 的HMI软件包,研究利用面向对象的编程语言 VC进行高端机床的专用人机界面制作,并开发了适用于 840D数控系统的人机界面 。

1 人机界面总体框架根据相关机床的加工特点及功能要求,设计整个界面的总体框架,如图 1所示。图 1中显示了界面中各窗口的调用关系及各软件与窗口状态的联系 。

图 1 界 面总体框 架图1中,主界面为状态监控,包括各坐标轴坐标实时显示以及报警服务、循环、余程、加工状态等框架;数据管理主要完成机床加工数据文件的导人导出,实现数据文件中各项参数的查看、编辑等功能;程序主要控制零件程序的运行、显示和编辑功能;结果分析是对相关数据的处理及结果的显示。用户可以根据实际要求在主界面上继续添加框架,每-个框架都是-个界面,每-个界面都是由数个对话框组成,它们之间都是相互联系、协同工作的。

2 基于VC的界面开发方法界面采用 MFC基于对话框形式完成设计及数据通讯服务。通过数控通讯服务器 (NCDDEServer)、数控内核(NCK)、可编程序控制器(PLC)等组件实现人机界面交互功能-发前,只需在PC机上安装 VC编程软件,所开发出的标准Windows应用程序即能在西门子数控系统下运行。

根据相关机床的实际要求编辑各对话框界面,并且在 VC环境下直接与NCU、PLC建立连接,实现界面与 840D数控系统的通讯。所开发软件的主要功能包括:人机界面上各软件定义及与机床操作面板上键盘响应;对 NCU中各种变量的访问,如轴坐标值、进给率、余程等;NCU文件读劝对 R参数的访问;对 PLC中各种变量的访问,如I/O口、标志区 M、数据块 DB等。各个应用拈都另行开发且脱离于西门子 HMI Programming Pack-age开发框架,即独立于西门子数控系统的主控制和顺序控制之外。与传统的VB语言开发相比较,其通用性更强、开发更加 自由,并且语言动态显示更加简便 j。

2.1 多语言显示PC机上独立开发的人机界面在数控系统中运行时,控件的文本不能显示中文。不同于传统开发方式,在 VC环境下无需创建 DLL语言动态链接库,采用 UNICODE编程就可以在西门子系统下动态显示中文,并且能使界面同时支持多种语言。VC6.0中,具体设置步骤:打开[工程]->[设置]对话框,在 C/C标签对话框的预处理程序定义”中去除-MBCS,加上-UNICODE,UNIC-ODE,然后需要设置 Unicode专用的程序入口点,即在 Link页的 Output类别的 Entry-Point里填上 wWinMainCRTStartup。-般情况下输入字62 重 庆 理 工 大 学 学 报符时加上J 宏,则能兼容 ANSI和 Unicode字符。

2.2 人机界面信息与 NCU/PLC中变量的传递在 VC环境下,人机界面可直接利用西门子数控系统 服 务 器 提 供 的接 口访 问 NCU、PLC、MMC103中的变量和文件,实现需要的 NCK/PLC变量存龋同时,在执行程序时,直接通过 VC程序向数控系统发出指令,指示机床动作。

2.2.1 NCK/PLC变量存取在人机界面上,需要实时更新采集到的数据,把 NCK中的变量及数据的有关信息及时反映到显示屏上,从而使操作者能对机床状态进行管理和操作。NCK中采集的变量和数据主要包括系统变量、系统状态数据、通道专用数据、轴状态数据、驱动状态数据、刀具和刀具库数据、机床和设定数据、参数、伺服、诊断数据等。

1)根据动态数据交换技术(DDE)的优点及具体要求,在 VC环境下通过 DDE来建立连接,获取当前各轴的坐标值 、进给速度、余程等数据。首先需 要 对 DDE连 接进 行 初 始 化,以 ncdde/nuc840d作为连接的服务器名称和主题,通过建立函数来读取各轴数据。下面是在 VC中读取 1个轴当前坐标值时用到的程序代码:hszApp DdeCreateStdngHandle(idInst,-T(”nc-dde”),NULL);hszTopic DdeCreateStringHandle(idlnst,-T(”neu840d”),NULL);hszhem[0]DdeCreateStringHandle(idlnst,-T(”/Channel/GeometricAxis/actToolBasePos[1 ),NULL);还需通过 DdeClientTransaetion函数向数控系统服务器发送数据请求,服务器必须通过 DDE回调函数处理请求并返回 DdeCreateDataHandle来发送数据。同时可以调用 DdeGetData来获取实时数据,并动态显示在界面上。

2)由于 VC6.0的 MFC中已集成了 COM组件开发工具 ATL(活动模板库),因此在 VC中选择使用 OPC协议,通过与 OPC Alarm&EventServer建立连接实现报警数据读龋OPC是 OLEfor Process Comrol的缩写,它采用客户/服务器体系,是基于 Microsoft的 OLE/COM技术,为硬件厂商和应用软件开发者提供了-套标准的接口。

首先,需要在 MFC程序的 StdAfx.h文件中添加 ATL中心拈类 CComModule,并创建-个全局实例-Module,它的实现位于 atlbase.h和 atlimp1。

cpp中,因此在程序中必须包含这 2个文件。报警数据显示 的对话框所产生的类,命名为 CAlarm类。同时,为了实现回调对象的接收,还需添加-个派生于 IOPCEventSink(事件订阅的接收器接口)及 CComO biectRoot(内部 ATL函数实现)的类,命名为 COPCEvent-Sink。

在 VC中,ATL主要处理引用计数的实现以及IUnknown的成员函数 QueryInter-face的功能,为此,必须在 COPC-EventSink类中插入 COM地图。COM地图主要描述了哪些接口会被回调对象使用并且可 以通过 QueryInterface返 回。在COPCEventSink类中,相应的声明代码如下:BEGIN-COM- MAP(C0PCEventSink)COM- .INTERFACE ENTRY(IOPCEvemSink)END-COM- MAP除了这些接收器接口以外,在 COPCEv-en。

tSink类中,使用成员函数 Connect建立回调对象与 OPC server的连接点的连接,利用成员函数Initialize对回调对象进行初始化,即建立-个报警数据变量。

相应地,还需在 CAlarm类中添加相关函数才能从 OPC Alarm&Event Server中接收报警信号,并在对话框中显示。具体步骤:① 创建 OPC服务器实例,并建立连接。通过成员函数 ConnectServer与服务器建立连接,连接之前客户端需要服务器 的 CLS1D,可 以通过cLsIDFrmPr0gID函数来获取信息,其中ProgID为 OPC.s-inumerik Events。这样通过 CLSID及Co.CreateInstanee函数便可创建服务器实例,其中以IUnknown作为请求接口。

64 重 庆 理 .7-大 学 学 报(上接第42页)[15]Shi J,Knevel R,Suwannalai P,et a1.Autoantibodies rec-ognizing carbamylated proteins are present in sera of pa-tients with rheumatoid arthritis and predict joint damage[J].PNAS,2011,108(42):17372-17377。

[16]Sanna Turunen,Mma-Kaisa Koivula,Leila Risteli,et a1。

Anticitruline Antibodies Can Be Caused by Homocitrul-line-Containing Proteins in Rabbits[J].Arthritis &Rheumatism,2010,62(11):3345-3352。

[17]Mydel P,Wang Z,Bfisdea M,et a1.Carbamylation-de-pendent activation of T cels:a novel mechanism in thepathogenesis of autoimmune arthritis[J].J Immunol,2010,184(12):6882。

[18]Viegas C M,Zanatta A,Knebel L A,et a1.Experimentalevidence that ornithine and homocitrulline disrupt energymetabolism in brain of young rats[J].Brain Res,2009,1291:102。

[19]Amaral A U,Leipnitz G,Femandes C G,et a1.Evidencethat the major metabolites accumulating in hyperorni-thinemia-hyperammonemia-·homocitrullinuria syndromeinduce oxidative stress in brain of young rats[J].Int JDev Neurosci,2009,27(7):635。

[20]Ghafari M A,Shanaki M.In vitro inhibition of low densi-ty lipoprotein carbamylation byvitamins,as an amdiora-ting atherosclerotic risk in uremic patients[J].Scand JClin Lab Invest,2010,70(2):122。

正在加载...请等待或刷新页面...
发表评论
验证码 验证码加载失败