本技術(shù)涉及工業(yè)控制,尤其涉及一種用于工業(yè)控制系統(tǒng)的非斷電式io模塊控制方法。
背景技術(shù):
1、在工業(yè)控制系統(tǒng),通常需要采用適配器,對現(xiàn)場的多個(gè)io模塊進(jìn)行統(tǒng)一管理,通過適配器匯總各io模塊的數(shù)據(jù)進(jìn)行上報(bào),或者根據(jù)上級指令控制對應(yīng)的io模塊進(jìn)行對應(yīng)的操作;
2、當(dāng)系統(tǒng)中的某個(gè)io模塊出現(xiàn)損壞或異常時(shí),需要采用新的io模塊更換,目前通常的操作都是先將適配器和io模塊斷電,拆除舊的io模塊并更換之后,適配器再與io模塊重新連接通訊;
3、但是這樣的方式存在以下缺點(diǎn):一是斷電操作會(huì)導(dǎo)致整個(gè)系統(tǒng)暫時(shí)性癱瘓,這對于需要連續(xù)運(yùn)行的工業(yè)生產(chǎn)線來說是極大的不便,可能會(huì)造成生產(chǎn)延誤或中斷;二是頻繁的斷電和重啟也會(huì)影響設(shè)備的使用壽命,增加出現(xiàn)故障的風(fēng)險(xiǎn)。
技術(shù)實(shí)現(xiàn)思路
1、為了解決在工業(yè)控制系統(tǒng)中,當(dāng)io模塊故障更換時(shí)需要斷電操作的問題,本技術(shù)提供一種用于工業(yè)控制系統(tǒng)的非斷電式io模塊控制方法。
2、第一方面,本技術(shù)提供了一種用于工業(yè)控制系統(tǒng)的非斷電式io模塊控制方法,采用如下的技術(shù)方案:
3、所述工業(yè)控制系統(tǒng)包括適配器和多個(gè)io模塊;所述適配器與各io模塊均連接在第一通信總線上;所述io模塊之間通過第二通信接口順次連接,且位于首部的io模塊通過第二通信接口與所述適配器的第二通信接口連接;所述控制方法包括:
4、所述適配器,向所述io模塊發(fā)送現(xiàn)場控制指令和第一通信指令,并基于所述io模塊回復(fù)的響應(yīng)信號(hào),判斷所述io模塊是否掉線;
5、若是,則所述適配器將掉線的io模塊標(biāo)記,并發(fā)出警報(bào);
6、所述適配器,基于模塊更換完成信號(hào),控制各io模塊依次進(jìn)行站號(hào)分配,并基于各io模塊的站號(hào)分配結(jié)果,判斷各io模塊的站號(hào)是否分配成功;
7、若是,則所述適配器取消對掉線io模塊的標(biāo)記,并解除警報(bào)。
8、通過采用上述技術(shù)方案,適配器通過第一通信總線與各io模塊發(fā)送現(xiàn)場控制指令,即正常進(jìn)行現(xiàn)場數(shù)據(jù)交互的過程中,還向各io模塊發(fā)送第一通信指令,以保持規(guī)律的通訊,當(dāng)io模塊掉線時(shí)可以及時(shí)發(fā)現(xiàn)并警報(bào),且在io模塊長時(shí)間空閑時(shí)仍然可以準(zhǔn)確識(shí)別掉線,便于工作人員及時(shí)處理,在此過程中也不會(huì)影響適配器與在線的io模塊正常數(shù)據(jù)交互;當(dāng)?shù)艟€的io模塊更換或處理完成后,適配器接收模塊更換完成信號(hào),重新控制各io模塊進(jìn)行站號(hào)分配,當(dāng)分配成功時(shí),適配器就解除警報(bào),表示新的io模塊已經(jīng)更換完成;在io模塊由于異常或者損壞導(dǎo)致掉線、以及io模塊更換的整個(gè)過程中,適配器和運(yùn)行正常的io模塊都無需斷電操作,解決了在工業(yè)控制系統(tǒng)中,當(dāng)io模塊故障更換時(shí)需要斷電操作的問題,極大地提高了系統(tǒng)的工作效率。
9、在一個(gè)具體的可實(shí)施方案中,所述適配器,向所述io模塊發(fā)送現(xiàn)場控制指令和第一通信指令,并基于所述io模塊回復(fù)的響應(yīng)信號(hào),判斷所述io模塊是否掉線,具體包括:
10、所述適配器,通過所述第一通信總線向所述io模塊發(fā)送現(xiàn)場控制指令,并基于預(yù)設(shè)的時(shí)間間隔t1,采用輪詢方式通過所述第一通信總線依次向各io模塊發(fā)送第一通信指令;
11、所述適配器等待所述io模塊基于所述現(xiàn)場控制指令或所述第一通信指令回復(fù)的響應(yīng)信號(hào);
12、若所述適配器在預(yù)設(shè)的等待時(shí)間t2內(nèi)接收到所述io模塊回復(fù)的響應(yīng)信號(hào),且所述響應(yīng)信號(hào)的數(shù)據(jù)格式和數(shù)據(jù)內(nèi)容均正確,則所述適配器確定所述io模塊在線;
13、若所述適配器未在等待時(shí)間t2內(nèi)接收到所述io模塊回復(fù)的響應(yīng)信號(hào),或所述適配器在預(yù)設(shè)的等待時(shí)間t2內(nèi)接收到了所述io模塊回復(fù)的響應(yīng)信號(hào)、且所述響應(yīng)信號(hào)的數(shù)據(jù)格式或數(shù)據(jù)內(nèi)容錯(cuò)誤,則所述適配器確定所述io模塊掉線。
14、通過采用上述技術(shù)方案,采用適配器為主,io模塊為從的方式,通過適配器輪詢向各io模塊發(fā)送第一通信指令;結(jié)合各io模塊回復(fù)的響應(yīng)信號(hào)的數(shù)據(jù)格式和數(shù)據(jù)內(nèi)容,準(zhǔn)確判斷io模塊為在線還是掉線。
15、在一個(gè)具體的可實(shí)施方案中,所述適配器,基于模塊更換完成信號(hào),控制各io模塊依次進(jìn)行站號(hào)分配,并基于各io模塊的站號(hào)分配結(jié)果,判斷各io模塊的站號(hào)是否分配成功,具體包括:
16、所述適配器,基于模塊更換完成信號(hào),將自身的第二通信接口電平拉高,并向所述第一通信總線廣播站號(hào)分配指令;
17、所述io模塊,基于所述適配器第二通信接口電平狀態(tài)的變化和所述站號(hào)分配指令,以位于首部的io模塊為起始,按照連接順序依次進(jìn)行站號(hào)分配,并在完成站號(hào)分配后向所述適配器回復(fù)站號(hào)分配完成信號(hào);
18、所述適配器,基于各io模塊回復(fù)的站號(hào)分配完成信號(hào),確定各io模塊的站號(hào)均分配成功。
19、通過采用上述技術(shù)方案,io模塊按照連接順序依次進(jìn)行站號(hào)分配,且在完成站號(hào)分配后及時(shí)通知適配器,通過這樣的方式不僅可以大大縮短站號(hào)分配的時(shí)間,而且不會(huì)造成第一通信總線上數(shù)據(jù)的擁擠。
20、在一個(gè)具體的可實(shí)施方案中,所述io模塊,基于所述適配器第二通信接口電平狀態(tài)的變化和所述站號(hào)分配指令,以位于首部的io模塊為起始,按照連接順序依次進(jìn)行站號(hào)分配,并在完成站號(hào)分配后向所述適配器回復(fù)站號(hào)分配完成信號(hào),具體包括:
21、位于首部的io模塊,通過感知所述適配器第二通信接口電平狀態(tài)的變化,執(zhí)行模塊站號(hào)分配操作;其中,所述模塊站號(hào)分配操作包括:開啟站號(hào)分配功能、從所述第一通信總線獲取站號(hào)分配指令、按照所述站號(hào)分配指令所指示的站號(hào)進(jìn)行站號(hào)分配、記錄自身站號(hào)、通過所述第一通信總線向所述適配器回復(fù)站號(hào)分配完成信號(hào)、將自身與后級io模塊相連接的第二通信接口電平拉高;
22、遍歷所有io模塊,后級io模塊均通過感知前級io模塊第二通信接口電平狀態(tài)的變化,依次執(zhí)行所述模塊站號(hào)分配操作,直至位于尾部的io模塊完成站號(hào)分配。
23、通過采用上述技術(shù)方案,前級io模塊完成站號(hào)分配之后,及時(shí)向適配器回復(fù)站號(hào)分配完成信號(hào),并將自身第二通信接口的電平拉高以通知后級io模塊,使得站號(hào)分配效率更高。
24、在一個(gè)具體的可實(shí)施方案中,所述適配器,基于模塊更換完成信號(hào),將自身的第二通信接口電平拉高,并向所述第一通信總線廣播站號(hào)分配指令之后,還包括:
25、各io模塊基于所述廣播站號(hào)分配指令,執(zhí)行初始化進(jìn)程;
26、其中,所述初始化進(jìn)程包括:
27、mcu系統(tǒng)時(shí)鐘初始化;
28、系統(tǒng)初始化;
29、外設(shè)初始化;
30、檢測自身硬件是否正常。
31、通過采用上述技術(shù)方案,通過適配器發(fā)送的站號(hào)分配指令,將位于第一通信總線上的各io模塊均初始化,在io模塊分配站號(hào)之前,預(yù)先將io模塊第二通信接口和第一通信總線進(jìn)行配置,可以確保適配器與io模塊后續(xù)進(jìn)行正常的通信和數(shù)據(jù)收發(fā)。
32、在一個(gè)具體的可實(shí)施方案中,所述適配器向所述io模塊發(fā)送現(xiàn)場控制指令、與所述適配器向所述io模塊發(fā)送第一通信指令,在不同線程中進(jìn)行。
33、通過采用上述技術(shù)方案,有效避免數(shù)據(jù)的紊亂,保證系統(tǒng)穩(wěn)定運(yùn)行。
34、在一個(gè)具體的可實(shí)施方案中,所述第一通信總線為uart總線;所述第二通信接口為gpio接口。
35、第二方面,本技術(shù)提供一種工業(yè)控制系統(tǒng),采用以下技術(shù)方案:所述工業(yè)控制系統(tǒng)包括適配器和多個(gè)io模塊;所述工業(yè)控制系統(tǒng)用于執(zhí)行上述第一方面或第一方面任一項(xiàng)可實(shí)施方案中的用于工業(yè)控制系統(tǒng)的非斷電式io模塊控制方法。
36、本技術(shù)實(shí)施例中提供的一個(gè)或多個(gè)技術(shù)方案,至少具有如下技術(shù)效果或優(yōu)點(diǎn):
37、1、適配器通過第一通信總線與各io模塊發(fā)送現(xiàn)場控制指令,即正常進(jìn)行現(xiàn)場數(shù)據(jù)交互的過程中,還向各io模塊發(fā)送第一通信指令,以保持規(guī)律的通訊,當(dāng)io模塊掉線時(shí)可以及時(shí)發(fā)現(xiàn)并警報(bào),且在io模塊長時(shí)間空閑時(shí)仍然可以準(zhǔn)確識(shí)別掉線,便于工作人員及時(shí)處理,在此過程中也不會(huì)影響適配器與在線的io模塊正常數(shù)據(jù)交互;
38、2、當(dāng)?shù)艟€的io模塊更換或處理完成后,適配器接收模塊更換完成信號(hào),重新控制各io模塊進(jìn)行站號(hào)分配,當(dāng)分配成功時(shí),適配器就解除警報(bào),表示新的io模塊已經(jīng)更換完成;在io模塊由于異?;蛘邠p壞導(dǎo)致掉線、以及io模塊更換的整個(gè)過程中,適配器和運(yùn)行正常的io模塊都無需斷電操作,解決了在工業(yè)控制系統(tǒng)中,當(dāng)io模塊故障更換時(shí)需要斷電操作的問題,極大地提高了系統(tǒng)的工作效率。