第三章 CPM1A指令系统
指令系统概述
基本指令( 11类 17条)
编制梯形图应注意的问题
应用指令( 17大类)
第一部分、指令系统概述大家一起来回顾梯形图的有关知识!
第一部分、指令系统概述为什么要学习指令系统?
1、能够翻译梯形图为语句表
2、能够轻松地学习其他类型的 PLC
第一部分、指令系统概述
-----CPM1A系列
PC的指令根据功能分为基本指令和应用指令两大类
1,指令的格式、操作数及标志指令的格式为:
助记符 ( 指令码 ) 操作数1
操作数2
操作数3
2.指令的两种形式微分型和非微分型
只要执行条件为 ON,指令的非微分形式在每个循环周期都将执行;
微分指令仅在执行条件由 OFF变为 ON时才执行一次。
第二部分、基本指令
1,LD和 LD NOT 指令功能:
LD指令表示 常开触点 与左侧母线连接;
LD NOT指令表示 常闭触点 与左侧母线连接 。
2,OUT和 OUT NOT指令功能:
OUT指令输出运算结果;
OUT NOT指令将运算结果取反后再输出。
应用 --,下页
OUT和 OUT NOT指令应用
3,AND和 AND NOT指令功能,
AND指令表示 常开触点 与前面的触点电路相串联 ;
AND NOT指令表示 常闭触点 与前面的触点电路相串联。
应用 --,下页
AND和 AND NOT指令 的应用连续输出及其编程 --,下页连续输出次序颠倒
AND和 AND NOT,连续输出功能:
OR指令表示 常开触点 与前面的触点电路相并联;
OR NOT指令表示 常闭触点 与前面的触点电路相并联。
应用 --,下页
4,OR和 OR NOT指令
OR和 OR NOT指令应用
AND LD指令的使用功能,AND LD
指令用于逻辑块的串联连接,即对逻辑块进行逻辑,与,的操作。
5,AND LD指令
AND LD指令方法1 方法 2
LD 00000 LD 00000
AND 00001 AND 00001
OR NOT 00002 OR NOT 00002
LD 00003 LD 00003
OR 00004 OR 00004
AND LD LD 00005
LD 00005 OR NOT 00006
OR NOT 00006 AND LD
AND LD AND LD
OUT 20000 OUT 20000
在方法 2中,AND LD指令之前的逻辑块数应小于等于 8,而方法 1对此没有限制。
功能,OR LD指令用于逻辑块的并联连接,即对逻辑块进行逻辑,或,的操作。 复杂梯形图 --》
下页
6,OR LD指令
OR LD指令 复杂梯形图
功能:
当 SET指令的执行条件为
ON时,使指定继电器置位为 ON,当执行条件为 OFF
时,SET指令不改变指定继电器的状态。
当 RESET指令的执行条件为 ON时,使指定继电器复位为 OFF,当执行条件为 OFF时,RESET
指令不改变指定继电器的状态。 指令的应用?
7.置位和复位指令
SET和 RESET
SET和 RESET指令的应用功能:
根据两个执行条件,KEEP用来保持指定继电器N的 ON状态或 OFF状态。
具有断电保持功能。 KEEP指令的用法?
8.保持指令 ---KEEP( 11)
KEEP指令的用法启保停电路与普通继电器电路比较?
两图中的程序功能完全相同,但用
KEEP指令编程可以少用一条指令。
具有断电保持功能
KEEP指令启保停电路与普通继电器电路
功能:
当执行条件由 OFF变为 ON
时,上升沿微分 DIFU使指定继电器在一个扫描周期内为 ON;
当执行条件由 ON变为
OFF时,下降沿微分指令 DIFD使指定继电器在一个扫描 周期内为 ON。
指令的应用?
9.上升沿微分和下降沿微分指令
DIFU( 13)和 DIFD( 14)
DIFU和 DIFD指令的应用
NOP指令的应用注:修改程序时,使用 NOP指令,
可使步序号变更较少,便于调试程序 。
功能:空操作指令用来取消某一步操作
10.空操作指令
NOP( 00)
功能,END指令表示程序结束。
11.结束指令一 END( 01)
基本指令
1,LD和 LD NOT 指令
2,OUT和 OUT NOT指令
3,AND和 AND NOT指令
4,OR和 OR NOT指令
5,AND LD指令
6,OR LD指令
7.置位和复位指令 SET和 RESET
8.保持指令 KEEP
9,上升沿微分和下降沿微分指令 DIFU和 DIFD
10,空操作指令 NOP
11,结束指令 END
(熟练掌握)
第三部分编制梯形图应注意的问题
( 1) 梯形图中线圈应放在最右边编制梯形图应注意的问题
( 2)除极少数指令(如 ILC,JME等)不允许有执行条件外,几乎所有的指令都需要执行条件,
如何解决:上电后指令一直执行?
上电后指令只执行一次?
特殊辅助继电器:
25313为常 ON继电器
25314为常 OFF继电器
25315常用作初始化脉冲,它在 PC运行的第一个扫描周期,处于 ON状态,然后处于 OFF状态。
编制梯形图应注意的问题
( 2)除极少数指令(如 ILC,JME等)不允许有执行条件外,几乎所有的指令都需要执行条件,
上电后指令一直执行上电后指令只执行一次特殊辅助继电器:
25313为常 ON继电器; 25314为常 OFF继电器
25315在第一个扫描周期为 ON,然后为 OFF。
( 3)触点不能画在垂直路径上编制梯形图应注意的问题
( 4)编程时,对于逻辑关系复杂的程序段,应按照先复杂后简单的原则编程。
梯形图等效变换编制梯形图应注意的问题
( 5)尽量避免出现双线圈输出
---同一个程序中,同一元件的线圈使用了两次或多次,称为双线圈输出。
双线圈引起逻辑关系混乱编制梯形图应注意的问题复杂梯形图?下页复杂梯形图例子更复杂的梯形图?下页你能够写出下图的语句表么?
你能够写出下图的语句表么?
第四部分、应用指令?下一页第四部分、应用指令
A.处理梯形图的分支指令
1.联锁 /联锁解除指令 IL( 02) /ILC( 03)
2.暂存继电器( TR)?
功能,IL总是和 ILC指令一起使用,用于处理梯形图中的分支电路图分支应用?下一页
IL/ILC的两点说明?下一页联锁 /联锁解除指令处理分支电路复合输出定义:
电路图中,A点为分支点,右侧分为若干条支路,且每条支路都 有触点控制 。
IL/ILC的说明:
( 1) 不论 IL前面的条件是 ON或 OFF,
PC都要对 IL— ILC
之间的联锁程序段处理,都要占用扫描时间 。
( 2) IL和 ILC指令可以成对使用,也可以多个 IL指令配一个 ILC
指令,但不允许嵌套使用(如 IL— IL—
ILC— ILC)。
连续使用 IL指令?下一页连续使用 IL指令并联输出、连续输出和复合输出?下一页并联输出、连续输出和复合输出
2.暂存继电器?下一页
A.梯形图的分支指令
1.联锁 /联锁解除指令 IL/ILC
2.暂存继电器( TR)
暂存继电器 TR
共有 8位,分别为 TR0~TR7
TR位可用来暂时存储执行结果,如果一个
TR位被设置于一个分支点处,则当前的执行结果就会存储在指定的 TR位中。
应用?下一页用 TR位处理梯形图的分支多分支?下一页用 TR位处理多分支电路
TR指令的说明?下一页
TR指令的说明
在同一程序段中,同一
TR号不能重复使用,
在不同的程序段中,同一 TR号可以重复使用 。
TR不是独立的编程指令,只能和 LD或 OUT
等基本指令一起使 用指令的梯形图。
B.跳转指令?下一页
TR? 临时存放某节点状态应用,LD ----
OUT TR0
LD TR0
IL,ILC?造就新母线的工具应用,LD -----
IL
LD ----
LD ----
ILC
两种分支语句的理解
新母线开始
条件
新母线结束
条件

取请同学们将这两句话写在教材上例?下页例 1,分析梯形图的结构
电机优先启动控制 。
有 5个电机 M1~M5,都有启动和停止控制按钮,
要求按顺序启动,即前级电机不启动时,后级电机无法启动;前级电机停,后级电机也都停。
例 2?下一页例 2,用两种分支方法分析梯形图
B.跳转指令?下一页
B.跳转 /跳转结束指令
( JMP( 04) /JME( 05)
梯形图符号及操作数取值区域功能?下一页
JMP/JME指令的功能
( 1)当 JMP N的执行条件为 OFF时,跳过 JMP
N和 JME N之间的程序段,不占扫描时间
( 2)有两种类型的跳转:跳转号 N在 01~49之间取值时,每个 N只能使用 一次 ;当 N取 00值时,
JMP00 — JME00可以在程序中 多次 使用。以 00作为
JMP的跳转号时,它的执行时间比其他跳转指令的执行时间要稍长一些。
( 3)多个 JMP N可以共用一个 JME N,如 JMP 00—
JMP 00— JME 00 。
( 4)跳转指令可以嵌套使用,但必须是不同跳转号的嵌套,如 JMP 00— JMP 01— JME 01— JME00。
跳转指令的应用?下一页跳转指令的互锁应用?下一页跳步指令的应用跳转指令的应用 ----互锁
C.定时器和计数器指令?下一页
C,定时器和计数器指令
定时器 TIM
高速定时器 TIMH( 15)
计数器 CNT
可逆计数器 CNTR( 12)
间隔定时器 STIM( 69)
高速计数器
输人中断的计数模式
CPM1A提供的定时计数功能,
功能强大,
使用复杂 !}
}共用 TC号,000-127。
关于 BCD码?下一页关于 BCD码
BCD = Binary Coded Decimal
二进制编码的十进制规则:每 四个二进制位 表示一位十进制位。
因此:
BCD的 0001 0001 表示十进制数的 11。
BCD的加法应该如十进制。
如 1001+1 = 0001 0000 不是 1010
为方便区分,本课程使用 BCD数值时前面加 #号。
1.定时器?下一页
1.定时器指令 TIM
梯形图符号及操作数取值区域功能?下一页定时器的最小定时单位为 0.1秒,定时范围 0~999.9
秒,定时时间为 SV× 0.1秒。
TIM指令的功能
定时器为通电延时,当定时器的输入为 OFF时,
定时器的输出为 OFF。
当定时器的输入变为
ON时,开始定时,定时时间到,定时器的输出变为 ON。
若输入继续为 ON,则定时器的输出保持为
ON。
当定时器的输入变为
OFF时,定时器的输出随之变为 OFF。
应用?下一页请大家注意不要,死记硬背,!
输入 on?开始定时?延时?时间到?输出 on
注意:
定时器 没有断电保持 功能,断电时,定时器复位,不能保存定时器的当前值。
TIM指令的应用
2.高速定时器?下一页
2.高速定时器指令一 TIMH( 15)
梯形图符号及操作数取值区域高速定时器的最小定时单位为 0.01秒,定时范围为 0~99.99秒,定时时间为 SV× 0.01秒。除此之外,其它情况 TIMH与 TIM相同。 3.计数器?下一页
3.计数器指令一 CNT
梯形图符号及操作数取值区域注释,N为计数器 TC号,SV为计数设定值。 CP为计数脉冲输入端,R为复位端 。
应用?下一页说明,
(1)计数器编程时,先编计数输入端,再编复位端,
最后编 CNT指令。
(2)定时器和计数器的编号是共用的,使用时不能冲突。
CNT指令的应用工作时序?下一页
CNT的工作时序
4.可逆计数器?下一页
4.可逆计数器指令一 CNTR( 12)
梯形图符号及操作数取值区域注释,
N为计数器 TC号,SV为计数设定值。 ACP为加计数脉冲输入端,SCP为减计数脉冲输入端,R为复位端 。
应用?下一页说明,可逆计数器编程时,先编加计数脉冲输入端,再编减计数脉冲输入端,后编复位端,最后编 CNTR指令
CNTR指令的应用工作时序?下一页
CNTR的工作时序出错标志位?下一页定时器和计数器指令出错标志位出错标志位 25503,当 SV不是 BCD数或间接寻址的 DM通道不存在时置位为 ON。
定时器 TIM
高速定时器 TIMH( 15)
计数器 CNT
可逆计数器 CNTR( 12)
例 1,长时间定时的问题?下一页例 1,如何实现 1小时定时?
答:用 计数 器实现长时间 定时 !
注,25500是特殊继电器的位,提供 0.1s时钟脉冲。
例 2,闪烁电路?下一页例 2,如何实现闪烁电路?
答:用计时器产生周期性方脉冲!
D.数据比较指令?下一页
TIM001
TIM000
00000
D.数据比较指令单字比较指令一 CMP
双字比较指令一 CMPL
块比较指令一 BCMP
表比较指令 — TCMP
通道、位、字的概念?下一页通道、位、字的概念
一个字为 16进制的 4位数
一位 16进制数可表示为 4位二进制数一个字为 16个二进制位进制转换,210,8,16
1,单字比较指令?下一页
一个通道为 16个继电器
一个继电器能表示 1个二进制位一个通道为 16个二进制位
D.数据指令
D1.数据比较指令,4种
D2.数据移位指令,10种
D3.数据传送指令,9种
D4.数据转换指令,6种合计 29种
D1.数据比较指令单字比较指令一 CMP
双字比较指令一 CMPL
块比较指令一 BCMP
表比较指令 — TCMP
通道、位、字的概念?下一页通道、位、字的概念
一个字为 16进制的 4位数
一位 16进制数可表示为 4位二进制数一个字为 16个二进制位进制转换,210,8,16
1,单字比较指令?下一页
一个通道为 16个继电器
一个继电器能表示 1个二进制位一个通道为 16个二进制位
1.单字比较指令一 CMP( 20)
梯形图符号及操作数取值区域
功能:当执行条件为
ON时,比较 C1和 C2
的大小,将比较结果送 SR区的标志位:
大于标志位 25505
等于标志位 25506
小于标志位 25507
出错标志位 25503
应用一?下一页注意,
图中的梯形图存在分支,其语句表程序用到了暂存继电器 TR0。
CMP指令的基本应用应用二?下一页
CMP指令的应用
2双字比较指令?下一页
2.双字比较指令一 CMPL( 60)
梯形图符号及操作数取值区域
功能:
将通道 C1+ 1,C1中的两个 4位 16进制数 连 成一个 8位
16进制数,将通道 C2+l,C2中的两个 4位 16进制数连 成另一个 8位 16进制数,然后 比较 这两个 8位数的大小,将比较结果送 SR区的标志位 。
应用?下一页
CMPL指令的应用比较( C1+ 1,C1)与( C2+ 1,C2)
大于,则大于标志位 25505置位为 ON。
等于,则等于标志位 25506置位为 ON。
小于,则小于标志位 25507置位为 ON。
出错,则出错标志位 25503置位为 ON。
3块比较指令?下一页
3.块比较指令一 BCMP( 68) /@BCMP( 68)
梯形图符号及操作数取值区域功能?下一页
BCMP指令的功能
比较块由 CB,CB+1,CB+2,…,
CB+31组成,分 16个比较区域,每一个区域由两个通道定义,第一个为下限,
第二个为上限,上限值应大于等于下限值。
当执行条件为 ON时,将比较数据 CD
与每一个区域进行比较,如果 CD处在某一个区域中,比较结果通道 R中对应位置 1,否则该对应位置 0。
应用?下一页
BCMP指令的应用执行结果
4表比较指令?下一页
4.表比较指令
— TCMP( 85) /@TCMP( 85)
梯形图符号及操作数取值区域
将数据 CD与 TB,TB+1,TB+2,…,TB+15
中的数据进行比较,如果 CD与这些通道中某一个的数据相同,则结果通道 R中相应的位置 1,
否则置 0 。 应用?下一页
TCMP指令的应用执行结果
E数据移位指令?下一页
D2.数据移位指令
移位寄存器指令 — SFT
可逆移位寄存器指令 — SFTR
字移位指令 — WSFT
算术左移指令 — ASL
算术右移指令 — ASR( 26) /@ASR( 26)
循环左移指令 — ROL( 27) /@ROL( 27)
循环右移指令 — ROR( 28) /@ROR( 28)
1位数字左移指令 — SLD( 74) /@SLD( 74)
1位数字右移指令 — SRD( 75) /@SRD( 75)
异步移位寄存器指令 — ASFT( 17) /@ASFT( 17)
1.移位寄存器指令 — SFT( 10)
附注:开始通道号 St必须小于或等于结束通道号 E,且 St和 E必须在同一区域。
梯形图符号及操作数取值区域功能示意图?下一页当复位端 R为 OFF时,在移位脉冲端 SP由 OFF→ ON的上升沿时,E到 St通道中的所有位依次 左移 一位,E通道的最高位 溢出 丢失,St通道的最低位则 移进 数据输入端 IN的数据。
当复位端 R为 ON时,从 St到 E通道中的所有位将置为 OFF,
此时移位脉冲端和数据输入端 无效 。
SFT指令的功能示意图应用?下一页说明,SFT指令编程时,先编数据输入端,再编移位脉冲端,再编复位端,最后编 SFT指令。
SFT指令的应用
2可逆移位?下一页
2.可逆移位寄存器指令
— SFTR( 84) /@SFTR( 84)
梯形图符号及操作数取值区域说明:控制通道 C中的数据规定了移位方向、
数据输入端、移位脉冲端和复位端。
C定义?下一页控制通道 C的含义及移位功能说明,如果控制通道复位端( bit15)为 ON,则从
St到 E通道的数据及进位为 CY全部复位为 0.
应用一?下一页
SFTR指令的应用(一)
应用二?下一页
SFTR指令的应用(二)
3?下一页
3.字移位指令
— WSFT( 16) /@WSFT( 16)
功能:当执行条件为 ON时,WSFT每执行一次将 St和 E
通道中的数据以字为单位左移一次,0000移进 St,E中的数据溢出丢失 。
梯形图符号及操作数取值区域应用一?下一页
WSFT指令的应用
4?下一页
4.算术左移指令
— ASL( 25) /@ASL( 25)
梯形图符号及操作数取值区域功能?下一页
ASL指令的功能
当执行条件为 ON时,ASL每执行一次将
Ch中数据左移一位,最高位移到 CY位,
0移进最低位。
算术右移?下一页
5.算术右移指令
— ASR( 26) /@ASR( 26)
梯形图符号及操作数取值区域功能?下一页
ASR指令的功能
当执行条件为 ON时,ASR每执行一次将
Ch中数据右移一位,最低位移到 CY位,
0移进最高位 。
6循环左移?下一页
6.循环左移指令
— ROL( 27) /@ROL( 27)
梯形图符号及操作数取值区域功能?下一页
ROL指令的功能
当执行条件为 ON时,ROL每执行一次将 Ch中的数据连同 CY位数据,
循环左移一位 。
7循环右移?下一页
7.循环右移指令
— ROR( 28) /@ROR( 28)
梯形图符号及操作数取值区域功能?下一页
ROR指令的功能
当执行条件为 ON时,ROR每执行一次将 Ch中的数据连同 CY位数据,循环右移一位 。
8一位数字左移?下一页
8,1位数字左移指令
— SLD( 74) /@SLD( 74)
梯形图符号及操作数取值区域功能?下一页
SLD指令的功能
当执行条件为 ON时,SLD每执行一次将 St
到 E通道中的数据以数字 ( 4位二进制 ) 为单位左移一次,E的最高位数字溢出丢失,
St的最低位数字填入 0。
9一位数字右移?下一页
9,1位数字右移指令
— SRD( 75) /@SRD( 75)
梯形图符号及操作数取值区域功能?下一页
SRD指令的功能
当执行条件为 ON时,SRD每执行一次将 St到
E通道中的数据以数字( 4位二进制)为单位右移一次,E的最低位数字填入 0,St的最高位数字溢出丢失。
10.异步移位寄存器指令?下一页
10.异步移位寄存器指令
— ASFT( 17) /@ASFT( 17)
梯形图符号及操作数取值区域控制数据 C的含义控制数据 C的含义
St和 E之间的通道构成一个可逆的异步移位寄存器,ASFT可以将寄存器中的 0000字上移或下移,执行几次 ASFT后,所有 0000字可以集中到寄存器的上半部或下半部。
应用?下一页
ASFT指令的应用控制字,#6000?
0110,0000,0000,0000
移动方向允许移动复位
D3,数据传送指令?下一页
D3,数据传送指令
1.传送指令 — MOV( 21) /@MOV( 21)
2.取反传送指令 — MVN( 22) /@MVN( 22)
3.块传送指令 — XFER( 70) /@XFER( 70)
4.块设置指令 — BSET( 71) /@BSET( 71)
5.数据交换指令 — XCHG( 73) /@XCHG( 73)
6.单字分配指令 — DIST( 80) /@DIST( 80)
7.数据调用指令 — COLL( 81) /@COLL( 81
8.位传送指令 — MOVB( 82) /@MOVB( 82)
9.数字传送指令 — MOVD( 83) /@MOVD( 83)
1.传送指令
— MOV( 21) /@MOV( 21)
梯形图符号及操作数取值区域功能?下一页
MOV指令的功能
当执行条件为 ON时,将 S中的数据传送到 D通道中 。
应用?下一页
MOV指令的应用
说明,当 00000为 ON时,执行 MOV指令,将常数 0196送至 DM0000。
2.取反传送指令?下一页
2.取反传送指令
— MVN( 22) /@MVN( 22)
梯形图符号及操作数取值区域
当执行条件为 ON时,将 S中的数据取反后传送到 D中。
应用?下一页
3?下一页
MVN指令的 应用
说明,当 00000为 ON时,执行 MVN指令,将常数
0196取反后 ( 结果为 FE69) 送至 DM0000中 。
3.块传送指令
— XFER( 70) /@XFER( 70)
梯形图符号及操作数取值区域功能?下一页
XFER指令的功能
块传送是指将几个连续通道中的数据对应传送到另外几个连续通道中。
4。下一页
4.块设置指令
— BSET( 71) /@BSET( 71)
梯形图符号及操作数取值区域功能?下一页
BEST指令的功能
当执行条件为
ON时,将 S中的数据传送到从 St
到 E的所有通道中去。
5,?下一页
5.数据交换指令
— XCHG( 73) /@XCHG( 73)
梯形图符号及操作数取值区域功能?下一页
XCHG指令的功能
当执行条件为 ON时,将 E1,E2中的数据交换 。
6,?下一页
6.单字分配指令
— DIST( 80) /@DIST( 80)
梯形图符号及操作数取值区域
根据控制数据 C的内容,DIST指令可进行单字数据分配或堆栈的进栈操作 。
功能?下一页
1)单字数据分配
C的 bit15~bit12<=8时
2)进栈操作
C的 bit15~bit12=9时
DIST指令的功能
DIST指令的功能
2)进栈操作
7,?下一页
7.数据调用指令
— COLL( 81) /@COLL( 81)
梯形图符号及操作数取值区域请注意:与数据分配指令对应比较功能?下一页
COLL指令的功能
根据控制数据 C的内容,COLL
指令可以:
1) 数据调用
C=0000~6655时
2) 出栈操作
C=9000~9999时 先入先出 ;
C=8000~8999时 后入先出 ;
COLL指令的功能
2)出栈操作先入先出
COLL指令的功能
2)出栈操作后入先出
8,?下一页
8.位传送指令
— MOVB( 82) /@MOVB( 82)
梯形图符号及操作数取值区域当执行条件为 ON时,将 S中指定的一位传送到 D的值定位上,S和 D中的位由 C指定。
功能?下一页
MOVB指令的功能
当执行条件为 ON时,将 S中指定的一位传送到 D的值定位上,S和 D中的位由 C指定。 C的最右边 2个数字指定源位,C的最左边 2个数字指定目的位。
应用?下一页
C=#1201,源 01,目的 12。 执行 MOVB指令后,将
#00FF的第 01位送到 LR10的第 12位 。
MOVB指令的应用
9,?下一页
9.数字传送指令
— MOVD( 83) /@MOVD( 83)
梯形图符号及操作数取值区域功能:当执行条件为 ON时,将 S中指定的数字位( 4个二进制位)传送到 D中指定的数字位,一次最多可以传送 4
个数字位 。 S中要传送的第一个数字位、传送的数字位数,D中接收被传送数字的第一个数字位由 C指定。
C的含义?下一页
C的含义
为什么最大是四位数字?
传送举例?下一页传送举例
D4,数据转换指令?下一页
D4,数据转换指令
BCD码 → 二进制转换指令 —— BIN
二进制 → BCD码转换指令 —— BCD
4→16 译码器指令 —— MLPX
16→4 编程器指令 —— DMPX
ASCⅡ 转换指令 —— ASC
七段译码指令 —— SDEC ( *)
1,BCD码 →
二进制转换指令
— BIN( 23) /@BIN( 23)
功能:当执行条件为 ON时,BIN将 S
中的 BCD数转换为二进制数,存入 R
中 。 转换过程中,
S的内容保持不变 。
梯形图符号及操作数取值区域
2.二进制 →
BCD码转换指令
— BCD( 24) /@BCD( 24)
功能:当执行条件为 ON时,BIN将 S
中的 BCD数转换为二进制数,存入
R中 。 转换过程中,
S的内容保持不变 。
图 3.105
梯形图符号及操作数取值区域
3,4→16 译码器指令
— MLPX( 76) /@MLPX( 76)
功能,
1) 当执行条件为 ON时,
MLPX对 S中指定的数字进行译码,译码的结果存入 R开始的通道中 。
最多可对 4位数字同时译码 。
2) S中第一个要译码的数字由 C指定,译码的结果存入 R通道中;第二个要译码的数字是紧邻第一个数字的最高位数字,译码的结果存入 R+1通道中;
下面以此类推。
I,MLPX指令的梯形图符号及操作数取值区域图 3.106
控制数据 C的含义
CLICK HERE! !
II,控制字 C与转换举例图 3.107
图 3.108
III.译码举例
4,16→4 编程器指令
DMPX( 77) /@DMPX( 77)
功能,1)当执行条件为
ON时,DMPX对源通道进行编码,编码结果存放在 R中指定的数字位上。
一次最多可对 4个源通道进行编码。
2)第一个源通道 S的编码结果放入 R中指定的开始存放数字位上,S+1通道的编码结果放入 R中的紧邻开始存放数字位的高位数字上,依此类推,存完 R的数字 3后再从 R
的数字 0开始存放。
I,DMPX指令的梯形图符号及操作数取值区域

图 3.109
说明:控制数据 C的含义
CLICK HERE!
II,控制字 C及转换举例图 3.110
图 3.111
III.编码举例
5,ASCⅡ 转换指令
— ASC( 86) /@ASC( 86)
功能,当执行条件为 ON时,ASC对 S中指定的数字
(十六进制数)转换 ASCⅡ 码并存入从 R开始的结果通道中,一次最多可对 S中的 4个数字进行转换,如果 C中指定从 R的高 8位开始存放,则最多可占用 3个结果通道。
ASC指令的梯形图符号及操作数取值区域图 3.112
说明:控制数据 C的含义
CLICK HERE!
III,ASCII码转换实例
II,控制字 C及转换图 3.113
6.七段译码指令
— SDEC( 78) /@SDEC( 78)
功能:当执行条件为 ON
时,SDEC对源通道中的数字进行 7段译码,译码结果放入从 R开始的结果通道中。一次最多可对 S
中的 4个数字进行转换。 控制数据 C的含义?下一页控制数据 C的含义控制字 C及转换举例?下一页控制字 C及转换举例七段译码举例
下一页七段译码举例
D.数据指令总结?下一页
D.数据指令总结
D1.数据比较指令,4种
D2.数据移位指令,10种
D3.数据传送指令,9种
D4.数据转换指令,6种合计 29种
E 十进制运算指令?下一页
E,十进制运算指令
进位位置 1指令 — STC
进位位置 0指令 — CLC
BCD码加法指令 — ADD
BCD码减法指令 — SUB
双字 BCD码加法指令 — ADDL
双字 BCD码减法指令 — SUBL
BCD码乘法指令 — MUL
BCD码除法指令 — DIV
双字 BCD码乘法指令 — MULL
双字 BCD码除法指令 — DIVL ( *)
递增指令 — INC
递减指令 — DEC
核心:
BCD码的运算跳到,F,二进制运算指令图 3.118
功能,当 STC的执行条件为 ON时进位标志位 25504被置为 1。当 CLC的执行条件为 ON时,
进位标志位 25504
被置为 0。
STC,CLC指令的梯形图符号
1.进位位置 1指令 — STC
进位位置 0指令 — CLC
返回
2,BCD码加法指令
— ADD( 30) /@ADD( 30)
I,梯形图符号及操作数取值区域图 3.119
功能:当执行条件为
ON时,ADD将 Au,Ad
的内容和 CY相加,结果存入 R中,若结果大于 9999将把 CY置为 ON。
II,ADD指令的应用图 3.120
返回
3,BCD码减法指令
— SUB( 31) /@SUB( 31)
功能:当执行条件为
ON时,SUB将 Mi的内容减去 Su的内容和 CY,
结果存入 R中。若结果为负,将置为 CY,而
R中的内容为实际结果的十进制补码。
I,梯形图符号及操作数取值区域图 3.121
II,SUB指令的应用图 3.122
返回
4.双字 BCD码加法指令
— ADDL( 54) /@ADDL( 54)
功能:当执行条件为 ON时,
ADDL将 Au+1,Au中的 8位
BCD数与 Ad+1,Ad中的 8
位 BCD数相加,再与 CY想家,
结果存入 R+1,R中,若结果大于 99999999,CY将被置位 。 ADDL功能如右所示:
ADDL指令的梯形图符号及操作数取值区域图 3.123 返回
5.双字 BCD码减法指令
— SUBL( 55) /@SUBL( 55)
功能:当执行条件为 ON时,
SUBL将 Mi+1,Mi中的 8位
BCD数减去 Su+1,Su中的
8位 BCD数,再减去 CY,结果存入 R+1,R中。若结果为负,将置为 CY,而 R+1、
R中的内容为实际结果的十进制补码。 SUBL功能如右所示:
SUBL指令的梯形图符号及操作数取值区域图 3.124
返回
6,BCD码乘法指令
— MUL( 32) /@MUL( 32)
功能:当执行条件为
ON时,MUL将 Md、
Mr中的内容相乘,
结果存入 R+1,R中,
R+1中存积的高 4位数,R中存积的低 4
位数 。
梯形图符号及操作数取值区域图 3.125返回
7,BCD码除法指令
— DIV( 33) /@DIV( 33)
功能:当执行条件为
ON时,DIV将 Dd中的内容除以 Dr中的内容,
结果存入 R+1,R中,
R+1中存余数,R中存商 。
梯形图符号及操作数取值区域图 3.126 返回
8.双字 BCD码乘法指令
— MULL( 56) /@MULL( 56)
功能:当执行条件为 ON
时,MULL将 Md+1,Md
中的 8位 BCD数与 Mr+1、
Mr中的 8为 BCD数相乘,
结 果 存 入 R+3~R 中 。
MULL功能如右所示:
MULL指令的梯形图符号及操作数取值区域图 3.127
返回
9.双字 BCD码除法指令
— DIVL( 57) /@DIVL( 57)
功能:当执行条件为 ON
时,DIVL将 Dd+1,Dd
中的 8 位 BCD 数除以
Dr+1,Dr中的 8位 BCD
数,结果存入 R+3~R中 。
R+3,R+2 存余数,
R+1,R存商 。
返回,E,十进制运算指令
10.递增指令
— INC( 38) /@INC( 38)
功能:当执行条件为
ON时,每执行一次
INC将 Ch中的数据按十进制加 1,不影响进位位 CY。
梯形图符号及操作数取值区域图 3.129
返回
11.递减指令
— DEC( 39) /@DEC( 39)
功能:当执行条件为
ON时,每执行一次
DEC将 Ch中的数据按十进制减 1,不影响进位位 CY。
梯形图符号及操作数取值区域图 3.130
返回
F,二进制运算指令
二进制加法指令 — ADB
二进制减法指令 — SBB
二进制乘法指令 — MLB
二进制除法指令 — DVB
核心:
以通道为单位计算跳到,G,逻辑运算指令
1.二进制加法指令
— ADB( 50) /@ADB( 50)
功能:当执行条件为 ON
时,ADB将 Au,Ad中的内容和 CY进行二进制加法运算,结果存入 R
中。如果运算结果大于
FFFF,CY为 ON。
梯形图符号及操作数取值区域图 3.131
2.二进制减法指令
— SBB( 51) /@SBB( 51)
功能:当执行条件为
ON时,进行一次二进制减法运算,SBB
将 Mi 中的内容减去
Su中的内容,再减去
CY,结果存入 R中 。
梯形图符号及操作数取值区域图 3.132
3.二进制乘法指令
— MLB( 52) /@MLB( 52)
功能:当执行条件为
ON 时,MLB 将 Md,
Mr中的内容进行二进制乘法计算,结果存入
R+1,R中,R+1中存积的高 4位十六进制数,
R中存积的低 4位十六进制数 。
梯形图符号及操作数取值区域图 3.133
4.二进制除法指令
— DVB( 53) /@DVB( 53)
功能:当执行条件为
ON时,进行一次二进制除法运算,DVB将
Dd中的内容除以 Dr中的内容,结 果 存 入
R+1,R中 。 R+1中存余数,R中存商 。
梯形图符号及操作数取值区域图 3.134
G,逻辑运算指令
1.求反指令
2.逻辑与指令
3.逻辑或指令
4.异或指令
5.同或指令以通道为单位对数据进行与、或、非、异或、
同或等逻辑运算关于与、或、非、异或、同或逻辑运算?下一页与、或、非逻辑运算异或、同或逻辑运算?下一页
AND
OR
NOT
异或、同或逻辑运算返回,G,逻辑运算指令
1.求反指令
— COM( 29) /@COM( 29)
梯形图符号及操作数取值区域图 3.135
功能:
当执行条件
ON时,将 Ch
中的数据按位求反。
图 3.136 求反功能示意图
2.逻辑与指令
— ANDW( 34) /@ANDW( 34)
功能:当执行条件为 ON时,将 I1、
I2中的数据按位进行逻辑与运算,
结果存入 R中。
图 3.138 与指令的功能示意图图 3.137 梯形图符号及操作数取值区域
3.逻辑或指令
— ORW( 35) /@ORW( 35)
功能:当执行条件为 ON时,
将 I1,I2中的数据按位进行逻辑或运算,
结果存入 R中。
图 3.140 或指令的功能示意图图 3.139 梯形图符号及操作数取值区域
4.异或指令
— XORW( 36) /@XORW( 36)
功能:当执行条件为 ON时,
将 I1,I2中的数据按位进行逻辑异或运算,
结果存入 R中。
图 3.142 异或指令的功能示意图图 3.141 梯形图符号及操作数取值区域
5.同或指令
— XNRW( 37)
/@XNRW( 37)
功能:当执行条件为 ON时,
将 I1,I2中的数据进行逻辑同或运算,结果存入 R中。
图 3.144 同或指令的功能示意图图 3.143 梯形图符号及操作数取值区域
G,逻辑运算指令
1.求反指令
2.逻辑与指令
3.逻辑或指令
4.异或指令
5.同或指令以通道为单位对数据进行与、或、非、异或、
同或等逻辑运算
H,特殊指令?下一页
H,特殊指令
故障报警指令 — FAL
严重故障报警指令 — FALS
信息显示指令 — MSG
I/O刷新指令 — IORF
位计数指令 — BCNT
1.故障报警指令、
严重故障报警指令?下一页
1.故障报警指令 — FAL
严重故障报警指令 — FALS
功能,
a) FAL产生非严重故障当执行条件为 ON时,FAL指令将故障代码 N1送至 FAL输出区( SR25300~SR25307)中,
同时 CPU面板上的 ERROR指示灯闪烁,但程序仍可继续执行。
b) ALS产生严重故障当执行条件为 ON时,FALS指令将故障代码
N2送至 FAL输出区( SR25300~SR25307)
中,同时 CPU面板上的 ERROR指示灯常亮,
RUN指示灯熄灭,程序停止执行,所有输出复位。
FAL,FALS指令的梯形图符号
FAL(06)指令的应用
2.信息显示指令?下一页
2.信息显示指令
— MSG( 46) /@MSG( 46)
功能:当执行条件为
ON时,MSG从 FM至
FM+7通道中读取 16
个 ASCⅡ 码,并把对应的字符显示在编程器的屏幕上。
梯形图符号及操作数取值区域 MSG指令的应用
3,I/O刷新指令?下一页
3,I/O刷新指令
— IORF( 97) /@IORF( 97)
功能:当执行条件为 ON时,
刷新从 St到 E
之间的所有
I/O通道 。
梯形图符号及操作数取值区域
4.位计数指令?下一页
4.位计数指令
— BCNT( 67) /@BCNT( 67)
功能:当执行条件为
ON时,BCNT计算在
S和 S+( N-1)之间所有通道中为 1的位
( bit)的总数,结果以 BCD码的形式存入
D中。
梯形图符号及操作数取值区域返回,H,特殊指令
H,特殊指令
故障报警指令 — FAL
严重故障报警指令 — FALS
信息显示指令 — MSG
I/O刷新指令 — IORF
位计数指令 — BCNT
I,高级功能指令?下一页
I,高级功能指令
I1,子程序控制指令
I2,高速计数器控制指令
I3,脉冲输出控制指令
I4,中断控制指令
I5,步进指令
I1,子程序控制指令?下一页
I1.子程序控制指令
1.子程序调用指令
2.子程序定义和子程序返回指令
3.宏指令
1.子程序调用指令?下一页
1.子程序调用指令
— SBS( 91) /@SBS( 91)
功能,SBS在主程序中调用子程序。当执行条件为 ON时,SBS( 91) N调用编号为 N的子程序。
SBS指令的梯形图符号子程序调用方法?下一页子程序调用方法子程序定义和子程序返回指令?下一页
2.子程序定义和子程序返回指令
— SBN( 92) /RET( 93)
功能,SBN和 RET一起使用,SBN( 92) N用于每段子程序的开始,定义子程序的编号为 N
( 000-049) 。 RET( 93)用于每段子程序的结尾,表示子程序结束。
SBN,RET指令的梯形图符号子程序的使用?下一页子程序的使用
功能,SBN和 RET一起使用,SBN( 92) N用于每段子程序的开始,
定义子程序的编号为 N。
RET( 93)用于每段子程序的结尾,表示子程序结束。
3.宏指令?下一页
3.宏指令 —
MCRO( 99) /@MCRO( 99)
功能:
宏指令允许用一个单一子程序代替数个具有相同的结构但不同操作数的子程序。
4个字为一个单位梯形图符号及操作数取值区域应用示例?下一页宏指令应用示例应用举例?下一页
I2.高速计数器控制指令?下一页
I2.高速计数器控制指令主要指令:
1.比较表登陆指令
— CTBL( 63) /@CTBL( 63)
2.操作模式控制指令
— INI( 61) /@INI( 61)
3.当前值读出指令
-PRV( 62) /@PRV( 62)
重点内容:
高速计数器的计数功能
高速计数器的中断功能计数功能?下一页
1)高速计数器的计数功能普通计数器对外部事件计数的频率受扫描周期及输入滤波器时间常数的限制。高速则不受影响,单相最高频率达 5kHz.
高速计数的两种模式
高速计数器复位的两种方式
高速计数器的设定
高速计数的两种模式
① 递增模式:编码器输入单相脉冲信号和复位信号。
② 增减模式,编码器输入相位差为 90° 的两项计数脉冲信号( A
相,B相)和复位信号( Z相)。
根据 AB相的先后决定增减高速计数器复位的两种方式?下一页
高速计数器复位的两种方式
① Z相信号 +软件复位
CPM1A 用 特 殊 辅 助 继 电 器
25200作为高速计数器的复位标志,在 25200为 ON的条件下,Z相信号 ( 复位信号 ) 变为
ON时,高速计数器的当前值就复位为 0。 ② 软件复位只要 25200为 ON,
高速计数器的当前值就复位为 0。
高速计数器设定?下一页高速计数器设定通道地址 位 功能
DM6642 00~03 高速计数器的计数模式设定
4:递增计数模式
0:增减计数模式
04~07 高速计数器的复位方式设定
0,Z相信号 +软件复位
1:软件复位
08~15 高速计数器使用设定
00:不使用
01:使用高速计数器的中断功能?下一页
2) 高速计数器的中断功能
高速计数器的中断功能
①目标值比较中断最多 16个比较条件(目标值)和中断子程序组合保存在比较表中,当计数器 PV与目标值一致时,执行指定的中断子程序。
②区域比较中断
8个比较条件(上限和下限)和中断子程序组合保存在比较表中,当下限值 ≤当前值
PV≤上限值时,执行指定的中断程序。
返回,I2.高速计数器控制指令
1.比较表登陆指令
— CTBL( 63) /@CTBL( 63)
功能:当执行条件为
ON时,登记一个用于高速计数器的比较表,根据 C的值,同高速计数器当前值的比较可以立即启动,
也可以用 INI单独启动 。
图 3.159 梯形图符号及操作数取值区域图 3.160 比较表结构图 3.161 递增计数图 3.162 增减计数
2.操作模式控制指令
— INI( 61) /@INI( 61)
功能:当执行条件为
ON时,INI用于控制高速计数器的操作或停止脉冲输出,INI
的功能由控制数据 C
决定。 C的含义
CLICK HERE!图 3.163 梯形图符号及操作数取值区域
3.当前值读出指令
-PRV( 62) /@PRV( 62)
功能:当执行条件为
ON时,将高速计数器的当前值读出并送至目的通道 D,D+1中,
低 4位数存放在 D中,
高 4位数存放在 D+1中。图 3.164 梯形图符号及操作数取值区域
I2.高速计数器控制指令主要指令:
1.比较表登陆指令
— CTBL( 63) /@CTBL( 63)
2.操作模式控制指令
— INI( 61) /@INI( 61)
3.当前值读出指令
-PRV( 62) /@PRV( 62)
重点内容:
高速计数器的计数功能
高速计数器的中断功能跳到,I3,脉冲输出控制指令
I3.脉冲输出控制指令
脉冲输出可设置的模式
1)连续模式 2)独立模式
1.设置脉冲指令,设定输出的脉冲数目
2.速度输出指令,设定脉冲输出位、输出模式和设定脉冲输出频率 跳到,I4,中断控制指令
1.设置脉冲指令
— PULS( 64) /@PULS( 64)
功能:当执行条件为
ON时,PULS设定输出的脉冲数目,8为
BCD码,取值范围为
1~16777215。 N、
N+1分别为存放脉冲数的低 4位、高 4位通道。
梯形图符号及操作数取值区域
2.速度输出指令
— SPED( 64) /@SPED( 64)
功能:当执行条件为 ON时,SPED指令设定脉冲输出位、
输出模式和设定脉冲输出频率。图 3.167 梯形图符号及操作数取值区域说明:
当 00004由 OFF→ON
时,启动脉冲输出。
当 00005由 OFF→ON
时,执行 INI指令停止脉冲输出 。
I,连续模式下脉冲输出的梯形图图 3.168
说明:当 00004由
OFF→ ON时,PULS设置输出的脉冲数(存
DM0101~DM0100),
同时 SPED启动脉冲输出,当输出的脉冲数达到 PULS指定数目时,
脉冲输出自动停止。
图 3.169
II.独立模式下脉冲输出的梯形图
I4.中断控制指令
中断的概念
中断的优先级
外部输入中断的两种模式
①输入中断模式
②计数 器 中断模式
间隔定时器有两种工作模
①单次模式
②重复模式跳到,I5,步进指令
1.中断控制指令
— INT( 89)
/@INT( 89)
功能:当执行条件为
ON时,INT用来控制中断并根据 CC的值完成表 3.3 CLICK
HERE! 所示 6种功能中的 1种 。图 3.170 梯形图符号及操作数取值区域
I,输入中断模式的程序举例
用编程器将 DM6628的内容设置为 0001,表示 00003位中断输入端子。当输入 00003接通时,产生中断,转去执行中断处理子程序 000。
图 3.171
II,计数中断模式的程序举例
用编程器将 DM6628的内容设置为 0001,表示 00003为中断输入端子 。 当输入 00003接点闭合 10次时,产生中断,
转去执行中断处理子程序 000。
图 3.172
2.间隔定时器中断指令
— STIM( 69)
/@STIM( 69)
功能:当执行条件为
ON时,STIM用来控制间隔定时器的功能,根据 C1值完成表 3.4
CLICK HERE!所示 4种功能中的 1种图 3.173 梯形图符号及操作数取值区域
I,单次中断模式的程序举例
说明,输入 00005接通时,间隔定时器启动,一旦到达限定时间,就产生中断,转去执行中断处理子程序 。
图 3.174
II,重复中断模式的程序举例
输入 00005接通时,间隔定时器以重复中断模式启动,每次到达限定时间,就产生中断,转去执行中断处理子程序。
图 3.175
III.计数中断模式的程序举例
用编程器将 DM6628的内容设置为 0001,表示
00003为中断输入端子 。
当输入 00003接点闭合
10次时,产生中断,转去执行中断处理子程序
000。
I5.步进指令
步进指令 STEP和
SNXT总是一起使用,
以便在一个大型程序中的程序段之间设置断点。
每个程序段(称为一步)
是作为一个整体执行的,
一个程序段(步)通常对应实际应用中的一个过程。
1.单步指令 — STEP( 08)
步进指令 — SNXT( 09)
功能:
STEP( 08) B用来定义一个程序段的开始,它无需执行条件,其执行与否是由控制决定的。
SNXT( 09) B用来启动步号为 B的程序段,SNXT
( 09) B指令必须写进程序中,并置于 STEP( 08) B
之前的位置。
梯形图符号及操作数取值区域
2.步进指令的应用?下一页
2.步进指令的应用
步进控制有三种执行类型:
1) 顺序执行
1) 分支执行
1) 并行执行跳到,第三章 CPM1A指令系统复习
例一一顺序执行过程示意图
说明:整个过程分为三步:
加载、安装部件和检验 /推出。
图 3.178图 3.179
顺序执行编程
例 2
一分支执行过程示意图图 3.180图 3.181
分支执行编程说明:国成 A和过程 B只能选择一个,选择哪个取决于工件重量检测的结果。而过程 C(工件印字)都要进入。
例 3
一并行执行过程示意图
说明:两个工件同时进行两种不同的加工处理过程最后会合在一起进行组装。
图 3.182
并行执行编程图 3.183
第三章 CPM1A指令系统
指令系统概述
基本指令( 11类 17条)
编制梯形图应注意的问题
应用指令( 17大类)
第四部分、应用指令
A.处理梯形图的分支指令
1.联锁 /联锁解除指令 IL( 02) /ILC( 03)
2.暂存继电器( TR)
B.跳转 /跳转结束指令
( JMP( 04) /JME( 05)
梯形图符号及操作数取值区域
C,定时器和计数器指令
定时器 TIM
高速定时器 TIMH( 15)
计数器 CNT
可逆计数器 CNTR( 12)
间隔定时器 STIM( 69)
高速计数器
输人中断的计数模式
CPM1A提供的定时计数功能,
功能强大,
使用复杂 !}
}共用 TC号,000-127。
D.数据指令
D1.数据比较指令,4种
D2.数据移位指令,10种
D3.数据传送指令,9种
D4.数据转换指令,6种合计 29种
E,十进制运算指令
进位位置 1指令 — STC
进位位置 0指令 — CLC
BCD码加法指令 — ADD
BCD码减法指令 — SUB
双字 BCD码加法指令 — ADDL
双字 BCD码减法指令 — SUBL
BCD码乘法指令 — MUL
BCD码除法指令 — DIV
双字 BCD码乘法指令 — MULL
双字 BCD码除法指令 — DIVL ( *)
递增指令 — INC
递减指令 — DEC
核心:
BCD码的运算
F,二进制运算指令
二进制加法指令 — ADB
二进制减法指令 — SBB
二进制乘法指令 — MLB
二进制除法指令 — DVB
核心:
以通道为单位计算
G,逻辑运算指令
1.求反指令
2.逻辑与指令
3.逻辑或指令
4.异或指令
5.同或指令以通道为单位对数据进行与、或、非、异或、
同或等逻辑运算
H,特殊指令
故障报警指令 — FAL
严重故障报警指令 — FALS
信息显示指令 — MSG
I/O刷新指令 — IORF
位计数指令 — BCNT
H,特殊指令
故障报警指令 — FAL
严重故障报警指令 — FALS
信息显示指令 — MSG
I/O刷新指令 — IORF
位计数指令 — BCNT
I,高级功能指令
I1,子程序控制指令
I2,高速计数器控制指令
I3,脉冲输出控制指令
I4,中断控制指令
I5,步进指令