第6章特殊功能指令
第6章 S7-300PLC指令系统及编程(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章 8086指令系统与汇编基础
第13页
2013年8月1日星期四
第6章
8086指令系统与汇编基础 3.段地址寄存器
有 CS、DS、ES、SS 四 个 , 分 别 表 示 程 序 码 ( code segment register)、 数 据 ( data segment register)、附加(extra segment register)、堆栈 (stack segment register)段地址用。在 DOS 系统 中,每一个段地址容量只有 64KBytes。 当数据段地址不够用时,就可以用附加数据段地址 来补足,例如想要将一个段地址的某些内容复制到 另一段地址中,就可以同时指定 DS、ES 分别表示 这两个段地址。
第17页 2013年8月1日星期四
第6章
6.2.4
8086指令系统与汇编基础
寄存器间接寻址(Register Indirect Addressing) 寄存器间接寻址方式中,操作数存放在存储器 中,但操作数的有效地址EA在基址寄存器BX、BP或 变址寄存器SI、DI中。操作数的物理地址为: 物理地址=16(段寄存器)+(寄存器)
执行结果为:(AX)=8060H 指令中也可指定段跨越前缀以取得其它段中的 数据。如:MOV AX,ES:[BX]指令,则从附加段中 取得数据。
操作码
DS 3000 0 BX + 200 0
代 码
段
30000 32000 AH AL
60 80
3200 0
数 据
段
图 6- 2- 2
例 6 - 5 的执行过程
第3页 2013年8月1日星期四
第6章
8086指令系统与汇编基础
计算机只能识别二进制代码,因此计算机能执行 的指令必须以二进制代码的形式表示,这种以二进制 代码形式表示的指令称为指令的机器码(Machine Code)。 2.汇编指令格式 一条指令一般包含操作码和操作数两部分。
FANUC机器人程序员A 讲义6(第六章)
机器人信号 (RI/RO)指令,模拟信号(AI/AO)指令,群组信号 (GI/GO)指令的用法和数字信号指令类似。
33
程序案例2
三、指令
IO指令的应用实例——搬运工件
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(]?或关节)坐标 形式显示出来。
PR[i,j]=PR[i]的第j个要素(坐标值)
LPOS(直角)
PR[2,1]=X PR[2,4]=W PR[2,2]=Y PR[2,5]=P PR[2,3]=Z PR[2,6]=R
JPOS(关节)
PR[2,1]=J1 PR[2,4]= J4 PR[2,2]=J2 PR[2,5]= J5 PR[2,3]=J3 PR[2,6]= J6
运动指令,Robot 根据以上计算得到 的位置走出轨迹。
[ END ]
31
思考题
三、指令
请用坐标计算的方式编程,让机器人画出一个 半径为100mm的圆(参考坐标为:UF0,UT1)。
r=100mm
32
三、指令
2、I/O(信号)指令 I/O I/O指令用来改变信号输出状态和接收输入信号。
第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。
第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章功能指令
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章第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功能指令及应用
第六章S7200功能指令及使用
1.四则运算指令—除法指令
除法指令对两个输入端(IN1,IN2)指定的有符号 数进行相除操作,结果送到输出端(OUT)。 除法指令可分为整数、双整数、实数除法指令和整 数完全除法指令。 前三种指令各自对应的操作数分别为有符号整数、 有符号双整数、实数。整数完全除法指令,把输入端
指定的两个16位整数相除,产生一个32位结果,并送
语句表:INCB OUT 功能:当EN=1时,将单字节长的无符号字节型输入 数IN加1,结果为单字节长无符号整数存入OUT 。
1.四则运算指令—加1指令
②字加1指令 梯形图:
语句表:INCW OUT 功能:当EN=1时,将单字长的有符号输入数IN加1, 结果为单数学功能指令—自然指数指令
梯形图:
语句表: EXP IN, OUT 功能:当EN=1时,将32位的实数IN取e为底的指数, 结果为32的实数存入OUT 。
2.数学功能指令—自然对数指令
梯形图:
语句表: LN IN, OUT 功能:当EN=1时,将双字长的实数IN取自然对数, 结果为32的实数存入OUT 。
1.四则运算指令—减法指令
减法指令对两个输入端(IN1,IN2)指定的有符号 数进行相减操作,结果送到输出端(OUT)。 减法指令可分为整数、双整数、实数减法指令,它 们各自对应的操作数分别是有符号整数、有符号双整 数、实数。
在LAD中,执行结果为IN1-IN2→OUT;
在STL中,通常将操作数IN1与OUT共用一个地址单 元,因而执行结果为OUT-IN2→OUT。
1.四则运算指令—减法指令
③实数减法指令 梯形图:
语句表:-R IN2, OUT 功能:当EN=1时,将两个32位实数IN1和IN2相减, 结果为32位实数存入OUT 。
CP1H操作手册.第六章.各种功能
01
03
05
07
09
11
00
02
04
06
08
10
00
02
04
06
08
10
POWER ERR/ALM BKUP
RUN INH PRPHL
COMM
COMM
EXP
MEMORY
{
00
01
02
03
04
06
00
01
03
04
06
| COM COM COM COM 05
07 COM 02 COM 05
07
DC24V0.3A 100CH OUTPUT
通道串行端口1串行端口2d32200位设定内容070015080700150815001500从站地址00hexf7hex系统保留请设为00hexfunction代码系统保留请设为00hex通信数据字节数0000hex005ehex通信数据最大94字节d32300d32201d32301d32202d32302d32203d32249d32303d32349指令07001508070015080700150815001500从站地址01hexf7hex系统保留请设为00hexfunction代码保留出错代码系统保留请设为00hex应答字节数0000hex03eahex应答最大92字节d32250d32350d32251d32351d32252d32352d32253d32353d32254d32299d32354d32399响应相关特殊辅助继电器通过对以下的modbusrtu简易主站功能执行开关的操作offon按照dm固定分配区域中设定的内容modbusrtu命令自动发出正常结束异常结束反映到标志上
FX系列PLC应用指令
二、二进制加1减1指令
加1 FNC24 INC 减1 FNC25 DEC
❖ 操作数 [D]:KnY、KnM、KnS、T、C、D、V,Z ❖ 梯形图
X0
[D]
INC(P) D10
X1
[D]
DEC(P) D12
(D10)+1 (D10)
(D12)–1
(D12)
❖ 阐明
➢ 该指令把源操作数[S]中旳数据各位取反(1→0, 0→1)后传送到目旳操作数[D]中去。
➢ 该指令能够16/32位数据处理和连续/脉冲执行方式
❖ 梯形图
X0
[S] [D]
CML D0 K1Y0
101010101010 1010
符号位
取反传送
保持不变
0101 Y3 Y0
(D0)
(K1Y0)
若源操作数中旳数为 十进制常数时,将自动
❖ 执行方式 ➢ 连续执行方式:每个扫描周期都反复执行一次 ➢ 脉冲执行方式:只在信号OFF→ON时执行一次, 在指令后加P(Pulse)。
X0 MOV
X1 MOVP
D0
D1
D2 D4
四、变址寄存器V、Z
❖ 变址:变化操作数旳地址 ❖ 变址寄存器旳作用:存储变化地址旳数据 ❖ 实际地址=目前地址+变址数据 ❖ 32位运算时V和Z组合使用,V为高16位,Z为低16位。
和H(十六进制)表达,两个或
两个以上时为m1、m2、n1、n2。
X0
MOV D0 D1
(D0)→(D1)
二、数据格式
❖ 位元件:只处理开关(ON/OFF)信息旳元件,如X、 Y、M、D、S
➢ 字元件:处理数据旳元件,如D。
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 // 字节或指令 // 字节异或指令
功能指令
当M8002接通时,十进制常数245将被送到数据寄存器D501中去
第6章第3页 EXIT
FX2N PLC功能指令及应用
⑥ ⑥
S1· S2· D·
X000
执Hale Waihona Puke 条件① ①FNC20 ◥ (D)ADD(P)
⑤ ⑤
D10
D12
D14
目的操作数
③ ④ ② ③ ② 应用指令段 ④
源操作数
功能指令的使用要素意义如下。
FX2N PLC功能指令及应用
第6章 FX2N PLC功能指令及应用
6.1 功能指令使用要素
6.2 程序流程控制(FNC00~FNC09)
6.3 传送和比较(FNC10~FNC19) 6.4 四则运算及逻辑运算(FNC20~FNC29)
6.5 循环移位与移位(FNC30~FNC39)
6.6 数据处理(FNC40~FNC49) 6.7 高速处理(FNC50~FNC59) 6.8 方便指令(FNC60~FNC69)
第6章第15页 EXIT
FX2N PLC功能指令及应用
• 一、 问题的提出 • 1 、 什么是传送和比较指令? • (1) 传送指令
第6章第16页 EXIT
FX2N PLC功能指令及应用
• 传送指令 MOV 指令是将源操作数内的数据传送到指定的 目标操作数内,即 [S] → [D] 。
• • 传送指令 MOV 的说明如图。当 X0=ON 时,源操作数 [S] 中的常数 K100 传送到目标操作元件 D10 中 。当指令执行 时,常数 K100 自动转换成二进制数。 • 当 X0 断开时,指令不执行,数据保持不变。
第6章第1页 EXIT
FX2N PLC功能指令及应用
松下PLC教程第6章第1节
第六章松下电工PLC编程工具及三维力控监控组态软件简介第一节松下电工PLC编程工具简介FP1系列PLC的编程手段有两种:1.利用相应配套编程软件在个人计算机上进行。
2.使用FP手持编程器。
松下电工PLC编程软件1.概述日本松下电工公司开发的PLC编程软件有三种:①DOS环境下使用的NPST-GR②Windows环境下FPSOFT③Windows环境下FPWIN-GR●NPST-GR采用的是典型的DOS界面。
具有中、英文两种版本。
因NPST-GR开发的比较早,对近几年生产的FPO、FP2等系列PLC不支持。
●FPWIN-GR软件采用的是典型的Windows界面。
具有中、英文两种版本。
由于FPWIN-GR是新近开发出来的软件,其各项功能更趋合理、使用更加方便。
●FPSOFT软件是早期开发的,它的出现开创了Windows环境的PLC编程软件的先河。
但由于它开发得较早,虽大部分功能与上述FPWIN-GR相似,但有些功能不如FPWIN-GR那样完善。
(1) 2.FPWIN-GR 软件(汉化1.1版本)认识FPWIN -GRFPWIN-GR界面各部分名称及分布:输入段栏功能键栏在编写程序时:①用鼠标点击“功能键栏”实现指令输入。
②用功能键“F1”~“F12”与“SHIFT” 的组合实现指令输入。
③用功能键“F1”~“F12”与“CTRL”的组合实现指令输入。
各个按钮左下角的数字表示所对应的功能键号。
第1段、第2段中分布的是主要指令的快捷键。
第1段的操作只需按功能键即为有效。
第2段的操作需同时按Shift + 功能键有效。
第3段中分布的是功能的快捷键。
第3段的操作需同时按Ctrl + 功能键有效。
显示当前正在输入的回路。
通过单击输入栏中的[Enter]或按键盘中的[Enter]键确认输入内容。
在功能键栏中输入[F1]、[F2]、[F4]、[F8]或[SHIFT]+[F1]([F2]、[F8])时,将显示触点线圈的基本指令如下图:X:输入外部输入Y:输入外部输出R:输入内部继电器L:链接继电器P:脉冲继电器T:定时器触点C:输入计数器触点E:输入错误警告继电器比较:输入数据比较指令NOT/:将到光标位置为止的运算结果反转INDEX:输入索引修饰№清除:清除输入区段中的设备编号↑↓:用于上升沿检出/下降沿检出的图形符号。
施耐德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-300PLC指令系统及编程(1).
图6-24 两个字间的 AW指令的操作
例2 使用32位常数异或XOD指令的示例。该程序实现了累加器与
指令中给出的32位常数的异或逻辑运算。
L MD10
//把存储区双字MD10的内容写入累加器1
XOD DW#16#ABCD_1978 //把累加器1的内容与DW#16#ABCD_1978
按位进行异或逻辑运算,结果放在累加器1中
一个正跳沿,Q4.0便反转一次。因此只要设计一个反转程序,每测 得一个正跳沿则进行一次反转,没有正跳沿则不执行反转。具体程 序如图5-21所示(用了跳转指令)。
图6-21 二分频器程序之二
4.往复运动小车控制程序的编写 一小车由电动机拖动,启动后小车自动前进,至指定位置又自动
退回到起始位置,然后又前进,如此反复运行直至命令停止。根据 上述控制要求对I/O点分配如下。小车控制程序如图5-22所示。
STL L MW10 L MW20
AW
T MW12
//把存储字MW10的内容写入累加器1低字中
//把存储字MW20的内容写入累加器1低字中,累加器1原内 容移至累加器2
//累加器1、2低字内容逐位进行“与”逻辑运算,结果存放 在累加器1低字中
//把累加器1低字中内容传送至存储区MW12中
设MW10、MW20的存储内容如图6-24所示,按位进行与运算后, 存入MW12的内容亦示于图6-24中。
T MD14
//把累加器1中内容传送至存储区双字MD14
中设MD10的存储内容如图5-25所示,与异或XOD指令中常数按位进
行异或运算后,传入存储双字MD14的内容亦示于图5-25中。
图5-25 32位常数XOD指令的操作
(二)字逻辑梯形图方块指令 上述字逻辑语句表指令都有对应的梯形图方块指令,梯形图方块
第六章步进指令
注: ① ST L 电路不能用 M C 指令 。 ② M PS指令也不能紧接着 ST L 触点后使用 。
通过分析得出选择性分支定义:从 多个分支流程中选择某一个单支流 程 , 称之为选择性分支。
例1:三台电机的循环启停运转控制 要求:
三台电机接于Y001、Y002、Y003。要求它们相 隔5s启动,各运行10s停止。并循环。
Y001
Y002
Y003
5S
5S
5S
5S
X001
C0
C1
C2
C3
二、选择分支与汇合流程
小结:可用步进顺序图,程序指令表和状态转移 图三种方法进行编程。若用状态转移图编程时必 须首先进行初始状态编程,然后进行选择性分支 与汇合、并行分支/汇合等电路的编写,下面进行 具体讲解。
二、 初始状态编程
初始状态编程例如图4-10 所示。在状态转移图起始位置的状态即是初 始状态 , S 0 ~ S 9 可用作初始状态。
动画
一、单流程结构程序
所谓单流程结构,就是由一系列相继执行的工 步组成的单条流程。其特点是:
①每一工步的后面只能有一个转移的条件, 且转向仅有一个工步。
②状态不必按顺序编号,其它流程的状态也 可以作为状态转移的条件。
案例: 如下图 所示机械手的工作 , 是将工件从 A 点向 B 点移送, 以此
为例说明状态转移图设计编程。 例中 ,上升桙下降、左行/右行等分别使用了双螺线管的电磁阀
汇合转移。 这是为了自动生成 SFC 画面而追加的规则。 注意 : 分支、汇合的转移处理程序中 , 不能用 M PS 、 M R D 、 M PP 、 A
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
6.2.2 中断指令
中断指令有4条,包括开、关中断指令,中断 连接、分离指令。指令格式如下表所示。
LAD
STL
ENI
操作数及 数据类型
无
DISI 无
ATCH INT,EVNT
INT:常量 0-127 EVNT:常量,CPU
224: 0-23; 27-33 INT/EVNT数据类型
:字节
DTCH EVNT
6.2.3 中断程序
1. 中断程序的概念
中断程序是为处理中断事件而事先编好的 程序。中断程序不是由程序调用,而是在 中断事件发生时由操作系统调用。在中断 程序中不能改写其他程序使用的存储器, 最好使用局部变量。中断程序应实现特定 的任务,应“越短越好”,中断程序由中 断程序号开始,以无条件返回指令 (CRETI)结束。在中断程序中禁止使用 DISI、ENI、HDEF、LSCR和END指令
EVNT:常量, CPU 224: 023; 27-33
数据类型:字节
1. 开、关中断指令
开中断(ENI)指令全局性允许所有中断事 件。关中断(DISI)指令全局性禁止所有中 断事件,中断事件的每次出现均被排队等 候,直至使用全局开中断指令重新启用中 断。
PLC转换到RUN(运行)模式时,中断开 始时被禁用,可以通过执行开中断指令, 允许所有中断事件。执行关中断指令会禁 止处理中断,但是现用中断事件将继续排 队等候。
2. 中断优先级和排对等候
优先级是指多个中断事件同时发出中断请求时, CPU对中断事件响应的优先次序。S7-200规定的 中断优先由高到低依次是:通信中断、I/O中断和 定时中断。每类中断中不同的中断事件又有不同 的优先权,如表6-2所示。
一个程序中总共可有128个中断。S7-200在中断各 自的优先级组内按照先来先服务的原则为中断提 供服务。在任何时刻,只能执行一个中断程序。 一旦一个中断程序开始执行,则一直执行至完成。 不能被另一个中断程序打断,即使是更高优先级 的中断程序。中断程序执行中,新的中断请求按 优先级排队等候。中断队列能保存的中断个数有 限,若超出,则会产生溢出。中断队列的最多中 断个数和溢出标志位如表6-3所示
程序编辑器从先前的POU显示更改为新中断程序, 在程序编辑器的底部会出现一个新标记,代表新 的中断程序。
6.2.4 程序举例
【例6-1】编写由I0.1的上升沿产生的中断事 件的初始化程序。
分析:查表6-2可知,I0.1上升沿产生的中断 事件号为2。所以在主程序中用ATCH指令 将事件号2和中断程序0连接起来,并全局 开中断。程序如下图所示
2. 中断连接、分离指令
中断连接指令(ATCH)指令将中断事件 (EVNT)与中断程序号码(INT)相连接, 并启用中断事件。
分离中断(DTCH)指令取消某中断事件 (EVNT)与所有中断程序之间的连接,并 禁用该中断事件。
注意:一个中断事件只能连接一个中断程 序,但多个中断事件可以调用一个中断程 序。
第6章 特殊功能指令
6.1 立即类指令 6.2 中断指令 6.3 高速计数器与高速脉冲输出 6.4 PID控制 6.5 时钟指令
6.1 立即类指令
立即读 \立即输出
立即读指令用于输入I接点,立即读指令读取实际输 入点的状态时,并不更新该输入点对应的输入映像 寄存器的值。如:当实际输入点(位)是1时,其对 应的立即触点立即接通;当实际输入点(位)是0时, 其对应的立即触点立即断开。
(1)通信中断
在自由口通信模式下,用户可通过编程来 设置波特率、奇偶校验和通信协议等参数。 用户通过编程控制通讯端口的事件为通信 中断。
(2)I/O中断
I/O中断包括外部输入上升/下降沿中断、 高速计数器中断和高速脉冲输出中断。S7200用输入(I0.0、I0.1、I0.2或I0.3)上升 /下降沿产生中断。这些输入点用于捕获 在发生时必须立即处理的事件。高速计数 器中断指对高速计数器运行时产生的事件 实时响应,包括当前值等于预设值时产生 的中断,计数方向的改变时产生的中断或 计数器外部复位产生的中断。脉冲输出中 断是指预定数目脉冲输出完成而产生的中 断。
立即输出指令用于输出Q线圈,执行指令时,立即将 新值写入实际输出点和对应的输出映像寄存器。
立即类指令与非立即类指令不同,非立即指令仅将 新值读或写入输入/输出映像寄存器。
表6-1 立即类 中断源的类型
中断源即发出中断请求的事件,又叫中 断事件。为了便于识别,系统给每个中断源 都分配一个编号,称为中断事件号。S7-200 系列可编程控制器最多有34个中断源,分为 三大类:通信中断、输入/输出中断和时基中 断。
主程序
LD SM0.1
//首次扫描时,
ATCH INT_0 2 //将INT_0 和EVNT2连接
ENI
//并全局启用中断
LD SM5.0 //如果检测到I/O错误,
DTCH 2
//禁用用于I0.1的上升沿中断
(本网络为选项)
LD M5.0
// 当M5.0=1时
DISI
//禁用所有的中断
【例6-2】编程完成采样工作,要求每10ms采样一 次。
2. 建立中断程序的方法
方法一:从“编辑”菜单→选择插入(Insert)→ 中断(Interrupt)。
方法二:从指令树,用鼠标右键单击“程序块” 图标并从弹出菜单→选择插入(Insert)→ 中断 (Interrupt)。
方法三:从“程序编辑器”窗口,从弹出菜单用 鼠标右键单击插入(Insert)→ 中断(Interrupt)。
(3)时基中断
定时中断用于支持一个周期性的活动。周期时间 从1毫秒至255毫秒,时基是1毫秒。使用定时中 断0,必须在SMB34中写入周期时间;使用定时 中断1,必须在SMB35中写入周期时间。
定时中断可以用来对模拟量输入进行采样或定期 执行PID回路。定时器T32/T96中断指允许对定时 间间隔产生中断。这类中断只能用时基为1ms的 定时器T32/T96构成。当中断被启用后,当前值 等于预置值时,在S7-200执行的正常1毫秒定时 器更新的过程中,执行连接的中断程序。