1.概述
IEC61850是變電站自動化系統(tǒng)(SAS)中通信系統(tǒng)和分散能源(DER)管理的國際標準。它通過標準的實現(xiàn),實現(xiàn)了智能變電站的工程運作標準化。使得智能變電站的工程實施變得規(guī)范、統(tǒng)一和透明,在電力和儲能系統(tǒng)中應用非常廣泛。
本文基于米爾MYD-YF13X開發(fā)板,在Linux系統(tǒng)上移植和使用開源的libIEC61850庫,該庫提供了用C語言編寫的IEC 61850 / MMS,IEC 61850 / GOOSE和IEC 61850-9-2 /采樣值通信協(xié)議的服務端和客戶端庫。
IEC61850開源庫了解更多請訪問:http://libiec61850.com/libiec61850/
MYD-YF13X開發(fā)板了解更多訪問:https://www.myir.cn/shows/110/57.html
2.搭建配置環(huán)境
本章節(jié)講述libIEC61850庫的編譯環(huán)境配置過程。
2.1.安裝JAVA環(huán)境
IEC61850庫中的ICD文件需要一個JAVA工具來進行轉(zhuǎn)換,所以需要先安裝JAVA運行環(huán)境。米爾提供的JDK安裝包位于光盤03-Tools目錄,拷貝jdk-8u191-linux-x64.tar.gz到ubuntu工作目錄,并解壓出來。
#cd/JDK #tarzxvfjdk-8u191-linux-x64.tar.gz #cdjdk1.8.0_191
配置JAVA環(huán)境變量,修改/etc/profile文件,為用戶工作路徑在里面添加如下內(nèi)容:
#vi/etc/profile exportJAVA_HOME=/JDK/jdk1.8.0_191 exportJRE_HOME=${JAVA_HOME}/jre exportCLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib exportPATH=${JAVA_HOME}/bin:$PATH
修改完成保存退出,使用下面命令來驗證JAVA運行環(huán)境是否安裝成功:
#java-version javaversion"1.8.0_191" Java(TM)SERuntimeEnvironment(build1.8.0_191-b12) JavaHotSpot(TM)64-BitServerVM(build25.191-b12,mixedmode)
2.2.配置交叉編譯工具鏈
這里直接使用MYIR制作的交叉編譯工具鏈。拷貝位于光盤04-Linux_sourceToolchainarm-myir-linux-gnueabihf-gcc.tar.gz到ubuntu的工作目錄。通過下面操作設置交叉編譯工具鏈環(huán)境變量。
#mkdirarm-myir-linux-gnueabihf-gcc #tarxvfarm-myir-linux-gnueabihf-gcc.tar.gz-Carm-myir-linux-gnueabihf-gcc #exportARCH=arm#exportCROSS_COMPILE=arm-myir-linux-gnueabihf- #exportPATH=$PATH://arm-myir-linux-gnueabihf-gcc/usr/bin
設置完成后使用如下命令驗證設置是否成功。
#arm-myir-linux-gnueabihf-gcc-v 使用內(nèi)建specs。 COLLECT_GCC=/home/qinlh/buildroot/buildroot-2019.02.2/output/host/bin/arm-myir-linux-gnueabihf-gcc.br_realCOLLECT_LTO_WRAPPER=/home/qinlh/buildroot/buildroot-2019.02.2/output/host/libexec/gcc/arm-myir-linux-gnueabihf/7.4.0/ lto-wrapper ... ... 線程模型:posixgcc 版本7.4.0(Buildroot2019.02.2-g04eff54)
3.編譯IEC61850庫
本章節(jié)講述IEC61850庫的編譯和MYIR IEC61850演示程序myir_iec61850_server的編譯過程。
3.1.獲取IEC61850源碼包
米爾提供libIEC61850源碼位于光盤文件的/04-Linux_Source/IEC61850目錄,將libiec61850-1.3.0.tar.gz拷貝到ubuntu目錄工作目錄,并解壓出來,其中為用戶工作目錄。
#cplibiec61850-1.3.0.tar.gz/libiec61850 #cd/libiec61850 #tarzxvflibiec61850-1.3.0.tar.gz #cdlibiec61850-1.3.0
編譯IEC61850庫:
#makeTARGET=LINUX-ARM ... ... arm-myir-linux-gnueabihf-ar:creating./build- arm/libiec61850.aarm-myir-linux-gnueabihf-ranlib./build-arm/libiec61850.a
MYIR_IEC61850演示程序用到了一些外部庫,需要修改位于examplesmyir_iec61850_server目錄下的Makefile來指定外部庫的路徑,將替換為用戶實際的工作路徑:
CFLAGS+=-I./-I/WORKIR>/arm-myir-linux-gnueabihf-gcc/usr/arm-myir-linux-gnueabihf/sysroot/usr/include/glib-2.0/ -I/WORKIR>/arm-myir-linux-gnueabihf-gcc/usr/arm-myir-linux-gnueabihf/sysroot/usr/lib/glib-2.0/include/ -I/WORKIR>/arm-myir-linux-gnueabihf-gcc/usr/arm-myir-linux-gnueabihf/sysroot/usr/include/cjson/ -I/WORKIR>/arm-myir-linux-gnueabihf-gcc/usr/arm-myir-linux-gnueabihf/sysroot/usr/include -I/WORKIR>/arm-myir-linux-gnueabihf-gcc/usr/rm-myir-linux-gnueabihf/sysroot/usr/include/libxml2 LDFLAGS+=-lpthread-ldbus-1-lxml2-lcjson -L/WORKIR>/arm-myir-linux-gnueabihf-gcc/usr/arm-myir-linux-gnueabihf/sysroot/usr/lib
如果上述編譯過程報錯請檢查交叉編譯工具鏈設置是否有問題。
編譯ICD文件:
#cdexamples/myir_iec61850_server #makemodel java-jar../../tools/model_generator/genmodel.jarmyir_iec61850_server.icd SelectICDFilemyir_iec61850_server.icd parsedatatypetemplates... parseIEDsection... parsecommunicationsection... FoundconnectedAPap1forIEDMYIR1 printreportinstance01 printreportinstance02
如果上述過程報錯請檢查JAVA運行環(huán)境是否設置成功。
編譯MYIR IEC61850演示程序:
#cdexamples/myir_iec61850_server #makeTARGET=LINUX-ARM
4.運行驗證IEC61850應用
4.1.運行應用
編譯完成后MYIR IEC61850應用位于examples/myir_iec61850_server/目錄下面,將myir_iec61850_server拷貝至開發(fā)板,運行過程如下所示。
#dbus-launch DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-c0AGn2s5XN,guid=d6544df82962d617c2dc37805c2c2d68 DBUS_SESSION_BUS_PID=5649 #exportDBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-c0AGn2s5XN #./myir_iec61850_server #UsinglibIEC61850version1.3.0
4.2.程序驗證
安裝包可以在03-Tools/IEDScout.zip文件中獲取。
測試驗證:
進入IEC61850應用界面,打開PC端IEDScout軟件。
點擊IECScout主界面下面的Discover IED按鈕,然后輸入輸入開發(fā)板網(wǎng)口的IP地址192.168.x.xxx,輸入完成后點擊Discover按鈕。
進入Browser頁面,可以看到以MYIR1命名的IED設備模型。
點擊IED設備模型下面的Data Models->LD1->GGIO1進入通用I/O控制界面。
雙擊GGIO1下面的LED1數(shù)據(jù)對象,可以看到Switch這個數(shù)據(jù)屬性,然后點擊上方菜單欄的Write按鈕即可對LED1進行控制。
在Value欄選擇false,然后點擊Write按鍵,此時開發(fā)板上的LED心跳燈就被點亮了,說明通訊成功。
米爾基于STM32MP135開發(fā)板
米爾STM32MP135開發(fā)板,基于單核 Cortex-A7 設計的STM32MP13系列處理器,采用12V/2A直流供電,搭載了2路千兆以太網(wǎng)接口、1路USB2.0協(xié)議MINI PCIE插座的4G模塊接口、1路RGB顯示接口、1路音頻輸入輸出接口、2路USB HOST Type A、1路 USB OTG Type-C接口、1路Micro SD接口。開發(fā)板配套提供豐富的軟件資源以及文檔資料,助力開發(fā)者開發(fā)成功。
米爾STM32MP135開發(fā)板標注圖
米爾STM32MP135開發(fā)板標注圖
審核編輯 黃宇
-
ST
+關(guān)注
關(guān)注
32文章
1126瀏覽量
128781 -
電力
+關(guān)注
關(guān)注
7文章
2114瀏覽量
50049 -
STM32
+關(guān)注
關(guān)注
2264文章
10854瀏覽量
354289 -
開發(fā)板
+關(guān)注
關(guān)注
25文章
4895瀏覽量
97058
發(fā)布評論請先 登錄
相關(guān)推薦
評論