三菱Q系列CPU模塊順控程序的構(gòu)成
三菱Q系列CPU模塊順控程序的構(gòu)成
時間:2016-12-14 來源:未知 作者:admin 點擊:9364次
三菱Q系列CPU模塊順控程序的構(gòu)成
在三菱Q系列CPU模塊中可以執(zhí)行的程序有順控程序、SFC程序、ST程序。
以下介紹下“順控程序”:
順控程序是使用順控程序指令、基本指令、應用指令等制成的程序。

一、順控程序的記述方法
順控程序的編程有梯形圖模式與列表方式的兩種方法。
1、梯形圖模式
梯形圖模式是指以繼電器控制的順控電路為基本著眼點的模式。與順控電路的編程相類似。
梯形圖模式是以梯形圖塊為單位來進行編程。梯形圖塊是進行順控程序運算的最小單位。
梯形圖塊是指從左側(cè)的縱線開始到右側(cè)的縱線結(jié)束的電路。

2、列表方式
列表方式通過使用梯形圖模式中標有記號的觸點、線圈等的專用指令來進行編程。
A觸點、b觸點、線圈變?yōu)槿缦轮噶睢?br /> . a 觸點.... LD,AND,OR
. b 觸點.... LDI,ANI,ORI
. 線圈...... OUT
二、順控程序的運算
順控程序的運算按照從步0 到END/FEND 指令的順序執(zhí)行。
在梯形圖模式的梯形圖塊中按照從左側(cè)的縱線到右側(cè)的縱線,從上到下的順序進行運算。

三、順控程序的分類
順控程序如下被分為主程序、子程序、中斷程序三類。在基本模式QCPU中,由于不能執(zhí)行多個程序的原因,將文件名固定為"MAIN"。
1、主程序
主程序是指從步0到END/FEND指令的程序。
[主程序的執(zhí)行動作]
(1)、只執(zhí)行一個程序的情況
主程序從步0開始執(zhí)行END/FEND指令,進行END處理。在END處理過后再次進行從步0開始的運算。

(2)、執(zhí)行多個程序的情況
執(zhí)行完主程序的END/FEND 指令后的動作,根據(jù)設定的執(zhí)行的條件而會有所不同。
[主程序設定的執(zhí)行類型]
在執(zhí)行多個程序的情況下,主程序與使用用途相對應,有如下五種類型的執(zhí)行程序可以設定。
. 初始執(zhí)行類型程序
. 掃描執(zhí)行類型程序
. 低速度執(zhí)行類型程序
. 備機類型程序
. 恒定周期執(zhí)行類型程序
在只執(zhí)行一個程序之際沒有設定執(zhí)行類型的情況下,主程序以掃描執(zhí)行類型程序進行動作。
2、子程序
子程序是指從指針(P)開始到RET指令的程序。
子程序只有在接到從主程序中調(diào)用子程序的調(diào)用指令(CALL(P)、FCALL(P)等)時才能被執(zhí)行。
[子程序的用途]
通過如下所示的方法使用子程序,可以減少程序的步數(shù)。
. 在一個掃描周期中,通過將多次執(zhí)行的程序制作成子程序,可以減少整體步數(shù)。
. 將只在某種條件成立時才執(zhí)行的程序制作成子程序,可以減少正常執(zhí)行的程序的步數(shù)。
[子程序的管理]
子程序在主程序之后(FEND指令以后)制作。子程序可以作為一個程序進行管理。
(1)、在主程序之后制作的情況
1) 子程序的制作地點
子程序在主程序的FEND指令END指令之間制作。

2) 對制作順序的限制
在制作多個子程序時,沒有必要將指針從小到大號順序排列。
3) 可以使用的指針
在子程序中,可以使用本地指針與公共指針。
但是,在本地指針的情況下,從其它程序不能調(diào)出子程序。
(2)、作為其它程序進行管理時
子程序可以歸結(jié)為一個程序作為其它程序( 備機類型程序)進行管理。
3、中斷程序
中斷程序是指從中斷指針(I)開始到IRET指令的程序。

根據(jù)中斷指針號(I),中斷因子會有不同。
如果出現(xiàn)中斷因子,將執(zhí)行與因子相對應的指針號的中斷程序。(中斷程序只有在出現(xiàn)中斷因子的情況下才會被執(zhí)行)
[中斷程序的中斷時機]

(1)、中斷程序的管理
中斷程序在主程序之后(FEND 指令之后) 制作。
中斷程序可以作為一個程序進行管理。
(a) 在主程序之后制作時
1) 中斷程序的制作場所
中斷程序在主程序的FEND 指令~END指令之間制作。

2) 對制作順序的限制
在制作多個中斷程序時,沒有必要對中斷指針按從小到大順序排列。
(b) 作為其它程序進行管理的情況
中斷程序可以歸結(jié)為一個程序作為其它程序(備機類型程序)進行管理。
(2)、在執(zhí)行中斷程序之前
在執(zhí)行中斷程序時執(zhí)行下述指令,設為允許中斷的狀態(tài)。
(a) 基本模式QCPU 的情況
執(zhí)行EI指令設為允許中斷狀態(tài)。
(b) 高性能模式QCPU、過程CPU、冗余CPU 的情況
執(zhí)行中斷指針I(yè)32~47 的中斷程序時,通過IMASK指令以及EI指令設為允許中斷狀態(tài)。
在通過EI 指令設為中斷允許的狀態(tài)下,中斷指針I(yè)0~31、I48~255的中斷程序可以被執(zhí)行。
(c) 通用型QCPU 的情況
在通過EI指令設為中斷允許的狀態(tài)下,中斷指針I(yè)0~15、I28~31、I45、I50~255的中斷程序可以被執(zhí)行。
(3)、發(fā)生中斷因子時的動作
中斷程序根據(jù)發(fā)生中斷因子的時機會受到限制。
(a) 在允許中斷狀態(tài)之前發(fā)生中斷因子的情況
CPU 模塊會記憶發(fā)生的中斷因子。
在變?yōu)樵试S中斷狀態(tài)的時點,與記憶的中斷因子相對應的中斷程序?qū)⒈粓?zhí)行。

在允許中斷之前多次發(fā)生同一個中斷因子的情況,如下述情形所示。
1) 基本模式QCPU 的情況
I0~15,I28~31,I50~127 的中斷因子只能被記憶一次。
2) 高性能模式QCPU、過程CPU、冗余CPU 的情況
I0~27、I28~31、I50~255 以及恒定周期執(zhí)行型程序的中斷因子只能被記憶一次。
關于I32~41、I49 的中斷因子,在中斷禁止期間發(fā)生時將被刪除。
3) 通用型QCPU 的情況
I0~15、I28~31、I45、I50~255 以及恒定周期執(zhí)行型程序的中斷因子只能被記憶一次。
但是,通過IMASK 指令屏蔽時發(fā)生的中斷因子將全部被刪除。
(b) STOP/PAUSE狀態(tài)下發(fā)生中斷因子的情況
STOP/PAUSE狀態(tài)下發(fā)生中斷因子的情況下,CPU模塊在變?yōu)镽UN狀態(tài)后,在變?yōu)樵试S中斷的時點執(zhí)行與中斷因子相對應的中斷程序。

(c) 在允許中斷狀態(tài)下,同時發(fā)生多個中斷因子的情況。
在優(yōu)先順序中,從與高中斷指針號(I)相對應的中斷程序開始執(zhí)行。
其它的中斷程序?qū)⒁恢钡鹊綀?zhí)行中的中斷程序處理完成。

(d) 發(fā)生了與執(zhí)行中的中斷程序相同的中斷因子時
在執(zhí)行中的程序處理完成之前,發(fā)生了與執(zhí)行中的中斷程序相同的中斷因子的情況如下所述:
1) 基本模式QCPU 的情況
I0~15、I28~31、I50~127 的中斷因子將只被記憶1 次。中斷程序執(zhí)行結(jié)束后,執(zhí)行記憶中斷因子的中斷程序。
即使發(fā)生了多次相同中斷因子,可記憶的只有最初的1 次。
從第2 次以后的中斷因子將被忽略。
2) 高性能模式QCPU、過程CPU、冗余CPU 的情況
. I0~27、I50~255 的中斷因子只被記憶一次。中斷程序執(zhí)行結(jié)束后,執(zhí)行所記憶的中斷因子的中斷程序。
對于I28~31 以及恒定周期執(zhí)行類型程序,發(fā)生的次數(shù)的中斷因子將全部被記憶,中斷程序執(zhí)行結(jié)束后,執(zhí)行所記憶的中斷因子的中斷程序。
. I32~41、I49 的中斷因子將被刪除。
3) 通用型QCPU的情況
I0~15、I45、I50~255 的中斷因子只被記憶一次。中斷程序執(zhí)行結(jié)束后,執(zhí)行所記憶的中斷因子的中斷程序。
對于I28~31 以及恒定周期執(zhí)行類型程序,發(fā)生的次數(shù)的中斷因子將全部被記憶,中斷程序執(zhí)行結(jié)束后,執(zhí)行所記憶的中斷因子的中斷程序。
(e) 正在執(zhí)行指令的情況
在主程序指令的執(zhí)行過程中,有時會發(fā)生指令的執(zhí)行處理被中斷而執(zhí)行中斷程序的情況。
在主程序與中斷程序中重復使用軟元件的情況下,有時會發(fā)生與軟元件數(shù)據(jù)相背離的情況。
在此時,有必要通過下述對策防止軟元件數(shù)據(jù)的背離:
1) 將軟元件數(shù)據(jù)轉(zhuǎn)移到其它的軟元件中
由中斷程序?qū)懭氲能浽灰ㄟ^主程序直接指定,應通過傳送指令等將其轉(zhuǎn)移到其它的軟元件中使用。
2) 通過DI指令禁止中斷
對于主程序中如果被中斷將發(fā)生異常的指令,應通過DI 指令執(zhí)行中斷禁止。
但是,由于在對指令的各個變量的軟元件進行存取的過程中沒有中斷程序進入,因此,不會發(fā)生各個變量單位數(shù)據(jù)背離的情況。
(f) 鏈接刷新過程中發(fā)生了中斷的情況
如果在鏈接刷新過程中發(fā)生了中斷,將中止鏈接刷新,執(zhí)行中斷程序。
在MELSECNET/G網(wǎng)絡系統(tǒng)或者MELSECNET/H 網(wǎng)絡系統(tǒng)中,即使執(zhí)行了循環(huán)數(shù)據(jù)的站單位塊保證,但如果在中斷程序中使用了被設置為刷新對象的軟元件,將無法進行循環(huán)數(shù)據(jù)的站單位塊保證。
在中斷程序中,請不要使用刷新對象的軟元件。
(5) 變址寄存器以及文件寄存器號的退避與返回
通過CPU 模塊的默認值執(zhí)行中斷程序的情況下,在掃描執(zhí)行類型程序/ 低速度執(zhí)行類型程序注3.14 與中斷程序的切換時,將進行變址寄存器以及文件寄存器的塊號的退避與返回。
(6) 中斷程序的高速執(zhí)行的設定與總時間
可編程控制器參數(shù)的可編程控制器系統(tǒng)設定中,在選擇了中斷程序的“高速執(zhí)行”的情況下,從主程序向中斷程序切換時,不進行變址寄存器的退避與返回??梢钥s短中斷程序的總時間。
(7) 在程序制作上的限制
在三菱Q系列CPU模塊中可以執(zhí)行的程序有順控程序、SFC程序、ST程序。
以下介紹下“順控程序”:
順控程序是使用順控程序指令、基本指令、應用指令等制成的程序。

一、順控程序的記述方法
順控程序的編程有梯形圖模式與列表方式的兩種方法。
1、梯形圖模式
梯形圖模式是指以繼電器控制的順控電路為基本著眼點的模式。與順控電路的編程相類似。
梯形圖模式是以梯形圖塊為單位來進行編程。梯形圖塊是進行順控程序運算的最小單位。
梯形圖塊是指從左側(cè)的縱線開始到右側(cè)的縱線結(jié)束的電路。

2、列表方式
列表方式通過使用梯形圖模式中標有記號的觸點、線圈等的專用指令來進行編程。
A觸點、b觸點、線圈變?yōu)槿缦轮噶睢?br /> . a 觸點.... LD,AND,OR
. b 觸點.... LDI,ANI,ORI
. 線圈...... OUT
二、順控程序的運算
順控程序的運算按照從步0 到END/FEND 指令的順序執(zhí)行。
在梯形圖模式的梯形圖塊中按照從左側(cè)的縱線到右側(cè)的縱線,從上到下的順序進行運算。

三、順控程序的分類
順控程序如下被分為主程序、子程序、中斷程序三類。在基本模式QCPU中,由于不能執(zhí)行多個程序的原因,將文件名固定為"MAIN"。
1、主程序
主程序是指從步0到END/FEND指令的程序。
[主程序的執(zhí)行動作]
(1)、只執(zhí)行一個程序的情況
主程序從步0開始執(zhí)行END/FEND指令,進行END處理。在END處理過后再次進行從步0開始的運算。

(2)、執(zhí)行多個程序的情況
執(zhí)行完主程序的END/FEND 指令后的動作,根據(jù)設定的執(zhí)行的條件而會有所不同。
[主程序設定的執(zhí)行類型]
在執(zhí)行多個程序的情況下,主程序與使用用途相對應,有如下五種類型的執(zhí)行程序可以設定。
. 初始執(zhí)行類型程序
. 掃描執(zhí)行類型程序
. 低速度執(zhí)行類型程序
. 備機類型程序
. 恒定周期執(zhí)行類型程序
在只執(zhí)行一個程序之際沒有設定執(zhí)行類型的情況下,主程序以掃描執(zhí)行類型程序進行動作。
2、子程序
子程序是指從指針(P)開始到RET指令的程序。
子程序只有在接到從主程序中調(diào)用子程序的調(diào)用指令(CALL(P)、FCALL(P)等)時才能被執(zhí)行。
[子程序的用途]
通過如下所示的方法使用子程序,可以減少程序的步數(shù)。
. 在一個掃描周期中,通過將多次執(zhí)行的程序制作成子程序,可以減少整體步數(shù)。
. 將只在某種條件成立時才執(zhí)行的程序制作成子程序,可以減少正常執(zhí)行的程序的步數(shù)。
[子程序的管理]
子程序在主程序之后(FEND指令以后)制作。子程序可以作為一個程序進行管理。
(1)、在主程序之后制作的情況
1) 子程序的制作地點
子程序在主程序的FEND指令END指令之間制作。

2) 對制作順序的限制
在制作多個子程序時,沒有必要將指針從小到大號順序排列。
3) 可以使用的指針
在子程序中,可以使用本地指針與公共指針。
但是,在本地指針的情況下,從其它程序不能調(diào)出子程序。
(2)、作為其它程序進行管理時
子程序可以歸結(jié)為一個程序作為其它程序( 備機類型程序)進行管理。
3、中斷程序
中斷程序是指從中斷指針(I)開始到IRET指令的程序。

根據(jù)中斷指針號(I),中斷因子會有不同。
如果出現(xiàn)中斷因子,將執(zhí)行與因子相對應的指針號的中斷程序。(中斷程序只有在出現(xiàn)中斷因子的情況下才會被執(zhí)行)
[中斷程序的中斷時機]

(1)、中斷程序的管理
中斷程序在主程序之后(FEND 指令之后) 制作。
中斷程序可以作為一個程序進行管理。
(a) 在主程序之后制作時
1) 中斷程序的制作場所
中斷程序在主程序的FEND 指令~END指令之間制作。

2) 對制作順序的限制
在制作多個中斷程序時,沒有必要對中斷指針按從小到大順序排列。
(b) 作為其它程序進行管理的情況
中斷程序可以歸結(jié)為一個程序作為其它程序(備機類型程序)進行管理。
(2)、在執(zhí)行中斷程序之前
在執(zhí)行中斷程序時執(zhí)行下述指令,設為允許中斷的狀態(tài)。
(a) 基本模式QCPU 的情況
執(zhí)行EI指令設為允許中斷狀態(tài)。
(b) 高性能模式QCPU、過程CPU、冗余CPU 的情況
執(zhí)行中斷指針I(yè)32~47 的中斷程序時,通過IMASK指令以及EI指令設為允許中斷狀態(tài)。
在通過EI 指令設為中斷允許的狀態(tài)下,中斷指針I(yè)0~31、I48~255的中斷程序可以被執(zhí)行。
(c) 通用型QCPU 的情況
在通過EI指令設為中斷允許的狀態(tài)下,中斷指針I(yè)0~15、I28~31、I45、I50~255的中斷程序可以被執(zhí)行。
(3)、發(fā)生中斷因子時的動作
中斷程序根據(jù)發(fā)生中斷因子的時機會受到限制。
(a) 在允許中斷狀態(tài)之前發(fā)生中斷因子的情況
CPU 模塊會記憶發(fā)生的中斷因子。
在變?yōu)樵试S中斷狀態(tài)的時點,與記憶的中斷因子相對應的中斷程序?qū)⒈粓?zhí)行。

在允許中斷之前多次發(fā)生同一個中斷因子的情況,如下述情形所示。
1) 基本模式QCPU 的情況
I0~15,I28~31,I50~127 的中斷因子只能被記憶一次。
2) 高性能模式QCPU、過程CPU、冗余CPU 的情況
I0~27、I28~31、I50~255 以及恒定周期執(zhí)行型程序的中斷因子只能被記憶一次。
關于I32~41、I49 的中斷因子,在中斷禁止期間發(fā)生時將被刪除。
3) 通用型QCPU 的情況
I0~15、I28~31、I45、I50~255 以及恒定周期執(zhí)行型程序的中斷因子只能被記憶一次。
但是,通過IMASK 指令屏蔽時發(fā)生的中斷因子將全部被刪除。
(b) STOP/PAUSE狀態(tài)下發(fā)生中斷因子的情況
STOP/PAUSE狀態(tài)下發(fā)生中斷因子的情況下,CPU模塊在變?yōu)镽UN狀態(tài)后,在變?yōu)樵试S中斷的時點執(zhí)行與中斷因子相對應的中斷程序。

(c) 在允許中斷狀態(tài)下,同時發(fā)生多個中斷因子的情況。
在優(yōu)先順序中,從與高中斷指針號(I)相對應的中斷程序開始執(zhí)行。
其它的中斷程序?qū)⒁恢钡鹊綀?zhí)行中的中斷程序處理完成。

(d) 發(fā)生了與執(zhí)行中的中斷程序相同的中斷因子時
在執(zhí)行中的程序處理完成之前,發(fā)生了與執(zhí)行中的中斷程序相同的中斷因子的情況如下所述:
1) 基本模式QCPU 的情況
I0~15、I28~31、I50~127 的中斷因子將只被記憶1 次。中斷程序執(zhí)行結(jié)束后,執(zhí)行記憶中斷因子的中斷程序。
即使發(fā)生了多次相同中斷因子,可記憶的只有最初的1 次。
從第2 次以后的中斷因子將被忽略。
2) 高性能模式QCPU、過程CPU、冗余CPU 的情況
. I0~27、I50~255 的中斷因子只被記憶一次。中斷程序執(zhí)行結(jié)束后,執(zhí)行所記憶的中斷因子的中斷程序。
對于I28~31 以及恒定周期執(zhí)行類型程序,發(fā)生的次數(shù)的中斷因子將全部被記憶,中斷程序執(zhí)行結(jié)束后,執(zhí)行所記憶的中斷因子的中斷程序。
. I32~41、I49 的中斷因子將被刪除。
3) 通用型QCPU的情況
I0~15、I45、I50~255 的中斷因子只被記憶一次。中斷程序執(zhí)行結(jié)束后,執(zhí)行所記憶的中斷因子的中斷程序。
對于I28~31 以及恒定周期執(zhí)行類型程序,發(fā)生的次數(shù)的中斷因子將全部被記憶,中斷程序執(zhí)行結(jié)束后,執(zhí)行所記憶的中斷因子的中斷程序。
(e) 正在執(zhí)行指令的情況
在主程序指令的執(zhí)行過程中,有時會發(fā)生指令的執(zhí)行處理被中斷而執(zhí)行中斷程序的情況。
在主程序與中斷程序中重復使用軟元件的情況下,有時會發(fā)生與軟元件數(shù)據(jù)相背離的情況。
在此時,有必要通過下述對策防止軟元件數(shù)據(jù)的背離:
1) 將軟元件數(shù)據(jù)轉(zhuǎn)移到其它的軟元件中
由中斷程序?qū)懭氲能浽灰ㄟ^主程序直接指定,應通過傳送指令等將其轉(zhuǎn)移到其它的軟元件中使用。
2) 通過DI指令禁止中斷
對于主程序中如果被中斷將發(fā)生異常的指令,應通過DI 指令執(zhí)行中斷禁止。
但是,由于在對指令的各個變量的軟元件進行存取的過程中沒有中斷程序進入,因此,不會發(fā)生各個變量單位數(shù)據(jù)背離的情況。
(f) 鏈接刷新過程中發(fā)生了中斷的情況
如果在鏈接刷新過程中發(fā)生了中斷,將中止鏈接刷新,執(zhí)行中斷程序。
在MELSECNET/G網(wǎng)絡系統(tǒng)或者MELSECNET/H 網(wǎng)絡系統(tǒng)中,即使執(zhí)行了循環(huán)數(shù)據(jù)的站單位塊保證,但如果在中斷程序中使用了被設置為刷新對象的軟元件,將無法進行循環(huán)數(shù)據(jù)的站單位塊保證。
在中斷程序中,請不要使用刷新對象的軟元件。
(5) 變址寄存器以及文件寄存器號的退避與返回
通過CPU 模塊的默認值執(zhí)行中斷程序的情況下,在掃描執(zhí)行類型程序/ 低速度執(zhí)行類型程序注3.14 與中斷程序的切換時,將進行變址寄存器以及文件寄存器的塊號的退避與返回。
(6) 中斷程序的高速執(zhí)行的設定與總時間
可編程控制器參數(shù)的可編程控制器系統(tǒng)設定中,在選擇了中斷程序的“高速執(zhí)行”的情況下,從主程序向中斷程序切換時,不進行變址寄存器的退避與返回??梢钥s短中斷程序的總時間。
(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價格好,大量現(xiàn)貨,歡迎選購!
本頁關鍵詞:順控程序,三菱Q系列CPU模塊