跳转到主要内容

未知

项目描述

PyUniversalLibrary是用于在Microsoft Windows操作系统上执行数据采集的Measurement Computing通用库的Python包装器。

本文档既是PyUniversalLibrary的网页,也是README.txt文件(与PyUniversalLibrary源代码一同分发)。它采用reStructuredText格式。

工作正在进行中

目前PyUniversalLibrary尚不完整。迄今为止,我已经包装了模拟I/O、数字I/O和温度函数。其中一些我本人并不需要,所以请注意潜在的bug。如果您需要更多功能,希望您会发现我对这个库的包装有所帮助。我欢迎您的更改和补充。我将在下一个版本中包含它们,并给予适当的认可。

版本 20061020

当前版本

重写为纯Python实现,使用ctypes和numpy(新要求)。不再需要Numeric,并且这应该与任何合理向后兼容的Python、ctypes和numpy版本兼容。模拟输出示例已更改,以在USB PMD-1208FS设备上运行。

版本 20050624

现在覆盖了大量的通用库,包括所有模拟I/O、数字I/O和温度输入函数。

版本 20050623

第一个公开版本。

也很有兴趣

有许多用于数据采集的Python包装器。以下是我所知道的几个

安装和下载

您必须从Measurement Computing下载并安装InstaCal。它包含访问您的硬件所需的各个库。

您必须安装Python

您必须安装ctypes(这包含在Python 2.5中),但对于较旧的Python版本,可以下载。

您必须安装numpy

下载PyUniversalLibrary:下载目录获取二进制安装程序或源代码。

要获取示例,请下载源代码。您仍然可以安装二进制文件。

可选

如果您打算大量使用PyUniversalLibrary,我建议您购买Universal Library C API。它售价50美元,包括详尽的文档和示例代码。

示例

以下是示例目录中的ulai01.py。它是与Universal Library一起提供的ulai01.c的直接翻译。错误检查会自动通过Python异常进行。

import UniversalLibrary as UL

BoardNum = 0
Gain = UL.BIP5VOLTS
Chan = 0

while 1:
    DataValue = UL.cbAIn(BoardNum, Chan, Gain)
    EngUnits = UL.cbToEngUnits(BoardNum, Gain, DataValue)

    print DataValue, EngUnits

还包括其他示例,包括基于wxPython/matplotlib的简单示波器。

使用说明

命名约定

在这里,“PyUL”表示UniversalLibray Python模块。因为UniversalLibrary难以输入,示例程序实际上使用“import UniversalLibrary as UL”。

PyUniversalLibrary努力保持函数签名与C API相同。这有时会导致非Pythonic的怪癖:某些函数参数对该函数没有影响,因为在C中它们是输出变量。在这些情况下,它们作为函数的输出返回。

错误处理

PyUL在每次调用时都会检查错误,如果遇到错误,则引发UniversalLibraryError。UniversalLibraryError实例具有errno属性,可以通过调用_get_error_message(errno)将其转换为字符串。

初始化

简而言之,导入PyUL(“import UniversalLibrary”)将执行所有必要的初始化。

长话短说,C程序在初始化时调用cbDeclareRevision()和cbErrHandling()函数。PyUL会自动调用cbDeclareRevision(),调用cbErrHandling()是不必要的,因为默认状态DONTPRINT、DONTSTOP正是PyUL所期望的,因为PyUL无论如何都会检查所有错误代码。

许可证

BSD许可证。请参阅与源代码一起分发的LICENSE.txt文件。

所有者:加州理工学院 作者:Andrew Straw

项目详情


下载文件

下载适用于您的平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源代码分布

PyUniversalLibrary-20061020.zip (34.4 kB 查看哈希

上传时间: 源代码

构建分布版

PyUniversalLibrary-20061020.win32.exe (75.0 kB 查看哈希值)

上传时间 源代码

由以下支持