CiA 303 - CANopen 工程单位与状态指示灯规范(第2部分+第3部分)

CiA Recommendation 303(2012-04-27 公开发布版):

  • Part 2: SI 单位与前缀的表示法(V1.5.0)
  • Part 3: 通信状态指示灯规范(V1.4.0)

两部分都是给 CANopen 设备/接口/应用 profile 作者用的”编目型”推荐规范——不定义通信行为,只统一”单位怎么编码、LED 怎么闪”。

Part 2:SI 单位编码(V1.5.0,对齐 ISO 80000)

核心:32 位单位参数定义(UNSIGNED32 对象)

bit31-24: Prefix(前缀) | bit23-16: SI numerator(分子) | bit15-8: SI denominator(分母) | bit7-0: Profile-specific

基本单位时分子填单位索引、分母=1;导出单位分子/分母各填索引。

关键索引速查(十六进制)

  • 无量纲=00;基本单位:m=01, kg=02, s=03, A=04, K=05, mol=06, cd=07
  • 常用导出:Hz=20, N=21, Pa=22, J=23, W=24, C=25, V=26, F=27, Ω=28, S=29, Wb=2A, T=2B, H=2C, °C=2D, lm=2E, lx=2F
  • 人体健康类:Bq=30, Gy=31, Sv=32, kat=33
  • 与 SI 并用的单位:°=41, min=47, h=48, d=49, L=44, t=4C, bar=4E, eV=51, m/s²=55, Nm=56, m²=58, m³=59, Pa·s=5A(动力黏度), J/(kg·K)=5B, W/(m·K)=5C
  • A0–FF 留给 profile 自定义

前缀编码(有意思的设计:以 10^0=00 为中心对称补码式布局)

指数即带符号数:k=03, M=06, G=09, T=0C;m(毫)=FD, µ=FA, n=F7, p=F4, f=F1, a=EE。前缀域 8 位,10 的幂直接当有符号整数用——做单位换算时前缀码 ≈ 阶乘指数的补码表示。

附录示例:速度传感器 km/h → 0x03_01_48_00(prefix=k, numerator=m, denominator=h)。

Part 3:LED 指示灯语义(做设备面板/排查现场故障直接查这张表)

两种硬件形态二选一:红 ERR + 绿 RUN 双灯,或单个双色 STATUS 灯(红绿冲突时优先显红)。

闪光节奏定义

状态节奏
flickering 抖动~10 Hz(50ms 亮/50ms 灭)
blinking 闪烁~2.5 Hz(200ms/200ms)
single/double/triple/quadruple flash1-4 下短闪(200ms),间隔 200ms,后跟 1s 长灭

ERR 灯真值表(物理层+报文丢失)

ERR 灯含义强制性
灭无错误必须
抖动AutoBitrate/LSS 进行中可选
闪烁配置无效可选
单闪CAN 错误计数器超警戒线(错误帧过多)必须
双闪guard/heartbeat 事件(节点失守)必须
三闪SYNC 超时(对象 1006h 存在时必做)条件
四闪事件定时器内 PDO 未到达可选
常亮bus off必须

RUN 灯真值表(NMT 状态机)

抖动=AutoBitrate/LSS;闪烁=PREOPERATIONAL;常亮=OPERATIONAL;单闪=STOPPED;三闪=固件下载中(可选);复位过程中灭。

双色 STATUS 灯 = 两表叠加显示(如红单闪+绿闪烁 = 预运行态且 CAN 警戒)。

关联