基于CNC的软PLC虚拟机中元件库的研究.pdf
基于 CNC 的软 PLC 虚拟机中元件库的研究 * 陆丽丽, 季建华 江苏城市职业学院,江苏 南通摇 226006 摘摇 要基于 CNC 的软 PLC 虚拟机元件库的设计,是以 FANUC 数控系统作为硬件平台;采用 C语言编程方法,建立 和实现元件库模块;在 VC 环境下搭建测试平台,确定自动测试方案。 虚拟机中元件库的设计,大大提高了软 PLC 通 用、灵活等优点,实现了数控系统的开放性能。 关键词数控系统;开放性;软 PLC;元件库;自动测试 中图分类号TP273摇 摇 摇 摇 摇 摇 文献标志码A摇 摇 摇 摇 摇 摇 文章编号1007-4414201503-0006-003 Study on Components Library of Soft PLC Virtual Machine Based on CNC LU Li-li, JI Jian-hua The City Vocational College of Jiangsu, Nantong Jiangsu摇 226000, China Abstract Design for the components library of Soft PLC virtual machine based on CNC is using the FANUC CNC system as hardware plat; establishing and achieving component library module by combining the C language programming meth鄄 od; and determining the automatic testing scheme through a test plat in the VC environment. The design for the compo鄄 nents library of virtual machine greatly improves the advantages of Soft PLC such as common and flexible, and realizes the o鄄 pening perance of the NC system. Key words CNC system; openness; soft PLC; components library; automatic testing 0摇 引摇 言 数控是用数字信息对机械运动和自动化加工过 程进行控制的技术,是现代国家制造业信息化水平和 国际竞争能力的象征,已有 50 多年的发展历史。 如 今,随着市场竞争日趋激烈,被加工零件的精益求精 及微型计算机的迅猛发展,软 PLC 发展成为进一步 提高数控技术、实现数控系统开放化的重要手段。 软 PLC 能够充分利用工业控制计算机IPC或嵌入式 计算机EPC的硬件和软件资源,改变传统硬件 PLC 繁琐、呆板的缺点,全部用软件灵活地来实现数控 功能[1]。 1摇 软 PLC 虚拟机系统 在数控机床运行过程中,PLC 是机床本体与数控 装置之间的桥梁。 它根据 CNC 内部标志以及机床的 各控制开关、检测元件、运行部件的状态,按照程序设 定的控制逻辑,完成对刀库运动、换刀机构、冷却液等 的控制功能。 1. 1摇 软 PLC 软 PLC 采取基于虚拟机的解决方案,分为开发 系统和运行系统两部分。 开发系统实际上就是编程 器,完成调试和编译工作。 运行系统是软 PLC 的核 心,完成输入处理、程序执行、输出处理等工作,如图 1 所示。 图 1摇 软 PLC 系统的总体结构 1. 2摇 软 PLC 虚拟机 软 PLC 虚拟机是相对我们平常所用的实际的计 算机而言的一个概念,它是一个假想的模拟实际计算 机进行工作的软件系统,由编译器、解释执行器、元件 库和管理模块组成,可以完成对图文件的编译、中间 代码生成和解释执行,对 PLC 文件的加载和执行见 图 2。 其中,元件库提供了梯形图元件的相关信息, 作为一个单独的模块可动态升级,可根据用户的需要 进行裁减。 这种架构给 PLC 虚拟机带来了极大的灵 6 研究与分析摇 摇 摇 摇 摇 摇 摇 摇 摇 摇 摇 摇 摇 摇 摇 摇 摇 摇2015 年第 3 期 第 28 卷,总第 137 期机械研究与应用 *收稿日期2015-03-21 作者简介陆丽丽1983-,女,江苏南通人,工程师,研究方向机械制造及其自动化。 活性和可扩展型,是数控系统实现开放化的关键技 术。 图 2摇 软 PLC 虚拟机的结构 2摇 软 PLC 中元件库模块的研究 2. 1摇 元件及元件库 梯形图中的触点、线圈和用方框表示的功能块, 把这些绘图元素叫做“元件冶 [2]见图 3。 由于“元 件冶在梯形图中作为梯形图的绘图元素,因此元件中 包括其所具有的自身参数输入参数、输出参数和 功能函数逻辑行为。 图 3摇 梯形图程序举例 摇 摇 所有的元件按照一定的分类规则组合在一起,称 元件的组合为元件库。 元件库是软 PLC 虚拟机中独 立的模块,包含元件的绘图信息和行为信息,提供了 一组对外访问的接口,其它模块通过这些接口获取希 望获得的信息。 2. 2摇 元件库的数据结构 由于标准中规定的元件数量较多,为了便于信息 查找,可对其建模过程采用按类型分组的策略,功能 相近的元件分在同一个元件组中,采用的数据结构是 链表。 每个元件库包含一个元件组链表,该链表的结 点为元件组的信息,每个元件组又包含一个元件链 表,结点为元件。 标准元件库数据结构如图 4 所示。 2. 3摇 开发语言及编程工具的选择 开发元件库,可以选择当今业界流行的 C语 言,C是 C 的派生,是 C 的超集,是一种面向对象的 程序设计语言 Object - Oriented Programming Lan鄄 guage, OOPL,具有封装性、继承性、多态性等独到 之处,使程序结构更加清晰,更易于扩充和维护,更加 灵活,程序设计者能更好地理解和管理庞大的复杂程 序[3]。 图 4摇 元件库的数据结构 3摇 标准元件库的创建 3. 1摇 实现原则 元件库创建的过程中,采用了 C标准程序库, 提供了容器和泛性算法。 比如实现元件库模型中的 实体类时,使用了标准库中提供的元素,包括 pair、 wstring 等类型和 list、vector 等容器,直接调用容器类 提供的成员函数,不但避免了自己设计链表、动态数 组等数据结构容易产生的错误,而且对软件的可靠性 有了很大的提高,大大提高了开发效率和程序质量。 3. 2摇 元件库的组类 元件的信息分成两部分描述[4]。 一部分为静态 信息,包括绘图信息和参数信息,抽象出元件基类 CBaseUnit,具体的元件类都继承自元件基类,例如元 件 ID、元件大小、元件名称和参数表等属性的初始化 和描述;另一部分为动态信息,也就是元件的行为信 息,抽象出行为抽象基类 CDictate,具体元件行为的 描述都继承自该类,例如纯虚函数 Run。 通过两部分 信息结合,完成对元件描述和类型声明。 由于元件较多,所以采取了分组策略,将标准中 规定的功能相关的元件放在一组当中,产生元件组。 对元件组类的声明可以如下 class CUnitGroup { public CUnitGroup ; virtual CUnitGroup ; void AddUnitCBaseUnit *pUnit;/ / 向元件组 中添加元件 成员函数定义略 private 7 机械研究与应用2015 年第 3 期 第 28 卷,总第 137 期摇 摇 摇 摇 摇 摇 摇 摇 摇 摇 摇 摇 摇 摇 摇 摇 摇 摇 研究与分析 unsigned int m_nID;/ / 组 ID stdwstring m_szName;/ / 组名称 stdlist Units m_units;/ / 元件组 中包含元件链表 }; 元件组实例对象可以通过调用 AddUnit 成员函 数向元件组添加元件,使得元件组中成员变量链表的 节点是元件对象的指针,对元件的操作可通过遍历元 件组来实现。 3. 3摇 标准元件库的实现 标准元件库中共包括触点组、线圈组、程序控制 组、计数器指令组、定时器指令组、数学运算组、逻辑 运算组等多个元件组,将标准中的元件按功能分配到 相应的元件组中。 在元件库中需要将具体的元件组 组织起来,并且通过公有接口提供给系统中的其它模 块。 针对元件库的功能出元件库基类 CBaseUnitTem鄄 pl,在该类中包含成员变量 stdlist namedUnitGroups,该成员变量把元件组的指针作为链 表的节点,可以把元件组对象的指针存放在该链表对 象 namedUnitGroups 中。 此外,该基类主要包含了一 组虚函数,标准元件库继承该基类,并对继承的接口 进行重写,元件库中接口按功能主要分为以下 4 类[4] 1 元件库信息相关接口,包括获取元件库 ID 号、是否是标准元件库等接口。 2 元件组信息相关接口,包括获取元件组名 称、各个元件组中元件的数量、创建新的元件组等接 口。 3 判断元件类型的接口,包括判断元件是否为 直线、是否为触点等接口。 4 元件信息相关的接口,包括获取元件参数类 型、获取元件大小、获取元件名称等接口。 4摇 总摇 结 开放式数控系统是当今数控技术的发展方向,软 PLC 因具有更好的数据处理能力、网络通讯能力和开 放的体系结构,将传统的硬 PLC 替而代之。 笔者以 FANUC 数控系统作为硬件平台,对软 PLC 技术进行 分析,尤其是元件库模块进行了研究设计,提出了新 的解决方案,解决了传统封闭式数控系统兼容性差、 功能不易扩展等问题,提高数控系统的开放性、降低 成本。 参考文献 [1]摇 任玉田,包摇 杰,喻逸君,等. 新编机床数控技术[M]. 北京北京 理工大学出版社,20051-2. [2]摇 高钦和. 可编程控制器应用技术与设计实例[M]. 北京人们邮 电出版社,20041-2. [3]摇 马玉敏, 樊留群, 李摇辉, 等. 软 PLC 技术的研究与实现[J]. 机电一体化,20053 14-27. [4]摇苏摇中,李兴成,李摇擎,等. 基于 PC 架构的可编程序控制器 [M]. 机械工业出版社, 狮狮狮狮狮狮狮狮狮狮狮狮狮狮狮狮狮狮狮狮狮狮狮狮狮狮狮狮狮狮狮狮狮狮狮狮狮狮狮狮狮狮狮狮狮狮狮狮 2005. 上接第 5 页 摇 摇 由图 10 可知,凸轮组的疲劳寿命对数值最小为 1. 754,出现在凸缘与左侧滚轮的接触面处,疲劳寿命 以年表示为 Nlife101. 75456. 75 年。 图 11 给出了凸 轮组在 50 年设计寿命条件下的疲劳安全系数分布云 图,其疲劳安全系数最小值为 1. 016,出现在凸缘与 左侧滚轮的接触面。 4摇 结摇 论 1 介绍了以名义应力分析法及相应的材料疲 劳特性曲线的疲劳寿命分析,并建立了侧板构件材料 和凸轮组各构件材料相应的修正 S-N 曲线。 2 在 ANSYS 中,建立了侧板及凸轮组的有限 元分析模型,进行静力计算。 通过 FE-SAFE 软件, 结合静力计算结果及动力学仿真结果,对侧板和凸轮 组进行了疲劳寿命计算。 3 侧板的疲劳寿命为 71. 94 年,最小疲劳安全 系数为 1. 031,凸轮组的疲劳寿命为 56. 75 年,最小 疲劳安全系数为 1. 016,满足道岔侧板变形装置设计 寿命 50 年的要求。 参考文献 [1]摇 靳晓波. 重庆跨座式单轨车辆关节道岔通过性能研究[D]. 北 京交通大学, 2007. [2]摇 郭摇 凡, 杨永清,刘国军, 等. 跨座式单轨交通关节可挠型道岔 荷载试验研究[J]. 铁道建筑, 2010108-10. [3]摇 陈传尧. 疲劳与断裂[M]. 武汉华中科技大学出版社, 2002. [4]摇 李舜酩. 机械疲劳与可靠性设计[M]. 北京科学出版社, 2006. [5]摇姜年朝. ANSYS 和 ANSYS/ FE-SAFE 软件的工程应用及实例 [M]. 江苏河海大学出版社, 2006. [6]摇 风力发电机组规范[S]. 中国船级社, 2008. [7]摇Guideline for the certification of wind turbines[S]. Germanischer Lloyd, 2010. 8 研究与分析摇 摇 摇 摇 摇 摇 摇 摇 摇 摇 摇 摇 摇 摇 摇 摇 摇 摇2015 年第 3 期 第 28 卷,总第 137 期机械研究与应用