XMatrix接口 · Command

XMatrix命令接口:一行文字命令,控制整台电机

XMatrix是XMSP的软件系统;本页说明命令接口功能,编号 Command,英文名 Command Mode。设备内置运动控制,发一行 ASCII 命令就能移动、回零、读状态;当前公开实现是 UDP。

  • IP : 6000命令端口
  • A / D / P / V / Z常用命令
  • /地址多轴级联
  • 任意语言字符串即接口
查看快速上手查看公开命令摘要

它能做什么

通过XMatrix命令接口,进入设备内置的运动控制命令解释器,实现运动控制命令编程和代码调用,完成灵活动作,将繁琐任务自动化并构建复杂工作流。发送一行普通文字,就能让电机移动、回零、停止、读取状态或按地址控制多台设备;你不必从电机参数、驱动器参数和运动控制器底层编程开始。

它解决的是传统电机控制中“需要外置运动控制器、脉冲接线复杂、不同驱动器接口不一致、调试与二次开发重复”的问题。当前公开实现使用UDP传输ASCII命令,适合上位机、工控软件、脚本、嵌入式系统、IoT设备和本地AI工具接入。

  • 绝对定位、相对移动、连续运转、回零。
  • 改速度、加减速、使能、急停。
  • 读当前位置、限位、报警、是否回过零。
  • 网线级联多台,用地址区分各轴。
  • 用循环、等待和IO组合动作,把重复运动写成简短命令流程。

怎么做

  1. 电脑或上位机与MSP设备接入同一网络,设备切换到命令接口对应的UDP工作模式。
  2. 向设备IP的编程端口发送ASCII字符串;出厂常用端口为 6000。
  3. 先发送 h 确认通信和设备状态,再使能、回零并发送运动命令。
  4. 多台设备通过网线级联,命令前加 /地址 指定执行轴。
控制端不限语言:只要能发送UDP字符串,就可以使用XMatrix命令接口。Python、C#、C/C++、LabVIEW、网络调试助手或现有业务程序,发送的都是同一组文字命令。

快速命令与第一个实例

命令示例含义
AA10000移动到绝对位置10000
DD1000从当前位置向负方向移动1000
PP1000从当前位置向正方向移动1000
VV500A1000以500 rpm移动到绝对位置1000
Zv100Z1000以100 rpm回零,完成后偏移1000并作为零点
zz0电机不移动,把当前位置计为0
//0A0 /1A100 /2A200三台设备分别移动到0、100和200

第一次联调按下面顺序发送。每条命令收到回复后,再发送下一条:

h               # 查询状态,确认网络已经连通
E1              # 打开使能
v50Z1000        # 以50 rpm回零,偏移1000作为零点
V200A10000      # 以200 rpm移动到绝对位置10000

常见流程写法

A0 A1000                 # 先到0,再到1000,执行一次
g A0 A1000 G10           # 在0和1000之间循环10次
g A0 A1000 G             # 一直循环,另发停止命令结束
A0 W1000 A1000 W500      # 到0等1秒,再到1000等0.5秒
/0 A0 /1 A100 /2 A200    # 多轴分别到达不同位置

详细说明

XMatrix命令接口把运动控制细节封装在设备内部。下面说明网络设置、调试步骤、命令规则、多轴级联、程序接入和现场配套。

统一配置、调试与参数

本软件功能与其他XMatrix入口共用同一套MSP设备基础层。先配置分组、轴和运动模块,再核对原点、限位、方向与回零,最后设置速度、加减速、行程和保护参数;完成这些基础工作后,才进入本页对应的软件模式。

XMatrix统一硬件配置界面:分组、轴与运动模块
统一硬件配置:建立分组和轴,并为每根轴添加运动模块
XMatrix统一运动调试界面:原点、限位、输入输出、位置、点动、回零与停止
统一运动调试:观察原点、正负限位和IO,低速点动确认方向,再执行回零
XMatrix统一参数设置界面:方向、速度、加减速、行程、力矩、回零与保护参数
统一参数设置:集中管理方向、速度、加减速、行程、力矩、回零与保护;图中数值仅为界面示例

产品定位与核心价值

XMatrix命令接口把工业级运动控制、命令解释器和网络通信组合在同一套MSP硬件里。控制端只负责描述“移动到哪里、以多快速度、什么时候停止”,设备负责加减速、回零、限位和错误处理。

  • 简化集成:无需额外运动控制卡或脉冲模块,网线发送命令即可驱动电机。
  • 提升开发自由度:不限制编程语言和上位机形态,可接入现有软件、IoT系统或本地AI工具。
  • 统一多轴逻辑:步进、伺服及MSP1001路径使用相同的命令与地址方式,减少重复开发。
  • 持续扩展:标准命令之外可申请完整协议,也可按项目定制命令集和软件接口。

怎么连网

MSP 步进 UDP 最小系统:限位、供电、UDP 与上位机
最小系统
上位机经 UDP 下命令;原点与正负限位接 24V IO。

用普通网线把电脑和设备接到同一网段(直连或经过交换机都可以)。

项目出厂默认说明
设备 IP192.168.1.199在调试软件「网口 IP」四项里改,改完要重新上电
编程端口6000命令发到这个端口
中控端口9999给中控软件预留,一般不用改
工作模式请设为 UDP调试软件「模式」选 1 = UDP,然后重新上电

电脑 IP 建议设成同一网段,例如 192.168.1.100。先 ping 通设备,再用网络调试工具向 192.168.1.199:6000 发文字。

多台级联时:上位机向级联入口设备的IP和6000端口发送命令,再用 /站号 指定后面的轴。入口设备与各轴站号在调试配置中确认,不要把同一条级联链当成多台独立网络设备分别发包。

调试步骤摘要

选择电机模块数量并入库
选数量 → 刷新 → 后台入库
全局设置:轴数量、控制器 IP 与编程端口
全局设置:轴数量 / IP / 编程端口
网络助手创建 UDP 连接
网络助手:创建 UDP 连接
先发 h 查状态
先发 h,接收区有状态反馈
  1. 解压调试软件,先安装 WinPcap 网络驱动(一台电脑装一次;用 USB 转网口先插上再装),双击调试软件启动。
  2. 选择电机模块数量 → 刷新 → 后台入库。若提示确认口令,按现场软件提示输入。
  3. 打开参数设置,把「模式」改为 1 = UDP,确认后设备自动重启。
  4. 全局设置:核对轴数量、控制器 IP(默认 192.168.1.199)、编程端口(6000)。改完 IP 或端口必须给控制器重新上电才生效。
  5. 用 UDP 网络助手创建连接(类型 UDP,目标 IP + 端口 6000),先发 h 查状态,再发运动命令验证。
安装 WinPcap
先装 WinPcap,再启动调试软件

命令怎么写

  • 一条命令 = 一个字母 + 可选整数。可以连在一起发,空格可有可无。
  • 区分大小写:V 是移动速度,v 是回零速度;Z 是回零,z 是改当前位置计数。
  • 位置单位是脉冲,速度单位是转/分(RPM),等待时间是毫秒。
  • 一条报文最多大约三十条命令。发完等回复,不要连发。
  • 不认识的字母整条失败,电机会停下来。
A10000P500          # 先到绝对 10000,再正向相对走 500
V100 A1000          # 空格无所谓
V1000A1000          # 和上一行效果一样

命令一览(常用)

命令写法做什么
AA10000走到绝对位置 10000
PP1000从当前位置往正方向走 1000。P0 = 按当前速度一直正转
DD1000往负方向走 1000。D0 = 一直反转
VV200后面移动用的速度,转/分
vv50回零用的速度,转/分
ZZ1000找原点;数字是找到后再走出的偏移,并记为新的 0 点
zz0电机不动,只把「当前位置」改成这个数
EE1 / E0打开 / 关闭伺服使能
tt0 / t1停止:0 减速停,1 急停
WW1000等 1000 毫秒再执行后面的命令
YY11开关量输出。十位是通道,个位是电平
hh 或 h15查询状态,不运动。数字表示要哪些字段
完整命令表:加减速(a / r / f / d)、循环(g…G)、条件等待(H / S)、程序槽(s / e)、急停时间等完整定义,联系技术支持索取。

一台和多台

每台设备在调试软件里有一个站号(地址)。出厂一般是 0,多台必须各不相同。

  • 命令前面加 /站号,只有这台会执行后面的内容,直到下一个 /。
  • 不加 /,当前这台(以及能听到这条广播的轴)都会执行。
/0 A0 /1 A100 /2 A200    # 三台分别走到 0、100、200
V150 /1 A5000            # 先统一速度,再只让 1 号走到 5000

接入示例

步进 UDP 应用示意
应用:上位机 / AI / IoT 经 UDP 控制步进路径
伺服 UDP 应用示意
应用:多台级联,同一套命令控制整组轴

任意语言,发出去的是一行普通文字。下面用 Python 演示最小流程;网络调试助手(TCP&UDP 测试工具)做法相同:创建 UDP 连接填设备 IP 和 6000,发送区发命令即可。

import socket

设备 = ("192.168.1.199", 6000)
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.settimeout(1.0)

def 发送(命令):
    s.sendto(命令.encode("ascii"), 设备)
    回复, _ = s.recvfrom(1024)
    return 回复.decode("ascii", errors="replace")

print(发送("h"))
print(发送("E1"))
print(发送("v50Z1000"))
print(发送("V200A10000"))
先回零再精确定位:绝对定位按「当前坐标系」走,机械零点没建好时数字对了、实物位置也可能不对。第一次运行请先 Z 并确认已回零;P0 / D0 会一直转,必须再发 t0 / t1 才能停。

配套硬件

XMatrix命令接口解决「怎么下命令」;命令要真的让轴动起来、还要安全,现场得接这几样。

你要做的要配的东西接到哪
回零 / 找原点槽型光电 ×1主机 HM
正负限位保护槽型光电 ×2(或只用软限位)主机 LIM+、LIM−
垂直轴断电保持刹车电机 + 24V 继电器 + 刹车线主机 DO 经继电器
多轴联动网线(手拉手级联)主机网口
把旋转变成直线位移减速机 / 丝杆 / 皮带滑台—(参数换算)

完整对照见 XMatrix功能 × MSP硬件对照;配件类别与型号见 配件与配套件。

常见问题

现象先看什么
完全没有回复电脑和设备是否同一网段、模式是否为 UDP、是否发给级联入口设备、防火墙有没有拦 UDP
提示不认识的命令字母大小写、是否多打了不支持的字母
回了 OK 但电机不动有没有 E1、有没有回过零,以及限位、方向和报警状态
多台只有入口设备动作后面几台站号是否设好,命令有没有写对应的 /站号
电机一直转停不下来刚才发过 P0 或 D0,补发 t0
改了 IP 仍连旧地址IP / 编程端口改完后必须给控制器重新上电
进不了参数或后台按现场软件提示输入口令;规则向技术支持索取