功能指令(一)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3 工程项目管理规划
…
…
…
CALL(P) P11 FEND
CALL P12 (1)
SRET
(2) SRET
与中断有关的指令
中断返回指令IRET(Interruption Return)FNC03 允许中断指令EI(Interruption Enable) FNC04 禁止中断指令DI(Interruption Disable) FNC05 以上三条指令均无操作数,分别占用一个程序步 PLC通常处于禁止中断状态,而EI与DI指令之间的程序
FOR与NEXT之间的程序被反复执行,执行次数由FOR 指令的源操作数设定。执行完后,执行NEXT后面的指 令
3 工程项目管理规划
循环指令
……
FOR
K4
FOR D10
X10
CJ
P20
FOR K1X0
… … ……
NEXT P20
NEXT
NEXT
3 工程项目管理规划
B(2) C(3) A(1)
比较、传送、交换、变换指令
在使用变址寄存器时,表示为[D.] 多个操作数用[D1]、[D2]……
3 工程项目管理规划
功能指令与操作数
X1
[S] [D]
n
MEAN D0 D40 K3
m,n表示其他操作数,常用于表示常数或表示[S]、 [D]的补充说明。有多个时用m1、m2或n1、n2
3 工程项目管理规划
功能指令的执行方式
执行方式:连续执行、脉冲执行 在指令助记符号后加符号(P)表示脉冲执行方式
3 工程项目管理规划
比较指令CMP
FNC10,将源操作数[S1]和源操作数[S2]进行比较, 结果送到目标操作数[D]中,比较结果有三种,大于 、等于、小于
目标操作数[D]由3个软元件组成,梯形图中软元件标出 的是首地址,另外两个软元件紧跟其后
3 工程项目管理规划
比较指令CMP
X0 CMP K100 C20 M0 M0 (C20)<K100 M0=ON M1 (C20)=K100 M1=ON M2 (C20)>K100 M2=ON
X0
(D)MOV D20 D22
当X0接通时,执行(D)MOV指令,将D21和D20的 数据传送到D23和D22中去(处理32位数据)
3 工程项目管理规划
变址寄存器V,Z
变址寄存器在传送、比较指令中用来修饰操作对象的元件 号,其操作方式与普通寄存器一样
对32位指令,V作高16位,Z作低16位 LD,AND,OUT等PLC的基本逻辑指令和步
[S]
[D]
ZCP K100 K120 C30 M3
M3 [SБайду номын сангаас<[S1] M4
[S1]<=[S]<=[S2]
M5
[S]>[S2]
3 工程项目管理规划
传送指令MOV (Move)
FNC12,传送指令将源数据传送到指定的目标操作数中
X0
[S]
[D]
MOV K100 D10
当X0闭合时,每扫描到MOV指令时,就把存于源操作数 十进制数100(K100)转换成二进制数,再传送到目标 操作数D10中; 当X0断开时,不执行MOV指令,数据保持不变
3 工程项目管理规划
程序流向控制指令(FNC00FNC09)
CJ
(条件跳转)
CALL (子程序调用)
SRET (子程序返回)
IRET (中断返回)
EI、DI (中断允许与中断禁止、开中断与关中断)
FEND (主程序结束)
WDT (监控定时器刷新)
FOR、Next(循环开始和循环结束)
3 工程项目管理规划
3 工程项目管理规划
移位传送SMOV (Shift Move)
FNC13源数据(二进制数)被转换成4位BCD码,然后 将它移位传送
X10
[S] m1 m2 [D] n
SMOV D1 K4 K2 D2 K3
X10满足条件时,源操作数[S]内的16位二进制数自动转换 成4位BCD码,然后将自源操作数(4位BCD码)右起第m1 位开始,向右数共m2位的数,传送到目的操作数(4位BCD 码)的右起第n位开始,向右数共m2位上去,最后自动将 目的操作数[D]中的四位BCD码转换成16位二进制数
n
MEAN D0 D40 K3
[S]表示源操作数(其内容不随指令执行而变化的操作 数标为源)
在使用变址寄存器时,表示为[S.] 多个操作数用[S1]、[S2]……
3 工程项目管理规划
功能指令与操作数
X1
[S] [D]
n
MEAN D0 D40 K3
[D]表示目标操作数(其内容随执行指令改变的操作数 被称为目标)
3 工程项目管理规划
位元件组合及数据处理方式
位元件通过组合使用也可处理数值,此时,以位数Kn和起 始的元件号组合来表示
采用4位为单位,位数成为K1~K4(16位数据),K1 ~K8(32位数据)
例如K2M0表示由M7~M0组成的8位数据,M0是低位 ,K4M10表示由M25 ~ M10组成的16位数据, M10是最低位。
3 工程项目管理规划
位元件组合及数据处理方式
当一个16位数据传送到K1M0、K2M0、K3M0时只传 送相应的低位数据,较高位不传送,32位数据的传送相 同。
在做16位数据操作时,参与操作的位元件由K1~K4指定 ,若仅有K1~K3指定,不足部分的高位均作0处理, 32位数据操作时相同。
被组合的位元件首元件习惯上用以0结尾元件,如K2X0, K4Y10
3 工程项目管理规划
程序结束指令(FEND)
主程序
如 果
X10
CJ P20
主程序
X10=OFF
P20
3 工程项目管理规划
FEND
主程序 FEND
END
如果 X10= ON
程序结束指令(FEND)
主程序
如 果
X11
CALL P21
如 果
主程序
X11=ON X11=OFF
P21 I100
3 工程项目管理规划
比较指令CMP(Compare) 区间比较ZCP(Zone Compare) 传送指令MOV(Move) 移位传送SMOV(Shift Move) 取反传送指令CML(Complement) 块传送指令BMOV(Block Move) 多点传送指令FMOV(Fill Move) 数据交换指令XCH(Exchange) BCD变换指令(二进制数转换成BCD码并传送) BIN变换指令(BCD码转换为二进制数并传送)
3 工程项目管理规划
程序结束指令(FEND)
CALL指令调用的子程序必须用SRET指令结束,中断子 程序必须以IRET指令结束
若FEND指令在CALL指令执行之后和SRET指令执行之 前(指在子程序中)出现,则程序出错
另一个类似的错误是FEND指令出现在FOR-NEXT循环 之中。
使用多条FEND指令时,中断程序应放在最后的FEND指 令和END指令之间
3 工程项目管理规划
数据长度与指令执行方式
功能指令可以处理16位数据,也可以处理32位数据; 指令助记符前加(D)符号时,表示该指令处理32位数据 处理32位数据时,用元件号相邻的两个元件组成元件对。
元件对的首地址用奇数、偶数均可,建议元件首地址统 一用偶数
3 工程项目管理规划
数据长度与指令执行方式
CJ(Conditional Jump)
指令编号为FNC00,操作数为P0~P63 CJ和CJ(P)指令用于跳过顺序程序中的某一部分,以减
少扫描时间 两个执行条件不同的跳转指令可以使用相同的标号,但一
个标号只允许出现一次 采用M8000作为跳转条件,则称为无条件跳转,因为
PLC运行中M8000一直接通。
3 工程项目管理规划
区间比较指令ZCP
FNC11,将一个数据与两个源数据进行比较 源操作数[S1]的数值不得大于[S2]的值 若[S1]的数值大于[S2],
例如[S1]=K100,[S2]=K90,ZCP指令执行时 就把[S2]=100来执行
3 工程项目管理规划
区间比较指令ZCP
X0
[S1] [S2]
3 工程项目管理规划
方便指令 外部设备通信 浮点运算 定位运算 时钟运算 触点比较
功能指令格式
采用梯形图和指令助记符相结合形式。 当X0条件满足时,MOV指令执行。
X0
MOV K125 D20
K125——源操作数,D20——目标操作数, X0——执行条件
3 工程项目管理规划
功能指令一般规则
每一条功能指令有一个功能号和一个助记符,功能号按 FNC00~FNC299编排
FEND
子程序 中断服务程序
END
警戒时钟指令(WDT)
WDT的功能指令编号FNC07,无操作数,占用一个程 序步,功能为警戒时钟刷新
FX2N系列PLC警戒定时器的设定值(一般为200ms) 存放在专用数据寄存器D8000中
在不执行WDT情况下,每扫描到FEND时,刷新警戒定 时器的计时值
当扫描周期超过警戒定时器设定值时,警戒定时器逻辑线 圈被接通,PLC的CPU立即停止扫描用户程序,同时 切断PLC的所有输出,并报警显示
X0
MOV(P)K125 D20
3 工程项目管理规划
位元件和字元件
位元件:只处理ON/OFF状态的元件,如 X、Y、M、S
字元件:处理数据的元件,如T、C、D
如: 数据寄存器D为16位,在处理32位数据时使用 一 对数据寄存器的组合 将数据寄存器D0指定为32位指令的操作数时处理 (D1,D0)32位数据(D1为高16位,D0为低16位)
段为允许中断区间,当程序扫描到该区间并出现中断信 号时,则停止执行主程序,转去执行相应的中断子程序 ,处理到中断返回指令IRET,返回原断点,继续执行 主程序。
3 工程项目管理规划
与中断有关的指令
X10
X0 I001
X1 I101
3 工程项目管理规划
……
……
EI M8050 DI FEND
IRET
进梯形图指令不可变址修改
3 工程项目管理规划
变址寄存器V,Z
X1
MOV K10
V
X2
MOV K20
Z
X3 ADD D5V D15Z D40Z
当各逻辑行分别满足时,K10送到V,K20送到Z,所 以(V)、(Z)内容分别为10,20
当(D5V)+(D15Z)—— D40Z,即 (D15)+(D35)——(D60)
有的功能指令只有操作码无操作数,而有的功能指令既有 操作码又有操作数
每条功能指令占用一定的程序步数:功能号和助记符占一 个程序步,操作数占2步(16位数)或4步(32位), 当某条功能指令处理32位操作数时,前面加[D]表示, 否则默认处理16位数据
3 工程项目管理规划
功能指令的操作数
X1
[S] [D]
子程序可以嵌套调用,最多嵌套5级 子程序返回指令SRET(Sub Routine Return)的功
能指令编号为FNC02,无操作数
3 工程项目管理规划
子程序调用与子程序返回指令 CALL
X0 100 104
标号 P10
…
…
X1 CALL P10
FEND SRET
标号 P11
子 程 序
标号 P12
功能指令
FX2N系列PLC的功能指令概述
工程项目 管理
主编:危道军 刘志强
PLC功能指令 PLC的功能指令实际上就是系统定义的许多
功能不同的子程序,用户在使用这些功能 指令时,相当于调用了对应的系统子程序 。
3 工程项目管理规划
FX2N系列PLC功能指令分类
✓程序流向控制 ✓数据传送与比较 ✓算术与逻辑运算 ✓数据移位与循环 ✓数据处理 高速处理
IRET
允许中断范围 中断服务程序(1) 中断服务程序(2)
程序结束指令(FEND)
FEND的功能指令编号为FNC06,无操作数,占用一个 程序步
FEND表示主程序结束,执行到FEND指令时PLC进行输 入输出处理、监控定时器刷新,完成后返回第0步
子程序(包括中断子程序)应放在FEND指令之后,END 之前。
3 工程项目管理规划
循环指令
FOR, FNC08,指令用来表示循环区的起点,它的源操 作数用来表示循环次数N,可以取任意的数据格式。循 环次数N=1~32767,如N在-32767~0之间,当 作N=1处理,循环可嵌套5层
NEXT是循环区终点指令,功能指令编号为FNC09,占 用一个程序步,无操作数
3 工程项目管理规划
CJ(Conditional Jump)
X20 CJ P10
…
X21
Y10
X22 标号
P10
Y11
X20 CJ P10
X21 CJ P10
标号 P10
…
…
3 工程项目管理规划
CJ(Conditional Jump)
对于T、C,如果跳转时定时器或计数器正发生动作 ,则 此时立即中断计数或停止计时,直到跳转结束后继续进 行计时或计数。但是,正在动作的定时器T192-T199 (子程序控制定时器)与高速计数器C235-C255,不 管有无跳转仍旧继续工作。
功能指令在跳转时不执行,但脉冲输出指令PLSY、脉宽 调制输出PWM、带加减速脉冲输出PLSR,除外。
3 工程项目管理规划
子程序调用与子程序返回指 令
子程序调用指令CALL(Sub Routine Call)的功能指 令编号为FNC01,操作数为P0~P62(不包括P63 ),占3个程序步,允许用变址寄存器修改。