模块化PID控制库。
pypid的Python项目详细描述
这个包用python提供了一般的PID控制软件 Melcor MTCA后端。这个想法是实验者对 不需要温度控制实验或其他过程 在他们可以学习PID控制器的内部工作之前 执行简单的控制任务。
模块结构
这个包提供了一个高级控制器 每个设备的后端驱动程序。控制器处理自动调谐 PID反馈参数和改变系统温度,而 后端通信设定点更改、温度读取请求, 温度控制装置等。
后端
目前唯一支持的物理后端是melcor MTCA系列热电制冷器控制器 通过Modbus包在serial port上。这就是我所需要的 我的实验,但我试图写一个框架,是灵活的 足够交换其他后端。通过为您的 特定设备,您可以利用 控制器已编写的代码。
melcor
公司不会永远做生意,但实验室设备会做。 自1999年以来,我们的管制员一直很强,但梅尔科已经搬家了 在附近。根据他们的说法,莱尔德集团有限公司 在2009年之前从Fedders公司购买了Melcor(根据 他们逐渐淘汰了旧的 支持their own thermal site的melcor.com网站,以及 看起来不再支持旧的mtca 控制器。不过,eBay上似乎有很多。
测试后端
要了解驾驶PID系统的感觉,请查看 testbackend,它模拟一个标准的一阶过程 死区时间(FOPDT)。
安装
套餐
gentoo
我已经为Gentoo打包了pypid。你需要layman和我的wtk overlay。安装时使用:
# emerge -av app-portage/layman # layman --add wtk # emerge -av dev-python/pypid
依赖性
如果您是手工安装或包装的 发行版,您需要以下依赖项:
Package | Purpose | Debian | Gentoo |
---|---|---|---|
aubio | Pitch detection | python-aubio | media-libs/aubio |
nose | testing | python-nose | dev-python/nose |
NumPy | Controller analysis | python-numpy | dev-python/numpy |
pySerial | serial comminication | python-serial | dev-python/pyserial |
pymodbus | Modbus stack | python-modbus | dev-python/twisted |
SciPy | Controller analysis | python-scipy | dev-python/scipy |
实际上,pymodbus可能(取决于您的包装系统)依赖于 通过Twisted在pySerial上,因此单独使用pymodbus就足够了 你走吧。
尚未接受pymodbus的Debian包。Debian bug #578120跟踪预期方案的进度,但是 目前似乎已经停滞不前了。
用法
请参见examples目录中的示例。
测试
使用以下命令运行测试套件:
$ nosetests --with-doctest --doctest-tests pypid
请注意,您应该将温度控制设备连接到 在运行此命令之前,由于后端测试需要 已连接后端。
许可证
此项目在GNU General Public License Version 3或更高版本下分发。