專利名稱:一種批量加載plc工程數(shù)據(jù)的方法、系統(tǒng)及對應(yīng)的plc的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種可編程控制技術(shù)領(lǐng)域,尤其涉及一種批量加載PLC工程數(shù)據(jù)的方法、系統(tǒng)及對應(yīng)的PLC。
背景技術(shù):
PLC (Programmable Logic Controller)是可編程邏輯控制器。它采用可編程的存儲器,用于其內(nèi)部存儲程序,執(zhí)行邏輯運(yùn)算、順序控制、定時、計數(shù)等面向用戶的指令,并通過數(shù)字或模擬式輸入/輸出控制各種類型的機(jī)械或生產(chǎn)過程。而PLC中的工程數(shù)據(jù)(程序)是整個PLC的核心,現(xiàn)有PLC獲取工程數(shù)據(jù)的方式主要有兩種,一種是通過通信電纜從上位機(jī)下載工程數(shù)據(jù),另一種是用編程卡下載工程數(shù)據(jù)。上述兩種下載工程數(shù)據(jù)的方式都需要借助外部設(shè)備,不僅成本較高,而且操作不方便,尤其是不利于規(guī)?;a(chǎn)。例如,為成千上萬臺PLC加載或更新工程數(shù)據(jù),則需要大量的外部設(shè)備,同時耗費(fèi)大量的人力、物力和時間。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例所要解決的技術(shù)問題在于,提供一種批量加載PLC工程數(shù)據(jù)的方法、系統(tǒng)及對應(yīng)的PLC,可利用已經(jīng)加載了最新工程數(shù)據(jù)的PLC自動為其它需要加載或更新工程數(shù)據(jù)的PLC進(jìn)行加載和更新,不需要外部設(shè)備參與,實(shí)現(xiàn)成本低、效率高,特別適合PLC 的規(guī)?;a(chǎn)。為了解決上述技術(shù)問題,本發(fā)明實(shí)施例提供了一種批量加載PLC工程數(shù)據(jù)的方法,包括
具備群傳播權(quán)限的源可編程邏輯控制器PLC加入總線網(wǎng)絡(luò)后,詢問所述總線網(wǎng)絡(luò)中的其它PLC是否需要加載或更新工程數(shù)據(jù);
源PLC根據(jù)總線網(wǎng)絡(luò)中其它PLC的反饋,控制需要加載或更新工程數(shù)據(jù)的PLC進(jìn)入從站監(jiān)聽狀態(tài);
源PLC向需要加載或更新工程數(shù)據(jù)的PLC發(fā)送工程數(shù)據(jù)。其中,所述具備群傳播權(quán)限的源PLC加入總線網(wǎng)絡(luò)后,詢問所述總線網(wǎng)絡(luò)中的其它PLC是否需要加載或更新工程數(shù)據(jù),包括
源PLC加入總線網(wǎng)絡(luò)后,監(jiān)聽總線網(wǎng)絡(luò)中是否還有其它具備群傳播權(quán)限的PLC;若沒有,則詢問所述總線網(wǎng)絡(luò)中的其它PLC是否需要加載或更新工程數(shù)據(jù);若有,則判斷自身的工程數(shù)據(jù)的創(chuàng)建時間是否為最新;
若是最新,則詢問所述總線網(wǎng)絡(luò)中的其它PLC是否需要加載或更新工程數(shù)據(jù);若不是最新,則源PLC準(zhǔn)備更新自身的工程數(shù)據(jù)。其中,所述具備群傳播權(quán)限的PLC向需要加載或更新工程數(shù)據(jù)的PLC發(fā)送工程數(shù)據(jù)之后,還包括
工程數(shù)據(jù)傳輸完成后,源PLC控制加載或更新工程數(shù)據(jù)的PLC退出從站監(jiān)聽狀態(tài);源PLC輪詢檢測各PLC是否加載或更新工程數(shù)據(jù)成功;若不成功,則重新加載或更新該工程數(shù)據(jù)。其中,該方法還包括
不具備群傳播權(quán)限的PLC加入總線網(wǎng)絡(luò)后,接收源PLC的詢問,判斷自身的工程數(shù)據(jù)是否為最新;若為最新,則不接受源PLC的更新;
若不為最新,則根據(jù)所述源PLC的指令進(jìn)入從站監(jiān)聽狀態(tài),接收源PLC發(fā)送的工程數(shù)據(jù)并加載或更新自身的工程數(shù)據(jù)。其中,所述接收源PLC發(fā)送的工程數(shù)據(jù)并加載或更新自身的工程數(shù)據(jù)之后,還包括
檢測工程數(shù)據(jù)是否已經(jīng)成功加載或更新,并在源PLC輪詢時向其反饋是否加載或更新成功;
若加載或更新不成功,則準(zhǔn)備重新接收所述源PLC發(fā)送的工程數(shù)據(jù)。相應(yīng)地,本發(fā)明實(shí)施例還提供了一種批量加載PLC工程數(shù)據(jù)的系統(tǒng),包括至少一個具備群傳播權(quán)限的源PLC、一個需要加載或更新工程數(shù)據(jù)的PLC以及連接所述源PLC和需要加載或更新工程數(shù)據(jù)的HX的總線網(wǎng)絡(luò);
所述源PLC,用于加入總線網(wǎng)絡(luò)后,詢問所述總線網(wǎng)絡(luò)中的其它PLC是否需要加載或更新工程數(shù)據(jù);并根據(jù)總線網(wǎng)絡(luò)中其它PLC的反饋,控制需要加載或更新工程數(shù)據(jù)的PLC進(jìn)入從站監(jiān)聽狀態(tài);且向需要加載或更新工程數(shù)據(jù)的PLC發(fā)送工程數(shù)據(jù);
需要加載或更新工程數(shù)據(jù)的PLC,用于加入總線網(wǎng)絡(luò)后,接收源PLC的詢問,判斷自身的工程數(shù)據(jù)是否為最新;若不為最新,則根據(jù)所述源PLC的指令進(jìn)入從站監(jiān)聽狀態(tài),接收源 PLC發(fā)送的工程數(shù)據(jù)并加載或更新自身的工程數(shù)據(jù)。相應(yīng)的,本發(fā)明實(shí)施例還提供一種PLC,包括
權(quán)限控制模塊,用于配置自身所在的PLC是否具備群傳播權(quán)限; 通信協(xié)調(diào)模塊,用于在所述PLC加入總線網(wǎng)絡(luò)且具備群傳播權(quán)限時,詢問所述總線網(wǎng)絡(luò)中的其它PLC是否需要加載或更新工程數(shù)據(jù);并根據(jù)總線網(wǎng)絡(luò)中其它PLC的反饋,控制需要加載或更新工程數(shù)據(jù)的PLC進(jìn)入從站監(jiān)聽狀態(tài);
工程傳輸模塊,用于與總線網(wǎng)絡(luò)中的其它PLC進(jìn)行數(shù)據(jù)交換,包括向需要加載或更新工程數(shù)據(jù)的PLC發(fā)送工程數(shù)據(jù)。其中,所述通信協(xié)調(diào)模塊包括
判斷單元,用于在所述PLC加入總線網(wǎng)絡(luò)后,監(jiān)聽總線網(wǎng)絡(luò)中是否還有其它具備群傳播權(quán)限的PLC;若沒有,則通知處理單元詢問總線網(wǎng)絡(luò)中的其它PLC是否需要加載或更新工程數(shù)據(jù);若有,則判斷自身的工程數(shù)據(jù)的創(chuàng)建時間是否為最新;若是最新,則通知處理單元詢問總線網(wǎng)絡(luò)中的其它PLC是否需要加載或更新工程數(shù)據(jù);若不是最新,則通知處理單元準(zhǔn)備更新自身所在PLC的工程數(shù)據(jù);
處理單元,用于根據(jù)所述判斷單元的通知詢問總線網(wǎng)絡(luò)中的其它PLC是否需要加載或更新工程數(shù)據(jù),或準(zhǔn)備更新自身所在PLC的工程數(shù)據(jù)。其中,所述處理單元還用于在工程傳輸模塊完成工程數(shù)據(jù)傳輸后,控制加載或更新工程數(shù)據(jù)的PLC退出從站監(jiān)聽狀態(tài);輪詢檢測各PLC是否加載或更新工程數(shù)據(jù)成功;若不成功,則重新加載或更新。
其中,所述判斷單元還用于在所述PLC加入總線網(wǎng)絡(luò)且不具備群傳播權(quán)限時,接收源PLC的詢問,判斷自身所在PLC的工程數(shù)據(jù)是否為最新;若為最新,則不接受源PLC的更新;若不為最新,則通知處理單元和工程傳輸模塊準(zhǔn)備接收源PLC發(fā)送的工程數(shù)據(jù)并加載或更新自身的工程數(shù)據(jù)。本發(fā)明實(shí)施例所要提供的批量加載PLC工程數(shù)據(jù)的方法、系統(tǒng)及對應(yīng)的PLC,可利用已經(jīng)加載了最新工程數(shù)據(jù)的PLC自動為其它需要加載或更新工程數(shù)據(jù)的PLC進(jìn)行加載和更新,不需要外部設(shè)備參與,實(shí)現(xiàn)成本低、效率高,特別適合PLC的規(guī)?;a(chǎn)。
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1為本發(fā)明提供的批量加載PLC工程數(shù)據(jù)的系統(tǒng)實(shí)施例結(jié)構(gòu)示意圖; 圖2為本發(fā)明提供的PLC第一實(shí)施例結(jié)構(gòu)示意圖3為本發(fā)明提供的批量加載PLC工程數(shù)據(jù)的方法第一實(shí)施例流程示意圖; 圖4為本發(fā)明提供的批量加載PLC工程數(shù)據(jù)的方法第二實(shí)施例流程示意圖; 圖5為本發(fā)明提供的PLC第二實(shí)施例結(jié)構(gòu)示意圖6為本發(fā)明提供的批量加載PLC工程數(shù)據(jù)的方法第三實(shí)施例流程示意圖。
具體實(shí)施例方式下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。參見圖1,為本發(fā)明提供的批量加載PLC工程數(shù)據(jù)的系統(tǒng)實(shí)施例結(jié)構(gòu)示意圖,如圖 1所示,該系統(tǒng)中包括至少一個具備群傳播權(quán)限的源PLC 1、一個需要加載或更新工程數(shù)據(jù)的PLC 2,以及連接所述源PLC和需要加載或更新工程數(shù)據(jù)的PLC的總線網(wǎng)絡(luò)3。所述源PLC 1,用于加入總線網(wǎng)絡(luò)3后,詢問所述總線網(wǎng)絡(luò)3中的其它PLC是否需要加載或更新工程數(shù)據(jù);并根據(jù)總線網(wǎng)絡(luò)中其它PLC的反饋,控制需要加載或更新工程數(shù)據(jù)的PLC 2進(jìn)入從站監(jiān)聽狀態(tài);且向所述需要加載或更新工程數(shù)據(jù)的PLC 2發(fā)送工程數(shù)據(jù)。需要加載或更新工程數(shù)據(jù)的PLC 2,用于加入總線網(wǎng)絡(luò)3后,接收源PLCl的詢問, 判斷自身的工程數(shù)據(jù)是否為最新;若為最新,則不接受源PLC的更新;若不為最新,則根據(jù)所述源PLC 1的指令進(jìn)入從站監(jiān)聽狀態(tài),接收源PLC 1發(fā)送的工程數(shù)據(jù)并進(jìn)行加載或更新。需要說明的是,當(dāng)總線網(wǎng)絡(luò)中存在多個具備群傳播權(quán)限的PLC時,工程數(shù)據(jù)較舊的PLC可以作為需要加載或更新工程數(shù)據(jù)的PLC,在具有最新的工程數(shù)據(jù)的源PLC的控制下,更新自身的工程數(shù)據(jù)
本發(fā)明實(shí)施例所要提供的批量加載PLC工程數(shù)據(jù)的系統(tǒng),可利用已經(jīng)加載了最新工程數(shù)據(jù)的PLC自動為其它需要加載或更新工程數(shù)據(jù)的PLC進(jìn)行加載和更新,不需要外部設(shè)備參與,實(shí)現(xiàn)成本低、效率高,特別適合PLC的規(guī)模化生產(chǎn)。參見圖2,為本發(fā)明提供的PLC第一實(shí)施例結(jié)構(gòu)示意圖。本實(shí)施例提供的PLC在具有最新工程數(shù)據(jù)且具備群傳播權(quán)限時,可以作為本發(fā)明提供的批量加載PLC工程數(shù)據(jù)的系統(tǒng)中的源PLC ;而在本實(shí)施例提供的PLC不具有工程數(shù)據(jù),或不具有最新工程數(shù)據(jù)時,可以作為本發(fā)明提供的批量加載PLC工程數(shù)據(jù)的系統(tǒng)中需要加載或更新工程數(shù)據(jù)的PLC。如圖2所示,該P(yáng)LC除了包括儲存參數(shù)配置的系統(tǒng)塊、儲存邏輯程序的程序塊、存儲運(yùn)行數(shù)據(jù)的數(shù)據(jù)塊以及中央處理器以外,還包括權(quán)限控制模塊10、通信協(xié)調(diào)模塊11和工程傳輸模塊12。權(quán)限控制模塊10,用于配置自身所在的PLC是否具備群傳播權(quán)限。通信協(xié)調(diào)模塊11,用于在所述PLC加入總線網(wǎng)絡(luò)且具備群傳播權(quán)限時,詢問所述總線網(wǎng)絡(luò)中的其它PLC是否需要加載或更新工程數(shù)據(jù);并根據(jù)總線網(wǎng)絡(luò)中其它PLC的反饋, 控制需要加載或更新工程數(shù)據(jù)的PLC進(jìn)入從站監(jiān)聽狀態(tài);在所述PLC不具備群傳播權(quán)限時, 接收源PLC的詢問,判斷自身是否需要加載或更新工程數(shù)據(jù)。工程傳輸模塊12,用于與總線網(wǎng)絡(luò)中的其它PLC進(jìn)行數(shù)據(jù)交換,包括向需要加載或更新工程數(shù)據(jù)的PLC發(fā)送工程數(shù)據(jù),或接收源PLC發(fā)送的工程數(shù)據(jù)。本發(fā)明實(shí)施例所要提供的PLC,在自身具有最新的工程數(shù)據(jù)時,可以自動為其它需要加載或更新工程數(shù)據(jù)的PLC進(jìn)行加載和更新;在自身不具備最新的工程數(shù)據(jù)時,可以接收源PLC的更新,使自身具有最新的工程數(shù)據(jù),且不需要外部設(shè)備參與,實(shí)現(xiàn)成本低、效率高,特別適合PLC的規(guī)?;a(chǎn)。參見圖3,為本發(fā)明提供的批量加載PLC工程數(shù)據(jù)的方法第一實(shí)施例流程示意圖, 本實(shí)施例提供的方法步驟適用于本發(fā)明提供的批量加載PLC工程數(shù)據(jù)的系統(tǒng)中的源PLC。 如圖2所示,該方法包括
步驟S100,具備群傳播權(quán)限的源PLC加入總線網(wǎng)絡(luò)后,詢問所述總線網(wǎng)絡(luò)中的其它PLC 是否需要加載或更新工程數(shù)據(jù)。步驟S101,源PLC根據(jù)總線網(wǎng)絡(luò)中其它PLC的反饋,控制需要加載或更新工程數(shù)據(jù)的PLC進(jìn)入從站監(jiān)聽狀態(tài)。步驟S102,源PLC向需要加載或更新工程數(shù)據(jù)的PLC發(fā)送工程數(shù)據(jù)。本發(fā)明實(shí)施例所要提供的批量加載PLC工程數(shù)據(jù)的方法,可利用已經(jīng)加載了最新工程數(shù)據(jù)的PLC自動為其它需要加載或更新工程數(shù)據(jù)的PLC進(jìn)行加載和更新,不需要外部設(shè)備參與,實(shí)現(xiàn)成本低、效率高,特別適合PLC的規(guī)模化生產(chǎn)。參見圖4,為本發(fā)明提供的批量加載PLC工程數(shù)據(jù)的方法第二實(shí)施例流程示意圖, 本實(shí)施例提供的方法步驟適用于本發(fā)明提供的批量加載PLC工程數(shù)據(jù)的系統(tǒng)中需要加載或更新工程數(shù)據(jù)的PLC。如圖3所示,該方法包括
步驟S200,需要加載或更新工程數(shù)據(jù)的PLC加入總線網(wǎng)絡(luò)后,接收源PLC的詢問。在本發(fā)明實(shí)施例中,需要加載或更新工程數(shù)據(jù)的PLC包括不具備群傳播權(quán)限且沒有最新工程數(shù)據(jù)的PLC,以及具備群傳播權(quán)限但沒有最新工程數(shù)據(jù)的PLC。步驟S201,PLC判斷自身的工程數(shù)據(jù)是否為最新;若為最新,則不接受源PLC的更新,結(jié)束流程;若不為最新,則執(zhí)行步驟S202。雖然本發(fā)明是以需要加載或更新工程數(shù)據(jù)的 PLC為例進(jìn)行說明,但PLC自身是不知道的,他需要通過判斷,確定是否需要加載或更新工程數(shù)據(jù),所以本步驟也是必要的。步驟S202,接收源PLC的指令進(jìn)入從站監(jiān)聽狀態(tài),接收源PLC發(fā)送的工程數(shù)據(jù)。步驟S203,將接收的工程數(shù)據(jù)加載或更新到自身的工程數(shù)據(jù)中。即將源PLC發(fā)送的最新的工程數(shù)據(jù)加載到程序塊中,或以最新的工程數(shù)據(jù)更新程序塊中原有的工程數(shù)據(jù)。本發(fā)明實(shí)施例所要提供的批量加載PLC工程數(shù)據(jù)的方法,可利用已經(jīng)加載了最新工程數(shù)據(jù)的PLC自動為其它需要加載或更新工程數(shù)據(jù)的PLC進(jìn)行加載和更新,不需要外部設(shè)備參與,實(shí)現(xiàn)成本低、效率高,特別適合PLC的規(guī)模化生產(chǎn)。參見圖5,為本發(fā)明提供的PLC第二實(shí)施例結(jié)構(gòu)示意圖。本實(shí)施例提供的PLC在具有最新工程數(shù)據(jù)且具備群傳播權(quán)限時,可以作為本發(fā)明提供的批量加載PLC工程數(shù)據(jù)的系統(tǒng)中的源PLC;而在本實(shí)施例提供的PLC不具有工程數(shù)據(jù),或不具有最新工程數(shù)據(jù)時,可以作為本發(fā)明提供的批量加載PLC工程數(shù)據(jù)的系統(tǒng)中需要加載或更新工程數(shù)據(jù)的PLC。該P(yáng)LC如圖5所示,除了包括儲存參數(shù)配置的系統(tǒng)塊、儲存邏輯程序的程序塊、存儲運(yùn)行數(shù)據(jù)的數(shù)據(jù)塊以及中央處理器以外,還包括權(quán)限控制模塊10、通信協(xié)調(diào)模塊11和工程傳輸模塊12。權(quán)限控制模塊10,用于配置自身所在的PLC是否具備群傳播權(quán)限。更為具體的,用戶可以通過上位機(jī)軟件組態(tài)或者通過PLC輸入點(diǎn)設(shè)置PLC權(quán)限控制模塊10中的群傳播權(quán)限。 若PLC具備群傳播權(quán)限,則該P(yáng)LC —旦加入總線網(wǎng)絡(luò),將會自動掃描網(wǎng)絡(luò)上的其它 PLC,在確定自身的工程數(shù)據(jù)為最新時,對網(wǎng)絡(luò)中的其它沒有工程數(shù)據(jù)或工程數(shù)據(jù)不是最新的PLC進(jìn)行工程數(shù)據(jù)的加載和更新。進(jìn)一步的,權(quán)限控制模塊10還可以用于設(shè)置本PLC是否接收其它PLC的工程數(shù)據(jù)的權(quán)限。在本發(fā)明各實(shí)施例中,默認(rèn)PLC都具有接收其它PLC的工程數(shù)據(jù)的權(quán)限。在具備群傳播權(quán)限的PLC加入總線后,具備接收其它PLC的工程數(shù)據(jù)權(quán)限的PLC,判斷自身的工程數(shù)據(jù)是否為最新;如果是,則接受工程更新;否則,不接受工程更新。一個PLC可以同時具有群傳播權(quán)限和接收其它PLC的工程數(shù)據(jù)的權(quán)限,在總線網(wǎng)絡(luò)中有其它具備群傳播權(quán)限且工程數(shù)據(jù)更加新的PLC時,本PLC作為需要加載或更新工程數(shù)據(jù)的PLC ;在總線網(wǎng)絡(luò)中沒有其它具備群傳播權(quán)限且工程數(shù)據(jù)更加新的PLC時,本PLC作為網(wǎng)絡(luò)中的源PLC。通信協(xié)調(diào)模塊11,用于協(xié)調(diào)自身所在的PLC與總線網(wǎng)絡(luò)中的其它PLC之間的通信。 包括在所述PLC加入總線網(wǎng)絡(luò)且具備群傳播權(quán)限時,詢問所述總線網(wǎng)絡(luò)中的其它PLC是否需要加載或更新工程數(shù)據(jù);并根據(jù)總線網(wǎng)絡(luò)中其它PLC的反饋,控制需要加載或更新工程數(shù)據(jù)的PLC進(jìn)入從站監(jiān)聽狀態(tài);在所述PLC不具備群傳播權(quán)限時,通信協(xié)調(diào)模塊11接收源 PLC的詢問,判斷自身所在的PLC是否需要加載或更新工程數(shù)據(jù)。更為具體的,該通信協(xié)調(diào)模塊11包括
判斷單元111,用于具備群傳播權(quán)限的PLC加入總線網(wǎng)絡(luò)后,監(jiān)聽總線網(wǎng)絡(luò)中是否還有其它具備群傳播權(quán)限的PLC ;若沒有,則通知處理單元112詢問總線網(wǎng)絡(luò)中的其它PLC是否需要加載或更新工程數(shù)據(jù);若有,則判斷自身的工程數(shù)據(jù)的創(chuàng)建時間是否為最新;若是最新,則通知處理單元112詢問總線網(wǎng)絡(luò)中的其它PLC是否需要加載或更新工程數(shù)據(jù);若不是最新,則通知處理單元112準(zhǔn)備更新自身所在PLC的工程數(shù)據(jù)。
判斷單元111還用于在所述PLC加入總線網(wǎng)絡(luò)且不具備群傳播權(quán)限時,接收源PLC 的詢問,判斷自身所在PLC的工程數(shù)據(jù)是否為最新;若為最新,則不接受源PLC的更新;若不為最新,則通知處理單元112和工程傳輸模塊12準(zhǔn)備接收源PLC發(fā)送的工程數(shù)據(jù)并加載或更新自身的工程數(shù)據(jù)。處理單元112,用于根據(jù)所述判斷單元111的通知詢問總線網(wǎng)絡(luò)中的其它PLC是否需要加載或更新工程數(shù)據(jù),或準(zhǔn)備更新自身所在PLC的工程數(shù)據(jù)。工程傳輸模塊12,用于與總線網(wǎng)絡(luò)中的其它PLC進(jìn)行數(shù)據(jù)交換,包括向需要加載或更新工程數(shù)據(jù)的PLC發(fā)送工程數(shù)據(jù),或接收源PLC發(fā)送的工程數(shù)據(jù)。工程傳輸模塊12與各PLC工程傳輸模塊之間交換數(shù)據(jù)可使用通用現(xiàn)場總線協(xié)議或者私有協(xié)議實(shí)現(xiàn);工程傳輸模塊12還具備數(shù)據(jù)校驗(yàn)功能,以保證工程數(shù)據(jù)正確傳輸并及時發(fā)現(xiàn)傳輸錯誤并啟動從傳機(jī)制。進(jìn)一步的,處理單元112還用于在工程傳輸模塊12完成工程數(shù)據(jù)傳輸后,控制加載或更新了工程數(shù)據(jù)的PLC退出從站監(jiān)聽狀態(tài);并輪詢檢測各PLC是否加載或更新工程數(shù)據(jù)成功;若不成功,則重新加載或更新工程數(shù)據(jù)。本發(fā)明實(shí)施例所要提供的PLC,在自身具有最新的工程數(shù)據(jù)時,可以自動為其它需要加載或更新工程數(shù)據(jù)的PLC進(jìn)行加載和更新;在自身不具備最新的工程數(shù)據(jù)時,可以接收源PLC的更新,使自身具有最新的工程數(shù)據(jù),且不需要外部設(shè)備參與,實(shí)現(xiàn)成本低、效率高,特別適合PLC的規(guī)?;a(chǎn)。參見圖6,為本發(fā)明提供的批量加載PLC工程數(shù)據(jù)的方法第三實(shí)施例流程示意圖。 本實(shí)施例提供的方法步驟適用于本發(fā)明提供的批量加載PLC工程數(shù)據(jù)的系統(tǒng)中的原PLC和需要加載或更新工程數(shù)據(jù)的PLC。如圖6所示,該方法包括
步驟S300,PLC加入總線網(wǎng)絡(luò)??偩€網(wǎng)絡(luò)可以由PLC生產(chǎn)商搭建的,總線網(wǎng)絡(luò)上可以同時連接多個PLC,并為各PLC提供通信和數(shù)據(jù)傳輸鏈路。在本實(shí)施例中,默認(rèn)所有連接在總線網(wǎng)絡(luò)上的PLC都具有接受其它PLC對其進(jìn)行工程數(shù)據(jù)加載或更新的權(quán)限。步驟S301,PLC根據(jù)自身權(quán)限控制模塊確定自身是否在總線網(wǎng)絡(luò)中群傳播工程數(shù)據(jù)的權(quán)限;若有群傳播權(quán)限,則執(zhí)行步驟S302 ;若沒有群傳播權(quán)限,則執(zhí)行步驟S309。步驟S302,具有群傳播權(quán)限的PLC加入總線網(wǎng)絡(luò)后,監(jiān)聽總線網(wǎng)絡(luò)中是否有其它具備群傳播權(quán)限的PLC ;若有,則執(zhí)行步驟S303 ;若沒有,則執(zhí)行步驟S304。步驟S303,PLC判斷自身的工程數(shù)據(jù)與其它具備群傳播權(quán)限的PLC的工程數(shù)據(jù)相比,是否為最新的工程數(shù)據(jù);若為最新,則執(zhí)行步驟S304 ;若不為最新,則執(zhí)行步驟S310。判斷工程數(shù)據(jù)是否為最新的方式包括根據(jù)工程數(shù)據(jù)的創(chuàng)建時間判斷,或根據(jù)工程數(shù)據(jù)的版本號判斷。步驟S304,PLC判定自身的工程數(shù)據(jù)為最新的工程數(shù)據(jù),則詢問總線網(wǎng)絡(luò)中的其它PLC是否需要加載或更新工程數(shù)據(jù)。為描述方便,在本發(fā)明實(shí)施例中,將總線網(wǎng)絡(luò)中具備群傳播權(quán)限,且具備最新工程數(shù)據(jù)的PLC稱為“源PLC”。源PLC可以通過廣播的方式,將自己可以提供的工程數(shù)據(jù)創(chuàng)建時間或版本號告知總線網(wǎng)絡(luò)中的其它PLC,其它PLC根據(jù)該工程數(shù)據(jù)創(chuàng)建時間或版本號判斷自身是否需要更新或加載源PLC提供的工程數(shù)據(jù),然后向源 PLC進(jìn)行反饋,表明自己是否需要加載或更新工程數(shù)據(jù)。步驟S305,源PLC根據(jù)總線網(wǎng)絡(luò)中其它PLC的反饋,控制需要加載或更新工程數(shù)據(jù)的PLC進(jìn)入從站監(jiān)聽狀態(tài),準(zhǔn)備接收工程數(shù)據(jù)。步驟S306,源PLC向需要加載或更新工程數(shù)據(jù)的PLC發(fā)送工程數(shù)據(jù)。源PLC向其它各PLC傳送工程數(shù)據(jù)可使用通用現(xiàn)場總線協(xié)議或者私有協(xié)議實(shí)現(xiàn);在傳輸過程中還可以進(jìn)行數(shù)據(jù)校驗(yàn),以保證工程數(shù)據(jù)正確傳輸并及時發(fā)現(xiàn)傳輸錯誤并啟動從傳機(jī)制。步驟S307,工程數(shù)據(jù)傳輸完成后,源PLC控制加載或更新了工程數(shù)據(jù)的PLC退出從站監(jiān)聽狀態(tài)。步驟S308,源PLC輪詢各PLC是否加載或更新工程數(shù)據(jù)成功;若成功,則結(jié)束本方法流程;若不成功,則返回步驟S306,重新加載或更新工程數(shù)據(jù)。步驟S309,接受源PLC的詢問,判斷自身的工程數(shù)據(jù)是否為最新;若為最新,則不接受源PLC的工程數(shù)據(jù)更新,結(jié)束本方法流程;若不為最新,則執(zhí)行步驟S310。步驟S310,根據(jù)源PLC的指令進(jìn)入從站監(jiān)聽狀態(tài),接收源PLC發(fā)送的工程數(shù)據(jù)。步驟S311,將源PLC發(fā)送的工程數(shù)據(jù)加載或更新到自身的程序塊中。步驟S312,檢測工程數(shù)據(jù)是否已經(jīng)成功加載或更新,并在源PLC輪詢時向其反饋。 若工程數(shù)據(jù)加載或更新成功,則結(jié)束本方法流程;若加載或更新不成功,則返回步驟S310, 準(zhǔn)備重新接收所述源PLC發(fā)送的工程數(shù)據(jù)。本發(fā)明實(shí)施例所要提供的批量加載PLC工程數(shù)據(jù)的方法,可利用已經(jīng)加載了最新工程數(shù)據(jù)的PLC自動為其它需要加載或更新工程數(shù)據(jù)的PLC進(jìn)行加載和更新,不需要外部設(shè)備參與,實(shí)現(xiàn)成本低、效率高,特別適合PLC的規(guī)模化生產(chǎn)。本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法中的全部或部分流程,是可以通過計算機(jī)程序來指令相關(guān)的硬件來完成,所述的程序可存儲于一計算機(jī)可讀取存儲介質(zhì)中,該程序在執(zhí)行時,可包括如上述各方法的實(shí)施例的流程。其中,所述的存儲介質(zhì)可為磁碟、光盤、只讀存儲記憶體(Read-Only Memory, ROM)或隨機(jī)存儲記憶體(Random Access Memory, RAM)等。以上所揭露的僅為本發(fā)明一種較佳實(shí)施例而已,當(dāng)然不能以此來限定本發(fā)明之權(quán)利范圍,因此依本發(fā)明權(quán)利要求所作的等同變化,仍屬本發(fā)明所涵蓋的范圍。
權(quán)利要求
1.一種批量加載PLC工程數(shù)據(jù)的方法,其特征在于,包括具備群傳播權(quán)限的源可編程邏輯控制器PLC加入總線網(wǎng)絡(luò)后,詢問所述總線網(wǎng)絡(luò)中的其它PLC是否需要加載或更新工程數(shù)據(jù);源PLC根據(jù)總線網(wǎng)絡(luò)中其它PLC的反饋,控制需要加載或更新工程數(shù)據(jù)的PLC進(jìn)入從站監(jiān)聽狀態(tài);源PLC向所述需要加載或更新工程數(shù)據(jù)的PLC發(fā)送工程數(shù)據(jù)。
2.如權(quán)利要求1所述的批量加載PLC工程數(shù)據(jù)的方法,其特征在于,所述具備群傳播權(quán)限的源PLC加入總線網(wǎng)絡(luò)后,詢問所述總線網(wǎng)絡(luò)中的其它PLC是否需要加載或更新工程數(shù)據(jù),包括源PLC加入總線網(wǎng)絡(luò)后,監(jiān)聽總線網(wǎng)絡(luò)中是否還有其它具備群傳播權(quán)限的PLC;若沒有,則詢問所述總線網(wǎng)絡(luò)中的其它PLC是否需要加載或更新工程數(shù)據(jù);若有,則判斷自身的工程數(shù)據(jù)的創(chuàng)建時間是否為最新;若是最新,則詢問所述總線網(wǎng)絡(luò)中的其它PLC是否需要加載或更新工程數(shù)據(jù);若不是最新,則源PLC準(zhǔn)備更新自身的工程數(shù)據(jù)。
3.如權(quán)利要求1所述的批量加載PLC工程數(shù)據(jù)的方法,其特征在于,所述具備群傳播權(quán)限的PLC向需要加載或更新工程數(shù)據(jù)的PLC發(fā)送工程數(shù)據(jù)之后,還包括工程數(shù)據(jù)傳輸完成后,源PLC控制加載或更新工程數(shù)據(jù)的PLC退出從站監(jiān)聽狀態(tài);源PLC輪詢檢測各PLC是否加載或更新工程數(shù)據(jù)成功;若不成功,則重新加載或更新該工程數(shù)據(jù)。
4.如權(quán)利要求1所述的批量加載PLC工程數(shù)據(jù)的方法,其特征在于,該方法還包括不具備群傳播權(quán)限的PLC加入總線網(wǎng)絡(luò)后,接收源PLC的詢問,判斷自身的工程數(shù)據(jù)是否為最新;若為最新,則不接受源PLC的更新;若不為最新,則根據(jù)所述源PLC的指令進(jìn)入從站監(jiān)聽狀態(tài),接收源PLC發(fā)送的工程數(shù)據(jù)并加載或更新自身的工程數(shù)據(jù)。
5.如權(quán)利要求4所述的批量加載PLC工程數(shù)據(jù)的方法,其特征在于,所述接收源PLC發(fā)送的工程數(shù)據(jù)并加載或更新自身的工程數(shù)據(jù)之后,還包括檢測工程數(shù)據(jù)是否已經(jīng)成功加載或更新,并在源PLC輪詢時向其反饋是否加載或更新成功;若加載或更新不成功,則準(zhǔn)備重新接收所述源PLC發(fā)送的工程數(shù)據(jù)。
6.一種批量加載PLC工程數(shù)據(jù)的系統(tǒng),其特征在于,包括至少一個具備群傳播權(quán)限的源PLC、一個需要加載或更新工程數(shù)據(jù)的PLC以及連接所述源PLC和需要加載或更新工程數(shù)據(jù)的PLC的總線網(wǎng)絡(luò);所述源PLC,用于加入總線網(wǎng)絡(luò)后,詢問所述總線網(wǎng)絡(luò)中的其它PLC是否需要加載或更新工程數(shù)據(jù);并根據(jù)總線網(wǎng)絡(luò)中其它PLC的反饋,控制需要加載或更新工程數(shù)據(jù)的PLC進(jìn)入從站監(jiān)聽狀態(tài);且向需要加載或更新工程數(shù)據(jù)的PLC發(fā)送工程數(shù)據(jù);需要加載或更新工程數(shù)據(jù)的PLC,用于加入總線網(wǎng)絡(luò)后,接收源PLC的詢問,判斷自身的工程數(shù)據(jù)是否為最新;若不為最新,則根據(jù)所述源PLC的指令進(jìn)入從站監(jiān)聽狀態(tài),接收源 PLC發(fā)送的工程數(shù)據(jù)并加載或更新自身的工程數(shù)據(jù)。
7.—種PLC,其特征在于,包括權(quán)限控制模塊,用于配置自身所在的PLC是否具備群傳播權(quán)限;通信協(xié)調(diào)模塊,用于在所述PLC加入總線網(wǎng)絡(luò)且具備群傳播權(quán)限時,詢問所述總線網(wǎng)絡(luò)中的其它PLC是否需要加載或更新工程數(shù)據(jù);并根據(jù)總線網(wǎng)絡(luò)中其它PLC的反饋,控制需要加載或更新工程數(shù)據(jù)的PLC進(jìn)入從站監(jiān)聽狀態(tài);工程傳輸模塊,用于與總線網(wǎng)絡(luò)中的其它PLC進(jìn)行數(shù)據(jù)交換,包括向需要加載或更新工程數(shù)據(jù)的PLC發(fā)送工程數(shù)據(jù)。
8.如權(quán)利要求7所述的PLC,其特征在于,所述通信協(xié)調(diào)模塊包括判斷單元,用于在所述PLC加入總線網(wǎng)絡(luò)后,監(jiān)聽總線網(wǎng)絡(luò)中是否還有其它具備群傳播權(quán)限的PLC ;若沒有,則通知處理單元詢問總線網(wǎng)絡(luò)中的其它PLC是否需要加載或更新工程數(shù)據(jù);若有,則判斷自身的工程數(shù)據(jù)的創(chuàng)建時間是否為最新;若是最新,則通知處理單元詢問總線網(wǎng)絡(luò)中的其它PLC是否需要加載或更新工程數(shù)據(jù);若不是最新,則通知處理單元準(zhǔn)備更新自身所在PLC的工程數(shù)據(jù);處理單元,用于根據(jù)所述判斷單元的通知詢問總線網(wǎng)絡(luò)中的其它PLC是否需要加載或更新工程數(shù)據(jù),或準(zhǔn)備更新自身所在PLC的工程數(shù)據(jù)。
9.如權(quán)利要求8所述的PLC,其特征在于,所述處理單元還用于在工程傳輸模塊完成工程數(shù)據(jù)傳輸后,控制加載或更新工程數(shù)據(jù)的PLC退出從站監(jiān)聽狀態(tài);輪詢檢測各PLC是否加載或更新工程數(shù)據(jù)成功;若不成功,則重新加載或更新。
10.如權(quán)利要求8所述的PLC,其特征在于,所述判斷單元還用于在所述PLC加入總線網(wǎng)絡(luò)且不具備群傳播權(quán)限時,接收源PLC的詢問,判斷自身所在PLC的工程數(shù)據(jù)是否為最新;若為最新,則不接受源PLC的更新;若不為最新,則通知處理單元和工程傳輸模塊準(zhǔn)備接收源PLC發(fā)送的工程數(shù)據(jù)并加載或更新自身的工程數(shù)據(jù)。
全文摘要
本發(fā)明實(shí)施例公開了一種批量加載PLC工程數(shù)據(jù)的方法、系統(tǒng)及對應(yīng)的PLC,該方法包括具備群傳播權(quán)限的源可編程邏輯控制器PLC加入總線網(wǎng)絡(luò)后,詢問所述總線網(wǎng)絡(luò)中的其它PLC是否需要加載或更新工程數(shù)據(jù);源PLC根據(jù)總線網(wǎng)絡(luò)中其它PLC的反饋,控制需要加載或更新工程數(shù)據(jù)的PLC進(jìn)入從站監(jiān)聽狀態(tài);源PLC向需要加載或更新工程數(shù)據(jù)的PLC發(fā)送工程數(shù)據(jù)。本發(fā)明實(shí)施例所提供的批量加載PLC工程數(shù)據(jù)的方法、系統(tǒng)及對應(yīng)的PLC,可利用已經(jīng)加載了最新工程數(shù)據(jù)的PLC自動為其它需要加載或更新工程數(shù)據(jù)的PLC進(jìn)行加載和更新,不需要外部設(shè)備參與,實(shí)現(xiàn)成本低、效率高,特別適合PLC的規(guī)?;a(chǎn)。
文檔編號G05B19/05GK102566485SQ201110451949
公開日2012年7月11日 申請日期2011年12月30日 優(yōu)先權(quán)日2011年12月30日
發(fā)明者劉芳, 周云宇, 張小軍 申請人:深圳市合信自動化技術(shù)有限公司