本發(fā)明涉及一種經(jīng)由通信網(wǎng)絡(luò)可與其他可編程序控制器連接的可編程序控制器及具備其的系統(tǒng)。
背景技術(shù):
通常在進(jìn)行機(jī)械加工或組裝的工廠中,在以組合了機(jī)床、工業(yè)機(jī)器人等的單位作為加工單元(cell)的控制中正使用著可編程序控制器。另外,作為生產(chǎn)系統(tǒng)整體,根據(jù)系統(tǒng)規(guī)模,大多情況下由多個(gè)可編程序控制器構(gòu)成,各個(gè)加工單元的可編程序控制器經(jīng)由以太網(wǎng)(注冊(cè)商標(biāo))或fl-net等通信網(wǎng)絡(luò)而與其他可編程序控制器相互連接,由此進(jìn)行可編程序控制器之間的通信。
在各個(gè)加工單元中實(shí)施的處理相同的情況下,作為向如上所述互相連接的各個(gè)可編程序控制器傳送順序程序的方法,例如已知專利文獻(xiàn)1公開的方法。在專利文獻(xiàn)1中公開了如下技術(shù):經(jīng)由傳送路線與多個(gè)可編程序控制器連接的程序維護(hù)工具,具備用于判斷被指定的可編程序控制器是否與其他可編程序控制器多重化的多重化判斷功能,并且通過一次操作來一并進(jìn)行向被多重化的各個(gè)可編程序控制器傳送順序程序。
現(xiàn)有技術(shù)文獻(xiàn)
專利文獻(xiàn)
專利文獻(xiàn)1:日本特開2012-202484號(hào)公報(bào)
技術(shù)實(shí)現(xiàn)要素:
發(fā)明要解決的問題
但是,實(shí)際上,如圖12(a)至圖12(c)所示,例如在各加工單元實(shí)施的處理中,即使基本的處理共同,但由于在各加工單元中所使用的機(jī)床或工業(yè)機(jī)器人等的結(jié)構(gòu)上的原因,一部分處理大多不同。
專利文獻(xiàn)1的傳送方法,由于將各可編程序控制器被多重化的系統(tǒng)作為前提,因此即使在傳送僅修改一部分的順序程序的情況下,也需要將順序程序整體傳送到各個(gè)可編程序控制器。因此,在將順序程序的一部分與其他可編程序控制器的順序程序進(jìn)行比較而存在差異部分的情況下,無法僅發(fā)送作為順序程序一部分的修改部位使得該差異部分不被蓋寫。
因此,在需要修改所述順序程序的情況下,例如即使對(duì)各個(gè)順序程序所包含的共用電路(梯形電路)進(jìn)行修改,也需要單獨(dú)對(duì)各個(gè)可編程序控制器的順序程序進(jìn)行修改。而且在該情況下,如果加工單元的數(shù)量增加,則存在如下問題:作為順序程序的修改對(duì)象的可編程序控制器的確認(rèn)和每一個(gè)可編程序控制器中的順序程序的修改,需要很多時(shí)間。
本發(fā)明鑒于上述情況而做出,其目的在于,提供一種能夠縮短順序程序的修改時(shí)間,并且能夠提高包含可編程序控制器的系統(tǒng)的維護(hù)性的可編程序控制器及具備其的系統(tǒng)。
解決問題的方案
為實(shí)現(xiàn)上述目的,本發(fā)明提供以下方案。
本發(fā)明的第一方案是一種可編程序控制器,經(jīng)由通信網(wǎng)絡(luò)能夠與其他可編程序控制器相連接,其具備儲(chǔ)存順序程序的存儲(chǔ)部、以及控制部,該控制部具備:順序程序修改部,其修改所述順序程序;修改信息獲取部,其從已修改的所述順序程序獲取修改部位和修改內(nèi)容;對(duì)應(yīng)電路詢問部,其從修改前的順序程序提取所述修改部位附近的第一電路,并且對(duì)所述其他可編程序控制器,進(jìn)行與所述第一電路相對(duì)應(yīng)的電路是否包含在所述其他可編程序控制器的順序程序中的詢問;以及修改內(nèi)容發(fā)送部,其針對(duì)該對(duì)應(yīng)電路詢問部的所述詢問,只在從所述其他可編程序控制器接收到包含與所述第一電路相對(duì)應(yīng)的電路的應(yīng)答的情況下,向所述其他可編程序控制器發(fā)送所述修改內(nèi)容。
根據(jù)上述第一方案的可編程序控制器,如果由順序程序修改部修改順序程序,則已修改的順序程序的修改部位和修改內(nèi)容被修改信息獲取部獲取,并且通過對(duì)應(yīng)電路詢問部從修改前的順序程序提取修改部位附近的第一電路,而且對(duì)其他可編程序控制器進(jìn)行是否具有包含與該第一電路相對(duì)應(yīng)的電路的順序程序的詢問。而且,進(jìn)行詢問的結(jié)果,通過修改內(nèi)容發(fā)送部只向做出包含與第一電路相對(duì)應(yīng)的電路的應(yīng)答的其他可編程序控制器發(fā)送修改內(nèi)容。
據(jù)此,能夠自動(dòng)地向具有與修改部位附近相對(duì)應(yīng)的電路的可編程序控制器傳遞順序程序的修改內(nèi)容。其結(jié)果,在修改順序程序時(shí),由于無需單獨(dú)對(duì)經(jīng)由通信網(wǎng)絡(luò)相連接的多個(gè)可編程序控制器的每一個(gè)順序程序進(jìn)行修改,因此,能夠?qū)崿F(xiàn)順序程序的修改時(shí)間的縮短化,另外,能夠提高包括多個(gè)可編程序控制器的系統(tǒng)整體的維護(hù)性。
在根據(jù)上述第一方案的可編程序控制器中,所述控制部也可以具備:對(duì)應(yīng)電路檢索部,其從所述其他可編程序控制器接收所述其他可編程序控制器的順序程序所包含的第二電路是否包含在所述順序程序中的詢問,并且從所述順序程序中檢索與所述第二電路相對(duì)應(yīng)的電路,對(duì)所述其他可編程序控制器進(jìn)行與所述第二電路相對(duì)應(yīng)的電路是否包含在所述順序程序中的應(yīng)答;以及順序程序更新部,其從所述其他可編程序控制器接收所述修改內(nèi)容,并利用該修改內(nèi)容對(duì)與所述第二電路相對(duì)應(yīng)的電路進(jìn)行更新。
根據(jù)該結(jié)構(gòu),通過對(duì)應(yīng)電路檢索部,從順序程序中檢索出與第二電路相對(duì)應(yīng)的電路,并對(duì)其他可編程序控制器進(jìn)行與該第二電路相對(duì)應(yīng)的電路是否包含在順序程序中的應(yīng)答。而且,在包含于順序程序中的情況下,通過順序程序更新部利用從其他可編程序控制器接收到的修改內(nèi)容進(jìn)行更新。
據(jù)此,由于自動(dòng)地對(duì)與在其他可編程序控制器中被修改的第二電路相對(duì)應(yīng)的電路進(jìn)行更新,因此能夠縮短順序程序的修改時(shí)間,另外,能夠提高包括多個(gè)可編程序控制器的系統(tǒng)整體的維護(hù)性。
本發(fā)明的第二方案是一種系統(tǒng),用于修改順序程序,具備經(jīng)由所述通信網(wǎng)絡(luò)互相連接的多臺(tái)上述可編程序控制器。
本發(fā)明的第三方案是一種可編程序控制器,經(jīng)由通信網(wǎng)絡(luò)能夠與其他可編程序控制器及對(duì)這些可編程序控制器進(jìn)行總括的控制器連接,其包括:存儲(chǔ)部,其儲(chǔ)存順序程序;以及控制部,該控制部具備:順序程序修改部,其修改所述順序程序;修改信息獲取部,其從已修改的所述順序程序獲取修改部位和修改內(nèi)容;對(duì)應(yīng)電路詢問部,其從修改前的順序程序提取所述修改部位附近的電路,并對(duì)所述控制器,進(jìn)行與所述電路相對(duì)應(yīng)的電路是否包含在所述其他可編程序控制器的順序程序中的詢問;以及修改內(nèi)容發(fā)送部,其針對(duì)該對(duì)應(yīng)電路詢問部的所述詢問,只在從所述控制器接收到具備與所述電路相對(duì)應(yīng)的電路的應(yīng)答的情況下,向所述其他可編程序控制器發(fā)送所述修改內(nèi)容。
根據(jù)上述第三方案的可編程序控制器,如果通過順序程序修改部修改順序程序,則已修改的順序程序的修改部位和修改內(nèi)容被修改信息獲取部獲取,并且通過對(duì)應(yīng)電路詢問部,從修改前的順序程序提取修改部位附近的第一電路,而且對(duì)總括這些可編程序控制器的控制器,進(jìn)行其他可編程序控制器是否具有包含與該第一電路相對(duì)應(yīng)的電路的順序程序的詢問。而且,進(jìn)行詢問的結(jié)果,通過修改內(nèi)容發(fā)送部?jī)H向做出包含與第一電路相對(duì)應(yīng)的電路的應(yīng)答的其他可編程序控制器發(fā)送修改內(nèi)容。
據(jù)此,能夠自動(dòng)地向具有與修改部位附近相對(duì)應(yīng)的電路的可編程序控制器傳遞順序程序的修改內(nèi)容。其結(jié)果,在修改順序程序時(shí),由于無需單獨(dú)對(duì)經(jīng)由通信網(wǎng)絡(luò)相連接的多個(gè)可編程序控制器的每一個(gè)順序程序進(jìn)行修改,因此,能夠縮短順序程序的修改時(shí)間,另外,能夠提高包括多個(gè)可編程序控制器的系統(tǒng)整體的維護(hù)性。
在上述第三方案的可編程序控制器中,所述控制部也可以具備:順序程序發(fā)送部,其根據(jù)來自所述控制器的請(qǐng)求,將所述順序程序的復(fù)制品向所述控制器發(fā)送;以及順序程序更新部,其從所述其他可編程序控制器接收所述修改內(nèi)容,并利用該修改內(nèi)容更新所述順序程序。
根據(jù)該結(jié)構(gòu),與上述第一方案的可編程序控制器相比,由于能夠減少可編程序控制器中實(shí)施的處理,因此能夠抑制可編程序控制器的cpu負(fù)載。
本發(fā)明的第四方案是一種系統(tǒng),用于修改順序程序,該系統(tǒng)具備:多臺(tái)上述可編程序控制器,其經(jīng)由所述通信網(wǎng)絡(luò)互相連接;控制器,其經(jīng)由所述通信網(wǎng)絡(luò)與該可編程序控制器相連接,并且總括所述可編程序控制器,該控制器具備:順序程序請(qǐng)求部,其從一個(gè)可編程序控制器接收所述詢問,并對(duì)所述其他可編程序控制器請(qǐng)求發(fā)送所述順序程序的復(fù)制品;以及應(yīng)答部,其從所述順序程序的復(fù)制品中檢索與所述電路相對(duì)應(yīng)的電路,并對(duì)所述一個(gè)可編程序控制器和其他可編程序控制器,進(jìn)行與所述電路相對(duì)應(yīng)的電路是否包含在各個(gè)所述順序程序的復(fù)制品中的應(yīng)答。
發(fā)明效果
根據(jù)本發(fā)明,起到能夠縮短順序程序的修改時(shí)間,并能夠提高包括可編程序控制器的系統(tǒng)的維護(hù)性的效果。
附圖說明
圖1是表示本發(fā)明一個(gè)實(shí)施方式的可編程序控制器的概略結(jié)構(gòu)的方框圖。
圖2是表示本發(fā)明第一實(shí)施方式的系統(tǒng)的概略結(jié)構(gòu)的方框圖。
圖3是用于說明圖2中的系統(tǒng)所具備的可編程序控制器的功能塊的圖。
圖4是表示順序程序的一例的圖,(a)是表示修改后的順序程序的圖,(b)是表示修改前的順序程序的圖。
圖5是表示圖2中的系統(tǒng)所具備的、修改順序程序的可編程序控制器中的處理順序的流程圖。
圖6是表示圖2中的系統(tǒng)所具的、更新順序程序的可編程序控制器中的處理順序的流程圖。
圖7是表示本發(fā)明第二實(shí)施方式的系統(tǒng)的概略結(jié)構(gòu)的方框圖。
圖8是圖7中的系統(tǒng)所具備的可編程序控制器的功能方框圖。
圖9是表示圖7中的系統(tǒng)所具備的、修改順序程序的可編程序控制器中的處理順序的流程圖。
圖10是表示對(duì)圖7中的系統(tǒng)所具備的可編程序控制器進(jìn)行總括的控制器中的處理順序的流程圖。
圖11是表示圖7中的系統(tǒng)所具備的、更新順序程序的可編程序控制器中的處理順序的流程圖。
圖12是表示順序程序的一例的圖,(a)是表示基本的處理的梯形圖,(b)和(c)是表示其變形例的梯形圖。
附圖標(biāo)記說明:
1可編程序控制器
2通信網(wǎng)絡(luò)
11cpu(控制部)
13ram(存儲(chǔ)部)
111順序程序修改部
112修改信息獲取部
113、117對(duì)應(yīng)電路詢問部
114、118修改內(nèi)容發(fā)送部
115對(duì)應(yīng)電路檢索部
116順序程序更新部
119順序程序發(fā)送部
具體實(shí)施方式
以下,參照附圖說明本發(fā)明一個(gè)實(shí)施方式的可編程序控制器(以下,稱為plc(programmablelogiccontroller))及具備其的系統(tǒng)。
圖1是表示本實(shí)施方式的plc1的概略結(jié)構(gòu)的方框圖。如圖1所示,plc1具備:cpu(centralprocessingunit)(控制部)11;作為主存儲(chǔ)裝置的rom(readonlymemory)12和ram(randomaccessmemory)(存儲(chǔ)部)13;作為輔助存儲(chǔ)裝置的非易失性存儲(chǔ)器14;外部接口15;顯示控制器16;mdi(manualdatainput)控制器17;外部信號(hào)接口18;以及通信接口19等。在ram13儲(chǔ)存有順序程序,通過cpu11讀入儲(chǔ)存于ram13的順序程序的命令并實(shí)施來實(shí)現(xiàn)各種處理。
[第一實(shí)施方式]
圖2是表示本發(fā)明第一實(shí)施方式的系統(tǒng)10的概略結(jié)構(gòu)的方框圖。如圖2所示,系統(tǒng)10具備與由機(jī)床、工業(yè)機(jī)器人等構(gòu)成的加工單元#1至加工單元#n的每一個(gè)相對(duì)應(yīng)的、由plc#1至plc#n所示的多臺(tái)plc1。分別實(shí)施儲(chǔ)存于plc#1至plc#n的ram13的順序程序#1至順序程序#n,由此分別進(jìn)行加工單元#1至加工單元#n的控制。另外,plc#1至plc#n互相經(jīng)由以太網(wǎng)(注冊(cè)商標(biāo))或fl-net等通信網(wǎng)絡(luò)相連接,由此在plc1之間進(jìn)行各種數(shù)據(jù)交換。
此外,為了便于說明,在圖2中示出n≥4的n組加工單元和plc1的一例,但并不限于此,只要是至少多個(gè)加工單元和plc1的組合即可。
圖3用于說明plc1的功能塊的圖。如圖3所示,plc1的cpu11具備:順序程序修改部111,其用于修改ram13的順序程序;修改信息獲取部112,其基于修改前后的順序程序,獲取順序程序的修改部位和修改內(nèi)容;對(duì)應(yīng)電路詢問部113,其從修改前的順序程序提取修改部位附近的梯形電路,對(duì)經(jīng)由通信網(wǎng)絡(luò)2相連接的其他plc1進(jìn)行與該梯形電路相對(duì)應(yīng)的梯形電路是否包含在其他plc1的順序程序中的詢問;修改內(nèi)容發(fā)送部114,其將修改內(nèi)容向其他plc1發(fā)送;對(duì)應(yīng)電路檢索部115,其檢索從其他plc1接收詢問的梯形電路是否包含在順序程序中,并將該檢索結(jié)果向其他plc1發(fā)送;以及順序程序更新部116,其根據(jù)來自其他plc1的請(qǐng)求,對(duì)儲(chǔ)存于ram13的順序程序進(jìn)行更新。
以下,對(duì)如此構(gòu)成的本實(shí)施方式的plc1和系統(tǒng)10的作用進(jìn)行說明。參照?qǐng)D3的方框圖以及圖5和圖6的流程圖,對(duì)本實(shí)施方式中,在圖2所示的plc#1的順序程序#1被修改的情況下,其他plc#2至#n的順序程序#2至#n自動(dòng)地被更新的處理順序進(jìn)行說明。
plc#1,在初始狀態(tài)下待機(jī)直至從外部接收順序程序#1的修改請(qǐng)求為止(圖5的步驟sa1)。如果接收修改請(qǐng)求,則在ram13內(nèi)制作修改前的順序程序#1的復(fù)制(圖5的步驟sa2)。之后,進(jìn)行順序程序#1的修改(圖5的步驟sa3)。在本實(shí)施方式中,為了簡(jiǎn)化,如圖4(a)所示,例如設(shè)想進(jìn)行配置于最上段的橫檔(rung)的接點(diǎn)形成“或”(or)電路的修改。
如果順序程序#1的修改結(jié)束(圖5的步驟sa4),則在修改信息獲取部112中獲取順序程序#1的修改部位和修改內(nèi)容(圖5的步驟sa5)。修改部位和修改內(nèi)容,例如通過對(duì)復(fù)制并儲(chǔ)存于ram13的修改前的順序程序#1和修改后的順序程序#1進(jìn)行比較來獲取也可。
接著,在對(duì)應(yīng)電路詢問部113中,基于由修改信息獲取部112獲取的修改部位和儲(chǔ)存于ram13的修改前的順序程序#1,從修改前的順序程序#1提取修改部位附近的梯形電路(第一電路),并且對(duì)其他plc#2至plc#n,進(jìn)行與該梯形電路相對(duì)應(yīng)的梯形電路是否包含在其他plc#2至plc#n的順序程序中的詢問(圖5的步驟sa6)。
之后,plc#1處于待機(jī)狀態(tài),直至從所有plc#2至#n接收針對(duì)詢問的回答為止(圖5的步驟sa7)。
在本實(shí)施方式中,如圖4(b)所示,作為修改部位附近的梯形電路,設(shè)定了包括修改部位的兩根橫檔部分,但并不限于此,可以根據(jù)對(duì)順序程序中的哪個(gè)范圍的梯形電路進(jìn)行更新等進(jìn)行變更。
另外,在順序程序由多個(gè)程序構(gòu)成的情況下,代替提取修改部位附近的梯形電路,提取已修改的程序的程序名,并且對(duì)其他plc#2至plc#n,進(jìn)行具有該程序名的程序是否包含在其他plc#2至plc#n的順序程序中的詢問也可。
如果從plc#1經(jīng)由通信網(wǎng)絡(luò)2接收上述詢問,則plc#2解除待機(jī)狀態(tài)(圖6的步驟sb1),在對(duì)應(yīng)電路檢索部115中,檢索儲(chǔ)存于plc#2的順序程序#2的內(nèi)部(圖6的步驟sb2),判定是否包含與從plc#1接收詢問的梯形電路(第二電路)相對(duì)應(yīng)的梯形電路(圖6的步驟sb3)。
在對(duì)應(yīng)電路檢索部115中,原則上,在構(gòu)成從順序程序#1提取的梯形電路的所有要素與包含在順序程序#2中的梯形電路相同的情況下,判定順序程序#2包含與順序程序#1相對(duì)應(yīng)的梯形電路,但并不限于此,在構(gòu)成從順序程序#1提取的梯形電路的部分要素與順序程序#2的一部分相同的情況下,判定順序程序#2包含相對(duì)應(yīng)的梯形電路也可。
另外,在由多個(gè)程序構(gòu)成的順序程序中,在上述詢問為是否包含具有指定的程序名的程序的詢問的情況下,當(dāng)具有與指定的程序名相同的程序名的程序存在于順序程序#2中時(shí),判定順序程序#2包含相對(duì)應(yīng)的梯形電路。
在對(duì)應(yīng)電路檢索部115中,在判定為包含與從plc#1接收詢問的梯形電路相對(duì)應(yīng)的梯形電路的情況下,plc#2向plc#1發(fā)送包含相對(duì)應(yīng)的梯形電路的宗旨的應(yīng)答(圖6的步驟sb4),并處于待機(jī)狀態(tài)直至從plc#1發(fā)送修改內(nèi)容為止(圖6的步驟sb6)。另一方面,在判定為不包含相對(duì)應(yīng)的梯形電路的情況下,plc#2向plc#1發(fā)送不包含相對(duì)應(yīng)的梯形電路的宗旨的應(yīng)答(圖6的步驟sb5),并結(jié)束處理。
雖未圖示,同樣地,從plc#1接收詢問的plc#3至plc#n,也在對(duì)應(yīng)電路檢索部115中,分別檢索儲(chǔ)存于plc#3至plc#n的順序程序#3至順序程序#n的內(nèi)部,并判定是否包含與從plc#1接收詢問的梯形電路相對(duì)應(yīng)的梯形電路。而且,在對(duì)應(yīng)電路檢索部115中,在判定為包含與從plc#1接收詢問的梯形電路相對(duì)應(yīng)的梯形電路的情況下,plc#3至plc#n分別向plc#1發(fā)送包含相對(duì)應(yīng)的梯形電路的宗旨的應(yīng)答,并處于待機(jī)狀態(tài)直至從plc#1發(fā)送修改內(nèi)容為止。另一方面,在判定為不包含相對(duì)應(yīng)的梯形電路的情況下,plc#3至plc#n向plc#1發(fā)送不包含相對(duì)應(yīng)的電路的宗旨的應(yīng)答(圖6的步驟sb5),并結(jié)束處理。
接著,如果處于待機(jī)狀態(tài)的plc#1從所有其他plc#2至plc#n接收針對(duì)詢問的應(yīng)答,則解除待機(jī)狀態(tài)(圖5的步驟sa7),在修改內(nèi)容發(fā)送部114,只向plc#2至plc#n中存在包含相對(duì)應(yīng)的電路的宗旨的應(yīng)答的plc,發(fā)送由修改信息獲取部112獲取的修改內(nèi)容(圖5的步驟sa8)。
如果plc#2至#n中處于待機(jī)狀態(tài)的plc接收來自plc#1的修改內(nèi)容,則在順序程序更新部116中,利用接收到的修改內(nèi)容更新相對(duì)應(yīng)的電路(圖6的步驟sb7)。
如此,在本實(shí)施方式中,修改了順序程序#1的部分梯形電路的plc#1向其他plc#2至#n,詢問是否具有與順序程序#1的部分梯形電路相對(duì)應(yīng)的梯形電路,并且只向具有與順序程序#1的部分梯形電路相對(duì)應(yīng)的電路的plc發(fā)送修改內(nèi)容。
據(jù)此,在經(jīng)由通信網(wǎng)絡(luò)相連接的多臺(tái)plc1中,在一個(gè)plc1的順序程序的部分梯形電路被修改的情況下,能夠自動(dòng)地對(duì)與該部分梯形電路相對(duì)應(yīng)的其他plc1的順序程序的部分梯形電路進(jìn)行修改。由此,無需單獨(dú)對(duì)每一個(gè)plc修改順序程序,因此能夠大幅度地縮短修改順序程序所需的時(shí)間。另外,無需對(duì)哪個(gè)plc的哪個(gè)部位包含共同的梯形電路進(jìn)行管理,從而能夠提高修改順序程序時(shí)的維護(hù)性。
[第二實(shí)施方式]
接著,基于圖7至圖11說明本發(fā)明的第二實(shí)施方式的系統(tǒng)20。此外,在圖7和圖8中,對(duì)與圖2和圖3所示的第一實(shí)施方式的結(jié)構(gòu)相同的部分標(biāo)注相同的附圖標(biāo)記,并省略其詳細(xì)說明。
圖7是示出系統(tǒng)20的概略結(jié)構(gòu)的方框圖。如圖7所示,系統(tǒng)20在對(duì)由plc#1至plc#n所示的多臺(tái)plc1進(jìn)行總括的控制器3經(jīng)由通信網(wǎng)絡(luò)2與plc#1至plc#n相連接這點(diǎn)上,與第一實(shí)施方式不同。
此外,控制器3可以是個(gè)人計(jì)算機(jī),也可以是專用控制設(shè)備。
圖8是用于說明plc1的功能塊的圖。如圖8所示,本實(shí)施方式的cpu11具備:順序程序修改部111,其用于修改ram13的順序程序;修改信息獲取部112,其基于修改前后的順序程序,獲取順序程序的修改部位和修改內(nèi)容;對(duì)應(yīng)電路詢問部117,其從修改前的順序程序提取修改部位附近的梯形電路,并對(duì)經(jīng)由通信網(wǎng)絡(luò)2相連接的控制器3,進(jìn)行與該梯形電路相對(duì)應(yīng)的梯形電路是否包含在其他plc1的順序程序中的詢問;修改內(nèi)容發(fā)送部118,其將修改內(nèi)容向其他plc1發(fā)送;順序程序發(fā)送部119;以及順序程序更新部116,其根據(jù)來自其他plc1的請(qǐng)求,對(duì)儲(chǔ)存于ram13的順序程序進(jìn)行更新。
另外,雖未圖示,控制器3具備:順序程序請(qǐng)求部,其從一個(gè)plc1接收上述詢問,并對(duì)其他plc1請(qǐng)求發(fā)送順序程序的復(fù)制品;以及應(yīng)答部,其檢索在已發(fā)送的其他plc1的順序程序的復(fù)制品中是否包含與從一個(gè)plc1的順序程序提取的梯形電路相對(duì)應(yīng)的梯形電路,并將該結(jié)果對(duì)一個(gè)plc和其他plc1進(jìn)行應(yīng)答。
以下,對(duì)如此構(gòu)成的本實(shí)施方式的plc1和具備其的系統(tǒng)20的作用進(jìn)行說明。參照?qǐng)D8的方框圖以及圖9至圖11的流程圖,對(duì)本實(shí)施方式中,在plc#1的順序程序#1被修改的情況下,其他plc#2至plc#n的順序程序#2至順序程序#n自動(dòng)地被更新的處理順序進(jìn)行說明。
圖9的步驟sc1至sc5與第一實(shí)施方式相同,是在順序程序修改部111和修改信息獲取部112中實(shí)施的處理順序,由于與圖5所示的步驟sa1至sa5相同,因此省略其說明。
步驟sc5之后,在對(duì)應(yīng)電路詢問部117,基于由修改信息獲取部112獲取的修改部位和儲(chǔ)存于ram13的修改前的順序程序#1,從修改前的順序程序#1提取修改部位附近的梯形電路,并對(duì)總括plc1的控制器3,進(jìn)行與該梯形電路相對(duì)應(yīng)的梯形電路是否包含在未修改順序程序的plc1、即plc#1以外的plc#2至#n的順序程序中的詢問(圖9的步驟sc6)。之后,plc#1處于待機(jī)狀態(tài)直至從控制器3接收作為針對(duì)詢問的應(yīng)答的檢索結(jié)果為止(圖9的步驟sc7)。
控制器3,如果接收來自順序程序被修改的plc#1的詢問(圖10的步驟sd1),則解除待機(jī)狀態(tài),并且在順序程序發(fā)送請(qǐng)求部中,對(duì)未修改順序程序的plc、即plc#2至plc#n,請(qǐng)求發(fā)送各個(gè)plc的順序程序的復(fù)制品(圖10的步驟sd2)。
plc#2,如果從控制器3接收上述請(qǐng)求(圖11的步驟se1),則在順序程序發(fā)送部119中,向控制器3發(fā)送順序程序#2(圖11的步驟se2)。plc#2處于待機(jī)狀態(tài)直至從控制器3接收檢索結(jié)果為止(圖11的步驟se3)。
雖未圖示,同樣地,從控制器3接收了上述請(qǐng)求的plc#3至plc#n,也在順序程序發(fā)送部119中,分別向控制器3發(fā)送順序程序#3至順序程序#n,并處于待機(jī)狀態(tài)直至接收檢索結(jié)果為止(圖11的步驟se3)。
控制器3,如果從被請(qǐng)求了發(fā)送順序程序的復(fù)制品的所有plc#2至plc#n接收順序程序#2至順序程序#n的復(fù)制品(圖10的步驟sd3),則解除待機(jī)狀態(tài),并且檢索接收到的順序程序#2至順序程序#n的內(nèi)部,而且判定是否包含與從順序程序#1提取的梯形電路相對(duì)應(yīng)的梯形電路(圖10的步驟sd4)。
然后,控制器3在應(yīng)答部中,向plc#1至plc#n發(fā)送是否包含與從順序程序#1提取的梯形電路相對(duì)應(yīng)的梯形電路的檢索結(jié)果(圖10的步驟sd5),并結(jié)束處理。
如果處于待機(jī)狀態(tài)的plc#1從控制器3接收上述檢索結(jié)果,則解除待機(jī)狀態(tài),并在修改內(nèi)容發(fā)送部118中,只向存在包含與從順序程序#1提取的梯形電路相對(duì)應(yīng)的梯形電路的宗旨的應(yīng)答的plc,發(fā)送由修改信息獲取部112獲取的修改內(nèi)容(圖9的步驟sc8)。
如果處于待機(jī)狀態(tài)的plc#2至#n接收來自控制器3的檢索結(jié)果,則解除待機(jī)狀態(tài),并確認(rèn)是否包含了與從順序程序#1提取的梯形電路相對(duì)應(yīng)的梯形電路的檢索結(jié)果,具有不包含與所述梯形電路相對(duì)應(yīng)的梯形電路的順序程序的plc1結(jié)束處理,轉(zhuǎn)移到待機(jī)狀態(tài)直至再次接收來自控制器3的請(qǐng)求為止(圖11的步驟se4)。具有包含與所述梯形電路相對(duì)應(yīng)的梯形電路的順序程序的plc1,轉(zhuǎn)移到待機(jī)狀態(tài),直至接收來自plc#1的修改內(nèi)容為止(圖11的步驟se5)。如果從plc#1接收修改內(nèi)容,則解除待機(jī)狀態(tài),在順序程序更新部116中,利用接收到的修改內(nèi)容更新相對(duì)應(yīng)的電路(圖11的步驟se6)。
如此,在本實(shí)施方式中,修改了順序程序#1的部分梯形電路的plc#1向總括多個(gè)plc的控制器3,詢問plc#2至plc#n的順序程序#2至#n是否具有與所述順序程序#1的部分梯形電路相對(duì)應(yīng)的梯形電路。接收到詢問的控制器3,從plc#2至plc#n的順序程序#2至#n中檢索與上述部分梯形電路相對(duì)應(yīng)的梯形電路,并向plc#1至#n發(fā)送檢索結(jié)果。而且,plc#1基于該檢索結(jié)果,只向具有與順序程序#1的部分梯形電路相對(duì)應(yīng)的梯形電路的plc發(fā)送修改內(nèi)容。
據(jù)此,在經(jīng)由通信網(wǎng)絡(luò)相連接的多臺(tái)plc1中,在一個(gè)plc1的順序程序的部分梯形電路被修改的情況下,能夠自動(dòng)地對(duì)與該部分梯形電路相對(duì)應(yīng)的其他plc1的順序程序的部分梯形電路進(jìn)行修改。由此,無需單獨(dú)對(duì)每一個(gè)plc修改順序程序,因此能夠大幅度地縮短修改順序程序所需的時(shí)間。另外,無需對(duì)哪個(gè)plc的哪個(gè)部位包含共用的梯形電路進(jìn)行管理,因此能夠提高修改順序程序時(shí)的維護(hù)性。而且,由于控制器3進(jìn)行用于提取相對(duì)應(yīng)的電路的處理,因此與第一實(shí)施方式的plc相比,能夠減少plc中實(shí)施的處理,因此能夠抑制可編程序控制器的cpu負(fù)載。
以上,參照附圖詳細(xì)說明了本發(fā)明的實(shí)施方式,但具體結(jié)構(gòu)并不限于這些實(shí)施方式,也可以包括不脫離本發(fā)明的要點(diǎn)的范圍的設(shè)計(jì)變更等。
例如,上述實(shí)施方式中的順序程序以梯形電路為例進(jìn)行了說明,但并不限于此,以fbd(功能塊圖表)等為例進(jìn)行說明也可。