第3章 基本指令
FX2N系列的PLC共有基本指令27条,本章主要介绍这些基本指令的功能。并掌握
由梯形图转化成指令表,指令表转化成梯形图的方法;然后通过一些编程的示例理解基
本指令的应用和一些编程的规则。
3.1 基本指令
3.1.1 LD、LDI、OUT指令
LD,取指令,表示每一行程序中第一个与母线相连的常开触点。另外,与后面讲到
LDI,取反指令,与LD的用法相同,只是LDI是对常闭触点。
LD、LDI两条指令的目标元件是X、Y、M、S、T、C。
OUT,线圈驱动指令。是对输出继电器(Y)、辅助继电器(M)、状态器(S)、定
时器(T)、计数器(C)的线圈驱动,对输入继电器(X)不能使用。
| 程序 |
| 指令 | 目标元件 | |||||||
步号 | |||||||||||
|
| 与母线相连 驱动线圈 | |||||||||
0 LD X0 1 OUT Y0 2 LDI X1 3 OUT M0 | |||||||||||
X1 | M0 | ||||||||||
4 OUT T0 |
| 驱动定时器线圈 | |||||||||
T0 | K20 | SP K20 8 OUT Y1 SP为空格键7 LD T0 |
| 定时器设定值 | |||||||
T0 a) 梯形图 | |||||||||||
b) 指令表 |
图3-1 LD、LDI、OUT指令的使用说明
当OUT指令驱动的目标元件是定时器T和计数器C时,如设定值是常数K时,则
K的设定范围如表3-1所示:程序步序号是自动生成,在输入程序时不用输入程序步号,
不同的指令,程序步号是有所不同的。
|
3.1.2 触点串联指令AND、ANI
用于单个常开接点的串联。
ANI,与非指令。用于单个常闭接点的串联。
AND与ANI都是一个程序步指令,串联触点的个数没有限制,该指令可以多次重
复使用。使用说明如图3-2所示。这两条指令的目标元件为X、Y、M、S、T、C。
OUT指令后,通过接点对其他线圈使用OUT指令称为纵接输出或连续输出,如图
X1 | X2 | 0 LD X1 |
X3 | Y1 | 1 AND X2 |
| 串联常开触点 | MPS | ||||||
X4 | X5 | Y2 | 2 LD X3 | ||||||||
3 ANI X4 |
| 触联常闭触点 | |||||||||
X3 | X4 | X5 | Y3 | ||||||||
5 OUT Y2 | |||||||||||
Y3 | 6 AND X5 | ||||||||||
7 OUT Y3 | MPP | Y2 | |||||||||
a)梯形图 | b)语句表 | ||||||||||
图3-2 AND、ANI指令使用说明 | 图3-3 不推荐使用 |
3-2中的OUTY3。这种连续输出如果顺序不错,可以多次重复。但是如果驱动顺序换
成图3-3的形式,则必须用后述的MPS指令和MPR指令。
3.1.3 接点并联指令OR、ORI
OR,或指令。
这两条指令都用于单个的常开触点并联,操作的对象是X、Y、M、S、T、C。OR
是用于常开触点,ORI用于常闭触点,并联的次数可以是无限次。使用说明如图3-4所
示。
X4
X5 | OR | Y5 | 0 LD X4 | 并联连接 | |
M102 | |||||
ORI | |||||
3 OUT Y5 | |||||
Y5 | X7 | X10 | M103 | 4 LD Y5 5 AND X7 | 并联连接 |
M103 | OR | ||||
M110 | |||||
9 OUT M103 |
OR
a) 梯形图 b)指令表
图3-4 OR、ORI使用说明
3.1.4 取脉冲指令LDP、LDF、ANDP、ANDF、ORP、ORF
LDP,ANDP,ORP指令是进行上升沿检测的触点指令,仅在指定的位元件上升沿
(OFF→ON变化时)时,接通一个扫描周期,操作的目标元件是X、Y、M、S、T、
C。应用如图3-5 所示。
LDF、ANDF、ORF指令是进行下降沿检测的触点指令,仅在指定位元件下降时(即
由ON→OFF变化时)接通1个扫描周期。操作的目标元件是X、Y、M、S、T、C。
使用说明如图3-6所示。
3.1.5 串联电路块并连指令ORB
两个或两个以上的接点串联的电路称为串联电路块;当串联电路块和其它电路并联
时连接时,分支开始用LD、LDI。分支结束用ORB。ORB指令和后面的ANB指令是不带
操作数的独立指令。电路中有多少个串联电路块就用多少次ORB,ORB使用的次数不
受限制。
ORB指令也可成批使用,但是由于LD、LDI指令的重复使用次数受限制在8次以
下,请务必注意。ORB指令使用说明见图3-7所示。
3.1.6 并联电路块的串联连接指令ANB
两个或两个以上接点并联的电路称为并联电路块。并联电路块和其它接点串联连接
时,使用ANB。电路块的起点用LD、LDI指令,并联电路块结束后,使用ANB指令
与前面串联。ANB指令是无操作目标元件的指令。ANB指令的使用说明见图3-8所示。
3.1.7 多重输出指令MPS、MRD、MPP
MPS,进栈指令。
MRD,读栈指令。
MPP,出栈指令。
在PLC中有11个存储器,它们用来存储运算的中间结果,被称为栈存储器。使用1
次MPS指令就将此时的运算结果送入栈存储器的第1段。再使用MPS指令,又将此
时刻的运算结果送入栈存储器的第1段,而将原先存入的数据依此移到栈存储器的下一
段。
使用MPP指令,各数据按顺序向上移动,将最上段的数据读出,同时该数据就从
栈存储器中消失。MRD是读出最上段所存的最新数据的专用指令,栈存储器内的数据
不发生移动。
3-9、3-10、3-11)所示。
3.1.8 主控及主控复位指令MC、MCR
MC,主控指令。用于公共串联触点的连接。
MCR,主控复位指令。用于公共串联触点的清除。
主控(MC)指令后,母线(LD、LDI点)移到主控触点后,MCR为将其返回原母
线的指令。通过更改软元件地址号Y,M,可多次使用主控指令,但不同的主控指令不
能使用同一软件号,否则就双线圈输出。MC、MCR指令的应用如图3-13 的程序示例
中,当输入X0为接通时,直接执行从MC到MCR的指令。输入X0为断开时,成为
如下形式:
保持当前状态:积算定时器、计数器、用置位/复位指令驱动的软元件。
变为OFF的软元件:非积算定时器,用OUT指令驱动的软元件。
在没有嵌套结构时,通用N0编程。N0的使用次数没有限制。有嵌套结构时,嵌
套级N的地址号增大,即N0→N1→N2→N3→N4→N5…N7。在将指令返回时,采用
MCR指令,则从大的嵌套级开始消除。如图3-14所示。
图3-13 MC、MCR指令的应用
X0 | MC N0 M100 | N0 | 程序运行说明: |
N0 M100 | |||
X1 | |||
Y0 | N1 | 当X0=OFF时,则夹在N0级以内 | |
X2 | 的程序不能运行。 | ||
当X0=0N时,则夹在N0内的程 | |||
MC N1 M101 | 序可以运行,N1级N2级有效。 |
N1 M101
X3 | Y1 | N2 | 当X2=OFF时,则夹在N1级以内 |
的程序不能运行。 | |||
X4 | MC N2 M102 | 当X2=0N时,则夹在N1内的程 | |
序可以运行,N2级有效。 |
N2 M102
X5
Y3 当X4=OFF时,则夹在N2级以内
的程序不能运行。
当X4=0N时,则夹在N2内的程
MCR N2 N2 序可以运行。
X6
Y4
MCR N1
N1
X7Y5 Y6的ON/OFF只取决于X10的
ON/OFF,于X0、X2、X4无
关。因为它已在主控以外。
X10 Y6
MCR N0
3.1.9 取反INV 指令
INV指令是在将执行INV指令之前的运算结果反转的指令,是不带操作数的独立指
令。使用如图3-15所示。当X0断开,则Y0接通,如果X0接通则Y0断开。
|
|
|
(a) 梯形图 | (b)指令表 | (c) 时序图 |
图3-15 取反指令INV 3.1.10 置位与复位指令SET、RST。
的使用说明如图3-16所示。由波形图可见,当X0接通,即使再变成断开,Y0也保持
接通。X1接通后,即使再断开,Y0也将保持断开。SET指令的操作目标元件为Y、M、
S。而RST指令的操作元件是Y、M、S、D、V、Z、T、C。
3.1.11 微分输出指令PLS、PLF
PLS—上升沿微分输出。当输入条件为ON时(上升沿),相应的输出位元件Y或M
接通一个扫描周期。
PLF—下降沿微分输出。当输入条件为OFF时(下降沿),相应的输出位元件Y或M
接通一个扫描周期。
这两条指令都是2个程序步,它们的目标元件是Y和M,但特殊辅助继电器不能作
为目标元件。其动作过程如图3-17所示。
使用这两条指令时,要特别注意目标元件。例如,在驱动输入接通时,PLC由运行→
停止→运行,此时PLS M0 动作,但PLS M600(断电保持辅助继电器)不动作。
这是因为M600在断电停机时其动作也能保持。
(a)梯形图 (b)指令表 (c)波形图
3.1.12 NOP、END指令
NOP—空操作指令。
END—程序结束指令。
NOP指令是不带操作数,在普通指令之 间插入NOP指令,对程序执行结果
没有影响,但是将已写入的指令换成NOP,则被换的程序被删除,程序发生变化。所
X0 X1 X2
Y0
AND NOP ANI NOP
图3-18 NOP指令使用说明
以用NOP指令可以对程序进行编辑。如图3-18,当把ANDX1 换成NOP,则触点X1
被消除,ANIX2 换成NOP,触点X2被消除。
END是程序结束指令,当一个程序结束时,后面用END,写在END后的程序不能
被执行。如果程序结束不用END,在程序执行时会扫描完整个用户存储器,延长程序
的执行时间,有的PLC还会提示程序出错,程序不能运行。
例3-1:根据下例梯形图写出指令表。
图3-19 例1 梯形图和指令表
3.2 基本指令的应用
了解了PLC的基本指令后,我们学习利用基本指令进行编程,用基本指令能完成大
部分逻辑控制的编程。
3.2.1 可编程控制器梯形图编程规则。
1、水平不垂直。
垂直触点不能输入,要
完成同样的逻辑控制,
可以改成右图所示
图3-20 触点水平不垂直
2、多上串右。
|
|
|
|
(a) 多上
将并联电路快写在右边,
则可以不用ANB指令。
(b) 串右
图3-21 多上串右
3、线圈右边无接点
线圈的右边不能有接
点,应改成右图所示。
图3-22 线圈右边无触点
4、不能有双线圈输出。
Y3是双线圈输出,当出现双线圈输出时,前面的输出不起作用,只有最后的一条输
出才起作用。避免双线圈的方法是把触点并联。如图3-23。
|
|
|
|
图3-23 不能有双线圈输出
3.2.2 程序举例
当我们要进行一个程序设计时,一般要按照这么几
个过程进行:(1)、理解控制过程。这是写程序非常关
键的一步,不了解控制过程,也就无法写出正确的程
序。这一过程可以是客户提出,如果不能准确理解,可
程序设计,画出梯形图。(4)、对程序进行调试。下面我们通过一些简单例子来说明如以到现场进行观测。
何进行编程。
例3-2:电动机正反转的控制。控制要求:当按下正转按钮时,电动机正转;按下
反转按钮,电动机反转;按下停止按钮,电动机马上停止。当电动机发生过热时,也能
自动停止。
分析:要控制电动机正反转,必须要两个交流接触器, 图3-24(a)正反转控制主电路
其主电路如图3-24(a)。所以PLC 有两
个输出信号;有四个输入信号,其I/O 图
如图3-24(b)。另外,由于电动机控制
正反转的接触器不能同时接通,所以必须
进行互锁。根据控制要求写出梯形图和指令表如图3-25:
(a) 梯形图 (b) 指令表
图3-25 正反转控制梯形图和指令表
例3-3:有两台电动机:按下启动按钮,第一台电动机运行10 分钟后停止,切换到
第二台运转,20 分钟后,第二台自动停止。试编出PLC 控制程序。
分析:输入信号可以用一个启动按钮。每个电动机用一个交流接触器控制,所以有
两个输出信号。控制I/O 图如图3-26。程序中要计时,所以要用到定时器。其地址分
配和梯形图、指令表如下。
X0—启动按钮 Y1—电动机1 Y2—电动机2
KM1
启动按钮 | XO | Y0 | 电动机1 |
KM2
Y1 | 电源 | FU | 电动机2 |
COM COM |
图3-26 两台电动机控制的I/O图
图3-27 例3梯形图和指令表
讨论:将上题改成两台电机按上述规律运行5个周期后自动停止,另外要求在程序
中添加一个急停按钮,应如何修改程序?
例3-4:喷泉控制设计:有A、B、C三组喷头,要求启动后A组先喷5s,之后
B、C同时喷,5s后B停止,再过5s,C停止而A、B同时喷,再过半2sC 也喷;A、
B、C 同时喷5s后全部停止,再过3s重复前面过程;当按下停止按钮后,马上停止。
时序图如3-28。试编出PLC的控制程序。
图3-28 喷泉控制时序图
分析:这是一个关于时序循环的问题,这一类的问题编程有一定的规律,掌握这个
规律,编程是一件很容易的事。
第一步,根据时序图中各负载发生的变化,定下要用定时器的编号和各定时器要延
时的时间,如图3-28。
个定时器的线圈,再用最后一个定时器的触点去断开最前一个定时器的线圈,这样就能
完成了定时器的循环计时。
第三,写驱动负载的程序,根据时序图中各负载上升沿和下降沿的变化,上升沿表
示是负载要接通,用相应的常开触点,下降沿表示负载断开,用相应的常闭触点。在一
个周期中负载有多次接通的,用各路触点并联。其程序和I/O地址分配如下。
X0—启动按钮 X1—停止按钮 Y0—A组喷头 Y1—B组喷头 Y2—C组喷头
图3-29 喷泉控制程序梯形图和指令表
例3-5:交通灯的控制
假设有一个十字路口的交通信号灯控制要求时序图如图3-30。南北方向:红灯亮25
秒,转到绿灯亮25秒,再按1秒钟一次的规律闪烁3次,然后转到黄灯亮2秒。东西
方向:绿灯亮20 秒,再闪烁3次,转到黄灯亮2 秒,然后红灯亮30秒。完成一个周
期,如此循环运行。试编写PLC控制程序。
图3-30 交通灯的平面示意图和控制时序图
分析:这也是有关时序循环的问题,所以编程方法和例3是一样的。一秒钟的闪烁可用
M8013。
X0—启动按钮 X1—停止按钮 各信号灯的地址如控制时序图所示。控制程序如
下。
图3-31 交通灯控制梯形图
习 题
3-1根据题3-32图(a)、(b)的梯形图写出指令表
图3-32(a)
图3-32(b)
3-2根据题3-33图的指令表写出梯形图。
图3-33图
3-3 有三台电动机,要求启动时每隔10min依此起动一台,每台运转2小时后自动停
机。运行中还可以用停止按钮将三台电动机同时停机;试编出PLC的控制程序。
3-4 某皮带运输机由M1、M2、M3、M4四台电动机拖动,要求:(1)、起动时,
按M1→M2→M3→M4顺序启动,间隔均为3秒。(2)、停止时,按M4→M3→M2→M1
顺序停止,间隔也为3秒。试编写PLC的控制程序。
3-5一台电动机运转20s后停止5s,重复如此动作5次,试编写PLC控制程序。
3-6某广告招牌有四个灯,要求动作如图3-34时序图所示,循环进行,当按下停止按
门上限车库门
钮时能马上停止。试编出PLC控制程序。
图3-34
图3-35
3-7 某一车库门要求自动控制,如图3-35所示,车库的门内外各有一传感器,用来
检测是否有车通过,当有车要进车库时,门外传感器检测到有车来,门自动打开,车开
进车库,开到上限时,开门过程结束,当门内传感器测到车已通过时,开始关门。碰到下
限,关门结束。当车要出车库时,门内传感器检测到有车通过,库门打开,当车通过门
外的传感器后,车库门自动关上。车库门外有一数字牌,用来显示车库内停车的数量,
当车库内停满10辆车后,如外面再有车进来,车库门不开,但库内的车可以开出车库,
试用PLC编出控制程序,完成车库门的控制。
3-8做一个四路枪答器,每一位枪答者台上有一个枪答按钮和一个指示灯。主持人,台上
有一个开始按钮和一个复位按钮;另外还有一个七段数码管和一个蜂鸣器。枪答规则:
当主持人喊开始后(按下了开始按钮),四位枪答者开始枪答,谁先枪到,相应台上的
指示灯亮,而且数码管显示他的位号。主持人按了复位按钮,下一循环又可以开始枪答。
如果主持人没有喊开始,谁先按下枪答按钮,相应台上的指示灯亮,数码管显示他的位
号,同时风鸣器发出报警声,表示其违规,主持人按下复位,才能消除。试用PLC编出
控制程序。
m8000是特殊的辅助继电器,在运行时m8000就一直闭合,m8001 和m8002,是初
始化脉冲,在plc刚启动时闭合一个周期,只不过8001是常闭,8002是常开,
m8011,8012,8013,是时间脉冲,周期分别是,10ms,100ms,1000ms(一秒),
m8020,m8021,m8022,是标实位,代表益处,零位,结尾。
还有其他的特殊辅助继电器,常用的就这些,想了解的更多,你需要一本编程手册。
LD X0 ALTP Y0 |
|
按一下X0,Y0=ON,再按一下,Y0=OFF,交替输出。
FX2N三菱PLC设计4次/秒闪烁要一秒里闪四次 ,I/O输入x1,输出Y5用FXGPWIN软件编程,给出IL,你写入FXGP也好,写入GXDeveloper 也好,T246是1ms定时器所以设置K125就可以,这种双分频电路使用一个定时器足以。
LDX1
ALTPM0
LDIM0
RSTY5
LDM0
OUTT246 K125
LDT246
ALTPY5
RSTT246
M0,M1,M241,M251,M384都是通用继电器,用法是一样的。M0 ~M499 为通用辅助继电器 共500 个END
M500~M1023 可通过设定改为通用辅助继电器。M500~M3071 为断电保持继电器 共2572 个