我将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 (不包括全部,只包括相关部分)。
我真的很想在这里看到我的错误。这个精确代码似乎是为PyDAQFlex页面中的其他人工作的,所以我非常困惑。我给这个软件的创建者发了邮件,一个和我一样问题的人,我刚刚在IRC的各种聊天中花了6个小时。请帮帮我。如果有帮助的话,我使用这教程的部分内容来安装热电偶阅读器的驱动程序和设备。非常感谢。
发布于 2016-02-15 23:10:30
如果23.8是相关的,但没有正确的温度,那么它是一个校准问题。当校准时,你能打印出原始测试程序和pydaqflex从设备发送和接收的内容吗?
https://stackoverflow.com/questions/35420430
复制相似问题