• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于S7-400H PLC與上位機雙機雙網(wǎng)Modbus TCP冗余通信

      2018-09-20 06:32:38金星
      電氣自動化 2018年3期
      關(guān)鍵詞:雙網(wǎng)雙機網(wǎng)卡

      金星

      (上海市政養(yǎng)護管理有限公司,上海 201105)

      0 引 言

      城市地鐵具有快速、安全、運載能力強的優(yōu)點,是解決城市交通擁堵最有效的手段之一[1]。地鐵的環(huán)境與設(shè)備監(jiān)控系統(tǒng)(BAS)主要對車站及區(qū)間隧道內(nèi)的空調(diào)通風、給排水、照明和電梯扶梯等機電設(shè)備進行全面的運行管理與控制[2]。地鐵環(huán)境與設(shè)備監(jiān)控系統(tǒng)在特殊工況下須承擔一定的防災(zāi)任務(wù),因此對地鐵的正常運營和乘客人身安全至關(guān)重要,屬于安全系統(tǒng),因此《地鐵設(shè)計規(guī)范》對系統(tǒng)的可靠性提出要求[3]。地鐵運行要求BAS系統(tǒng)具有極高的可靠性,特別是選擇具有支持冗余技術(shù)的高可靠系統(tǒng),通過冗余設(shè)計進一步提高系統(tǒng)的可靠性[4]。其中對于PLC及上位機系統(tǒng)通信的冗余度要求也較高,某些情況下要求支持PLC與上位機雙機雙網(wǎng)冗余通信。

      西門子S7-400H系列冗余PLC提供使用以太網(wǎng)CP443-1模塊的開放式Modbus/TCP進行冗余通信的功能。但該功能基于單CPU配置一塊以太網(wǎng)CP443-1模塊的方式,只支持上位機雙機單網(wǎng)的通信方式,無法支持上位機雙機雙網(wǎng)冗余通信的方式。在西門子S7-400H系列冗余PLC提供使用以太網(wǎng)CP443-1模塊的開放式Modbus/TCP進行冗余通信功能的基礎(chǔ)上,通過與上位機通信標志位的判斷進行內(nèi)部DB數(shù)據(jù)塊的切換,實現(xiàn)單CPU配置兩塊以太網(wǎng)卡與上位機雙機雙網(wǎng)冗余通信的方式。

      1 系統(tǒng)結(jié)構(gòu)

      圖1 雙機單網(wǎng)冗余通信示意圖

      地鐵地下車站兩端的冗余PLC控制器采用西門子的S7-400H型,以靠近車控室端為主端, 遠離車控室端為從端[5]。在主端西門子S7-400H系列冗余PLC中,通過CP443-1以太網(wǎng)模塊基于開放式Modbus TCP冗余通信的方式與上位機進行雙機單網(wǎng)的冗余通信,如圖1所示。但在地鐵項目中,由于對系統(tǒng)的冗余度與穩(wěn)定性要求較高,提出PLC與上位機應(yīng)采用雙機雙網(wǎng)冗余通信的方式,如圖2所示。

      圖2 雙機雙網(wǎng)冗余通信示意圖

      在雙機單網(wǎng)冗余通信系統(tǒng)中,PLC的以太網(wǎng)CP443-1模塊及上位機均處于一個網(wǎng)段中。S7-400H在同一時刻只有通過其中一個連接與通信伙伴建立通信,但正在通信的連接中斷時,功能塊庫會使CPU自動切換到其他通信鏈路而無須用戶手動切換。

      而在雙機雙網(wǎng)冗余通信系統(tǒng)中,PLC中一塊CPU下掛載的兩塊以太網(wǎng)CP443-1模塊處于不同的網(wǎng)段中,而一臺上位機也安裝了兩塊以太網(wǎng)卡,處于兩個網(wǎng)段中。

      2 雙機單網(wǎng)冗余通信結(jié)構(gòu)分析

      西門子對于使用以太網(wǎng)CP443-1模塊的開放式Modbus TCP進行冗余通信的功能,提供“Modbus TCP CP Redundant V1.0”安裝包,里面提供了相應(yīng)的安裝軟件及使用說明。

      雙機單網(wǎng)Modbus TCP冗余通信系統(tǒng)中,對PLC的以太網(wǎng)CP443-1模塊及上位機的網(wǎng)卡進行配置,使之處于同一個網(wǎng)段中,見圖1。圖3給出了對系統(tǒng)功能塊FB1733"MODB4H"背景數(shù)據(jù)塊數(shù)據(jù)的配置。

      圖3 雙機單網(wǎng)FB1733"MODB4H"的背景數(shù)據(jù)塊數(shù)據(jù)配置

      按圖3配置后,將上位機需讀取的PLC數(shù)據(jù)存放在地址為4****的Input Register中,用上位機使用功能碼04進行讀取。而上位機對相應(yīng)設(shè)備進行遙控或遙信的PLC地址則在3****的Holding Register中。具體相應(yīng)DB塊對應(yīng)的Modbus地址如圖4所示。

      通過該配置,上位機通過圖1中1A、1B、2A、2B這4條鏈路對冗余PLC進行數(shù)據(jù)讀寫操作,所進行讀寫的均為對DB1*數(shù)據(jù)塊的操作。

      圖4 DB1*塊數(shù)據(jù)對應(yīng)Modbus地址

      3 雙機雙網(wǎng)冗余通信結(jié)構(gòu)設(shè)計

      為實現(xiàn)雙機雙網(wǎng)冗余通信結(jié)構(gòu),應(yīng)按西門子所提供的以太網(wǎng)CP443-1模塊的開放式Modbus TCP冗余通信鏈路,重復(fù)配置兩個Modbus TCP通信鏈路。圖5給出了對系統(tǒng)功能塊FB1733"MODB4H"的背景數(shù)據(jù)塊數(shù)據(jù)的配置。

      圖5 雙機雙網(wǎng)FB1733"MODB4H"的背景數(shù)據(jù)塊數(shù)據(jù)配置

      圖5中Sever1部分的配置對應(yīng)圖2中從10.101.3.50、51這兩張網(wǎng)卡讀寫的PLC數(shù)據(jù)塊DB3*。圖5中Sever2部分的配置對應(yīng)圖2中從10.1.3.50、51這兩張網(wǎng)卡讀寫的PLC數(shù)據(jù)塊DB4*。

      圖6為Sever1對應(yīng)的數(shù)據(jù)塊DB3*和Sever2對應(yīng)的數(shù)據(jù)塊DB4*,分別對應(yīng)Modbus地址。

      圖6 DB3*、 DB4*塊數(shù)據(jù)對應(yīng)Modbus地址

      如圖6所示,雖然Modbus地址相同,但是從10.101.3.50、51這兩張網(wǎng)卡進行讀寫操作對應(yīng)的DB數(shù)據(jù)塊和從10.1.3.50、51這兩張網(wǎng)卡進行讀寫操作對應(yīng)的DB數(shù)據(jù)塊是不同的,無法直接實現(xiàn)雙機雙網(wǎng)冗余通信功能。要上位機通過圖2中1A、1B、2C、2D、3A、3B、4C、4D這八條鏈路實現(xiàn)雙機雙網(wǎng)冗余通信的功能,還需進行以下功能設(shè)計。

      3.1 上位機與冗余PLC通信檢測機制設(shè)計

      對于上位機和PLC之間的通信要先進行通信鏈路的選擇與判斷。

      上位機采用輪詢機制,按照1A、1B、2C、2D、3A、3B、4C、4D的順序,對這八個鏈路通道進行輪詢。如先對鏈路1A狀態(tài)進行檢測,如果通道狀態(tài)正常,則只通過鏈路1A對相應(yīng)10.101.3.50網(wǎng)卡進行讀寫操作。如鏈路1A狀態(tài)監(jiān)測不響應(yīng)或返回錯誤,則對鏈路1B進行檢測,如鏈路1B檢測通道狀態(tài)正常,則通過鏈路1B對相應(yīng)10.101.3.51網(wǎng)卡進行讀寫操作,以此類推。

      在上位機與冗余PLC建立相應(yīng)通信鏈路后,上位機在每次讀寫操作前發(fā)心跳下去,以便PLC確定激活的通信鏈路。具體辦法為:上位機在每次讀寫操作前,向雙方約定的一個Mobus地址寫入1,而PLC通過在每次運行程序時檢測該地址對應(yīng)的DB3*或DB4*數(shù)據(jù)塊地址哪個為1,來確認上位機是通過1A、1B、3A、3B鏈路進行讀寫,還是通過2C、2D、4C、4D鏈路進行讀寫操作的。PLC程序判斷過后,然后對約定的Mobus地址進行復(fù)位,以便每次運行時判斷上位機進行讀寫操作建立的鏈接。

      如確定上位機與PLC約定發(fā)送心跳的Modbus地址為40002,發(fā)送數(shù)值為1。冗余PLC中編寫程序在每次執(zhí)行前,先檢測DB31.DBX3.0和DB41.DBX3.0。如果DB31.DBX3.0值為1,判斷上位機是通過1A、1B、3A、3B鏈路對PLC進行讀寫操作。如果DB41.DBX3.0值為1,則判斷上位機是通過2C、2D、4C、4D鏈路對PLC進行讀寫操作。

      3.2 上位機對冗余PLC讀取數(shù)據(jù)機制

      在上位機與冗余PLC通信鏈路檢測后,上位機對冗余PLC進行讀寫操作。如圖6所示,上位機通過鏈路1A、1B、3A、3B所讀取數(shù)據(jù)對應(yīng)的內(nèi)部數(shù)據(jù)塊為DB36、37數(shù)據(jù)塊,通過鏈路2C、2D、4C、4D所讀取的數(shù)據(jù)對應(yīng)內(nèi)部數(shù)據(jù)塊為DB46、47數(shù)據(jù)塊。對于上位機讀取PLC內(nèi)數(shù)據(jù),無需判斷通信鏈路,只需將上位機所需讀取數(shù)據(jù)同時復(fù)制到DB36、37和DB46、47相同的地址即可。

      如上位機需讀取PLC中DI點I0.0~I99.7的值,可在程序中將DI點I0.0~I99.9復(fù)制到DB36.DBX0.0~DB36.DBX99.7,并同時在程序中將DI點I0.0~I99.9復(fù)制到DB46.DBX0.0~DB46.DBX99.7。上位機讀取DI點I0.0~I99.7的值Modbus地址為30001~30050,無論上位機與PLC的通信鏈路走哪條鏈路,讀取的數(shù)值均相同且為DI點I0.0~I99.7的值。

      3.3 上位機對冗余PLC寫入數(shù)據(jù)機制

      在上位機與冗余PLC通信鏈路檢測后,上位機對冗余PLC進行寫入操作。首先根據(jù)DB3*和DB4*的格式、大小,設(shè)置相同格式、大小的DB11、12、13數(shù)據(jù)塊,作為上位機寫入數(shù)據(jù)的轉(zhuǎn)存地址。

      如圖6所示,上位機通過鏈路1A、1B、3A、3B所讀取數(shù)據(jù)對應(yīng)的內(nèi)部數(shù)據(jù)塊為DB31、32、33數(shù)據(jù)塊,通過鏈路2C、2D、4C、4D所讀取數(shù)據(jù)對應(yīng)的內(nèi)部數(shù)據(jù)塊為DB41、42、43數(shù)據(jù)塊。由于上位機在同一時間只可能通過1A、1B、2C、2D、3A、3B、4C、4D這八條鏈路中的一條鏈路向PLC寫入數(shù)據(jù),這就需要通過3.1章節(jié)中的上位機與冗余PLC通信檢測機制來判斷具體建立的是哪條通信鏈路,并以此判斷被上位機寫入數(shù)據(jù)的是DB31、32、33數(shù)據(jù)塊還是DB41、42、43數(shù)據(jù)塊。最后根據(jù)判斷結(jié)果將DB31~33或DB41~33數(shù)據(jù)塊使用SFC20(BLKMOV)系統(tǒng)功能塊復(fù)制到DB11~13數(shù)據(jù)塊,程序?qū)⒏鶕?jù)DB11~13數(shù)據(jù)塊中的遙控、遙調(diào)數(shù)據(jù)執(zhí)行相應(yīng)程序。

      4 結(jié)束語

      通過基于西門子冗余PLC“OPEN Modbus TCP CP Redundant V1.0”軟件包,在此基礎(chǔ)上通過PLC內(nèi)部程序的開發(fā),并與上位機通信軟件的配合,實現(xiàn)了西門子冗余PLC本身并不支持的PLC與上位機雙機雙網(wǎng)Modbus/TCP冗余通信功能。系統(tǒng)冗余的目的主要是讓系統(tǒng)具有高可靠性[6],該功能明顯達到了增加PLC與上位機通信可靠性的目的。該功能在南京地鐵項目中投入實際使用,使用效果達到設(shè)計目標,運行情況良好。

      猜你喜歡
      雙網(wǎng)雙機網(wǎng)卡
      在DDS 中間件上實現(xiàn)雙冗余網(wǎng)卡切換的方法
      雙機、雙槳軸系下水前的安裝工藝
      基于LTE的雙網(wǎng)承載無線集群和信號業(yè)務(wù)的設(shè)計分析
      Server 2016網(wǎng)卡組合模式
      雙機牽引ZDJ9道岔不同步問題的處理
      Loader軸在雙機桁架機械手上的應(yīng)用
      基于雙網(wǎng)的GYK遠程維護監(jiān)測系統(tǒng)技術(shù)研究
      挑戰(zhàn)Killer網(wǎng)卡Realtek網(wǎng)游專用Dragon網(wǎng)卡
      荒漠生境下雙網(wǎng)無梗囊霉(Acaulospora bireticulata)的遺傳特征
      基于IEC61850標準的變電站站控層雙網(wǎng)通信的實現(xiàn)
      乐陵市| 正宁县| 伊宁县| 无锡市| 新津县| 府谷县| 喜德县| 上虞市| 集贤县| 凭祥市| 衡阳市| 中山市| 正安县| 武城县| 沂南县| 冀州市| 安福县| 东乌珠穆沁旗| 额敏县| 加查县| 湛江市| 汉川市| 苍溪县| 新野县| 色达县| 石渠县| 麻江县| 宝应县| 静海县| 襄城县| 通州区| 泰和县| 揭阳市| 鄢陵县| 长葛市| 金沙县| 桐城市| 瑞金市| 华坪县| 利津县| 宁陵县|