Pythonスクリプト機能を備えたModbusツール。
PyTool Modbusは、Modbusの開発、デバッグ、および監視に最適なツールです。
それはあなたに最大の柔軟性を与えるPythonスクリプト機能を備えています。
Modbusツールにスクリプト機能が望ましいのはなぜですか?
電気技師は、Androidスマートフォンやタブレットなどのハンドヘルドデバイスを使用して、フィールド、工場、またはラボでModbus通信をデバッグまたは監視すると便利です。
しかし、ほぼすべてのModbus通信システムには独自のデータ形式があります。
「02a5b4ca .... ff000803」のような16進データの海を検索して、何が起こっているのかを理解しようとするのは、まったく楽しいことではありません。
そこで、PyToolModbusが役立ちます。
カスタムPythonスクリプトを実行する機能により、PyTool Modbusは受信したデータを読み取って解析し、希望どおりに表示し、必要に応じて行動することもできます。
クイックスタート用のスクリプト例があります。それらの1つをコピーして貼り付けるだけで、試してみることができます。
一般的な使用のための便利なModbus制御インターフェースもあります。
これは、次のようなメインストリームのUSBシリアルドライバーをサポートします。
FTDIドライバー
CDCACMドライバー
CP210xドライバー
CH34xドライバー
PL2303ドライバー
スクリプト一般ガイド
=================
*このアプリで使用されているPythonのバージョンは3.8です。
*スクリプトはスクリプトフィールドで編集できますが、このアプリはスクリプトエディターとして設計されていません。
最良の方法は、お気に入りのスクリプトエディタを使用してから、スクリプトをコピーして貼り付けることです。
*奇妙なエラーを避けるために、インデントには常に4つのスペースを使用してください。
*標準のPythonライブラリのほとんどのパッケージをインポートできます。
* whileループが必要な場合は、スクリプトを適切に停止するために、常に `app.running_script`を条件として使用してください。
* `app.version`を使用して、アプリのバージョン文字列を取得します。
* `app.get_output()`を使用して、スクリプト出力フィールドを文字列として取得します。
* `app.set_output(object)`を使用して、スクリプト出力フィールドに文字列として `object`を表示します。
* `app.set_output(app.get_output()+ str(object))`のショートカットとして `app.print_text(object)`を使用して、スクリプト出力フィールドにテキストを追加します。
*スクリプト出力フィールドをクリアするには、 `app.set_output(" ")`のショートカットとして `app.clear_text()`を使用します。
* `app.fc01_read_coils(mbid、addr、num)`を使用して、関数コード01リクエストを送信します。
mbid(int):Modbus ID
addr(int):データアドレス
num(int):データの数
return(intのリスト):要求されたデータリスト
* `app.fc02_read_discrete_inputs(mbid、addr、num)`を使用して、関数コード02リクエストを送信します。
mbid(int):Modbus ID
addr(int):データアドレス
num(int):データの数
return(intのリスト):要求されたデータリスト
* `app.fc03_read_holding_registers(mbid、addr、num)`を使用して、関数コード03リクエストを送信します。
mbid(int):Modbus ID
addr(int):データアドレス
num(int):データの数
return(intのリスト):要求されたデータリスト
* `app.fc04_read_input_registers(mbid、addr、num)`を使用して、関数コード04リクエストを送信します。
mbid(int):Modbus ID
addr(int):データアドレス
num(int):データの数
return(intのリスト):要求されたデータリスト
* `app.fc05_write_single_coil(mbid、addr、val)`を使用して、関数コード05リクエストを送信します。
mbid(int):Modbus ID
addr(int):データアドレス
val(int):データ値
return(int):データ数(常に1)
* `app.fc06_write_single_register(mbid、addr、val)`を使用して、関数コード06リクエストを送信します。
mbid(int):Modbus ID
addr(int):データアドレス
val(int):データ値
return(int):データ数(常に1)
* `app.fc15_write_multiple_coils(mbid、addr、vals)`を使用して、関数コード15リクエストを送信します。
mbid(int):Modbus ID
addr(int):データアドレス
vals(intのリスト):データ値リスト
return(int):データの数
* `app.fc16_write_multiple_registers(mbid、addr、vals)`を使用して、関数コード16リクエストを送信します。
mbid(int):Modbus ID
addr(int):データアドレス
vals(intのリスト):データ値リスト
return(int):データの数
* `app.msg_out`と` app.msg_in`を使用して、リクエストメッセージとレスポンスメッセージを確認します。
* `app.log_file(text)`を使用して、ログファイルをストレージに保存します。
ログファイルは、[ストレージディレクトリ] / PyToolModbus / log_ [UTCタイムスタンプ] .txtにあります。
text(str):テキストコンテンツ
return(str):フルファイルパス