学习大全三菱PLC编程实例.docx
《学习大全三菱PLC编程实例.docx》由会员分享,可在线阅读,更多相关《学习大全三菱PLC编程实例.docx(221页珍藏版)》请在冰点文库上搜索。
学习大全三菱PLC编程实例
第一节PLC简述
一、PLC的特点:
1、高可靠性
2、编程简单,使用方便
?
?
可采用梯形图编程方式,与实际继电器控制电路非常接近,一般电气工作者很容易接受。
3、环境要求低
?
?
适用于恶劣的工业环境。
4、体积小,重量轻
5、扩充方便,组合灵活
二、PLC的硬件结构:
1、硬件框图
2、输入接口电路
为了保证能在恶劣的工业环境中使用,PLC输入接口都采用了隔离措施。
如下图,采用光电耦合器为电流输入型,能有效地避免输入端引线可能引入的电磁场干扰和辐射干扰。
在光敏输出端设置RC滤波器,是为了防止用开关类触点输入时触点振颤及抖动等引起的误动作,因此使得PLC内部约有10ms的响应滞后。
当各种传感器(如接近开关、光电开关、霍尔开关等)作为输入点时,可以用PLC机内提供的电源或外部独立电源供电,且规定了具体的接线方法,使用时应加注意。
3、输出接口电路
?
?
?
PLC一般都有三种输出形式可供用户选择,即继电器输出,晶体管输出和晶闸管输出。
在线路结构上都采用了隔离措施。
特点:
继电器输出:
开关速度低,负载能力大,适用于低频场合。
晶体管输出:
开关速度高,负载能力小,适用于高频场合。
晶闸管输出:
开关速度高,负载能力小,适用于高频场合。
注意事项:
(1)PLC输出接口是成组的,每一组有一个COM口,只能使用同一种电源电压。
(2)PLC输出负载能力有限,具体参数请阅读相关资料。
(3)对于电感性负载应加阻容保护。
(4)负载采用直流电源小于30V时,为了缩短响应时间,可用并接续流二极管的方法改善响应时间。
三、三菱FX2PLC实物图及面板上的LED指示说明(用鼠标在各处点点)全屏观看
第二节PLC的工作过程
?
?
?
PLC大多采用成批输入/输出的周期扫描方式工作,按用户程序的先后次序逐条运行。
一个完整的周期可分为三个阶段:
?
?
?
(一)输入刷新阶段
?
?
?
程序开始时,监控程序使机器以扫描方式逐个输入所有输入端口上的信号,并依次存入对应的输入映象寄存器。
?
?
?
(二)程序处理阶段
?
?
?
所有的输入端口采样结束后,即开始进行逻辑运算处理,根据用户输入的控制程序,从第一条开始,逐条加以执行,并将相应的逻辑运行结果,存入对应的中间元件和输出元件映象寄存器,当最后一条控制程序执行完毕后,即转入输出刷新处理。
?
?
?
(三)输出刷新阶段
?
?
?
将输出元件映象寄存器的内容,从第一个输出端口开始,到最后一个结束,依次读入对应的输出锁存器,从而驱动输出器件形成可编程的实际输出。
?
?
?
一般地,PLC的一个扫描周期约10ms,另外,可编程序控制器的输入/输出还有响应滞后(输入滤波约10ms),继电器机械滞后约10ms,所以,一个信号从输入到实际输出,大约有20--30ms的滞后。
?
?
?
输入信号的有效宽度应大于1个周期+10ms。
第三节三菱FXPLC中各种元件介绍(以FX2-64MR为例)
一、输入继电器X
∙X、Y还有无数个常开、常闭触点供编程使用。
∙Y外部分仅有一个常开触点供带动负载使用。
∙可以看出每组都是8个
∙输入输出点数根据实际工程需要来确定。
∙可采用主机+扩展的方式来使用,扩展的编号依次编下去。
X0--X7
X10-X17
X20-X27
X30-X37
(共32点)
二、输出继电器Y
Y0--Y7
Y10--Y17
Y20--Y27
Y30--Y37
(共32点)
三、辅助继电器M
(1)通用辅助继电器
M0--M499(共500个),关闭电源后重新启动后,通用继电器不能保护断电前的状态。
(2)掉电保持辅助继电器
M500--M1023(共524个),PLC断电后再运行时,能保持断电前的工作状态,采用锂电池作为PLC掉电保持的后备电源。
(3)特殊辅助继电器
M8000--M8255(共156点),有特殊用途,将在其它章节中另作介绍。
?
?
?
辅助继电器都有无数个常开、常闭触点供编程使用,只能作为中间继电器使用,不能作为外部输出负载使用。
四、状态继电器S
(1)通用状态继电器S0--S499
(2)掉电保持型状态继电器S499-S899
(3)供信号报警用:
S900-S999
状态继电器S是对工作步进控制进行简易编程的重要元件,这里不作进一步的介绍。
五、定时器T
(1)定时器
T0--T199(200只):
时钟脉冲为100ms的定时器,即当设定值K=1时,延时100ms。
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
设定范围为0.1--3276.7秒。
T200--T245(46只):
时钟脉冲为10ms的定时器,即当设定值K=1时,延时10mS。
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
设定范围为0.01--327.67秒。
(2)积算定时器
T246--T249(4只):
时钟脉冲为1ms的积算定时器。
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
设定范围:
0.001--32.767秒。
T250--T255(6只):
时钟脉冲为100ms的积算定时器。
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
设定范围:
0.1--3267.7秒。
积算定时器的意义:
当控制积算定时器的回路接通时,定时器开始计算延时时间,当设定时间到时定时器动作,如果在定时器未动作之前控制回路断开或掉电,积算定时器能保持已经计算的时间,待控制回路重新接通时,积算定时器从已积算的值开始计算。
积算定时器可以用RST命令复位。
五、计数器C
(1)16bit加计数器
C0--C99(100点):
通用型
C100-C199(100点):
掉电保持型
设定值范围:
K1--K32767
(2)32bit可逆计数器
C200--C219(20点):
通用型
C220--C234(15点):
掉电保持型。
设定值范围:
-2147483648到+2147483647
可逆计数器的计数方向(加计数或减计数)由特殊辅助继电器M8200--M8234设定。
即M8△△△接通时作减计数,当M8△△△断开时作加计数。
(3)高速计数器:
C235--C255(后面章节实例中作介绍)
六、数据寄存器D
D0--D199(200只):
通用型数据寄存器,即掉电时全部数据均清零。
D200--D511(312只):
掉电保护型数据寄存器。
七、变址寄存器(在实例中作介绍)
第四节FX2PLC基本指令
2-2-1触点取用与线圈输出指令LD、LDI、OUT
2-2-2单个触点串联指令AND、ANI
2-2-3单个触点并联指令OR、ORI
2-2-4串联电路块的并联OR
2-2-5并联电路块的串联ANB
2-2-6LDP、LDF、ANDP、ANDF、ORP、ORF(FX2n型有)
2-2-7多重输出电路MPS、MRD、MPP
2-2-8主控及主控复位指令MCMCR
2-2-9脉冲输出PLS、PLF
2-2-10自保持与解除SET、RST
2-2-11计数器、定时器线圈输出和复位指令OUT、RST
2-2-12空操作指令NOP
2-2-12程序结束指令END
2-2-13梯形图设计的规则和技巧
2-2-14双重输出动作及其对策
?
LD,LDI,OUT指令
指令助记符与功能:
符号、名称
功能
可用元件
程序步
LD取
a触点逻辑运算开始
X,Y,M,S,T,C
1
LDI取反
b触点逻辑运算开始
X,Y,M,S,T,C
1
OUT输出
线圈驱动
Y,M,S,T,C
Y,M:
1
S,特,M:
2
T:
3
C:
3-5
注:
当使用M1536-M3071时,程序步加1。
指令说明:
∙LD,LDI指令用于将触点接到母线上。
另外,与后面讲到的ANB指令组合,在分支起点处也可使用。
∙OUT指令是对输出继电器、辅助继电器、状态、定时器、计数器的线圈驱动指令,对输入继电器不能使用。
∙OUT指令可作多次并联使用。
(在下图中,在OUTM100之后,接OUTT0)
编程:
0LDX000
1OUTY000
2LDIX001
3OUTM100
4OUTT0K19?
——程序步自动管理空2步
7LDT0
8OUTY001
定时器、计数器的程序:
∙对于定时器的计时线圈或计数器的计数线圈,使用OUT指令以后,必须设定常数K。
此外,也可指定数据寄存器的地址号。
∙常数K的设定范围、实际的定时器常数、相对于OUT指令的程序步数(包括设定值)如下表所示。
定时器、计数器
K的设定范围
实际的设定值
步数
1ms定时器
1-32,767
0.001-32.767秒
3
10ms定时器
1-32,767
0.01-327.67秒
3
100ms定时器
0.1-3,276.7秒
16位计数器
1-32,767
同左
3
32位计数器
-2,147,483,648-+2,147,483,647
同左
3
?
AND,ANI指令
助记符与功能:
符号、名称
功能
可用软元件
程序步
AND与
a触点串联连接
X,Y,M,S,T,C
1
ANI与非
b触点串联连接
X,Y,M,S,T,C
1
?
?
?
?
?
?
当使用M1536-M3071时,程序步加1。
指令说明:
∙用AND,ANI指令可进行1个触点的串联连接。
串联触点的数量不受限制,该指令可多次使用。
∙OUT指令后,通过触点对其他线圈使用OUT指令,称之为纵接输出,(下图的OUTM101与OUTY004)
这种纵接输出,如果顺序不错,可多次重复。
串联触点数和纵接输出次数不受限制,但使用图形编程设备和打印机则有限制。
建议尽量做到1行不超过10个触点和1个级圈,总共不要超过24行。
编程:
0LDX002
1ANDX000
2OUTY003
3LDY003
4ANIX003
5OUTM101
6ANDT1
7OUTY004
如上图所示,紧接着OUTM101以后通过触点T1可以驱动OUTY004,但如是驱动顺序相反(如左图所示)时,则必须使用后面讲到的MPS和MPP命令。
?
OR,ORI指令
指令助记符与功能:
指令助记符、名称
功能
可用软元件
程序步
OR或
a触点并联连接
X,Y,M,S,T,C
1
ORI或非
b?
触点并联连接
X,Y,M,S,T,C
1
?
?
?
?
当使用M1536-M3071时,程序步加1
指令说明:
∙OR、ORI用作1个触点的并联连接指令。
串联连接2个以上触点时,并将这种串联电路块与其他电路并联连接时,采用后面讲到的ORB指令。
∙OR,ORI是从该指令的步开始,与前面的LD,LDI指令步,进行并联连接。
并联连接的次数不受限制,但使用图形编程设备和打印机时受限制(24行以下)
编程:
0LDX004
1ORX006
2ORIM102
3OUTY005
4LDIY005
5ANDX007
6ORM103
7ANIX010
8ORM110
9OUTM103
ORB指令
指令助记符与功能
指令助记符、名称
功能
程序步
ORB电路块或
串联电路块的并联连接
1
指令说明
∙2个以上的触点串联连接的电路称为串联电路块。
将串联电路并联连接时,分支开始用LD、LDI指令,分支结束用ORB指令。
∙ORB指令与后面讲的ANB指令等一样,是不带软元件地址号的独立指令。
∙有多个并联电路时,若对每个电路块使用ORB指令,则并联电路没有限制。
(见正确编程程序)
∙ORB也可以成批地使用,但是由于LD,LDI指令的重复使用次数限制在8次以下,请务必注意。
(见编程不佳的程序)
编程
正确编程程序
1LDX000
2ANDX001
3LDX002
4ANDX003
5ORB
6LDIX004
7ANDX006
8ORB
9OUTY006
编程不佳的程序
1LDX000
2ANDX001
3LDX002
4ANDX003
5LDIX004
6ANDX006
7ORB
8ORB
9OUTY006
ANB指令
指令助记符与功能:
指令助记符、名称
功能
程序步
ANB电路块与
并联电路块的串联连接
1
指令说明:
∙当分支电路(并联电路块)与前面的电路串联连接时,使用ANB指令,分支的起点用LD,LDI指令,并联电路块结束后用ANB指令,与前面的电路串联。
∙若多个并联电路块按顺序和前面的电路串联连接时,则ANB指令的使用次数没有限制。
∙也可成批地使用ANB指令,但在这种场合,与ORB指令一样,LD、LDI指令的使用次数是有限制的(8次以下),请务必请意
编程:
0LDX000
1ORX001
2LDX002
3ANDX003
4LDIX004
5ANDX005
6ORB
7ORX006
8ANB
9ORX003
10OUTY007
LDP、LDF、ANDP、ANDF、ORP、ORF指令
指令助指符与功能:
指令助记符、名称
功能
可用软元件
程序步
LDP取脉冲
上升沿检测运算开始
X、Y、M、S、T、C
1
LDF取脉冲
下降沿检测运算开始
X、Y、M、S、T、C
1
ANDP与脉冲
上升沿检测串联连接
X、Y、M、S、T、C
1
ANDF与脉冲
下降沿检测串联连接
X、Y、M、S、T、C
1
ORP或脉冲
上升沿检测并联连接
X、Y、M、S、T、C
1
ORF或脉冲
下降沿检测并联连接
X、Y、M、S、T、C
1
当使用M1536--M3071时,程序步加1,以上指令FX2N中才有。
指令说明:
∙LDP、ANDP、ORP指令是进行上升沿检测的触点指令,仅在指定位软件上沿时(即由OFF→ON变化时)接通1个扫描周期。
∙LDF、ANDF、ORF指令是进行下降沿检测的触点指令,仅在指定位软元件下降时(即由ON→OFF变化时)接通1个扫描周期。
编程:
例1:
0LDPX000
1ORPX001
2OUTM0
3LDM8000
4ANDPX002
5OUTM1
例2:
0LDFX000
1ORFX001
2OUTM0
3LDM8000
4ANDFX002
5OUTM1
图示理解:
MPS、MRD、MPP指令
指令助记符与功能
指令助记符、名称
功能
程序步
MPS进栈
进栈
1
MRD读栈
读栈
1
MPP出栈
出栈
1
指令说明
∙在可编程序控制器中有11个存储器,用来存储运算的中间结果,被称为栈存储器。
使用一次MPS指令就将此时刻的运算结果送入栈存储器的第1段,再使用MPS指令,又将此时刻的运算结果送入栈存储器的第1段,而将原先存入第一段的数据移到第二段。
以此类推。
∙使用MPP指令,将最上段的数据读出,同时该数据从栈存储器中消失,下面的各段数据顺序向上移动。
即所谓后进先出的原则。
∙MRD是读出最上段所存的最新数据的专用指令,栈存储器内的数据不发生移动。
∙这些指令都是不带软元件地址的独立指令。
编程
例1:
一段栈
0LDX004
1MPS
2ANDX005
3OUTY002
4MRD
5ANDX006
6OUTY003
7MRD
8OUTY004
9MPP
10ANDX007
11OUTY005
例2:
二段栈
0LDX000
1MPS
2ANDX001
3MPS
4ANDX002
5OUTY000
6MPP
7ANDX003
8OUTY001
9MPP
10ANDX004
11MPS
12ANDX005
13OUTY002
14MPP
15ANDX006
16OUTY003
例3:
四段栈
0LDX000
1MPS
2ANDX001
3MPS
4ANDX002
5MPS
6ANDX003
7MPS
8ANDX004
9OUTY000
10MPP
11OUTY001
12MPP
13OUTY002
14MPP
15OUT003
16MPP
17OUTY004
请对照一下面的梯形图与例3:
0LDX000
1OUTY004
2ANDX001
3OUTY003
4ANDX002
5OUTY002
6ANDX003
7OUTY001
8ANDX004
9OUTY000
例3中需要要三重MPS指令编程,但是如果改成左面的电路,实现的效果一样。
编程却很方便,不必采用MPS指令。
MC、MCR指令
指令助记符与功能
指令助记符、名称
功能
程序步
MC主控指令
公共串联触点的连接
3
MCR主控复位
公共串联触点的清除
2
指令说明
∙在下面程序示例中,输入X000为接通时,直接执行从MC到MCR的指令,输入X000为断开时,成为如下形式:
保持当前状态:
积算定时器、计数器、用置位/复位指令驱动的软元件。
变成OFF的软件:
非积算定时器,用OUT指令驱动的软元件。
∙主控(MC)指令后,母线(LD、LDI点)移动主控触点后,MCR为将其返回原母线的指令。
∙通过更改软元件地址号Y、M,可多次使用主控指令。
但使用同一软元件地址号时,就和OUT指令一样,成为双线圈输出。
编程
例1:
没有嵌套时
0LDX000
1MCN0M100
4LDX001
5OUTY000
6LDX002
7OUTY001
8MCRN0
?
?
?
没有嵌套结构时,通用N0编程。
N0的使用次数没有限制。
有嵌套结构时,嵌套级N的地址号增大,即N0--N1--N2……N7。
例2:
有嵌套时
0LDX000
1MCN0M100?
?
3步指令
4LDX001
5OUTY000
6LDX002
7MCN1M101?
?
3步指令
10LDX003
11OUTY001
12MCRN1?
?
?
?
?
2步指令
14LDX004
15OUTY002
16MCRN0?
?
?
?
?
2步指令
PLS、PLF指令
指令助记符、名称
指令助记符、名称
功能
程序步
PLS上升脉冲
上升沿微分输出
2
PLF下沿脉冲
下降沿微分输出
2
?
当使用M1536--M3071时,程序步加1
指令说明
∙使用PLF指令时,仅在驱动输入OFF后1个扫描周期内,软元件Y、M动作。
∙使用PLS指令时,仅在驱动输入ON后1个扫描周期内,软元件Y、M动作。
编程
0LDX000
1PLSM0?
?
2步指令
3LDM0
4SETY000
5LDX001
6PLFM1?
?
?
?
2步指令
8LDM1
9RSTY000
各元件的状态图:
SET、RST指令
指令助记符与功能
指令助记符、名称
功能
可用软元件
程序步
SET置位
动作保持
Y、M、S
Y、M:
?
?
?
?
?
?
?
1
S、特M:
?
?
?
?
?
2
T、C:
?
?
?
?
?
?
?
2
D、V、Z、特D:
3
RST复位
消除动作保持,
寄存器清零
Y、M、S、T、C、D、V、Z
指令说明
∙在下述程序示例中,X000一旦接通后,即使它再次成为OFF,Y000依然被吸合。
X001一旦接通后,即使它再次成为OFF,Y000仍然是释放状态。
∙对同一种软元件,SET、RST可多次使用,顺序也可随意,但最后执行者有效。
∙此外,要使数据寄存器D、变址寄存器V、Z的内容清零时,也可使用RST指令。
∙积算定时器T246--T255的当前值的复位和触点复位也可用RST指令。
编程
0LDX000
1SETY000
2LDX001
3RSTY000
计数器软元件的OUT、RST
指令助记符与功能
指令助记符、名称
功能
程序步
OUT输出
计数线圈的驱动
32位计数器:
5
16位计数器:
3
RST复位
输出触点的复位、当前值的清零
2
内部计数器编程
0LDX010
1RSTC0?
?
?
2步指令
3LDX011
4OUTC0K10(3步指令)
7LDC0
8OUTY000
∙C0对X011的OFF-ON次数进行增计数,当它达到设定值K10时,输出输出点C0动作,以后即使X011从OFF-ON,计数器的当前值不变,输出触点依然动作。
∙为了清除这些当前值,让输出触点复位,则应令X010为ON。
∙有必要在OUT指令后面指定常数K或用数据寄存器的地址号作间接设定。
∙对于掉电保持用计数器,即使停电,也能保持当前值,以及输出触点的工作状态或复位状态。
高速计数器的编程
0LDX010
1OUTM8***?
2步
3LDX011
4RSTC***?
?
2步
6LDXO12
7OUTC***K值(或D)?
?
5步
12LDC***
13OUTY002
∙在C235-C245的单相单输入计数器中,为了指定计数方向,采用特殊辅助继电器M8234-M8245。
∙当X010为ON时,对应C***的M8***也ON,这时C***为减计数。
∙当X010为OFF时,对应C***的M8***也OFF,这时C***为增计数。
∙X011为ON时,计数器C***的输出触点复位,计数器的当前值也清零。
∙当X012为ON时,对依据计数器地址号确定的计数器输入X000-X005的ON/OFF进行计数。
∙计数器的当前值增加,通过设定值(K或