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