固高与雷赛最大区别:固高卡运动规划、插补全部在板卡硬件执行,上位机只下发指令;Windows 不是硬实时,上位机卡顿不会中断正在运行的运动;优先用 MCT2008 调试工具确认硬件层正常,再定位上位机软件问题。
一、通讯失败、打不开板卡、初始化报错
现象:GT_Open()返回非 0 错误,打开板卡失败,MCT2008 也识别不到卡
SDK、驱动、固件版本必须成套,不能混用新旧 dll;32/64 位严格匹配,程序编译位数与 SDK 一致,否则 dll 加载失败。
PCIe 卡:工控机 BIOS 关闭 PCIe ASPM 节能;设备管理器关闭该板卡电源管理休眠;金手指氧化断电拔卡擦拭金手指重插。
程序异常崩溃没有执行
GT_Close(),驱动被占用;此时 MCT2008 也打不开,需要重启电脑释放板卡资源。管理员权限运行 VS、上位机软件;Ghost 精简系统容易出现驱动异常,优先使用原版 Windows。
多卡场景:不要硬编码卡号 = 0;用 SDK 接口扫描实际卡号,硬件拨码与软件卡号保持一致。
排查原则:MCT2008 能打开,代表硬件驱动正常,问题 100% 在上位机代码;MCT2008 打不开,查硬件、驱动、BIOS。
二、上位机下发指令,轴不动
MCT2008 测试轴可以运动,说明硬件接线、脉冲、伺服没问题,问题在上位机参数与逻辑。
典型坑:
未调用
GT_AxisOn()伺服使能;使能之后需要延时等待伺服驱动器就绪,立刻发运动会无响应CSDN博...。速度、加速度参数设置为 0;运动参数修改后,必须调用
GT_Update()参数才会生效,很多新手漏掉该函数。轴存在报警:硬限位触发、驱动报警;上位机读取轴状态字,报警不清除无法运动。
脉冲模式、脉冲方向极性与驱动器不匹配。
流程校验:打开轴→使能伺服→设置速度 / 位置→
GT_Update()→启动运动;读取错误码GT_GetLastError(),记录日志,不要忽略返回值。
三、多线程问题
固高 GTS 卡 API 不支持多线程并发调用,所有 SDK 调用必须加互斥锁(临界区)保护;禁止 UI 线程直接调用运动 。
现象:随机丢脉冲、IO 乱读、运动错乱、偶发卡死,复现不稳定。
架构规范:
UI 线程:界面刷新、用户操作;禁止直接调用 GT_xxx 接口。
独立运动工作线程:所有板卡初始化、运动指令、IO 读写放在此线程。
状态读取不要高频死循环轮询,建议 50‑100ms 读取一次位置、IO 状态,通过信号回调回 UI 显示,降低 CPU 占用。
退出逻辑:停止所有轴运动→关闭伺服使能→
GT_Close()释放板卡,再退出线程;异常捕获,崩溃场景尽量执行关闭逻辑。
四、跑位、定位不准、回零异常
脉冲当量错误:丝杆导程、电机编码器分辨率、电子齿轮比
GT_ProfileScale设置错误,单位混淆(脉冲 / 物理单位),距离偏差固定倍数。干扰问题:脉冲信号线与电机动力线同线槽;没有差分接线;屏蔽层接地不良;HOME 原点信号受干扰误触发,回零直接判定找到零点,轴不动。
编码器反馈极性取反;实际位置与规划位置不一致。
回零逻辑:上电位置未知,禁止直接绝对定位,必须先回零;回零过程触发限位要清除报警状态,否则后续运动失败。
五、安全逻辑
硬件急停优先:急停信号接入板卡 DI,触发硬件急停,板卡直接切断脉冲输出;上位机软件急停仅做辅助,不能作为唯一安全手段。
双重限位:硬件正负限位 DI;上位机配置软限位
GT_SetSoftLimit(),下发运动指令前校验目标坐标,禁止超程点位下发。报警处理:伺服驱动报警接入 DI;上位机实时读取轴状态,一旦报警,停止全部轴,拒绝接收新运动指令,必须人工清除报警后才能继续运行。
上电重启保护:断电恢复上电,轴位置未知,禁止自动启动运动,需要人工确认回零。
六、IO 读取异常、DI 信号乱跳
IO 外部 24V 电源 GND 和端子板 OGND 共地,地电位差会造成 DI 误触发。
继电器、电磁阀等感性负载,线圈两端必须并联续流二极管,否则干扰板卡 IO。
MCT2008 观察 DI 状态:MCT2008 状态正常,上位机读取异常,是软件多线程 / 读取逻辑问题;MCT2008 也乱跳,属于硬件接线干扰。
七、常见故障速查表
表格
| 故障现象 | 上位机侧主要原因 |
|---|---|
| GT_Open 打开板卡失败 | 驱动 SDK 版本不匹配;程序崩溃未 Close;PCIe 节能;位数不匹配 |
| 下发指令电机不动 | MCT2008 正常;忘记 GT_Update;伺服未就绪;轴报警未清除;参数为 0 |
| 随机跑位,定位偏差 | 多线程并发调用无锁;脉冲当量参数错误;干扰;编码器极性 |
| 回零异常,直接完成 | HOME 信号干扰误触发;编码器接线异常;限位报警未清除 |
| UI 卡顿,运动还在跑 | 正常现象,运动在板卡硬件运行;UI 不要阻塞运动线程 |
| DI 信号随机跳变 | 没有共地;感性负载无续流二极管;强电干扰 |
八、开发调试标准流程(建议严格遵守)
硬件接线完成,MCT2008 完成全部测试:轴运动、回零、限位、急停、IO 全部验证正常,排除硬件问题。
上位机开发:独立运动线程 + 互斥锁保护 SDK 调用;每一步调用读取错误码,完整日志。
安全逻辑:硬件急停 + 硬限位 + 软限位三重保护。
测试:空载测试,再带机械负载;测试急停、报警、断电恢复场景。
异常退出处理:捕获异常,执行停止轴、关闭伺服、关闭板卡。
对比雷赛:雷赛 DMC 卡允许多线程调用 API;固高 GTS 卡严禁多线程并发调用 SDK,这是两者上位机开发最大差异点。

