当前位置:首页>>基于Windows的华中数控世纪星数控系统PLC编程系统设计

基于Windows的华中数控世纪星数控系统PLC编程系统设计

发布时间:2015-08-28作者:沧海一土

数控系统内部控制逻辑是由通用或内装式可编程控制器(PLC)来实现的。目前,PLC的编程方法主要有专用编程器和基于PC的软件编程器两种。当前,华中数控系统PLC控制是基于DOS环境使用C语言而设计的,该软件已经不太符合现代计算机大多采用Windows操作系统的实际要求,设计人员使用起来不直观、不方便,而且使用C语言编程同使用梯形图编程相比,对编程人员要求较高。根据这些情况,有必要研发一个基于个人计算机的能为用户提供直观、方便、高效的编程环境的PLC软件开发平台,使数控实验台在最大程度上发挥它的积极效用,使学生能够直观、方便地了解和掌握数控系统中PLC的编程和仿真操作。

1 华中数控系统中的可编程控制器

  华中数控世纪星采用的是“内装型”PLC。和CNC共用一个CPU、输A./输出、电源。该PLC是从属于CNC装置的一部分,与CNC之间的信号传送在CNC内部实现,PC与机床侧的信息传送则通过CNC的I/O接口电路实现。由于CNC的功能和PLC的功能一起考虑,因而这种类型的系统在硬件和软件的整体结构上合理、实用、性能价格比高。PLC和CNC之间没有多余的连线,而且PLC上的信息可以在CNC的显示器上显示,PLC的编程更为方便,故障的诊断功能也有所提高。

2 数控PLC编程系统的整体设计

  2.1 整体设计方案

  在数控器系统中,CNC和PLC协调配合共同完成对数控机床的控制。PLC主要完成与逻辑运算有关的一些动作,没有轨迹上的具体要求,它接受CNC的控制代码M、S、T等顺序动作信息。对其进行译码,转换成对应的控制信号控制辅助装置完成机床相应的开关动作,如工件的装夹、刀具的更换等一些辅助动作;它还接受机床操作面板的指令,一方面直接控制机床的动作,另一方面将一部分指令送往CNC用于加工过程的控制。PLC内嵌在数控装置中,可以进行读写操作,借助CNC系统的全部硬件资源,具有友好的界面接口,便于用户编程和操作。基于Windows系统的图形开发系统,进行图形化编程。

  2.2 开发工具的选择

  根据设计需要选择C++Builder 5.0为开发工具,该工具是基于Microsoft公司的32位Windows系列操作系统的可视化开发工具,使用的程序语言是C++语言,既可进行过程化程序设计,又可进行面向对象的程序设计,强调对高级抽象的支持,用它开发出的应用程序具有可重用的特点。采取面向对象技术,高质量的代码能有效降低软件的复杂度和提高开发效率。

  2.3 数据结构的选择

  数据结构类型的选择首先要满足对于待处理的数据元素及其关系的描述;其次在能够完整描述问题空间所有数据元素及它们之间关系的基础上,应采用尽可能简单的数据结构,以避免复杂数据结构带来的复杂操作;同时,应考虑与其他模块之间数据结构的通用性。基于以上考虑,作者采用具有线性特性的数据结构来实现梯形图编辑过程中元件添加、删除及修改时设计数据的保存和读取数据的高效性。

  系统采用了标准模板库(STL)中的标准顺序容器list来存储设计过程中涉及到的梯形图数据,主要对象容器定义如下:

  (1)梯级链表:Tyr,edef list<CRung*>CRungList;
  (2)行链表:Typedef list<CRow*>CRowList;
  (3)元件链表:Typedef list<CElement*>CEle—mentList o

  通过list容器模板自带的push—back成员函数将要加入的对象压入到相应种类容器中,通过这样的操作把各对象逐一地放人容器中,再通过其他成员函数如ecase、insert等对它们进行操作,实现各对象数据的集中管理。

  当用梯形图编程系统绘制梯形图时,每在计算机屏幕上画一个梯级,就会生成该梯级类的一个对象,同时程序把该对象加入到梯形图类中的CRungList链表当中;每画一个行,就会生成该行类的一个对象,同时程序把该对象加入到对应的梯级对象中的CRowList链表当中;每画一个元件,就会生成该元件类的一个对象,同时程序把该对象加入到对应行对象中的CElementList链表当中。所以,在CElementList链表中的一个结点对应梯形图中一个水平连线、元件或功能块等。

3 数控PLC编程系统中的梯形图元件基类设计

  梯形图一般由多个不同的梯级组成,每一个梯级又可以由“一行”或“数行”组成,每行由一个或几个输入元件及一个输出元件组成。输出元件应出现在梯级的最右边,而输入元件则出现在输出指令的左边。

  从计算机角度看,梯形图是一幅位图,它由一个个像素组成。计算机没有能力分析梯形图并判断出每个元件之间的逻辑关系,所以,需要找到一种描述方法,让计算机能“看懂”梯形图。为此,作者采用面向对象设计方法来开发梯形图编辑器。

  首先分析和识别梯形图中的不同对象。根据对象的性质和功能抽象归并为不同类,建立类的层次结构。面向对象软件设计主要是类的设计,而不是对象的设计,因为各种对象是在梯形图对应的编辑过程中动态产生的。通过对系统的梯形图对象、梯级对象、行对象及元件对象进行抽象,建立了梯形图编程系统的类层次结构,其类层次结构中六大类对象为:梯形图类、梯级类、行类、梯形图画布类、梯形图文档类。元件库模型的基类CElement是从梯形图编程系统所支持的所有元件抽象出来的一个类,它定义了其他类的共有操作接口和属性,是其他图元类的父类。模块中所有的元件子类都根据C++的继承机制继承了基类的属性,并根据自己支持的图元形状有选择地重载基类相应的操作,以满足子类的需要。所以基类的定义在梯形图编辑模块的实现过程中是非常关键的一步。

  作者采用的规则是:将具有相同性质,包括相同外部性质和内部处理能力的对象归为一类作为最低层次,然后采用自下而上逐步抽象的方法,将具有共性的类的公共性质再并人一个相对于被抽取共性的类的基类中;被抽取共性的类便为导出类,抽取成形的类为基类。如此类推,不断产生更多的基类,最终建立了类的层次结构。在对所有梯形图元件进行共性抽象之前,做了如下处理:

  (1)梯形图元件除元件自身信息外,还应包含其连接线的信息;

  (2)把梯形图的空格和水平连接线作为特殊元件;

  (3)在梯形图中,常开触点、常闭触点等元件有一个操作参数;定时器、计数器等元件有两个操作参数;空格和水平连接线等元件没有操作参数。为了对所有梯形图元件进行共性的抽象表示,作者为每个元件设置了两个操作参数。例如常开触点只有一个操作参数时,另外一个操作参数设置为空。

  抛开梯形图的图像表象,梯形图中每个元件包含的共同属性如图1所示。元件基类定义元件的所在位置、持久化和事件处理等操作,其定义描述如下:

图1基类元件的共同属性

  (1)标识信息:元件唯一的功,类型及元件的操作参数;

  (2)位置信息:元件的顶点位置、长度等;

  (3)绘制行为:绘制元件图符,绘制元件包含的线型;

  (4)命中测试行为:鼠标的位置是否命中图元以及具体部位;

  (5)持久化行为:存盘和读取。

  梯形图元件基类的关键代码如下:

代码 
代码 

4 结束语

  以整体设计为基础,有了元件基类,就可以以其为父类,根据每个元件的不同特性,为每个元件设计一个子类。作者把各元件类以相应的英文单词来命名,如常开触点类(Normally Open Contact)命名为CContactNO。每一种元件都在该程序的工程组当中单列一个单元,并把相应元件类的定义写进去,为编辑器的具体实现打下基础。

公司简介

宜科(天津)电子有限公司是中国工业自动化的领军企业,于2003年在天津投资成立,销售和服务网络覆盖全国。作为中国本土工业自动化产品的提供商和智能制造解决方案的供应商,宜科在汽车、汽车零部件、工程机械、机器人、食品制药、印刷包装、纺织机械、物流设备、电子制造等诸多领域占据领先地位。宜科为智慧工厂的整体规划实施提供自系统层、控制层、网络层到执行层自上而下的全系列服务,产品及解决方案涵盖但不局限于云平台、MES制造执行系统、工业现场总线、工业以太网、工业无线通讯、机器人及智能设备组成的自动化生产线、自动化电气控制系统集成、智能物流仓储系统等,以实现真正智能化的生产制造,从而带来生产力和生产效率的大幅提升,以及对生产灵活性和生产复杂性的管理能力的大幅提升。多年来,宜科以创新的技术、卓越的解决方案和产品坚持不懈地为中国制造业的发展提供全面支持,并以出众的品质和令人信赖的可靠性、领先的技术成就、不懈的创新追求,在业界独树一帜。帮助中国制造业转型升级,加速智能制造进程,成为中国工业4.0智慧工厂解决方案当之无愧的践行者。

更多详情>>

联系我们

  • 联系人:章清涛
  • 热线:18611695135
  • 电话:
  • 传真:
  • 邮箱:18210150532@139.com

Copyright © 2015 ilinki.net Inc. All rights reserved. 智汇工业版权所有

电话:010-62314658 邮箱:service@ilinki.net

主办单位:智汇万联(北京)信息技术有限公司

京ICP备15030148号-1