390 likes | 700 Views
第四讲 PLC 应用指令. 常用应用指令 MOV 、 DMOV 、 SFTL 、 SFTR 、 ROL 、 ROR 、 CMP 、 SEGD 、 SEGL 、 CALL 、 SRET 、 FEND 、 INC 、 DEC 。. X0. MOV. K125. D0. 执行条件. 传送指令. 源操作数. 目标操作数. 功 能 指 令 的 基 本 格 式. 一、功能指令的基本格式及使用要素 和基本指令不同,功能指令不含表达梯形图符号间相互关系的成分。而是直接表达本指令要做什么。 FX2 系列 PLC 在梯形图中使用功能框表示功能指令。.
E N D
第四讲PLC应用指令 常用应用指令 MOV、DMOV、SFTL、SFTR、ROL、ROR、CMP、SEGD、SEGL、CALL、SRET、FEND、INC、DEC。
X0 MOV K125 D0 执行条件 传送指令 源操作数 目标操作数 功 能 指 令 的 基 本 格 式 一、功能指令的基本格式及使用要素 和基本指令不同,功能指令不含表达梯形图符号间相互关系的成分。而是直接表达本指令要做什么。FX2系列PLC在梯形图中使用功能框表示功能指令。 当X0接通时,就把常数125送到数据寄存器D0中去。
指令名称 助记符 指令 代码 操作数范围 程序步 S1(•) S2(•) D(•) 加法 ADD ADD(P) FNC20 (16/32) K、H KnX、KnY、KnM、KnS T、C、D、V、Z KnX、KnY、KnM、KnS T、C、D、V、Z ADD、ADDP…7步 DADD、DADDP… 13步 例:加法指令格式及要素
使用要素如下: (1)功能指令编号 每条功能指令都有一定的编号。在使用简易编程器的场合,输入功能指令时,首先输入的就是功能编号。如图中1所示的就是功能指令编号。 (2)助记符 功能指令的助记符是该指令的英文缩写词。如加法指令“ADDITION”简写为ADD,交替输出指令“ALTERNATE OUTPUT‘’简化为ALT。采用这种方式容易了解指令的功能。助记符如图中2所示。 (3)数据长度 功能指令依处理数据的长度分为16位指令和32位指令。其中32位指令用(D)表示,无(D)符号的为16位指令。图中3为数据长度符号。
(4)执行形式功能指令有脉冲执行型和连续执行型。指令中标有(P)的为脉冲执行型(如图中4所示)。脉冲执行型指令在执行条件满足时仅执行一个扫描周期。这点对数据处理有很重要的意义。比如一条加法指令,在脉冲执行时,只将加数和被加数做一次加法运算。而连续型加法运算指令在执行条件满足时,每一个扫描周期都要相加一次。某些指令如INC、DEC等,在用连续执行方式时应特别注意。在指令标示栏中用“◥”警示,见图中5。(4)执行形式功能指令有脉冲执行型和连续执行型。指令中标有(P)的为脉冲执行型(如图中4所示)。脉冲执行型指令在执行条件满足时仅执行一个扫描周期。这点对数据处理有很重要的意义。比如一条加法指令,在脉冲执行时,只将加数和被加数做一次加法运算。而连续型加法运算指令在执行条件满足时,每一个扫描周期都要相加一次。某些指令如INC、DEC等,在用连续执行方式时应特别注意。在指令标示栏中用“◥”警示,见图中5。
(5)操作数 操作数是功能指令涉及或产生的数据。操作数分为源操作数、目标操作数及其他操作数。源操作数是指令执行后不改变其内容的操作数,用[S]表示。目标操作数是指令执行后将改变其内容的操作数,[D]表示目标操作数。m与n表示其他操作数。其他操作数常用来表示常数或者对源操作数和目标操作数作出补充说明。表示常数时,K为十进制,H为十六进制。在一条指令中,源操作数、目标操作数及其他操作数都可能不止一个,也可以一个都没有。某种操作数多时,可用下标数码区别,如[S1][S2]。 操作数从根本上来说,是参加运算数据的地址。地址是依元件的类型分布在存储区中。由于不同指令对参与操作的元件类型有一定限制,因此操作数的取值就有一定的范围。正确地选取操作数类型,对正确使用指令有很重要的意义。要想了解这些内容可查阅相关手册。操作数在图中见6。
(6)变址功能 操作数可具有变址功能。手册操作数旁加有“.”的即为具有变址功能的操作数。如[S1·]、[S2·]、[D·]等。 (7)程序步数 程序步数为执行该指令所需的步数。功能指令的功能号和指令助记符占一个程序步,每个操作数占2个或4个程序步(16位操作数是2个程序步,32位操作数是4个程序步)。因此,一般16位指令为7个程序步,32位指令为13个程序步。 在了解了以上要素以后,我们就可以通过查阅手册了解功能指令的用法了。如图所示的功能指令是,功能指令编号为20,32位加法指令,采用脉冲执行型。当其工作条件X0置1时,数据寄存器D10和D12内的数据相加,结果送到D14中。
编程举例: 1、用传送指令使当按下X0时,Y0-Y27所有的灯都亮,按下X1时,Y0-Y27所有的灯都灭。 Q、当按下X0时,Y0、Y1、Y2三灯都亮,按下X1时,Y4、Y5、Y6三灯也亮,按下X2时,所有灯灭。 由仿真软件或实验来理解
1、用传送指令使当按下X0时,Y0-Y27所有的灯都亮,按下X1时,Y0-Y27所有的灯都灭。1、用传送指令使当按下X0时,Y0-Y27所有的灯都亮,按下X1时,Y0-Y27所有的灯都灭。
Q、当按下X0时,Y0、Y1、Y2三灯都亮,按下X1时,Y4、Y5、Y6三灯也亮,按下X2时,所有灯灭。Q、当按下X0时,Y0、Y1、Y2三灯都亮,按下X1时,Y4、Y5、Y6三灯也亮,按下X2时,所有灯灭。
SFTLP与ROLP区别 SFTL、SFTR指令不循环只移位 ROL、ROR指令循环移位
编程举例: 2、用移位和循环指令编3灯移位程序:要求Y0—Y17的16个灯中三灯循环移位。 Q、用移位和循环指令编2灯移位程序:要求Y0—Y17的16个灯中2灯循环移位。
2、用移位和循环指令编3灯移位程序 左移位:
2、用移位和循环指令编3灯移位程序 右移位:
3、写出下列程序的运行功能 比较D0、D1中的数据: D0>D1,M0得电,Y0得电 D0 = D1,M1得电,Y1得电 D0<D1,M2得电,Y2得电
Q、试分析下列程序的功能 X0得电一次D0加1,X1得电一次D0减1。 D0所存数小于50时,Y3亮。 D0所存数等于50时,Y4亮。 D0所存数大于50时,Y5亮。
4、试分析下列程序的功能 将6送入D0,并以20MS的扫描频率以BCD码形式锁存输出
5、编一个主程序使当按下X0时,调用子程序P0;5、编一个主程序使当按下X0时,调用子程序P0; 当按下X1时,调用子程序P1。
Y0-Y17的16个灯中两灯循环移位 A、左移位方法一:
B、左移位方法二: C、右移位
H3333 H3333 方法一: 方法二: