资源描述:
第 1 1期 2 0 1 3年 l 1月 组 合 机 床 与 自 动 化 加 工 技 术 M o d ul a r M a c h i ne To o l Au t o ma t i c M a n uf a c t u r i ng Te c hn i qu e NO. 1 1 NO V .2 01 3 文 章 编 号 1 0 0 12 2 6 5 2 0 1 3 1 10 0 6 10 3 软 P L C梯形图向指令表转化的算法研究与实现 水 韩 江, 段 少磊 , 夏 链 , 董 方方 合肥 工 业大 学 机械 与汽 车工程 学 院 , 合 肥 2 3 0 0 0 9 摘 要 梯 形 图与 指令表 是 P L C 中最常 用的 两种语 言 。其 中梯 形 图形 象直观 , 易于编程 , 但 梯形 图往 往 需要 转换 为指令 表语 言才能在 P L C运行 系统 中解释 执 行 。针 对 上 述 问题 提 出 了一 种 适 用 于数控 机 床 软 P L C的梯 形 图向指 令表 转换 的算 法 。该 算 法基 于 A O V 图映射 , 将 梯 形 图程 序 存 储 为邻 接表 数 据 结 构 , 采 用拓 扑排 序 方法将 邻接 表 中 内容 按 指令 表 逻 辑 顺序 输 出 , 最 终 实现 梯 形 图 向指 令表 的 转 化 。论 文 给 出 了该 算 法在 自主开发 的软 P L C中的一 个应 用 实例 , 描 述 了梯 形 图 向指 令表 转化 的主要 思 想和 实现过程 。 关键词 软 P L C; 梯 形 图; 指 令表 ; A O V图 ; 邻接 表 ; 拓 扑排序 中 图分 类 号 T H1 6 4 ; T G 6 5 9 文 献标识 码 A Re s e a r c h a n d I mpl e m e nt at i o n of Al g o r i t hm f r o m LD t o S TL i n S o f t PLC HAN J i a n g,DUAN S h a o l e i ,XI A Li a n,DONG Fa n g - f a n g S c h o o l o f Me c h a n i c a l a n d A u t o mo t i v e E n g i n e e r i n g,He f e i Un i v e r s i t y o f T e c h n o l o g y ,He f e i 2 3 0 0 0 9,C h i n a Ab s t r ac t La dd e r di a g r a m a n d i ns t r u c t i o n t a b l e a r e t he t wo mos t c o mmon l y u s e d l a n g u a g e i n t he P LC La dd e r di a g r a m f o r i t s i n t u i t i v e i ma g e i s e a s i l y t o p r o g r a m , b u t for b e i n g i n t e r p r e t e d a n d e x e c u t e d b y t h e P LC r un t i me s y s t e m ,i t o f t e n ne e d t o c o n v e t o i n s t r u c t i o n t a bl e .I n v i e w o f t h e a b o ve q u e s t i o n,a n a l g o r i t h m o f t r a ns f o r ma t i o n f r o m l a d d e r d i a g r a m t o i ns t r u c t i o n t a b l e fo r t he s o f t PLC o f CNC ma c h i n e t o o l s i s p r e s e n t e d .Ba s i n g o n AOV d i a g r a p h,L a d d e r d i a g r a m i s s t o r e d for a d j a c e n c y l i s t i n t h i s a l g o r i t h m,a n d t h e c o n t e n t s o f t h e a d j a c e n c y l i s t a r e o u t p u t a c c o r d i n g t o i n s t r u c t i o n t a b l e l o g i c a l s e q u e n c e b y t h e t o p o l o g i c a l s o r t me t h o d.Fi na l l y,t h e tra n s f o r ma t i o n f r om l a d d e r di a g r a m t o i n s t r uc t i o n t a bl e i s c o mp l e t e d. An e x a mp l e o f t r a n s f o r ma t i o n i n t h e s e l f d e v e l o pe d s o f t PLC i s g i v e n i n t h e p a p e r,whi c h i nt r o d u c e s t h e ma i n i d e a o f t h e a l g o r i t h m a n d r e a l i z a t i o n p r o c e s s . Ke y w o r d s s o f t P L C; l a d d e r d i a g r a m; i n s t r u c t i o n t a b l e ; AO V d i a g r a p h ; a d j a c e n c y l i s t ; t o p o l o g i c a l s o r t 0 引言 传统 P L C技 术 产 生 至今 , 因其 自身 存 在 的一 些 难 以克服 的缺 点 , 发 展受 到 严 重 的 限制 。近年 来 , 随 着计 算机 技术 的 飞 速发 展 , 软 P L C这项 新 兴 技 术 迅 猛发展 , 它不仅具有传统 P L C在功能 、 可靠性、 速度 等方 面 的优点 , 而 且 与之 相 比 , 更 加 开放 、 灵 活 , 价 格 也更 加低 廉 ⋯ 。 软 P L C技 术符 合 国际 电工 委员 会 制定 的工业 自 动化 系 统 控 制 逻 辑 组 态 软 件 标 准 I E C 6 1 1 3 1 . 3 , 其 主要 的 编程语 言 有梯 形 图和 语句 表 两 种 。梯 形 图作 为一种形象直观的语言 , 利于编程 和理解 , 但不能被 P L C的 C P U识 别 。与 之 相 比 , 指令 表 更 接 近 于 汇 编 语 言 , 易 于 底 层 运 行 系统 的解 释执 行 。 因此 实 际 逻 辑控 制 中往往 需 要将 梯 形 图 转化 为 指 令 表 。然 而 如 果通 过人 工进 行 指令 表 翻 译 , 工作 量 大 且 容 易 出错 , 所 以研究 一种 切实 可 行 的梯 形 图 向指 令表 转 化 的算 法很 有 必 要 。本 文 基 于 A R M 9平 台 , 提 出 了一 种 先将梯形 图映射为 A O V图 , 再用邻 接表存储 , 最后 进行 拓扑 排序 的指 令 表 转化 算 法 。该算 法 具 有 通用 性 , 不仅成 功 应 用 于 自主开 发 的齿 轮数 控 系 统 的 软 P L C模 块 当 中 , 而且 可 以用 于 F A N U C, 西 门子 和三菱 等 多种 P L C梯 形 图 向指 令表 的转 化 。 1 A OV 图 , 邻接表 和拓扑排序 1 . 1 AoV 图 在一 个有 向无 环 图 G 中 , 若 用顶 点表 示 活 动 或 任务, 有向边表示活动 间的先后关系 , 则称该有 向图 G为顶 点表 示活 动 的网络 , 简称 为 A O V图 。 1 . 2邻接 表 邻接 表是 最 常用 的一 种 图 的顺 序存 储 与 链 式存 收稿 日期 2 0 1 30 31 9 基金项 目 十二五国家科技 重大专项 资助 2 0 1 2 Z X 0 4 0 0 1 0 2 1 ; 国家科技支撑计划资助 2 0 1 2 B A F 1 3 B O O 作者简介 韩 江 1 9 6 3 一 , 男 , 河南洛 阳人 , 合肥 工业大 学教授 , 博 士 , 博士 生导师 , 主要从事数控 系统与数控 技术方 面的研究 , Em a i l d s l h e ll o wy 1 6 3 . c o rn。 6 2 组合机 床 与 自动化 加工 技术 第 1 1期 储 结合 的存储 方 法 。对 图 的每个 顶 点 建立 一个 单 链 表 , 该 单 链 表包 含 两 种 结 点 结 构 , 如 图 1所 示 , 一 种 是结点 表 的结 点 结 构 , 它 由顶 点 域 和指 向第 一 条 邻 接边的指针域构成, 另一种是边表结点 , 它 由邻接点 域和指 向下 一条邻 接边 的指 针域构 成 。 顶点域 指针域 邻接点域 指针域 匝 工 工 顶点表 边表 图 1邻接表表示的结点及边表结构 1 . 3拓 扑排序 在 有 向 图 G 中 , 寻 找 一 个 线 性 序 列 V . , ⋯ , , 其 中从 顶点 到 有 一条 路径 , 序 列 中顶 点 V 必 在 之前 的过程 称 为拓扑排 序 。 2 梯 形图的映射及邻接表存储 2 . 1 梯 形 图向 AOV 图的映射 顶 点和 弧是构 成 A O V 图 的基 本 元 素 , 其 中顶 点 是 构 成 A O V 图 的 关 键 , 而 弧 是 构 成 A O V 图 的 骨 架 , 我们 将梯 形 图中 的基本 图元抽 象 为 顶点 , 图元 与图元之间的连接线抽象为有向图 中的弧, 这样就 得 到 了梯形 图的 A O V 图结 构 。 2 . 2梯 形图 的邻接 表存储 形式 常用的 A O V有向图的存储结构有邻接矩阵, 邻 接 表和 十字链 表 三种 , 其 中邻 接 矩 阵属 于静 态 方 法 , 效 率很 低 。相 比而 言 , 邻 接 表 和 十 字 链 表 都 属 于 动 态存 储 结 构 , 更 适 用 于 梯 形 图 的存 储 。 由于 十 字 链 表 方法 容 易 求 得 顶 点 的 入 度 和 出 度 , 因 此 有 的 研 究 基于十字链表结构来存储 梯形图程序, 虽然也 能方便的实现指令表的转化, 但其建立过程 比较复 杂。与之相比, 邻接表更易建立 , 也容易求得某个顶 点 的 出度 , 但 是 求 人 度 需 要 遍 历 整 个 邻 接 表 。综 合 比较 二 者 的优 缺点 , 本 文选 用 邻 接表 存 储结 构 , 同时 在梯 形 图 向 A O V 图 映 射 过 程 中 统 计 各顶 点 的 入 度 信息, 以此来弥补邻接表求人度难的缺点。 梯形 图映射为 A O V 图后 , 根据 所 记 录 的顶 点 信 息 以及 各 顶点 前驱 结 点 和后 继结 点 的信 息就 可 以将 梯 形 图存 储 为邻 接 表 结 构 , 其 邻 接 表 顶 点 表 和 边 表 的定 义 描述如 下 t y pe de f s t r u c t Ve r t e x Ty p e; t y p e d e f s t r u e t n o d e / / 边 表结点 { i n t v e x ; / / 邻接点域 s t r u c t n o d e}n e x t ; / / 指 向下一邻接点指针域 } Ed g e No d e ; t y p e d e f s t r u c t Vn o d e / / 顶 点 表 结 点 { Ve r t e x T y p e v e r t e x ; / / 顶 点 域 E d g e N o d e l i n k ; / / 边 表 头 指针 i n t i n d e g r e e ; / / 入度 值 i n t o u t d e g r e e ; / / 出度 值 } V e r t e x N o d e ; t y p e d e f V e r t e x N o d e A d j L i s t [ MA X V E R T E X N U M] ; / / 声 明顶 点数 组 t y p e d e f s t r u c t / / 定 义 图 的数 据结 构 { A d j L i s t d i g ; / / 邻接表 i n t v e x n u m; / / 图 的顶 点 数 } A L G r a p h ; A O V图的存储 过 程 首先 将 映 射 得 到 的 顶 点 数 目赋给 G . v e x n u m, 然 后 做 一 个 f o r 循 环 遍 历 每个 顶 点 , 将 顶 点 i 入 度 值 i n d e g r e e赋 给 G . d i g [ i ] . i n d e g r e e , 统计 每个 顶点后 继结 点 的数 目, 再做 一个 f 0 r 循 环 , 遍历 每个顶 点 的各 后继 结 点 , 将 第 一个 后 继 结 点 的编号赋 值给边 表 邻接 点 域 s . v e x , 然后 把 边 表 指针 域 s . n e x t 赋值 为空 , 最后将 边表 指针 s 指 向顶 点指针 域 , 这样第 一 个 后 继 结 点 与 顶 点 的链 表 结 构 就建 立 起 来 , 重 复上 述 过 程 直 到 所 有 后 继 结 点 都 与 顶 点建 立链 表关 系 为 止 , 如 此 就 完 成 了一 个 顶 点 的单 链 表 结 构 的建 立 , 继 续循 环 扫描 其 它顶 点 , 分 别建 立 相应 的单链表 , 当所 有顶 点 扫描 完 成后 , 梯 形 图 的邻 接表 存储 结构 就建立 完成 了。 邻接 表数 据 建 立 后 , 就 可 以方 便 的求 得 各 顶 点 的出度值 , 只需要 做一 个 f o r 循 环 , 统 计 以顶 点 i 所在 链 表 的后 继结 点数 目, 即可 得 到该 顶 点 的 出度值 , 并 存储 在变 量 G . d i g [ i ] . o u t d e g r e e中。 3梯形 图转化为指令表实例 根据 前面 所 述 转 化 算 法 , 现 举 一 实 例 如 图 2所 示 。 图 2 a是在 自主开 发 的编 程 环 境 中编 写 的梯 形 图 , 该程序 具有 块并 联 和块 串联 的典 型结 构 , 可 以映 射 为 图 2 b所示 的 A O V有 向图 , 图 2 b则 可 以存 储 为 图 2 c形式 的邻接 表 。 a 梯形图 b A O V有 向图 v e r t e x i n d gr e e l i n k V e X l l e xt VP 0 j 1 X O 0 . 0 l 1 _ 一 { X o1I 1 Xo o . 2l 2 X0 0 3l 1 X0 04} l YO 0 . 0l 2 X0 o . 5l i X 0 0 . 6 l 2 X0 o . 7i 1 X0 o 8{ 1 c 邻接表 图 2典 型 梯 形 图 的 AOV 图 与邻 接表 对 应 关 系 / 曼 爹 2 0 1 3年 1 1月 唐 传 胜 , 等 无速度 传 感器 永磁 同步 直线 电机 伺服 系统 的 自适应 鲁棒控 制 6 7 5 结 论 本 文依 据 P ML S M 的结构 特 点 , 以 电机 的 速度 和 d轴电流作为状态观测量 , 以 d 、 q轴电压作为输出 , 提 出 了一种 自适 应 鲁 棒 控 制 控 制 策 略 , 并 通 过 理 论 分析 和 仿 真 实 验 , 验 证 了所 提 出 的控 制 策 略 与 P I D 控制 、 S M C相 比 , 不但 具 有很 强 的抗 负 载 能 力 和对 参 数 时变 的 鲁 棒 性 , 而 且 具 有 较 快 的 速 度 响 应 能 力 。 同时, 提 出的新 型滑模观测器 比传统 滑模 观测器具 有更 高 的观 测精 度 , 有 效改 善 了系 统 的观测性 能 。 [ 参考文献 ] [ 1 ]C h u n l i a n g L i n , H o r n y o n g J a n , N i a h n c h u n g S h i e h .G A b a s e d mu l t i o b j e c t i v e P I D c o n t r o l f o r a L i n e a r B r u s h l e s s DC mo t o r [ J ] .I E E E / A S ME T r a n s o n Me c h a t r o n i c s , 2 0 0 3 , 8 1 5 66 5 . [ 2 ]He mt n d e z g u z m i n V M, S i l v a o r t i g o z a R . P I c o n t r o l p l u s e l e c t r i c c u r r e n t l o o p s f o r P M s y n c h r o n o u s mo t o r s『 J] . I EEE Tr a ns o n Co n t r o l S ys t e ms Te c hno l o g y,20 1 1,1 9 4 8 6 88 7 3 . [ 3 ]刘 贤兴 , 卜 言柱 , 胡 育文 , 等 .基 于精 确线性 化解 耦 的永 磁 同步电机 空 间矢 量 调制 系统 [ J ] .中 国电机 工 程 学 报 , 2 0 0 7, 2 7 3 O 5 55 9. [ 4 ]F a a j e n g L i n , P o h u n g S h e n , R o n g r o n g F u n g . R F N N c o n t r o l f o r P ML S M d r i v e v i a b a c k s t e p p i n g t e c h n i q u e[ J ] . I E E E T r a n s o n Ae r o s p a c e a n d E l e c t r o n i c s S y s t e ms , 2 0 0 5, 4 1 2 6 20 6 40. [ 5 ]Yu n H o n g , B i n Y a o . A g l o b a l l y s t a b l e h i g h p e r f o r m a n c e a da pt i v e r o b us t c o nt r o l a l g or i t h m wi t h i npu t s a t u r a t i on f o r pr e c i s i o n mo t i o n c on t r o l o f l i n e a r mo t o r dr i v e s y s t e ms [ J ] .I E E E / A S ME T r a n s o n Me c h a t r o n i c s , 2 0 0 7 ,1 2 2 1 9 82 0 7. [ 6 ]张国柱 , 陈杰 , 李 志平 .基 于复 合 自适 应律 的直 线 电机 自适应鲁棒 控制 [ J ] .控制 理 论与 应用 , 2 0 0 9 , 2 6 8 83 3 83 7. [ 7 ]张希 , 陈宗祥 , 潘俊 民 , 等.永 磁 直线 同步 电机 的固定边 界层 滑模控 制 [ J ] .中 国电机工 程学 报 , 2 0 0 6 , 2 6 2 2 1 1 5 1 21 . [ 8 ]孙宜标 , 杨雪 , 夏加 宽 , 等.基 于对 角化 法 的永 磁 直线 同 步 电机 二阶滑模控制 [ J ] .中国 电机 工程学 报 , 2 0 0 8 , 2 8 1 2 l 2 41 2 8 . [ 9 ]C u p e r t i n o F , N a s o D, Mi n i n n o E, T u r c h i a n o B . S l i d i n g m o d e c o nt r o l wi t h d o u b l e b o u nd a r y l a y e r f o r r o bu s t c o mp e n s a t i o n o f p a y l o a d m a s s a n d f r i c t i o n i n l i n e a r m o t o r s [ J ] . I E E E T r a n s o n I n d u s t ry A p p l i c a t i o n s , 2 0 0 9, 4 5 5 1 6 8 81 6 9 6 . [ 1 O ]F a a j e n g L i n , P o h u n g S h e n , S o n g l i n Y a n g , P o h u a n C h o u . Rec ur r en t r a d i a l b a s i s f u c t i o n n e t wo r k ba s e d f u z z y n e u r a l n e r wo r k c o n t r o l for p e r ma ne nt - ma g ne t l i n e a r s y n c hr o no us m o t o r s e r v o d r i v e [ J ] . I E E E T r a n s o n M e c h a t r o n i c s , 2 0 0 6 , 4 2 1 1 3 6 9 43 7 0 5. [ 1 1 ]C h a o u i H, S i c a r d P . A d a p t i v e f u z z y l o g i c c o n t r o l o f p e r m a n e n t ma g n e t s y n c h r o n o us ma c h i n e s wi t h n o l i n e a r f r i c t i o n [ J ] .I E E E T r a n s o n I n d u s t ry E l e c t r o n i c s , 2 0 1 2 , 5 9 2 11 2 3 一 l 1 3 3. [ 1 2 ]邹积浩 , 朱善安.基 于最大推力 电流法的凸极式永 磁直 线 同步 电动机速度无传感器推力直接控制 [ J ] .电工技 术学报 , 2 0 0 4 , 1 9 1 2 6 9 7 7 . [ 1 3 ]王庆龙 , 张崇巍 , 张兴 .基 于变 结构模 型参 考 自适应 系 统 的永磁 同步 电机转 速辨 识 [ J ] .中 国电机工 程学报 , 2 0 0 8, 2 8 9 7 l一7 5 . [ 1 4 ]黄雷 , 赵光轴 , 年珩.基 于扩展 法 电动 势估算 的 内插 式 永磁 同步 电动机 无传 感 器控 制 [ J ] .中 国电机 工程 学 报 , 2 0 0 7 , 2 7 9 5 9 6 3 . [ 1 5 ]鲁文其 , 黄文新 , 胡育 文.永磁 同步 电动机新 型滑模 观 测器无传感器控制 [ J ] .控制理论与应用 , 2 0 0 9 , 2 6 4 42 9 43 2. [ 1 6 ]鲁文其 , 胡育文 , 杜栩杨 , 等.永磁 同步电机新型 滑模 观 测器无传感器矢量控制调速系统 [ J ] .中国电机 工程学 报 , 2 0l O, 3 0 3 3 7 88 3 . [ 1 7 ]陆华才 , 徐月同.基于 A E K F的永磁直线 同步电机 速度 和位置 估 计 算 法 [ J ] . 中 国 电机 工 程 学 报 , 2 0 0 9 , 2 9 3 3 9 09 4. [ 1 8 ]C u p e r t i n o F , G i a n g r a n d e P , G i a n m a r i o P, S a l v a t o r e L . End e f f e c t s i n l i n e a r t u bul a r mo t o r s a nd c o mp e ns a t e d p o s i t i o n s e n s o r l e s s c o n t r o l b a s e d o n p u l s a t i n g v a h a g e i n j e c t i o n [ J ] . I E E E T r a n s o n I n d u s t r y E l e c t r o n i c s , 2 0 1 1 , 5 8 2 4 9 45 0 2. [ 1 9 ]郭庆鼎 , 王成 元 , 等.直线 交流伺 服系统 的精 密控制 技 术[ M] .北京 机械工业出版社 , 2 0 0 0 . 编辑赵蓉 上接 第 6 3页 4 结束 语 本 文提 出 的 算 法 以邻 接 表 作 为 存 储 工 具 , 通 过 A O V图映射和拓扑排序 方法, 成功的实现 了梯形图 向指 令 表 的 转 化 。该 算 法 具 有 通 用 性 , 适 用 于 各 种 数控产品中软 P L C梯形 图向指令表 的转化 , 已经成 功应 用 于 自主开 发 的齿 轮数 控 系统 的 软 P L C模 块 当 中, 证 明了该算法的实用性和可靠性 。 [ 参考文献 ] [ 1 ]黄延延 , 林 跃 , 于海斌 .软 P L C技 术研究及 实现 [ J ] .计 算机工程 , 2 0 0 4, 3 0 1 1 6 51 6 7 . [ 2 ]黄晶晶, 陈文芗 , 叶军君, 等. 基于二叉树 的P L C梯形图转化 为指令表的算法[ J ] . 现代电子技术, 2 0 1 0 4 1 2 51 2 7 . [ 3 ]陆 秦.数 据 结 构 [ M] .北 京 中 国水 利 水 电 出版 社 。 2 00 9. [ 4 ]陈明.数据结构 [ M] .北京 清华 大学 出版 社 , 2 0 1 1 . [ 5 ]朱兆斌 , 赵东标.软 P L C中梯 形图 向指 令表转 化的实 现 [ J ] .机械与 电子 , 2 0 0 8 1 2 6 1 6 3 . [ 6 ]冯光 , 夏清 国, 裴元 方.P L C梯形 图 向 A O V图的一 种转 化算法 [ J ] .航空计算技术 , 2 0 0 9 , 3 9 2 1 0 91 1 2 . [ 7 ]陈 贤国.数控机 床 P L C编 程 [ M] .北 京 国防工 业 出版 社 , 2 0 1 0 . 编辑赵蓉
展开阅读全文