STM32MP135開(kāi)發(fā)板助力電力行業(yè),IEC61850協(xié)議移植筆記

發(fā)布時(shí)間:2024-2-2 19:44    發(fā)布者:swiftman
關(guān)鍵詞: 嵌入式 , ST , STM32 , STM32MP1 , 開(kāi)發(fā)板
1.概述
IEC61850是變電站自動(dòng)化系統(SAS)中通信系統和分散能源(DER)管理的國際標準。它通過(guò)標準的實(shí)現,實(shí)現了智能變電站的工程運作標準化。使得智能變電站的工程實(shí)施變得規范、統一和透明,在電力和儲能系統中應用非常廣泛。
本文基于米爾MYD-YF13X開(kāi)發(fā)板,在Linux系統上移植和使用開(kāi)源的libIEC61850庫,該庫提供了用C語(yǔ)言編寫(xiě)的IEC 61850 / MMS,IEC 61850 / GOOSE和IEC 61850-9-2 /采樣值通信協(xié)議的服務(wù)端和客戶(hù)端庫。
IEC61850開(kāi)源庫了解更多請訪(fǎng)問(wèn):http://libiec61850.com/libiec61850/
MYD-YF13X開(kāi)發(fā)板了解更多訪(fǎng)問(wèn):https://www.myir.cn/shows/110/57.html

2.搭建配置環(huán)境
本章節講述libIEC61850庫的編譯環(huán)境配置過(guò)程。
2.1. 安裝JAVA環(huán)境
IEC61850庫中的ICD文件需要一個(gè)JAVA工具來(lái)進(jìn)行轉換,所以需要先安裝JAVA運行環(huán)境。米爾提供的JDK安裝包位于光盤(pán)03-Tools目錄,拷貝jdk-8u191-linux-x64.tar.gz到ubuntu工作目錄,并解壓出來(lái)。
  1. # cd /JDK
    # tar zxvf jdk-8u191-linux-x64.tar.gz
    # cd jdk1.8.0_191
復制代碼

配置JAVA環(huán)境變量,修改/etc/profile文件,為用戶(hù)工作路徑在里面添加如下內容:
  1. # vi /etc/profile
    export JAVA_HOME=/JDK/jdk1.8.0_191
    export JRE_HOME=${JAVA_HOME}/jre
    export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
    export PATH=${JAVA_HOME}/bin:$PATH
復制代碼

修改完成保存退出,使用下面命令來(lái)驗證JAVA運行環(huán)境是否安裝成功:
  1. # java -version
    java version "1.8.0_191"
    Java(TM) SE Runtime Environment (build 1.8.0_191-b12)
    Java HotSpot(TM) 64-Bit Server VM (build 25.191-b12, mixed mode)
復制代碼

2.2. 配置交叉編譯工具鏈
這里直接使用MYIR制作的交叉編譯工具鏈?截愇挥诠獗P(pán)04-Linux_sourceToolchainarm-myir-linux-gnueabihf-gcc.tar.gz到ubuntu的工作目錄。通過(guò)下面操作設置交叉編譯工具鏈環(huán)境變量。
  1. # mkdir arm-myir-linux-gnueabihf-gcc
    # tar xvf arm-myir-linux-gnueabihf-gcc.tar.gz -C arm-myir-linux-gnueabihf-gcc
    # export ARCH=arm# export CROSS_COMPILE=arm-myir-linux-gnueabihf-
    # export PATH=$PATH://arm-myir-linux-gnueabihf-gcc/usr/bin
復制代碼

設置完成后使用如下命令驗證設置是否成功。
  1. # arm-myir-linux-gnueabihf-gcc -v
    使用內建 specs。
    COLLECT_GCC=/home/qinlh/buildroot/buildroot-2019.02.2/output/host/bin/arm-myir-linux-gnueabihf-gcc.br_real COLLECT_LTO_WRAPPER=/home/qinlh/buildroot/buildroot-2019.02.2/output/host/libexec/gcc/arm-myir-linux-gnueabihf/7.4.0/
    lto-wrapper
    ...
    ...
    線(xiàn)程模型:posix gcc
    版本 7.4.0 (Buildroot 2019.02.2-g04eff54)
復制代碼

3.編譯IEC61850庫
本章節講述IEC61850庫的編譯和MYIR IEC61850演示程序myir_iec61850_server的編譯過(guò)程。
3.1. 獲取IEC61850源碼包
米爾提供libIEC61850源碼位于光盤(pán)文件的/04-Linux_Source/IEC61850目錄,將libiec61850-1.3.0.tar.gz拷貝到ubuntu目錄工作目錄,并解壓出來(lái),其中為用戶(hù)工作目錄。
  1. # cp libiec61850-1.3.0.tar.gz /libiec61850
    # cd /libiec61850
    # tar zxvf libiec61850-1.3.0.tar.gz
    # cd libiec61850-1.3.0
復制代碼

  • 編譯IEC61850庫:

  1. # make TARGET=LINUX-ARM
  2. ...
  3. ...
  4. arm-myir-linux-gnueabihf-ar: creating ./build-
  5. arm/libiec61850.aarm-myir-linux-gnueabihf-ranlib ./build-arm/libiec61850.a
復制代碼


  • MYIR_IEC61850演示程序用到了一些外部庫,需要修改位于examplesmyir_iec61850_server目錄下的Makefile來(lái)指定外部庫的路徑,將替換為用戶(hù)實(shí)際的工作路徑:

  1. CFLAGS +=-I./ -I/WORKIR>/arm-myir-linux-gnueabihf-gcc/usr/arm-myir-linux-gnueabihf/sysroot/usr/include/glib-2.0/
  2. -I/WORKIR>/arm-myir-linux-gnueabihf-gcc/usr/arm-myir-linux-gnueabihf/sysroot/usr/lib/glib-2.0/include/
  3. -I/WORKIR>/arm-myir-linux-gnueabihf-gcc/usr/arm-myir-linux-gnueabihf/sysroot/usr/include/cjson/
  4. -I/WORKIR>/arm-myir-linux-gnueabihf-gcc/usr/arm-myir-linux-gnueabihf/sysroot/usr/include
  5. -I/WORKIR>/arm-myir-linux-gnueabihf-gcc/usr/rm-myir-linux-gnueabihf/sysroot/usr/include/libxml2
  6. LDFLAGS += -lpthread -ldbus-1 -lxml2 -lcjson
  7. -L /WORKIR>/arm-myir-linux-gnueabihf-gcc/usr/arm-myir-linux-gnueabihf/sysroot/usr/lib
復制代碼


如果上述編譯過(guò)程報錯請檢查交叉編譯工具鏈設置是否有問(wèn)題。
  • 編譯ICD文件:

  1. # cd examples/myir_iec61850_server
  2. # make model
  3. java -jar ../../tools/model_generator/genmodel.jar myir_iec61850_server.icd
  4. Select ICD File myir_iec61850_server.icd
  5. parse data type templates ...
  6. parse IED section ...
  7. parse communication section ...
  8. Found connectedAP ap1 for IED MYIR1
  9. print report instance 01
  10. print report instance 02
復制代碼


如果上述過(guò)程報錯請檢查JAVA運行環(huán)境是否設置成功。
編譯MYIR IEC61850演示程序:
  1. # cd examples/myir_iec61850_server
    # make TARGET=LINUX-ARM
復制代碼

4.運行驗證IEC61850應用
4.1. 運行應用
編譯完成后MYIR IEC61850應用位于examples/myir_iec61850_server/目錄下面,將myir_iec61850_server拷貝至開(kāi)發(fā)板,運行過(guò)程如下所示。
  1. # dbus-launch
    DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-c0AGn2s5XN,guid=d6544df82962d617c2dc37805c2c2d68
    DBUS_SESSION_BUS_PID=5649
    # export DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-c0AGn2s5XN
    # ./myir_iec61850_server
    # Using libIEC61850 version 1.3.0
復制代碼

4.2. 程序驗證
安裝包可以在03-Tools/IEDScout.zip文件中獲取。
  • 測試驗證:

進(jìn)入IEC61850應用界面,打開(kāi)PC端IEDScout軟件。
點(diǎn)擊IECScout主界面下面的 Discover IED 按鈕,然后輸入輸入開(kāi)發(fā)板網(wǎng)口的IP地址 192.168.x.xxx ,輸入完成后點(diǎn)擊 Discover 按鈕。
進(jìn)入 Browser 頁(yè)面,可以看到以MYIR1命名的IED設備模型。
點(diǎn)擊IED設備模型下面的Data Models->LD1->GGIO1進(jìn)入通用I/O控制界面。
雙擊GGIO1下面的LED1數據對象,可以看到Switch這個(gè)數據屬性,然后點(diǎn)擊上方菜單欄的Write按鈕即可對LED1進(jìn)行控制。
在Value欄選擇false,然后點(diǎn)擊Write按鍵,此時(shí)開(kāi)發(fā)板上的LED心跳燈就被點(diǎn)亮了,說(shuō)明通訊成功。
米爾基于STM32MP135開(kāi)發(fā)板
米爾STM32MP135開(kāi)發(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接口。開(kāi)發(fā)板配套提供豐富的軟件資源以及文檔資料,助力開(kāi)發(fā)者開(kāi)發(fā)成功。
米爾STM32MP135開(kāi)發(fā)板標注圖

2.png (78.51 KB)

2.png

3.png (73.08 KB)

3.png

4.png (90.5 KB)

4.png

5.png (124.02 KB)

5.png

6.png (86.24 KB)

6.png

7.png (1.16 MB)

7.png

8.png (766.16 KB)

8.png
本文地址:http://selenalain.com/thread-851208-1-1.html     【打印本頁(yè)】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對其真實(shí)性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問(wèn)題,我們將根據著(zhù)作權人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页