内部继电器区(ir) 特殊辅助继电器区(sr) 暂存继电器区(tr)...
TRANSCRIPT
二、 CPM1A系列PLC的I/O扩展单元
8点型(输入8点)
8点型(输出8点)
CPM1A-8ER 继电器
CPM1A-8ET 晶体管(NPN) CPM1A-8ET1 晶体管(PNP)
20点型 (输入12点) (输出8 点)
CPM1A-20EDR 继电器
CPM1A-20EDT 晶体管(NPN)
CPM1A-20EDT1 晶体管(PNP)
类 型 输出形式
CPM1A-8ED -
型 号
1. I/O扩展单元的规格和类型
www.PLCworld.cn
2. PLC的I/O扩展方法
输入18点
30点主机
输出12点
输入12点
输出8点
扩展器
输入12点
输出8点
扩展器
输入12点
输出8点
扩展器
30点的主机
连接三个20点的扩展器 扩展到90个I/O点
www.PLCworld.cn
四、 CPM1A系列的特殊功能单元
模 拟 量 I/O 单 元
温度传感器单元
模拟量输出单元
温度传感器单元
RS232C通信适配器
RS422 通信适配器
CompoBus/S I/O链接单元
与主机连接的特殊功能单元——总数不能超过3台
温度传感器单元TS002和TS102只能连接其中的一个,
而且同时使用的扩展单元总数不能超过2台
通信单元
I/O单元
www.PLCworld.cn
内部继电器区(IR)
特殊辅助继电器区(SR)
暂存继电器区(TR)
保持继电器区(HR)
辅助记忆继电器区(AR)
链接继电器区(LR)
定时器/计数器区(TC)
数据存储区(DM)
www.PLCworld.cn
★ CPM1A内部器件的编号
内部器件以通道形式的编号
通道编号为2、3、4位数不等
每个通道内有16个继电器(00~15) 例:某继电器的编号为01006。
则:该继电器的通道编号为010、
位编号为06。
www.PLCworld.cn
1. 内部继电器区(IR)
IR 区 (000~231)分为 两 部 分输入/输出继电器区:000~019 (可以直接对外输出)
内部辅助继电器区: 200~231(不能直接对外输出)
000、001 :用于主机的输入通道的编号
002~009 :I/O 扩展单元的输入通道编号
010~011 :用于主机的输出通道的编号
012~019 : I/O 扩展单元的输出通道编号
没被使用的IR通道,可作为内部辅助继电器使用。
www.PLCworld.cn
输入18点
30点主机
输出12点
输入12点
输出8点
扩展器
输入12点
输出8点
扩展器
输入12点
输出8点
扩展器
例:30点的主机,连接三个20点的扩展器。
其I/O点编号分配:
00000~00011
01000~01007
00100~00105
01100~01103
00200~00211
01200~01207
00300~00311
01300~01307
00400~00411
01400~01407
www.PLCworld.cn
2. 特殊辅助继电器区(SR)
SR区(231~255)分为前、后两部分
232~251 :常以通道为单位使用
252~255 用于存储工作状态、产生脉冲信号等。
232~249 没作表中指定功能时,可作内辅助继电器用
250、251 只能按表中的功能使用,不能另作他用。
除25200外,252~255 的状态只可利用、不可改变。
前
后
www.PLCworld.cn
3. 暂存继电器区(TR)
4. 保持继电器区(HR)
该区继电器(HR00~HR19)编号要冠以HR。
该区继电器(TR0~TR7)编号要冠以TR。
用于存储梯形图中分之点之前的 ON/OFF 状态。
同一程序中,某一编号的TR继电器不可重复使用。
保持继电器具有掉电保持功能。
该区继电器可以通道或位为单位使用。
www.PLCworld.cn
5. 辅助记忆继电器区(AR)
该区继电器(AR00~AR15)编号要冠以AR。
AR区继电器具有掉电保持功能
AR区继电器用于保存PLC的各种工作状态。
根据该区某些继电器的状态,可了解PLC的工作状况。
www.PLCworld.cn
6. 链接继电器区(LR)
该区通道(LR00~LR15)编号要冠以LR
CPM1A与本系列或本公司其他PLC进行1:1链接通信时,要用使用LR区进行数据链接。
不作1:1链接通信时,LR区可作内部辅助继电器用。
www.PLCworld.cn
7. 定时器/计数器区(TR) 000~127
定时器分类普通定时器
高速定时器
计数器分类普通计数器
可逆计数器
★计数器有掉电保持功能,定时器没有此功能。
★同一程序中,计数器和定时器不能使用同一编号。
www.PLCworld.cn
8. 数据存储区(DM)
DM0000~DM1023 DM6144~DM6655
★ 该区继电器只能以通道为单位使用!
★ 该区继电器具有掉电保持功能。
该区继电器分为三部分
① 可读写区: DM0000~DM0999、 DM1022~DM1023
故障履历存储区: DM1000~DM1021
不作该用途时,可作普通数据存储器用。
② 只读存储区: DM6144~DM6599
www.PLCworld.cn
③ 系统设定区:DM6600~DM6655
系统设定区的设定内容见表2.5。
若系统设定区的设定出错,则辅助记忆继电器的对应位为ON。
系统设定区的设定内容,可在指定时间读取。
系统设定区的设定错误,只能用初始化来处理。
系统设定区的设定内容可用编程工具写入。
www.PLCworld.cn
1. 丰富的指令系统
逻辑控制指令、定时器/计数器、移位寄存器指令;
算术运算指令、逻辑运算指令;
数据传送指令、数据比较指令、数据转换指令;
高速计数器控制指令、脉冲输出控制指令;
子程序控制指令、中断控制指令;
步进控制指令、特殊功能指令、故障诊断指令等。
www.PLCworld.cn
2. 模拟设定电位器功能
定时器/计数器的设定值若采用250或251通道设置时,通过模拟设定电位器,其设定值可以随时进行修改。
CPM1A主机面板上有2个模拟设定电位器。
用模拟设定电位器可将BCD数0~200自动送到特殊辅助继电器区域。
● 模拟设定电位器0的数值送入250通道
● 模拟设定电位器1的数值送入251通道
www.PLCworld.cn
3. 输入时间常数设定
τ τ
CPM1A输入电路设置了一个滤波器。
滤波时间常数的大小可根据需要设置。
滤波时间常数可在系统设置区中设置。
干扰脉冲 输入信号
输入时间常数
滤波后的信号
经过输入滤波后干扰脉冲将被滤掉
www.PLCworld.cn
4. 高数计数器功能
CPM1A设置了一个高速计数器。
高速计数器可以对外部输入的高速脉冲进行计数。
使用高速计数器时,必须在系统设置区中进行设定。
高速计数器具有中断功能。
PLC利用高速计数器,可以实现中断控制。
www.PLCworld.cn
5. 外部输入中断功能
外部输入中断功能是解决快速响应问题的措施之一。
不同的型号,外部输入中断的输入点是不同的。
响应中断时,停止执行主程序而转到中断处理子程序。
执行完中断处理子程序,再返回断点继续执行主程序。
使用输入中断功能时,必须在系统设定区中进行设定。
www.PLCworld.cn
6. 间隔定时器中断功能
CPM1A设置了一个间隔定时器。
间隔定时器具有高精度的定时功能和中断功能。
7. 快速响应输入功能
该功能可使输入/输出响应不受扫描周期的影响。
能随时接收脉冲宽度小于0.2ms 的瞬间脉冲信号。
使用快速响应功能时,要在系统设定区中设定。
快速响应输入点与外部输入中断点相同。
www.PLCworld.cn
8. 脉冲输出功能
输出点为01000或01001 (两个点不能同时输出)
CPM1A晶体管输出型PLC有脉冲输出功能。
能输出频率为20Hz~2kHz、占空比为1:1的单相脉冲
输出脉冲的数目和频率可由指令控制。
www.PLCworld.cn
9. 通信功能
10. 具有快闪内存储器
使用快闪内存储器,可以免去更换锂 电池的麻烦。
通过I/O链接单元可加入CompoBus/S网等。
可与计算机进行上位链接通信;
与本公司的可编程终端链接通信;
与本系列的PLC之间进行通信;
www.PLCworld.cn
1.HOST Link 通信
(1)1:1 HOST Link
RS-232C 适配器
CPM1A 主机
CPM1A没有RS-232C口
可通过外设端口,用适配器与上位机连接实现通信。
计算机
www.PLCworld.cn
(2) 1:N HOST Link
RS-422适配器
RS-422适配器
RS-422适配器
CPM1A 主 机
上位计算机
CPM1A主 机
B500-AL004LINK适配器
上位机的功能:工作状态跟踪监测、故障报警、采集系统中的某些数据等。
上位机可以在线修改PLC的某些设定值和当前值、改写PLC的用户程序等。
CPM1A 主 机
www.PLCworld.cn
2.NT Link通信
CPM1A主 机
PT可以实时显示PLC的各种数据及工作状态信息,可对PLC控制系统进行监控。
专 用软件
计算机 PT PLC
PT
在装有软件的计算机上完成做画面、参数设定等操作.
下载到PT中 PLC与PT通信
RS-232C 适配器
RS-232C 电 缆
用PT的触摸按键,可改变PLC某些设定值、当前值等。
www.PLCworld.cn
3. 1:1 PLC Link通信
2台PLC 1:1 链接通信时的连接
主 动单 元
从动单元
RS232C电缆 CPM1A主 机
CPM1A主 机
RS-232C 适配器
RS-232C 适配器
www.PLCworld.cn
写入区
读出区
链接区 LR00
LR07LR08
LR15
写入区
读出区
链接区LR00LR07LR08LR15
★ PLC 1:1 链接通信时的数据交换
PLC Link 在LR区建立数据链接,实现信息共享 。
LR区自动分配给每个PLC一个 ‘写入区’,
每个 PLC 把数据写入自己的‘写入区’。
每个PLC 的‘写入区’是其他PLC的‘读出区’,
每个PLC 利用共同的LR区实现数据交换。
www.PLCworld.cn
当主单元是CQM1-SRM21时, 多可连8个从单元。
OMRONSYSMACCPM1A
CPM1A主机
CPM1A 多能连接3个扩展单元,但其中只能有一个是CompoBus/S 的I/O链接单元
4.CompoBus/S I/O 链接通信
在连接Compo Bus/S I/O 链接单元后,CPM1A 可作为一个从单元接入CompoBus/S 网。
CompoBus/S I/O 链接单元
CompoBus/S 主单元
www.PLCworld.cn
概 述
基 本 指 令
数据传送和数据比较
常用的应用指令
数据移位和数据转换
数 据 运 算
子程序控制指令
高速计数器控制指令
中 断 控 制 指 令
脉 冲 输 出 指 令
步 进 控 制 指 令
特 殊 指 令
内 容
www.PLCworld.cn
1. 指令的分类
基本指令 应用指令
2. 指令的格式
助记符(指令码) 操作数1
操作数2
操作数3 助记符:表示指令的功能
指令码:是指令的代码
操作数:提供指令执行的对象或数据
www.PLCworld.cn
操作数可以是通道号、继电器号或常数。
操作数的个数,取决于各种指令的需要。
★ 关于操作数的讨论
操作数设为常数时,在数据前面要加#号。
操作数采用哪种进制,取决于指令的需要。
间接寻址的操作数用*DM××××来表示。
间接寻址的操作数,是以DM××××中的数据为地址的另一个DM通道中的数据。
DM××××中 的 内容 必须是BCD码,且不得超出DM区的范围。
www.PLCworld.cn
例如,计数器指令的格式为 CNT000
SV
000是计数器的编号 SV是操作数
若 SV = 200
表明000号计数器的设定值是200通道中的内容。
若SV= # 0200
表明000号计数器的设定值是常数200。
www.PLCworld.cn
例如,计数器的指令格式为 CNT000
*DM1000
设DM1000的内容为0010
则 000号计数器的设定值是2500
设DM0010的内容为2500
如果设DM1000的内容为9990
如果设DM1000的内容08FA
www.PLCworld.cn
3. 执行指令对标志位的影响
SR区的25503~25507是指令执行结果的标志位。
某些指令的执行结果影响标志位25503~25507的状态。
标志位25503 ~25507的状态表示的意义要牢记。
25503 ON时,表示当前执行的程序出错且停止执行。
25503是出错标志位
www.PLCworld.cn
4. 指令的微分、非微分形式
微分型:要在指令的助记符前加标记@。
两种指令的区别
非微分型指令:
只要其执行条件为ON,每个扫描周期都执行该指令。
微分型指令:
仅在指令的执行条件由OFF变为ON时才执行一次。
www.PLCworld.cn
常 用 的 基 本 指 令
块与指令AND LD 和块或指令OR LD
置位、复位指令SET和RESET
锁存继电器指令KEEP
基本编程规则和编程方法
前/后沿微分指令DIFU 和DIFD
www.PLCworld.cn
1.LD LD NOT AND AND NOT OR OR NOT OUT OUT NOT
这是些基本逻辑操作指令,必须牢记其用法。
LD —— 常开触点与母线相连的指令
AND —— 常开触点相与(串联)的指令
OUT —— 将执行结果输出到某位的指令
OR —— 常开触点相或(并联)的指令
一、常用的基本指令
www.PLCworld.cn
LD 00000OR 01000AND NOT 00001OUT 01000LD NOT 00002OR NOT 00003AND 01000OUT NOT 01001
00000 00001
01000
00002 01000
01000
0100100003
梯形图程序 语句表程序
使用指令举例
与或
与或
与与
输出
www.PLCworld.cn
指出图示程序对KM1和KM2的控制作用
没按下按钮SB1 →
线圈01000断电→
触点01000闭合→线圈01001断电→
断开
闭合
KM1断电
KM2断电
断电
断电SB1
SB2
KM1
PLC
~
00000
00001
01000
KOM
KM2
01001
线圈00000断电→触点00000断开→
01000
01000
01000
01001
00000 00001
使用指令举例
触点00001闭合→
www.PLCworld.cn
按一下SB1 → 触点00000闭合→
线圈01000通电→
触点01000断开→
闭合
KM1 通电
KM2通电
闭合
线圈01001通电→
通电
通电
线圈00000通电→
断开
01000
01000
01000
01001
00000 00001
触点00001闭合→
SB1
SB2
KM1
PLC
~
00000
00001
01000
KOM
KM2
01001
www.PLCworld.cn
按一下SB2 → 触点00001断开→
线圈01000断电→
触点01000闭合→
KM1 断电
KM2断电线圈01001断电→
断开
闭合
断电
断电
线圈00001通电→
01000
01000
01000
01001
00000 00001 SB1
SB2
KM1
PLC
~
00000
00001
01000
KOM
KM2
01001
www.PLCworld.cn
2. END指令
程序的结尾一定要安排END指令,否则程序不执行。
LD 00000AND NOT 00001OR NOT 00003AND 00002OR 00004OUT 01002END (01)
01002 00003
00004
END(01)
00000 00001 00002
与或
与或
使用指令举例
www.PLCworld.cn
LD 00000AND 00001AND NOT 00002OUT 20000
LD 00000NOP(00)AND NOT 00002OUT 20000
00000 00001 0000220000
00000 0000220000
3.NOP指令
NOP是空操作指令
用NOP代替AND N,可把AND语句中的触点N短接
用NOP代替OR N,可把OR 语句中的触点N断掉
将梯形图中的触点00001删掉。 使用指令举例
www.PLCworld.cn
NOP(00) LD 00001AND NOT 00002OUT 20000
00000 00001 0000220000
00001 0000220000
将梯形图中的触点00000删掉。
将梯形图中的触点00001删掉。
00000 0000220000
00001 LD 00000NOP(00)AND NOT 00002OUT 20000 00000 00002
20000
使用指令举例
使用指令举例
www.PLCworld.cn
二、块与指令AND LD 和块或指令OR LD 1. AND LD 是将并联触点组相串联的指令
方法1LD 00000AND 00001OR NOT 00002LD 00003OR 00004AND LDLD 00005OR NOT 00006AND LDOUT 20000
方法2LD 00000AND 00001OR NOT 00002LD 00003OR 00004LD 00005OR NOT 00006AND LDAND LDOUT 20000
2000000005
00006
00000 00001
00002
00003
00004
在方法2中,AND LD之前的触点组个数应小于等于8
使用指令举例
www.PLCworld.cn
2. OR LD是串联触点组相并联连接的指令
方法1LD 00000AND NOT 00001LD NOT 00002AND 20005OR LD LD 01004AND 00003OR LDOUT 01100
方法2LD 00000AND NOT 00001LD NOT 00002AND 20005LD 01004AND 00003OR LDOR LDOUT 01100
00000 00001
00002
0000301004
2000501100
在方法2中,OR LD之前的触点组个数应小于等于8
使用指令举例
www.PLCworld.cn
三、 置位指令 SET和复位指令RESET
SET —— 将某继电器置为ON
LD 00000SET 20000LD 00003RESET 20000
00000 00003 20000
00000
00003SET 20000
RESET 20000
RESET——将某继电器置为OFF
SET、RESET指令的执行条件常为短信号(脉冲信号)
SET和RESET指令可以单独使用(不一定成对使用)
www.PLCworld.cn
当S端ON时,N为ON且保持。
★ 当 N为保持继电器HR时,有保持功能。
四、 锁存继电器KEEP指令
KEEPN
S
R
符号格式:KEEP(11)N
当R端ON时, N复位。
当S与R端同时为ON时, N复位优先。
继电器位
www.PLCworld.cn
LD 00002LD 00003KEEP (11) 20000
00002
00003
KEEP 20000
00002 00003 20000
KEEP 指令的工作时序
置位条件置位条件
置位条件复位条件
置位和复位条件都可以是短信号(脉冲信号)
注意!注意!
www.PLCworld.cn
语句表
KEEP01000
00000
00001
KEEPHR0000
00002
01000
画出图示程序的工作时序,写出语句表。
00000
00001
00002
HR0000
01000
LD 00000LD 00001KEEP(11) 01000
LD 00002LD 01000KEEP(11)HR0000
使用KEEP指令举例
www.PLCworld.cn
★ 比较几个相同具有功能程序之区别
00002 00003 01000
相同 都可以实现启、保、停的控制
不同
KEEP编程需3条语句( 少)
KEEP编程用HR作输出时,具有保持功能。
SET和RESET编程时,指令间可插别的指令。
SET和RESET编程HR作输出时,有保持功能。
00002
00003
KEEP 01000
01000
0100000002 00003 00002
00003SET 01000
RESET 01000
(a) (b) (c)
www.PLCworld.cn
五、微分指令DIFU 和DIFD
DIFU和DIFD——上升沿微分和下降沿微分指令
DIFU和DIFD指令的操作位只ON一个扫描周期。
开机时就OFF的执行条件,DIFD指令不执行。
DIFU(13) 20000
DIFD(14) HR0000
00005
TS
TS
00005
20000
HR0000
LD 00005DIFU(13) 20000DIFD(14) HR0000
扫描周期执行条件
开机时就ON的执行条件,DIFU指令不执行。
www.PLCworld.cn
KEEP01000
20000
00001
00000DIFU(13) 20000
画出图示程序的工作时序,写出语句表。
20000
00000
Ts
01000
00001
LD 00000DIFU(13) 20000LD 20000LD 00001KEEP (11) 01000
使用DIFU指令举例
扫描周期
www.PLCworld.cn
六、基本编程规则和基本编程方法
指令253131.基本编程规则
(1)每梯级都起始于左母线,线圈或指令应画在 右边
(2)必须与左母线相连的线圈或指令,可通过25313连接
(3)用OUT指令输出时,要避免双线圈输出的现象。
(a)
00000
00005
01000
01000
(b)
00000
01000
00001
01000
01001
01000
当00000 ON00005 OFF
输出无效
当00000 ON00001 OFF
ON
OFF
双线圈输出引起逻辑混乱
www.PLCworld.cn
(4) 梯形图必须遵循从左到右、从上到下的顺序,不允 许两行之间垂直连接触点。
(5) 程序结束一定要安排END指令,否则程序不被执行
(b)
3 5 211 5 43
N
(a)
1 2
3 45
N
没END指令的程序,检查时显示信息“NO END INST”
www.PLCworld.cn
2.基本编程方法 (1) 两个或两个以上的线圈或指令可以并联输出。
01000
01001
SET 01002
00000LD 00000OUT 01000OUT 01001SET 01002
(2) 触点组与单个触点并联,单个触点应放在下面。
00000
00001 2000001100
LD 00000LD 00001AND NOT 20000OR LDOUT 01100
0110000001 20000
00000
LD 00001AND NOT 20000OR 00000OUT 01100
不必用OR LD
www.PLCworld.cn
(2) 触点组与单个触点并联,单个触点应放在下面。
LD 00000LD 00001AND NOT 20000OR LDOUT 01100
LD 00001AND NOT 20000OR 00000OUT 01100
不必用OR LD
0000001100
00001 2000001100
00000
00001 20000
www.PLCworld.cn
(3)并联触点组与几个触点串联时,并联触点组应放 在 左边。
LD 00002 AND 00000 LD 00006 AND 00001 OR 20000 AND LD OUT 01001
LD 00006 AND 00001OR 20000 AND 00002AND 00000OUT 01001
00000 00006 0000101001
20000
00002 00006 00001 00002 00000
2000001001
不必用 AND LD
www.PLCworld.cn
此后,如果00001 ON使01000复位,则在PLC本次上电期间,01000不会再被置位(即KEEP不再执行)。
(4)如果一条指令只需在PLC上电之初执行一次,可以 用25315作为其执行条件。
PLC上电后的第一个扫描周期,01000被置为ON。
25315
00001KEEP01000
www.PLCworld.cn
1 2 3
4 5 6
7 8
N1 2 3
1 4 5 6
1 4 5 7 8
N
(5) 结构复杂的梯形图程序,重新安排顺序后,可方便编写语句表。
(6)当某梯级有两个分支时,若其中一条分支从分支 点到输出线圈之间无触点,该分支应放在上方。
N1
N2
1 2N1
N2
1
2
(7)尽量使用那些操作数少、执行时间短的指令编程。
www.PLCworld.cn
基本指令小结
1. 本节介绍的全部指令都要牢记其格式、梯形 图、操作数范围及功能。
2. 学会将梯形图程序转换为语句表的方法。
4. 牢记基本编程规则和基本编程方法。
3. 学会用工作时序图描述程序执行过程的方法。
www.PLCworld.cn
一、 分支和分支结束指令IL/ILC
IL (02) /ILC (03) —— 用于控制程序流向的指令
所有OUT指令的输出位为OFF;所有定时器都复位;
IL/ILC的用法
1. 不论IL的输入条件是ON还是OFF, CPU都要对 IL/ILC之间的程序段进行扫描。
2. 只有当IL的执行条件为ON时,IL和ILC之间的程序 执行(否则不执行)。此时IL和ILC间各器件的状态为:
KEEP指令的操作位、计数器、移位寄存器以及SET和RESET指令的操作位保持执行条件为OFF以前的状态。
www.PLCworld.cn
嵌套使用:IL-IL-ILC-ILC
3. IL和ILC指令可以成对使用,也可以多个IL指令 配一个ILC指令,但不准嵌套使用。
LD 00000IL (02)LD 00001OUT 01000LD 00002AND NOT 00003OUT 01001ILC (03)LD 00004OUT 01002
01000
01002
A00000
00004
00002 0000301001
00001IL(02)
ILC(03)
00000
0000101000
0000401002
00002 0000301001
IL(02)
ILC(03)
当00000为ON时,IL(02)与ILC之(03)间的程序执行:
01000和01001 的状态,取决于A右侧各触点的状态。
www.PLCworld.cn
LD 00000IL (02)LD 00001OUT 01000LD 00002IL (02)LD 00003OUT 01001LD 00004OUT 01002ILC (03)LD 00005OUT 01003
01000
01003
00000
00004
00002 0000301001
00001IL(02)
ILC(03)
IL(02)
01002
00005
IL(02)
IL(02)
ILC(03)
00000
00001
00002
00003
00004
01000
01001
01002
0000501003
连续分支的例子
功能相同
www.PLCworld.cn
二、 暂存继电器TR
暂存继电器用于暂时存储指令执行的结果。
暂存继电器编号TR0~TR7
对暂存继电器作如下说明:
1. 在同一分支程序段中,TR号不能重复使用。
2. TR不是编程指令,要与其他指令配合使用。
用暂存继电器也可以处理梯形图的分支。
www.PLCworld.cn
LD 00000 OUT TR0 AND 00001 OUT 01000LD TR0AND 00002OUT 01001
LD 00000IL(02)LD 00001OUT 01000LD 00002OUT 01001ILC(03)
用TR处理分支
00000 00001
0000201000
01001
TR0
用IL/ILC处理分支
两种处理分支方法的区别
用 TR 时:用AND指令连接下一个分支的触点
在分支多时,用TR处理分支程序要烦琐一些。
用IL/ILC时:用LD指令连接下一个分支的触点
使用暂存继电器举例
www.PLCworld.cn
三、 跳转和跳转结束指令JMP/JME
JMP (04) /JME (05) ——控制程序执行流向
JMP /JME的用法
⑴ 发生跳转时,JMP N和JME N之间的程序不执行,且不占用扫描时间。
(2) 发生跳转时所有继电器、定时器、计数器均保持跳转前的状态不变。
(3) 同一个跳转号N只能在程序中使用一次。但当N取00时,JMP 00/JME 00可以在程序中多次使用。
www.PLCworld.cn
LD 00000JMP (04) 00LD 00001OUT 01000AND 00002OUT 01100JME (05) 00LD 00003OUT 01004
4. 以00作为跳转号时,比其他跳转号的执行时间长。
5. 不同跳转号时可以嵌套使用。
例如: JMP 00-JMP 01-JME 01-JME 00
JMP(04) 00
JME (05) 00
0000101000
00002
01004
00000
00003
01100
当00000为ON时,IL与ILC之间的程序执行。
01000和01100 的状态,取决于其输入条件的状态。
使用跳转指令举例
www.PLCworld.cn
6. 多个JMP 可以共用一个JME
00000
程序 A
程序 B
00001
JMP(04) 00
JME(05) 00
程序 C
JMP(04) 00
00000 OFF、00001 OFF时:
只执行程序C
00000 ON、00001 OFF时:
执行程序A→程序C
00000 ON、00001 ON时:
执行程序A→程序B →程序C
www.PLCworld.cn
JMP /JME 指令的用途举例
00000
手动程序
自动程序
00000
JMP(04) 00
JME(05) 01
JMP(04) 01
JME(05) 00
00000 对应一操作开关
执行手动操作程序
当00000 为OFF时
执行自动操作程序
当00000 为ON时
用一个开关,实现对系统自动和手动操作的控制。
www.PLCworld.cn
IL/ILC与JMP /JME 指令的共性
1. 对IL/ILC与JMP /JME 指令之间的程序段:
不论IL的执行条件OFF还是ON, CPU都对IL和ILC之间的程序段扫描。
当发生跳转时,JMP N和JME N之间的程序不执行,且CPU不对其扫描。
IL/ILC与JMP /JME 指令的区别
它们都具有控制程序执行流向的作用。
www.PLCworld.cn
对IL/ILC之间的程序段:所有OUT指令的输出位为OFF;所有定时器都复位;KEEP指令的操作位、计数器、移位寄存器以及SET和RESET指令的操作位,都保持IL为OFF以前的状态。
对JMP/JME之间的程序段:发生跳转时所有继电器、定时器、计数器均保持跳转前的状态不变。
2. 当IL和JMP 的执行条件不满足时:
www.PLCworld.cn
四 、定时器/计数器指令TIM/CNT
使用TIM/CNT注意事项
① TIM/CNT共同使用编号000~127,在程序中TIM和CNT的编号不能重复。
② TIM/CNT的操作数可以是常数,也可以是通道,但常数或通道内容必须是BCD数。
④ 计数器有保持功能,而定时器没有此功能。
③ TIM/CNT的设定值是通道时,通道内容改变、设定值即改变。但必须在TIM的输入条件断开、 CNT复位后,下一次定时/计数才执行新设定值。
www.PLCworld.cn
1. 定时器TIM/ TIMH
TIM——普通定时器 定时时间为0~999.9 s
TIMH ——高速定时器 定时时间 为0~99. 99 s
格式: TIM NSV
N:000~127 ( TIM与TIMH共用这些编号 )
TIM N SV
符号
SV :0~9999 单位:TIM 为0.1 s;TIMH 为0.01 s
www.PLCworld.cn
④ 定时器ON后,若执行条件OFF,定时器复位。
③ 当扫描时间Ts >0.1秒时,TIM会不准确; 当Ts > 0.01秒时,TIMH会不准确。
★ 定时器的功能
① 当执行条件ON时开始定时,定时过程中执行条件要保持ON。
② 定时时间到,定时器ON、其所属触点动作。此后只 要执行条件保持ON , 其ON状态保持。
⑤ 定时器ON后,若PLC断电,定时器复位。
当定时器复位时,其当前值为设定值。
www.PLCworld.cn
★定时器TIM 、TIMH的用法
LD 00000TIM 000 # 0050LD TIM 000OUT 01000
00000
TIM 00001000
5 STIM 000 #0050
00000
TIM 00001000
TIM定时时间:50×0.1 = 5s
开始定时
定时 到
定时器复位
对TIMH计算: 50×0.01 = 0.5s
www.PLCworld.cn
分析程序对线圈01000的控制
00000对应启动按钮、00001对应停车按钮 。
按下启动按钮 → 线圈00000ON→
线圈20000ON→
闭合
闭合
闭合20000
TIM00101000
00000 00001
20000TIM001#0050
20000
触点20000闭合→
TIM001开始定时→ 经过 5s→
TIM001 ON →
触点TIM001闭合→ 线圈01000 ON
触点00000闭合→
定时器定时功能例(1)
自按下启动按钮5s后线圈01000 ON
www.PLCworld.cn
线圈01000 ON期间按下停车按钮 →
线圈00001通电→
线圈20000断电→
断开
TIM001 复位 →
断开
断开
20000
TIM00101000
00000 00001
20000TIM001#0050
20000
只要TIM001 ON 线圈01000 一直ON
触点00001断开→
触点20000断开→
触点TIM001断开→ 线圈01000 OFF
按下停车按钮,线圈01000 OFF自按下启动按钮 5s后线圈01000 ON
www.PLCworld.cn
分析程序对01000的控制作用。
00000闭合→20000接通→
10秒到→TIM001 ON→
TIM001 自复位 !
设HR00中数据为0100,TIM001的定时值为10 秒。
TIM001开始定时→闭合
线圈01000 ON
闭合
断开
欲保持01000 ON——需加自锁自锁
定时器定时功能例(2)
20000
TIM001
20000
01000
00000 00001
TIM 001
HR00
20000 TIM001
01000
常开触点TIM001 ON→
常闭触点TIM001 OFF断开
www.PLCworld.cn
TIM001自复位后,即开始下一轮定时。
当改变通道HR00中的内容时,TIM的设定值即改变!
在01000 ON期间,若线圈00001 ON→
线圈20000断电→
TIM001 复位→
线圈01000 OFF
20000
TIM001
20000
01000
00000 00001
TIM 001
HR00
20000 TIM001
01000 断开
断开
断开触点00001断开→
但需TIM复位后、下一次定时才执行新设定值
www.PLCworld.cn
分析程序对01000的控制作用。
自00000 ON→线圈20000 ON→
900秒到→ TIM001 ON →
900秒到→ TIM002 ON →
定时器级联使用——SV= SV1+SV2
TIM02开始定时→
线圈01000 ON
TIM01开始定时→
★ 定时器定时时间的扩展
20000
TIM002
20000
01000
00000 00001
TIM 001
#9000
20000
TIM001TIM 002
#9000
闭合
闭合
闭合
www.PLCworld.cn
练习:写出梯形图的语句表。
LD 00000 OR 20000 AND NOT 00001 OUT 20000 LD 20000 TIM 001
#9000 LD TIM001 TIM 002
# 9000 LD TIM002 OUT 01000
20000
TIM002
20000
01000
00000 00001
TIM 001
#9000
20000
TIM001TIM 002
#9000
www.PLCworld.cn
★ 关于接通延时ON和接通延时OFF的控制
LD 00000IL(02) TIM 000 #0600LD TIM000OUT 01000LD NOT TIM000OUT 01001ILC(03)
TIM 000 #0600
01000
00000
01001TIM 000
IL(02)
ILC (03)
TIM 000
自00000 为ON开始→ 01000经过60秒接通
自00000 为ON开始→ 01001经过60秒断开
接通延时ON
接通延时OFF
www.PLCworld.cn
根据00000和00001的波形,画出程序的工作时序。
TIM00001000
HR0000
00001
00000
HR0000
TIM000#0050
KEEP
00001
5S
10S
00000
HR0000
5S01000
使用KEEP、TIM指令举例
www.PLCworld.cn
2. 计数器指令CNT
N:000~127 SV :BCD 0 ~ 9999
格式: CNT NSV
CNT N SV
CP
R
符号
CP:计数输入端(每输入一个脉冲,CNT计一个数)
R:复位端 ( R端ON 时计数器复位,即CNT清零)
www.PLCworld.cn
⑤ CNT ON后,若输入条件OFF,或PLC断电, 计数器当前值能保持。
③ CNT ON 后,此后输入的计数脉冲无效。
★ 计数器的用法
① 计数器的SV值可以是常数,也可以是通道号。
② 计数达到设定值时CNT ON、其所属接点动作。
④ 计数器ON后,只要不清零 ,CNT将保持ON。
当计数器复位时,其当前值为设定值。
www.PLCworld.cn
PV=10 PV=10(停止计数)
计数 计数
(停止计数)
CNT是减计数器,每输入一个计数脉冲,由SV值减1。
★ 计数器的工作时序
9 8 2 1 0
ON保持
9 8 2 1 0
ON保持
CP
CNT
R
SV=10 时 CNT的工作波形
清零 清零脉冲无效 脉冲无效
www.PLCworld.cn
CP
CNT00001000
00000
00001
CNT 000 #0003
R
★ CNT的计数功能举例
分析程序对01000的控制作用。
00000每通断一次,向CNT000输入一个计数脉冲。
00000通断3次→
CNT000 ON→ 线圈01000 ON
闭合闭合
断开
此后若触点00001 ON→
CNT000 复位→
线圈01000 OFF
CNT000 断电再复电时, 能保持断电前的当前值。
若将#0003换成200,则计数值是通道200中的数据。
www.PLCworld.cn
CP
CNT00001000
00000
00001
CNT000 #0003
R
写出梯形图程序的语句表
LD 00000LD 00001CNT 000 #0003LD CNT000OUT 01000
SV为常数
CNT000计数器的工作时序
2 1 0
ON保持
00000
01000
00001
www.PLCworld.cn
CNT000采用自清零。
每当 CNT000计数设定值到:
当 CNT001计数到,01000 ON。
00000 通断了10000 次时01000 ON
★计数器级联SV= SV1×SV2
a. 向CNT001输入一个计数脉冲。
b. 自清零、并开始下一轮计数。
分析程序对01000的控制作用
★ 计数器容量的扩展
CNT000
00000 CNT000 #0100
CNT00101000
CNT000
25315
CNT001 #0100
25315
上电之初25315为两个计数器清零。
初始清零初始清零
自清零
www.PLCworld.cn
分析程序对01000的控制作用。
25502能产生周期为1秒的脉冲
CNT000完成计数100所经历的时间是100秒。
计数器作为定时器使用
用计数器作定时器时,该定时器具有保持功能。
经历10000秒后 01000 ON
★计数器的定时器功能
CNT000
25502 CNT000 #0100
CNT00101000
CNT000
25315
CNT001 #0100
25315
CNT001完成计数100所经历的时间是10000秒。
www.PLCworld.cn
3. 可逆计数器指令CNTR
CNTR(12) N SV
ACP
SCP
R
CNTR(12) N SV
格式:
SV:设定值(BCD 0 ~9999)
加计数输入
复位端
减计数输入
N:编号(与CNT共用000~127)
www.PLCworld.cn
④ 加/减计数有进/借位时,输出ON一个计数脉冲周期。
③ 计数器复位时,不论是加还是减计数,其PV均为0。
① 从ACP或SCP输入计数脉冲,可组成加或减计数器。
⑤ 可逆计数器可作为循环计数器。
★ 可逆计数器的功能
CNTR(12) N SV
ACP
SCP
R
计数器达到设定值ON时,若再来一个计数脉冲,CNTR OFF、且开始下一个循环的计数。
② 从ACP和SCP端同时输入计数脉冲,计数器不计数。
www.PLCworld.cn
★ 可逆计数器的工作时序
SCP=0 SV=10 加法计数时序
PV=0 PV=0
1 2 9 10 0 1 2 9 10 0 1 2 9
ON 不计数不计数 计数 计数 计数ON
ACP
R
CNTR
ACP=0 SV=10 减法计数时序
SCP
R
PV=0 PV=0
9 8 1 0 10 9 8 1 0 10 9 8 1
CNTR ON ON 不计数不计数 计数 计数 计数
www.PLCworld.cn
00001
00002
00003
CNTR(12) 046 #0200
ACP
SCP
R
LD 00001 LD 00002 LD 00003CNTR(12) 046 #0200
★ 可逆计数器的计数功能举例
设00003 OFF 、00002 OFF ,00001输入计数脉冲。
加计数器
00001每输入一个计数脉冲,CNTR 046的当前值加1。
当PV=0200时,再输入一个计数脉冲,PV值变为0000(进位),同时CNTR 046变为ON。
此后再来一个计数脉冲时, PV值变为0001, CNTR 046为OFF,且开始下一个循环的计数。
www.PLCworld.cn
00001
00002
00003
CNTR(12) 046 #0200
ACP
SCP
R
LD 00001 LD 00002 LD 00003CNTR(12) 046 #0200
减计数器
设00003 OFF 、00001 OFF ,00002输入计数脉冲。
00002每输入一个计数脉冲,CNTR 046的当前值减1。
当PV=0000时,再输入一个计数脉冲,PV值变为0200(借位),同时CNTR 046变为ON。
此后再来一个计数脉冲时, PV=0199, CNTR 046为OFF,且开始下一个循环的计数。
www.PLCworld.cn
★ 可逆计数器的定时器功能举例
LD 00000OR 20000OUT 20000LD 25502AND 20000LD 25314LD 00001OR 25315CNTR(12) 000 HR00LD CNT000OUT 01000
00000
2000020000
25502 20000
25314
00001
25315
CNT00001000
CNTR(12) 000 HR00
CNTR000 是加计数器
控制位秒脉冲
常OFF
上电复位
CNTR000的触点
由于计数脉冲是秒脉冲,所以可作定时器。
www.PLCworld.cn
设00001为OFF ,HR00中数据是0500,分析功能。
00000
2000020000
25502 20000
25314
00001
25315
CNT00001000
CNTR(12) 000 HR00
自00000 ON 开始,CNTR000开始计数→
计数达500 CNTR000 ON →
闭合
即经过500秒线圈01000 ON
PLC上电,计数器即复位。
CNTR000 的触点ON →
线圈01000 ON
再过1秒,线圈01000 又OFF
CNTR000开始下一循环计数
线圈01000每过 500 秒 ON 1秒
www.PLCworld.cn