UTP系统通过CANopen协议对伺服电机的自动化测试介绍

一、UTP系统简介

宏控UTP协同自动化测试系统(简称UTP测试系统)是一款通用的自动化测试系统,支持对总线通信(如串口、CAN、以太网等)、信号测试(AD、DA、IO等)、无线通信(蓝牙、WiFi、4G/5G)、显示识别(设备屏幕、按钮、LED等)、设备操控、软件功能等各方面进行自动化测试,能够进行各种复杂时序的自动化测试。

接下来,我将通过一个具体的伺服电机实例来详细说明我们如何使用UTP通过CANopen协议对伺服电机进行自动化测试的。

二、被测产品介绍

下面这个伺服电机是通过CANopen报文控制电机的启动、停止和控制转速,当电机需要启动或停止时,主控制器会发送特定的CANopen接收过程数据对象报文,电机成功接收到启动报文后会向主控制器回复响应报文;当电机需要控制转速时,主控制器通过CANopen报文向电机驱动器发送目标转速值,电机接收并解析报文后,获取目标转速值。

伺服电机涉及的报文类型和主要用途:

三、被测产品测试分析

为了验证伺服电机在CANopen协议下的通信与控制性能,我们将通过控制电机转速开展一系列测试。具体流程如下:首先,利用专业测试工具向伺服电机发送启动报文,开启电机运行。随后,借助RPDO报文对电机转速进行精准控制。在电机运行过程中,对其回复的报文进行细致解析,以此判断电机转速是否成功设置为目标值。最后,向伺服电机发送停止报文,使其平稳停止运行。接下来,将对这一完整测试过程展开详细分析。

1.发送启动报文:

测试伺服电机的CANopen通信时,先在CANopen工具中构建并发送包含启动指令的RPDO报文,如COB - ID设为0x201,数据域编码为0x01 00 00 00 00 00 00 00 表示启动命令。

2.发送控制报文

之后构建用于控制电机转速的RPDO报文,如以速度控制模式,COB - ID为0x201,数据域按协议编码目标转速值并发送,再使用转速测量工具验证转速调整情况及电机运行平稳性。

3.发送停止报文

随后观察电机是否按预期启动,同时通过驱动器配置软件或状态指示灯确认驱动器响应;接着构建并发送包含停止指令的RPDO报文,如将控制命令字节改为0x02,确认电机平稳停止。

过程中在配置软件里设置接收TPDO报文过滤以接收驱动器反馈状态信息,分析报文检查反馈准确性,若电机响应异常,则通过分析报文及参考驱动器错误代码手册排查故障。

在手动测试伺服电机CANopen通信时,存在诸多不足:
  • 手动构建报文并观察电机响应的方式效率极低,每个操作步骤都需人工介入,使得完整测试流程耗时漫长。
  • 人工编码报文容易因对协议理解不足或操作疏忽而产生错误,影响测试准确性。
  • 手动操作无法保证报文发送的精确时序,难以模拟真实工业环境下的实时通信需求。并且,复杂工况和异常场景的模拟存在局限性,可能遗漏潜在问题。
  • 手动记录和分析数据不仅效率低下,还容易出错,难以从大量数据中快速提取关键信息,不利于故障排查与性能评估。
四、UTP系统实现对上述被测产品测试

下图为UTP测试系统与伺服电机的连接方式图示。图中展示了如何将电机的控制接口与UTP测试系统的输出端口相连。连接时需确保信号线的正确对接,以及电源线的正确连接,以保证测试的准确性和安全性。

UTP测试平台:

作为整个测试系统的基础平台,为CAN通信测试提供一个稳定的运行环境,用于模拟各种测试场景、生成测试数据以及对测试结果进行初步的处理和分析等。

CAN通信测试机器人:

专门用于测试CAN通信的测试机器人,它可以生成和发送CAN报文,接收并解析从CAN总线上传来的报文,通过与其他设备的通信来验证CAN通信的正确性、稳定性以及性能等指标。

USB转CAN硬件模块:

实现USB接口与CAN总线接口之间的转换。它使得计算机(通过USB接口)能够方便地与CAN总线进行通信,将从USB接口接收到的数据转换为符合CAN协议规范的信号发送到CAN总线上,同时将从CAN总线上接收到的信号转换为USB数据格式传送给计算机。

伺服电机:

被测设备,根据从CAN总线上接收到的控制指令(如速度控制、位置控制等)来进行相应的动作。

UTP测试平台通过可视化时序设计工具,支持自动化构建CANopen测试流程:

基于预设时序,通过SDO自动配置被测设备参数(如对象字典配置、控制模式设定),并通过PDO实现实时数据高速传输(如控制指令下发、状态反馈采集),确保低延迟通信;%,ID 0x200发送启停指令0x01启动)。

动态解析与验证被测设备响应自动提取消息字段(如TPDO状态字、EMCY错误码)并执行条件判断,触发后续测试动作(如故障注入、性能压力测试);

闭环判定测试结果,对接收的CANopen报文(包括SDO确认、PDO周期数据、心跳及EMCY报文)进行协议符合性及内容校验,结合预设规则输出判定结论(成功/失败),同时支持PDO通信周期优化与负载性能分析,显著提升测试效率及覆盖率。

五、设计自动化测试脚本

UTP协同测试系统提供图形化的自动化用例编辑功能,支持设计出满足各种业务场景和时序要求的测试用例,通过测试用例调度各种不同的测试机器人执行测试,实现“多输入多输出”的协同自动化测试能力。

下图是一个自动化测试用例,实现了测试系统自动向伺服电机发送SDO请求:

下面是测试系统对伺服电机回复的消息的检查,测试系统自动按时序接收并检查被测产品发出的CANopen消息内容,自动判定是否成功或失败:

下图展示的是测试系统的总线数据监测界面,该界面具备对总线数据进行实时监控与深度解析的功能。在这个界面中,能够对总线协议里出现的各类消息开展细致解析,并进行全面记录。

总结

UTP协同自动化测试系统可有效解决手动测试伺服电机CANopen通信的问题。它能自动化构建和发送各类CANopen报文,极大提升测试效率,节省大量时间。系统依据预设协议规则生成报文,避免人为编码错误,确保报文准确性。凭借高精度时序控制,可模拟真实工业环境下的实时通信,满足实时性测试需求。还能全面模拟复杂工况与异常场景,如CAN总线丢包、干扰等。同时,自动采集和分析数据,快速提取关键信息,助力高效故障排查与性能评估。