2017-03-21 4 views
0

私はraspbianテストシステムでpythonを使用しています。 PT100温度センサ imと接続された10Channelデバイス(Temco P3-PT10)との通信には、ミニモデブを使用します。python minimalmdobusどのようにレジスタを正しく解釈するのですか?

は、そのため私は、チャンネル1の温度を100〜101を登録読みたい: 説明は言う:「INTを設定すると、100は0と101は、チャネル1用の温度を表示する表示され、250 = 25.0Cときセット

:私はの出力を得た

temperaturef = instrument.read_float(r, 3, 2) 
temperature = instrument.read_register(r, 0) 

:flaot、100と101のショー25.0000C」

は私が読み始めました62915 F:100 Rに対処-4.95029165077e + 32 // 101 R住所:16684 F:10.7924995422

最初の列はレジスタは浮動小数点値がバック来第二のカラム値を示しています。

私の質問: - レジスタ値には何が格納されていますか?私はそれらをフロートに変換することはできますか? - なぜfloatの最初の値が負ですか?

私は何か間違っていますか?

助けてください!モッズ・バスを読み取るための

答えて

1

あなたが浮いたりすなわちするには、このlink

はいあなたがひそかでき進値に追従することができます登録します。上記の方法でレジスタを読み終えたら、レジスタ値を取得します。あなたが使用することができます署名したフロートに進を変換するための

import struct 
var='0xbf99999a' 
var = var.replace('x',' ') 
var1 = var[2:len(var)] 
print var1 
a= struct.unpack('!f', var1.decode('hex'))[0] 
print "%.3f"%round(a,3) 
関連する問題