STM32MP135开发板助力电力行业,IEC61850协议移植笔记

发布时间:2024-2-2 19:44    发布者:swiftman
关键词: 嵌入式 , ST , STM32 , STM32MP1 , 开发板
1.概述
IEC61850是变电站自动化系统(SAS)中通信系统和分散能源(DER)管理的国际标准。它通过标准的实现,实现了智能变电站的工程运作标准化。使得智能变电站的工程实施变得规范、统一和透明,在电力和储能系统中应用非常广泛。
本文基于米尔MYD-YF13X开发板,在Linux系统上移植和使用开源的libIEC61850库,该库提供了用C语言编写的IEC 61850 / MMS,IEC 61850 / GOOSE和IEC 61850-9-2 /采样值通信协议的服务端和客户端库。
IEC61850开源库了解更多请访问:http://libiec61850.com/libiec61850/
MYD-YF13X开发板了解更多访问:https://www.myir.cn/shows/110/57.html

2.搭建配置环境
本章节讲述libIEC61850库的编译环境配置过程。
2.1. 安装JAVA环境
IEC61850库中的ICD文件需要一个JAVA工具来进行转换,所以需要先安装JAVA运行环境。米尔提供的JDK安装包位于光盘03-Tools目录,拷贝jdk-8u191-linux-x64.tar.gz到ubuntu工作目录,并解压出来。
  1. # cd /JDK
    # tar zxvf jdk-8u191-linux-x64.tar.gz
    # cd jdk1.8.0_191
复制代码

配置JAVA环境变量,修改/etc/profile文件,为用户工作路径在里面添加如下内容:
  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
复制代码

修改完成保存退出,使用下面命令来验证JAVA运行环境是否安装成功:
  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制作的交叉编译工具链。拷贝位于光盘04-Linux_sourceToolchainarm-myir-linux-gnueabihf-gcc.tar.gz到ubuntu的工作目录。通过下面操作设置交叉编译工具链环境变量。
  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
    ...
    ...
    线程模型:posix gcc
    版本 7.4.0 (Buildroot 2019.02.2-g04eff54)
复制代码

3.编译IEC61850库
本章节讲述IEC61850库的编译和MYIR IEC61850演示程序myir_iec61850_server的编译过程。
3.1. 获取IEC61850源码包
米尔提供libIEC61850源码位于光盘文件的/04-Linux_Source/IEC61850目录,将libiec61850-1.3.0.tar.gz拷贝到ubuntu目录工作目录,并解压出来,其中为用户工作目录。
  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来指定外部库的路径,将替换为用户实际的工作路径:

  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
复制代码


如果上述编译过程报错请检查交叉编译工具链设置是否有问题。
  • 编译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
复制代码


如果上述过程报错请检查JAVA运行环境是否设置成功。
编译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拷贝至开发板,运行过程如下所示。
  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文件中获取。
  • 测试验证:

进入IEC61850应用界面,打开PC端IEDScout软件。
2.png
点击IECScout主界面下面的 Discover IED 按钮,然后输入输入开发板网口的IP地址 192.168.x.xxx ,输入完成后点击 Discover 按钮。
3.png
进入 Browser 页面,可以看到以MYIR1命名的IED设备模型。
4.png
点击IED设备模型下面的Data Models->LD1->GGIO1进入通用I/O控制界面。
5.png
双击GGIO1下面的LED1数据对象,可以看到Switch这个数据属性,然后点击上方菜单栏的Write按钮即可对LED1进行控制。
6.png
在Value栏选择false,然后点击Write按键,此时开发板上的LED心跳灯就被点亮了,说明通讯成功。
米尔基于STM32MP135开发板
米尔STM32MP135开发板,基于单核 Cortex-A7 设计的STM32MP13系列处理器,采用12V/2A直流供电,搭载了2路千兆以太网接口、1路USB2.0协议MINI PCIE插座的4G模块接口、1路RGB显示接口、1路音频输入输出接口、2路USB HOST Type A、1路 USB OTG Type-C接口、1路Micro SD接口。开发板配套提供丰富的软件资源以及文档资料,助力开发者开发成功。
7.png
8.png
米尔STM32MP135开发板标注图
2.png
3.png
4.png
5.png
6.png
7.png
8.png
本文地址:https://www.eechina.com/thread-851208-1-1.html     【打印本页】

本站部分文章为转载或网友发布,目的在于传递和分享信息,并不代表本网赞同其观点和对其真实性负责;文章版权归原作者及原出处所有,如涉及作品内容、版权和其它问题,我们将根据著作权人的要求,第一时间更正或删除。
您需要登录后才可以发表评论 登录 | 立即注册

厂商推荐

相关视频

关于我们  -  服务条款  -  使用指南  -  站点地图  -  友情链接  -  联系我们
电子工程网 © 版权所有   京ICP备16069177号 | 京公网安备11010502021702
快速回复 返回顶部 返回列表