搜档网
当前位置:搜档网 › 三菱PLC编程实例

三菱PLC编程实例

三菱PLC编程实例
三菱PLC编程实例

三菱FX系列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时,为了缩短响应时间,可用并接续流二极管的方法改善响应时间。

第二节 PLC的工作过程

PLC大多采用成批输入/输出的周期扫描方式工作,按用户程序的先后次序逐条运行。一个完整的周期可分为三个阶段:

(一)输入刷新阶段

程序开始时,监控程序使机器以扫描方式逐个输入所有输入端口上的信号,并依次存入对

应的输入映象寄存器。

(二)程序处理阶段

所有的输入端口采样结束后,即开始进行逻辑运算处理,根据用户输入的控制程序,从第一条开始,逐条加以执行,并将相应的逻辑运行结果,存入对应的中间元件和输出元件映象寄存器,当最后一条控制程序执行完毕后,即转入输出刷新处理。

(三)输出刷新阶段

将输出元件映象寄存器的内容,从第一个输出端口开始,到最后一个结束,依次读入对应的输出锁存器,从而驱动输出器件形成可编程的实际输出。

一般地,PLC的一个扫描周期约10ms,另外,可编程序控制器的输入/输出还有响应滞后(输入滤波约10ms),继电器机械滞后约10ms,所以,一个信号从输入到实际输出,大约有20--30ms的滞后。

输入信号的有效宽度应大于1个周期+10ms。

第三节 三菱FX PLC中各种元件介绍(以FX2-64MR为例)

一、输入继电器 X

X0--X7

X10-X17

X20-X27

X30-X37

(共32点)

二、输出继电器 Y

Y0--Y7

Y10--Y17 Y20--Y27 Y30--Y37 (共32点)

X、Y还有无数个常开、常闭触点供编程使用。

Y外部分仅有一个常开触点供带动负载使用。

可以看出每组都是8个

输入输出点数根据实际工程需要来确定。

可采用主机+扩展的方式来使用,扩展的编号

依次编下去。

三、辅助继电器 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只):掉电保护型数据寄存器。

七、变址寄存器(在实例中作介绍)

第四节 FX2 PLC基本指令

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-6 LDP、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指令可作多次并联使用。(在下图中,在OUT M100之后,接OUT T0)

编程:

0 LD X000 1 OUT Y000 2 LDI X001 3 OUT M100

4 OUT T0 K19 ——程序步自动管理空2步 7 LD T0 8 OUT Y001

定时器、计数器的程序:

对于定时器的计时线圈或计数器的计数线圈,使用OUT 指令以后,必须设定常数K。此外,也可指定数据寄存器的地址号。

常数K 的设定范围、实际的定时器常数、相对于OUT 指令的程序步数(包括设定值)如

下表所示。

定时器、计数器 K 的设定范围 实际的设定值 步数 1ms 定时器 1-32,767 0.001-32.767秒 3 10ms 定时器 0.01-327.67秒

100ms 定时器 1-32,767 0.1-3,276.7秒 3

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 指令,称之为纵接输出,(下图的OUT M101

与OUT Y004)

这种纵接输出,如果顺序不错,可多次重复。

串联触点数和纵接输出次数不受限制,但使用图形编程设备和打印机则有限制。 建议尽量做到1行不超过10个触点和1个级圈,总共不要超过24行。

编程:

0 LD X002 1 AND X000 2 OUT Y003 3 LD Y003 4 ANI X003 5 OUT M101 6 AND T1 7 OUT Y004

如上图所示,紧接着OUT M101以后通过触点T1可以驱动OUT Y004,但如是驱动顺序相反(如左图所示)时,则必须使用后面讲到的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行以下)

编程:

0 LD X004

1 OR X006

2 ORI M102

3 OUT Y005

4 LDI Y005

5 AND X007

6 OR M103

7 ANI X010

8 OR M110

9 OUT M103

ORB 指令

指令助记符与功能

指令助记符、名称 功能 程序步 ORB 电路块或 串联电路块的并联连接 1

指令说明

2个以上的触点串联连接的电路称为串联电路块。将串联电路并联连接时,分支开始用LD、LDI指令,分支结束用ORB指令。

ORB 指令与后面讲的ANB指令等一样,是不带软元件地址号的独立指令。

有多个并联电路时,若对每个电路块使用ORB指令,则并联电路没有限制。(见正确编程程序)

ORB也可以成批地使用,但是由于LD,LDI指令的重复使用次数限制在8次以下,请务必注意。(见编程不佳的程序)

编程

正确编程程序 1 LD X000 2 AND X001 3 LD X002 4 AND X003 5 ORB

6 LDI X004

7 AND X006

8 ORB

9 OUT Y006 编程不佳的程序 1 LD X000 2 AND X001 3 LD X002 4 AND X003 5 LDI X004 6 AND X006 7 ORB 8 ORB

9 OUT Y006

ANB 指令

指令助记符与功能:

指令助记符、名称 功能

程序步 ANB 电路块与

并联电路块的串联连接

1

指令说明:

当分支电路(并联电路块)与前面的电路串联连接时,使用ANB 指令,分支的起点用LD,LDI 指令,并联电路块结束后用 ANB 指令,与前面的电路串联。

若多个并联电路块按顺序和前面的电路串联连接时,则 ANB 指令的使用次数没有限制。

也可成批地使用ANB 指令,但在这种场合,与ORB 指令一样,LD、LDI 指令的使用次数是有限制的(8次以下),请务必请意

编程:

0 LD X000 1 OR X001 2 LD X002 3 AND X003 4 LDI X004 5 AND X005 6 ORB 7 OR X006 8 ANB 9 OR X003 10 OUT Y007

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:

0 LDP X000

1 ORP X001

2 OUT M0

3 LD M8000

4 ANDP X002

5 OUT M1

例2:

0 LDF X000 1 ORF X001 2 OUT M0 3 LD M8000 4 ANDF X002 5 OUT M1

图示理解:

MPS、MRD、MPP 指令

指令助记符与功能

指令助记符、名称

功能 程序步 MPS 进栈 进栈 1 MRD 读栈 读栈 1 MPP 出栈

出栈 1

指令说明

在可编程序控制器中有11个存储器,用来存储运算的中间结果,被称为栈存储器。使用一次 MPS 指令就将此时刻的运算结果送入栈存储器的第1段,再使用 MPS 指令,又将此时刻的运算结果送入栈存储器的第1段,而将原先存入第一段的数据移到第二段。以此类推。

使用 MPP 指令,将最上段的数据读出,同时该数据从栈存储器中消失,下面的各段数据顺序向上移动。即所谓后进先出的原则。 MRD 是读出最上段所存的最新数据的专用指令,栈存储器内的数据不发生移动。

这些指令都是不带软元件地址的独立指令。

编程

例1:一段栈

0 LD X004 1 MPS

2 AND X005

3 OUT Y002

4 MRD

5 AND X00

6 6 OUT Y003

7 MRD

8 OUT Y004 9 MPP

10 AND X007 11 OUT Y005

例2:二段栈

0 LD X000

1 MPS

2 AND X001

3 MPS

4 AND X002

5 OUT Y000

6 MPP

7 AND X003

8 OUT Y001 9 MPP

10 AND X004

11 MPS

12 AND X005

13 OUT Y002

14 MPP

15 AND X006

16 OUT Y003

例3:四段栈

0 LD X000

1 MPS

2 AND X001

3 MPS

4 AND X002

5 MPS

6 AND X003

7 MPS

8 AND X004

9 OUT Y000 10 MPP

11 OUT Y001

12 MPP

13 OUT Y002

14 MPP

15 OUT 003

16 MPP

17 OUT Y004

请对照一下面的梯形图与例3:

0 LD X000

1 OUT Y004

2 AND X001

3 OUT Y003

4 AND X002

5 OUT Y002

6 AND X003

7 OUT Y001

8 AND X004

9 OUT Y000 例3中需要要三重MPS指令编程,但是如果改成左面的电路,实现的效果一样。编程却很方便,不必采用MPS指令。

MC、MCR 指令

指令助记符与功能

指令助记符、名称 功能 程序步 MC 主控指令 公共串联触点的连接 3

MCR 主控复位 公共串联触点的清除 2

指令说明

在下面程序示例中,输入X000为接通时,直接执行从MC到MCR的指令,输入X000为断开时,成为如下形式:

保持当前状态:积算定时器、计数器、用置位/复位指令驱动的软元件。

变成OFF的软件:非积算定时器,用OUT指令驱动的软元件。

主控(MC)指令后,母线(LD、LDI点)移动主控触点后,MCR为将其返回原母线的指令。

通过更改软元件地址号Y、M,可多次使用主控指令。但使用同一软元件地址号时,就和OUT指令一样,成为双线圈输出。

编程

例1:没有嵌套时

0 LD X000

1 MC N0 M100

4 LD X001

5 OUT Y000

6 LD X002

7 OUT Y001

8 MCR N0 没有嵌套结构时,通用N0编程。N0的使用次数没有限制。有嵌套结构时,嵌套级N的地址号增大,即N0--N1--N2 (7)

例2:有嵌套时

0 LD X000

1 MC N0 M100 3步指令

4 LD X001

5 OUT Y000

6 LD X002

7 MC N1 M101 3步指令

10 LD X003

11 OUT Y001

12 MCR N1 2步指令

14 LD X004

15 OUT Y002

16 MCR N0 2步指令

PLS、PLF 指令

指令助记符、名称

指令助记符、名称 功能 程序步 PLS上升脉冲 上升沿微分输出 2

PLF下沿脉冲 下降沿微分输出 2

当使用M1536--M3071时,程序步加1

指令说明

使用PLF指令时,仅在驱动输入OFF后1个扫描周期内,软元件Y、M动作。

使用PLS指令时,仅在驱动输入ON后1个扫描周期内,软元件Y、M动作。

编程

0 LD X000

1 PLS M0 2步指令 3 LD M0 4 SET Y000 5 LD X001

6 PLF M1 2步指令 8 LD M1 9 RST Y000

各元件的状态图:

SET、RST 指令

指令助记符与功能

指令助记符、名称

功能 可用软元件 程序步

SET 置位 动作保持 Y、M、S

RST 复位

消除动作保持, 寄存器清零

Y、M、S、T、C、D、V、Z Y、M: 1 S、特M: 2

T、C: 2 D、V、Z、特D:3

指令说明

在下述程序示例中,X000一旦接通后,即使它再次成为OFF,Y000依然被吸合。X001一旦接通后,即使它再次成为OFF,Y000仍然是释放状态。

对同一种软元件,SET、RST 可多次使用,顺序也可随意,但最后执行者有效。 此外,要使数据寄存器D、变址寄存器V、Z 的内容清零时,也可使用RST 指令。

积算定时器T246--T255的当前值的复位和触点复位也可用RST 指令。

编程

0 LD X000 1 SET Y000 2 LD X001 3 RST Y000

计数器软元件的 OUT、RST

指令助记符与功能

指令助记符、名称

功能 程序步 OUT 输出 计数线圈的驱动

32位计数器:5 16位计数器:3

RST 复位

输出触点的复位、当前值的清零

2

内部计数器编程

0 LD X010

1 RST C0 2步指令 3 LD X011

4 OUT C0 K10 (3步指令) 7 LD C0 8 OUT Y000

C0对X011的OFF-ON 次数进行增计数,当它达到设定值K10时,输出输出点C0动作,以后即使X011从OFF-ON,计数器的当前值不变,输出触点依然动作。 为了清除这些当前值,让输出触点复位,则应令X010为ON。

有必要在OUT 指令后面指定常数K 或用数据寄存器的地址号作间接设定。

对于掉电保持用计数器,即使停电,也能保持当前值,以及输出触点的工作状态或复位状态。

高速计数器的编程

0 LD X010

1 OUT M8*** 2步

3 LD X011

4 RST C*** 2步

6 LD XO12

7 OUT C*** K值(或D) 5步

12 LD C***

13 OUT Y002

在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或D的内容)时输出触点置位。在减少方向上通过设定值复位。

NOP、END 指令

指令助记符与功能

指令助记符、名称 功能 程序步 NOP 控操作 无动作 1

END 结束 输入输出处理和返回到0步 1

指令说明

NOP指令:

1、将程序全部清除时,全部指令成为空操作

2、若在普通指令与指令之间加入空操作(NOP)指令,则可编程序控制器可继续工作,,而与此无关。若在编写程序过程中加入空操作指令,则在修改或追加程序时,可以减少步序号的变化,但是程序步需要有空余。

3、若将已写入的指令换成NOP指令,则电路会发生变化,务必请注意。

END指令:

1、可编程序控制器反复进行输入处理、程序执行、输出处理。若在程序的最后写入END

指令,则END以后的其余程序步不再执行,而真接进行输出处理。

2、在程序中没有END指令时,则处理到最终的程序步再执行输出处理,然后返回0步处理程序。

3、在调试期间,在各程序段插入END指令,可依次检测各程序段的动作。这种场合,在 确认前面电路块动作正确无误后,依次删去END指令。

4、RUN(运行)开始时的首次执行,从执行END指令开始。

梯形图设计的规则和技巧

一、梯形图中的触点应画在水平线上,而不能画在垂直分支上,如图1(a),由于X005画在垂直分支上,这样很难判断与其他触点的关系,也很难判断X005与输出线圈Y001的控制方向,因此应根据从左至右,自上而下的原则。正确的画法如图1(b)

图1(a) 图1(b)

二、不包含触点的分支应放放在垂直方向,不应放在水平线上,这样便于看清触点的组和对输出线圈的控制路线,以免编程时出错。如图2所示。

图2(a)不正确画法 图2(b)正确画法

相关主题