首页 理论教育 三菱电机小型PLC应用指南:中断、脉冲捕捉和测量功能

三菱电机小型PLC应用指南:中断、脉冲捕捉和测量功能

时间:2023-11-26 理论教育 版权反馈
【摘要】:该特殊辅助继电器对脉冲捕捉功能无效。4)禁止重复使用输入[输入中断、脉冲捕捉功能]输入X000~X007用于高速计数器、输入中断、脉冲捕捉以及SPD、ZRN、DSZR、DVIT指令和通用输入。

三菱电机小型PLC应用指南:中断、脉冲捕捉和测量功能

1.概要

本节主要说明了不受顺控程序(主程序)的运算周期的影响,将下述的中断功能作为触发信号,立即执行中断程序(中断子程序)的功能。

在一般的顺控程序处理中,由运算周期造成的延迟以及时间的偏差给机械动作带来影响,这样的情况可以得到改善。

1)输入中断功能[外部信号输入(X)的中断]

使用输入X000~X005的输入信号,中断一般的顺控程序,优先执行中断子程序。

此外,输入中断的执行时序,可以通过指定指针的编号,指定信号的上升沿或是下降沿中任意一个。

2)输入中断延迟功能[外部信号输入(X)的中断]

使用输入X000~X005的输入信号,中断一般的顺控程序,在以1ms为单位设定的延迟时间之后优先执行中断子程序。

此外,输入中断的执行时序,可以通过指定指针的编号,指定信号的上升沿或是下降沿中任意一个。

3)定时器中断功能[按固定周期动作的定时器中断]

按照10~99ms的固定周期间隔,中断一般的顺控程序,优先执行中断子程序。

4)高速计数器中断功能[增计数时的中断功能]

当高速计数器的当前值达到规定值时,中断一般的顺控程序,优先执行中断子程序。

5)脉冲捕捉功能

通过输入X000~X007的输入信号从OFF变为ON,特殊辅助继电器M8170~M8177被设置为中断处理。通过在一般的顺控程序中使用M8170~M8177,可以方便地获取在一般的输入处理中无法获取的ON宽度的信号。

但是,如果在1个运算周期中要执行几次ON/OFF这样的处理时,请使用输入中断功能。

6)脉宽/周期测量功能

通过输入X000、X001、X003、X004的输入信号OFF→ON,将输入信号上升沿的1/6μs环形计数器值保存到特殊数据寄存器中。此外,通过输入信号的ON→OFF,将输入信号下降沿的1/6μs环形计数器值保存到特殊数据寄存器中,同时将上升沿与下降沿的计数器值的差设定为1/60后,将脉宽(10μs单位)保存到特殊数据寄存器中。

设定为脉冲周期测量模式时,通过输入信号的OFF→ON,将上一次输入信号上升沿至此次输入信号上升沿的差设定为1/60后,将10μs单位的脉冲周期保存到特殊数据寄存器中。

2.通用事项

(1)中断功能及脉冲捕捉功能的禁止方法

1)程序的中断范围的限制[中断功能、脉冲捕捉功能

a)编程方法:通过编写FNC05(DI)指令,可以设定中断禁止的区域。

在DI~EI指令之间(禁止中断区域)即使发生中断,也是被存储下来,在EI执行之后再执行。

b)程序举例:如图6-1所示。

c)注意事项:

①禁止中断用的特殊辅助继电器(M8050~M8059)不包括已经置ON中的中断输入。

该特殊辅助继电器对脉冲捕捉功能无效。

②禁止区域的时间较长时,虽然接收中断,但是转移到中断处理会延迟。

不需要禁止中断时,请只编写EI指令。未必一定需要DI指令。

978-7-111-38958-3-Chapter06-1.jpg

图6-1 中断的允许及禁止

2)中断指针(每个中断子程序)的禁止中断[中断功能]

a)编程方法:分别准备了禁止中断用的特殊辅助继电器(M8050~M8059)。

在中断禁止标志位(M8050~M8059)为ON时,产生了禁止的中断,此后即使中断禁止标志位断开,也不执行中断程序,见表6-1。

表6-1 中断指针

978-7-111-38958-3-Chapter06-2.jpg

①从RUN→STOP时清除。

b)程序举例:通过M20使M8053置ON时,来自X003的中断输入I301被禁止,如图6-2所示。

(2)相关事项

1)输入输出刷新功能(REF指令)的使用

通过中断程序控制输入继电器和输出继电器时,使用输入输出刷新指令(REF/FNC50),可获得最新的输入信息,并能立即输出运算结果,从而可以实现不受PLC运算周期影响的高速控制。

2)关于FROM/TO指令执行过程中的中断动作

通过特殊辅助继电器M8028的ON/OFF,实现以下的动作。

a)M8028=OFF时,在FROM/TO指令执行过程中自动处于禁止中断的状态,不执行输入中断和定时器中断。

在此期间产生的中断会在执行完FROM/TO指令后被立即执行。

当M8028=OFF,FROM/TO指令可以在中断程序中使用。

978-7-111-38958-3-Chapter06-3.jpg

图6-2 禁止中断

b)M8028=ON时,在FROM/TO指令执行过程中如产生中断,则中断执行,然后执行中断程序。

但是,当M8028=ON时,不能在中断子程序中使用FROM/TO指令。

(3)使用上的注意事项(通用)

说明了使用中断功能和脉冲捕捉功能时的通用的注意要点。

关于各中断功能个别的注意要点,会在各中断功能的说明中解释。

1)关于发生多个中断时的处理

依次发生多个中断时,先发生的优先执行,完全同时产生时,指针编号小的优先执行。

在执行中断子程序的过程中,其他的中断被禁止。

2)想实现双重中断(中断中的中断)时[中断功能]

一般的中断子程序(程序)中禁止中断。FX3U、FX3UC的情况下,如果在中断子程序中编写EI(FNC04)、DI(FNC05)时,可以接收到双重的中断。FX3G PLC中不能执行双重中断。

3)关于使用定时器时的动作[中断功能]

使用普通的定时器不能执行计时,除此以外,使用1ms的累计定时器时也需要注意。中断子程序中的定时器,请使用子程序用定时器T192~T199。

4)禁止重复使用输入[输入中断(有/无延迟功能)、脉冲捕捉功能]

输入X000~X007用于高速计数器、输入中断、脉冲捕捉以及SPD、ZRN、DSZR、DVIT指令和通用输入。因此,请勿重复使用输入端子。

5)使用SFC程序(STL指令)时

使用SFC程序(STL指令)时,在中断程序中请勿使用SET指令或OUT指令驱动状态S。

6)关于已经置ON的软元件的动作[中断功能]

中断子程序中被置ON的软元件,在结束子程序后仍然被保持。此外,对定时器和计数器执行RST指令后,定时器和计数器的复位状态也被保持。

这些软元件在子程序内、或是子程序外执行复位和OFF运算时,请使该指令断开。

a)输出被保持的例子:有对X001进行计数的C0,当X000从OFF变为ON时,中断程序I001只执行1个扫描,计数器复位后输出Y007的程序。

①程序举例,如图6-3所示。

②时序图,如图6-4所示。

978-7-111-38958-3-Chapter06-4.jpg

图6-3 程序举例

978-7-111-38958-3-Chapter06-5.jpg

图6-4 时序图

b)复位被保持的输出的例子(对策)。

①程序举例,如图6-5所示。

978-7-111-38958-3-Chapter06-6.jpg

图6-5 程序举例

②时序图,如图6-6所示。

978-7-111-38958-3-Chapter06-7.jpg

图6-6 时序图

3.输入中断(通过外部信号中断)[不使用延迟功能]

(1)输入中断(通过外部信号中断)[不使用延迟功能]

1)概要

使用输入X000~X005的输入信号,执行中断子程序。

2)用途

由于可以不受PLC的运算周期的影响处理外部输入信号,所以适用于执行高速控制和获取短时间脉冲。

3)基本程序(见图6-7)

978-7-111-38958-3-Chapter06-8.jpg

图6-7 编程要领

4)中断指针(6点)的编号及动作(见表6-2)。

978-7-111-38958-3-Chapter06-9.jpg

表6-2 输入中断指针

978-7-111-38958-3-Chapter06-10.jpg

①从RUN→STOP时清除。

5)输入中断的个别禁止方法

在程序中使M8050~M8055置ON后,则其各自对应的输入编号的中断被禁止(对应内容参考表6-2)。

6)注意要点

a)禁止输入的重复使用:用作为中断指针的输入继电器的编号,请勿与使用相同输入范围的“高速计数器”、“脉冲捕捉功能”、“脉冲密度(FNC56)”等应用指令重复。

b)关于输入滤波器的自动调节:指定了输入中断指针I□0□后,输入继电器的输入滤波器会被自动更改为高速读取用。

因此,不需要使用REFF(FNC51)指令和特殊数据寄存器D8020(输入滤波器的调节)更改滤波器的调节。

此外,没有作为输入中断指针使用的输入继电器的输入滤波器以10ms(初始值)动作。

c)输入中断的脉宽:为了能通过外部信号执行输入中断,所以需要输入表6-3所示的宽度以上的ON信号,或是OFF信号。

表6-3 输入中断的脉宽

978-7-111-38958-3-Chapter06-11.jpg

①使用5μs的输入滤波常数时,以及用高速计数器读取50~100kHz的脉冲时,请按如下所示设置:接线长度请勿超出5m;在输入端子中连接1.5kΩ(1W以上)的漏电阻,与主机的输入电流相符合,对方一侧机器的开路集电极晶体管输出的负载电流需要在20mA以上。

d)指针编号的重复使用:对象I001和I000等那样的同一输入的上升沿中断和下降沿中断,不能被同时编写。

7)程序举例

a)上升沿外部输入中断和输出刷新(REF指令)的组合使用:通过外部输入(X000)的上升沿,即刻使输出Y007置ON的程序,如图6-8所示。

978-7-111-38958-3-Chapter06-12.jpg

图6-8 程序举例

注:对使用REF(FNC 50)指令刷新的输入/输出的点数必须指定8的倍数。指令了8的倍数

以外时,会出现运算错误,REF(FNC50)指令不能执行。

b)输入中断和输入刷新(REF指令)的组合使用:使用最新的输入信息执行中断处理的程序,如图6-9所示。

978-7-111-38958-3-Chapter06-13.jpg

图6-9 程序举例

注:同图6-8一样。

c)输入发生次数的计数(与单相高速计数器相同):对外部输入进行计数的程序,如图6-10所示。

978-7-111-38958-3-Chapter06-14.jpg

图6-10 程序举例

d)短时间脉冲的捕捉:短时间脉冲为ON后,在一定时间之内保持ON的程序,如图6-11所示。

978-7-111-38958-3-Chapter06-15.jpg

图6-11 程序举例

(2)实用程序举例(短时间脉宽的测量程序)(见图6-12)

如果使用累计型的1ms定时器或是特殊数据寄存器D8099(高速环形计数器),就可以以1ms或是0.1ms为单位测量短时间的脉冲宽度

1)使用累计型的1ms定时器测量短时间脉冲宽度的程序举例(见图6-13)。

程序举例的时序图,如图6-14所示。

978-7-111-38958-3-Chapter06-16.jpg

图6-12 程序要求

978-7-111-38958-3-Chapter06-17.jpg

图6-13 程序举例

978-7-111-38958-3-Chapter06-18.jpg

图6-14 时序图

2)使用高速环形计数器测量短时间的脉冲宽度的程序举例(仅适用于FX3U、FX3UC PLC)(见图6-15)

978-7-111-38958-3-Chapter06-19.jpg

图6-15 程序举例

4.输入中断(通过外部信号中断)[使用延迟功能]

(1)概要

在输入中断中,有以1ms为单位的延迟执行中断子程序的功能。通过执行以下格式的程序来指定要延迟的时间。(www.xing528.com)

如使用该延迟功能,那么在调整输入中断中使用的传感器的安装位置时,就可以进行与实际位置没有偏差的电气调节。

(2)编程要领(见图6-16)

(3)时序图(见图6-17)

5.定时器中断

(1)定时器中断(一定周期的中断)

1)概要

不受PLC运算周期的影响,每隔10~99ms执行一次中断程序。

2)用途

适用于当主程序的运算周期较长时,对特定程序进行高速处理,或者需要在顺控运算时

978-7-111-38958-3-Chapter06-20.jpg

图6-16 编程要领

①指定延迟时间的程序:在图中的指定延迟时间的程序,必须要编写在中断子程序的开头位置中。由于这个程序是模板程序,所以届时只需要更改延迟时间。此外,该指定延迟时间的程序,只可以使用常数(K)或是数据寄存器(D)。

②中断程序的终止。

978-7-111-38958-3-Chapter06-21.jpg

间隔一定时间执行程序时的情况。

3)基本程序(见图6-18)

978-7-111-38958-3-Chapter06-22.jpg

图6-17 时序图

4)定时器中断指针(3点)的编号及动作(见表6-4)

978-7-111-38958-3-Chapter06-23.jpg

图6-18 编程要领

每隔指定的中断循环时间(10~99ms),执行中断子程序。在PLC的运算周期以外,需要循环中断处理的控制中使用。

表6-4 定时器中断指针

978-7-111-38958-3-Chapter06-24.jpg

①从RUN→STOP时清除。

注意:定时器中断时间设定在9ms以下时,在以下情况下有可能出现不能按照正确的周期处理定时器中断,所以建议在10ms以上使用。

①中断程序的处理时间较长时;

②主程序中使用了处理时间较长的指令时。

5)注意要点

①指针编号(I6、I7、I8)不能重复使用;

②在程序中接通M8056~M8058后,其各自对应的定时器中断被禁止。

6)程序举例

每隔10ms对数据进行加法运算,并与设定值比较的程序举例,如图6-19所示。

978-7-111-38958-3-Chapter06-25.jpg

图6-19 程序举例

(2)实用程序举例(应用指令的定时器中断程序)

RAMP(FNC 67)、HKY(FNC 71)、SEGL(FNC 74)、ARWS(FNC 75)、PR(FNC77)指令是与扫描时间同步的,执行一连串动作的指令。

在这些指令中,由于会出现整体时间过长或在时间波动上有问题,所以使用定时器中断,使指令按照一定时间间隔执行。

此外,未使用定时器中断时,请使用恒定扫描模式。

1)HKY(FNC71)指令的定时器中断处理(见图6-20)

978-7-111-38958-3-Chapter06-26.jpg

图6-20 程序举例

2)RAMP(FNC 67)指令的定时器中断处理

使用10ms的定时器中断,编写如下所示的斜坡信号输出回路

a)斜坡输出模型:D4被作为计算执行次数用的寄存器而占用,如图6-21所示。

978-7-111-38958-3-Chapter06-27.jpg

图6-21 斜坡输出模型

b)程序:如图6-22所示。

6.计数器中断(根据高速计数器的计数到位来中断)

(1)概要

使用高速计数器的当前值的中断。

(2)用途

与DHSCS(FNC 53)的比较置位指令一起使用,当高速计数器的当前值达到规定值时执行中断程序。

978-7-111-38958-3-Chapter06-28.jpg

图6-22 程序举例

(3)基本程序(见图6-23)

978-7-111-38958-3-Chapter06-29.jpg

图6-23 编程要领

注:更改数据寄存器等中指定的比较值时,这个值在执行END指令时被更新。

(4)定时器中断指针(6点)的编号及动作(见表6-5)

978-7-111-38958-3-Chapter06-30.jpg

表6-5 定时器中断指针

978-7-111-38958-3-Chapter06-31.jpg

①从RUN→STOP时清除。

(5)使用高速计数器执行中断输出(Y、M)的ON/OFF

根据高速计数器的当前值,仅仅执行ON/OFF输出继电器(Y)和辅助继电器(M)的控制时,使用DHSCS(FNC 53)、DHSCR(FNC 54)、DHSZ(FNC 55)指令可以简单地编程。

(6)注意要点

a)指针编号的重复:不能重复使用指针编号。

b)中断的禁止:在程序中使特殊辅助继电器M8059为ON后,则所有的计数器中断都被禁止。

7.脉冲捕捉功能[M8170~M8177]

脉冲捕捉功能是指,PLC能够准确的捕捉到通常容易被遗漏的短信号。脉冲捕捉功能在执行中断处理时,因可以作为一般触点所以编程内容及其简单。

执行FNC04(EI)指令后,当输入继电器X000~X007从OFF变为ON时,特殊辅助继电器M8170~M8177通过中断处理被置位。

在FX3G PLC中,不需要FNC04(EI)指令。

(1)输入编号和特殊辅助继电器的分配(见表6-6)

表6-6 输入编号和特殊辅助继电器

978-7-111-38958-3-Chapter06-32.jpg

①从STOP→RUN时清除。

②仅对应FX3U、FX3UC PLC。

(2)程序举例(见图6-24)

(3)使用注意事项

①为了再次读取输入,需要通过程序对被置位的软元件进行复位;因此被置位的软元件到被复位之前,不能读取新的输入。

②需要读取连续的短时间脉冲(输入信号)时,请使用外部输入中断功能或高速计数器功能。

③不需要调节滤波器的程序。

④与分别禁止中断用的辅助继电器M8050~M8055的动作无关而执行。

978-7-111-38958-3-Chapter06-33.jpg

图6-24 程序举例

注:在5μs情况下使用脉冲捕捉功能时,以及用高速计数器读取50~100kHz的响应频率的脉冲时,请如下

所示设置:接线长度请勿超出5m;在输入端子中连接1.5kΩ(1W以上)的漏电阻,与主机的输入电

流相符合,对方一侧机器的开集电极型晶体管输出的负载电流需要在20mA以上。

(4)应用案例(自动照明控制系统)

1)系统图(见图6-25)

978-7-111-38958-3-Chapter06-34.jpg

图6-25 自动照明控制系统

2)动作要求

大厅入口的自动照明系统,在入口处设置传感器,探知是否有人出入,控制照明在一段时间内的断路器。传感器在捕捉是否有人进出时,如人的行动很快的话,对于短信号的捕捉有可能遗漏,但是通过PLC控制,即使是一瞬间的动作也不会遗漏,对短时间信号能够迅速捕捉及进行执行。因此,通过脉冲捕捉功能可以达到准确无误的控制效果。

3)I/O分配(FX3G PLC,见表6-7)

表6-7 I/O分配

978-7-111-38958-3-Chapter06-35.jpg

978-7-111-38958-3-Chapter06-36.jpg

图6-26 程序

5)程序说明

程序说明见时序图,如图6-27所示。

执行中断允许指令EI(中断允许)后,当X00~X07从OFF变为ON时,特殊辅助继电器M8170~M8177通过中断处理立即置位。再次使用M8170~M8177时,需要手动复位。

8.脉宽/周期测量功能[M8075~M8083、D8074~D8097]

脉宽/周期测量功能将根据输入信号的上升沿或者下降沿,将(1/6)μs环形计数器值保存到特殊数据寄存器中。此外,将上升沿和下降沿的计数器值的差(脉宽)或者从上一次上升沿至此次上升沿的计数器值的差(脉冲周期)设定为1/60后,将脉宽(10μs单位)/脉冲周期保存到特殊数据寄存器中。

脉宽/周期测量功能通过描述以M8075为触点的程序来激活,接着使用OUT指令指定脉宽/周期测量标志位,设定使用的输入端子。

978-7-111-38958-3-Chapter06-37.jpg

图6-27 时序图

脉宽/周期测量定功能有效时,在RUN过程中,脉宽/周期测量功能一直动作。特殊辅助继电器和特殊数据寄存器的分配,见表6-8。

表6-8 脉宽/周期测量定功能

978-7-111-38958-3-Chapter06-38.jpg

①D8078、D8079不被更新。

②可测量脉宽最小为10μs,最大为100s。可测量脉冲周期最小为20μs。

(1)程序举例

1)脉宽测量

测量X000输入信号的脉宽,如图6-28所示。

978-7-111-38958-3-Chapter06-39.jpg

图6-28 脉宽测量程序

2)脉冲周期测量

测量X000输入信号的脉冲周期,如图6-29所示。

时序图,如图6-30所示。

将PLC从STOP→RUN后的输入信号初次为上升沿时,或者将脉冲周期测量模式(M8080)从OFF变为ON后的输入信号初次为上升沿时,不执行脉冲周期测量。D8078、D8079不被更新。在输入信号下一次变为上升沿时,执行脉冲周期测量。D8078、D8079被更新。

978-7-111-38958-3-Chapter06-40.jpg

图6-29 脉冲周期测量程序

978-7-111-38958-3-Chapter06-41.jpg

图6-30 时序图

此外,脉冲输入中断时,请OFF脉宽/周期测量设定标志位1个运算周期以上。如果没OFF1个运算周期以上时,将下面[a]的周期作为脉冲周期保存。

3)信号延迟时间的测量测量X000输入信号上升沿与X001输入信号上升沿的延迟时间,如图6-31所示。

978-7-111-38958-3-Chapter06-42.jpg

注:环形计数器为包括最高位在内的32位数据。在DSUB(FNC21)指令中,将最高位作为符号位进行处理,因此不能得到正确的值。请增加虚线内的处理。

图6-31 信号延迟时间的测量程序

(2)使用时的注意事项

①脉宽/周期测量功能和输入中断可以在同一输入端子中同时使用。

②在 脉 宽/周 期 测 量 功 能、SPD(FNC56)指 令、DSZR(FNC150)指 令、ZRN(FNC156)指令中,输入端子重复时,指令执行时会发生运算错误。

③使用了脉宽/周期测量功能的输入,就不能再使用脉冲捕捉功能。

④在脉宽/周期测量功能和高速计数器中,输入端子重复时,会发生语法错误。

⑤使用脉宽/周期测量功能时,请将输入4通道的合计频率设置在50kHz以内。

⑥将脉宽/周期测量功能和高速计数器组合使用时,将会对高速计数器的综合频率产生影响。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈