deepmodeling / deepmodeling/Uni-Lab-OS

支持阿尔泰科技DAM3000M系列控制仪表

Open
#237 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
177
Forks
75
Avg merge
1h 40m
Merged PRs (30d)
5

Description

## 背景

阿尔泰科技DAM3000M系列是工业级数据采集与控制模块,广泛应用于实验室自动化场景。目前Uni-Lab-OS尚未支持该系列设备。

参考项目:https://github.com/newtontech/ART-CONTROL-Python-Interface

## 功能需求

支持阿尔泰科技DAM3000M系列的主要设备:

### 1. DAM3060V - 模拟输出模块
- **通道数**: 4通道
- **输出范围**:
- -10V ~ 10V
- -5V ~ 5V
- 0V ~ 10V
- 0V ~ 5V
- **应用场景**: 控制电压输出、设备调节

### 2. DAM3151 - 模拟输入模块
- **通道数**: 32通道
- **测量范围**:
- 电压: -10V ~ 10V, -5V ~ 5V, 0V ~ 10V, 0V ~ 5V, 1V ~ 5V
- 电流: -20mA ~ 20mA, 0mA ~ 20mA, 4mA ~ 20mA, 0mA ~ 22mA
- **应用场景**: 传感器数据采集、信号监测

## 技术方案

### 1. 设备集成
- 在 `unilabos/devices/` 下创建 `altai_dam` 目录
- 实现 `DAM3060V` 和 `DAM3151` 设备类
- 封装 DLL 调用(DAM3000M_64.dll)

### 2. 接口设计
- 继承 Uni-Lab-OS 设备基类
- 实现标准设备接口:
- `set_analog_output(channel, value)`: 设置模拟输出
- `measure_all_channels()`: 测量所有通道
- `set_range_mode(channel, mode)`: 设置量程模式
- `get_device_info()`: 获取设备信息

### 3. ROS2 消息支持
- 定义自定义消息类型(如需要)
- 实现设备节点

### 4. 配置系统
- 支持 YAML 配置文件
- 配置串口、波特率、设备ID等参数

## 实现步骤

1. [ ] 创建设备目录和基础文件结构
2. [ ] 实现 DAM3060V 设备类(模拟输出)
3. [ ] 实现 DAM3151 设备类(模拟输入)
4. [ ] 添加设备注册和配置支持
5. [ ] 编写单元测试
6. [ ] 编写使用文档和示例

## 测试计划

- 单元测试:模拟设备通信
- 集成测试:实际硬件测试
- 性能测试:多通道并发测试

## 参考资源

- [阿尔泰科技DAM3000M系列文档](https://github.com/newtontech/ART-CONTROL-Python-Interface)
- [Uni-Lab-OS设备集成指南](https://deepmodeling.github.io/Uni-Lab-OS/)
- [现有设备实现参考](unilabos/devices/temperature/)

## 优先级

高 - 该设备系列在国内实验室广泛使用,集成后将显著提升Uni-Lab-OS的实用性。

## 相关 Issue

暂无

---

/cc @deepmodeling/uni-lab-os-team

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.