# YX-PIS-Demo **Repository Path**: yx-pis/yx-pis-demo ## Basic Information - **Project Name**: YX-PIS-Demo - **Description**: YX-PIS IEC61850协议栈demo示例 - **Primary Language**: C - **License**: Not specified - **Default Branch**: master - **Homepage**: http://www.yunxing.tech - **GVP Project**: No ## Statistics - **Stars**: 72 - **Forks**: 28 - **Created**: 2022-04-09 - **Last Updated**: 2026-04-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: IEC61850, 61850, MMS, 智能电网, CMS ## README # YX-PIS-Demo #### 介绍 云行科技 YX-PIS IEC61850 协议栈的 demo 示例。 #### 说明 本 demo 提供基于 C 语言的 YX-PIS MMS 和 CMS 的应用示例,以及 Windows x64 的完整无限制的 YX-PIS 的 lib 库。 用户可通过本 demo 的例程和 YX-PIS 的 API,实现 IEC61850 的各种功能测试或研发摸底。 本 demo 中提供的 YX-PIS 的 lib 库版本,可能是高于正式发布版本的最新 beta 版本。 #### demo 的依赖 1. 需要 Windows x64 环境 本 demo 目前仅提供 Windows x64 环境对应的 YX-PIS 的 lib 库。 若要在其他平台环境中运行,请咨询云行科技的技术支持。 2. 需要 pcap 库 Windows 环境可通过安装 npcap 或 winpcap 获得。 可在 [npcap官网](https://npcap.com/) 下载安装 npcap 的最新版本(推荐),或者在 [winpcap官网](https://www.winpcap.org/) 下载安装 winpcap 的 4.1.3 版本。 3. 需要有线网卡 可以是 USB 网卡。 #### demo 的编译与运行 1. 安装 Visual Studio 2022,并安装 c/c++ 的相关组件 2. 下载本 demo 的代码 3. 修改 `cidFiles/mms-cid/`、`cidFiles/cms-cid/` 目录中,各个示例模型文件的接入点的 IP、MAC 地址等信息。 具体请参照下方的 `demo 模型的修改说明` 4. 编译 demo 代码 启动 Visual Studio 2022,选择 “打开本地文件夹”,打开本 demo 的 CMakeLists.txt 文件所在的根目录 `yx-pis-demo/`,等待 Visual Studio 2022 解析完 demo 工程文件后,在 “生成” 菜单中选择执行 “全部生成” 或 “全部重新生成”,编译 demo 代码。 编译通过后, MMS 的 demo 程序 `mms-client`、`mms-server`、`mms-server-sub`,将输出在 `out/build/x64-Debug/mms` 目录中; CMS 的 demo 程序 `cms-client`、`cms-server`、`cms-server-sub`,将输出在 `out/build/x64-Debug/cms` 目录中。 5. 将对应的模型文件目录,复制到 demo 程序输出的目录中 将 MMS demo 使用的 `cidFiles/mms-cid/` 文件夹,复制到 `out/build/x64-Debug/mms` 目录中; 将 CMS demo 使用的`cidFiles/cms-cid/` 文件夹,复制到 `out/build/x64-Debug/cms` 目录中。 6. 直接运行,或者通过 Visual Studio 2022 调试运行各个 demo 程序即可。 服务端与客户端可以运行在同一个设备上。 #### demo 模型的修改说明 编辑 `cidFiles/mms-cid/`、`cidFiles/cms-cid/` 目录中的各个 cid 模型文件, 将各个模型文件的 `
` 段落内的 IP 地址 `192.168.8.1` 和 MAC 地址 `00-50-56-C0-00-08`,修改为 demo 运行环境本地网卡的 IP、MAC 地址。 具体的修改位置,参照下方由 `` 注释标记的行。 注意,``、`` 段落内的 `
` 中的 MAC 地址,不是本地网卡的 MAC 地址,不需要修改。 模型文件需要以 UTF-8 编码保存。 可在 Windows 系统的 “网络和 Internet 设置” 中,或通过在 cmd 或 power shell 中执行 `ipconfig /all` 命令,来查看本地网卡的 IP、MAC 地址。 以修改 `cidFiles/mms-cid/` 目录下的模型文件为例。`cidFiles/mms-cid/` 目录下的模型文件的修改方法相同。 - 客户端的模型文件 `client.cid` ```xml

1,1,9999,1

12

00000001

0001

0001

192.168.8.1

255.255.255.0

192.168.8.2

00-50-56-C0-00-08

1,1,9999,1

12

00000001

0001

0001

192.168.8.1

255.255.255.0

192.168.8.2

00-50-56-C0-00-08

``` - 服务端的模型文件 `server.cid` ```xml

1,1,9999,1

12

00000001

0001

0001

192.168.8.1

255.255.255.0

192.168.8.2

00-50-56-C0-00-08

``` - 订阅 GOOSE 的服务端的模型文件 `serverSubscriber.cid` ```xml

1,1,9999,1

12

00000001

0001

0001

103

192.168.8.1

255.255.255.0

192.168.8.2

00-50-56-C0-00-08

``` 其中的 `

103

` 一行,用于指定服务端运行所在的端口。 不指定时,MMS / CMS 服务端运行所在的默认端口分别为 102 / 8102。 此处指定端口为 103,是为了让 `mms-server-sub` 运行在非默认端口上,以与同为服务端的 `mms-server` 同时运行在同一环境中而不发生端口冲突。 若 `mms-server-sub` 与 `mms-server` 分别运行在不同设备上,则无需配置 `

` 来更改端口。 #### 参考资料 参考本站 wiki:https://gitee.com/yx-pis/yx-pis-demo/wikis/ #### 联系方式 更多相关资讯,欢迎访问云行科技官网:[https://yunxing.tech](https://yunxing.tech) 或请电子邮件联络:[yx@yunxing.tech](mailto://yx@yunxing.tech)