5.1 示例与回归
概览
示例按语言分组:
example/cpp17example/c99example/cpp11
示例默认按 “连接 -> 调用接口模块 -> 断开连接 / 销毁句柄” 的闭环演示, 适合作为外部接入方的最小接入模板。
推荐顺序
推荐执行顺序:
- 先执行
build/build.ps1,生成 SDK 输出;C++17 发布包会额外携带编译期 jsoncpp 依赖include/json/与lib/jsoncpp.lib,C99 发布包不需要这两个文件,但两个包的runtime/都会携带jsoncpp.dll。 - 再执行
test/build/build.ps1,确认unit + module + system回归通过。 - 最后按需构建并运行具体示例子工程。
构建入口
SDK 构建
powershell
powershell -ExecutionPolicy Bypass -File build/build.ps1测试回归
powershell
powershell -ExecutionPolicy Bypass -File test/build/build.ps1示例构建
代表命令:
powershell
powershell -ExecutionPolicy Bypass -File example/cpp17/info_get_controller_version/build/build.ps1
powershell -ExecutionPolicy Bypass -File example/c99/info_basic/build/build.ps1
powershell -ExecutionPolicy Bypass -File example/cpp11/c99_connect_get_version/build/build.ps1运行方式
运行前确认示例中的设备地址,然后执行对应的构建脚本。
powershell
.\example\cpp17\info_get_controller_version\build\build.ps1
.\example\c99\info_basic\build\build.ps1
.\example\c99\gcc_capi_info_read\build\build.ps1
.\example\cpp11\c99_connect_get_version\build\build.ps1示例覆盖
C++17
| 目录 | 覆盖能力 |
|---|---|
example/cpp17/arm_connect_disconnect | Arm 连接、状态确认、断开 |
example/cpp17/arm_reconnect | Arm 断开后重连 |
example/cpp17/info_get_controller_version | ControllerInfo 获取控制器版本 |
example/cpp17/info_state_modes | ControllerInfo 查询伺服 / 软模式 / 操作模式并写回 |
example/cpp17/alarm_query | Arm Alarm 活跃报警与顶层报警 |
example/cpp17/motion_basic | MotionControl OVC、软限位、UDP 反馈参数 |
example/cpp17/motion_pose | MotionControl 位姿获取与关节 / 笛卡尔转换 |
example/cpp17/motion_drag | MotionControl 拖动状态查询与写回 |
example/cpp17/motion_payload | MotionControl.payload 当前负载、识别状态、写回 |
example/cpp17/program_execution | Arm Program 运行中程序查询 |
example/cpp17/program_pose | ProgramPose 转换 |
example/cpp17/bas_script_execution | BasScript 构造与执行 |
example/cpp17/signals_basic | Arm Signals 单点与批量读取 |
example/cpp17/registers_basic | Arm Registers R/SR/MR 读取 |
example/cpp17/trajectory_basic | TrajectoryManager 记录列表与规划参数 |
example/cpp17/file_manager_basic | Arm FileManager 搜索与存在性检查 |
example/cpp17/modbus_basic | ModbusClient 参数、从站会话、线圈读取 |
example/cpp17/sub_pub_basic | TopicPubSub 连接、订阅、接收、断开 |
example/cpp17/jogging_basic | Arm Jogging 步进、连续点动、多轴点动 |
example/cpp17/extension_basic | Arm Extension 列表、详情、服务调用、切换 |
example/cpp17/coordinate_system_basic | CoordinateSystemManager 列表查询与坐标计算 |
C99
| 目录 | 覆盖能力 |
|---|---|
example/c99/arm_connect_disconnect | ArmHandle 创建、连接、断开、销毁 |
example/c99/info_basic | Arm Info 版本、型号、状态、模式写回 |
example/c99/alarm_query | Arm Alarm 活跃报警与顶层报警 |
example/c99/motion_basic | Arm Motion OVC、软限位、位姿转换 |
example/c99/program_execution | Arm Program 运行中程序查询 |
example/c99/bas_script_execution | BasScript 构造器句柄、脚本文本生成与受控执行 |
example/c99/registers_basic | RegisterBank R/SR/MR 读取 |
example/c99/signals_basic | Signals 单点与批量读取 |
example/c99/trajectory_basic | TrajectoryManager 规划参数与记录列表 |
example/c99/file_manager_basic | ControllerFileManager 搜索与存在性检查 |
example/c99/coordinate_system_basic | CoordinateSystemManager 查询与计算 |
example/c99/modbus_basic | ModbusClient 参数、从站句柄、寄存器 / 线圈读取 |
example/c99/jogging_basic | JoggingControl 步进、连续点动、多轴点动 |
example/c99/extension_basic | ExtensionClient 列表、详情、服务调用、切换 |
example/c99/sub_pub_basic | TopicPubSub 连接、发送、订阅、接收 |
C++11
| 目录 | 覆盖能力 |
|---|---|
example/cpp11/alarm_query | Arm Alarm 全部接口(通过 C99 SDK) |
example/cpp11/c99_connect_get_version | C++11 通过 C99 SDK 完成 Create -> Connect -> GetControllerVersion -> Disconnect -> Destroy 最小闭环 |
动作型示例提示
以下示例包含运动、写回、插件切换或外设访问,运行前请确认设备状态和周边安全:
example/cpp17/info_state_modesexample/cpp17/motion_basicexample/cpp17/motion_dragexample/cpp17/motion_payloadexample/cpp17/bas_script_executionexample/cpp17/jogging_basicexample/cpp17/extension_basicexample/c99/info_basicexample/c99/modbus_basicexample/c99/jogging_basicexample/c99/extension_basicexample/c99/bas_script_execution
文档映射
| 文档 | 对应示例 |
|---|---|
| 3.1 Arm | example/cpp17/arm_connect_disconnect 、 example/cpp17/arm_reconnect 、 example/cpp17/sub_pub_basic |
| 3.2 Info | example/cpp17/info_get_controller_version 、 example/cpp17/info_state_modes 、 example/c99/info_basic 、 example/mingw_c99/gcc_capi_info_read |
| 3.3 Alarm | example/cpp17/alarm_query 、 example/c99/alarm_query |
| 3.4 Motion | example/cpp17/motion_basic 、 example/cpp17/motion_pose 、 example/cpp17/motion_drag 、 example/cpp17/motion_payload 、 example/c99/motion_basic |
| 3.5 Program | example/cpp17/program_execution 、 example/cpp17/program_pose 、 example/c99/program_execution |
| 3.7 IoSignals | example/cpp17/signals_basic 、 example/c99/signals_basic |
| 3.8 RegisterBank | example/cpp17/registers_basic 、 example/c99/registers_basic |
| 3.9 TrajectoryManager | example/cpp17/trajectory_basic 、 example/c99/trajectory_basic |
| 3.10 ControllerFileManager | example/cpp17/file_manager_basic 、 example/c99/file_manager_basic |
| 3.11 JoggingControl | example/cpp17/jogging_basic 、 example/c99/jogging_basic |
| 3.12 ExtensionClient | example/cpp17/extension_basic 、 example/c99/extension_basic |
| 3.13 TopicPubSub | example/cpp17/sub_pub_basic 、 example/c99/sub_pub_basic |
| 3.14 ModbusClient | example/cpp17/modbus_basic 、 example/c99/modbus_basic |
| 3.15 CoordinateSystemManager | example/cpp17/coordinate_system_basic 、 example/c99/coordinate_system_basic |
回归命令
powershell
powershell -ExecutionPolicy Bypass -File test/build/build.ps1 unit
powershell -ExecutionPolicy Bypass -File test/build/build.ps1 module
powershell -ExecutionPolicy Bypass -File test/build/build.ps1 system
powershell -ExecutionPolicy Bypass -File example/cpp17/info_get_controller_version/build/build.ps1
powershell -ExecutionPolicy Bypass -File example/c99/info_basic/build/build.ps1
powershell -ExecutionPolicy Bypass -File example/mingw_c99/gcc_capi_info_read/build/build.ps1
powershell -ExecutionPolicy Bypass -File example/cpp11/c99_connect_get_version/build/build.ps1E2E 格式冒烟
E2E 正式目标为 test/output/bin/E2ETest.exe ,运行前需要确认 test/E2E_test/config.json 中的真实设备地址。 信号读写格式冒烟用例使用宽松格式校验,不要求现场值完整一致:
powershell
powershell -ExecutionPolicy Bypass -File test/build/build.ps1 e2e
.\test\output\bin\E2ETest.exe --gtest_filter=E2EArmSignalTest.*