AMHS工程项目中-MCS-STKC之间的office 测试场景的介绍
工业自动化/半导体/面板制造等行业中常见的 系统间接口预调试测试,通常称为 Mockup测试、Office测试 或 FAT-Simulation测试。它的核心目标是在设备实际搬入工厂现场并连接真实物理设备之前,在办公室环境中验证 上位系统(MCS) 与 下位系统(STOCKER控制器) 之间的通信接口、协议逻辑和业务流程是否正常工作。
以下是针对此场景的详细解读和关键点:
-
核心目标:
- 验证通信协议互通性: 确保 MCS 发送的命令、请求能被 STOCKER 控制器正确解析、响应;同时 STOCKER 控制器上报的状态、事件能被 MCS 正确接收、处理。
- 测试业务流程逻辑: 重点验证 搬送指令 的完整生命周期(MCS下达指令 -> STOCKER接收确认 -> STOCKER执行并反馈状态 -> MCS更新状态)。
- 模拟异常处理: 验证在通信中断、指令超时、控制器报错、状态不一致等异常情况下,双方系统的错误检测、恢复机制、告警上报是否符合预期。
- 降低现场调试风险: 提前暴露并解决接口层面的问题,避免设备搬入后因通信或逻辑问题导致长时间停线调试,大幅缩短现场集成时间。
-
测试范围界定(关键!):
- 聚焦于 MCS 与 STOCKER 控制器之间的数据交互层: 这是测试的核心边界。
- MCS 侧: 测试其发送搬送指令、查询状态、处理上报事件、处理异常的逻辑。MCS 不需要模拟或关心 STOCKER 控制器内部如何控制电机、传感器等,只需要关心与 STOCKER 控制器的 通信报文。
- STOCKER 控制器侧:
- 需要一个 模拟环境(Simulator) 或 控制器本身(在非生产模式/测试模式下运行)。
- 该模拟器/控制器 不需要连接真实的机械臂、传送带、传感器(光电开关、条码阅读器等)或执行机构。
- 它的作用是 模拟 STOCKER 控制器对 MCS 指令的响应行为:
- 接收 MCS 指令(如
MOVE Unit123 FROM PortA TO PortB
)。 - 根据模拟逻辑,发送正确的响应(如
ACK MOVE Unit123
)。 - 模拟执行过程,按协议要求发送状态更新(如
MOVING Unit123
->ARRIVED Unit123 AT PortB
)。 - 根据测试用例要求,模拟各种异常情况(如
COMMUNICATION ERROR
,PORT OCCUPIED
,UNIT NOT FOUND
,MOVE TIMEOUT
)。
- 接收 MCS 指令(如
- 物理层以下被忽略: 测试完全不涉及真实的 IO 信号(如光电开关的通断、电机的启停信号、气缸的位置信号等)、机械动作、传感器精度等。这些是后续实机测试和现场调试的内容。
-
主要测试内容:
- 连接测试 (Connectivity Test):
- 建立/断开 TCP/IP 连接(或其他协议如 SECS/GEM, Modbus TCP, OPC UA 等)。
- 测试心跳/保活机制是否正常。
- 测试网络中断恢复能力。
- 协议握手与基础通信测试 (Protocol Handshake & Basic Communication):
- 测试登录/登出流程(如果需要)。
- 测试基础的设备状态查询指令(如
GetStatus
)和响应。 - 验证报文格式(长度、分隔符、校验和/CRC)是否符合规范。
- 验证命令码(Command ID)、状态码(Status Code)、错误码(Error Code)的定义和解析是否正确。
- 搬送流程测试 (Transport Command Testing - 核心!):
- 指令下发: MCS 发送各种搬送指令(
MOVE
,EXCHANGE
,STORE
,RETRIEVE
等)。 - 指令响应: STOCKER 模拟器/控制器返回确认 (
ACK
) 或拒绝 (NACK
带原因)。 - 状态更新模拟: STOCKER 模拟器/控制器按协议规定,模拟发送搬送过程中的状态(
STARTING
,MOVING
,ARRIVING
,COMPLETE
,ABORTING
等)。 - 流程完整性: 验证整个指令生命周期在 MCS 的状态机中是否正确流转和记录。
- 参数验证: 测试指令中携带的参数(Unit ID, Source Port, Destination Port, Priority 等)是否被正确传递和处理。
- 指令下发: MCS 发送各种搬送指令(
- 异常测试 (Exception Testing - 关键!):
- 通信异常: 模拟网络闪断、长时间中断、报文丢失、报文错误(格式错误、校验失败)、重连机制测试。
- 指令异常: MCS 发送非法指令、超时未收到响应、重复发送指令。STOCKER 模拟器发送非法状态、状态顺序错误、状态超时未更新。
- 业务逻辑异常: 模拟 STOCKER 控制器上报各种预设错误(
PORT BUSY
,UNIT MISMATCH
,SENSOR ERROR (模拟的)
,CONTROLLER FAULT
,SAFETY ALARM (模拟的)
)。 - 资源冲突: 模拟尝试搬送一个不存在的 Unit ID, 尝试向已被占用的 Port 下达指令。
- 边界条件测试: 测试指令参数超出范围的情况。
- 状态同步测试 (Status Synchronization):
- 测试 MCS 主动查询状态 (
GetStatus
) 和 STOCKER 主动上报状态 (Status Report/Event Report
) 的机制。 - 测试断线重连后,双方状态的同步机制(如 MCS 是否需要重新查询全量状态)。
- 测试 MCS 主动查询状态 (
- 连接测试 (Connectivity Test):
-
实施方式:
- 硬件:
- MCS 系统部署在办公室的服务器/工作站上。
- STOCKER 控制器(物理设备置于测试模式)或 STOCKER 控制器模拟器 (Simulator) 软件运行在另一台电脑/工控机上。
- 两者通过标准的以太网交换机连接(模拟现场网络环境)。
- 软件:
- STOCKER 模拟器: 这是关键工具。它可以是由设备供应商提供的专用模拟软件,也可以是团队基于协议文档自行开发的模拟程序。它必须能精确模拟 STOCKER 控制器的通信行为、指令响应、状态上报和异常注入。
- 网络抓包工具: 如 Wireshark,用于捕获和分析实际通信报文,是调试协议问题的利器。
- 日志分析工具: MCS 和 STOCKER 模拟器/控制器都应开启详细通信日志,便于问题追踪。
- 测试用例: 需要根据协议规范和业务流程,详细设计覆盖所有正常流程和主要异常场景的测试用例。
- 硬件:
-
与通用“Mockup测试”的区别:
- 您提到的测试 不是 针对用户界面(UI)或视觉设计的静态模型测试。
- 它是针对 系统间实时通信接口和业务流程逻辑 的动态测试。
- 核心是 数据交互 和 协议逻辑,而非外观或用户操作体验。
总结:
Mockup测试/Office测试 是在可控的办公室环境中,通过连接 真实的 MCS 系统 和 STOCKER 控制器(测试模式)或其模拟器,排除下层物理设备干扰,专注于验证 MCS 与 STOCKER 控制器之间通信协议、搬送指令逻辑、状态管理及异常处理机制 是否正确无误的关键预调试步骤。其成功实施能极大降低设备搬入现场后的集成调试风险和周期,是确保生产线顺利启动的重要保障。