2.97k likes | 3.38k Views
第三章 PLC 的编程语言与指令系统 第一节 PLC 的编程语言 编程语言 —— 程序表明所采用的方式 现代 PLC 通常采用以下 几种编程语言:. 一、梯形图( Ladder Diagram) 及其格式 特点 —— 简单、直观、易学易懂、应用最为 广泛、最受电气技术人员欢迎 逻辑电路构成 —— 常开接点、常闭接点组合 功能 —— 逻辑运算、算术运算、数据传送、 变换与外部输出
E N D
第三章 PLC的编程语言与指令系统 第一节 PLC的编程语言 编程语言——程序表明所采用的方式 现代PLC通常采用以下 几种编程语言:
一、梯形图(Ladder Diagram)及其格式 特点——简单、直观、易学易懂、应用最为 广泛、最受电气技术人员欢迎 逻辑电路构成——常开接点、常闭接点组合 功能——逻辑运算、算术运算、数据传送、 变换与外部输出 表达形式——类似于继电器线路图 (图3-1)一个接触器的启、停 控制线路驱动一个逻辑线圈或 功能指令块
SB1 SB2 KM KM X0 X1 Y0 Y0 图3-1 继电器线路图与梯形图
SB1 SB2 KM X0 Y0 X1 PLC COM COM FR FU ~ ~ 输出供电电源 图3-2 PLC的I/O端口接线
SB1 SB2 KM X5 X1 Y0 KM Y0 SB1 SB2 KM X5 Y0 X1 PLC COM COM FR FU ~ ~ 输出供电电源
SB1 SB2 KM X0 Y0 X1 PLC COM COM FR FU ~ ~ X0 输出供电电源 X0 常开接通 常闭断开
SB1 SB2 KM KM X0 X1 Y0 Y0
SB1 SB2 KM KM X0 X1 Y0 Y0
SB1 SB2 KM KM X0 X1 Y0 Y0
SB1 SB2 KM X0 Y0 X1 PLC COM COM FR FU ~ ~ X1 输出供电电源 X1 常开接通 常闭断开
SB1 SB2 KM KM X0 X1 Y0 Y0
SB1 SB2 KM KM X0 X1 Y0 Y0
SB1 SB2 KM KM X0 X1 Y0 Y0
继电器线路图与梯形图有两个重要区别: 1)继电器线路图为并行工作方式 梯形图为串行工作方式 2)继电器线路图中常开、常闭接点的数量有限 梯形图中各类软器件用于内部编程的常开、常闭接点使用次数不受限制
另外: ——在梯形图左右两侧的直线称为左右母线 相当于继电器线路图中的左右电源线 ——与左母线相连的控制线路通常是一个由 常开、常闭接点组成的逻辑电路 ——与右母线相连接的是输出线圈、其他各 类软器件的逻辑线圈或功能指令块 ——在梯形图中右母线有时也可以省略。
二、指令语句表及其格式(语句表) ——是梯形图的一种派生语言 ——类似于汇编语言但更简单 表答 ——助记符形式的各类指令语句来描述梯形 图的逻辑运算、算术运算、数据传送与 处理或程序执行中的某些特定功能 基本格式——操作码+操作数 ——与梯形图之间有着严格的一一对应关系 ——特点是便于用户程序的输入、读出与修改
图3-1中的梯形图可以用下述几条语句来描述: 序号 操作码 操作数 程序步数 指令功能 0 LD X0 1 从母线开始取用 X0的常开触点 1 OR Y0 1 并联Y0常开触点 (“或”运算) 2 ANI X1 1 串联X1的常开触 点(“与”运算) 3 OUT Y0 1 Y0线圈输出
图3-3 ——带有功能指令块的FX2系列PLC的梯形图 表3-1 ——对应的指令语言表。
X0 X1 Y0 0 9 15 Y0 M100 T0 K123 Y0 MOV K100 D10 · · · 图3-3 PLC梯形图
三、顺序功能图及其格式( SFC ) ——近年国际电工协会(IEC)大力推广的新 编程标准 ——顺序功能图又称为功能表图或状态转移图 原理 ——它是将一个完整的控制过程分解为若干个 阶段(状态) ——各阶段有不同的动作或其他各种控制内容 ——阶段之间有一定的转换条件 ——一旦条件满足就实现状态的自动转移 ——上一阶段结束 ——下一阶段动作开始直至完成整个过程的控 制要求
特点——特别适用于复杂的顺序控制过程 ——状态器是实现SFC编程功能的专用编程软 器件 图3-4——是一个PLC控制机械手动作状态转移图 ——在自动方式下只要满足一定条件就置初 态S2为1 ——从下降开始直到左移回到原位 ——自动完成整个控制过程 注意: 顺序功能图与梯形图和指令语句之间有一一对 应关系 ——能够相互转换
M8002 自动方式初始状态 状态转移开始 原始位置条件 图3-4 机械手自动方式 下状态转移图 S2 M8041 M8044 S20 Y0 下降 X1 下限位 SET Y1 夹具夹紧 S21 T0 T0 K10 S22 T2 上升 X2 上限位 S23 T3 右移 1 2
1 2 X3 右限位 S24 Y0 下限 X1 RST Y1 夹具放松 S25 T1 T1 K10 S26 Y2 上升 X2 S27 Y4 右移 X4 左限位 图3-4 机械手自动方式下状态转移图
四、级式编程语言 ——是类似功能图的图形编程语言 图3-5 ——沿用了梯形图编程方法 ——在PLC内部开发了供编程使 用的通用与专用编程元件和 指令 (状态元件、级式指令)
110 转移条件 SG S10 转移目标 本级处理 Q1 10 Q10 10 JMP 55 图3-5 级式语言图与语句表程序
SG S10 ( 级S10登记 ) • OUT Q1 ( 无条件输出 ) • 23 LD 10 • OUT Q10 ( 条件输出 ) • LD 13 ( 级转移条件 ) • JMP S5 ( 转移目标 ) 图3-5 级式语言图与语句表程序
五、逻辑图编程语言 ——是一种图形编程语言 ——采用逻辑电路规定的“与”、 “或”、“非”等逻辑图符号依控 制顺序组合而成 ——是国际电工协会(IEC)颁布 的PLC编程语言之一 图3-6 ——是用此语言编制的一段PLC 程序
X3 X1 X2 OR AND Y30 NOT 图3-6 逻辑符号图程序
六、高级编程语言 ——中、大型PLC已采用 BASIC FORTRAN PASCAL C 等高级语言的PLC专用编程语言
第二节 PLC的基本指令及其编程应用 一、 PLC 的基本指令系统 (参考表3-2、 图3-7、图3-8) 1、基本指令——LD(取)、 LDI(取反) OUT(输出) LD —— 取用指定元件的常“开”触点; LDI —— 取用指定元件的常“闭”触点。 (起始取指令) OUT —— 是线圈输出指令 —— 是程序执行的结果 —— 总是出现在一个逻辑行的末
Y1 M101 T2 K20 Y2 X1 0 2 7 写母线相连 驱动指令 驱动(定时器)指令 设定常数,延时设定2s 与母线相连 驱动指令 X2 T2 图3-7 LD、LDI、OUT指令的应用
输入处理 X1=ON X2=OFF X1 1st 2nd Y3 Y4 Y3 Y3 X2 输出处理 Y3=OFF Y4=ON 图3-8 输出线圈重复使用的程序执行
2、逻辑运算指令(表3-3、图3-9、图3-10) —— AND(与) —— ANI (与非) —— OR (“或”) ——ORI (“或非”) —— ANB (块“与”) —— ORB(块“或”) AND —— 串联一个常“开”触点;; ANI —— 串联一个常“闭”触点。 ( “与”“与非”是单个触 点的串联指令)
X1 X2 Y5 Y6 Y7 0 3 串联 常开接点 串联 常闭接点 X3 X4 X5 图3-9 AND、ANI 指令的应用
OR ——并联一个常“开”触点; ORI ——并联一个常“闭”触点。 (“或”“或非”是单个触点的串联指令) ANB、ORB —— 是块“与”“或”指令 —— 用于程序块的串联或并 联连接 —— 该指令无操作数。
X1 Y1 M100 0 4 X2 并联接点 并联接点 M105 X3 X4 M100 M110 图3-10 OR、ORI指令的应用
X0 X1 Y5 X2 X3 X4 X5 图3-11 ORB 指令的应用
X0 X2 Y0 X1 X3 X4 图3-12 ANB 指令的应用
3、内部信息与器件状态处理指令 (表3-4、图3-13~图3-18 ) MPS、MRD、MPP、PLS、PLF、SET、RST MPS、MRD、MPP ——多重输出指令 ——用于多重输出电路
MPS——指令将接点状态储存起来(进栈) MRD或MPP——指令读出 ——对于同一个接点状态MRD 指令可以多次使用读出后栈 内容不变 ——各层内容也不移动 MPP——指令只能使用一次 ——读出后栈内容消失(全零) MPS与MPP——必须成对使用且连续使用应 少于11次 注意
MPS X000 X001 X002 0 7 14 Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7 1 2 3 n MRD MPS MPP MPP MPS X003 X004 MPP X005 MPS X006 X007 X010 MRD X011 MRD X012 MPP 图3-13 栈存储器与多重输出指令的应用
MPS X000 X001 Y0 X002 X003 X004 Y1 MRD X005 X006 X007 Y2 MPP X010 Y3 X011 图3-14 一层栈电路
X002 X000 X001 Y0 X003 MPS Y1 MPS MPP X004 X005 Y2 MPP X006 Y3 MPS MPP 图3-15 二层栈电路
MPS MPS MPS MPS X003 X000 X001 X002 X004 Y0 Y1 MPP Y2 MPP Y3 MPP Y4 MPP 图3-16 四层栈电路
PLS与PLF —— 脉冲输出指令 —— 被操作元件的脉冲输出宽度为 一个程序扫描周期 PLS(上升沿微分)—— 在信号的上升沿输出 PLF(下降沿微分)—— 在信号的下降沿输出 PLS、PLF ——不能应用于输入继电器X、状态 器 S 和特殊型辅助继电器 M 注意
脉冲指令的用法: 1)一组与LD、AND、OR指令相对应的脉冲式操作指令。触点只在操作元件有上升/下降沿时导通一个扫描一个周期 2)PLS、PLF指令的软元件指定为辅助继电器(M)