《山东建筑大学plc课件 (8)》由会员分享,可在线阅读,更多相关《山东建筑大学plc课件 (8)(32页珍藏版)》请在金锄头文库上搜索。
1、山东建筑大学 电气控制与PLC 范文利 2012一、子程序控制指令 1、在编写PLC的应用程序时,有的程序段需多次重复使用。这样的程序段可以编成一个子程序,在满足一定条件时,中断主程 序而转去执行子程序,子程序执行完毕,再返回断点处继续执行 主程序。2、另外,有的程序段需多次使用,且程序段的结构不变,但每次输入和输出操作数不同。对这样的程序段也可以编成一个子程 序,在满足执行条件时,中断主程序的执行而转去执行子程序, 并且每次调用时赋予该子程序不同的输入和输出操作数,子程序执行完毕再返回断点处继续执行主程序。 第六章 第六节 CPM1A的子程序控制与中断控制指令山东建筑大学 电气控制与PLC
2、范文利 2012一、子程序控制指令 1子程序调用指令SBS(91) / SBS(91)2子程序定义指令SBN(92)/ SBN(92)3子程序返回指令RET(93)/ RET(93)4. 宏指令MCRO(99)/ MCRO(99)山东建筑大学 电气控制与PLC 范文利 20121子程序调用指令SBS(91) / SBS(91)格式:SBS N 符号:N:子程序编号。其取值为0099。功能:调用编号为N的子程序。主程序中调用子程序的次数不受限制,子 程序还可以调用其它的子程序,但不可以调用本 身。山东建筑大学 电气控制与PLC 范文利 20122子程序定义指令SBN(92)/ SBN(92)格式
3、:SBN N 符号:N:子程序编号。其取值为0099。功能: SBN定义子程序的开始,不需要执行条件。子程序的编号不可重复。山东建筑大学 电气控制与PLC 范文利 20123子程序返回指令RET(93)/ RET(93)格式:RET 符号:功能: RET表示子程序结束。RET指令不带操作数,也 不需要执行条件。SBN和RET指令要成对使用,从而组 成一个完整的子程序。 山东建筑大学 电气控制与PLC 范文利 20124. 宏指令MCRO(99)/ MCRO(99) 格式:MCRO N 符号:S1 S2 N:子程序编号。其取值为0099。 S1:输入开始通道。 取值范围IR、HR、AR、LR、T
4、C、DM、*DM。 S2:输出开始通道2。取值范围同S1。 功能:用一个子程序N代替数个具有相同结构但操作数不同的子程序 。当执行条件为ON时,停止执行主程序,将输入通道S1S1+3 的内容复制到通道SR232SR235中,将输出通道S2S2+3的内 容复制到通道SR236SR239中,然后调用子程序N。子程序执 行完毕,再将通道SR236SR239中的内容传送到输出通道S2 S2+3中,并返回到MCRO指令的下一条语句,继续执行主程序。 山东建筑大学 电气控制与PLC 范文利 2012使用子程序调用程序时要注意以下几点:(1)所有子程序都必须放在主程序之后和END指 令之前。 (2)主程序调
5、用各子程序的次数没有限制。(3)子程序可以嵌套调用。即子程序中又调用别的 子程序。但是嵌套不能超过16级,且子程序不能 自调用。 山东建筑大学 电气控制与PLC 范文利 2012宏指令调用子程序的例子 山东建筑大学 电气控制与PLC 范文利 2012二、中断控制指令所谓中断,是指在外部或内部触发信号的作用下,中断主程序的执行而转去执行一个预先编写的子程序,即中断处理子程序(也称中断服务程序),中断处理子程序执行完毕再返回断点处继续执行主程序的现象。中断功能具有非常重要的意义,因为在实际控制过程中,控制系统中有些随时可能发生的情况需要PLC处理,具有中断功能的PLC可以不受扫描周期的影响,及时地
6、把这种随机的信息输入到PLC中,从而提高了PLC对外部信息的响应速度。 山东建筑大学 电气控制与PLC 范文利 2012二、中断控制指令常见的中断有三种形式:外部输入中断、间隔定时 器中断和高速计数器中断。因为CPM1A系列PLC的中 断使用最据代表性,下面我们以 CPM1A系列PLC讲述 中断的使用。1外部输入中断在CPMlA系列PLC中,0000300006这四个点是外 部输入中断的输入点。外部发生的事件所产生的信号 通过中断输入点送入PLC,当某个中断输入点为ON或 ON一定次数时,产生中断请求信号。当不使用中断功 能时,这些点可以作为普通输入点使用。外部输入中断有输入中断和计数中断两种
7、模式。山东建筑大学 电气控制与PLC 范文利 2012(1)外部输入中断模式。 1)输入中断模式在非屏蔽情况下,只要中断输入点接通则产生中断响应。若在屏蔽情况下,即使中断输入点接通也不能产生中断响 应,但该中断信号被记忆下来,待屏蔽解除后立即产生中断 。若屏蔽解除后不希望响应所记忆的中断,可用指令清除该 记忆。 2)计数器中断模式这种模式的中断,是对中断输入点接通的次数进行高速 计数(减计数),当达到设定的次数时产生中断,且计数器停止 计数、中断被屏蔽。若想再产生中断需使用指令进行设定。 计数器的计数范围为065535,计数频率最高为lkHz。对计数模式的中断,CPMlA系列规定用通道SR24
8、0243(分别对应0000300006输入点)存放计数器设定值。 山东建筑大学 电气控制与PLC 范文利 2012外部输入点对应的中断处理子程序编号是固定的,其对应 关系为:中断输入0(输入点00003):子程序号为000 中断输入1(输入点00004):子程序号为001 中断输入2(输入点00005):子程序号为002 中断输入3(输入点00006):子程序号为003其优先级为中断输入0中断输入1中断输入2中断输入3。当不使用中断功能时,这些子程序号可以作为普通子 程序编号使用。中断处理子程序也是用SBN定义其开始,用RET定义 其结束。而且中断处理子程序也必须放在主程序之后 和END之前。
9、山东建筑大学 电气控制与PLC 范文利 2012在外部输入中断使用之前,要用编程器对DM6628进行设 定,若不进行设定就没有中断功能。 DM6628设定的内容和含义如图山东建筑大学 电气控制与PLC 范文利 2012(2)外部输入中断控制指令 :INT(89)/ INT(89)格式:INT C1 符号:000C2 C1:控制码。其取值为000003,100,200。 C2:控制数据。 C1=002时取值范围IR、HR、AR、LR、TC、DM、*DM C1002时取值范围DM、*DM、#0000#000F。功能:当执行条件为ON时,根据C1的数据完成以下6种功能 中的一种。 山东建筑大学 电气
10、控制与PLC 范文利 2012C1是控制码,其取值和含义如下: 1)、C1=000:对0000300006输入点屏蔽不屏蔽。是否屏蔽,由 C2的bit00bit03位来决定,如图 2)、C1=001:清除不清除输入中断记忆。是否清除,由C2的 bit00bit03位来决定。(1/0:清除不清除)3)、C1=002:读出0000300006输入点的当前屏蔽状态写入C2中, 为屏蔽时C2的对应位为1。山东建筑大学 电气控制与PLC 范文利 20124)、 C1=003:更新不更新0000300006输入点的计数 器设定值。是否更新设定值,由C2的bit00bit03位来 决定, (1/0:不更新更
11、新) 5)、C1=100:屏蔽所有中断(包括外部输入中断、间隔 定时器中断和高速计数器中断)。屏蔽期间若有中断 请求将不响应,但可记忆各种中断信号,待屏蔽解除 时立即响应中断。 6)、C1=200:解除屏蔽所有中断,即恢复到执行“屏蔽所 有中断”之前的状态,但不解除各个中断自己的屏蔽字 (如C1=000时,INT写入的屏蔽字)。山东建筑大学 电气控制与PLC 范文利 20124)、 C1=003:更新不更新0000300006输入点的计数 器设定值。是否更新设定值,由C2的bit00bit03位来 决定, (1/0:不更新更新) 5)、C1=100:屏蔽所有中断(包括外部输入中断、间隔 定时器
12、中断和高速计数器中断)。屏蔽期间若有中断 请求将不响应,但可记忆各种中断信号,待屏蔽解除 时立即响应中断。 6)、C1=200:解除屏蔽所有中断,即恢复到执行“屏蔽所 有中断”之前的状态,但不解除各个中断自己的屏蔽字 (如C1=000时,INT写入的屏蔽字)。注:C1=100和C1=200时,C2=0000为固定设置;屏蔽所有 中断与解除屏蔽所有中断应成对使用,不是十分必要 ,一般不要使用屏蔽所有中断。山东建筑大学 电气控制与PLC 范文利 2012记数器模式外部中断举例。某生产 线记数装箱程序(局部)。对产品 进行记数,每到50件便执行装箱子 程序。00003为记数脉冲输入点,如 图。 程序
13、运行前首先设定DM6628=0001, 使输入点00003成为中断输入点。图中1部分为计数器设定值输入,设定 值为50;2部分为中断控制,设定 输入点00003更新,其余输入点为 屏蔽状态;3部分为中断处理子程 序用来执行装箱子程序,应注意的 是中断输入点00003对应的中断处 理子程序号是000。山东建筑大学 电气控制与PLC 范文利 20122间隔定时器中断CPM1A有一个间隔定时器,它是个递减计数器(从设定值开始按一定的时间间隔进行减计数),当其定时时间到时,可以不受扫描周期的影响,停止执行主程序并建立断点,立即转去执行中断处理子程序,从而实现高精度的定时中断处理。间隔定时器中断有两种工作模式:一为单触发模式,当规定时间到时,只执行一次中断;另一个是重复中断模式,每隔一定时间反复执行中断。 山东建筑大学 电气控制与PLC 范文利 2