# APP_TurnTable **Repository Path**: slassddd/app_-turn-table ## Basic Information - **Project Name**: APP_TurnTable - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-01-13 - **Last Updated**: 2026-01-13 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # SVD60N Matlab GUI ## 简介 SVD60N 伺服上位机 GUI,基于 Matlab App Designer。支持位置/速度/正弦/三角/方波控制、实时曲线与状态日志。 ## 运行环境 - Windows 11 - MATLAB R2020b(App Designer) - 通信:sim / TwinCAT ADS / SOEM(Npcap + soem_mex) ## 运行方式 1. 在 Matlab 中将 `matlabcode` 加入路径 2. 执行 `SVD60NHostApp` ## 关键文件 - `matlabcode/SVD60NHostApp.m`:UI + 轮询 + 绘图 + 日志 - `matlabcode/SVD60NController.m`:DS402 读写与状态机 - `matlabcode/SVD60NConfig.m`:默认配置 - `matlabcode/SVD60N_user_config.mat`:用户配置覆盖(启动时自动读取) - `matlabcode/SVD60NDictionary.m`:对象字典索引 - `matlabcode/svd60n_dict0.m`:状态/模式/错误/辅助码解码 - `matlabcode/EtherCATTransportAds.m`:TwinCAT ADS 访问 - `matlabcode/EtherCATTransportSoem.m`:SOEM + MEX 访问 - `matlabcode/soem/*`:SOEM MEX 构建与底层接口 - `matlabcode/TwinCAT_GVL_SVD60N.txt`:PLC 变量映射模板 ## 配置与默认值 - `SVD60NConfig.m` 默认值: - `pollPeriod=0.05s`,`statusUpdatePeriod=2s`,`bufferSize=2000` - `plotWindowSeconds=10` - `soem.pdoCycleMs=10`(100 Hz) - `displayUnit='counts'`(无用户配置时) - `SVD60N_user_config.mat` 会覆盖默认配置,当前项目默认显示单位为 `deg` - 单位系统:`H0E.07`(0=command units p/s,1=0.01rpm) - 6091:Motor/Load Res 默认 `2^23`,`gearRatio=1` ## 绘图与日志行为 - 时间轴为滑动窗口:`plotWindowSeconds` 控制窗口长度 - `bufferSize` 控制时间缓冲长度,`updatePlotLines` 维护 X 轴滑动 - `Status Log` 支持历史记录与查询(十进制、0x 十六进制、E-code) - 状态/日志更新由 `statusUpdatePeriod` 单独节流 ## 通信方式 ### sim - 纯仿真,用于无硬件验证 UI 与逻辑 ### ADS(TwinCAT) - 配置 EtherCAT 主站与 SVD60N 从站 - 在 PLC 中映射 PDO 变量(参考 `TwinCAT_GVL_SVD60N.txt`) - 修改 `SVD60NConfig.m`:`cfg.ads.netId`、`cfg.ads.port`、`cfg.ads.dllPath` ### SOEM - 依赖 Npcap 与 SOEM 源码 - 构建: - `cd matlabcode/soem` - `build_soem_mex('C:\path\to\soem', 'C:\Program Files\Npcap\SDK')` - 运行时设置: - `cfg.adapterName`、`cfg.slaveId` - SDO 推荐 `safeMode=0`、`requestOperational=0` - PDO 推荐 `requestOperational=1`,并配置 `pdoCycleMs` ## 已知问题 - PDO 模式在 app 内进入 PRE-OP 失败("[PDO] Failed to enter PRE-OP state") - Sim 模式连接后曲线更新可能中断(需持续验证) - PP 正弦速度反馈不够平滑(需继续优化) ## 参考 - `svd60n_manual.pdf`:错误码与对象字典 - `AGENTS.md`:AI/开发上下文(新对话先读) - `DESIGN.md`、`REQUIREMENTS.md`:设计与需求说明