第6章程序控制指令-

合集下载

第6章 S7-300PLC指令系统及编程(1)

第6章 S7-300PLC指令系统及编程(1)
1、“与嵌套”指令
“与嵌套”指令用于电路块串联的编程。其指令格式如下: A( ——与嵌套开始指令 )——与嵌套结束指令
图6-6
2、“或嵌套”指令 “或嵌套”指令用于电路块并联的编程。其指令格式如下: O( ——或嵌套开始指令 )——或嵌套结束指令
图6-7
3、说明:先与后或(即电路元件先串后并)可不用嵌套指令中的 括号,如图6-8所示。
3.二分频器程序编写
图6-18 抢答器程序
二分频器是一种具有一个输入端和一个输出端的功能单元,输出频
率为输入频率的一半。实现二分频的方法有很多种,下面介绍其中
两种:
(1)利用“与”“或”指令实现二分频程序。 设输入为I1.0,输出为Q4.0,根据二分频要求I1.0接通2次,Q4.0只接
通1次。其波形如图6-19所示。
②复位/置位的LAD指令只能放在逻辑串的最右端,不能放在逻辑 串的中间,它们也属于输出指令。
③置位指令具有保持功能,即使指定位地址的“位”一直为1,直 到复位指令把它清零。
图6-11说明了复位/置位指令的用法。
图6-11
图6-11的程序中,只要I1.0一闭合,不论I1.0闭合后又断开,Q4.0 一直保持通电状态(1态,直到I2.0闭合且不论闭合后又断开,Q4.0 才断电(0态)。其功能同电动机的起停保控制电路类似。
验灯程序的编写很简单。在
PLC中用1个输入点如I3.7,其外 部连接一个常开按钮。由于I3.7 的内部触点是无数的,控制指示 灯输出点的梯形图上均并联1个 I3.7常开触点,当它闭合时指示 灯均亮,以查验灯的好坏。
2.利用触发器编写第一信号记录程序
图6-17 验灯程序
在工业现场一旦有故障发生可能随之带来多个故障,如果能找出

第6章S7-200PLC顺序控制程序设计方法.

第6章S7-200PLC顺序控制程序设计方法.

08:09:56
天津职业技术师大自动化学院
第6章 S7-200PLC顺序控制程序设计方法
08:09:56
Байду номын сангаас
天津职业技术师大自动化学院
第6章 S7-200PLC顺序控制程序设计方法
初始步
转移条件
工作步
08:09:56
天津职业技术师大自动化学院
第6章 S7-200PLC顺序控制程序设计方法
三个电机顺序启停 的控制程序
手动启动按钮i00泵p1接触器q001号容器满i01泵p2接触器q011号容器空i02泵p3接触器q022号容器满i03泵p4接触器q032号容器空i04泵p5接触器q043号容器满i05泵p6接触器q053号容器空i06加热器接触器q064号容器满i07搅拌器接触器q074号容器空i10温度传感器i1109
08:09:56
天津职业技术师大自动化学院
第6章 S7-200PLC顺序控制程序设计方法
6.1.2 步(状态)与动作
顺序控制设计法的最基本思想:
将系统的一个工作周期划分为若干个顺序相连的阶段,这些阶 段称为步,并用编程元件来代表各步。步是根据输出量的状态来划 分的,在任何一步之内,各输出量的ON/OFF状态不变,但相邻两 步输出量总的状态是不同的。步的划分使代表各步的编程元件的状 态与各输出量的状态之间有着极为简单的逻辑关系。
转换条件控制代表各步的编程元件,让它们的状态按一定的控 制顺序变化,然后用代表各步的编程元件去控制PLC的各输出。
步用方框表示,并用辅助存储器的编号作为步的顺序编号。
08:09:56
天津职业技术师大自动化学院
第6章 S7-200PLC顺序控制程序设计方法
图5-11 波形图

第6章功能指令

第6章功能指令

名词:脉冲执行方式
功能指令有两种执行方式:连续执行方式 和脉冲执行方式。(1分)脉冲执行方式表 示只有在输入信号由OFF变为ON的瞬间执 行功能指令,在下面的循环扫描过程中, 即使输入信号保持ON的状态也不执行。 (1分)在指令语句中,若在功能指令的后 面加“(P)”,就表示此指令将以脉冲方 式执行。
14.设D10为F00FH,则当X10接通, SUM指令执行后,D20值为( C ) A.0 B.10 C.8 D.16
X 10
SUM
D10
D 20
15.设D10为F00FH,D20为FF00H。则当 X10接通,WXOR指令执行后,D30为 ( B ) A.F00FH B.0F0FH C.FF00H D.F0F0H
X0
NEG ( P)
D0
4.一个存储容量为500步的PLC,可推知 其存储容量为 1000 字节。 14.一个存储容量为1000步的PLC,可推 知其存储容量字节数为(D ) A.250 B.500 C.1000 D.2000
11.下面必须成对使用的指令是( D ) A.MRD、MPP B.LD、OUT C.RET、RST D.FOR、NEXT 17.表示禁止中断的功能指令是(B ) A.EI B.DI C.IRET D.NEXT
4.PLC语句中的操作数一般由源操作数和 目的操作数 组成。 18.表示一个程序步的指令是( D ) A.MC B.MCR C.ADD D.END
结合下图说说功能指令的主要要素
X0
FNC 45 ( D ) MEAN ( P )
[ S ]
[ D]
n
D0
D10
K3
FNC45:指令的功能号;(1分)MEAN:指令 的助记符;(1分)(P):指令的执行方式, 为脉冲执行方式;(1分)(D):指令的数据 长度为32位,默认为16位;(1分)[S]:为源 操作数,有D0,D1和D2;[D]:为目操作数, 有D10;n:操作数个数,这里为3。

电气控制与PLC应用技术(中国电力出版,崔继仁)PPT 第6章 顺序控制指令

电气控制与PLC应用技术(中国电力出版,崔继仁)PPT  第6章 顺序控制指令

PLC的输入/输出地址分配如表所示。
输入/输出地址分配 编程元件 元件地址 10.0 数字量输入 DC24V 10.1 Q0.0 数字量输出 DC24V Q0.1 Q0.2 符号 Start Stop KM1 KM2 KM3 传感器/执行器 常开按钮 常开按钮 接触器,“1”有效 接触器,“1”有效 接触器,“1”有效 说明 启动按钮 停止按钮 控制电机M1 控制电机M2 控制电机M3
人 行 道 交 通 灯 时 序
车道时序
Q0.2
Q0.1
Q0.0
Q0.2
I0.0 I0.1
人行道时序
30s
10s
5s
20s
5s
5s
Q0.3
Q0.4
Q0.3
功能图
自助行人过街信号灯的设计 控制要求: (1)初始状态,车道绿灯亮,人 行道红灯亮; (2)若没有按下过街按钮,车道 绿灯以50秒为周期连续常亮; (3)若有人按下过街按钮,车道 绿灯保持最后一个50秒周期常亮, 周期结束后,车道红灯亮,人行道 绿灯亮,人行道绿灯保持25秒后, 车道绿灯亮,人行道红灯亮。
I0.0
M1 5s M2 10s M3
S0.1
S0.3
S0.5
I0.1
M3 10s M2 5s M1
S0.6
S0.7
S1.0
图6-9 电动机顺序启动/逆序停止控制示意图
该控制系统的功能图如图6-10所示。
图6-10 电动机顺序启动/逆序停止顺序功能图
第三节
顺序控制指令应用举例
当I0.0=1或I0.1=1时, 车道Q0.2=1保持,人 行道Q0.3=1保持; 30s后, Q0.2=0,Q0.1=1; 10s后, Q0.1=0,Q0.0=1; 5s后, Q0.3=0,Q0.4=1; 20s后, 绿灯闪烁(Q0.4=0、 1交替); 5s后, Q0.2=1,Q0.3=1

(电气控制与PLC)第六章S7-1200的指令

(电气控制与PLC)第六章S7-1200的指令

2021/1/13
福州大学电气工程与自动化学院
16
定时器指令——定时器的输入输出参数
TP、TON 和 TOF 定时器具有相同的输入和 输出参数
TONR 定时器具有附加的复位输入参数 R
2021/1/13
福州大学电气工程与自动化学院
17
定时器指令——定时器的输入输出参数
参数 IN从0变为1将启动TP、TON 和 TONR,从 1变0 将启动 TOF
福州大学电气工程与自动化学院
14
提纲
1. 位逻辑指令 2. 定时器指令 3. 计数器指令 4. 数据处理指令
2021/1/13
福州大学电气工程与自动化学院
15
定时器指令
S7-1200 PLC有4种定时器: ➢ TON:接通延迟定时器 (ON) ➢ TONR:保持型接通延迟定时器 (ON+Reset) ➢ TOF:关断延迟定时器 (OFF) ➢ TP: 脉冲定时器 (Pulse)
避免循环扫描导致指令重复执行
触点下面的M4.3为边缘存储位,用来存储上一个扫描周期时 I0.6的状态,通过比较输入信号的当前状态和上一个扫描周期的 状态来检测信号的边沿
2021/1/13
福州大学电气工程与自动化学院
9
位逻辑指令——乒乓电路设计
用位逻辑指令实现以下功能: 按一次按钮I0.0,输出Q4.0亮,再按一次按钮,输出Q4.0灭; 重复以上。
44
用比较和计数指令编写开关灯程序 要求灯控按钮I0.0按下一次,灯Q4.0亮,按下两次, 灯Q4.0,Q4.1全亮,按下三次灯全灭,如此循环。
2021/1/13
福州大学电气工程与自动化学院
45
灯控按钮 I0.0 按 下一次,灯 Q4.0 亮,按下两次,灯 Q4.0,Q4.1 全亮, 按下三次灯全灭, 如此循环。

第6章 应用指令

第6章 应用指令

算术运算指令:举例
yi 1 yi y yi ( x xi ) xi 1 xi
式中yi和xi是测量值所在区 段的低端分界点的值。输入 值x在D0中,输出值y在D1中。 设x0、x1、x2、…、x9在 D10~D19中,y0、y1、 y2、…、y9在D20~D29中。
第6章 FX系列PLC的应用指令 LD SUB SUB SUB MUL M8000 D0 D10Z D21Z D20Z D11Z D10Z D2 D3
用移位寄存器写入、读出指令实现先入库的产品先出库
LDP X20
//在入库按钮X20的上升沿
MOV K4X0 D2ቤተ መጻሕፍቲ ባይዱ6
品的编号
//来自X0~X17的产品编号送到D256
SFWR D256 D257 K100 //D257作为指针,D258 ~356存放99件产
LDP
X21
//先进入产品的编号送至D357
常数10送Z
LD
M8000
Z D9Z
MOV K10 P1 LD< D0
如果D0<D9Z, 比较触点接通, 否则断开
DEC
CJ
Z
P1 返回标号 P1处,继 续比较
第6章 FX系列PLC的应用指令
6.2.2 子程序调用与子程序返回指令
子程序应放在FEND (主程序结束)指令 之后,同一指针只能 出现一次,CJ指令中 用过的指针不能再用, 不同位置的CALL指 令可以调用同一指针 的子程序。在子程序 中调用子程序称为嵌 套调用,最多可以嵌 套5级。
LDP
X1
//在X1的上升沿 //变址寄存器Z清零
D10
RST
Z
MOV K50 FOR K8

西门子2000 第6章功能指令

西门子2000 第6章功能指令

6.3 局部变量表与子程序
6.3.1 局部变量表 1.局部变量与全局变量 程序中的每个程序组织单元POU(Program Organizational Unit)均有由64 字节L存储器组成的局部变量表。局部变量只在它被创建的POU中有效,全 局符号在各POU中均有效。局部变量有以下优点: (1) 尽量使用局部变量的子程序易于移植到别的项目。 (2) 如果使用临时变量(TEMP),同一片物理存储器可以在不同的程序 中重复使用。 2.局部变量的类型 TEMP (临时变量):暂时保存在局部数据区中的变量。主程序或中断程序 的局部变量表只有TEMP变量。 IN (输入变量):由调用它的POU提供的传入子程序的输入参数。 OUT(输出变量):子程序返回给调用它的POU的输出参数。 IN_OUT(输入_输出变量):其初始值由调用它的POU提供,并用同一变量将 子程序的执行结果返回给调用它的POU。
移位指令-双字左移和双字右移
SLD和SRD,双字左移和双字右移。指令盒与字节移 位比较,只有名称变为SHL_DW和SHR_DW,其他部分 完全相同。使能输入有效时,把双字型输入数据IN 左移或右移N位后,再将结果输出到OUT所指的双字 存储单元。最大实际可移位次数为32。 指令格式: SLD OUT, N (双字左移) SRD OUT, N (双字右移) 例: SLD MD0, 2 SRD LD0, 3
块传送
指令可用来进行一次多个(最多255个)数据的传送,数据块 类型可以是字节块、字块、双字块。 三条指令中N的寻址范围都是:VB、IB、QB、MB、SB、SMB、 LB、AC、*VD、*AC、*LD和常数。 使ENO断开的出错条件:SM4.3(运行时间);0006(间接寻 址);0091(数超界)。

6-FX系列PLC功能指令及应用[1]

6-FX系列PLC功能指令及应用[1]

第6章第9页
EXIT
第6章 FX2N PLC功能指令及应用
6.1.3 位元件和字元件
当一个16bit的数据传送到K1M0、K2M0或K3M0(使用 MOV指令)时,只传送相应的低位(bit)数据。较高位 的数据不传送。32bit数据传送时也一样。
例如
若X1为ON时用连续传送的方式传送M0~M7组成的8位二 进制数到D0数据寄存器。传送前的M0~M15组成的16bit 数如下:
6.1.1 功能指令的表现形式
[S]:(SOURSE)源操作数。若可使用变址功能时,表达为 [S·]。有时源操作数不止一个,可用[S1·]、[S2·]表示。
[D]:(DESTINATION)目标操作数。若可使用变址功 能时,表达为[D·]。目标不止一个时用[D1·]、[D2·] 表示。
m、n:其他操作数。常用来表示数的进制(十进制、 十六进制等)或者作为源操作数(或操作地址)和目标操 作数(或操作地址)的补充注释。需要注释的项目多时也 可以采用m1、m2等方式。
第6章第15页
EXIT
第6章 FX2N PLC功能指令及应用 6.2 程序流程控制
指令: SRET FNC02 操作元件:无 程序步数:Leabharlann 步子程 序返梯形图
功能: 与CALL指令对应的子程序结束返
回CALL指令后的程序顺序执行。
第6章第16页
EXIT
第6章 FX2N PLC功能指令及应用
6.2 程序流程控制
梯形图
功能: 若扫描周期超过
100ms,PLC将停止 运行。此时,应将 WDT指令插入到合 适的位置刷新警戒 时钟,使程序执行 到END。
第6章第21页
EXIT
第6章 FX2N PLC功能指令及应用
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

• START和START1、START2是转移目的标号(符号地址, NEAR类型)
• START指示的目的地址与当前地址间的转移范围在-128~+127个字节内。
• JTABLE是变量,类型为WORD(实模式),DWORD(保护模式)、 QWORD(保护模式)。
无条件转移指令JMP—段间转移
寻址 方式 直接
Example2
• 例,JMP指令的使用,远跳转。
EXTRN UP: FAR XOR BX, BX START: MOV AX, 1 ADD AX, BX …… JMP FAR PTR NEXT …… JMP UP
Example3
• 例,全局标号和局部标号的使用。 MAIN PROC JMP L2 ;错误! L1:: …… ;全局标号 …… RET MAIN ENDP
• 均为直接转移:使用标号地址,机器码中为相对位移量disp。
• 条件转移指令不影响状态位。
条件转移指令
• 条件转移指令分为两类: – 直接标志转移:这类指令在助记符中直接给出标志状态的 测试条件,如jc、jnc、jz、jnz。
– 间接标志转移:这类指令在助记符中不直接给出标志状态 的测试条件,但仍以某一个或某几个标志的状态作为测试 条件。 • 无符号数: – JA:高于/不低于等于,JB:低于/不高于等于,… • 有符号数: – JG:大于/不小于等于,JL:小于/不大于等于,…
条件设置指令
• 83086以上CPU含有条件设置指令。 – 条件设置指令的功能:根据对条件进行测试的结果,或者 把一个字节设置为01H,或者把该字节清除为00H。 – 有近20条条件设置指令,格式类似。
• 以SETC为例: – 格式:SETC REG8/MEM8 – 功能:如果进位标志位1,则REG8/MEM8置为1,否则为0。
SUB PROC L2: …… ;局部标号 JMP L1 ;正确 RET
SUB ENDP
条件转移指令
• 条件转移指令共计21条,这些指令根据上一条指令执行后处 理器的状态标志,确定程序的执行方向。
• 转移范围: – 对于16位微机,均为短转移:目的地址必须在当前段内, 且与下一条指令的第一个字节的距离在-128~127内。 – 对于80386以上微处理器,为近转移(32KB范围)。 – 在Pentium4的64位模式下,为近转移(2GB范围)
无条件转移指令JMP
1. 对于位移量为8位的短转移,在标号前可以加说明 符SHORT,也可以省略不写。
2. 对于位移量位16位的近转移,在标号前可以加说明 符NEAR PTR,也可以省略不写。
3. 默认情况下,代码标号(标号后跟单个冒号)有一 个局部域,对其所在过程内的语句可见,这阻止了 跳转或循环语句转移到当前过程之外的标号。
• 循环指令
– LOOP,LOOPE,LOOPZ,LOOPNE,LOOPNZ
转移类型与寻址方式
• 段内转移:同一个段,只改变IP/EIP/RIP – near类型:16位,或32位,或64位偏移量(64位 模式,实际是40位) – short类型:8位(是near类型的一个特例)
• 段间转移:不同段,改变CS: IP/EIP/RIP – far类型
4. 少数情况下,如果必须将控制转移到当前过程之外 的标号处,标号必须被声明为全局的。声明全局标 号,要在标号后跟两个冒号。
Example1
• 例,JMP指令的使用,段内跳转。
XOR BX, BX START: MOV AX, 1
ADD AX, BX JMP SHORT NEXT …… NEXT: MOV BX, AX JMP START
第6章 程序控制指令
罗文坚 中国科大 计算机学院 /~wjluo/mcps/
本章内容
• 转移指令 • 控制汇编语言程序的流程 • 过程 • 中断概述 • 机器控制及其他指令
转移指令
• 无条件转移指令
– JMP
• 条件转移指令和条件设置指令
– 条件转移指令:JA,JAE,JBE,…… – 条件设置指令:SETA,SETAE,SETB,……
• 直接寻址:标号地址、立即数 • 间接寻址:目标地址在REG或MEM中
无条件转移指令JMP
• JMP指令:无条件将程序转移到指令指定的目的操 作数。 – 不记录返回地址信息。
• JMP指令可以实现段内转移和段间转移。
• JMP指令的操作数可以是立即数、通用寄存器、存 储器地址。
无条件转移指令JMP—段内转移
条件转移指令
单标志位
助记符
测试条件
JAE/JNB CF=0
JB/JNAE CF=1
JC
1
JNC
CF=0
JE/JZ
ZF=1
JNE/JNZ ZF=0
JNO
OF=0
JO
OF=1
JNP/JPO PF=0
JP/JPE PF=1
JNS
SF=0
JS
SF=1
多标志位,无符号数
助记符
测试条件
JA/JNBE (CF∨ZF)=0
寻址 操作数类型 方式
操作数的使 指令实例 用方式
直接 间接
标 1字节立即数 号 2字节立即数
4字节立即数 $ 立即数 寄存器操作数
存储器操作数
加入 IP/EIP/RIP
送入 IP/EIP/RIP
JMP SHORT START JMP START1 JMP START2 JMP $+2 JMP BX 或 JMP EBX JMP RBX JMP JTABLE[BX]
间接
操作数类型
标 4字节立即数 号 6字节立即数
10字节立即数 存储器操作数
操作数的使 用方式 送入CS和 IP/EIP/RIP
送入CS和 IP/EIP/RIP
指令实例 JMP START3
JMP JTABLE1[BX]
• START3是标号,类型是FAR。
• JTABLE1是变量,类型为DWORD(实模式),FWORD( 保护模式)、TWORD(64模式) 。
JBE/JNA (CF∨ZF)=1
多标志位,带符号数 JGE/JNL (SF OF) = 0 JL/JNGE (SF OF) = 1 JG/JNLE ( (SFOF)∨ZF )= 0 JLE/JNG ( (SFOF)∨ZF )= 1
JCXZ JEXC JRCX
CX/ECX/RCX CX=0 ECX=0 RCX=0
相关文档
最新文档