在三菱Q系列CPU模块中可以执行的程序有顺控程序、SFC程序、ST程序。
以下介绍下“顺控程序”:
顺控程序是使用顺控程序指令、基本指令、应用指令等制成的程序。
一、顺控程序的记述方法
顺控程序的编程有梯形图模式与列表方式的两种方法。
1、梯形图模式
梯形图模式是指以继电器控制的顺控电路为基本着眼点的模式。与顺控电路的编程相类似。
梯形图模式是以梯形图块为单位来进行编程。梯形图块是进行顺控程序运算的最小单位。
梯形图块是指从左侧的纵线开始到右侧的纵线结束的电路。
2、列表方式
列表方式通过使用梯形图模式中标有记号的触点、线圈等的专用指令来进行编程。
A触点、b触点、线圈变为如下指令。
. a 触点.... LD,AND,OR
. b 触点.... LDI,ANI,ORI
. 线圈...... OUT
二、顺控程序的运算
顺控程序的运算按照从步0 到END/FEND 指令的顺序执行。
在梯形图模式的梯形图块中按照从左侧的纵线到右侧的纵线,从上到下的顺序进行运算。
三、顺控程序的分类
顺控程序如下被分为主程序、子程序、中断程序三类。在基本模式QCPU中,由于不能执行多个程序的原因,将文件名固定为"MAIN"。
1、主程序
主程序是指从步0到END/FEND指令的程序。
[主程序的执行动作]
(1)、只执行一个程序的情况
主程序从步0开始执行END/FEND指令,进行END处理。在END处理过后再次进行从步0开始的运算。
(2)、执行多个程序的情况
执行完主程序的END/FEND 指令后的动作,根据设定的执行的条件而会有所不同。
[主程序设定的执行类型]
在执行多个程序的情况下,主程序与使用用途相对应,有如下五种类型的执行程序可以设定。
. 初始执行类型程序
. 扫描执行类型程序
. 低速度执行类型程序
. 备机类型程序
. 恒定周期执行类型程序
在只执行一个程序之际没有设定执行类型的情况下,主程序以扫描执行类型程序进行动作。
2、子程序
子程序是指从指针(P)开始到RET指令的程序。
子程序只有在接到从主程序中调用子程序的调用指令(CALL(P)、FCALL(P)等)时才能被执行。
[子程序的用途]
通过如下所示的方法使用子程序,可以减少程序的步数。
. 在一个扫描周期中,通过将多次执行的程序制作成子程序,可以减少整体步数。
. 将只在某种条件成立时才执行的程序制作成子程序,可以减少正常执行的程序的步数。
[子程序的管理]
子程序在主程序之后(FEND指令以后)制作。子程序可以作为一个程序进行管理。
(1)、在主程序之后制作的情况
1) 子程序的制作地点
子程序在主程序的FEND指令END指令之间制作。
2) 对制作顺序的限制
在制作多个子程序时,没有必要将指针从小到大号顺序排列。
3) 可以使用的指针
在子程序中,可以使用本地指针与公共指针。
但是,在本地指针的情况下,从其它程序不能调出子程序。
(2)、作为其它程序进行管理时
子程序可以归结为一个程序作为其它程序( 备机类型程序)进行管理。
3、中断程序
中断程序是指从中断指针(I)开始到IRET指令的程序。
根据中断指针号(I),中断因子会有不同。
如果出现中断因子,将执行与因子相对应的指针号的中断程序。(中断程序只有在出现中断因子的情况下才会被执行)
[中断程序的中断时机]
(1)、中断程序的管理
中断程序在主程序之后(FEND 指令之后) 制作。
中断程序可以作为一个程序进行管理。
(a) 在主程序之后制作时
1) 中断程序的制作场所
中断程序在主程序的FEND 指令~END指令之间制作。
2) 对制作顺序的限制
在制作多个中断程序时,没有必要对中断指针按从小到大顺序排列。
(b) 作为其它程序进行管理的情况
中断程序可以归结为一个程序作为其它程序(备机类型程序)进行管理。
(2)、在执行中断程序之前
在执行中断程序时执行下述指令,设为允许中断的状态。
(a) 基本模式QCPU 的情况
执行EI指令设为允许中断状态。
(b) 高性能模式QCPU、过程CPU、冗余CPU 的情况
执行中断指针I32~47 的中断程序时,通过IMASK指令以及EI指令设为允许中断状态。
在通过EI 指令设为中断允许的状态下,中断指针I0~31、I48~255的中断程序可以被执行。
(c) 通用型QCPU 的情况
在通过EI指令设为中断允许的状态下,中断指针I0~15、I28~31、I45、I50~255的中断程序可以被执行。
(3)、发生中断因子时的动作
中断程序根据发生中断因子的时机会受到限制。
(a) 在允许中断状态之前发生中断因子的情况
CPU 模块会记忆发生的中断因子。
在变为允许中断状态的时点,与记忆的中断因子相对应的中断程序将被执行。
在允许中断之前多次发生同一个中断因子的情况,如下述情形所示。
1) 基本模式QCPU 的情况
I0~15,I28~31,I50~127 的中断因子只能被记忆一次。
2) 高性能模式QCPU、过程CPU、冗余CPU 的情况
I0~27、I28~31、I50~255 以及恒定周期执行型程序的中断因子只能被记忆一次。
关于I32~41、I49 的中断因子,在中断禁止期间发生时将被删除。
3) 通用型QCPU 的情况
I0~15、I28~31、I45、I50~255 以及恒定周期执行型程序的中断因子只能被记忆一次。
但是,通过IMASK 指令屏蔽时发生的中断因子将全部被删除。
(b) STOP/PAUSE状态下发生中断因子的情况
STOP/PAUSE状态下发生中断因子的情况下,CPU模块在变为RUN状态后,在变为允许中断的时点执行与中断因子相对应的中断程序。
(c) 在允许中断状态下,同时发生多个中断因子的情况。
在优先顺序中,从与高中断指针号(I)相对应的中断程序开始执行。
其它的中断程序将一直等到执行中的中断程序处理完成。
(d) 发生了与执行中的中断程序相同的中断因子时
在执行中的程序处理完成之前,发生了与执行中的中断程序相同的中断因子的情况如下所述:
1) 基本模式QCPU 的情况
I0~15、I28~31、I50~127 的中断因子将只被记忆1 次。中断程序执行结束后,执行记忆中断因子的中断程序。
即使发生了多次相同中断因子,可记忆的只有最初的1 次。
从第2 次以后的中断因子将被忽略。
2) 高性能模式QCPU、过程CPU、冗余CPU 的情况
. I0~27、I50~255 的中断因子只被记忆一次。中断程序执行结束后,执行所记忆的中断因子的中断程序。
对于I28~31 以及恒定周期执行类型程序,发生的次数的中断因子将全部被记忆,中断程序执行结束后,执行所记忆的中断因子的中断程序。
. I32~41、I49 的中断因子将被删除。
3) 通用型QCPU的情况
I0~15、I45、I50~255 的中断因子只被记忆一次。中断程序执行结束后,执行所记忆的中断因子的中断程序。
对于I28~31 以及恒定周期执行类型程序,发生的次数的中断因子将全部被记忆,中断程序执行结束后,执行所记忆的中断因子的中断程序。
(e) 正在执行指令的情况
在主程序指令的执行过程中,有时会发生指令的执行处理被中断而执行中断程序的情况。
在主程序与中断程序中重复使用软元件的情况下,有时会发生与软元件数据相背离的情况。
在此时,有必要通过下述对策防止软元件数据的背离:
1) 将软元件数据转移到其它的软元件中
由中断程序写入的软元件不要通过主程序直接指定,应通过传送指令等将其转移到其它的软元件中使用。
2) 通过DI指令禁止中断
对于主程序中如果被中断将发生异常的指令,应通过DI 指令执行中断禁止。
但是,由于在对指令的各个变量的软元件进行存取的过程中没有中断程序进入,因此,不会发生各个变量单位数据背离的情况。
(f) 链接刷新过程中发生了中断的情况
如果在链接刷新过程中发生了中断,将中止链接刷新,执行中断程序。
在MELSECNET/G网络系统或者MELSECNET/H 网络系统中,即使执行了循环数据的站单位块保证,但如果在中断程序中使用了被设置为刷新对象的软元件,将无法进行循环数据的站单位块保证。
在中断程序中,请不要使用刷新对象的软元件。
(5) 变址寄存器以及文件寄存器号的退避与返回
通过CPU 模块的默认值执行中断程序的情况下,在扫描执行类型程序/ 低速度执行类型程序注3.14 与中断程序的切换时,将进行变址寄存器以及文件寄存器的块号的退避与返回。
(6) 中断程序的高速执行的设定与总时间
可编程控制器参数的可编程控制器系统设定中,在选择了中断程序的“高速执行”的情况下,从主程序向中断程序切换时,不进行变址寄存器的退避与返回。可以缩短中断程序的总时间。
(7) 在程序制作上的限制
关于在中断程序制作上的限制的说明。
公司主营三菱PLC,三菱Q系列CPU模块品种齐全,Q01CPU、Q02CPU、Q02HCPU、Q06HCPU、Q12HCPU、Q25HCPU、Q00UCPU、Q01UCPU、Q02UCPU、Q03UDCPU、Q04UDHCPU、Q06UDHCPU、Q10UDHCPU、Q13UDHCPU、Q20UDHCPU、Q26UDHCPU、Q03UDECPU、Q04UDEHCPU、Q06UDEHCPU、Q10UDEHCPU、Q13UDEHCPU、Q20UDEHCPU、Q26UDEHCPU、Q50UDEHCPU、Q100UDEHCPU、Q02PHCPU、Q06PHCPU、Q12PHCPU、Q25PHCPU价格好,大量现货,欢迎选购!