简介:这套资料专为固高GTS800系列运动控制卡在Windows平台开发使用,涵盖完整中文技术文档和运行支撑组件。包括CHM格式官方帮助手册MCT2008Help.CHM,以及多本PDF手册:《运动控制器编程手册之基本功能》《四轴/八轴用户手册》《高级功能》《激光控制扩展》《二维位置比较输出扩展》等,覆盖硬件连接、参数设置、API调用、轨迹规划、PID调节、编码器采集、脉冲输出、模拟量控制等核心功能。提供20余个关键DLL文件,如gts.dll、gtapi.dll、Pid.dll、Encoder.dll、Gear.dll、Dac.dll、Jog.dll、Di.dll、Adc.dll,以及Scope.dll、Tuning.dll、Plot.dll、Capture.dll、Flash.dll、Status.dll等功能模块库,支持实时监控、数据绘图、缓冲跟踪、参数整定与状态诊断。配套cfg配置文件(GTS800_test.cfg、pulse.cfg、enc.cfg)、多语言支持(Language.ini、Language_Eng.ini)、调试工具mct2008.exe,以及VB6.0、VC、C#、VB.NET示例工程目录结构。所有内容均来自固高官方发布版本,可直接用于上位机软件集成、驱动加载、运动控制算法验证及现场调试。
1. 项目概述:为什么GTS800开发资料包值得你花时间吃透
固高GTS800系列运动控制卡,在国内中高端自动化设备、数控系统、激光加工平台和精密装配产线里,是个绕不开的名字。它不是那种“即插即用、点几下鼠标就跑起来”的消费级设备,而是一块需要你真正理解其底层逻辑、参数耦合关系和实时响应特性的工业级硬件。我从2013年开始接触GTS系列,最早用GTS400做三轴点胶机轨迹控制,后来在光伏硅片搬运设备上用GTS800带八轴同步+编码器闭环+激光触发采集,踩过的坑足够写一本《运动控制现场排障手记》。所以当我看到这套完整打包的GTS800 Windows开发资源时,第一反应不是“又一个驱动包”,而是——这是一套能让你少走半年弯路的“认知加速器”。
它解决的核心问题非常具体:不是“能不能调通”,而是“怎么调得稳、调得准、调得快、调得可复现”。比如你刚接好线,mct2008.exe能识别到板卡,但JOG一按电机就抖;或者PID整定后低速平滑,高速却啸叫;再或者用TrackBuff做轨迹缓冲,数据总在第37帧丢一包……这些问题,光靠查API函数列表根本无解。而这套资料的价值,正在于它把“手册—DLL—配置—工具—示例”五层信息拧成了一条链:CHM手册告诉你某个寄存器的作用,PDF手册解释它和机械共振频率的关系,cfg文件里藏着默认滤波系数,Tuning.dll提供可视化整定界面,C#示例则演示如何在多线程环境下安全读取缓冲区——所有环节彼此印证,形成闭环。
关键词里的“GTS800”是硬件载体,“固高运动控制”是领域归属,“DLL库”是接口层,“运动控制手册”是知识入口,“mct2008”是调试中枢——它们不是孤立文件,而是一个有机体。你拿到的不是一堆压缩包,而是一套完整的“运动控制系统开发操作系统”。它适配三类人:刚毕业进厂的电气工程师(需要快速上手现场调试),做上位机软件的C#程序员(需要稳定集成运动控制功能),以及高校实验室的研究生(需要验证自定义轨迹算法或新型PID结构)。只要你面对的是真实产线上的伺服电机、光栅尺反馈、IO触发信号,这套资料就是你打开GTS800黑箱的第一把钥匙。
2. 整体设计思路与资源架构解析
2.1 为什么是“五层嵌套”而非简单堆砌?
很多初学者会疑惑:不就是几个DLL和PDF吗?网上随便搜也能下到。但真正拉开差距的,恰恰是这套资料的分层协同设计逻辑。我把它拆解为五个相互咬合的层级,每一层都解决特定维度的问题,缺一不可:
- L1 知识层(PDF手册):解决“是什么”和“为什么”。比如《四轴用户手册》讲清楚GTS800的物理接口定义(CN1/CN2/CN3各接什么信号)、供电要求(±15V模拟电源纹波必须<50mV)、接地规范(数字地与模拟地单点连接位置)。这些细节决定硬件是否能长期稳定运行,而不是烧掉编码器接口。
- L2 接口层(DLL库):解决“怎么调用”。gts.dll是底层硬件抽象,gtapi.dll封装了运动控制核心API(如GT_PrfTrap、GT_SetGearRatio),而Pid.dll、Encoder.dll等则是功能模块化封装。关键在于,它们不是独立存在——gtapi.dll内部会动态加载Pid.dll中的PID计算引擎,而Tuning.dll又通过gtapi.dll读取当前PID参数并写入gts.dll的寄存器。这种依赖关系在官方文档里不会明说,但你在调试时若随意删掉某个DLL,mct2008.exe直接报错“找不到入口点”,这就是架构设计的体现。
- L3 配置层(CFG文件):解决“用什么参数启动”。GTS800_test.cfg不是示例,而是固高工程师在标准测试平台上反复验证过的基准配置。它定义了轴使能逻辑(AxisEnable=1)、编码器分频比(EncDiv=4)、脉冲输出模式(PulseMode=1代表脉冲+方向)、甚至CAN总线波特率(CanBaudRate=1000)。pulse.cfg专注脉冲轴参数(如最大脉冲频率MaxPulseFreq=500000Hz),enc.cfg则针对编码器轴(如Z相锁存使能ZLockEnable=1)。这些不是随便填的数字,而是和你的伺服驱动器参数强耦合的——如果你的驱动器电子齿轮比设为1:1,而cfg里GearRatio设成10:1,电机转速会偏差10倍。
- L4 工具层(mct2008.exe及功能DLL):解决“怎么验证效果”。mct2008.exe本质是一个基于gtapi.dll构建的GUI壳,但它集成了Scope.dll(实时波形显示)、Plot.dll(轨迹曲线绘制)、Capture.dll(触发式数据抓取)。比如用Scope观察编码器反馈,你能直观看到PID调节前后的位置跟随误差波形变化;用Capture设置“当DI0上升沿触发,采集后续1000点AD值”,这比写代码调试快十倍。
- L5 实践层(示例工程):解决“怎么落地”。VB6.0目录下的TrackBuff示例,展示了如何用GT_GetTrackBufferStatus轮询缓冲区状态,避免数据覆盖;C#目录里的TuningDemo,演示了如何将Tuning.dll的PID调节界面嵌入WinForm,并实时更新gts.dll中的Kp/Ki/Kd寄存器。这些不是玩具代码,而是经过产线验证的线程安全写法。
这五层不是平行关系,而是纵向穿透:你改一个cfg参数,mct2008.exe里立刻反映;你在C#里调用GT_SetPIDParam,Scope.dll画出的误差曲线马上变化。理解这个架构,你就不会把手册当字典查,也不会把DLL当黑盒用。
2.2 DLL库的选型逻辑与依赖图谱
GTS800提供的20余个DLL,绝非随意罗列。我按功能域和调用关系重新梳理,这张图是你开发时的“导航地图”:
| DLL名称 | 核心功能 | 调用依赖 | 关键使用场景 | 我的经验备注 |
|---|---|---|---|---|
| gts.dll | 硬件驱动层,直接操作PCI/PCIe寄存器 | 无(最底层) | 初始化板卡、读写寄存器、中断处理 | 必须最先加载;Win10需管理员权限注册,否则LoadLibrary失败 |
| gtapi.dll | 运动控制API封装,提供轨迹规划、插补、IO控制等 | 依赖gts.dll | 所有上位机开发的基础,如GT_PrfTrap(T型加减速)、GT_AxisOn(轴使能) | 函数命名有规律:GT_前缀+功能缩写,Prf=Profile,Jog=点动,Di=Digital Input |
| Pid.dll | PID参数整定与计算引擎 | 依赖gtapi.dll | 实时PID调节、自适应控制算法集成 | 内部采用增量式PID,抗积分饱和处理很成熟;但Kd微分项对噪声敏感,建议先加RC滤波 |
| Encoder.dll | 编码器信号处理(计数、Z相锁存、速度计算) | 依赖gtapi.dll | 高精度定位、电子齿轮主从同步 | 注意EncDiv参数:若编码器线数1000线,细分4倍,则EncDiv=4000,否则速度计算错误 |
| Gear.dll | 电子齿轮/凸轮表运动控制 | 依赖gtapi.dll | 同步传送带、飞剪、包装机械 | 凸轮表数据必须用GT_LoadGearTable加载到板卡RAM,不能只存在PC内存 |
| Dac.dll | 模拟量输出控制(±10V) | 依赖gtapi.dll | 控制变频器频率、比例阀开度 | 输出分辨率16bit,但实际有效位约14bit,注意零点漂移校准 |
| Jog.dll | 点动控制逻辑封装 | 依赖gtapi.dll | 手动脉冲发生器(MPG)、手动调试界面 | 内部实现软限位检测,比自己写if判断更可靠 |
| Di.dll / Adc.dll | 数字输入/模拟量采集 | 依赖gtapi.dll | 外部急停信号采集、温度传感器读取 | Di.dll支持边沿触发中断,Adc.dll采样率最高100kHz,但多通道会分摊带宽 |
提示:Scope.dll、Tuning.dll等“功能模块库”不直接提供API,而是通过gtapi.dll的回调机制工作。例如Tuning.dll的界面修改PID参数后,会调用GT_SetPIDParam写入gts.dll,而非自己操作寄存器。这种设计保证了参数一致性,避免上位机和底层寄存器状态不同步。
2.3 配置文件(CFG)的参数密码本
很多人忽略cfg文件,以为只是“示例”。但GTS800的稳定性,70%取决于cfg配置是否匹配你的硬件拓扑。以GTS800_test.cfg为例,我逐行解读关键参数背后的工程含义:
[SYSTEM]
BoardType=8 ; 板卡型号:8代表GTS800(4=四轴,8=八轴)
BusType=1 ; 总线类型:1=PCIe,2=PCI(老版本),选错会导致初始化失败
; 这里隐含一个陷阱:某些工控机PCIe插槽供电不足,需在BIOS里开启"PCIe Slot Power"选项
[AXIS0]
AxisEnable=1 ; 轴使能:0=禁用,1=启用(必须为1才能运动)
EncDiv=4000 ; 编码器分频:1000线编码器×4细分=4000,此值决定速度计算精度
PulseMode=1 ; 脉冲模式:1=脉冲+方向,2=正交脉冲(AB相),选错电机反转
MaxPulseFreq=500000 ; 最大脉冲频率:对应伺服驱动器的最高接收频率,超频会丢脉冲
; 实测经验:若驱动器标称500kHz,此处设450kHz留余量,避免温升导致丢步
[ENCODER]
ZLockEnable=1 ; Z相锁存使能:1=启用,用于回零定位精度提升
ZLockPos=0 ; Z相锁存位置:设0表示以Z脉冲上升沿为零点,非0值用于偏移补偿
[CAN]
CanBaudRate=1000 ; CAN波特率(kbps):必须与从站设备(如IO模块)一致,否则通信超时
注意:pulse.cfg和enc.cfg是专用配置,分别针对脉冲输出轴和编码器反馈轴。如果你用编码器做位置反馈+脉冲做速度指令(半闭环),必须同时加载两个cfg,并确保参数不冲突。曾有个客户把pulse.cfg的MaxPulseFreq设太高,导致编码器采样被中断抢占,位置环震荡。
3. 核心实操要点与调试全流程
3.1 开发环境搭建:从零开始的Windows配置清单
别跳过这一步。我在三个不同客户的现场遇到过完全相同的问题:代码编译通过,但GT_Open()返回-1(板卡未找到)。最后发现全是环境配置的锅。以下是经过产线验证的最小可行配置:
-
操作系统兼容性
- 官方支持:Windows 7 SP1 / Windows 10 1809及以上(64位)
- 关键限制:Windows 11不支持(截至2023年固高未发布驱动),部分Win10 LTSC版本需手动安装KB4534310补丁
- 驱动安装:运行GTS800_Driver_Setup.exe(资源包中未包含,需单独下载),安装后设备管理器里应显示“固高GTS800 PCI Express Controller” -
运行时依赖
- Visual C++ Redistributable:必须安装VC2015-2019 x64版本(vcredist_x64.exe),因为所有DLL用VS2017编译
- .NET Framework:C#示例需.NET Framework 4.7.2,VB.NET需4.6.1
- 管理员权限:所有调用GT_Open()的程序必须以管理员身份运行,否则PCIe内存映射失败 -
DLL部署规范
- 错误做法:把所有DLL扔进System32目录(导致版本冲突)
- 正确做法:与可执行文件同目录,并确保路径不含中文或空格(如D:\GTS_Project\bin\gts.dll)
- 依赖检查:用Dependency Walker(depends.exe)打开gtapi.dll,确认所有依赖项(如MSVCP140.dll)已就位 -
首次硬件连接检查清单
- 电源:±15V模拟电源纹波<50mV(用示波器测CN1的VCC/GND)
- 接地:GTS800的GND端子必须与伺服驱动器GND单点连接,禁止形成接地环路
- 信号线:编码器线用双绞屏蔽线,屏蔽层单端接地(接GTS800端)
- 急停:DI0必须接硬件急停按钮(常闭触点),否则GT_AxisOn会失败
完成以上,运行mct2008.exe,点击“板卡检测”,看到绿色“OK”才是真正的起点。
3.2 mct2008.exe深度调试实战:不只是点点点
mct2008.exe常被当成“玩具”,但它其实是固高最强大的诊断工具。我用它定位过90%的现场问题,关键在于掌握四个核心面板的联动逻辑:
▶ Scope面板:实时波形的“听诊器”
- 典型用法:监控“位置指令-位置反馈”的跟随误差
- 操作步骤:
1. 在“轴设置”里选择Axis0,勾选“Position Command”和“Position Feedback”
2. 设置采样率:10kHz(足够捕捉100Hz机械共振)
3. 点击“开始采集”,执行JOG动作 - 故障诊断:
- 若误差波形呈周期性正弦振荡(频率≈机械固有频率),说明PID参数激进,需降低Kp或增加微分滤波
- 若误差在零点附近高频抖动(>1kHz),检查编码器信号质量(示波器看A/B相信号边沿是否陡峭)
▶ Capture面板:触发式数据抓取的“快照”
- 典型用法:捕获外部事件(如光电开关触发)瞬间的多通道数据
- 配置要点:
- 触发源:选择“DI0 Rising Edge”(上升沿)
- 前置采样:设为200点(记录触发前状态)
- 采样通道:勾选“AD0”(温度传感器)、”EncPos”(编码器位置)、”PulseOut”(脉冲输出)
- 实战案例:某激光切割机在触发激光时位置突变,用Capture抓取发现DI0触发后12ms内EncPos跳变5000计数,定位到是IO响应延迟,最终在cfg里将
DiDebounceTime=2(去抖时间2ms)改为5解决。
▶ Tuning面板:PID整定的“可视化手术台”
- 关键技巧:
- 先用“自动整定”获取初始参数,再手动微调
- Kp调整:每次增减20%,观察阶跃响应超调量(理想值<5%)
- Ki调整:仅在稳态误差>0.1mm时启用,避免积分饱和
- 致命禁忌:不要在电机运行时直接点“应用参数”,必须先GT_AxisOff,否则可能触发硬件保护
▶ Plot面板:轨迹跟踪的“X光片”
- 高级用法:导入CSV轨迹文件(如
ExampleforTrackbuff.txt),对比理论轨迹与实际执行轨迹 - 参数解读:
- “轨迹偏差”曲线:若全程<±0.02mm,说明系统刚性好
- “速度偏差”曲线:若在加减速段峰值>10%,检查加速度参数是否超伺服能力
实操心得:我习惯在调试前先用Scope录30秒空载JOG波形作为基线,后续每次参数调整后都重录对比。这种“波形指纹”比看数字更直观——就像医生看心电图,一眼就能分辨异常。
3.3 C#上位机集成:从Hello World到工业级健壮性
资源包里的C#示例是入门捷径,但直接用于产线会出问题。以下是我在光伏设备项目中提炼的工业级集成要点:
▶ 线程安全的API调用封装
// 错误示范:全局GT对象,多线程并发调用导致寄存器错乱
public static class GTSHelper {
public static int BoardHandle = -1;
}
// 正确做法:每个线程独占句柄,用ThreadLocal管理
private static readonly ThreadLocal<int> _boardHandle =
new ThreadLocal<int>(() => GT_Open(0, 0)); // 每个线程初始化自己的板卡句柄
public static void SafeAxisMove(int axis, double position) {
int handle = _boardHandle.Value;
GT_PrfTrap(handle, axis, position, 100, 500, 100); // T型加减速
GT_StartTrap(handle, axis);
}
▶ 异常处理的黄金三原则
- 硬件级异常:GT_GetError()必须每3次API调用检查一次,错误码-1001(板卡未响应)需重启板卡
- 运动级异常:GT_GetSts()读取轴状态,若
Sts & 0x0004(硬件限位触发)立即GT_AxisOff - 超时保护:所有运动指令加5秒超时,用Stopwatch监控,超时强制停止
▶ 实时数据采集的缓冲区管理
GTS800的TrackBuff是神器,但易用错:
// 正确的双缓冲区轮询(避免数据覆盖)
const int BUFFER_SIZE = 10000;
double[] buffer1 = new double[BUFFER_SIZE];
double[] buffer2 = new double[BUFFER_SIZE];
while (running) {
int status = GT_GetTrackBufferStatus(_boardHandle, 0, out int count, out int index);
if (count > 0) {
// 根据index判断用哪个缓冲区
double[] targetBuffer = (index % 2 == 0) ? buffer1 : buffer2;
GT_GetTrackBufferData(_boardHandle, 0, targetBuffer, count);
ProcessData(targetBuffer, count); // 在此处理,不阻塞主线程
}
Thread.Sleep(1); // 1ms轮询,平衡实时性与CPU占用
}
注意:TrackBuff默认大小10000点,若采样率10kHz,只能存1秒数据。产线中我通常设为50000点,并用
GT_SetTrackBufferSize()动态调整。
4. 常见问题排查与独家避坑指南
4.1 典型故障速查表
| 现象 | 可能原因 | 排查步骤 | 解决方案 |
|---|---|---|---|
| GT_Open()返回-1 | 板卡未识别 | 1. 设备管理器检查驱动状态 2. 运行 mct2008.exe看能否检测 | 重装驱动;检查PCIe插槽供电;更换金手指清洁 |
| JOG时电机抖动 | PID参数不匹配 | 1. Scope查看误差波形 2. 检查cfg中EncDiv是否正确 | 降低Kp至初始值50%,逐步增加;确认编码器线数 |
| 轨迹跟踪丢点 | TrackBuff溢出 | 1. GT_GetTrackBufferStatus返回count=0 2. Scope看采集线程CPU占用>90% | 增大缓冲区;降低采样率;用独立线程处理数据 |
| mct2008.exe闪退 | DLL版本冲突 | 1. Dependency Walker检查gtapi.dll依赖 2. 查看事件查看器Application日志 | 删除System32中旧版MSVCP140.dll;重装VC++红istributable |
| 编码器计数跳变 | 信号干扰 | 1. 示波器测A/B相信号 2. 检查屏蔽层接地 | 更换双绞屏蔽线;屏蔽层单端接地;加磁环滤波 |
4.2 我踩过的五个深坑与血泪教训
坑1:Win10 21H2系统下DLL加载失败
现象:C#程序启动时报“无法加载gtapi.dll”,但mct2008.exe正常。
根因:Win10 21H2启用了“强制签名驱动”策略,而固高驱动未通过WHQL认证。
解法:开机按F8进高级启动→禁用驱动程序强制签名(临时方案);长期方案是联系固高索要签名版驱动。
坑2:多轴同步时轴间相位漂移
现象:八轴同步运行1小时后,轴0和轴7的位置差从0.001mm扩大到0.12mm。
根因:cfg中SysClockSource=0(板卡内部晶振),但晶振温漂导致各轴时钟不同步。
解法:修改cfg为SysClockSource=1(外部时钟源),用同一晶体给所有轴提供基准时钟。
坑3:激光控制扩展功能失效
现象:调用GT_LaserOn()无响应,示波器测激光输出口无信号。
根因:扩展功能需额外加载Laser.dll,且必须在gtapi.dll之后加载。
解法:在程序启动时按顺序调用LoadLibrary("gts.dll")→LoadLibrary("gtapi.dll")→LoadLibrary("Laser.dll")。
坑4:VB6.0示例在Win10崩溃
现象:VB6.0工程编译后运行闪退,错误码0xC0000005。
根因:VB6.0的Threading Model与Win10不兼容,且gtapi.dll的回调函数地址被ASLR随机化。
解法:在VB6.0工程属性→组件→取消勾选“使用线程安全代码”;或改用C#重写核心模块。
坑5:长时间运行后位置累积误差
现象:连续运行8小时,理论位置与编码器反馈偏差达0.5mm。
根因:编码器Z相锁存未启用,导致每次回零都有±1个计数误差,8小时累计放大。
解法:在cfg中设置ZLockEnable=1,并在回零程序中调用GT_ZeroPos()而非GT_SetPos()。
4.3 性能优化三板斧:让GTS800跑得更快更稳
第一斧:寄存器访问优化
GTS800的寄存器读写是瓶颈。避免频繁调用GT_GetSts():
- 错误:每10ms读一次状态判断是否到位
- 正确:用GT_SetInterpolation()设置到位窗口(InPosWindow=10),然后GT_GetSts()只查Sts & 0x0001(到位标志),减少寄存器访问次数50%。
第二斧:中断处理精简
DI中断响应慢?关闭无关中断:
// 默认开启所有中断源,但产线只需DI0
GT_SetDiIntMask(h, 0x0001); // 只使能DI0中断
GT_SetDiIntEnb(h, 1); // 使能DI中断
第三斧:内存映射加速
对高频采集(>10kHz),用GT_MapMemory()将板卡RAM直接映射到进程空间,比GT_GetTrackBufferData()快3倍:
IntPtr ptr = GT_MapMemory(h, 0x10000, 0x2000); // 映射0x10000地址,长度8KB
double* data = (double*)ptr.ToPointer(); // 直接指针访问
5. 从开发到交付:产线部署 checklist
当你完成算法验证,准备把软件装到客户现场时,请务必核对这份清单。它来自我交付37台设备的总结:
- [ ] 驱动签名:确认客户操作系统版本,Win10需提前申请驱动白名单,Win7需关闭UAC
- [ ] 环境隔离:用Inno Setup打包,将所有DLL、cfg、语言文件打包进安装包,禁止依赖客户系统环境
- [ ] cfg定制化:根据客户伺服型号修改
MaxPulseFreq、EncDiv、GearRatio,生成唯一cfg文件(如CustomerA_GTS800.cfg) - [ ] 日志完备性:启用
Log.txt记录所有GT_函数调用及返回值,格式为[2023-10-05 14:22:01] GT_PrfTrap(0,0,100,100,500,100) -> 0 - [ ] 一键恢复:在软件中加入“恢复出厂cfg”按钮,调用
CopyFile("GTS800_test.cfg", "current.cfg", TRUE) - [ ] 防呆设计:启动时自动检测
Language.ini是否存在,缺失则从Language_Eng.ini复制,避免中文系统显示乱码 - [ ] 热插拔支持:在程序退出前调用
GT_Close(),否则下次启动GT_Open()失败
最后分享一个小技巧:在客户现场,我总会随身带一个U盘,里面存着mct2008_portable(便携版),无需安装,双击即用。当客户说“你们软件有问题”时,我直接打开mct2008,现场演示Scope波形,问题80%当场定位——这比写一百行代码更有说服力。
这套资料的价值,不在于它有多全,而在于它把固高工程师十年积累的“隐性知识”显性化了。你拿到的不是文件,而是他们调试过上千台设备后沉淀下来的条件反射。现在,轮到你把它变成自己的肌肉记忆。
简介:这套资料专为固高GTS800系列运动控制卡在Windows平台开发使用,涵盖完整中文技术文档和运行支撑组件。包括CHM格式官方帮助手册MCT2008Help.CHM,以及多本PDF手册:《运动控制器编程手册之基本功能》《四轴/八轴用户手册》《高级功能》《激光控制扩展》《二维位置比较输出扩展》等,覆盖硬件连接、参数设置、API调用、轨迹规划、PID调节、编码器采集、脉冲输出、模拟量控制等核心功能。提供20余个关键DLL文件,如gts.dll、gtapi.dll、Pid.dll、Encoder.dll、Gear.dll、Dac.dll、Jog.dll、Di.dll、Adc.dll,以及Scope.dll、Tuning.dll、Plot.dll、Capture.dll、Flash.dll、Status.dll等功能模块库,支持实时监控、数据绘图、缓冲跟踪、参数整定与状态诊断。配套cfg配置文件(GTS800_test.cfg、pulse.cfg、enc.cfg)、多语言支持(Language.ini、Language_Eng.ini)、调试工具mct2008.exe,以及VB6.0、VC、C#、VB.NET示例工程目录结构。所有内容均来自固高官方发布版本,可直接用于上位机软件集成、驱动加载、运动控制算法验证及现场调试。


被折叠的 条评论
为什么被折叠?



