3、测试标准与规范:IEC 62443、IEC 61784、ISO 16845等标准体系,以及协议规范文档的解读方法

做一致性测试这些年,我最大的感触就是:不懂标准,测试就是瞎测。你想想看,连被测对象该长什么样都不知道,你怎么判断它合不合格?

这一章,咱们就来聊聊那些绕不开的标准体系。我尽量用大白话讲清楚,不搞那些虚头巴脑的理论。

3.1 三大标准体系,各管一摊

工业通信领域,标准多如牛毛。但真正跟一致性测试强相关的,主要是这三个:IEC 62443IEC 61784ISO 16845。它们分工很明确,别搞混了。

标准编号 核心定位 跟我测试的关系
IEC 62443 工业通信网络安全 测安全功能,比如身份认证、加密
IEC 61784 工业通信行规集 测协议一致性,比如PROFINET、EtherCAT
ISO 16845 CAN总线一致性测试 专门测CAN控制器和收发器

3.1.1 IEC 62443:安全不是附赠品

这个标准,说白了就是给工业控制系统定安全规矩的。以前大家觉得,工厂里的设备在封闭网络里跑,很安全。但自从震网病毒事件之后,没人敢这么想了。

我个人习惯,在测PROFINET设备时,一定会翻一翻IEC 62443-4-2。它规定了组件级的安全要求。比如:

  • 用户身份认证:设备是不是强制要求登录密码?
  • 通信加密:数据在线上是不是明文裸奔?
  • 日志审计:谁在什么时候改了什么配置,有没有记录?
我的经验: 很多设备厂商觉得安全测试是额外负担。但我遇到过一家客户,他们的PLC没做任何访问控制,结果被内部员工误操作导致整条产线停机。从那以后,他们再也不敢省安全测试了。

3.1.2 IEC 61784:协议家族的族谱

这个标准很有意思。它不定义具体的协议怎么实现,而是把各种工业以太网协议(PROFINET、EtherNet/IP、EtherCAT等)的行规(Profile)给统一了。

你想想看,如果没有这个标准,每个协议都自己搞一套测试方法,那测试工程师不得疯掉?

IEC 61784-2 专门针对实时以太网。里面定义了:

  • 通信周期时间
  • 抖动要求
  • 同步精度

嗯,这里要注意:一致性测试不是测性能。它只测你有没有按照规范来。比如规范说同步精度要1微秒,你的设备测出来是0.8微秒,那算合格。但如果你的设备根本不支持同步,那就不合格。

3.1.3 ISO 16845:CAN总线的老法师

这个标准专门针对CAN总线。我最早接触一致性测试,就是从CAN开始的。ISO 16845 把测试用例写得非常详细,甚至规定了测试用的硬件配置。

举个例子,它要求测:

  • 位定时:CAN控制器能不能正确采样总线上的位?
  • 错误处理:遇到CRC错误、填充错误时,设备会不会正确发出错误帧?
  • 总线仲裁:多个节点同时发送时,优先级低的会不会乖乖退让?
避坑指南: 我曾经遇到一个项目,客户说他们的CAN设备通过了ISO 16845测试。结果在现场,设备一遇到总线干扰就死机。后来一查,他们只测了常温下的功能,没测电气特性。ISO 16845其实包含了很多电气参数测试,比如显性电平、隐性电平的阈值。千万别只看功能测试!

3.2 协议规范文档,怎么读才不头大?

说实话,协议规范文档通常又厚又枯燥。几百页的PDF,看两页就想睡觉。但没办法,这是吃饭的家伙。

我总结了一套读文档的套路,分享给你:

  1. 先看目录,找测试相关章节。大部分协议规范,最后几章都是「一致性测试」或「符合性声明」。
  2. 找PICS(协议实现一致性声明)。这是一张表格,列出了协议所有可选功能。测试前,先让厂商填好这张表,你就知道该测哪些、不该测哪些。
  3. 关注「应」和「宜」。英文里是 "shall" 和 "should"。 "Shall" 是强制要求,不满足就不合格。 "Should" 是建议,不满足可以给个警告。
  4. 看测试目的。每个测试用例前面都会写「测试目的」。先看这个,再决定要不要深究细节。

举个例子: 读PROFINET规范时,你看到「设备应支持DCP协议」。那你就去查DCP协议的具体要求。规范里会写:DCP的响应时间应在500ms以内。那你的测试用例就是:发一个DCP请求,看设备是不是在500ms内回复。

3.3 标准之间的关联,别孤立地看

这三个标准不是孤立的。在实际项目中,它们经常交织在一起。

比如,你要测一个PROFINET设备:

  • 协议一致性:看IEC 61784-2 和 PROFINET的具体规范。
  • 网络安全:看IEC 62443-4-2。
  • 如果底层用了CAN:还得看ISO 16845。

我建议你建立一张标准映射表。把被测协议、对应的行规标准、安全标准、底层标准都列出来。这样测试时就不会漏项。

3.4 实战中的文档解读技巧

最后,分享几个我实际工作中用到的技巧:

  • 用荧光笔标记:纸质文档我习惯用三种颜色。红色标强制要求,黄色标测试条件,绿色标预期结果。
  • 做测试用例矩阵:把规范里的测试要求,一条条抄到Excel里。左边是规范原文,右边是测试步骤和结果。这样评审时一目了然。
  • 不懂就问:规范里有些描述很模糊。比如「应在合理时间内响应」。什么叫合理?这时候别自己猜,直接问标准制定组织或芯片厂商。我吃过这个亏,猜错了,测试方案全白做。
一个小习惯: 每次拿到新规范,我会先花半小时通读一遍,不求记住所有细节,只求知道「什么东西在什么地方」。这样后面写测试用例时,能快速定位到具体条款。

好了,标准体系这块就聊到这儿。下一章,咱们会具体讲怎么搭建测试环境。到时候你会发现,标准文档里的那些要求,都会变成实实在在的测试仪器和连线。