一、为什么储能系统需要IEC 61850
在储能行业快速发展之前,IEC61850是一个主要活跃在变电站自动化领域的标准。电网调度中心、继电保护装置、测控单元之间的通信,大量依赖这套体系。
但随着大规模储能接入电网,一个让所有系统集成商头疼的问题浮出水面:每个BMS厂商、每个PCS厂商、每个EMS厂商都有自己的私有协议,Modbus RTU、CAN、自定义TCP协议各行其是。一个100MWh的储能电站,可能同时运行着十几种不同的通信协议,集成联调的工作量占据了整个项目工期的30%以上,而且一旦某个设备升级固件,接口就可能失效。
IEC 61850从根本上解决的是这个问题——它定义了一套统一的数据模型、通信服务和配置语言,让不同厂商的设备能够在标准层面互操作,而不依赖私有协议约定。
二、IEC 61850标准体系的完整架构
IEC 61850不是一个单一文件,而是由IEC TC57工作组制定的一组相互关联的系列标准。理解它的结构,是正确使用它的前提。
与储能系统最直接相关的子标准:
┌───────────────────┬───────────────────────┬────────────────────────────────────────┐
│ 标准号 │ 核心内容 │ 储能应用关联 │
├───────────────────┼───────────────────────┼────────────────────────────────────────┤
│ IEC 61850-6 │ 变电站配置语言(SCL) │ IED/EMS设备能力描述文件,.icd/.cid格式 │
├───────────────────┼───────────────────────┼────────────────────────────────────────┤
│ IEC 61850-7-1/2 │ 数据模型原则与ACSI │ 逻辑节点、数据对象、抽象通信服务定义 │
├───────────────────┼───────────────────────┼────────────────────────────────────────┤
│ IEC 61850-7-410 │ 水电站扩展逻辑节点 │ ZBAT/ZBTC电池管理相关逻辑节点 │
├───────────────────┼───────────────────────┼────────────────────────────────────────┤
│ IEC 61850-7-420 │ 分布式能源通信(DER) │ DSTO/DCSO储能核心逻辑节点 │
├───────────────────┼───────────────────────┼────────────────────────────────────────┤
│ IEC 61850-8-1 │ MMS协议映射 │ EMS与调度系统SCADA通信报文 │
├───────────────────┼───────────────────────┼────────────────────────────────────────┤
│ IEC 61850-9-2 │ 采样值(SV) │ PCS并网点高频采样→保护装置 │
├───────────────────┼───────────────────────┼────────────────────────────────────────┤
│ IEC TR 61850-90-6 │ 储能通信应用指南 │ BESS完整通信方案,充放控制、SOC上报 │
└───────────────────┴───────────────────────┴────────────────────────────────────────┘
整个标准体系的分层模型如下:
┌────────────────────────────────────────────────────────┐
│ 应用层 │ MMS(控制/监测)/ GOOSE(快速保护联跳) │
│ │ SV(高精度采样值)/ XMPP(云EMS扩展) │
├───────────┼────────────────────────────────────────────┤
│ 数据模型层│ 逻辑节点(LN)→ 数据对象(DO)→ 数据属性 │
│ │ 服务模型(ACSI): GetDataValues / Report │
├───────────┼────────────────────────────────────────────┤
│ 通信映射层│ MMS over TCP/IP(port 102) │
│ │ GOOSE over Ethernet(L2组播,无TCP延时) │
│ │ SV over Ethernet(IEEE 1588时间同步) │
├───────────┼────────────────────────────────────────────┤
│ 物理层 │ 100M/1000M以太网,IEC 61850-90-4交换机 │
└────────────────────────────────────────────────────────┘
这个分层设计的核心意义在于:上层应用只与数据模型交互,不关心底层是以太网还是光纤;通信映射层决定用MMS还是GOOSE,应用层不需要改动。这种解耦使得同一套业务逻辑可以在不同物理网络上运行。
三、核心概念:IED、逻辑节点与数据对象
3.1 IED(智能电子设备)
IED(Intelligent Electronic Device)是IEC 61850里的基本参与单元,可以是一台保护继电器、一台BMS控制器、一台PCS变流器,或者一台EMS主机。每个IED包含若干逻辑设备(LD),每个逻辑设备包含若干逻辑节点(LN)。
这是一个三级嵌套结构:
IED(物理设备)
└── LD(逻辑设备,如 BATT、PCS、PROT)
└── LN(逻辑节点,如 ZBAT1、DCSO1、MMXU1)
└── DO(数据对象,如 SoC、Vol、WMaxLim)
└── DA(数据属性,如 instMag、q、t)
3.2 逻辑节点的命名规则
IEC 61850用字母前缀对逻辑节点分类,规律很清晰:
- Z开头:电器设备相关(ZBAT=电池,ZBTC=充电机)
- D开头:分布式能源(DSTO=储能单元,DCSO=DER控制)
- M开头:测量(MMXU=电气量测量)
- P开头:保护(PTOC=过流,PTOV=过压)
- C开头:控制(CSWI=开关控制)
- G开头:通用(GGIO=通用I/O)
3.3 储能专用逻辑节点详解
对储能系统工程师来说,以下几个逻辑节点是最高频使用的:
DSTO(Storage Unit) —— 储能系统状态上报的核心LN
DSTO
├── SocMax : FLOAT32 最大SOC限制(%)
├── SocMin : FLOAT32 最小SOC限制(%)
├── SocRtg : FLOAT32 当前SOC(%)
├── AhrRtg : FLOAT32 额定容量(Ah)
└── ChaSt : ENUM 充电状态(充电/放电/待机/故障)
ZBAT(Battery Unit) —— 电池簇精细状态
ZBAT
├── Vol : MV 端电压(V)
├── Amp : MV 电流(A)
├── Tmp : MV 温度(°C)
├── SoC : MV SOC(%)
├── SoH : MV SOH(%)
└── CellVol[n] : ARRAY 单体电压数组(V)
DCSO(DER Ctrl Storage) —— EMS下发功率指令的关键LN
DCSO
├── WMaxLim : APC 有功功率上限指令(kW)
├── VArMaxLim : APC 无功功率上限指令(kVar)
├── OutPFSet : APC 出力功率因数设定
└── InPFSet : APC 入力功率因数设定
DCSO中的每个控制数据对象(如WMaxLim)包含ctlVal(控制值)、stVal(状态值)、q(质量码)、t(时间戳)四个标准属性。EMS写ctlVal发出指令,读stVal确认执行结果,q和t提供数据质量和时序信息。
四、三大通信服务:GOOSE、SV、MMS
IEC 61850用三种通信机制覆盖了不同的实时性需求,理解三者的差异是选对通信方案的前提。
4.1 GOOSE —— 毫秒级保护联跳
**GOOSE(Generic Object Oriented Substation Events)**的设计目标是取代传统的硬接线跳闸回路。
技术特征:
- 直接跑在以太网L2层,用组播MAC地址传输,完全绕过TCP/IP协议栈
- 无连接建立开销,典型端到端延迟< 4ms(IEC 61850-5定义的P1类)
- 采用变化重传机制:无变化时每隔固定时间发心跳;一旦状态变化,立即高速重传(通常重传4次,间隔2ms、2ms、4ms、8ms递增)
- 用StNum(状态序号)和SqNum(重传序号)保证不丢帧
在储能系统中的典型应用:
PCS故障 → PCS-IED发出GOOSE → BMS-IED订阅 → 触发簇脱网 消防告警 → 消防IED发出GOOSE → PCS-IED + BMS-IED → 全站紧急停机
GOOSE报文结构关键字段:
<GOOSE>
<gocbRef>BESS1/LLN0$GO$GoCB01</gocbRef>
<timeAllowedToLive>20000</timeAllowedToLive> <!-- 最大存活时间ms -->
<datSet>BESS1/LLN0$GOOSE1</datSet>
<goID>BESS1_Trip</goID>
<t>2026-06-11T07:12:02.886Z</t>
<stNum>5</stNum> <!-- 状态变化计数,每次变化递增 -->
<sqNum>2</sqNum> <!-- 重传计数 -->
<simulation>false</simulation>
<confRev>1</confRev>
<allData>
<boolean>true</boolean> <!-- 跳闸信号 -->
</allData>
</GOOSE>
订阅端(BMS-IED)收到GOOSE后,检查stNum是否比上次更大。如果是,说明状态发生了变化,触发本地逻辑;如果stNum相同,这是重传包,忽略处理(避免重复动作)。
4.2 SV —— 微秒级精密采样
SV(Sampled Values)用于将互感器的高频采样数据实时发送给保护装置。
技术特征:
- 依赖IEEE 1588 PTP(Precision Time Protocol)精确时间同步,同步精度<1μs
- 采样率标准为4000Hz(每工频周波80个采样点)
- 同样跑在L2层,无TCP开销
- 每帧包含smpCnt(采样计数)和smpSynch(同步状态标志)
在储能系统中,SV主要用于PCS并网保护场景:并网点CT/PT的采样值通过SV直接传给保护IED,保护IED在检测到电流异常时立即触发GOOSE跳闸。这个时序要求非常严苛——从CT采样到保护动作的总时间必须小于一个工频半周期(10ms),其中采样传输必须在2ms内完成。
对于普通的储能监控(SOC上报、功率调度),不需要SV,MMS足够。
4.3 MMS —— 储能EMS的主力通信通道
MMS(Manufacturing Message Specification,ISO/IEC 9506)是IEC 61850-8-1定义的应用层协议,跑在TCP/IP之上(标准端口102)。
MMS提供的核心服务和储能应用映射:
┌──────────────────────┬─────────┬───────────────────────────┬─────────────────────┐
│ MMS服务 │ 方向 │ 储能典型用途 │ 触发方式 │
├──────────────────────┼─────────┼───────────────────────────┼─────────────────────┤
│ Read / Write │ 双向 │ SOC读取、功率指令下发 │ 按需轮询或单次 │
├──────────────────────┼─────────┼───────────────────────────┼─────────────────────┤
│ Report (BRCB/URCB) │ IED→EMS │ SOC越限告警、故障事件上报 │ 事件触发 + deadband │
├──────────────────────┼─────────┼───────────────────────────┼─────────────────────┤
│ GetDataSetValues │ EMS→IED │ 批量采集电池组全量数据 │ 周期500ms~1s │
├──────────────────────┼─────────┼───────────────────────────┼─────────────────────┤
│ Control (SBO/Direct) │ EMS→IED │ 开关操作、充放模式切换 │ 指令下发 │
├──────────────────────┼─────────┼───────────────────────────┼─────────────────────┤
│ Log / Journal │ 双向 │ 告警历史、操作日志 │ 异步查询 │
└──────────────────────┴─────────┴───────────────────────────┴─────────────────────┘
MMS Report(上报)机制是日常监控最重要的服务,它有两种模式:
- BRCB(Buffered Report):带缓冲,离线期间的报告会被保存,重连后补传。适合SOC变化、告警事件等不能丢失的数据。
- URCB(Unbuffered Report):不带缓冲,连接断开则报告丢失。适合周期性的实时遥测数据。
Report控制块(RCB)的关键配置:
<ReportControl name="BRC01" datSet="DS_BATT_STATUS"
rptID="BESS1_Status" buffered="true"
intgPd="1000" <!-- 完整性周期:1秒强制上报 -->
bufTime="100"> <!-- 缓冲时间:100ms内同类变化合并 -->
<TrgOps dchg="true" <!-- 数据变化触发 -->
qchg="true" <!-- 质量变化触发 -->
period="true"> <!-- 周期触发 -->
</TrgOps>
<OptFields seqNum="true" timeStamp="true" dataSet="true"
reasonCode="true" entryID="true"/>
</ReportControl>
deadband(死区)参数是避免报文洪泛的关键设置:对于SOC这类连续变化的量,设置0.5%的死区,意味着SOC变化不超过0.5%就不触发上报,有效降低网络负载。
五、储能EMS三层通信架构
IEC 61850在储能系统中构建了清晰的三层通信架构,每层的延时要求和数据流向都有明确定义:
┌──────────────────────────────────────────────────────────────┐
│ 调度 / 云端 EMS(第三层) │
│ IEC 61968/61970 CIM模型 ←→ IEC 61850-8-1 MMS Gateway │
│ MQTT/REST对接云平台 │
└──────────────────────┬───────────────────────────────────────┘
│ MMS over TCP/IP(站控LAN,100M/1G)
┌──────────────────────▼───────────────────────────────────────┐
│ 站控EMS / SCADA(第二层) │
│ 汇聚IED-Cluster1 汇聚IED-Cluster2 PCS-IED 计量IED │
│ │GOOSE联跳 │ │GOOSE/MMS │
└───────┼──────────────────┼──────────────┼────────────────────┘
│ 过程层以太网(双冗余Ring) │
┌───────▼──────────────────▼──────────────▼────────────────────┐
│ 过程层(第一层) │
│ BMS-IED×N(ZBAT/DSTO) PCS保护IED(PTOC/CSWI) 消防IED │
└──────────────────────────────────────────────────────────────┘
┌────────────────┬──────────────────┬───────────────────────┬────────────┬────────────────────────────────┐
│ 层级 │ 设备 │ 通信协议 │ 时延要求 │ 数据流 │
├────────────────┼──────────────────┼───────────────────────┼────────────┼────────────────────────────────┤
│ 第三层(调度) │ AGC/AVC、云EMS │ MMS Gateway / IEC 104 │ 秒级 │ 有功/无功调节指令、电量统计 │
├────────────────┼──────────────────┼───────────────────────┼────────────┼────────────────────────────────┤
│ 第二层(站控) │ EMS主机、SCADA │ MMS(端口102) │ 100ms~1s │ SOC/SoH/告警/开关状态/功率控制 │
├────────────────┼──────────────────┼───────────────────────┼────────────┼────────────────────────────────┤
│ 第一层(过程) │ BMS-IED、PCS-IED │ GOOSE + SV + MMS │ GOOSE <4ms │ 保护联跳、采样值、本地测控 │
└────────────────┴──────────────────┴───────────────────────┴────────────┴────────────────────────────────┘
这种分层的价值在于:时延要求最苛刻的保护功能(<4ms)完全在第一层通过GOOSE解决,不依赖第二层和第三层的网络状态。即使站控EMS因软件故障宕机,过程层的保护联跳仍然正常工作。这是IEC 61850架构设计中最重要的可靠性保证。
六、SCL配置文件:工程落地的核心
6.1 SCL文件体系
SCL(Substation Configuration Language)是IEC 61850-6定义的基于XML的配置语言,描述了整个变电站/储能站的设备拓扑、通信参数和逻辑节点配置。
SCL文件体系由四种文件类型构成:
- ICD文件(IED CapabilityDescription):设备厂商提供,描述该型号IED能实现的所有逻辑节点和通信能力,不含具体IP地址等工程参数。
- SSD文件(System Specification Description):描述整个电站的一次系统结构,通常由系统集成商提供。
- SCD文件(Substation Configuration Description):全站配置文件,包含所有IED的实例化配置、IP地址、GOOSE订阅/发布关系、数据集绑定。这是整个工程的"真相文件"。
- CID文件(Configured IED Description):从SCD中提取的单台IED专属配置,下发给IED加载。
6.2 工程配置流程
设备厂商提供 ICD 文件↓
工程师在配置工具(PCM600 / IEC 61850 Config Tool)中
导入所有 ICD → 分配 IP / AP / LN 实例编号
↓
配置 GOOSE 订阅/发布关系(哪个IED发、哪个IED收)
配置 MMS Report 数据集和报表参数
↓
生成 SCD 文件(全站配置描述)
↓
从 SCD 提取各 IED 的 CID 文件,下发各设备加载
↓
联调:GOOSE收发验证 → MMS报表绑定 → 时间同步精度验证
6.3 SCD文件的关键XML结构
一个典型的储能系统SCD片段,描述BMS-IED的逻辑节点实例:
<IED name="BESS1_BMS1" desc="Battery Cluster 1 BMS">
<AccessPoint name="S1">
<Server>
<LDevice inst="BATT">
<!-- 逻辑节点0:必须存在,包含设备信息 -->
<LN0 lnClass="LLN0" inst="" lnType="LLN0_Type">
<!-- GOOSE控制块:发布跳闸信号 -->
<GSEControl name="GoCB_Trip" datSet="DS_Trip"
appID="0x0001" confRev="1"/>
<!-- Report控制块:上报电池状态 -->
<ReportControl name="BRC_Status" datSet="DS_BattStatus"rptID="BESS1_BMS1_Status" buffered="true"
intgPd="1000"/>
</LN0>
<!-- ZBAT:电池单元状态 -->
<LN lnClass="ZBAT" inst="1" lnType="ZBAT_LFP_314Ah">
<!-- SoC:SOC上报,设置deadband=0.5% -->
<DOI name="SoC">
<DAI name="db">
<Val>5</Val> <!-- deadband=0.5%,单位0.1% -->
</DAI>
</DOI>
</LN>
<!-- DSTO:储能系统总状态 -->
<LN lnClass="DSTO" inst="1" lnType="DSTO_Basic">
</LN>
</LDevice>
</Server>
</AccessPoint>
</IED>
七、功率控制:SBO与Direct两种控制模式
EMS下发功率控制指令是储能系统中最核心的操作之一,IEC 61850定义了两种控制模式。
7.1 SBO(Select-Before-Operate)
SBO是双步操作:先"选择"再"执行",引入了互锁机制,防止多个客户端同时控制同一对象。
完整的SBO控制报文序列:
-- EMS向PCS下发有功功率限制(SBO方式)--
步骤1:EMS发出Select请求
[EMS → PCS-IED] SelectObjectRef: BESS1/DCSO1.WMaxLimPct.Oper
T: 2026-06-11T07:12:02.000Z
步骤2:PCS-IED确认Selected,并锁定该控制对象
[PCS-IED → EMS] Select+ Response (Selected OK)
步骤3:EMS在时限内发出Operate指令(通常30秒内)
[EMS → PCS-IED] Operate
ObjectRef: BESS1/DCSO1.WMaxLimPct.Oper
ctlVal: 75.0 (即75%额定有功)
T: 2026-06-11T07:12:02.010Z
Test: FALSE (TRUE表示测试模式,不实际执行)
步骤4:PCS-IED执行,返回成功
[PCS-IED → EMS] Operate+ Response (Success)
AddCause: 0 (NONE)
步骤5:PCS-IED通过Report上报状态变化确认
[PCS-IED → EMS] Report (BRCB,事件触发)
BESS1/DCSO1.WMaxLimPct.stVal = 75.0
BESS1/DCSO1.WMaxLimPct.q = GOOD
7.2 Direct(直接控制)
Direct模式省去Select步骤,直接发Operate。适用于响应速度要求极高的场景(如AGC快速调节),代价是失去互锁保护。
Python MMS客户端示例(使用libiec61850 Python绑定)
import iec61850
connection = iec61850.IedConnection.create()
connection.connect("192.168.1.10", 102)
Direct控制:直接写入有功功率限制
control_object = connection.createControlObjectClient(
"BESS1/DCSO1.WMaxLimPct"
)
control_object.setCommandTerminationHandler(termination_handler)
# 直接操作模式
val = iec61850.MmsValue.newFloat(75.0)
control_object.operate(val)
connection.close()
7.3 读取BMS状态数据
# 批量读取电池状态数据集
error, values = connection.readDataSetValues(
"BESS1_BMS1/BATT/LLN0$DS_BattStatus", None
)
# 逐个解析数据集成员
for i, member_ref in enumerate(dataset_members):
val = values.getElement(i)
if "SoC" in member_ref:
soc = val.toFloat()
print(f"SOC: {soc:.1f}%")
elif "Vol" in member_ref:
voltage = val.toFloat()
print(f"Voltage: {voltage:.2f}V")
八、国内BMS接入的三种方案
国内绝大多数BMS使用CAN 2.0或RS485私有协议,直接接入IEC 61850网络需要协议转换。三种方案各有适用场景:
方案一:软网关(推荐用于新建项目)
在工控机上运行IEC 61850 Server SDK(如libiec61850、MZ Automation),轮询BMS串口数据并映射到标准逻辑节点:
# 软网关核心逻辑示意
class BmsToIec61850Gateway:
def __init__(self, bms_port, iec_server):
self.bms = CANBusReader(bms_port)
self.server = iec_server
def poll_and_update(self):
while True:
# 从BMS读取数据
bms_data = self.bms.read_cluster_status()
# 映射到IEC 61850数据模型
# ZBAT.SoC
self.server.updateAttributeFloat(
"BESS1_BMS1/BATT/ZBAT1.SoC.instMag.f",
bms_data.soc
)
# ZBAT.Vol(端电压)
self.server.updateAttributeFloat(
"BESS1_BMS1/BATT/ZBAT1.Vol.instMag.f",
bms_data.voltage
)
# DSTO.ChaSt(充电状态)
self.server.updateAttributeInt32(
"BESS1_BMS1/BATT/DSTO1.ChaSt.stVal",
self._map_charge_state(bms_data.state)
)
time.sleep(0.1) # 100ms轮询
方案二:硬网关
使用专用协议转换盒(如MOXA MGate定制版),通过Modbus/CAN采集BMS数据,转换为IEC 61850MMS上报。优点是工业级可靠性,缺点是灵活性差,LN映射表修改需要重新配置硬件。
方案三:原生61850 BMS
BMS主控板直接集成IEC 61850协议栈,实时性最佳,但研发成本高、认证周期长。目前宁德时代部分定制项目和少数高端储能产品已经采用这种方案。
九、工程落地中的常见问题与解决思路
问题一:GOOSE不通
最常见原因是VLAN配置错误。GOOSE是以太网L2组播,不经过路由器,必须确保发布端和所有订阅端在同一个L2广播域(同一VLAN)。另一个常见原因是SCD文件里的MAC地址和VLAN ID没有与实际交换机配置对应。
排查方法:用Wireshark抓包,过滤iec61850goose,确认能收到报文,然后检查appID和goID是否与SCD中的订阅配置一致。
问题二:MMS Report不上报
先检查Report控制块是否被正确使能。EMS连接后必须显式发送EnableReporting指令激活BRCB/URCB,IED不会自动开始上报。其次检查intgPd(完整性周期)设置,如果设为0表示只靠事件触发,数据变化不超过deadband就永远不会上报。
问题三:时间同步精度不足影响SV
SV依赖IEEE 1588 PTP,需要交换机支持硬件时间戳(Boundary Clock或Transparent Clock)。如果交换机只支持软件时间戳,抖动会超过1μs,SV的smpSynch标志会置为不同步状态,保护装置会拒绝使用这批采样数据。
问题四:MMS性能瓶颈
单个MMS连接轮询过多数据点会导致延时累积。工程上的优化原则:用GetDataSetValues替代逐点Read,一次请求获取整个数据集;为高频数据单独建立数据集,低频数据放另一个数据集,设置不同的上报周期;SOC类死区设0.5%,电压类死区设0.5%,减少不必要的事 件上报。
十、安全合规:不能绕过的工程要求
IEC 61850原始协议没有强制加密认证,但接入调度系统和大型储能站的项目必须满足安全要求。
IEC 62351系列标准为IEC 61850提供安全扩展:
- IEC 62351-3:MMS传输层安全,即MMS over TLS(端口3782替代102)
- IEC 62351-4:MMS应用层认证
- IEC 62351-5:GOOSE和SV的消息认证(HMAC签名)
国内项目还需满足国密合规要求:TLS 1.3 +SM2/SM4替代RSA/AES,MMS通道使用SM2证书双向认证,GOOSE安全标签使用SM3哈希签名。参考标准GB/T 37092。
国网Q/GDW 1396接入规范要求调度主站MMS接入必须通过二遥/四遥信号映射验证,这意味着储能系统的SOC上报、功率控制接口必须与调度主站提前约定好逻辑节点实例名和数据对象映射表。
结语:标准是基础,工程是关键
IEC 61850提供了一套严谨的技术框架,把储能系统的设备互联从"私有协议约定"提升到了"标准化模型互操作"的水平。但标准只是基础,工程落地的核心在于以下几点:
SCL文件的设计质量决定了联调效率。 一份设计规范、LN实例编号清晰、GOOSE关系明确的SCD文件,可以把联调工期从三周压缩到三天。反之,LN命名混乱、数据集定义不合理的项目,联调过程会充满痛苦的逐点排查。
GOOSE设计要做好冗余。过程层交换机必须做双环网冗余(PRP/HSR协议),GOOSE联跳报文不能依赖单点,储能系统的高可用性在这里是有成本的。
MMS性能要提前规划。 一个100MWh的储能站可能有50台以上的BMS-IED,每台上报数百个数据点,如果不做好数据集设计和deadband优化,MMS网络在满负荷运行时会出现明显延迟,影响EMS的控制响应速度。
与调度系统的接口必须在方案设计阶段明确。 LN映射表一旦进入联调阶段再修改,牵一发动全身,代价极高。
IEC 61850在储能行业的渗透率还在快速提升,随着大型储能项目接入电网调度系统的比例增加,这套标准将从"可选项"逐渐变成"必选项"。现在理解和掌握它,比等到项目现场再临时学习,要划算得多。