PLC梯形图程序设计技巧及应用.pdf
C N C S e m in a r 数控专栏 P L C梯形 图程序设计技巧及应用 陈鸿桂① 付 斌① 吴兴倡② 李华章③ 武汉工程职业技术学院, 湖北 武汉4 3 0 0 8 0 ; ②武钢大治铁矿, 湖北 黄石4 3 5 0 0 6 ; ③武钢程潮铁矿, 湖北 鄂州4 3 6 0 5 1 摘 要 结合 s 7- 3 0 0 P L C的编程实例 , 阐述了梯形图程序设计的技巧和方法。 关键词 P L C; 程序设计 ; 技巧 中国分类号 T P 3 6 8 文献标识码 B T e c h n i q u e s a n d a p p l i c a t i o n s o f P L C l a d d e r p r o g r a m d e s i g n CHEN Ho n g g u i ① , FU Bi n① , W U Xi n g c h a n g ② , L I Hu a z ha n g ③ Wu h a n E n g i n e e r i n g I n s ti t u t e , Wu h a n 4 3 0 0 8 0 , C H N ; Wu h a n I r o n O r e D a z h i , H u a n g s h i 4 3 5 0 0 6 , C H N ; Wu h a n I r o n O r e C h e n g c h a o , E z h o u 4 3 6 0 5 1 , C H N Ab s t r a c t C o mb i n i n g t h e S 73 0 0 P L C p r o g r a mmi n g e x a mp l e s .e l a b o r a t e s t e c h n i q u e s a n d me t h o d s o f l a d d e r p r o g r a m de s i g n. Ke y wo r dsPL C;p r o g r a mmi n g;t e c h n i q u e P L C 可编程控制器 是一种专用于工业控制的计算 机, P L C技术是机电技术人员和操作人员必备的、 重要的 知识和技能。P L C技术的核心内容是根据生产工艺流程 和控制要求使用某种编程语言进行程序设计, 梯形图语 言形象直观、 容易掌握, 成为应用最为广泛的 P L C程序设 计语言 , 由于梯形 图程序设计是计算机程序设计与电气 控制设计思想结合的产物 , 因此 , 梯形图程序设计的难度 较大, 要设计出一个能实现控制要求的程序 特别是大型 复杂控制程序 , 难度更大。在 P L C控制系统设计 中, 程 序设计的工作量占9 0 %左右 , 一个结构清晰, 简单易懂的 “ 简捷” 程序, 一是可以大大减少设计工作量 , 降低设计者 劳动强度 ; 二是能减少控制系统的I / O点 , 节约 P L C有限 的硬件资源; 三是减少程序运行的时间, 节省程序 占用的 空间。很多梯形图程序, 虽然实现了控制要求 , 但程序冗 长, 很难阅读, 令人费解 , 对其简化, 非常必要。要使控制 程序简化 , 必须掌握一定的编程“ 窍门” 。因此 , 探讨程序 设计技巧和方法有着十分重要的意义。笔者长期从事机 电控制技术及 P L C应用技术的教学和研究工作, 编写了 大量的P L C控制程序, 还参与了厂矿 P L C控制系统设计 及改造工作, 因此 , 积累了一些梯形图程序设计 的经验、 技巧和方法, 特别适合一些初学 P L C技术的读者, 对于提 高编程能力具有很好的借鉴作用。 1 编 程方法 、 技巧及应用 程序设计虽然没有捷径可走 , 但可 以实现 “ 殊途 同归” 。不同的人设计 同一个程序 , 由于采用 的方 法 不同、 技巧不同、 使用的指令不同, 致使程序 的难易、 长 短 , 编程耗费的时间一定不同。 1 . 1 数字逻辑编程法 所谓数字逻辑编程法是指根据系统的控制要求, 首 先列出类似真值表的状态表, 然后根据状态表找出输 出 变量的逻辑关系式并化简, 最后根据逻辑关系式画出梯 形图。采用数字逻辑编程法能在较短的时间内完成程序 设计, 不用 “ 苦思冥想” , 大部分 睛况下, 能一次试车成功 经验编程法很难一次试车成功, 必须反复调试 。数字 逻辑编程法设计出来的梯形图逻辑关系简单、 明了, 便于 阅读, 特别适合 P L C技术的初学者使用。 实例 1 在一个通风系统 中, 有 3台电动机驱动 3 台通风机 。为了保证人身安全 , 要求至少 2台通风机 同时运行 , 因此 , 用红、 黄 、 绿 3种指示灯对通风机的运 行状态 台数 进行指示。当 2台以上通风机 同时运 行时, 绿灯亮 , 表示通风 良好 ; 当 1台通风机运行时, 黄 灯亮 , 表示通风状态不佳 , 需要改善 ; 没有通风机运行 时 , 红灯亮 , 需要马上排除故障或进行人员疏散。 按照数字逻辑编程法的步骤首先列出输出变量的 状态表 , 如表 1所示 , 根据状态表写出信号灯的逻辑表 达式并化简 Q 4 . 5Q 4 . 0 Q 4 . 1 Q 4 . 2 Q 4 . 7Q 4 . 0 Q 4 . 1Q 4 . 0 Q 4 . 2Q 4 . 1 Q 4 . 2Q 4 . 0 Q 4 . 1 Q 4 . 2 l 69 数控专栏 O N 0 s e m in a 『 Q 4 . 1Q 4 . 2 Q 4 . o Q 4 . 1 Q 4 . 2 1 Q 4 . 0 Q 4 . 1Q 4 . 2 Q 4 . o Q 4 . 1 Q 4 . 2 Q 4 . 6Q 4 . 5 Q 4 . 7 表 1 信 号灯 状态表 通风机输 出 信号灯输出 第 1台第 2台第 3台 红灯黄灯绿灯 状 态 说 明 Q 4 . 0 Q 4 . 1 Q 4 . 2 Q 4 . 5 Q 4 . 6 Q 4 . 7 O 0 0 1 0 O 没有通风机运行时红灯亮 O 0 1 0 l O 1台通风机运行时黄灯亮 O l O O 1 O 1台通 风机运行 时黄灯亮 0 1 1 0 0 1 2台通 风机运行 时绿灯亮 1 0 0 O 1 0 1台通 风机运行 时黄灯亮 1 0 1 O O 1 2台通 风机运行 时绿灯亮 1 1 O O O 1 2台通风机运行 时绿灯亮 1 l 1 0 O 1 3台通风机运行时绿灯亮 根据上述逻辑表达式设计梯形图, 如图 1 所示 , 采 程序段 1 标题 程序段 2 标 题 程序 段1 标题 灯” H .6 灯” 用数字逻辑编程法只需 3段简单程序便完成了通风机 监视功能 , 全部是位逻辑指令 , 一 目了然 , 优点十分显 著。如果采用经验编程法 , 程序有 1 0段左右 , 除了要 使用位逻辑指令外 , 还要用到很多其它的指令 , 逻辑关 系比较复杂。 1 . 2接续 计 时 在生产实际中, 经常会 遇到当控制系统运行在定 时 计时 状态时停车 , 当系统再次起 动时, 必须接续 计时。对 于 西 门子 P L C 的定 时器 , 如 果 直 接 采 用 S 5 T I ME时间格 式作为其 时间常数 , 那 么定时器每次 启动都是从设定的时间开始定时 计时 , 无法实现接 续计时, 因此 , 定时器程序必须进行“ 特殊” 的设计。 实例 2 2条传送带控制。为了防止货物堆积在传 送带上 , 按下起动按钮时要求传送带逆序起动 , 时间间 隔 1 0 S , 在 2号传送带起动过程中, 按下停止按钮, 2 号传送带停车 , 再次按下起动按钮 , 接续计时起动 2号 传送带 。2条传送带全部起动后 , 按下停止按钮 , 传送 带 同时停车。 程序段 3标题 图1通风监视 数字逻辑法程序 程序段3 标题 程序段2 标题 程序段 4 标题 程序段 5 标题 Q4 . 0 “ l 号传送带” 图2传送带控制 接续计时程序 ZU等 U l 0 0 梯形 图如 图 2所示 , 由程序 段 2、 3、 4实现接 续 计 时 , 定 时器 的时 间设 定 值不 能 直 接设 为 常 数 S 5 T 1 0 s , 必须用定时器 的剩余 时 间 MW2的内容 即 M W0 变量 作 为 的时间设 定值 ; 在定 时 器初 次 启 动或 2号传送带在起动过程 中没有停 车系统再 次 起 动时 , 则用 S 5 T 1 0 s作 为定 时器 的时 间 常数 , 这 就是定 时器 的一种 “ 特殊 ” 用 法 。如 果采 用 定 时器 的常规用法 , 要实 现接续计 时很 困难 、 很 麻烦 、 也 很 复杂 。 1 . 3“ 保护现场” 和“ 恢复现场” 控制系统在运行途 中按下停止按钮 时, 系统“中 断” 当前的任务 和工作停 止运行 , 很 多工艺 流程要求 在再 次按下 起动按 钮 时, 要恢复停 车前 的状态 , 这 就要求 在停车时要 “ 保 护 现场”, 再次起动 时要“ 恢 复现场” 。 实例 3 如图 3所示 , 机床 滑台往返 、 主轴 正反 转控制。要求如下 ’ 。。 一 Q4 o Q4 . 1 图3机床主轴一滑台示意图 按下起动按钮一滑 台右行 , 同时主轴电动机正转 顺转 滑台碰 S Q 2后左行 , 同时主轴反转 逆转 一 滑台碰 S Q1又右行 。滑台每碰 S Q 2一次主轴改变一 程序段1 标题 程序段 2 标题 程序段 3 标题 f 1 0 .2 1“ 滑台右限 l 位” M1 卜 l LU 等U ,一 10 l平 I O 右行” H l 左行” 次旋转方向。滑台和主轴按上述规律运行 。按下停止 按钮 , 系统停车 , 再次按下起动按钮时, 系统从停车处 开始运行。 如图 4所示 , 程序段 6的功能是 “ 保护现场”, 停 止按 钮仅在按 下 的第一 个扫描周 期 内起作 用 , 先把 Q B 4的内容存放在 MB 1 3中, 然后对 Q B 4清 0, 因此存 放 Q B 4内容的数据传送指令必须放在对 Q B 4清 0的 数据传送指令 的上 面 或左边 。程序段 7的功能是 “ 恢复现场” , 当 M W1 2 MB 1 3 的内容不等 于 0时 , 说 明曾经按下过停止按钮 , 起动按钮仅在再次按下 的第 一 个扫描周期内起作用, 将 MB 1 3的内容送回 Q B 4, 使 系统恢复停车时的状态 , 如果 MW1 2 MB 1 3 的内容等 于 0 , 说明从来 没有按下停 止按钮 , 程序段 7不起 作 用 , 按下起动按钮 , 程序从第 1 段开始执行 。 1 . 4 数据传送指令“ 扩展” 应用 顾名思义 , 数据传送指令 的功能是向 目的地址传 送数据 , 如果扩展其功能 , 也可使 P L C的输出点得 电 或失电, 例如将 1送到 Q B 4中, 就可 以使 Q 4 . 0得 电, 如果把 3送到 Q B 4中, 就可 以使 Q 4 . 0 、 Q 4 . 1得 电, 其 它输出点得 电规律 由此类推 , 把 0送 到 Q B 4中, 就可 以使 Q 4 . oQ 4 . 7失电, 因此 , 可以用数据传送指令代 替程序设计 中使用频率最多的起 一保 一停 电路 , 从而 使程序简化 。 程序段 4 标题 程序段 5 标题 程序段 6 “ 保护现场 ” 图4 机床主轴一滑台 保护及恢复现场程序 - f - “ 一 “ 一 实例 4 矿井通 风机起 动采用三段 速控制 , 要求 是 按下起动按钮 , 通风机 电动机起动并运行在 1 0 H z 频率上 , 延 时 1 0 s 后 电动机升速 , 运行在 2 5 H z的频率 上 , 再延时 l O s电机继续升速 , 运行在 5 0 H z 的频率上 , 按下停止按钮 , 通风机电动机停车。 设置 MM 4 4 0变频器参数 P 7 0 1~P 7 o 41 7 , 只需 用变频器的 2个 数字量输入端 即可实现三 段频率调 速 , 变频器的数字量输入端 口5和 6分别接 P L C的数 字量输出端 Q 4 . 0 、 Q 4 . 1 , 控制状态如表 2所示。 本实例是变频器调速的典型应用 , 几乎所有的教科 书都有, 但控制程序都是以起 一 保 一停电路为主, 而采用 数据传送指令编写的程序 比教科书中的程序清晰得多, 程序段数也减少 了, 频率段数越多, 优点越显著, 梯形图 如图5所示, 按照状态表中固定频率段对应的十进制值 , 依次将 1 、 2 、 3 传送给 Q B 4 , 实现三段频率调速。 表 2三段固定频率控制状态表 固定频率 Q 4 . 0接端 口5 Q 4 . 1 接端 口 6 十进 制值 】 0 1 1 2 1 0 2 3 1 1 3 0F F O O O 程序段 1 标题 程序段2 标题 程序段 3 标题 图5 三段固定频率调速程序 1 . 5“ 保存” 停止按钮动作 有些工艺流 程要求 在按 下停 止按钮 时 , 控制 系 统不能立即停 车 , 必须等 到整个 工艺 流程运行完 毕 才能停车。例如机械手将工件从 传送带 A搬 运到传 送带 B上 , 在运行过程 中如果按下停止按钮 , 传送 带 A、 B停车 , 但机械手则要 将工 件搬运到传送 带 B上 且 回到初始 状 态 压合 下 限位及左 限位 开关 后 停 车。梯形图如 图 6所示 , M 2 . 1用来保存按下停止按 钮的动作。 2 结语 程序段5 保存停止按钮动作 1“ 停止按钮” “ 起动按钮” M2 . 1 卜 卜 _T / 卜 卜 L 程序段6 完成全部工艺流程停车 I “ 下限位开 “ 左限位开 l M 2 1关 ” 厂丽丽『 _ ] H 卜 卜 HE N E N 0卜 一 l 0 _ 1 IN O U T - Q B 4 图6 保存停止按钮动作程序 编程技巧和方法远远不止上面 5种 , 只要我们多 编程 、 多总结 、 多积 累 , 一定 能找 到更多 、 更 好的 “ 窍 门” 。上述 5种编程技巧和方法 , 对提 高程序设计能 力有很大帮助 , 其 中数字逻辑编程法对提高编程效率 、 优化程序结构 、 提 高程序可读性作用最大。笔者长期 从事职工教育工作 , 在 为厂矿学员讲 授 P L C技术 时 , 首先讲授教科书中的编程方法 , 然后介绍数字逻辑编 程法和上述编程技巧 , 受到 了学员的格外青睐和热烈 欢迎 , 并用于技术革新和技术改造中, 取得 了事半功倍 的效果。 本文的实例虽然是 西门子 S 73 0 0 P L C的应用 , 但各个厂家 P L C的工作原理及指令功能大 同小异, 因 此 , 本 文所 列举 的 编程 技 巧 和 编程 方 法 适 用 于所 有 厂 家的 P L C, 应用范围广泛。 参考文献 [ 1 ] 廖 常 初. 7 --3 0 0 / 4 0 0 P L C应 用 技 术 [ M] . 北 京 机 械 工业 出 版 社 , 2 0 1 1 [ 2] 胡健 . 西 门子 7 --3 0 0 P [ C应用 教程 [ M] . 北 京 机 械 工 业 『叶 J 版 社 . 2 0 0 7 第一作 者 陈鸿桂 , 1 9 8 1年生, 讲 师, 从事机 电控 制技术教学、 研究和管理工作。 编辑孙德 茂 收稿 13 期 2 0 1 41 2 3 0 文章编号 1 5 1 0 4 6 如果您想发表对本文的看法, 请将文章编号填入读者意见调查表中的相应位置。 ≯ z u’ ’ u