模块化PID控制库。

pypid的Python项目详细描述


这个包用python提供了一般的PID控制软件 Melcor MTCA后端。这个想法是实验者对 不需要温度控制实验或其他过程 在他们可以学习PID控制器的内部工作之前 执行简单的控制任务。

模块结构

这个包提供了一个高级控制器 每个设备的后端驱动程序。控制器处理自动调谐 PID反馈参数和改变系统温度,而 后端通信设定点更改、温度读取请求, 温度控制装置等。

后端

目前唯一支持的物理后端是melcor MTCA系列热电制冷器控制器 通过Modbus包在serial port上。这就是我所需要的 我的实验,但我试图写一个框架,是灵活的 足够交换其他后端。通过为您的 特定设备,您可以利用 控制器已编写的代码。

melcor

公司不会永远做生意,但实验室设备会做。 自1999年以来,我们的管制员一直很强,但梅尔科已经搬家了 在附近。根据他们的说法,莱尔德集团有限公司 在2009年之前从Fedders公司购买了Melcor(根据 他们逐渐淘汰了旧的 支持their own thermal sitemelcor.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

依赖性

如果您是手工安装或包装的 发行版,您需要以下依赖项:

PackagePurposeDebianGentoo
aubioPitch detectionpython-aubiomedia-libs/aubio
nosetestingpython-nosedev-python/nose
NumPyController analysispython-numpydev-python/numpy
pySerialserial comminicationpython-serialdev-python/pyserial
pymodbusModbus stackpython-modbusdev-python/twisted
SciPyController analysispython-scipydev-python/scipy

实际上,pymodbus可能(取决于您的包装系统)依赖于 通过TwistedpySerial上,因此单独使用pymodbus就足够了 你走吧。

尚未接受pymodbus的Debian包。Debian bug #578120跟踪预期方案的进度,但是 目前似乎已经停滞不前了。

手动安装

pypid可用作Git存储库:

$ git clone git://tremily.us/pypid.git

有关详细信息,请参见homepage。要安装签出,请运行 标准:

$ python setup.py install

用法

请参见examples目录中的示例。

测试

使用以下命令运行测试套件:

$ nosetests --with-doctest --doctest-tests pypid

请注意,您应该将温度控制设备连接到 在运行此命令之前,由于后端测试需要 已连接后端。

许可证

此项目在GNU General Public License Version 3或更高版本下分发。

作者

W.特雷弗·金 wking@tremily.us 版权所有2008-2012

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
调试Java toString()是否在toString中包含类名?   java多路复用程序   java Google map群集不适用于少量Cordinate   java如何在Android中设置和自定义不同的字体样式   Java版本比较   Spring引导升级后的java“未找到提供程序com.fasterxml.jackson.module.jaxb.JaxbAnnotationModule”   java如何重新定位小程序查看器窗口?   java在适配器处于同一活动时在回收器视图中添加搜索视图   在Java中使用COM程序集   java在ListView中选择了什么操作?   java Hangman屏蔽字符串,取消隐藏字符   java为什么检查多个条件会返回不正确的结果   spring由:java引起。lang.ClassCastException:$ProxyX不能强制转换为my。包裹DefaultCustomerProviderImpl   java想要一些建议来清理一系列if语句   Java使用多个参数对对象进行排序