PLC第3章
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3.1.9 逻辑堆栈操作指令
堆栈是一组能够存储和取出数据的暂存单元,其特点是“后进先 出”,每一次进行入栈操作,新值放入栈顶,栈底值丢失;每一次 进行出栈操作,栈顶值弹出,栈底值补进随机数。S7-200 PLC使用 了一个9层堆栈来处理所有逻辑操作,逻辑堆栈指令主要用来完成对 触点进行的复杂连接,配合ALD、OLD指令使用。 1.指令
第3章 S7-200 PLC的基本指令及程序设计 主 要 内 容
基本逻辑指令及应用 程序控制类指令 编程及应用
3.1 基本指令
3.1.1 输入输出指令
指令格式:LAD及STL格式如图所示
LAD指令格式: STL指令格式: LD bit LDN bit = bit
(a) 取指令
(b) 取反指令
I1.0 5 LD I1.0 TON T37,5 T37 TON IN PT I1.0 T37 (当前值) T37 (位) PT=5
有记忆接通延时定时器(TONR)
输入端(IN)接通时,定时器(TONR)接通并开始计时,当定时器当 前值等于或大于设定值(PT)时,该定时器位被置位为“1”。定时器累 计值达到设定值后,继续计时,一直计到最大值32767。 输入端(IN)断开时,定时器的当前值保持不变,定时器位不变。
(I0.0) (M0.1)
LD A =
M0.0 I0.0 Q0.0
KM2
(Q0.1)
LD AN = AN =
Q0.0 M0.1 Q0.1 Q0.1 M0.0
KM1
(Q0.0)
KM2
(Q0.1)
KA1
(M0.0)
(a) 梯形图
(b) 语句表
图3-4
电气原理图
图3-5
触点串联指令编程使用举例
触点并联指令使用说明:
LD A LDN A OLD LD AN OLD = I0.0 I0.1 I0.2 I0.3 I0.2 I0.3 Q0.1
触点并联指令使用 说明: OLD、ALD指令无 操作数。 在块电路开始时 要使用LD或LDN指令。
(a) 梯形图
(b) 语句表
图3-9
或块指令的应用
LD O LD AN LDN A OLD ALD O = (a) 梯形图
(I0.0)
KM1
(Q0.1)
LDN = =
Q0.1 Q0.2 M0.0
KM1
(Q0.1)
KM2
(Q0.2)
KA
(M0.0)
(a) 梯形图
(b) 语句表
图3-2
电气原理图
图3-3
输入输出指令编程使用举例
输入输出指令使用说明: LD、LDN、=指令的操作数为:I、Q、M、SM、T、C、V、S、 L(位)。T和C也可作为输出线圈,但在S7-200中输出时不是 以使用 = 指令形式出现(见定时器和计数器指令)。 LD、LDN不止是用于网络块逻辑计算开始时与母线相连的 常开和常闭触点,在分支电路块的开始也要使用LD、LDN指令。 并联的 = 指令可连续使用任意次。 在同一程序中不能使用双线圈输出,即同一个元器件在同 一程序中只使用一次 = 指令。
所以写在后面的指令具有优先权。
如果对计数器和定时器复位,则计数器和定时器的当前值被 清零。定时器和计数器的复位有其特殊性,具体情况大家可参 考计数器和定时器的有关部分。
3.1.7 边沿脉冲指令
EU (a) 上升沿脉冲 ED (b) 下降沿脉冲
指令格式:LAD及STL格式如图所示
图3-15
边沿脉冲指令
3.1.8 立即指令Fra bibliotek指令格式:LAD及STL格式如图所示
SI bit, N (a) 立即置位
RI bit, N (b) 立即复位
图3-18 立即置位/复位指令
立即置位/复位指令使用说明: 1. bit只能为Q 2. N的范围为:1~125 3. N的操作数同S/R指令
例3-8 图3-19为立即指令的应用
图3-21
一层堆栈电路
例3-10 图3-22为二层堆栈电路
LD LPS AN LPS A = LPP A = LPP AN LPS A = LPP A = (a) 梯形图 I0.0 I0.1 M0.0 Q0.0 M0.1 Q0.2 I0.2 M0.2 Q0.3 M0.3 Q0.4
(b) 语句表
图3-22
3.1.2 触点串连指令
与指令:用于单个常开触点的串联连接。 指令格式:A bit 与反指令:用于单个常闭触点的串联连接。 指令格式:AN bit
例3-2 触点串联指令的应用举例。图3-4为电气原理图(已标 地址),图3-5为对应的梯形图和语句表。
KA1
(M0.0)
KM1
(Q0.0)
KA2 SB
⑶ 功能
接通延时定时器(TON)
输入端(IN)接通时,定时器(TON)开始计时 当定时器的当前值等于或大于设定值(PT)时,该定时器位被置位为“1”。 当达到设定时间后,TON继续计时,一直计到最大值32767。 输入端(1N)断开时,定时器TON复位,即当前值为“0”,定时器位为“0” (Off)。 例如:TON指令使用T37(为100ms分辨率的定时器),设定值为5,则实际定时时间 为 T = 5×100ms = 500ms
例3-7 图3-16为边沿脉冲指令的应用
LD EU =
I0.0 M0.0
LD S
M0.0 Q0.0,1
I0.0 LD ED = I0.1 M0.1 M0.0 I0.1 M0.1 LD R M0.1 Q0.0,1 Q0.0 (c) 时序图 (a) 梯形图 (b) 语句表
图3-16
边沿脉冲指令的应用举例
(a) 置位指令
(b) 复位指令
图3-13
置位与复位指令
置位指令(Set):从bit开始的N个元件置1并保持。 复位指令(Reset):从bit开始的N个元件清零并保持。
例3-6 图3-14为S/R指令的应用。
LD S
I0.1 Q0.1,2
I0.1 I0.2
LD R (a) LAD
I0.2 Q0.1,2
堆栈指令使用说明: LPS和LPP指令必须成对使用。 堆栈层数应少于9层,也就是说LPS、LPP指令连续使用时应少于9次。 LPS、LRD、LPP指令无操作数。
3.1.10 定时器
1.定时器的分类
1)按功能分类
Txxx
TON T***,PT (a) 接通延时定时器 TONR T***,PT (b) 有记忆接通延时定时器 TOR T***,PT (c) 断开延时定 时器
I0.0 I0.1 M0.1 M0.2 M0.3 M0.4
在每完成一次块 电路的并联时要写 上OLD指令、每完成 一次块电路的串联 时要写上ALD指令。
I0.2 Q0.0
(b) 语句表
图3-10
与块指令的应用
3.1.5 取反指
指令格式:LAD及STL格式如图3-11所示。 功能:又称取非指令。用于对某一位的逻辑值 取反,无操作数。
图3-6
不可连续编使用 = 指令的电路
3.1.3 触点并连指令
或指令:用于单个常开触点的并联连接 指令格式:O bit 或反指令:用于单个常闭触点的并联连接 指令格式:ON bit
例3-3 触点并联指令的应用举例。图3-7为电气原理图(已标地址), 图3-8为对应的梯形图和语句表。
KA1
(M0.1)
输入端(IN)再次接通,定时器当前值从原保持值开始向往上继续
图3-7
电气原理图
图3-8
触点并联指令编程使用举例
3.1.4 电路块的连接指令
或块指令:用于串联电路块的并联连接 指令格式:OLD 两个以上触点串联形成的支路叫串联电路块 与块指令:用于并联电路块的串联连接 指令格式:ALD 两条以上支路并联形成的电路块叫并联电路块
例3-4
图3-9、图3-10分别为或块指令和与块指令的应用。
A、AN、指令的操作数为:I、Q、M、SM、T、C、V、S、L(位)。
A、AN是单个触点串联连接指令,可连续使用。但在用梯形图编程 时会受到打印宽度和屏幕显示的限制。S7-200 PLC的编程软件中规定
的串联触点使用上限为11个。
图3-5所示的电路,可以反复使用 = 指令,但次序必须正确,不 然就不能连续使用 = 编程。图3-6所示电路就不属于连续输出电路。
LD LPS LD O ALD = LRD LD A LD A OLD ALD = LPP A = LD O ALD = I0.0 I0.1 Q0.0 Q0.0 M0.0 M0.1 M0.2 M0.3
LPS
LRD
Q0.1 M0.4 Q0.2 M0.5 M0.6 Q0.3
LPP
(a) 梯形图
(b) 语句表
(c) 输出指令
图3-1
输入输出指令
取指令LD: 用于与母线连接的常开触点。 取反指令LDN:用于与母线连接的常闭触点。 输出指令=: 也叫线圈驱动指令。
例3-1 输入输出指令的应用举例。图3-2为电气原理 图(已标地址),图3-3为对应的梯形图和语句表。
LD =
I0.0 Q0.1
SB
KA2
(M0.2)
KA3
(M0.3)
SB
(I0.0)
LD ON A O =
M0.1 M0.2 I0.0 M0.3 Q0.1
KM1
(Q0.1)
触点并联指令使用说 明: O、ON指令的操作 数为:I、Q、M、 SM、T、C、V、S 和L。 单个触点的O、ON 指令可连续使用。
(a) 梯形图
(b) 语句表
LD = =I SI
I0.0 Q0.0 Q0.1 Q0.2,1
LDI = (a) 梯形图
I0.0 Q0.3
(b) 语句表
(c) 时序图
图3-19
立即指令使用举例
必须指出:立即I/O指令是直接访问物理输入输出点的,比一般指令访问输入输出映像寄存 器占用CPU的时间要长,因而不能盲目地使用立即指令,否则,会加长扫描周期的时间,反 而对系统造成不利的影响。
二层堆栈电路
例3-11 图3-23为四层堆栈电路
LD LPS A LPS A LPS A LPS A = LPP = LPP = LPP = LPP = I0.0 I0.1 I0.2 I0.3 I0.4 Q0.0 Q0.1 Q0.2 Q0.3 Q0.4
(a) 梯形图
(b) 语句表
图3-23
四层堆栈电路
上升沿脉冲指令:指某一位操作数的状态由0变为1的边沿过程, 可产生一脉冲。这个脉冲可以用来启动一个控制程序、启动一个运 算过程、结束一个控制等等。 注意:上升沿脉冲只存在一个扫描周期,接受这一脉冲控制的元件 应写在这一脉冲出现的语句之后。 下降沿脉冲指令:指某一位操作数的状态由1变为0的边沿过程, 可产生一脉冲。这个脉冲可以像上升沿脉冲一样,用来启动一个控 制程序、启动一个运算过程、结束一个控制等等。 注意:边沿脉冲只存在一个扫描周期,接受这一脉冲控制的元件应 写在这一脉冲出现的语句之后。
1)逻辑入栈指令 指令格式:LPS 2)逻辑读栈指令 指令格式:LRD 3)逻辑出栈指令 指令格式:LPP 4)装入堆栈指令 指令格式:LDS n
n的范围:0~8的整数
用于生成一条 新的母线
开始右侧的第 一个从逻辑块 编程
复位新母线
复制堆栈中的 第n个值到栈顶
2.逻辑堆栈指令应用
例3-9 图3-21为一层堆栈电路
例3-5
图3-12为NOT指令的应用
LD A = NOT = I0.0 I0.1 Q0.0 Q0.1
(a) 梯形图
(b) 语句表
I0.0 I0.1 Q0.0 Q0.1 (c) 时序图
图3-12 NOT指令应用
3.1.6 置位与复位指令
指令格式:LAD及STL格式如图所示
S
bit, N
R
bit, N
图3-24
定时器指令
IN:表示输入的是一个位值逻辑信号,起着一个使能输入端的作用。 Txxx:表示定时器的编号。 PT:定时器的初值。
⑵ 操作数的取值范围
Txxx: IN: PT: WORD BOOL INT 常数(0~255); 能流; VW,IW,QW,MW,SW,SMW,LW,AIW,T,C,AC, *VD,*AC,*LD及常数。
Q0.1,Q0.2
(b) STL
(c) 时序图
图3-14
S/R指令使用举例
S/R指令使用说明:
S/R指令的操作数为:I、Q、M、SM、T、C、V、S和L。 N的常数范围为1~255,N也可为:VB、IB、QB、MB、SMB、 SB、LB、AC、常数、*VD、*AC和*LD。一般情况下使用常数。 对位元件来说一旦被置位,就保持在通电状态,除非对它复 位;而一旦被复位就保持在断电状态,除非再对它置位。 S/R指令可以互换次序使用,但由于PLC采用扫描工作方式,