第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功能指令及应用

第6章 三菱FX2N系列可编程序控制器及其基本指令

第6章 三菱FX2N系列可编程序控制器及其基本指令

如上图所示,当在执行第十次的线圈指令时,输出触点动作。如果复位输 入X010为ON,则执行RST指令,计数器的当前值为0,输出触点复位。计数 器的设定值,除用常数K设定外,还可由数据寄存器指定。
第六章三菱FX2N系列 可编程 序控制器及其基本指令 32位增/减双向计数器(停电保持用:C200~C219;特殊用:C220~C234) 32位增/减双向计数器的值有效范围为-2147483648~+2147483647。
FX2N系列PLC的定时器(T)有以下4种类型: 100ms定时器: T0~T199,200点。定时范围:0.1~3276.7s; 10ms定时器: T200~T245,46点。定时范围:0.01~327.67s; 1ms累积型定时器:T246~T249,4点,执行中断保持。 定时范围:0.001~32.767s; 100ms累积型定时器:T250~T255,6点,定时中断保持, 定时范围:0.1~3276.7s FX2N系列PLC定时器设定值可以采用程序存储器内的常数(K)直接 指定,也可以用数据寄存器(D)的内容间接指定。使用数据寄存器 设定定时器设定值时,一般使用具有掉电保持功能的数据寄存器,这 样在断电时不会丢失数据。
第六章三菱FX2N系列 可编程 序控制器及其基本指令
数据寄存器
数据寄存器是存储数值数据的软元件,可以处理各种数值数据。
类型:
一般用:D0~D199,200点,通过参数设定可以变更为停电保持型。 停电保持用:D200~D511,312点,通过参数设定可以变为非停电保持型。 停电保持专用:D512~D7999,7488点,无法变更其停电保持特性。根据 参数设定可以将D1000以后的数据寄存器以500点为单位设置文件寄存器。 特殊用:D8000~D8255,256点。 变址寄存器 :V0~V7,Z0~Z7,16点。

第6章 应用指令

第6章 应用指令

• 6.3 比较、传送与数据变换指令
• 6.3.1 比较指令
• 比较指令包括CMP(比较)和ZCP(区间比较), 比较结果用目标元件的状态来表示。 • (1)比较指令CMP • (2)区间比较指令ZCP • 如下图
图6.9 比较指令
图6.10 区间比较指令
(3)触点型比较指令触点型比较指令相当于一 个触点,执行时比较源操作数[ S1· ]和 [S2· ],满足比较条件则触点闭合,源操作 数 可 以 取 所 有 的 数 据 类 型 。
图6.44 绝对值式凸轮顺控指令
(2) 增量式凸轮顺控指令 INCD :源操作数 和 目 标 操 作 数 与 ABSD 指 令 的 相 同 , 1≤n≤64,该指令只能使用一次。
图6.45 增量式凸轮顺控指令
6.8.2 定时器指令 • (1)示教定时器指令TTMR:目标操作数[D· ] 为D,n=0~2。使用TTMR指令可以用一 只按钮调整定时器的设定时间。
图6.25 字右移
图6.26 字左移
• 6.5.3 先入先出写入与读出指令 • (1)先入先出写入指令 • FIFO(first in first out,先入先出)写入指令 SFWR • (2)先入先出读出指令 • FIFO读出指令SFRD
图6.27 移位寄存器写入指令
图6.28 移位寄存器读出指令
图6.3 CJ指令的使用
图6.4 跳转指令的应用
• 6.2.2 子程序调用与子程序返回指令 • FX1S 的子程序调用指令 CALL 的操作数为 P0 ~ P62 , 其 他 系 列 的 操 作 数 为 P0 ~ P127( 不包括 P63) ,子程序返回指令 SRET 无操作数。
图6.5 子程序的嵌套调用
图6.39 高速计数器比较置位与比较复位指令

第6章 宏程序指令编程

第6章 宏程序指令编程

6.3 数控铣床(加工中心)宏程序指令编程 数控铣床(加工中心)
例6-3 加工如图6-3所示的椭圆形的半球曲面,刀具为R8的球铣刀。 利用椭圆的参数方程来编写宏程序: 椭圆的参数方程为:X=A*COSα; Z=B*SINα; 其中,A 为椭圆的长轴,B为椭圆的短轴。
O9800; G90 G54 G00 G17 G40; G43 Z50. H01 ; M03 S1000; X60. Y-20.; Z5. M08; G01 Z-20. F800 ; G42 X50. Y0. D01 F100; #1=0; #2=20.0 #3=30.; #4=1.0; #5=90.0; WHILE #5 GE #1 DO 1; #6=#3*COS[#5*PI/180]+4 ;
但当一个变量的值未被定义时,那么这个变量 则被当作“空变量”。变量#0始终是空变量,它是 不能被赋予任何值的。
3、变量的类型和功能 、 变量号 #0 #1-#33 #100~#149(#199) #500~#531(#999) #1000 变量类 型 空 局部变 量 公共变 量 系统变 量 功能 该变量值总为 空 只能在一个宏 程序中使用 在各宏程序中 可以公用的 固定用途的变 量
6.1.1 变量
1、变量的表示
——(变量号i=0,1,2,3,4……) 例:#8、#110、#1100 #i 例:#[#1+#2-12] #[表达 ——表达式必须用括号括起来 表达 式] 2、变量的引用 例:F#10——当#10=20时,F20被指令。 <地址 地址>#1 X- #20——当#20=100.时,X-100.被指令。 地址 <地址 - #1 地址> G#130——当#130=2时,G2被指令。 地址

作业讲评(第6章)-微指令格式可分为

作业讲评(第6章)-微指令格式可分为

1对于一台计算机:(1)画出主机框图(要求画到寄存器级);(2)若存储器容量为64K×32 位,指出图中各寄存器的位数;2假设CPU在中断周期用堆栈保存程序断点,而且进栈时指针减1,出栈时指针加1。

分别写出组合逻辑控制和微程序控制在完成中断返回指令时,取指阶段和执行阶段所需的全部微操作命令及节拍安排。

答:假设进栈操作是先修改堆栈指针后存数,则出栈操作是先读数后修改堆栈指针。

(1)完成中断返回指令组合逻辑控制的微操作命令及节拍安排取指阶段T0 PC→MAR,1→RT1 M(MAR) →MDR,(PC) + 1→PCT2 MDR→IR,OP(IR) →ID执行阶段T0 SP→MAR,1→RT1 M(MAR) →MDRT2 MDR→PC,(SP) + 1→SP(2)完成中断返回指令微程序控制的微操作命令及节拍安排取指阶段T0 PC→MAR,1→RT1 Ad(CMDR) →CMART2 M(MAR) →MDR,(PC) + 1→PCT3 Ad(CMDR) →CMART4 MDR→IRT5 OP(IR) →微地址形成部件→CMAR执行阶段T0 SP→MAR,1→RT1 Ad(CMDR) →CMAR(1)假设要求在取指周期由ALU完成(PC) + 1→PC的操作(即ALU可以对它的一个源操作数完成加1的运算)。

要求以最少的节拍写出取指周期全部微操作命令及节拍安排。

(2)写出指令ADD # α(#为立即寻址特征,隐含的操作数在ACC 中)在执行阶段所需的微操作命令及节拍安排。

(2)立即寻址的加法指令执行周期的微操作命令及节拍安排如下:T0 Ad(IR)→R1 ;立即数→R1 T1 (R1) + (ACC)→R2 ;ACC通过总线送ALUT2 R2→ACC ;结果→ACC如有侵权请联系告知删除,感谢你们的配合!。

PLC第六章2

PLC第六章2

DIV-I EN ENO IN1 OUT IN2 /I IN1, OUT
DIV-DI EN ENO IN1 OUT IN2 /D IN1, OUT
DIV EN ENO IN1 OUT IN2 DIV IN1, OUT
返回
• 【例6-8】 在输入信号I0.4的上升沿,用模拟电位器0来设置 定时器T37的设定值(5~20s),即从SMB28读出的数字0~ 255对应于5~20s。设读出的数字为N,100ms定时器的设定 值为 • (200–50)×N / 255+50 =150×N / 255+50 (0.1s) • 网络1 • LD I0.4 • EU // 在I0.4的上升沿 • MOVB SMB28, AC0 • MUL +150, AC0 // 150乘以模拟电位器的转换 值 • /D +255, AC0 // 除以255,双整数除 法 • +I +50, AC0 // 加偏移量50(5s) • MOVW AC0, VW10 • 网络2 • LD I0.5 • TON T37, VW10 // T37以VW10中的数 值为设定值
链接 链接
2.高速计数器的工作模式
表7-1 高速计数器的工作模式和输入端子的关系 功能及说明 HSC0 高速计数器 HSC的 工作模 式 高速 I0.0 占用的输入端子及其功能 I0.1 I0.2 ×
HSC4 计 数 器 编 号
HSC1 HSC2 HSC3 HSC5
I0.3
I0.6 I1.2 I0.1 I0.4
6.5.3 逻辑运算指令
• • • • • • • 【例6-9】在I0.0的上升沿执行下面程序中的逻辑运算,运算 前后各存储单元中的值如图6-27所示。 LD I0.0 EU INVB VB0 // 字节取反指令 ANDB VB1, VB2 // 字节与指令 ORB XORB VB3, VB4 VB5, VB6 // 字节或指令 // 字节异或指令

C语言第6章循环结构程序设计

C语言第6章循环结构程序设计

第6章循环控制本章要求:1、初步熟悉用计算机解决问题的思路。

2、掌握while、do-while、for语句的特点和使用方法。

3、掌握break、continue语句的用法。

4、熟悉一些常见问题的算法及其C语言实现。

§6.1 概述循环:反复执行称为“循环体”的程序段。

循环控制常用于数学迭代、对象遍历等问题的求解,几乎所有实用程序都包含循环。

特别是在现代多媒体处理程序(图像、声音、通讯)中,循环更是必不可少。

Intel公司为了加快循环程序的执行,在CPU硬件中加入多媒体扩展指令MMX(Multi-Media-eXtension );AMD在CPU中加入3D Now!指令。

循环结构是结构化程序三种基本结构之一。

(顺序结构、分支结构)。

根据开始循环的初始条件和结束循环的条件不同,C语言中用如下语句实现循环1、用goto语句和if语句构成循环。

2、用while语句。

3、用do-while语句。

4、用for语句。

§6.2 goto语句一般形式:goto 语句标号作用:无条件转向“语句标号”处执行。

“语句标号”是一个标识符,它表示程序指令的地址。

goto语句不符合结构化程序设计准则,因为无条件转向使程序结构无规律、可读性差。

一般应避免使用goto语句,但如果能大大提高程序的执行效率,也可以使用。

[例6.1] 用if语句和goto语句构成循环,求。

main(){int i,sum=0;i = 1;loop:if (i <= 100){ sum = sum + i;i++;goto loop;}printf("%d",sum);}§6.3 while语句一般形式:while(表达式) 语句作用:实现“当型”循环。

当“表达式”非0(真)时,执行“语句”。

“语句”是被循环执行的程序,称为“循环体”。

特点:先判“表达式(条件)”。

[例6.2]main(){int i,sum=0;i = 1;whie (i <= 100){sum = sum + i;i++;}printf("%d",sum);}注意:1、注意给出循环的初始条件,如本例中“sum=0、i=1”。

FANUC机器人程序员A-讲义6(第六章)

FANUC机器人程序员A-讲义6(第六章)
30
程序案例1 USER0
三、指令
1: PR[11]=LPOS 2: PR[12]=PR[11] 3: PR[12,1]=PR[11,1]+100 4: PR[13]=PR[12] 5: PR[13,2]=PR[12,2]+100 6: PR[14]=PR[11]
执行该行程序时,将 机思器考人:当如前以位PR置[1保3存] 至为依PR据[1,1]如中何,算并且 以PR直[1角4(]?或关节)坐标 形式显示出来。
回转动作
遇到奇异点会发出 MOTN-023报警
速度单位用: deg/sec
13
C(圆弧动作):进行轨迹控制/姿势控制 圆弧动作
三、指令
遇到奇异点会发 出MOTN-023报警
速度单位用: mm/sec,cm/m位置信息
@:Robot就位标记
三、指令
位置信息(目的点)
P[i]: 位置变量——局部变量 i=1~1500
三、指令
$WAITTMOUT=n
设置超时时间:n*10msec
程序员A课程
— —指令
2019年9月7日星期六
上海发那科机器人有限公司
第六章 指令
一、程序编辑界面 二、指令的编辑 三、指令
2
存储器剩余容量
一、编辑界面
程序名称
程序一览画面
属性
3
当前执行的程序及执行行号 当前编 辑的程 序名
程序指令
一、编辑界面
程序运行状态
速度倍率
示教坐标系
程序结 束标记
程序编辑画面
2:L P[1] 2000mm/sec CNT50
3:SELECT R[1] =1,CALL JOB1
5:
=2,CALL JOB2

施耐德PLC Twido PLC 可编程控制器 第六章、指令

施耐德PLC Twido PLC 可编程控制器 第六章、指令

第六章、指令6-1 布尔指令6-2 标准功能块6-2-1 定时器功能块6-2-2 计数器功能块6-2-3 移位寄存器功能模块(%SBRi) 6-2-4 步进计数器功能模块(%SCi)6-3 数字处理指令6-3-1 赋值指令6-3-2 比较指令6-3-3 算术指令6-3-4 逻辑指令6-3-5 移位指令6-3-6 转换指令6-3-7 单/双字转换指令6-3-8 浮点算术指令6-3-9 三角指令6-3-10 转换指令6-3-11 整数转换指 <-> 浮点6-3-12 表求和功能6-3-13 表比较指令6-3-14 表查找指令6-3-15 表最大值和最小值查找功能6-3-16 表中某个值的出现次数6-3-17 表循环移动功能6-3-18 表排序功能6-4 程序控制指令6-4-1 END指令6-4-2 跳转指令6-4-3 子程序指令6-5 专用功能块6-5-1 LIFO/FIFO寄存器功能模块(%Ri) 6-5-2 脉宽调制功能模块(%PWM)6-5-3 脉冲发生器输出功能模块(%PLS)6-5-4 磁鼓控制器功能模块 (%DR)6-5-5 高速计数6-5-6 超高速计数器功能模块(%VFC)6-5-7 调度模块6-6 通讯指令6-6-1 信息发送/接收6-6-2 数据交换控制6-1 布尔指令掌握要点:布尔指令:用语所有位元件Load指令(装入):LD,LDN,LDR,LDF分别对应常开,常闭,上升沿,和下降沿其中: N 代表“非”R 代表“上升沿”F 代表“下降沿”程序例:逻辑AND 指令 : AND, ANDN , ANDR , ANDF。

逻辑与指令执行操作数(或它的反转数,或上升沿,或下降沿)和前面指令的布尔运算结果间的逻辑与操作。

程序例:逻辑OR指令: OR , ORN , ORR , ORF,逻辑或指令执行操作数(或它的反转数,或上升沿,或下降沿)和前面指令的布尔运算结果间的逻辑或操作。

第6章 S7-200系列PLC的

第6章   S7-200系列PLC的

END、STOP、WDR指令应用举例
☆ STOP与END指令通常在程序中用来处理突发应急事件,可以有 效避免实际生产中的重大损失。
6.3.4 跳转及标号指令
◆跳转指令(JMP)与标号(LBL)指 令可以在相同的代码段中(主程序、子 程序或中断程序)完成分支操作,将程 序流程跳转到标号(n)目的地。 ◆不能从主程序跳转至子程序或中断例 行程序中的标号,也不能从子程序或中 断例行程序跳转至该子程序或中断例行 程序之外的标号。 ◆可以在顺序控制SCR段中使用“跳转” 指令,但对应的“标号”指令必须位于 相同的SCR段内。
6.2.1 位逻辑指令
1.基本位操作指令
基本位操作指令操作数寻址范围:I,Q,M,SM,T,C,V, S,L等。指令助记符: LD(Load)、LDN(Load Not)、A(And)、 AN(And Not)、O(Or)、 ON(Or Not)、=(Out)。 【例题】位操作指令的程序应用,如图6-5所示。
3.间接寻址
● 间接寻址使用指针存取存储单元中的数据。可以用作指针的存储 器有变量存储器(V)、局部变量存储器(L)、累加器(A C)。 ● S7-200允许指针存取以下内存区:I、Q、V、M、S、T(仅限当前值) 和C(仅限当前值),但不能对独立的位(BIT)值或模拟量进行间接 寻址。 ● 用间接寻址方式存取数据需要作的工作有3种:建立指针、指针存 取数据和修改指针。 1)建立指针
【例题1】块操作指令程序应用,如图6-10所示。
6.2.2 逻辑堆栈指令
【例题2】栈操作指令应用程序,如图6-11所示。
想一想 练一练
将梯形图转换成语句表指令编程。
6.2.3 定时器指令
◆ S7-200 PLC 的 定 时器在程序中用于延 时 ◆有T0~T255共256 个定时器 ◆分为TON、TOF和 TONR 定 时 器 等 3 个 类型

第6章_S7-200顺序逻辑控指令及应用

第6章_S7-200顺序逻辑控指令及应用


开关 东西向绿灯 东西向黄灯 东西向红灯 南北向绿灯 南北向黄灯 南北向红灯
代 码 输入信号 SA 输出信号 HL1 HL2 HL3 HL4 HL5 HL6
地址编号 I0.0 Q0.0 Q0.1 Q0.2 Q0.3 Q0.4 Q0.5
22
顺序功能图的编程步骤: (2)PLC端子接线
23
(3)编制控制系统的功能图
9
6.1.3 功能图的构成规则
(1)状态与状态不能直接相连,必须用转移分开; (2)转移与转移不能直接相连,必须用状态分开; (3)状态与转移、转移与状态之间的连线采用有向线段, 画功能图的顺序一般是从上向下或从左到右,正常顺序 时可以省略箭头,否则必须加箭头。 (4)一个功能图至少应有一个初始状态。如果没有初始步, 无法表示初始状态,系统也无法返回等待其动作的停止 状态。 (5)功能图一般来说是由状态和有向线段组成的闭环,即 在完成一次工艺过程的全部操作之后,应从最后一步返 回到初始步,系统停在初始状态,在连续循环工作方式 时,应从最后一步返回下一工作周期开始运行的第一步。
单流程结构的功能图
15
单流程结构举例1
例6-1:三台电动机MA1、MA2、MA3 按启动按钮后,MA1立即启动,随后MA2、MA3按时间 顺序自动启动。 停止时,按停止按钮,MA3立即停止,随后MA2、 MA1按时间顺序自动停止。 顺序功能图的编程步骤: ①分析控制要求,找出控制设备现场的实际输入和输出 点,选择PLC型号并分配I/O 地址 ②PLC端子接线 ③编制控制系统的顺序功能图 ④将顺序功能图转化成梯形图或语句表
(a)
转移条件
转移条件
(b)
8
6.1.2 功能图的基本概念(续)
送料小车往复运动的功能图 运货小车的工作过程: 循环开始时,小车处于两电机之间,按 下启动按钮SF1,接触器QA1得电,左电 机MA1启动;小车此时处在中间位置处 开始向左快速运行,行至BG1处,行程开 关BG1动作,QA1失电,QA2得电,小车向 左慢速运行;当到达BG2处时,BG2动 作,QA2失电,小车静止,此时定时器T43 开始通电延时,同时给小车装货,1分钟装 货结束,QA3得电,小车开始向右快速运 行;当碰到行程开关BG3时,QA3断电,同 时QA4得电,小车开始向右慢速运行;当 到达BG4时,小车静止,QA4断电,此时 定时器T44开始延时,同时给小车卸货,1 分钟后,定时器T44动作,小车开始向左 快速运行,如此周而复始。
  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
相关文档
最新文档