http://www.gkong.com 2026-09-24 14:53 深圳市正运动技术有限公司
为规避核心技术“卡脖子”及进口器件供应链风险,正运动结合项目经验与实际用户需求,经多轮技术方案设计、元器件测试筛选和功能验证,已推出了软硬件全国产自主可控的EtherCAT运动控制器ZMC432HG。

■ 核心元器件全国产
控制器在元器件选料上,都采用工业级国产元器件,从处理器、通讯、隔离、实时时钟、存储、电源、接线端子到每一颗电阻电容等被动元器件,ZMC432HG都实现了国产化,助力关键装备领域实现国产化替代升级。

提供可审计性的国产元器件物料清单(BOM)和国产化认证文件。助力装备企业构建真正可控、可验、可批量稳定交付的国产运动控制器。

“国产化率100%”
认证报告
ZMC432HG,经过“广五所”【工业和信息化部电子第五研究所元器件与材料研究部(院)】的权威认证,电子元器件国产化率高达100%,物料自主可控,用户可放心选用。


■ 工信部认证评估报告
软硬件全国产运动控制器 ZMC432HG
EtherCAT运动控制器ZMC432HG是正运动推出的一款软硬件全国产自主可控控制器,专为满足客户在信息安全与供应链安全需求而开发的国产运动控制平台,能够适配大多数工业控制协同工业互联网应用需求。
ZMC432HG支持正运动远程显示、网络组态显示,可实时监控和调整参数配置,也可根据现场需求灵活组网,提升系统部署的适配性与扩展性。

ZHC432HG硬件功能:
多支持6-32轴运动控制;
EtherCAT总线最快1ms的刷新周期;
6路10MHz高速差分脉冲输出,总线轴、脉冲轴可混合插补;
2路模拟量输入(AD),2个模拟量输出(DA);
24路通用IO输入,4路高速输入,支持高速锁存;
12路通用IO输出,4路高速输出,支持PWM和硬件比较输出功能;
轴正负限位信号/原点信号可以随意配置为任意通用数字输入口;
EtherCAT接口、RS232串口、RS485串口、以太网接口、CAN接口;
支持掉电检测、掉电存储,多种程序加密方式,能够有效防止系统故障,保护项目工程文件数据,提高系统的可靠性。

更多关于ZMC432HG详情点击→100%元器件全国产化认证:EtherCAT运动控制器ZMC432HG。
银河麒麟V10 SP1 × ZMC432HG
在智能制造加速推进的今天,“国产化”早已不再是一道选择题,而是装备企业的必答题。从核心元器件到操作系统,每一层的自主可控都直接关系到供应链安全和项目交付能力。
正运动技术推出的软硬件全国产运动控制器ZMC432HG,已通过工业和信息化部电子第五研究所认证,电子元器件国产化率为100%,从处理器、FPGA 到电阻电容等被动元器件均采用工业级国产器件。要实现全栈国产化,除硬件外,操作系统作为连接控制硬件与上位机应用的核心环节,同样需要实现自主可控。
银河麒麟V10 SP1,正是这关键一环。
关于银河麒麟V10 SP1
银河麒麟桌面操作系统V10 SP1由中国电子旗下麒麟软件研发,基于Debian/Ubuntu体系深度定制,默认包管理器为apt,是国产桌面操作系统的主流版本。该产品连续14年位列中国Linux市场占有率第一,已广泛应用于党政、金融、能源、交通、教育、工业制造等领域的桌面终端与开发环境。
在工业控制领域,银河麒麟桌面操作系统V10 SP1常用于上位机软件开发、人机界面(HMI)、数据采集与监控(SCADA)等场景。它同源支持飞腾、鲲鹏、龙芯、申威、海光、兆芯等国产处理器平台,也兼容Intel、AMD等国际主流平台,具备内生安全防护、稳定可靠、软硬件兼容性好等特点,能够满足工业控制场景对系统安全性与稳定性的要求。
ZMC432HG作为全国产化EtherCAT运动控制器,与银河麒麟桌面操作系统V10 SP1结合,可实现从控制器硬件、操作系统到上位机应用的全栈国产化部署,适用于对供应链安全和自主可控有明确要求的项目场景,如信创项目、军工、能源、半导体等领域。
正运动基于麒麟Linux平台,完成了一套CAD导入双轴加工DEMO验证方案,方案已打通DXF文件导入、轨迹预览、双轴缓冲插补、加工进度可视化全流程。
该方案可复用于点胶、激光、切割、绘图等各类二维轨迹加工设备;由CAD输出几何轮廓,运动控制器保障运动稳定执行,上位机实时反馈真实运动状态与加工进度,同时完整支持暂停、停止、报警、回零等现场必备操作。
该方案基于Qt5和C++开发,支持DXF图形解析、加工点位生成,实现X/Y双轴连续插补控制,界面可同步展示轴位置、运行速度及加工进度。

DEMO由哪些部分组成?
测试环境为麒麟X86_64系统、正运动控制器ZMC432HG和X/Y双轴平台。上位机通过以太网连接控制器,程序界面左侧是CAD图形和加工进度,右侧是控制参数与实时监控。
界面保留了现场调试常用的功能:
■ 控制器IP连接与断开。
■ DXF文件导入和实体检查。
■ X/Y轴脉冲当量、速度、加速度配置。
■ 单轴回零和全部轴回零。
■ 加工进给比例设置。
■ 开始、暂停、恢复和停止。
■ X/Y位置、反馈速度、加工时间和报警状态监控。

第一步:连接控制器
在控制器连接区域输入IP,点击“连接”。连接成功后,“连接”按钮会切换为“断开”,界面状态由“未连接”变为“已连接”,程序开始周期读取X/Y轴的MPOS、反馈速度和轴状态。
正式加工前先检查以下内容:
1.控制器与上位机处于同一网段。
2.X/Y轴脉冲当量与机械实际参数一致。
3.正负限位、原点开关和急停有效。
4.首次测试使用较低速度,并留出安全行程。

第二步:导入CAD图形
点击“打开CAD文件”,选择DXF文件。导入在后台执行,完成后程序会显示图形轮廓,并在状态栏给出导入耗时和实体数量。
目前DEMO中展示的是ZMOTION.dxf文件。
CAD图形导入后默认按当前窗口显示为100%,滚轮可继续放大观察细节。轮廓使用亮色主线和较宽的底层描边,在深色工业界面中更容易看清。

程序还提供“验证DXF”功能,可以统计直线、圆、圆弧和多段线数量,并检查图形边界。遇到文件能打开但没有轨迹时,可以先用这个功能判断DXF中是否包含受支持的几何实体。

第三步:配置轴参数
连接控制器后、执行回零和加工前,需要先配置X/Y轴参数,其中最关键的是脉冲当量。脉冲当量决定控制器下发1mm位移时,需要向驱动器发送多少个脉冲,参数错误会直接导致实际加工尺寸与CAD图形尺寸不一致。计算时需要确认两个机械参数:
■ 电机旋转一圈所需的脉冲数。
■ 电机旋转一圈对应的丝杆导程,也就是轴移动的距离。
计算公式为:
脉冲当量(pulse/mm)= 电机每转脉冲数 ÷ 丝杆导程(mm)
例如,电机旋转一圈需要10000个脉冲,丝杆导程为5mm,则:10000 pulse ÷ 5 mm = 2000 pulse/mm
也就是说,控制器每发送2000个脉冲,轴移动1mm。
在轴参数配置页面中,X轴和Y轴都需要根据各自的电机、驱动器电子齿轮比和机械导程进行计算,不能直接照搬其他设备参数。

配置脉冲当量后,还需要设置最大速度、最大加速度和回零速度。
初次调试时建议采用较低的速度和加速度,先通过点动或小距离移动验证:
指令移动1mm,实际是否移动1mm;指令移动10mm,实际是否移动10mm。X/Y轴运动方向是否正确,实际位置与界面位置是否一致,确认尺寸和方向无误后,点击“保存到控制器”,再进行回零和CAD加工。
需要注意:部分驱动器设置了电子齿轮比,此时“电机每转脉冲数”应使用驱动器脉冲输入端实际需要接收的脉冲数,而不是只看编码器分辨率。
第四步:回零并设置加工速度
加工前先执行X/Y轴回零。程序支持分别设置两轴的回零模式、回零速度比例、原点输入、正限位输入和负限位输入,也可以执行“全部轴回零”。

完成回零后,在加工参数中设置进给速度。界面中的进给值是轴最大速度的百分比,例如X轴最大速度为100mm/s、进给设置为20%,实际加工速度就是20mm/s。
第一次演示建议从低速开始,确认方向、尺寸和行程没有问题后再逐步提高速度。不要为了画面效果直接以最高速度试跑。
第五步:开始加工
点击“开始加工”后,程序会完成以下动作:
①清零本次运动标号
②设置X/Y轴BASE、速度、加速度和减速度
③开启连续轨迹合并MERGE
④先移动到CAD加工起点
⑤将后续CAD点连续送入控制器缓冲区
⑥等待X/Y两轴执行完毕并停稳
轨迹不是每走完一小段再下发下一段,而是根据控制器剩余缓冲区连续补充运动指令。控制器内部完成连续插补,密集短线段不会因为上位机逐条等待而走走停停。
下发工作放在独立线程中。界面线程继续处理位置、速度、日志和绘图,因此加工时仍可正常操作暂停和停止。

屏幕上的红点和红线分别表示什么
红点读取控制器实际MPOS,用来表示当前机械位置。红线不是把MPOS采样点简单连接起来,而是覆盖在原始CAD轨迹上,表示当前加工进度。
这两个显示必须分开处理。
早期版本只用MPOS判断进度。设备从当前位置前往加工起点时,如果途中靠近其他CAD线段,这些线段可能被误判为已经加工。速度提高后,位置采样还会跨过多个轨迹点,出现红线少画、跳画,甚至提前画完整张图的问题。
后来的处理方式是让运动标号负责确定加工段,让MPOS只负责当前段内的位置:
①MOVE_CURMARK:确定控制器当前正在执行哪一段。
②CAD点序列:确定这一段应覆盖哪条原始轮廓。
③MPOS:计算当前段已经走过的比例。
开始加工时先把MOVE_MARK清零。第一条运动通常是从当前位置前往CAD起点,后续运动标号再与CAD点序列对应。程序只有在真正进入轮廓加工段后才开始覆盖红线,因此去起点的过渡运动不会提前染红CAD图形。
对于已完成的段,界面直接覆盖对应的CAD原始线段;对于正在执行的长线段,再将MPOS投影到该段上,补出段内进度。这样既保持红线贴合CAD,又不会等一整段完成后突然跳现。

加工结束如何判断
“轨迹已经下发完”不等于“机械已经走完”。控制器缓冲区中可能还有尚未执行的运动,如果后台线程一返回就显示加工完成,红线和计时都会提前结束。
因此,下发线程结束后,程序继续查询X/Y轴空闲状态。只有两轴都停稳,才停止加工计时并显示“加工完成”。这一步对高速或轨迹点较多的图形尤其重要。

麒麟系统适配中遇到的问题
程序最初使用预编译的libzauxdll.so。移到另一台麒麟X86_64电脑后,链接阶段报错:
undefined reference to __isoc23_sscanf@GLIBC_2.38
这是典型的glibc版本不一致:动态库在较新的Linux环境中编译,目标麒麟系统版本较低。
最后没有继续围绕这个动态库做兼容,而是把正运动提供的zmcaux.cpp直接加入Qt工程,在目标系统上和主程序一起编译。
现在程序只需要链接:libzmotion.so、libmotionCadEx.so文件。
这一做法省去了libzauxdll.so的跨发行版依赖,也方便检查和修改辅助接口源码。
动态库搜索路径同样需要处理。可执行文件位于build,控制器库位于lib,工程中写入了相对RUNPATH:$ORIGIN/../lib
这样直接执行build/zmotion_cad_demo时,程序会从自身位置找到上一级的lib。启动脚本另外设置LD_LIBRARY_PATH,用于兼容不同桌面环境。
在麒麟电脑上编译运行
安装Qt5、编译器和调试工具:
sudo apt install build-essential qtbase5-dev qt5-qmake \
qtbase5-dev-tools libgl1-mesa-dev gdb
进入源码目录执行:
chmod +x *.sh
./在麒麟X64电脑上构建.sh
./启动ZMotionCAD.sh
构建脚本会在/tmp下建立不含中文、空格和括号的临时目录。这样即使源码目录名是ZMotionCADDemo_X64_Source(2),也不会因为qmake参数转义问题导致编译失败。
项目也准备了VSCode任务:Ctrl+Shift+B编译,F5启动调试。调试时可以在CAD点生成、缓冲运动下发、MOVE_CURMARK读取和红线更新位置设置断点。
教学视频请点击→100%元器件全国产化认证EtherCAT运动控制器与麒麟Linux系统的CAD图形加工
完整代码获取地址
▼

本次,正运动技术100%元器件全国产化认证EtherCAT运动控制器与麒麟Linux系统的CAD图形加工,就分享到这里。
更多精彩内容请关注“正运动小助手”公众号,需要相关开发环境与例程代码,请咨询正运动技术销售工程师:400-089-8936。

正运动技术专注于运动控制技术研究和通用运动控制软硬件产品的研发,是国家级高新技术企业。正运动技术汇集了来自华为、中兴等公司的优秀人才,在坚持自主创新的同时,积极联合各大高校协同运动控制基础技术的研究。主要业务有:运动控制卡_运动控制器_EtherCAT运动控制卡_EtherCAT控制器_运动控制系统_视觉控制器__运动控制PLC_运动控制_机器人控制器_视觉定位_XPCIe/XPCI系列运动控制卡等等。