我将Python脚本与热电偶和热电偶读取器结合使用。要与用C编写的热电偶读取器通信,我必须使用API​​。该API是PyDAQFlex。热电偶读取器还带有用C编写的测试程序脚本。我试图从热电偶读取器中获取温度读数,但它仅输出CJC值。

我的代码:

import daqflex

d = daqflex.USB_2001_TC()

def get_temperature():
    return float(d.send_message("?AI{0}:CJC/DEGC").encode("utf-8"))


我的代码的输出:

u'AI{0}:CJC/DEGC=23.8'


注意:23.8不是温度。该值是CJC,如下面的测试程序脚本的命令行输出所示。这是相关的,但与我寻找的价值无关。



测试器脚本的代码:

http://pastebin.com/Atsdy7X0(要获取温度,我先按“ t”再按“ k”,因为我有一个K型热电偶)。

测试器脚本的命令行输出:

http://pastebin.com/jq4Rr4QX(这里的温度是准确的。这就是我要插入脚本的温度。)



PyDAQFlex脚本:

https://github.com/torfbolt/PyDAQFlex/blob/master/daqflex/devices.py(请参阅第105行)

热电偶读取器的C代码:

http://pastebin.com/rEDR9efR(不完整,仅包括相关部分。)



我很努力地在这里看到我的错误。这个exact piece of code似乎在PyDAQFlex Github页面上为其他人工作过,所以我感到非常困惑。我已经给该软件的创建者发送电子邮件,该人在Github中与我有类似的问题,并且我刚刚在各种IRC聊天中花费了6个小时。请帮我。如果有帮助,我使用了this教程的一部分来安装热电偶读取器的驱动程序和相关内容。非常感谢。

最佳答案

如果与23.8相关,但与正确的温度无关,那么这是一个校准问题。校准时,您能打印出什么原始测试仪程序和pydaqflex从设备发送和接收?

关于python - 无法通过Python API使用C库:我在做什么错?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35420430/

10-15 00:17
查看更多