CPM1A的子程序控制与中断控制指令(精)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
S1:输入开始通道。
取值范围IR、HR、AR、LR、TC、DM、*DM。
S2:输出开始通道。取值范围同S1。
Date: 9/14/2018 Page: 6
第五章 CPM1APLC
4. 宏指令MCRO(99)/ @MCRO(99) 功能:用一个子程序N代替数个相同结构但操作数不同的子程序。 当执行条件为ON时,停止执行主程序,将输入通道S1~S1+3的内容 复制到通道SR232~SR235中;将输出通道S2~S2+3的内容复制到 通道SR236~SR239中,然后调用子程序N。 子程序执行完毕,再将通道SR236~SR239中的内容传送到输出通道 S2~S2+3中,并返回到MCRO指令的下一条语句,继续执行主程序。
(分别对应00003~00006输入点)存放计数器设定值。
Date: 9/14/2018 Page: 14
第五章 CPM1APLC 外部输入点对应固定的中断处理子程序编号: 中断输入0(输入点00003):子程序号为000
中断输入1(输入点00004):子程序号为001
中断输入2(输入点00005):子程序号为002 中断输入3(输入点00006):子程序号为003 优先级: 中断输入0>中断输入1>中断输入2>中断输入3。
Date: 9/14/2018
C1=000时,INT写入的屏蔽字)。
Page: 19
第五章 CPM1APLC 注:C1=100和C1=200时,C2=0000为固定设置;
屏蔽所有中断与解除屏蔽所有中断应成对使用;
不是十分必要,一般不要使用屏蔽所有中断。
Date: 9/14/2018
Page: 20
Date: 9/14/2018
Page: 16
第五章 CPM1APLC (2)外部输入中断控制指令 :INT(89)/ @INT(89) 格式:INT C1 符号:
000
C2
C1:控制码。其取值为000~003,100,200。
C2:控制数据。
C1=002时取值范围IR、HR、AR、LR、TC、DM、*DM
C2:控制数据1。取值IR、HR、AR、LR、DM、*DM、#。 C3:控制数据2。取值IR、HR、AR、LR、DM、*DM、#。 功能:执行条件为ON时,据Cl的数据完成4种功能中的一种。 C2、C3的取值根据C1的状态来决定。
Date: 9/14/2018 Page: 23
第五章 CPM1APLC C1是控制码,其取值和含义如下: (1)C1=000 启动单次中断模式
2)C1=001:清除/不清除输入中断记忆。是否清除,由C2的 bit00~bit03位来决定。(1/0:清除/不清除) 3)C1=002:读出00003~00006输入点的当前屏蔽状态写入C2中,为 屏蔽时C2的对应位为1。
Date: 9/14/2018 Page: 18
第五章 CPM1APLC 4) C1=003:更新/不更新00003~00006输入点的计数器设
问题。
Date: 9/14/2018 Page: 27
(1)脉冲编码器
第五章 CPM1APLC
在自控系统中经常使用脉冲编码器。
中断处理允许在控 制面板上进行启动 和停止操作 同步脉冲输出匹 配传送速度 烤箱温度由 PLC控制 贴上标签 筛选次品
(3) C1=006
(4) C1=010
读出定时器的当前值
停止间隔定时器工作。此时C2、C3固定为000。
Date: 9/14/2018
Page: 25
第五章 CPM1APLC
间隔定时器中断举例。 程序中STIM指令的控制码C1=003,
启动重复中断模式;
控制数据C2为通道号DM0000,定时
时间为6000 ×100× 0.1 = 60000ms。
格式:RET
符号:
功能:RET表示子程序结束。
RET指令不带操作数,也不需要执行条件。
SBN和RET指令要成对使用,组成一个完整的子程序。
Date: 9/14/2018
Page: 5
第五章 CPM1APLC 4. 宏指令MCRO(99)/ @MCRO(99) 格式:MCRO N 符号: S1 S2 N:子程序编号。其取值为00~99。
该记忆。
Date: 9/14/2018
Page: 13
第五章 CPM1APLC 2)计数器中断模式 对中断输入点接通的次数进行高速计数(减计数),当
达到设定的次数时产生中断,计数器停止计数、中断被屏
蔽。 若想再产生中断需使用指令进行设定。 计数器的计数范围0~65535,计数频率最高为lkHz。
对计数模式中断,CPMlA系列规定用通道SR240~243
定值。是否更新设定值,由C2的bit00~bit03位来决定,
(1/0:不更新/更新) 5)C1=100:屏蔽所有中断(包括外部输入中断、间隔定时器 中断和高速计数器中断)。屏蔽期间若有中断请求将不 响应,但可记忆各种中断信号,待屏蔽解除时立即响应 中断。 6)C1=200:解除屏蔽所有中断,恢复到执行“屏蔽所有中断” 之前的状态,但不解除各个中断自己的屏蔽字(如
间隔定时器中断有两种工作模式:
1)单触发模式,当规定时间到时,只执行一次中断;
2)重复中断模式,每隔一定时间反复执行中断。
Date: 9/14/2018
Page: 22
第五章 CPM1APLC 间隔定时器中断控制指令:STIM(69)/ @ STIM(69) 格式:STIM C1 符号:
C2
C3
C1:控制码。其取值为000,003,006,010。
第五章 CPM1APLC
记数器模式外部中断举例。 生产线记数装箱程序(局部)。 对产品进行记数,每到50件便执行装箱 子程序。00003为记数脉冲输入点。 程序运行前首先设定DM6628=0001,使输 入点00003成为中断输入点。 1部分计数器设定值输入,设定值为50; 2部分中断控制,设定输入点00003更新,
Date: 9/14/2018 Page: 12
第五章 CPM1APLC (1)外部输入中断模式。
1)输入中断模式
在非屏蔽情况下,只要中断输入点接通则产生中断响应。
若在屏蔽情况下,即使中断输入点接通也不能产生中断
响应,但该中断信号被记忆下,待屏蔽解除后立即产生中断。
若屏蔽解除后不希望响应所记忆的中断,可用指令清除
Date: 9/14/2018
Page: 8
第五章 CPM1APLC 宏指令调用子程序的例子
Date: 9/14/2018
Page: 9
第五章 CPM1AP来自百度文库C
二、中断控制指令
中断:指在外部或内部触发信号的作用下, 中断主程序的执行而转去执行一个预先编写的子程序, 即中断处理子程序(也称中断服务程序), 中断处理子程序执行完毕再返回断点处继续执行主程 序的现象。
Date: 9/14/2018 Page: 1
第五章 CPM1APLC 一、子程序控制指令 1.子程序调用指令SBS(91) / @SBS(91) 2.子程序定义指令SBN(92)/ @SBN(92) 3.子程序返回指令RET(93)/ @RET(93) 4. 宏指令MCRO(99)/ @MCRO(99)
第五章 CPM1APLC 第六讲 CPM1A的子程序控制与中断控制指令
一、子程序控制指令
1、在编写PLC的应用程序时,有的程序段需多次重复使用。这样的
程序段可以编成一个子程序,在满足一定条件时,中断主程序而转 去执行子程序,子程序执行完毕,再返回断点处继续执行主程序。 2、另外,有的程序段需多次使用,且程序段的结构不变,但每次输 入和输出操作数不同。对这样的程序段也可以编成一个子程序,在 满足执行条件时,中断主程序的执行而转去执行子程序,并且每次 调用时赋予该子程序不同的输入和输出操作数,子程序执行完毕再 返回断点处继续执行主程序。
Date: 9/14/2018
Page: 7
第五章 CPM1APLC 使用子程序调用程序时要注意以下几点: (1)所有子程序都必须放在主程序之后和END指令之前。
(2)主程序调用各子程序的次数没有限制。
(3)子程序可以嵌套调用。即子程序中又调用别的子程序。 但是嵌套不能超过16级,且子程序不能自调用。
其余输入点为屏蔽状态;
3部分中断处理子程序用来执行装箱子程 序,应注意的是中断输入点00003对应的中
断处理子程序号是000。
Date: 9/14/2018 Page: 21
第五章 CPM1APLC
2.间隔定时器中断
CPM1A有一个间隔定时器,是递减计数器,定时时间到 时,不受扫描周期的影响,停止执行主程序并建立断点, 立即转去执行中断子程序,实现高精度的定时中断处理。
满足条件时每隔60s启动中断子程
序010一次。
Date: 9/14/2018 Page: 26
第五章 CPM1APLC 3.高速计数器中断 PLC普通计数器的计数脉冲频率受扫描周期及输入滤波器时 间常数的限制,不能对高频脉冲信号进行计数。 对高频脉冲信号的计数,大、中型PLC是采用特殊功能单元 来处理。 小型PLC,例如CPMlA系列,由于其设置了高频脉冲信号的 输入点,配合相关的指令及设定,处理高频脉冲信号的计数
不使用中断功能,这些子程序号可用作普通子程序编号。
中断处理子程序也用SBN定义其开始,用RET定义其结束。 中断处理子程序也必须放在主程序之后和END之前。
Date: 9/14/2018 Page: 15
第五章 CPM1APLC 在外部输入中断使用之前,要用编程器对DM6628进行设定, 若不进行设定就没有中断功能。 DM6628设定的内容和含义如图
Date: 9/14/2018
Page: 10
第五章 CPM1APLC
二、中断控制指令
中断功能作用:
在实际控制过程中,控制系统中有些随时可能发生的
情况需要PLC处理;
具有中断功能的PLC可以不受扫描周期的影响;
及时将这种随机的信息输入到PLC中;
提高PLC对外部信息的响应速度。
Date: 9/14/2018
实际定时时间:[C2的内容×(C2 + 1)的内容]×0.1ms, 实际定时范围:0.5~319968ms。
Date: 9/14/2018 Page: 24
第五章 CPM1APLC C1是控制码,其取值和含义如下:
(2) C1=003
启动重复中断模式
C2、C2+1、C3的意义及定时时间的计算同上。
Date: 9/14/2018
Page: 2
第五章 CPM1APLC 1.子程序调用指令SBS(91) / @SBS(91)
格式:SBS
N
符号:
N:子程序编号。其取值为00~99。
功能:调用编号为N的子程序。 主程序中调用子程序的次数不受限制,子程序还可以 调用其它的子程序,但不可以调用本身。
Date: 9/14/2018 Page: 3
第五章 CPM1APLC 2.子程序定义指令SBN(92)/ @SBN(92)
格式:SBN
N
符号:
N:子程序编号。其取值为00~99。
功能: SBN定义子程序的开始,不需要执行条件。 子程序的编号不可重复。
Date: 9/14/2018
Page: 4
第五章 CPM1APLC 3.子程序返回指令RET(93)/ @RET(93)
C1≠002时取值范围DM、*DM、#0000~#000F。 功能:当执行条件ON时,根据C1的数据完成6种功能中一种。
Date: 9/14/2018 Page: 17
第五章 CPM1APLC
C1是控制码,其取值和含义: 1)C1=000:对00003~00006输入点屏蔽/不屏蔽。是否屏蔽,由 C2的bit00~bit03位来决定.
Page: 11
第五章 CPM1APLC 二、中断控制指令
常见中断有三种形式:
外部输入中断、间隔定时器中断和高速计数器中断。
1.外部输入中断
CPMlA系列PLC中,00003~00006这四个点是外部输入中断 的输入点。外部发生的事件所产生的信号通过中断输入点送 入PLC,当某个中断输入点为ON或ON一定次数时,产生中断 请求信号。 当不使用中断功能时,这些点作为普通输入点使用。 外部输入中断有输入中断和计数中断两种模式。
1)C2若为常数(BCD码,#0000~#9999)时,为定时器的设定
值。实际定时时间即为该常数值,单位毫秒(ms)。 C3为子程序号。 2)C2若为通道号,C2、C2+1通道决定定时时间,C2内容为 BCD码,取值 #0000~#9999, C2+1内容为BCD码,取值
#0005~#0320。C3为子程序号。