前言:想要寫出一篇引人入勝的文章?我們特意為您整理了無人值守能源平臺數據通信設計探析范文,希望能給你帶來靈感和參考,敬請閱讀。
摘要:無人值守能源平臺為南極科考設備提供能源動力,發電機組是整個平臺的核心部分。為保障發電機組正常運行,結合硬件設備的特點,設計了基于RS-485總線的數據通信子系統,實現了上位機PC104與發電機組之間的數據通信,以防止PLC出現故障后,導致發電機組失聯。經試驗通過該數據通信子系統可以穩定采集發電機組實時狀態數據,遠程控制發電機組啟停,提高了無人值守能源平臺的可靠性。
關鍵詞:發電機組;PC104;RS-485;可靠性
0引言
無人值守能源平臺主要包括結構與溫控系統、電源系統、現場主控系統、數據存儲系統、通信及監控系統,其中電源系統為整個平臺的運行提供電源保障[1],主要由5臺發電機組組成,其運行狀況的好壞直接影響到平臺的工作性能。平臺必須時刻保持對發電機組的監測,可以實時采集發電機組運行狀態數據,并能遠程控制發電機組啟停。本文對通信系統進行優化設計,結合系統現有硬件設施的特點設計了基于RS-485總線的數據通信子系統,上位機PC104可以通過該通道直接與發電機組進行通信,采集發電機組的實時運行數據,控制發電機組啟停,提高系統的可靠性。
1無人值守能源平臺數據通信子系統介紹
無人值守能源平臺的現場主控系統用PLC控制器通過I/O模塊實現對下層設備的數據采集,遠程控制設備的啟停[2]。上位機通過與PLC的通信,將采集到的數據進行分類存儲,并將數據傳回國內監控中心。但是無法保證PLC不會出現死機情況,一旦PLC出現故障,會導致設備處于失聯狀態,很可能導致系統崩潰。結合系統現有的硬件特點在通信系統上增加備用數據通道,當PLC出現故障時,可以將數據通道切換到該備用通道,使PC104仍可保持與發電機組的聯系。電源系統中的發電機組選用GOOYO品牌的發電機,該發電機配備KP310V1.0控制器,用于控制單臺發電機組的啟動與停止,監控機組的運行狀態,遠程操作機組的開機與停機,機組運行數據的測量,報警保護等功能。KP310V1.0控制器提供有TTL電平接口,可以通過該接口與PC104直接連接,作為備用數據通道。數據通信子系統利用PC104提供的軟件運行環境,設計程序通過備用數據通道定時采集機組運行數據,必要時也可以遠程控制發電機組的啟停。
2數據通信子系統設計
2.1通訊協議
MODBUS是工業上常用的標準通訊協議,可以支持多種電氣接口,如RS-232/422/484等,數據幀格式簡單,可靠性高[3],KP310V1.0控制器的數據幀如圖1。MODBUS網絡只有一個主機,由主機發起通訊請求,支持多個從機設備,每個從機有自己唯一的地址碼[3]。在本系統中,上位機PC104作為主機發起通訊請求,5臺發電機組作為從機響應主機請求,波特率為19200,從機地址設置為1-5。功能碼為03,讀取模塊數據;功能碼為10,寫入模塊數據。起始地址為要讀取或寫入的寄存器起始地址,具體的數據點位可參照廠家提供的點位表。校驗碼采用CRC-16/MODBUS計算方式。
2.2硬件連接設計
RS-485是一種工業串口通信接口標準,采用差分傳輸方式,相較于RS-232和RS-422標準,通信速率更高,通信距離更遠,一根傳輸線路上可以接入多個節點的接收設備,其中一個節點為主機,其余節點為從機,從機之間不可相互通信。RS-485擴大了總線信號的共模范圍,并增大發送設備的驅動能力和沖突保護機制,傳輸長度可達1000m,最大傳輸速率可達10Mb/s[4-5]。因此選用RS-485串口通信作為總線通信模式。PC104采用了雙機冗余的設計模式,主備機通過交換機與其他設備進行通信[6],故將RS-485通信轉為以太網,從而與PC104進行通信。選用risym的TTL轉485模塊,可以實現TTL與485信號的相互轉換,該模塊采用工業級設計,抗干擾能力強,工作溫度為-40~85℃,傳輸距離可達千米。選用有人物聯網公司的RS-485轉以太網模塊可以提供串口轉網絡功能,能夠將RS-485串口轉換成TCP/IP網絡接口,該模塊配備優化的TCP/IP協議棧,穩定可靠,能快速實現RS-485串口與TCP/IP網絡接口的數據雙向透明傳輸,工作溫度為-40~80℃,適用于艙內的環境要求。系統結構如圖2。硬件連接方法如下:發電機組上保留了一個九針串口與KP310V1.0控制器對應的通信端相連,對應串口引腳定義2-RXD(接收數據),3-TXD(發送數據),5-GND(地線)。使用串口線,將這三個引腳與TTL轉485模塊上對應的RX-D,TXD和GND引腳相連,模塊另一端便可以輸出RS-485信號。再用杜邦線將TTL轉RS-485模塊與RS-485轉以太網模塊的A,B信號接口對應連接。將RS-485轉以太網模塊的網絡接口用網線與交換機連接,則可以實現PC104與發電機組的硬件連接。
2.3軟件設計
南極現場上位機采用性能穩定的工業級計算機pc104,其上安裝了linux系統和gcc編譯工具,在此基礎上采用C語言進行程序開發[7]。TCP是面向連接的協議,建立于服務端與客戶端之間,每次發出的請求都需要對方確認。客戶端主動向服務端發送SYN報文,并進入SYN_SENT狀態,等待服務端回復。服務端收到報文后向客戶端回復確認信息和SYN報文,此時服務端進入SYN_RECV狀態。客戶端收到回復后,向服務端發送確認包,之后客戶端和服務端都進入ESTABLISHED狀態,成功建立連接。以上過程被稱為三次握手,數據傳輸完畢后,客戶端與服務端之間通過四次揮手向對方發送確認包釋放TCP連接。RS-485轉網絡模塊通過串口轉網絡調試助手USR-TCP232-M4進行配置,波特率設置為19200,透傳方式選擇TCPserver模式,配置模塊局域網IP為192.168.1.117,端口為23號端口,該IP地址和端口號用于服務端與客戶端之間建立TCP連接,該模塊作為TCP連接中的服務端,監聽設定的23號端口是否有TCP客戶端連接。在上位機程序的配置文件Config.ini中可以配置建立TCP連接的目的IP地址和端口號,從機數量,從機地址,功能碼,數據起始地址,查詢數據長度和數據存儲位置。發電機組可以通過控制器設置唯一通訊地址,按照配備的說明書操作,將5臺發電機組的地址依次設置為1~5。在配置文件中配置從機數量為5,從機地址分別為1~5,功能碼為03(讀取數據),數據起始地址為0×1000,查詢數據長度設為27,發電機組的讀取模塊中共有27個INT型數據(包括發電電壓、電流、轉速值、累計運行時間、故障狀態、警告狀態等),數據存儲位置為數據文件的存儲路徑,根據實際需要設置。上位機作為TCP連接的客戶端,初始化程序時,讀取配置文件,根據配置文件初始化數據請求指令,建立套接字,使用connect方法向服務端發起連接請求,如連接不成功,向PC104的主程序發送異常消息,主程序可以監測個子程序狀態,并在必要時重啟各程序。連接成功后,用send方法將數據請求發送至服務端(RS-485轉網絡模塊),服務端會將收到的數據轉為適合485通訊的格式,發送給發電機組。發電機組收到與自己地址匹配的命令后返回對應的數據,如地址不相符,忽略此數據請求。上位機通過recv方法接收數據,收到數據后,檢查數據的長度,并進行CRC校驗,數據確保無誤后,將數據保存為對應文件夾中以“當前時間”命名的文件中,存儲在南極現場的存儲設備中,以便有需要時進行查詢。本次數據請求過程結束后,等待定時時間到后,再發起下一次數據請求。如果超時未接收到數據,關閉套接字并向PC104的監控程序發送消息記錄異常,并結束本次查詢操作,等待下次查詢請求的發起,防止程序卡死。當需要通過該通道對發電機組進行控制時,可以修改配置文件中的功能碼參數,再向發電機組發送數據幀,可以實現機組的啟停。程序流程如圖3。
3通信測試結果分析
按照之前介紹的硬件連接方法,在實際現場中搭建該數據通道,并在PC104上通過串口助手進行測試,根據廠家提供的點位表,發送數據請求,機組地址為01,功能碼為03,讀取模塊數據,寄存器起始地址為(1010),讀取1個寄存器的數據,即為(0001),最后的(0F81)為CRC校驗碼,該數據請求的實際意義為讀取發電機組1的轉速值。返回的數據中按照通訊格式讀取到轉速值為1388(十六進制),轉換為十進制為5000,與機組默認值一致,由此可知數據接收情況良好,如圖4所示。上位機和發電機組之間的通信測試結果如下:將采集周期設置為30min,每采集一次便以當前采集時間命名該數據文件,文件保存結果如圖5所示。將配置文件中的功能碼改為寫入功能,發送停止命令,可以現場觀察到發電機組確實停機。根據測試結果可知,PC104通過該數據通道可以直接與發電機組通信,通過程序可以自動實時采集發電機組運行數據,并可以遠程控制發電機組的啟停。
4結束語
本文先介紹了南極科考支撐平臺的主要功能和系統結構,考慮到發電機組在平臺中的重要性,結合系統的硬件條件分析后,設計了一條上位機與發電機組的數據通道,并在PC104上開發了相應的程序實現定時采集機組數據,并可以遠程控制機組的啟停,提高了系統的可靠性。測試結果顯示該通道滿足數據采集和遠程控制發電機組的需求,可以提高無人值守能源平臺的可靠性和安全性。
作者:劉一鳴 張侃健 葛健 方仕雄 單位:東南大學網絡空間安全學院 東南大學自動化學院