安全屏蔽門控制系統(tǒng)的串口冗余切換方法、裝置及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)據(jù)處理領(lǐng)域,特別涉及一種安全屏蔽門控制系統(tǒng)的串口冗余切換方法、裝置及系統(tǒng)。
【背景技術(shù)】
[0002]目前在工業(yè)自動化領(lǐng)域中,由于串口通信接口簡單,編寫程序簡便,可以用電腦顯示相關(guān)調(diào)試信息,不需要借助其他外部硬件,從而可以很方便地進行程序調(diào)試,所以單片機串口通信技術(shù)被廣泛應(yīng)用。但是由于受波特率的準(zhǔn)確性和誤差,以及線路的抗干擾能力,影響了串口通信的可靠性。
[0003]而現(xiàn)有技術(shù)只提出了一種基于自主冗余服務(wù)器的串口冗余切換方法,沒有涉及到單片機之間的串口冗余切換方法,更沒有一個主站對多個從站的串口冗余切換方案。且現(xiàn)有技術(shù)中的基于自主冗余服務(wù)器的串口冗余切換方法,也無法直接應(yīng)用到單片機上。因此,如何利用單片機實現(xiàn)軌道安全屏蔽門控制系統(tǒng)的串口冗余切換,是本領(lǐng)域技術(shù)人員需要解決的技術(shù)問題。
【發(fā)明內(nèi)容】
[0004]本發(fā)明的目的是提供一種安全屏蔽門控制系統(tǒng)的串口冗余切換方法、裝置及系統(tǒng),能夠解決軌道安全屏蔽門控制系統(tǒng)中通信卡和多個DCU站之間雙串口冗余通信切換的問題,從而提高軌道安全屏蔽門控制系統(tǒng)的可靠性和安全性。
[0005]為解決上述技術(shù)問題,本發(fā)明提供一種安全屏蔽門控制系統(tǒng)的串口冗余切換方法,包括:
[0006]S10、對當(dāng)前D⑶站進行旁路判斷,確定進行通信的通信串口 ;
[0007]SI 1、向所述通信串口發(fā)送數(shù)據(jù)采集命令,并判斷所述通信串口是否返回數(shù)據(jù);
[0008]S12、若返回數(shù)據(jù),則進行數(shù)據(jù)解析,并切換置下一個D⑶站,進入步驟S14;
[0009]S13、若未返回數(shù)據(jù),則對所述通信串口進行錯誤處理,并根據(jù)處理結(jié)果判斷是否允許切換置下一個DCU站,若允許,則進入步驟S14,若不允許,則進入步驟S10;
[0010]S14、計數(shù)器數(shù)值加I,并判斷所述計數(shù)器數(shù)值是否為最大值,若是,則將所述計數(shù)器置I,并進入S1,若否,則進入步驟SlO。
[0011]其中,所述SlO包括:
[0012]SlOl、判斷當(dāng)前DCU站的主通信串口是否為串口 A;若是,進入S102,若否,進入S103;
[0013]S102、判斷串口 A是否被旁路;若是,進入S104,若否,進入S105;
[0014]S104、判斷串口 B是否被旁路;若是,進入S14,若否,進入S106;
[0015]S106、將當(dāng)前進行通信的通信串口設(shè)置為串口B,并進入Sll;
[0016]S105、判斷串口 B是否被旁路;若是,進入S107,若否,保持當(dāng)前進行通信的通信串口進入SI I;
[0017]S107、判斷串口A是否為正常通信串口,若是,進入S108,若否,進入S14;
[0018]S108、將當(dāng)前的通信串口設(shè)置為串口A,并進入Sll;
[0019]S103、判斷串口 B是否被旁路;若是,進入S109,若否,進入S1010;
[0020]S109、判斷串口A是否被旁路;若是,進入S14,若否,進入SlOll;
[0021 ]SlOll、將當(dāng)前進行通信的通信串口設(shè)置為串口A,并進入Sll;
[0022]S1010、判斷串口 A是否被旁路;若是,進入S1012,若否,保持當(dāng)前進行通信的通信串口進入Sll;
[0023]S1012、判斷串口B是否為正常通信串口,若是,進入S1013,若否,進入S14;
[0024]S1013、將當(dāng)前的通信串口設(shè)置為串口B,并進入S11。
[0025]其中,所述S13包括:
[0026]S131、判斷當(dāng)前的通信串口是否為串口A;若是,進入S132,若否,進入S133;
[0027]S132、判斷串口 A是否被旁路;若是,則進入S134,若否,進入S135;
[0028]S135、將串口 A的狀態(tài)設(shè)置為錯誤狀態(tài),并進入S134;
[0029]S134、判斷當(dāng)前D⑶站的主通信串口是否為串口A;若是,進入S136,若否,進入S14;
[0030]S136、判斷串口 B是否被旁路;若是,進入S14,若否,進入S137;
[0031]S137、將當(dāng)前的通信串口設(shè)置為串口B,不允許切換置下一個D⑶站,并進入S10;
[0032]S133、判斷串口 B是否被旁路;若是,則進入S138,若否,進入S139;
[0033]S139、將串口 B的狀態(tài)設(shè)置為錯誤狀態(tài),并進入S138;
[0034]S138、判斷當(dāng)前DCU站的主通信串口是否為串口B;若是,進入S1310,若否,進入S14;
[0035]S1310、判斷串口 A是否被旁路;若是,進入S14,若否,進入S1311;
[0036]S1311、將當(dāng)前的通信串口設(shè)置為串口A,不允許切換置下一個D⑶站,并進入S10。
[0037]其中,所述S14還包括:
[0038]S15、所述計數(shù)器置I,確定主通信串口有問題的D⑶站,按照DCU站的編號對有問題的主通信串口進行排序,并選取第一個主通信串口進行試通。
[0039]其中,所述S15包括:
[0040]S151、判斷當(dāng)前DCU站的主通信串口是否為串口 A;若是,進入S152,若否,進入S153;
[0041 ]S152、判斷試通計數(shù)器的數(shù)值是否小于最大值,若是,進入S154,若否進入S155;
[0042]S154、判斷是否存在當(dāng)前DCU站的通信串口為B且當(dāng)前DCU站的串口 A未被旁路,若存在,進行S156,若不存在,進行S157;
[0043]S157、將試通計數(shù)器數(shù)值加1,并進入S152;
[0044]SI56、將當(dāng)前D⑶站的通信串口設(shè)置為串口 A,將試通計數(shù)器數(shù)值加I,并進入S155 ;
[0045]S153、判斷試通計數(shù)器的數(shù)值是否小于最大值,若是,進入S158,若否進入S155;
[0046]S158、判斷是否存在當(dāng)前DCU站的通信串口為A且當(dāng)前DCU站的串口 B未被旁路,若存在,進行S159,若不存在,進行S1510;
[0047]S1510、將試通計數(shù)器數(shù)值加1,并進入S153;
[0048]S159、將當(dāng)前D⑶站的通信串口設(shè)置為串口B,將試通計數(shù)器數(shù)值加I,并進入S155;
[0049]S155、判斷試通計數(shù)器的數(shù)值是否小于最大值,若是,結(jié)束;若否,將通計數(shù)器的數(shù)值置I后結(jié)束。
[0050]其中,所述最大值為25或37。
[0051]本發(fā)明提供一種安全屏蔽門控制系統(tǒng)的串口冗余切換裝置,包括:
[0052]旁路判斷模塊,用于對當(dāng)前DCU站進行旁路判斷,確定進行通信的通信串口;
[0053]采集模塊,用于向所述通信串口發(fā)送數(shù)據(jù)采集命令,并判斷所述通信串口是否返回數(shù)據(jù);
[0054]解析模塊,用于若返回數(shù)據(jù),則進行數(shù)據(jù)解析,并切換置下一個DCU站,并觸發(fā)計數(shù)器模塊;
[0055]錯誤處理模塊,用于若未返回數(shù)據(jù),則對所述通信串口進行錯誤處理,并根據(jù)處理結(jié)果判斷是否允許切換置下一個DCU站,若允許,則觸發(fā)計數(shù)器模塊,若不允許,則觸發(fā)旁路判斷模塊;
[0056]計數(shù)器模塊,用于計數(shù)器數(shù)值加I,并判斷所述計數(shù)器數(shù)值是否為最大值,若是,則將所述計數(shù)器置I,并觸發(fā)旁路判斷模塊,若否,則觸發(fā)旁路判斷模塊。
[0057]其中,還包括:
[0058]問題主串口試通模塊,用于確定主通信串口有問題的DCU站,按照DCU站的編號對有問題的主通信串口進行排序,并選取第一個主通信串口進行試通。
[0059]本發(fā)明提供一種安全屏蔽門控制系統(tǒng)的串口冗余切換系統(tǒng),包括:
[0060]DCU 站;
[0061]與所述DCU站通過雙冗余串口通信連接的如上述任一項所述的安全屏蔽門控制系統(tǒng)的串口冗余切換裝置;
[0062]與所述安全屏蔽門控制系統(tǒng)的串口冗余切換裝置相連的軌道控制器;
[0063]與所述軌道控制器相連的PC控制機。
[0064]其中,所述DCU站的個數(shù)為24個或36個。
[0065]本發(fā)明所提供的安全屏蔽門控制系統(tǒng)的串口冗余切換方法、裝置及系統(tǒng),包括:SlO、對當(dāng)前DCU站進行旁路判斷,確定進行通信的通信串口; SI 1、向所述通信串口發(fā)送數(shù)據(jù)采集命令,并判斷所述通信串口是否返回數(shù)據(jù);S12、若返回數(shù)據(jù),則進行數(shù)據(jù)解析,并切換置下一個DCU站,進入步驟S14;S13、若未返回數(shù)據(jù),則對所述通信串口進行錯誤處理,并根據(jù)處理結(jié)果判斷是否允許切換置下一個DCU站,若允許,則進入步驟S14,若不允許,則進入步驟SlO; S14、計數(shù)器數(shù)值加I,并判斷所述計數(shù)器數(shù)