浅谈-61850-2-服务端模拟软件构建
目錄
一、將附件提供的demo解壓至任意文件夾,附件內容如下圖
1.1、首先介紹幾個重要文件,也是我們測試需要用到的,文章中沒有列舉到的文件可以忽略。
1.2、運行程序
二、運行程序
三、結語
前兩篇文章說到61850的代碼一般來說是基于思科的代碼,穩定且功能全。本篇文章就以思科代碼為例,去構建一個簡易61850服務端,展示其用法。并介紹客戶端讀取的過程及方法。
有一段時間沒有接觸電力的方面的內容了,花了大半天時間熟悉了下,今天晚上將程序寫好,因為以前的程序都是基于電力通訊平臺適配的,沒法給大家直接用。所以重新寫了個windows版的。比較簡陋,沒有視窗,但是還原了代碼其本來的樣子。
時間有限,本服務端demo只支持遙測及遙信數據的上送(相應品質值取好上送,時間默認系統時間上送),不支持定制開發,僅用于學習61850的使用。廢話不多,進入正題。
因為是原裝,未封裝過,布置起來可能會比較麻煩。主要流程如下:
一、將附件提供的demo解壓至任意文件夾,附件內容如下圖
1.1、首先介紹幾個重要文件,也是我們測試需要用到的,文章中沒有列舉到的文件可以忽略。
1.1.1、startup.cfg,打開內容顯示如下
其中只需要注意紅線三處。1、服務端需要讀出的IED名稱,如本例名稱為IEC61850.icd,名稱大家可以根據需求改動(一定要保證一致,否則程序無法運行)。2、設置的IED名稱,打開icd文件即可瀏覽?<IED configVersion="V1.00" desc="" manufacturer="TEST" name="TEST_IED">。如果讀取其它icd文件,請相應同步修改2處。3、接入點名稱同樣在icd文件中語句<AccessPoint name="S1">。其他處無特殊需求,不需改動。
1.1.2、datamap.cfg,打開內容如下
# ? COLUMN #1: Domain name
# ? COLUMN #2: Leaf name
# ? COLUMN #3: User text to be used by leaf function
其中我們只需要管前兩列就好,第一列加第二列就可以完全確定一個數據變量。
#1翻譯過來就是域名稱,怎么組成的呢?就是IEDNAME+LDNAME。本demo中,智能電子設備名稱為TEST_IED,邏輯設備名稱為MONT4。
#2翻譯過來就是葉子名稱,怎么組成呢,以icd中遙測數據集下的一個功能約束數據屬性條目來分析
<FCDA ldInst="MONT4" prefix="kh" lnInst="18" lnClass="MMXN" doName="Amp" fc="MX" />
大家猜一猜就知道了組成就是prefix+lnClass+lnInst+fc+doName+DA,這里的DA在icd數據集后會列舉出來。本例如下
所以我們在編寫ICD文件的時候,一定要注意每個條目組成后的字串的唯一性,這樣61850才能正確的傳輸數據。
其次,強調一下這個文件的重要性,此為服務程序映射數據的表,不能刪除且不能為空,否則就不會有數據條目映射到內存里,也就訪問不了數據。定制化開發的話,可以對文件進行操作,刪除不必要映射的點,不過挑點也比較麻煩,一般是程序挑點寫文件,解放雙手。
最后說一下該文件的產生,程序運行時,首先是會產生datamapout.cfg這個文件,這是datamap.cfg的雛形,會把所有需要映射的點都列舉出來。當我們重新換一個icd 文件運行的時候,datamapout.cfg的內容就會相應改動。但datamap.cfg內容并未改動,因為時間原因,沒有做兩文件的同步。所以,大家如果替換成自己的icd進行測試的情況下,又對跳點沒有太大需求,請將datamapout.cfg文件拷貝成datamap.cfg,切記,否則數據無法正常映射。
其它未提及的文件,不必要理睬,程序運行所需。
1.2、運行程序
本例提供的附件可直接運行,操作。只需要雙擊demo.exe,程序運行畫面如下
程序依此進行了scl語法的檢測,scl類型的映射創建以及datamap數據的創建。
最后會依此提示讓你輸入域名稱,葉名稱以及相應的操作值。域名稱及葉名稱直接從datamap.cfg文件中依此拷貝即可,需要注意的是,前面說過datamap中是直接拷貝datamapout.cfg的,所以是所以數據的映射,我們需要根據icd中數據集里列出的條目去尋找相應的映射,否則,數據能設置成功,但是客戶端不一定能直觀看到。(肯定有人驚呼,好麻煩,是的,因為我沒進行封裝)。
程序會一直提示你輸入,直到你按ctrl+c結束。具體的操作及顯示,大家自己去感受了。
二、運行程序
是的,正如你想的那樣,客戶端一般也是基于思科代碼開發,不過客戶端網上很多,所以博主就沒有重新寫個demo出來了。這里選擇了一款比較好的客戶端軟件一起打包在附件里給大家使用。
程序運行如下
綠色表示以及連接上了,此客戶端支持本地及在線連接,具體怎么操作,不再詳細贅述,軟件內已有說明文檔,仔細看即可。
對著綠色右擊,選中數據集,如下顯示
依此展開,就能查詢到剛剛設置的值,如本例將遙測數據集的第一個點位設置為7.8。
希望讀者受本例啟發,能思考到的時,這里的輸入,在以后的定制開發中不會存在,而且設置的值,可以用采集上來的數據填充,比如ModBus,101,cdt等。只需要考慮做好數據及條目的映射關系就可以。這樣就可以用于現場實際項目開發了。
三、結語
介紹到這里,基本結束了,軟件需要大家自己去多嘗試(可能會存在BUG)。通過實操,服務端與客戶端的結合,61850學習起來也會事倍功半。順便再提一句,icd文件如果手動制作,會比較麻煩,容易出錯,在熟悉架構后,可以寫程序自動生成,方便快捷。
程序下載路徑
https://download.csdn.net/download/z5201314100/10902566
沒有積分可進行百度網盤下載,路徑如下:
https://pan.baidu.com/s/1AaLQLjJ29JKFkKtzKmJe0Q?提取碼:47pr
關于61850問題或需求定制請聯系微信號HardAndBetter,或者進qq群586166104討論。
?
總結
以上是生活随笔為你收集整理的浅谈-61850-2-服务端模拟软件构建的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 高通GPS芯片WGR7640的驱动
- 下一篇: 单片机原理及应用 张鑫_单片机原理及应用