# CSharpDeviceCtrlDemo **Repository Path**: sunnyzls/csharp-device-ctrl-demo ## Basic Information - **Project Name**: CSharpDeviceCtrlDemo - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2026-02-14 - **Last Updated**: 2026-02-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # C# 旋转舞台控制演示程序 ## 项目简介 本项目是一个基于 Windows Forms 的演示应用程序,用于控制旋转舞台(Rotary Stage)设备。该程序支持通过串口和 IoT 两种方式连接设备,提供丰富的运动控制功能,包括速度控制、绝对定位、相对移动和归零操作。 ## 功能特性 ### 连接功能 - **串口连接**:自动扫描可用串口,支持串口通信 - **IoT 连接**:支持通过 IoT 平台连接设备 - **多设备支持**:可同时管理多个设备 ### 运动控制 - **速度模式**:支持正反向持续转动(按住按钮执行) - **绝对定位**:将轴移动到指定绝对位置 - **相对移动**:将轴从当前位置移动指定距离 - **归零操作**:将轴返回原点位置 - **停止所有**:立即停止所有轴的运动 ### 状态监控 - 实时显示设备连接状态 - 显示设备数量和当前选中设备 - 显示轴的位置信息 - 显示轴的运行状态 - 支持手动刷新状态 ### 日志功能 - 实时记录操作日志 - 支持按类型分类显示(信息、错误等) - 清除日志 - 保存日志到文件 ## 系统要求 - .NET Framework 4.8 或更高版本 - Windows 操作系统 - 串口或网络连接(取决于设备类型) ## 安装说明 1. 克隆或下载本项目到本地 2. 使用 Visual Studio 打开 `demos.slnx` 解决方案文件 3. 还原 NuGet 包(如果有) 4. 编译项目生成可执行文件 ## 使用指南 ### 串口连接 1. 点击"连接串口"按钮 2. 从下拉框中选择可用的串口 3. 程序将自动扫描并显示连接的设备 ### IoT 连接 1. 输入 IoT 设备 ID 2. 点击"IoT 连接"按钮建立连接 ### 控制操作 1. 从设备列表中选择目标设备 2. 选择要控制的轴 3. 根据需求执行相应操作: - 速度模式:按住"左转"或"右转"按钮 - 绝对定位:设置目标位置,点击"绝对移动" - 相对移动:设置移动距离,点击"相对移动" - 归零:点击"归零"按钮 - 停止:点击"全部停止"按钮 ## 项目结构 ``` csharp-device-ctrl-demo/ ├── demos/ │ ├── Program.cs # 程序入口点 │ ├── RotaryStageForm.cs # 主窗体逻辑 │ ├── RotaryStageForm.Designer.cs # 窗体设计器代码 │ ├── UintItem.cs # 单位项泛型类 │ └── demos.csproj # 项目文件 ├── demos.slnx # 解决方案文件 ├── .gitignore # Git 忽略文件 ├── .gitattributes # Git 属性文件 └── .vscode/settings.json # VS Code 设置 ``` ## 主要类说明 ### RotaryStageForm 主窗体类,封装了所有用户界面交互和设备控制逻辑。 ### UnitItem 泛型类,用于在 UI 中显示和选择带有显示名称的单位值。 ## 许可证 本项目遵循开源许可证协议。 ## 贡献指南 欢迎提交 Issue 和 Pull Request 来帮助改进本项目。