当前位置: 首页 > news >正文

AMHS工程项目中-MCS-STKC之间的office 测试场景的介绍

工业自动化/半导体/面板制造等行业中常见的 系统间接口预调试测试,通常称为 Mockup测试Office测试FAT-Simulation测试。它的核心目标是在设备实际搬入工厂现场并连接真实物理设备之前,在办公室环境中验证 上位系统(MCS)下位系统(STOCKER控制器) 之间的通信接口、协议逻辑和业务流程是否正常工作。

以下是针对此场景的详细解读和关键点:

  1. 核心目标:

    • 验证通信协议互通性: 确保 MCS 发送的命令、请求能被 STOCKER 控制器正确解析、响应;同时 STOCKER 控制器上报的状态、事件能被 MCS 正确接收、处理。
    • 测试业务流程逻辑: 重点验证 搬送指令 的完整生命周期(MCS下达指令 -> STOCKER接收确认 -> STOCKER执行并反馈状态 -> MCS更新状态)。
    • 模拟异常处理: 验证在通信中断、指令超时、控制器报错、状态不一致等异常情况下,双方系统的错误检测、恢复机制、告警上报是否符合预期。
    • 降低现场调试风险: 提前暴露并解决接口层面的问题,避免设备搬入后因通信或逻辑问题导致长时间停线调试,大幅缩短现场集成时间。
  2. 测试范围界定(关键!):

    • 聚焦于 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 ERRORPORT OCCUPIEDUNIT NOT FOUNDMOVE TIMEOUT)。
    • 物理层以下被忽略: 测试完全不涉及真实的 IO 信号(如光电开关的通断、电机的启停信号、气缸的位置信号等)、机械动作、传感器精度等。这些是后续实机测试和现场调试的内容。
  3. 主要测试内容:

    • 连接测试 (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 等)是否被正确传递和处理。
    • 异常测试 (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 是否需要重新查询全量状态)。
  4. 实施方式:

    • 硬件:
      • MCS 系统部署在办公室的服务器/工作站上。
      • STOCKER 控制器(物理设备置于测试模式)或 STOCKER 控制器模拟器 (Simulator) 软件运行在另一台电脑/工控机上。
      • 两者通过标准的以太网交换机连接(模拟现场网络环境)。
    • 软件:
      • STOCKER 模拟器: 这是关键工具。它可以是由设备供应商提供的专用模拟软件,也可以是团队基于协议文档自行开发的模拟程序。它必须能精确模拟 STOCKER 控制器的通信行为、指令响应、状态上报和异常注入。
      • 网络抓包工具: 如 Wireshark,用于捕获和分析实际通信报文,是调试协议问题的利器。
      • 日志分析工具: MCS 和 STOCKER 模拟器/控制器都应开启详细通信日志,便于问题追踪。
    • 测试用例: 需要根据协议规范和业务流程,详细设计覆盖所有正常流程和主要异常场景的测试用例。
  5. 与通用“Mockup测试”的区别:

    • 您提到的测试 不是 针对用户界面(UI)或视觉设计的静态模型测试。
    • 它是针对 系统间实时通信接口和业务流程逻辑 的动态测试。
    • 核心是 数据交互协议逻辑,而非外观或用户操作体验。

总结:

Mockup测试/Office测试 是在可控的办公室环境中,通过连接 真实的 MCS 系统STOCKER 控制器(测试模式)或其模拟器排除下层物理设备干扰,专注于验证 MCS 与 STOCKER 控制器之间通信协议、搬送指令逻辑、状态管理及异常处理机制 是否正确无误的关键预调试步骤。其成功实施能极大降低设备搬入现场后的集成调试风险和周期,是确保生产线顺利启动的重要保障。

http://www.lryc.cn/news/572861.html

相关文章:

  • 搭建pikachu靶场
  • 【云创智城】YunCharge充电桩系统源码实现云快充协议深度解析与Java技术实践:打造高效充电桩运营系统
  • java面试题03静态修饰类,属性,方法有什么特点?
  • macOS - 根据序列号查看机型、保障信息
  • JavaWeb RESTful 开发规范入门
  • Spring 中的依赖注入(DI)详解
  • 通过Radius认证服务器实现飞塔/华为防火墙二次认证:原理、实践与安全价值解析
  • 20250620在Ubuntu20.04.6下编译KickPi的K7的Android14系统解决缺少libril.so.toc的问题
  • 【网络安全】ios逆向一般整理
  • 求助帖:学Java开发方向还是网络安全方向前景好
  • GitHub Copilot 配置快捷键
  • WebServer实现:muduo库的主丛Reactor架构
  • 无人机低空经济十大前沿创新应用探索-具体做无人机什么呢?优雅草卓伊凡
  • 日常运维问题汇总-25
  • 倒计时 效果
  • 云祺容灾备份系统公有云备份与恢复实操-AWS
  • 【大数据高并发核心场景实战】 - 数据持久化之冷热分离
  • Android Kotlin 用法对比Java使用小结
  • 云计算与5G:如何利用5G网络优化云平台的性能
  • 搜索二维矩阵II
  • 《Go语言圣经》接口类型、动态类型、动态值、类型断言
  • 在spring boot中使用Logback
  • Llama 4模型卡片及提示词模板
  • #17 修改开源模型以适配新任务
  • 在VTK中捕捉体绘制图像并实时图像处理
  • 饼图:数据可视化的“切蛋糕”艺术
  • MySQL慢SQL优化全攻略:从诊断到调优
  • 阻止事件的触发
  • 如何导出和迁移离线 Conda 环境
  • 微信小程序扫码添加音频播放报错{errCode:10001, errMsg:“errCode:602,err:error,not found param“}