模块化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 Spring数据JPA+Hibernate在不首先找到父实体的情况下保存子实体   php Java:如何从CLI接收命令   spring为java中的导出数据创建访问文件   java在Windows 8.1上安装Play Framework   java Spring启动白标签错误页面(类型=未找到,状态=404)   java如何在单击时从数组中绘制?   java fn:substringAfter()上次出现   java在IFR语句中使用方法返回   java onPause()或onStop()的名称   对关联对象的关联对象具有条件的java HQL查询   java只打印一次总值,无需迭代   java如何使用抽象Uri buildOn()方法?   如何在Java中执行sudo命令并获得错误输出?   java反射:避免对getConstructor(类<?>…)的未经检查的警告调用作为原始类型类的成员   Java:如何从类中创建的对象调用类方法?   java如何在电子邮件中嵌入图像?   java如何在Android上启用详细GC?   java什么是串行版本id?