未知
PyUniversalLibrar的Python项目详细描述
pyuniversallibrary是度量计算的python包装器 基于windows操作系统的通用数据采集库 系统
此文档是webpage for PyUniversalLibrary和 README.txt文件(随 普世博瑞)。它是reStructuredText格式的。
内容
Work in Progress
当前PyUniversalLibrary不完整到目前为止我已经完成了 模拟I/O、数字I/O和温度功能其中一些我 没有个人需要,所以请注意潜在的错误。如果 你需要更多的功能,希望你会发现 使包装此库变得有用。我欢迎你的改变 增加我将在下一个版本中包括它们 信用卡。
Release 20061020
当前版本
重写为纯python实现,使用cTypes和numpy (新要求)。不再需要数字,并且 这应该适用于任何合理的向后兼容的未来 python、cTypes和numpy的版本。模拟输出示例如下 已更改为在USB PMD-1208FS设备上工作
Release 20050624
现在已经涵盖了很多通用库,包括所有模拟I/O, 数字输入/输出和温度输入功能。
Release 20050623
首次公开发行。
Also of interest
可以使用各种用于数据采集的python包装器。以下是一些我知道的:
- National Instruments NI-DAQ: http://sourceforge.net/projects/uncpythontools/
- Data Translation: Martin Spacek has indicated (personal commication) he has drivers
- Comedi apparently comes with Python wrappers: http://www.comedi.org/
- Dr. Warren Jasper’sMeasurement Computing USB drivers for Linux (Andrew Straw has written Python wrappers for these - contact him for further information)
Installation and Download
必须从Measurement Computing下载并安装InstaCal。 它包含访问硬件所需的各种库。
必须安装Python。
您必须安装ctypes(这包含在Python2.5中)。 但是可以下载旧版本的python。
必须安装numpy。
下载PyUniversalLibrary:获取二进制安装程序或源 来自download directory的代码。
要获取示例,请下载源代码您仍然可以安装 二进制文件。
Optional
如果你想充分利用pyuniversallibrary,我建议 你买的是Universal LibraryC API50美元,包括 大量的文档和示例代码
Examples
下面是示例目录中的ulai01.py。是直接的 翻译Ulai01.c的精要,包含在Universal Library中。通过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示波器。
Usage notes
Naming conventions
“pyul”在这里是指universallibray python模块。因为 UniversalLibrary很难输入,示例程序实际上 使用“import universallibrary as ul”。
pyuniversallibrary努力保持函数签名与 C API这些有时会导致非Python怪癖:一些 函数的参数对该函数没有影响,因为在C语言中 它们是输出变量。在这些情况下,它们作为 函数的输出。
Error handling
pyul在每次调用时检查错误并引发 如果遇到错误,则返回universallibraryerror。实例 universallibraryerror有一个可以转换的errno属性 调用“获取错误”消息(errno)的字符串。
Initialization
简而言之,导入PyUL(“导入UniversalLibrary”) 将执行所有必要的初始化。
说来话长就是C programs调用cbdeClareRevision()并 初始化时的cberrhandling()函数。Pyul呼叫 自动执行cbDeclareRevision(),而调用cbErrHandling()不是 需要,因为默认状态dontprint,dontstop pyul所期望的,因为pyul无论如何都会检查所有的错误代码。