問題タブ [libmodbus]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - dll で作成されたソケットを閉じる
Windows OS の Python で libmodbus.dll を使用して modbus スレーブを作成しています。ctypes を使用して dll をロードし、その機能を利用しました。ここで模倣しているサンプルコードがあります。dll 内の呼び出しの 1 つがソケットを開くことになります。
例の最後に、ソケットを閉じる行があります
close()
libmodbus.dll の一部ではありません。図書館から#include <unistd.h>
です。機能を備えた dll を取得せずにソケットを閉じる方法はありclose()
ますか? close()
そうでない場合、Windows プラットフォームでコマンドにアクセスするにはどうすればよいですか? 私が知っていることからunistd.h
、posix用です。
c++ - libmodbus ライブラリの modbus_read_registers() は、Raspbian GNU/Linux 10 (buster) では RS485 データを読み取ることができませんが、Yocto Dizzy リリースでは読み取ることができます
以下の c\c++ サンプル コードを使用して、libmodbus を使用して Modbus RTU データを読み取ります。私は 2 つの異なる Linux ベースのゲートウェイを持っています。一方には Raspbian GNU/Linux 10 (バスター) があり、もう一方には Yocto Dizzy Release があります。libmodbus lib を使用して、両方のゲートウェイで modbus tcp データを読み取ることができます。しかし、Raspbian GNU/Linux 10 (buster) for modbus rtu (RS485) の場合、バッファの読み取り中に接続タイムアウトが発生します。両方のゲートウェイにはもう 1 つの違いがあります。つまり、Raspbian GNU/Linux 10 (buster) は ttyUSB0 ポートを使用し、Yocto Dizzy Release は Linux の ttymxc2 ポートを使用します。
しかし、Raspbian GNU/Linux 10 (buster) で pymodbus を使って python でサンプルコードを試したところ、データを読み込むことができました。
C ++でRaspbian GNU / Linux 10(バスター)のlibmodbusを使用して、modbus rtu(RS485)の何が問題なのかを特定するのを手伝ってくれる人はいますか?