资源描述:
第 3期 2 0 1 5年 3月 组 合 机 床 与 自 动 化 加 工 技 术 M o d u l a r M a c hi ne To o l Au t o ma t i c M a nu f ac t ur i n g Te c hn i q ue No . 3 M a r .20 1 5 文章编 号 1 0 0 1 2 2 6 5 2 0 1 5 0 3 0 0 8 3- 0 3 D O I 1 0 . 1 3 4 6 2 / j . c n k i . m mt a m t . 2 0 1 5 . 0 3 . 0 2 2 软 P L C开发平台与 E t h e r M A C接 口技术研究 木 孙好春 , 张承瑞 , 胡天亮 山东大学 a . 机械工程学院; b . 高效与洁净机械制造教育部重点实验室, 济南2 5 0 0 6 1 摘要 为提升基于 E t h e r MA C工业实时以太网平台的运动控制 系统开发效率 , 提 出了一种 可使用 I E C 6 l 1 3 1 3编程语言在该平台下开发运动控制系统的方法。通过研 究开放式软 P L C开发平 台 C o D e S y s 在 Wi n d o w s C E 6操作 系统下的二次开发技术 , 结合 E t h e r MA C的从站 首节点定时触发机制, 设计一 种以外部事件机制和 内核对象事件机制实现程序 同步的 E t h e r MA C组件。并以开发数控绕线机的控 制 系统为例 , 对该组件的可行性和性能进行验证 , 结果表 明其能够满足控制 系统的功 能要 求, 并有效 地提 高开发效 率 。 关键词 软 P L C; E t h e r MA C ; 工业以太网; 运动控制; C o D e S y s ; I E C 6 1 1 3 1 中图分类号 T H1 6 5 ; T G 6 5 文献标识码 A Re s e a r c h a b o ut I n t e r f a c e b e t we e n So f t PLC De v e l o pme n t Pl a t f o r m a n d Et h e r M AC S UN Ha o . c h u n 。, ZHANG Ch e n g r ui .HU Ti a n . 1 i a n g a . S c h o o l o f Me c h a n i c a l En g i n e e r i n g I b . Ke y L a b o r a t o r y o f Hi g h E f f i c i e n c y a n d C l e a n Me c h a n i c a l Ma n u f a c - t u r i n g , S h a n d o n g U n i v e r s i t y , J i n a n 2 5 0 0 6 1 , C h i n a Abs t r a c t I n o r d e r t o a d v a n c e t h e e ffi c i e n c y o f d e v e l o p i n g mo t i o n c o n t r o l s y s t e m , wh i c h i s b a s e d o n mo t i o n c o n t r o l l e r u s i n g t h e Et h e r M AC i n d u s t r i a l e t h e r n e t .a me t h o d i s de s i g n e d t o r e a l i s e u s i n g I EC 61 1 31 . 3 p r o . g r a mmi n g l a n g u a g e s t o d e v e l o p mo t i o n c o n t r o l s y s t e m u s i n g t h i s mo t i o n c o n tro l l e r .Th e s e c o n d a r y d e v e l o p me n t t e c h n i q u e o f o p e n d e v e l o p me n t p l a t f o r m f o r s o ft PLC Co De S ys i n W i n d o ws CE 6 i S r e s e a r c h e d .t o m. b i n e d wi t h the t i mi n g t r i g g e r me c h a n i s m d e c i d e d b y the fi r s t s l a v e n o d e i n Et h e r M AC ,a me t h o d a b o u t p r o g r a m s y n c h r o n i z a t i o n i S d e s i g n e d t o e s t a b l i s h t h e c o mp o n e n t f o r Et h e r M AC.wh o s e me c ha n i s m i s ba s e d o n a n e x t e r n a l e v e n t a n d a k e me l o Ne c t e v e n t.Ta k e t h e d e v e l o p me n t o f t h e c o n t r o l s y s t e m o f n u me fi c a l c o n t r o l wi nd i n g ma c h i n e f o r e x a mp l e,t o v e r i f y the f e a s i b i l i t y a n d p e r f o r ma n c e wi th thi s c o mp o ne n t .Th e r e s u l t i s s h o we d t h a t t h e f u n c t i o n a l r e q u i r e me n t o f t h e c o n t r o l s y s t e m c a n b e me t ,a n d d e ve l o pme n t e ffi c i e n c y i s i mp r o v e d mu c h. Ke y wo r d ss o f t P LC;Et h e r M AC ;i n d u s t r y e t h e r n e t ;mo tio n c o n t r o l ;Co De S ys ;I EC 61 1 3 1 0 引言 由 P L C o p e n组织推行 的 I E C 6 1 1 3 1 3编程 语 言 以 其功能标准化 , 开发效率高等特点成为工业控制系统 开发领域的事实标准语言 。相 比于传 统的 P L C编 程语言, I E C 6 1 1 3 1 3提高了程序复用性并拓宽了编程 语言 的应用范围 , 可满足运动控制等领域的功能需 求 J 。软 P L C是用纯软件实 现 P L C的功能 , 不 限 于特 定的硬件平台, 因此具有良好的拓展性, 以 I E C 6 1 1 3 1 3作为编程语言 。E t h e r M A C E t h e r n e t f o r Ma n u f a c t u r e A u t o m a t i o n C o n t r o 1 是 山东大学数控 技术研究 中心 针对运动控制应用 , 自主研发的工业实时以太 网 。 为能够使用 I E C 6 1 1 3 1 . 3语言开发采用 E t h e r MA C作 为运动控制总线的运动控制系统, 通过研究软 P L C开 发平台 C o D e S y s 在 Wi n d o w s C E 6下的二次开发技术, 设计了 E t h e r MA C组件实现 C o D e S y s与 E t h e r M A C之 间的数据交互 。然后以数控绕线机控制系统的开发过 程为例 , 对该组件的功能进行验证。 1 软 P L C开发 平台 开放 式 的 软 P L C开 发 平 台 , 由 R u n t i me和 用 于 P L C程序开发 的 I D E I n t e g r a t e d D e v e l o p m e n t E n v i r o n - m e n t , 集成开发环境 和两部分组成。R u n t i m e为可运 行在多种实时系统上的软件模块, 通过执行 I D E生成 的 P L C任务文件实现控制功能。 1 . 1 C o D e S y s 简介 C o D e S y s 是德国3 S公司的开放式软 P L C开发平 台, 支持 1 E C 6 1 1 3 1 . 3的五种 编程语 言 顺 序功 能图 收稿 日期 2 0 1 4 0 61 7 ; 修 回日期 2 0 1 40 7 2 2 }基金项目 国家重大科技专项资助项 目 2 0 1 2 z x 0 4 0 1 0 0 2 1 0 0 20 0 5 作者简介 孙好春 1 9 8 6 一 , 男 , 山东平度人 , 山东大学博士研究生 , 研究方向为运动控制技术 , E ma i l s u n v h a o 1 6 3 . e o m。 8 4 组合机床与自动化加工技术 第 3期 S F C 、 功能块 图 F B D 、 梯形 图 L D 、 结构化文本 S T 和指令表 I L 。此外 C o D e S y s 还 内置有符合 P L C o p e n 标 准规范 的运动控制功 能块库 。 C o D e S y s 的 I D E名称也为 C o D e S y s , 它和运行于 目 标机的 R u n t i m e组成一个完整的开放式 P L C开发平 台。Wi n d o w s C E下的 R u n t i m e本质为一个应用程序 , 可通过底层驱动程序访问底层硬件和外部总线 , 运行 原理如图 1所示。将 C o D e S y s 生成的界面文件和任务 文件 下载到 目标 机 之后 , R u n t i m e即 可通 过 解 析 这些 文件实现控制功能。 图 1 Co De S y s的 PLC程 序开 发 结构 图 1 . 2 C o D e S y s的 oE M 组件二次开发 C o D e S y s 的 O E M组件是一种面 向设备制造商 的 二次开发模块 , 其开发过程如 图 2所示。首先使用 C o D e S y s的 I D E定制新 的 O E M组件接 口生成 L i b r a r y 文件和 M 4文件。C o D e S y s 的 I D E可通过加载 L i b r a r y 文件使用该 O E M组件。M 4解析器将 M 4文件解析生 成文件名分别以 D E F和 I T F结尾的 c语言头文件 , 其 中包含该组件的待实现函数接 口及其之间的依赖关 系, 然后可使用 V i s u a l S t u d i o编程实现接 口的具体功 能并生成相应的程序模块。在 Wi n d o w s C E下这种程 序模 块 以 D L L D y n a m i c L i n k L i b r a ry, 动态链 接 库 的 形式存在。这样 R u n t i m e在解析 由 C o D e S y s 调用新组 件的 L i b r a ry生成的任务文件时, 会调用相应的 D L L程 序模块实现相应的具体功能。 图 2 C o D e S y s 的 OE M 组件二次开发流程图 2 E t h e r MAC组件设计 2 . 1 E t h e r MA C简介 E t h e r MA C工业 以太 网 的定 时和 同步机 制均 由从 站实现, 这种机制不要求主站具有高精度实时定时器。 主站只需在下一个总线同步周期到来之前 向从站下发 新的通信数据, 即可保证通信的实时性和准确性 。 2 . 2 组件的接口设计 一 般现场总线的通信周期和同步机制由主站即控制 器进行控制, 因此在 C o D e S y s 上开发这类总线的组件, 通 常使用高精度周期性任务控制总线数据的周期性收发。 而对于E t h e r M A C , 如果主站也采用高精度周期性任务控 制数据收发, 那么这种不关联的主从站双定时机制会带来 增大数据处理延迟的问题。具体分析如图 3 所示。 主站 控制器 从站首节点 A t 西 t “ i 1 ; t 2 时 1 日 J 图 3 双定时机制产生的延迟时间分析图 假设 主站和从站之 间以时间 进行 周期性数据 交 互, 那么两者的定时周期也都为 , 相邻两个定时周期 开始时间为 t l和 , 从站首节点 向主站发送数 据之 后 , 主站并 不是立 即处理 数 据 , 而是 延 迟一 段 时 间 △ f 之后 , 在主站新的定时周期开始时才从硬件缓存 中读 取数据包进行处理。 A t lt 2一t 1 l R u n t i me I l R u n t i m e l 【E t h e r MA C L l E t h e r MA C I 1普通任务 l l 外部事件任务 l l主站线程 l } 驱动 1 图 4 Et h e r MAC组 件 的程 序 l司步 机 1J J l序 图 △ 的大小由公式 1确定。其中 t 是微小的网络 数据传输时间, 在数据传输速率、 数据量和网线长度一 定时该值为固定值。因此 △ 时间主要取决于 t l和 2 之间的时间差值 , 最大值可接近定时周期 。主站在 △ 时间内并没有进行有效的工作 , 而 t l和 2为不确 定 的随机 时间 , 因此 △ 的大小 也具有随机性 的 。 用事件触发机制代替主站定 时机制可消除 △ f , 即 主站在接收到从站反馈数据之后 , 立刻触发 C o D e S y s 的 R u n t i m e中的任务进行数据处理。E t h e r M A C组件 正是基于该原理设计的, 其利用 C o D e S y s的 O E M组件 二次开发技术实现 , 具体的同步原理如图4所示。 E t h e r M A C驱动是一个运行在 N D I S N e t w o r k D r i v e r I n t e r f a c e S p e c i f i c a t i o n 中间层和协议层的驱动。中间层 部分可以直接操作以太网卡的数据收发, 保证数据收发 的实时I生和可靠性。协议层向外部提供操作接口, 并按 照 E t h e r M A C协议实现对 网络数 据封装 和解析 。E t h e r M A C组件内运行 E t h e r M A C主站 线程 , 而 R u n t i m e内运 行普通任务和外部事件任务。运行之前需要注册一个
展开阅读全文