典型 IEC 61850 工程流程
一个较典型的工程流程如下设备厂家││ 提供设备能力描述▼BMS.icdPCS.icd电表.icd保护装置.icd│▼系统集成商导入系统配置工具││ 配置IED名称、网络、报告、GOOSE等▼station.scd│├───────────────┬───────────────┐▼ ▼ ▼BMS01.cid PCS01.cid Meter01.cid│ │ │▼ ▼ ▼下发BMS设备 下发PCS设备 下发电表设备可以概括为ICD → 作为系统配置输入SCD → 保存全站最终配置CID → 下发给具体IED10. 在 BMS 项目中的实际含义假设你是 BMS 设备厂家。10.1 设备研发阶段你需要设计并提供VRFB_BMS.icd它描述你的 BMS 支持哪些 Logical Device哪些 Logical Node哪些遥测哪些遥信哪些遥控哪些遥调哪些 DataSet哪些 Report Control Block是否支持文件服务是否支持 GOOSE是否支持控制服务。10.2 电站工程配置阶段上游客户或系统集成商将你的 ICD 导入全站工程与 PCS、EMS、电表和其他设备一起配置。最终形成station.scd10.3 设备投运阶段上游客户可能从 SCD 中导出与你的 BMS 对应的BMS01.cidCID 中包含最终 IED 名称最终通信地址最终模型实例最终 DataSet最终报告配置最终 GOOSE 配置。你的程序可以根据 CID 生成或加载实际运行模型。与 libiec61850 的关系libiec61850 提供的 genmodel.jar 可以解析包含完整 IED 模型的 SCL 文件。例如java -jar genmodel.jar BMS.icd或者java -jar genmodel.jar BMS01.cid生成static_model.cstatic_model.h然后在程序中使用#include “static_model.h”IedServer server IedServer_create(iedModel);整个链路如下ICD或CID↓genmodel.jar↓static_model.c / static_model.h↓libiec61850 Server↓MMS客户端浏览和访问IEC 61850点位之所以 ICD 和 CID 都可能被 genmodel.jar 解析是因为它真正需要的是 SCL 文件中的模型信息例如IEDLDeviceLNDODADataTypeTemplatesDataSetReportControl。12. 常见误区12.1 SCL 不是某一种具体文件错误理解SCL、ICD、CID是三个完全独立的文件格式正确理解SCL是语言和文件体系ICD、CID、SCD、IID是不同用途的SCL文件12.2 ICD 不等于简单点表ICD 不只是列出SOC电压电流功率它还要描述点属于哪个 Logical Node使用哪个 Data Object使用哪个 CDC使用哪个 FC是否包含质量位是否包含时间戳是否进入 DataSet是否通过 Report 上送是否支持控制。12.3 CID 不只是网络配置文件CID 不仅包含 IP 地址也可能包含完整的IEC 61850 数据模型DataSetReportGOOSE控制模型通信参数。12.4 ICD 和 CID 的 XML 标签不一定明显不同两种文件使用同一套 SCL XML 语法。它们的主要区别是用途和工程阶段而不是文件内部必须使用完全不同的标签。一句话总结SCLIEC 61850使用的XML配置描述语言和文件体系。ICD描述某类IED能够提供哪些数据、模型和服务。CID描述某台IED在具体项目中的最终配置。SCD描述整个IEC 61850系统或电站的最终配置。