
無料で利用できるミニプログラム!!
Modbus Pollの概要
Modbus Pollは、さまざまな目的のために特別に開発された使いやすいModbusマスターシミュレータです。
以下を含む。
- Modbusスレーブデバイス設計者がプロトコルインタフェースを迅速かつ簡単にテスト
- Modbusデバイスやネットワークをフィールドでテストするオートメーションエンジニア
- デバイスから特定のサービスデータを読み取りおよび/または変更したいサービスエンジニア
- スレーブのModbusレジスタの変更
- Modbusデバイスからのデータの記録
- トラブルシューティングとコンプライアンステスト
Modbus Pollのシステム要求
ハードウェア要件
プロセッサー。1 GHz以上の1 GB RAMを推奨
5 MBのハードディスク空き容量
1,024 x 768ディスプレイ解像度オペレーティングシステム要件
Windows 7からWindows 11までのすべてのバージョンのWindowsをサポートします。
Modbus Pollの機能
接続する。
Modbus Pollは、スレーブデバイスへのデータの読み書きを行います。
- RS 232またはRS 485ネットワーク上のModbus RTUまたはASCII。(USB/RS232/485ドングル)
- TCP/IPベースのModbus。(Modbus RTU/ASCI IをTCPパケットにカプセル化)
- UDP/IPベースのModbus。(Modbus RTU/ASCI IをUDPパケットにカプセル化)
サポートされるModbus機能
- 0 1(0 x 0 1)リードコイル
- 0 2(0 x 0 2)離散入力の読み取り
- 0 3(0 x 0 3)リードホールドレジスタ
- 0 4(0 x 0 4)入力レジスタの読み込み
- 0 5(0 x 0 5)シングルコイルへの書き込み
- 0 6(0 x 0 6)単一レジスタに書き込む
- 08 0 x 08 Diagnosticsシリアル回線のみ
- 11 (0 x 0B)Communicationイベントカウンタの取得(シリアル回線のみ)
- 15 (0 x 0F)複数のコイルに書き込む
- 16 (0 x 10)複数のレジスタに書き込む
- 17 (0 x 11)レポートサーバー ID(シリアル行のみ)
- 22 (0 x 16)マスク書き込みレジスタ
- 23 (0 x 17)複数のレジスタの読み書き
- 43 / 14 0 x 2 B/0 x 0EデバイスIDの読み取り
データ·レコード
- テキストファイルへのデータの記録
- データをExcelに直接記録する
表示フォーマット
各セルは個別にフォーマットできます。
| 中国語の説明 | 英語での説明 |
|---|---|
| 16ビット符号付きレジスタ | Signed 16-bit register |
| 16ビット符号なしレジスタ | Unsigned 16-bit register |
| 16進法 | Hex |
| Binaryシングル | Binary |
| 任意のワード/バイト順序の32ビット符号付き整数 | 32-bit signed integer with any word/byte order |
| 任意のワード/バイト順序の32ビット符号なし整数 | 32-bit unsigned integer with any word/byte order |
| 任意のワード/バイト順序の64ビット符号付き整数 | 64-bit signed integer with any word/byte order |
| 任意のワード/バイト順序の64ビット符号なし整数 | 64-bit unsigned integer with any word/byte order |
| 任意のワード/バイト順序の32ビット浮動小数点数 | 32-bit float with any word/byte order |
| 任意のワード/バイトの64ビット倍精度小数点数 | 64-bit double float with any word/byte order |
その他の機能
- Excel、VBA、Pythonなどとのインターフェース用のOLE/Automation。
- データトラフィックの監視
- 印刷と印刷プレビュー
- フォントの選択
- 条件付き色
- ズーム/Zoom
- リアルタイムグラフ
- ワークスペースの保存/オープン
- アドレススキャン
Modbus Pollの概要
Modbus Pollはマルチウィンドウインタフェースを使用する。つまり、複数のウィンドウを開くことができます。それぞれが異なるスレーブデバイスから異なるデータコンテンツを同時に持っています。

いつでもどこでも支援
F 1を参照。 現在選択されているアイテムに関連付けられているトピックのコンテキスト依存ヘルプを取得します。
SHIFT + F1 カーソルがヘルプカーソル(矢印+疑問符)に変わる特別な“ヘルプモード”を呼び出します。次に、ユーザーは、メニュー項目、ツールバーボタン、またはウィンドウなどのユーザーインターフェイス内で表示されるオブジェクトを選択することができる。これにより、選択したアイテムを説明するトピックに関するヘルプが開きます。
セルの名前
ここでは、任意のテキストを入力して値セルを指定できます。Excelのセルからテキストをコピー/ペーストすることもできます。
値のセル
Modbusレジスタのデータ値を表示する。値のセルをダブルクリックすると、新しい値をスレーブデバイスに書き込むダイアログが表示されます。値のセルに数値を入力すると、ダイアログボックスも表示されます。値の書き込みに使用するModbus関数を選択できます。
[応答が正常なときにダイアログを閉じる]チェックボックスは、値が正常に送信されたときに自動的にダイアログを閉じるために使用します。これは、多くの値を変更したい場合に便利です。これにより、新しいセルをすばやく选択して、新しい値を再度入力できます。

フォントの変更
フォントを変更するには、2つのオプションがあります。
- 変更するセルを選択し、右クリックします。
- 変更したいセルを選択し、メニュー →ディスプレイ→フォントを選択します。

条件付き色
条件付きカラーを使用すると、特定の範囲内の値を視覚的に表示できます。3色から選択
- デフォルト色:trueと評価された条件色がない場合に使用されます。
- ルール1:式がtrueと評価された場合、この色選択が使用されます。ルール1はルール2よりも優先される。
- ルール2:式がtrueと評価された場合、この色選択が使用されます。
7つの比較演算子
| 中国語の説明 | 英語での説明 |
|---|---|
| 未使用。 | not used |
| 等しい。 | equal to |
| より大きい。 | greater than |
| より小さい。 | less than |
| 以上に等しい | greater than or equal to |
| 以下のように | less than or equal to |
| と、 | and |
データ型が浮動小数点型または32ビット長型の場合、and演算子は使用できません。“and”を選択すると、条件値が16進数として入力されます。セルと条件値のどちらかのビットが1の、はtrueと评価されます。
色の例
セル値が0より大きいは绿、0より小さいは赤になります。

ズーム/Zoom
スケーリングを使用すると、元の値を人間が読める値にスケーリングできます。スケーリングは、符号付きおよび符号なしの16/32ビット整数にのみ適用されます。

(X 1,Y 1)と(X 2,Y 2)
2点X1 Y1とX2 Y2を通る

線の方程式

精度は
小数点以下の桁数。
makeする
Modbusサーバ/スレーブから値をスケーリングするには、有効にする必要があります。それ以外の場合は、ズーム選択16/32ビット整数表示形式が自動的に無効になります。
リアルタイムグラフ
グラフは、最大100,000点の12系列をリアルタイムで描画できます。
アドレススキャン
アドレス範囲をスキャンして、デバイス内のすべての有効なアドレスのリストを取得します。
新しいウィンドウを開く。
別のウィンドウを開くには、3つのオプションがあります。
- Ctrl+Nキー
- “ファイル”メニューから“新規”を選択
- 圧力をかける。
“Toolbar”
接続ダイアログ
接続ダイアログを開くには、2つのオプションがあります。
- 略称はF 3。
- 接続メニューから接続を選択します

接続する。(Connection)
接続には5種類あります。
- Serialより:
シリアルライン上のModbus。RS 232またはRS 485 USBシリアルコンバータが使用できる。 - Modbus TCP/IP:
MODBUS TCP/IPネットワークとCommunicationする場合は、“TCP/IP”を選択します。この例では、スレーブIDはMODBUS TCP/IPで使用されるデバイスIDと同じです。
ポート番号は502です。
接続に失敗した場合は、コマンド·プロンプトでデバイスにPINGを実行してみてください。pingコマンドが失敗すると、Modbusのポーリングも失敗します。 - Modbus UDP/IP:
MODBUS UDP/IPネットワークとCommunicationする場合は、UDP/IPを選択します。これはModbusと同じTCP/IPですが、接続の少ないUDPプロトコルに置き換えられます。 - Modbus RTU/ASCII over TCP/IP:
これは、シリアル回線ではなくTCP/IPネットワークを介して送信されるRTUまたはASCIIメッセージです。 - Modbus RTU/ASCII over UDP/IP:
これは、シリアル回線ではなくUDP/IPネットワークを介して送信されるRTUまたはASCIIメッセージです。
注:接続タイプ3-5はありません。 www.modbus.org 標準Modbusが指定されているが、便宜上追加されている。
選択に応じて、その他の設定はグレー表示されます。
シリアルポートの設定(Serial Settings)
これらのパラメータを使用して、シリアルポート設定を設定します。接続タイプがある場合のみ。シリアルポート”といった時にのみ利用可能になる。
モデルは
このオプションを使用して選択します RTU または ASCII モデルです。略称はRTU。
レスポンス·タイムアウト
Modbusポーリングが破棄されるまで、スレーブデバイスからの応答を待つ時間を指定します。デフォルト値は1000msです。
ポーリング间の最小遅延
この設定により、スキャン·レートに関係なく、次のリクエストが転送されるまでのレイテンシが最小限に抑えられます。この設定の解像度は約15 msです。一部のコンピュータではより良い解像度が得られますが、すべてではありません。
注意点:
1.この値を20ミリ秒未満に設定すると、レスポンスと新しいリクエストの間の3.5文字の間隔は保証されません。これは、Windowsスケジューラが10 ~ 20ミリ秒ごとにタスクを切り替えるためです。
2.シリアルRS 485ネットワーク内の複数のスレーブをポーリングする場合は、この値を20ミリ秒未満に設定しないでください。これは3.5文字間隔を確保するためです。
3. TCP/IPネットワークでは、20ミリ秒未満でも構いません。
4. 1つのスレーブデバイスへのシリアル接続のみが20ミリ秒未満で十分です。
ユーザーボーレート
デフォルトのボーレートが使用できない場合は、カスタムボーレートを指定します。
リモートサーバ
リモート·サーバの設定は、Ethernet接続を使用している場合にのみ使用できます。
IPアドレス
サーバーのIPアドレスデフォルト値は127.0.0.1です。
ポートポートポート
サーバーのポート番号デフォルト50 2
接続タイムアウト
接続を確立するために使用される最大時間。デフォルト値1000
高度な設定
RTS切り替え
RTS Toggleは、バイトが転送可能な場合、RTS行がハイレベルになることを指定します。すべてのバッファバイトが送信されると、RTS 行はローレベルになります。
自動方向切り替えがない232/485コンバータをお持ちの場合は、方向を切り替えるために使用できます。
注意点:
可能な限り、RTS制御RS 232/RS 485コンバータの使用は避けてください。WindowsやLinuxなどのオペレーティングシステムが非リアルタイムで送信機をシャットダウンした正確な時間を決定することは困難です。早期にシャットダウンすると、文字がFIFOまたはUARTの送信レジスタに残り、文字が失われる可能性があります。奴隷はメッセージを認識できなかった。一方、シャットダウンが遅すぎると、スレーブのメッセージが破損し、マスターはメッセージを認識できなくなります。
DSR形式
DSRは、出力フロー制御のためにDSR Data Set Ready信号を監視するかどうかを指定します。このメンバーがTRUEで、がオフの、が再送信されるまで出力は保留されます。
CTSサービス
CTSは、出力フロー制御のためにCTS clear-to-send信号を監視するかどうかを指定します。このチェックボックスをオンにしてCTSをオフにすると、CTSが再度送信されるまで出力が一時停止されます。
DTRコーポレーション
DTRは、ポートを開くときにDTRを有効にするか無効にするかを指定します。
エコーの削除
お使いのデバイスまたはRS 232/RS 485コンバータが送信した文字をエコーする場合。
Read/Write Definition
このコマンドを使用して、監視するアクティブなウィンドウのデータを定義します。
Read/Write Definitionダイアログを開くには、3つのオプションがあります。
- 略称はF 8。
- [設定]メニューから[読み取り/書き込み定義]を選択します。
- 圧力をかける。
“Toolbar”

ステーションIDから。
1から255までの範囲。(MODBUSプロトコル仕様は247です。値0は、MODBUS/TCPまたはMODBUS/UDPデバイスと直接通信するためにも使用できます。
関数コードの機能
8つの機能コードから1つを選択できます。
読み込み関数
read関数から返されたデータがグリッドウィンドウに表示されます。
- 0 1:リードコイル(0 x)
- 0 2:離散入力の読み取り(1 x)
- 0 3:リードホールドレジスタ(4 x)
- 0 4:入力レジスタの読み取り(3 x)
関数の記述
write関数はグリッドウィンドウに表示されるデータを書き込みます。
- 05単一コイルへの书き込みコイル
- 0 6:単一レジスタに書き込む(書き込み保持レジスタ)
- 15複数のコイルに書き込むコイルに書き込む
- 16:複数のレジスタに書き込む(書き込み保持レジスタ)
アドレス:address
Modbusプロトコルのアドレスは紛らわしい!プロトコル/メッセージアドレスを使用するプロトコル仕様もあれば、デバイスアドレスを使用するプロトコル仕様もある。
プロトコル/メッセージアドレス
一部のプロトコル仕様では、0から655 3 5までのプロトコル/メッセージアドレスと関数コードを使用します。これは新しいModbus仕様でも使用されています。これは、ネットワーク経由で送信されるメッセージ内のアドレスです。
Modbus Pollはプロトコル/メッセージアドレスカウントを0から655 3 5まで使用する。
デバイスアドレス
一部のプロトコル仕様はデバイスアドレス/レジスタを使用する。レジスタカウントは1から始まります。最初の数字は使用する関数を記述します。つまり、デバイスアドレス40101はアドレス100で識別されます。“4”は保持レジスタを示し、4 xレジスタは1からカウントを開始します。したがって、“4 XXX X”参照は暗黙的です。さらに紛らわしいのは、4 xが関数コード03、3 xが関数コード04です。
5桁の数字と6桁のアドレス指定
アドレス形式4 xは40001から49999までカウントされます。次のアドレス。いいえ。 5万人だ以前は9999アドレスで十分でした。しかし、9999では不十分です。そしてゼロを追加します。40101は400101になります。これを8ビット·アドレス指定または拡張アドレス指定と呼びます。
Modbus Pollではありません。410001は10000になります“4”は捨てられ、残りの10001は1ではなく0から数え始めると1が減る。
アドレスの例
これらの例は、デバイスアドレスを指定した場合にModbus Pollを設定する方法を示しています。
リードホールドレジスタ
デバイスアドレス40011の20個のレジスタを1000ミリ秒ごとにスレーブID 2から読み出すようにします。“4”から、これが関数03“read hold registers”であることがわかります。
- ステーションID = 2
- Function = “0 3 Read Hold Register(4 x)”
- アドレス:10(11マイナス1)
- サイズ= 20
- スキャン速度= 1000
離散入力の読み取り
アドレス110201からID 5から500ミリ秒ごとに1,000個のコイルを読み出すようにします。“1”から、関数02“離散入力を読み取る”であることがわかります。
- ステーションID = 5
- Function = “0 2 read離散入力(1 x)”
- アドレス:10200 (10201 - 1)
- Quantity = 1,000
- スキャン率 = 500
スキャンレート
スキャンレートは0 ~ 3600000msまで設定できます。スキャンレートをトランザクション時間よりも低く設定することは意味がないことに注意してください。9600ボーのシリアル接続を使用し、125レジスタを要求する場合、トランザクション時間は約8 + 2 + 250 + 2 = 262ms +リクエストとレスポンスの間の間隔(3.5文字時間)になります。この場合、トランザクション時間が少なくとも262ミリ秒+スレーブ遅延(ギャップ)+ポーリング間の最短時間であるため、スキャンレートを100msに設定しても意味がありません。(接続ダイアログF 3で設定)。
読み取り/書き込みの禁止
“読み取り/書き込みを無効にする”チェック·ボックスを使用すると、Communicationのこのウィンドウを一時的に有効または無効にできます。その後、テキストDisabledとTxおよびErrorカウンタが表示されます。

[読み取り/書き込み]が無効の場合は、[読み取り/書き込みOnce]ボタンを使用するか、F6キーを押して1つのリクエストを発行できます。

“Read/Write Once”ボタン
エラー時の無効化
エラーが発生したは、読み取り/书き込みを无効にします。
名前列の非表示
すべての名前列を非表示にします。それらを使用しない場合は、より多くのスペースを解放することができます。
セル内のアドレス
有効にすると、アドレスは値セルにも表示されます。例2000 = 0000

PLCアドレス(基数1)
このオプションを選択すると、アドレスがデバイスアドレスとして表示されます。

エンロン/ダニエルモデル
EnronまたはEnron/Daniels Modbusは、いくつかの“ベンダー拡張”を備えた標準Modbusです。これらの拡張の正確な影響はコンテキストに依存するが、ほとんどの一般的なModbusコマンドは期待通りに動作する。いくつかのカスタムベンダー定義関数が利用可能ですが、ユーザーが期待したり使用したりすることはほとんどありません。最大の影響は、32ビットのデータ値の読み書き方法に関係しています。
Enron-Modbusは2つの特別な4 x保持レジスタ範囲を定義している。
- 4 x 5001 ~ 4 x 5999は、32ビットの長整数(レジスタあたり4バイト)を想定しています。
- 4 x 70 0 1 ~ 4 x 7999は32ビット浮動小数点(レジスタあたり4バイト)を想定しています。
Modbusでの32ビット値の処理はEnron-MBに特有のものではない。しかし、Enron-MBは、Modbus仕様の“保持レジスタ”という用語である2バイトではなく4バイトをレジスタごとに返す必要があります。つまり、Enron-Modbusの4 x 5001と4 x 5002は8バイトまたは2つの32ビット整数を返すのに対し、Standard Modbusは4バイトまたは32ビット整数を返し、2つの16ビット整数として扱われる。さらに、Enron-MBのポーリングレジスタ4 x 5010は10番目の32ビット長整数を返しますが、標準のModbusはこの範囲の5番目の32ビット長整数の1/2を考慮します。
OKです。
グリッド内の任意の行数を指定します。
リアルタイムグラフ
このコマンドを使用すると、最大12個のデータ系列をリアルタイムでグラフに描画できます。
リアルタイムチャートは高速で、新しいデータを受信するとすぐに新しい線を描画できます。
注意点:
すべてのチャート設定はワークスペースファイルに保存されます。ワークスペースの保存/オープン
[ライブ·チャート]ダイアログ·ボックスを開くには、次の2つのオプションがあります。
- Alt + Rキー
- 表示メニューから“ライブ·チャート”を选択

X軸には、グラフの起動からの秒数が表示されます。
ポイントがグラフの最後に到達すると、3つのオプションがあります。
- 最後にStop:グラフが止まる。
- 最後の再起動:グラフ再開です。
- 続きを読む:最大ポイントに達するか、Stopキーを押すまで続けます。
セットアップ
デフォルトでは、12個の系列すべてが左のY軸にリンクされています。シーケンスを右Y軸にリンクする場合は、[右Y軸]チェックボックスをチェックします。
指定する
- 色は
- 右のY軸
- タイトルは。タイトルが空の場合は、読書ウィンドウの名前で初期化されます
- オフセットオフセット
表示する。
- ファイル名:File Name
- アドレス:address
オフセットを使用して、同じY軸上でデータポイントを整列できます。例えば、データポイントが0または1であれば、互いに重なり合わないようにオフセットすることができます。

ズーム機能
より詳細な情報を表示したい場合は、グラフを拡大すると便利です。ズームはマウスの左ボタンで制御されます。チャートの特定の部分を拡大·縮小するには、チャート上でマウスの左ボタンをクリックし(これが拡大·縮小長方形の左上隅になります)、右下隅にドラッグします。長方形が現れます。マウスボタンを放すと、選択した領域に合わせて軸が自動的に調整されます。
グラフを左クリックした場合(ズームを開始するなど)、左上隅に移動すると、ズームおよびパン機能を使用して行ったすべての変更がキャンセルされます(グラフはパンおよびズームOperationを使用する前の状態になります)。
パンニング機能
コントロールをパンするには、コントロール上の場所を右クリックしてマウスを動かします。マウスの下の点はマウスの動きに追従します。
グラフ·シリーズへのデータのリンク
Modbusデータユニットを12シリーズのいずれかにリンクしない限り、チャートは使用するデータを知りません。これを行うには、値のセルを選択し、メニュー →表示から“チャートにリンク”を選択します。

Exportシリーズ
シリーズ·データをディスクに保存するか、クリップボードにコピーします。データをExcelに直接貼り付けて、さらに処理します。
カンマ以外のフィールド区切り文字を使用していますが、ファイルの拡張子は.csvです。
区切り文字:テキスト·ファイルの値を区切る文字を選択します。Excelにコピー/ペーストするときは、タブ区切り文字を使用します。さらに、いくつかの追加情報が提供されます。
- ポイント数ポイント
- 最大値の値
- 最小値の値
- 平均得点率は

アドレススキャン
アドレス範囲をスキャンして、デバイス内のすべての有効なアドレスのリストを取得します。アドレスを1つずつ読み出し、読み出し結果がリストに表示されます。
注意点:
65,535アドレスすべてをスキャンするには、接続の種類、サーバデバイスなどによって時間がかかります。

アドレススキャンのエクスポート
アドレススキャンデータをディスクに保存するか、クリップボードにコピーします。データをExcelに直接貼り付けて、さらに処理します。
カンマ以外のフィールド区切り文字を使用していますが、ファイルの拡張子は.csvです。
区切り文字:テキスト·ファイルの値を区切る文字を選択します。Excelにコピー/ペーストするときは、タブ区切り文字を使用します。
表示フォーマット
書式設定するセルをマークします。表示メニューから、28種類の表示形式のいずれかを選択します。
Native Modbusレジスタ
16ビットModbusレジスタは4つの異なるモードで表示できます。
- 署名済み。
- 符号なし。
- 16進法
- ASCII -16进数
- 二元性の
32ビット符号付き整数
2つの16ビットModbusレジスタを搭載している。4つの異なるワード/バイト順序で表示できます。
- 符号付き整数 Big-Endian
- 符号付き整数 Little-Endian
- 符号付き整数ビッグエンディアン·バイト·スワップ
- 符号付き整数リトルエンディアンバイト交換例バイト順序:AB CD(ビッグサイズ)
10進数 123456789または16進数 07 5B CD 15 Modbusメッセージで回線を通す
並べた時の順序:07 5B CD 15
32ビット符号なし整数
2つの16ビットModbusレジスタを搭載している。4つの異なるワード/バイト順序で表示できます。
- 符号なし整数 Big-Endian
- 符号なし整数 Little-Endian
- 符号なし整数ビッグエンディアン·バイト·スワップ
- 符号なし整数リトルエンディアンバイト交換例バイト順序:AB CD(ビッグサイズ)
10進数 123456789または16進数 07 5B CD 15 Modbusメッセージで回線を通す
並べた時の順序:07 5B CD 15
64ビット符号付き整数
4つの16ビットModbusレジスタを搭載している。4つの異なるワード/バイト順序で表示できます。
- 符号付き整数 Big-Endian
- 符号付き整数 Little-Endian
- 符号付き整数ビッグエンディアン·バイト·スワップ
- 符号付き整数リトルエンディアンバイト交換例バイト順序:AB CD EF GH (Big-endian)
10進数-1,23 4,56 7,890,123,45 6,78 9または16進数 EE DD EF 0B 82 16 7E EB
Modbusメッセージでネットワーク経由で表示される順序:EE DD EF 0B 82 16 7E EB
64ビット符号なし整数
4つの16ビットModbusレジスタを搭載している。4つの異なるワード/バイト順序で表示できます。
- 符号なし整数 Big-Endian
- 符号なし整数 Little-Endian
- 符号なし整数ビッグエンディアン·バイト·スワップ
- 符号なし整数リトルエンディアンバイト交換例バイト順序:AB CD EF GH(Big-endian)
10進数1,23 4,56 7,890,123,456,789または16進数 11 22 10 F4 7D E9 81 15 Modbusメッセージでネットワークを経由する
順序付け:11 22 10 F4 7D E9 81 15
32ビット浮動小数点数
2つの16ビットModbusレジスタを搭載している。4つの異なるワード/バイト順序で表示できます。
- 浮動小数点ビッグエンディアン
- 浮動小数点リトルエンディアン
- 浮動小数点ビッグエンディアンバイトスワップ
- Float Little-Endianバイト交換の例バイト順序:AB CD(ビッグサイズ)
浮動小数点数123456.00または16進数 47 F1 20 00 Modbusメッセージで回線を通す
配列の順序:47 F1 20 00
64ビット倍精度小数点数
4つの16ビットModbusレジスタを搭載している。4つの異なるワード/バイト順序で表示できます。
- ダブルビッグエンド
- ダブルリトルエンディアン
- デュアルビッグエンディアンバイトスワップ
- ダブルリトルエンディアンバイト交換例バイト順序:AB CD EF GH(大端順序)
浮動小数点数123456 7 8 9.0 0または16進数 41 9D 6F 34 54 00 00 00 Modbusメッセージで回線を通す
順序付け:41 9D 6F 34 54 00 00 00
ワークスペースの保存/オープン
関連するModbusウィンドウが多数開いている場合、開いて配置されているModbusウィンドウの現在のレイアウトスナップショットを1つのワークスペースに簡単に保存できます。
ワークスペース *mbwは、开いているすべてのウィンドウの表示とファイル名を含むファイルです。実際の内容じゃないこれを行うには、“ファイル→ワークスペースを保存”に移動します。
[接続]と[チャート]の設定はワークスペースファイルに保存されます。
ワークスペースファイルを開くと、Modbus PollはすべてのModbusウィンドウを開き、保存したレイアウトに表示します。
csvへのエクスポート
名前と値をカンマ、セミコロン、またはタブ区切り値ファイルにエクスポートします。“ファイル”ダイアログから選択
- コンマ区切り値ファイル *.csv
“temperature”“19.7” - セミコロン区切り値ファイル *.csv
“temperature”(19.7) - タブ区切り値ファイル *.txt
気温は19.7
使用しているシステムによっては、カンマまたはピリオドが小数点以下の区切りに使用されます。
Modbus Slaveへのエクスポート
名前、値、および形式をModbus Slaveファイルにエクスポートします。*. mbsの
ファイルを開くにはModbus Slaveバージョン7.4.0以上が必要です。
試験センター試験
このテストダイアログの目的は、MODBUSスレーブデバイス開発者が独自に作曲した文字列を使用できるようにすることです。
リストボックスには、送信データと受信データが表示されます。
ドロップダウン·リスト·ボックスに複数のテスト文字列を含めることができます。文字列を入力したら、リストに追加ボタンを押して、リストに文字列を追加します。
送信ボタンが押されたときに選択した文字列を送信します。
リストを開く
テスト文字列をファイルから保持します。
リストの保存
テスト文字列をファイルに保存します。
クリアする。
テストリストをクリア。
リストに追加。
現在のテスト文字列をリストに追加します。
チェックの追加
入力文字列の最後にCRCまたはLRCを追加します。
テストセンターを使用する場合は、他のウィンドウからのCommunicationを無効にする必要があります。[読み取り/書き込み定義]ダイアログボックスの[読み取り/書き込み無効]チェックボックスをオンにします。Read/Write Definitionを設定する
ASCIIの例
コンボボックス内の文字列:3 A 30 31 30 33 30 30 30 30 30 30 30 30 41
LRCが追加された場合、送信される文字列3 A 30 31 30 33 30 30 30 30 30 30 41 46 32 0D 0 A
CR LFペアも追加されました。
TCP/IPの例
10予約レジスタを読み込む。0 0 0 0 0
最初の6バイトはTCP/IPヘッダです。
テストセンター文字列ファイル
メモ帳などのテキストエディタを使用すると、テストで使用する文字列を準備できます。
ファイルの最初の行は、文字列“Test Center”でなければなりません。これはModbus Pollが正しいファイル形式を知る方法です。“リストを開く”を押して準備したテキストファイルを開きます。
文字列リストの内容
TestCenter 3A 30 31 30 33 30 30 30 30 30 30 30 41 3A 30 32 30 33 30 30 30 30 30 30 30 41 3A 30 33 30 33 30 30 30 30 30 30 30 41
レプリケーション
[コピー]ボタンを使用して、選択したTx/Rx文字列をクリップボードにコピーします。
ShiftキーとCtrlキーをマウスとともに使用して、文字列の選択と選択解除、文字列グループの選択、隣接していない文字列の選択を行うことができます。
注意点:
他のコマンドを実行している間は、このウィンドウを開いたままにします。
Modbusデータログ
データをテキストファイルに記録することも、Microsoft Excelに直接記録することもできます。
テキストファイル
設定メニューから“ログ”を選択するか、ショートカットキーを使用しますAlt+L
各Modbusウィンドウは別々のテキストファイルに記録されます。
データロギングをStopする場合は、設定メニューのログアウトコマンドを選択します。

ログレート
すべての読み取り。
すべてのModbusリクエストのログを作成する。周波数をスキャンレートとして記録します。
選択する。
ログレートを秒単位で指定します。スキャン速度に関係ない。
注意点:
スキャン·レートが10000ミリ秒の場合、データは新しいデータの準備ができたときにのみ記録されるため、1 秒のログレートを設定しても意味がありません。
セパレータ
区切り文字として、次のいずれかのオプションを使用できます。
固定幅の設定
値が列ごとに整理されていることを示します。
komoです。
カンマで区切られた値。
Labelsラベル
タブで区切られた値。
データが変更された場合のみログ
最後のログ以降にデータが変更された場合にのみ、新しいログ行が書き込まれるように指定します。
ログエラー
ログのタイムアウトなどのエラーを指定します。
ログの日付
現在の日付をログ時刻に追加するよう指定します。
区切り文字として“T”を使用する
時刻と日付は、ISO 86 0 1で指定された文字“T”で区切られます。
ログミリ秒
ログ時間にミリ秒を追加するよう指定します。
ログアドレス:Log Address
Modbusアドレスをログに追加するよう指定します。
OKから録音を開始。
okボタンが押されたときにログを開始するよう指定します。それ以外の場合、ログ設定は *mbpファイルを保存するときにのみ保存されます。
*mbpをオンにしたときに記録を開始
*.mbpファイルを開いたときにロギングが自動的に開始されるように指定します。
すぐにファイルに更新
これにより、ログラインはファイルシステムにキャッシュされず、物理的に即座に書き込まれます。
追加の追加
選択したファイルにログを追加するように指定します。それ以外の場合は、新しいファイルが作成されます。
真夜中の新規ログファイル
現在のログファイルを閉じ、真夜中に新しいファイルを開始します。ファイル名にタイムスタンプが追加されます。
ヘッダーファイル情報
- タイトルを挿入:情報がログファイルの先頭に挿入されます。
- 一番上の行のセルに名前を付ける名前を挿入。
- 投票の定義:ID、機能などを挿入します。
- お名前:ログの名前を挿入します。
固定幅のテキストファイルの例22:28:13 <40001> 17395 0 0 0 0 0 0 0 0 22:28:14 <40001> 17396 1 0 0 0 0 0 0 0 22:28:15 <40001> 17394 1 0 0 2 55 0 0 0 22:28:16 <40001> 13350 1 0 0 4 0 0 0 0
Excelスプレッドシートにデータをインポートできます。
Microsoft Excel
この機能には、Microsoft Excelが必要です。Excel 2003のログは、Excelワークシートの最大行数であるため、65,53 5ログに制限されています。Excel 2007以降では1,048,576行に制限されています。各Modbusウィンドウは、別々のExcelワークシートに記録されます。
設定メニューから[Excelログ]を選択するか、ショートカットキーを使用しますAlt+X
ロギング中はExcelワークシートに触れないでください。ロギングが中断されます。

ログレート
- それぞれの内容はこう書く。すべてのModbusリクエストのログを作成する。周波数をスキャンレートとして記録します。
- 選択する:ログレートを秒単位で指定します。ログはスキャン·レートに依存しません。
コメント:スキャン·レートが10000ミリ秒の場合、データは新しいデータの準備ができたときにのみ記録されるため、1 秒のログレートを設定しても意味がありません。 - 以下の時間停止:ログの行数を指定します。Excel 2003では65,536行、Excel 2007では1,048,576行に制限されていることに注意してください。
ヘッダーファイル情報
- タイトルを挿入:情報は、Excelワークシートの一番上の3 行に挿入されます。
- 一番上の行のセルに名前を付ける3 行目に名前を挿入します。
- 投票の定義:2 行目にID,機能などを挿入する.
- お名前:1 行目にログ名を挿入します。

ヘッダー情報を含むExcelログ。
Communicationトラフィックvalue
メニュー“表示→Communication”を選択して、シリアルラインまたはイーサネットケーブルのトラフィックを表示します。Stopボタンを使用して、チェックのため更新を一時的にStopします。
“コピー”ボタンを使用して、選択した行をクリップボードにコピーします。

注意点:
このウィンドウにはModbus Pollが送受信するデータのみが表示されます。データスニファとしては使用できません。
他のコマンドを実行している間は、このウィンドウを開いたままにします。
OLE/オートメーション
オートメーション(旧OLEオートメーション)は、あるアプリケーションが別のアプリケーションで実装されたオブジェクトをOperationできるようにします。
オートメーションクライアントは、別のアプリケーションに属する公開オブジェクトをOperationできるアプリケーションです。オートメーションコントローラとも呼ばれます。
オートメーションサーバは、プログラム可能オブジェクトを他のアプリケーションに公開するアプリケーションです。Modbus Poll 自動化されたサーバーです。
つまり、Visual Basic、ExcelなどのVBA(Visual Basic for Applications)をサポートする任意のプログラムを使用して、特定の要件に応じてmodbusデータを解釈して表示できます。
Excelの例
マクロを記述するときは、“開発者”タブを表示するか、開発者モードで実行する必要があります。
Excel 2007の

- “Microsoft Office”ボタンをクリックし、“Excelオプション”をクリックします。
- [人気]をクリックし、リボンの[開発者を表示]タブチェックボックスをオンにします。
リボンはMicrosoft Fluentユーザーインターフェイスの一部であることに注意してください。
Excel 2010、2016
- [ファイル]タブをクリックします。
- オプションをクリック。Excelオプションウィンドウが開きます。
- 左側のペインで、[リボンをカスタマイズ]をクリックします。
- 右側のペインの[メインタブ]で、[開発者]チェックボックスをオンにします。
- “OK”をクリック。[开発者]タブがリボン一番右のタブに表示されるはずです。
Excelサンプル·コード
この例では、2つのウィンドウを開きます。1つはレジスタを読み取り、もう1つはコイルを読み取ります。
Modbus Pollは非表示ですが、“ShowWindow”行のコメントを解除することで表示できます。いずれかのウィンドウが表示されます。
Modbus Pollのインストールには例も含まれています。
スタート→すべてのプログラム→Modbus Poll → Excelの例
Excel VBAの例
パブリックドキュメント1オブジェクトとして
パブリックドキュメント2オブジェクト
オブジェクトとしてのパブリックアプリ
DIM RES As Integerシングル
DIM N As Integerシングル
Private Sub StartModbusPoll_Click
'Modbus Pollアプリケーションオブジェクトと2つのドキュメントオブジェクトを作成する
Set app = CreateObject Mbpoll.Application
Set doc1 = CreateObject Mbpoll.Document
Set doc2 = CreateObject Mbpoll.Document
'10個の保持レジスタを読み出し、1000msごとに読み出す
res = doc1.ReadHoldingRegisters 1,0,1000
'10個のコイル状態を1000msごとに読み取る
res = doc2.ReadCoils 1,0,1000
'ドキュメントウィンドウを表示しますこの行はコメントされています。必要に応じてコメントを解除します
' doc1.ShowWindow
'Modbus TCP/IPへの接続の設定
app.connection = 1
'IPアドレスをローカルホストに設定する
app.IPAddress = 127.0.0.1"
'サーバポートを502に設定する
app.ServerPort = 502
'接続タイムアウト時間を1000msに設定します。
app.ConnectTimeout = 1000
接続を開く。
res = app.OpenConnection
End Subの
Private Sub Read_Click
要求の結果を表示する
Cells 5,7 = doc1.ReadResult '保持レジスタの読み出し結果を表示
Cells 6,7 = doc2.ReadResult 'コイル状態の読み取り結果を表示
'ループは、保持レジスタの値を読み取り、表示します。
N = 0から9まで
Cells 5 + n 2 = doc1.SRegisters n
次のn
ループはコイルの状態を読み取り、表示します。
n = 0から9まで
Cells 18 + n 2 = doc2. Coils n
次のn
End SubのPythonの例
このPythonの例はウィンドウを開き、可能なすべてのデータ形式を設定します。
Pythonの例
Win 32 com.clientをWin 32としてインポート #データフォーマットの定義 SIGNED = 0 UNSIGNED = 1 ヘックス= 2 BINARY = 3 FLOAT_LE_BS = 4 FLOAT_BE = 5 DOUBLE_LE_BS = 6 DOUBLE_BE = 7 S32_LE_BS = 8 S 32-BE = 9 FLOAT_LE = 10 FLOAT_BE_BS = 11 DOUBLE_LE = 12 DOUBLE_BE_BS = 13 S 32_LE = 14 S32_BE_BS = 15 U 32_BE = 17 U32_LE_BS = 18 U 32_BE_BS = 19 U 32_LE = 20 S 64_BE = 21 S64_LE_BS = 22 S64_BE_BS = 23 S 64_LE = 24 U 64_BE = 25 U64_LE_BS = 26 U64_BE_BS = 27 U 64_LE = 28 #順序の定義 BE = 0です。 LE = 3です。 BE_BS = 2 LE_BS = 1 #Modbus Pollアプリケーションの作成 App = win32. Dispatch 'Mbpoll. Application' #接続パラメータを設定する App.Connection = 1 #Modbus TCP/IPの使用 App.IPAddress = 127.0.0.1 #ローカルアドレス App.ServerPort = 502 # Modbusポート App.OpenConnection #接続を开く #Modbusディスプレイウィンドウの作成 Win1 = win32. Dispatch Mbpoll.Document #スレーブID 1のデバイスから100個の保持レジスタを読み出し、アドレスは0 40001から始まり、1000msごとに読み出す Win1. ReadHoldingRegisters 1、0、100、1000 Modbusウィンドウを表示する Win1.ShowWindow #表示される行の数 Win1. Rows 1 #高速化のためにリフレッシュを無効にする Win 1. EnableRefresh = False 異なるデータ形式を設定する Win1.SetFormat 0、SIGNED Win1.SetFormat 1、UNSIGNED Win1.SetFormat 2、HEX Win1.SetFormat 3、BINARY Win1.SetFormat 4、S32_BE Win1.SetFormat 6、S32_LE Win1.SetFormat 8、S32_BE_BS Win1.SetFormat 10、S32_LE_BS Win1.Set12、U32_BE Win1.SetFormat 14、U32_LE Win1.SetFormat 16、U32_BE_BS Win1.SetFormat 18、U32_LE_BS Win1. SetFormat 20、S64_BE Win1.SetFormat 24、S64_LE Win1.SetFormat 28、S64_BE_BS Win1.SetFormat 32、S64_LE_BS Win1. SetFormat 40、U64_BE Win1.SetFormat 44、U64_LE Win1.SetFormat 48、U64_BE_BS Win 1。Set52、U64_LE_BS Win1.Set60、FLOAT_BE Win1.SetFormat 62、FLOAT_LE Win1.SetFormat 64、FLOAT_BE_BS Win1.SetFormat 66、FLOAT_LE_BS Win1.SetFormat 80、DOUBLE_BE Win1.SetFormat 84、DOUBLE_LE Win1.Set88、DOUBLE_BE_BS Win 1. SetFormat(92、DOUBLE_LE_BS) #さまざまな形式のデータの表示名を設定する Win1.SetName 0、SIGNED Win1.SetName 1 UNSIGNED Win1.SetName 2 HEX Win1.SetName 3、BINARY Win1.SetName 4、S32_BE Win1.SetName 6、S32_LE Win1.SetName 8、S32_BE_BS Win1.SetName 10、S32_LE_BS Win1.SetName 12、U32_BE Win1.SetName 14、U32_LE Win1.SetName 16、U32_BE_BS Win1.SetName 18、U32_LE_BS Win1.SetName 20、S64_BE Win1.SetName 24、S64_LE Win1.SetName 28、S64_BE_BS Win1.SetName 32、S64_LE_BS Win1. SetName 40、U64_BE Win1.SetName 44、U64_LE Win1.SetName 48、U64_BE_BS Win1.SetName 52、U64_LE_BS Win1.SetName 60、FLOAT_BE Win1.SetName 62、FLOAT_LE Win1.SetName 64、FLOAT_BE_BS Win1.SetName 66、FLOAT_LE_BS Win1.SetName 80、DOUBLE_BE Win1.SetName 84、DOUBLE_LE Win1.SetName 88、DOUBLE_BE_BS Win 1. SetName(92、DOUBLE_LE_BS) #リフレッシュを再開する Win1. EnableRefresh = True #内容に合わせてすべての列のサイズを変更 Win1. ResizeAllColumns コンテンツに合わせてウィンドウをサイズ変更 Win 1。ResizeWindow() #設定をファイルに保存し、ファイルパスを指定する result = Win1. Save C\\Users\\UserName\\Desktop\\t estfile.mbp #保存結果の印刷 print #例として2番目のフォーマット名を印刷する print Win1.GetName 1 ユーザーがEnterキーを押して終了するのを待ち、ウィンドウを直接閉じないようにする _ = input Press to quit
接続機能/プロパティ
The following properties and functions do the same as you setup in the connection dialog (F3).
接続する。
“接続”Connection目的の接続を選択します。シリアルポートまたはイーサネット接続のいずれかを選択できます。
プロパティ接続する。整数のために
値の範囲
0 = Serial port
1 = Modbus TCP/IP
2 = Modbus UDP/IP
3 = Modbus ASCII/RTU over TCP/IP
4 = Modbus ASCII/RTU over UDP/IP
例えば、
Connection = 0
ボーレート
接続のみ= 0
プロパティボーレート長さとは
300
600
1200
2400
4800
9600(デフォルト)
14400
19200
38400
56000
57600
115200
128000
153600
230400
256000
460800
921600
例えば、
BaudRate = 9600
データ·ビット
接続のみ= 0
プロパティ DataBits 整数として
値の範囲
7
8既定の
例えば:
DataBits = 8
チェックビット
接続のみ= 0
整数としての属性パリティ·スクールテストは
値の範囲
0 =なし
1 = 奇数。
2 = 偶数(デフォルト)
例えば:
Parity = 2
ストップ·ビット
接続のみ= 0
プロパティ StopBits as Integer値の範囲
1 (デフォルト)
2
例えば:
StopBits = 1
シリアルポート
接続のみ= 0
プロパティ SerialPort as Integer値の範囲
1...255
デフォルト値= 1
例えば:
SerialPort = 1
モデルは
接続のみ= 0
プロパティモデルは整数のために
値の範囲
0 = RTUモード
1 = ASCIIモード
例えば:
Mode = 1
エコーの削除
接続のみ= 0
お使いのデバイスまたはRS 232/RS 485コンバータが送信した文字をエコーする場合。
プロパティ RemoveEcho as Integer
値の範囲
0(デフォルト)
1(エコーを削除)
例えば:
RemoveEcho = 1
レスポンス·タイムアウト
ResponseTimeoutは、Modbus Pollがスレーブからの応答を破棄するまで待機する時間をミリ秒単位で指定します。
プロパティ ResponseTimeout 整数として値をとる範囲
50...100000
デフォルト値= 1000
例えば:
ResponseTimeout = 1000
DelayBetweenPolls
プロパティ DelayBetweenPolls 整数として値をとる範囲
0...1000
デフォルト= 20
例えば:
DelayBetweenPolls = 20
サーバーのポート
Connection = 1の場合のみ使用できます。.. 4
プロパティ ServerPort as Long値の範囲
0...65535
デフォルト= 50 2
例えば:
ServerPort = 502
15.3.12. ConnectTimeout
ConnectTimeoutは、Modbus PollがTCP/IP接続の成功を待機する時間を指定します。
Connection = 1の場合のみ使用できます。.. 4
プロパティ ConnectTimeout as Integer
値の範囲
100... 3万ミリ秒
デフォルト値= 1000ms
例えば:
ConnectTimeout = 1000
IPバージョン
Connection = 1の場合のみ使用できます。.. 4
プロパティ IPVersion as Integer
値の範囲
4 = IPバージョン4(デフォルト)
IPバージョン6
例として
IPVersion = 4
オープン·コネクション
Connectionプロパティーで選択した接続を開きます。
関数の機能 OpenConnection()は整数
パラメータ
この関数にはパラメータはありません。
戻り値は
エラー 3-5:最新のシリアルドライバがあることを確認してください。
| エラーです。 | 説明する。 |
|---|---|
| 0成功する。 | |
| 1 | シリアルポートが使用できません |
| 3 | Serial Portです。ポートドライバから現在の設定を取得できません。 |
| 4 | Serial Portです。シリアルポートドライバはポート設定を受け付けません。 |
| 5 | Serial Portです。シリアルポートドライバはタイムアウト設定を受け付けません。 |
| 12 | TCP/UDP接続に失敗しました。WSA開始。 |
| 13 | TCP/UDP接続に失敗しました。接続エラー |
| 14 | TCP/UDP接続に失敗しました。タイムアウト |
| 15 | TCP/UDP接続に失敗しました。IOCTL |
| 17 | TCP/UDP接続に失敗しました。ソケットエラー |
| 21 | TCP/UDP接続に失敗しました。アドレス情報の提供 |
| 255 | 接続が開いた。 |
Excelの例Modbus TCP/IP接続を開く方法
オブジェクトとしてのパブリックアプリ DIM RES As Integerシングル 'Modbus Pollを指すオブジェクトを作成する Set app = CreateObject Mbpoll.Application Modbus TCP/IPプロトコルの選択 app.connection = 1 'IPプロトコルバージョンをIPv4に設定する app.IPVersion = 4 'ターゲット·デバイスのIPアドレスを設定する app.IPAddress = 192.16 8.1.27" 'サーバーポートを設定します。デフォルトは502です。 app.ServerPort = 502 '接続タイムアウトを1000ミリ秒に設定します。 app.ConnectTimeout = 1000 'レスポンス·タイムアウトを1000ミリ秒に設定 app.onseTimeout = 1000 '接続を開こうとし、結果を変数resに格納します。 res = app.OpenConnection
Pythonの例:シリアル接続の設定方法
Win 32 com.clientをWin 32としてインポート #Modbus Pollアプリケーションオブジェクトの作成 App = win32.Dispatch 'Mbpoll.Application' #シリアル接続に設定 App.Connection = 0 #COMポート3を選択 App.SerialPort = 3 #9600に設定 Baudrate = 96 00の場合 #パリティをなしに設定 App.Parity = 0 #RTUの設定 App.Mode = 0 応答タイムアウト時間を1000msに設定する App.onseTimeout = 1000 リクエスト間の最小間隔を20msに設定します。 App.DelayBetweenPolls = 20 #コネクションを開く App.OpenConnection #Modbusディスプレイウィンドウオブジェクトの作成Win1 Win1 = win32.Dispatch Mbpoll.Document #スレーブID 1のデバイスから10個の保持レジスタを読み出し、アドレスは0 40001から始まり、1000msごとに読み出す Win1. ReadHoldingRegisters 1、0、10、1000 Modbusウィンドウを表示する Win1.ShowWindow #表示される行数を10に設定する Win1. Rows 0 #高速化のためにリフレッシュを無効にする Win 1. EnableRefresh = False #レジスタに名前を付ける Win1. SetName 0、Register 0 #リフレッシュを再開する Win1. EnableRefresh = True #内容に合わせてすべての列のサイズを変更 Win1. ResizeAllColumns コンテンツに合わせてウィンドウをサイズ変更 Win1. ResizeWindow #ユーザーがEnterキーを押して終了するまで待つ _ = input Press to quit
タイト·コネクション
関数の機能 CloseConnection()は整数
パラメータ
この関数にはパラメータはありません。
戻り値は
成功した場合はゼロ。失敗すると、値はゼロ以外になります。
ShowCommunicationTraffic
トラフィックウィンドウを表示します。
関数の機能 ShowCommunicationTraffic()
パラメータ
この関数にはパラメータはありません。
戻り値は
いいえ。
CloseCommunicationTraffic
表示された場合は、トラフィック·ウィンドウを閉じます。
関数の機能 CloseCommunicationTraffic()
パラメータ
この関数にはパラメータはありません。
戻り値は
いいえ。
読み込み関数
次の関数の動作は、読み取り/書き込み定義ダイアログ(F 8)で設定したものと同じです。読み取り関数はModbus Pollドキュメントに関連付けられています。(データのあるウィンドウ)
例えば:
最初にModbus Pollドキュメントオブジェクトを作成します。 オブジェクトとしての公開ドキュメント 'Modbus Pollドキュメントオブジェクトインスタンスの作成 Set doc = CreateObject Mbpoll.Document '100個のコイル状態をスレーブID 1のデバイスから読み取り、アドレスは0から始まり、1000ミリ秒ごとに読み取ります。 res = doc.ReadCoils 1 0 100 1000 '1000msごとに100個のコイルを読み取る
注属性を使用してデータを取得するには、Readを作成する必要があります。
リードコイルReadCoils
Modbus機能コード0 1
関数の機能 ReadCoils(SlaveIDは整数、アドレスはロング、数は整数、ScanRateはロング)は整数
パラメータ
奴隷のID:アドレス1から255まで
住所:アドレス:データ·アドレス0
Quantity:より:データのvalue。1 〜 2000年
スキャン速度:0から3600000 msリターン値
True if success. False if not success
離散入力の読み取りReadDiscreteInputs
Modbus関数コード0 2
关数読み取り入力スレーブID As整数、アドレスAs Long整数、Quantity As int、スキャンレートAs Long整数As int
パラメータ
- スレーブID-スレーブアドレス1 ~ 255
- アドレスあどれすデータアドレス基数 0でーたあどれす基数 0
- value-データのvalue。1 〜 2000年
- スキャンレート0 ~ 360000ms
戻り値は
- Trueを返します。失敗はFalseを返します。
リードホールドレジスタReadHoldingRegisters
Modbus関数コード0 3
关数読み込み保持レジスタスレーブID As整数アドレスAs Long整数数量 As整数スキャンレートAs Long整数As int
パラメータ
- スレーブID-スレーブアドレス1 ~ 255
- アドレスあどれすデータアドレス基数 0でーたあどれす基数 0
- value-データのvalue。1から125まで
- スキャンレート0 ~ 360000ms
戻り値は
- Trueを返します。失敗はFalseを返します。
読み取り入力レジスタReadInputRegisters
Modbus関数コード0 4
关数読み取り入力レジスタスレーブID As整数アドレスAs Long整数数量 As intスキャンレートAs Long int As int
パラメータ
- スレーブID-スレーブアドレス1 ~ 255
- アドレスあどれすデータアドレス基数 0でーたあどれす基数 0
- value-データのvalue。1から125まで
- スキャンレート0 ~ 360000ms
戻り値は
- Trueを返します。失敗はFalseを返します。
自動書き込み関数
write関数は、プロパティで埋められた配列に格納されている値を書き込みます。次の書き込み関数はデータウィンドウを作成しません。データウィンドウを作成するには、WriteMultipleRegistersWinなどのWin関数を使用します。
シングルコイルを書く。WriteSingleCoil
Modbus関数コード0 5。
書き込み配列の最初のコイルに書き込みます。
関数単一コイルの書き込みスレーブID As intアドレスAs long As int As int
パラメータ
- スレーブID-スレーブアドレス0 ~ 255
- アドレスあどれすデータアドレス基数 0でーたあどれす基数 0
戻り値は
- 書き込み配列の準備ができてデータが送信された場合はTrueを返します。配列が空であるか、パラメータが間違っている場合は、Falseを返します。
- 制御アプリケーションは、書き込まれた値をリードバックすることで、書き込みOperationを検証する責任があります。
単一レジスタの書き込みWriteSingleRegister
Modbus関数コード0 6。
書き込み配列の最初のレジスタに書き込みます。
関数単一レジスタの書き込みスレーブID As intアドレスAs long As int
パラメータ
- スレーブID-スレーブアドレス0 ~ 255
- アドレスあどれすデータアドレス基数 0でーたあどれす基数 0
戻り値は
- 書き込み配列の準備ができてデータが送信された場合はTrueを返します。配列が空であるか、パラメータが間違っている場合は、Falseを返します。
- 制御アプリケーションは、書き込まれた値をリードバックすることで、書き込みOperationを検証する責任があります。
複数のコイルを書く。WriteMultipleCoils
Modbus関数コード15。
書き込み配列に格納されたコイルを書き込みます。
关数コイル书き込みスレーブID As整数、アドレスAs Long整数、Quantity As整数As整数
パラメータ
- スレーブID-スレーブアドレス0 ~ 255
- アドレスあどれすデータアドレス基数 0でーたあどれす基数 0
- value-データのvalue。1968年まで
戻り値は
- 書き込み配列の準備ができてデータが送信された場合はTrueを返します。配列が空であるか、パラメータが間違っている場合は、Falseを返します。
- 制御アプリケーションは、書き込まれた値をリードバックすることで、書き込みOperationを検証する責任があります。
複数のレジスタを書く。WriteMultipleRegisters
Modbus関数コード16。
書き込みは
配列に格納されたレジスタを書き込みます。
関数複数のレジスタを書き込むスレーブID As intアドレスAs longQuantity As int As int As int
パラメータ
- スレーブID-スレーブアドレス0 ~ 255
- アドレスあどれすデータアドレス基数 0でーたあどれす基数 0
- value-データのvalue。1から12 3
戻り値は
- 書き込み配列の準備ができてデータが送信された場合はTrueを返します。配列が空であるか、パラメータが間違っている場合は、Falseを返します。
- 制御アプリケーションは、書き込まれた値をリードバックすることで、書き込みOperationを検証する責任があります。
Pythonの例
アドレス0(40001)から10個のレジスタを読み込み、5個のレジスタを書き込むウィンドウを作成する方法を示すPythonの例。
sysのインポート 輸入時間の延長 Win 32 com.clientをWin 32としてインポート #Modbus Pollアプリケーションのインスタンスを作成する App = win32. Dispatch 'Mbpoll. Application' 接続タイプをTCP/IPに設定する App.Connection = 1 App.IPAddress = 127.0.0.1 #IPアドレスの設定 App.onseTimeout = 1000 #応答タイムアウトを1000ミリ秒に設定する App.DelayBetweenPolls = 20 リクエスト間の最小間隔を20ミリ秒に設定する App.ConnectTimeout = 500 #接続タイムアウト時間を500ミリ秒に設定する App.ServerPort = 502 #サーバポートを502に設定する result = App.OpenConnection #接続を開こうとする もし結果が出たら! 0 nCloth print Connection failed. Error result #接続が失敗した場合にエラーメッセージを出力する sys.exit #プログラムの終了 Win1というModbusディスプレイウィンドウを作成する。 Win1 = win32. Dispatch Mbpoll.Document #ステーションID 1のアドレス0(40001)から1000msごとに10個の保持レジスタを読み出す Win1. ReadHoldingRegisters 1、0、10、1000 Modbusウィンドウを表示する Win1.ShowWindow #10行を表示 Win1. Rows 0 #グリッドに合わせてウィンドウをサイズ変更 Win1. ResizeWindow time.sleep 1.0 #読み込み完了を待つ if Win1.ReadResult == 0 #読み取り結果の確認 print Modbus register 0 40001 = Win1.SRegisters 0 else nParticle print Read ed error = Win1. Read print Tx count = %d Rx count = %d % Win1.GetTxCount Win1.GetRxCount #Modbus Pollの内部配列に書き込むデータを準備する Win1.SRegisters 0、1 ここで1はModbusアドレスではなく、配列のインデックスです。 Win1. SRegisters 1、10 Win1.SRegisters 2、100 Win1.SRegisters 3,1000 Win1.SRegisters 4 10000 #レジスタに書き込む。Modbus Pollではウィンドウを作成しません。 #WriteMultipleRegistersWin関数を使用してデータウィンドウを作成する Win1.WriteMultipleRegisters 1 0 5 _ = input Wait for write Press ENTER #書き込みを待ち、Enterキーを押して続行 Win 1の場合。Write== 0 #書き込み結果の確認 print Modbus write success else nParticle print ed error = Win1.Write _ = input Press ENTER to quit #Enterキーを押して終了
15.6.様々な機能
Modbus Pollドキュメントに関連付けられた機能。(データのあるウィンドウ)
15.6.1. ShowWindow
デフォルトでは、Modbusドキュメントウィンドウは非表示です。ShowWindow関数はModbus Pollを可視化し、データ内容を含むドキュメントを表示します。
関数ShowWindow {{かんすうShowWindow}}ViewCube ViewCubeパラメータ
この関数にはパラメータはありません。戻り値は
いいえ。
15.6.2. GetTxカウント
リクエスト数を取得。
関数の機能 GetTxCount(a)パラメータのみ
この関数にはパラメータはありません。戻り値は
リクエストの数。
受信数の取得
応答数を取得する。
関数受信カウントの取得As long
パラメータ
この関数にはパラメータはありません。
戻り値は
応答の数。
名前の取得
値の名前を取得します。
関数名前インデックスAs int As文字列の取得{{かんすうめいIndex As int Asもじれつのしゅとく}}
パラメータ
インデックス:インデックス0は最初のModbusアドレスに対応します。
戻り値は
名前です。
名前の設定
値の名前を変更します。関数設定名インデックスAs int、名前As文字列
パラメータ
インデックス:インデックス0は最初のModbusアドレスに対応します。
名前値セルの名前。
戻り値は
なしなし。
全てフォーマット。
選択した書式を使用して、すべての値のセルを書式設定します。
関数“すべてをフォーマット”Format As Integer
パラメータ
書式値のセルの書式。
戻り値は
なしなし。
フォーマットの取得
Modbus値の表示形式を取得します。
関数取得フォーマット索引 As int As int As int
パラメータ
インデックス:インデックス0は最初のModbusアドレスに対応します。
戻り値は
| ID | フォーマットFormat | 中国語の解説 |
|---|---|---|
| 0Signed | 記号付き。 | |
| 1 | Unsigned | 符号なし。 |
| 2 | Hex | 16進法 |
| 3 | Binary | Binaryシングル |
| 4 | Float little-endian byte swap | 浮動小数点数リトルエンバイトスワップ |
| 5 | Float big-endian | 浮動小数点数ビッグエンディアン |
| 6 | Double little-endian byte swap | 倍精度リトルエンディアン·バイトスワップ |
| 7 | Double big-endian | 倍精度大端 |
| 8 | 32-bit Signed little-endian byte swap | 32ビット符号付きリトルエンド·バイトスワップ |
| 9 | 32-bit Signed big-endian | 32ビット符号付きビッグサイズ |
| 10 | Float little-endian | 浮動小数点数リトルエンド |
| 11 | Float big-endian byte swap | 浮動小数点数ビッグエンディアン·バイト·スワップ |
| 12 | Double little-endian | 倍精度の小さな端 |
| 13 | Double big-endian byte swap | 倍精度ビッグエンディアンバイト交換 |
| 14 | 32-bit Signed little-endian | 32ビット符号付きリトルエンド |
| 15 | 32-bit Signed big-endian byte swap | 32ビット符号付きビッグエンディアン·バイト·スワップ |
| 17 | 32-bit Unsigned big-endian | 32ビット符号なしビッグエンド |
| 18 | 32-bit Unsigned little-endian byte swap | 32ビット符号なしリトルエンバイトスワップ |
| 19 | 32-bit Unsigned big-endian byte swap | 32ビット符号なしビッグエンディアン·バイト·スワップ |
| 20 | 32-bit Unsigned little-endian | 32ビット符号なしリトルエンド |
| 21 | 64-bit Signed big-endian | 64ビット符号付きビッグサイズ |
| 22 | 64-bit Signed little-endian byte swap | 64ビット符号付きリトルエンディアン·バイト·スワップ |
| 23 | 64-bit Signed big-endian byte swap | 64ビット符号付きビッグエンディアン·バイト交換 |
| 24 | 64-bit Signed little-endian | 64ビット符号付きリトルエンド |
| 25 | 64-bit Unsigned big-endian | 64ビット符号なしビッグエンド |
| 26 | 64-bit Unsigned little-endian byte swap | 64ビット符号なしリトルエンバイトスワップ |
| 27 | 64-bit Unsigned big-endian byte swap | 64ビット符号なしビッグエンディアン·バイト·スワップ |
| 28 | 64-bit Unsigned little-endian | 64ビット符号なしリトルエンド |
注意点:
この設定は、表示のみに使用されます。Get/Set値関数を使用する場合は、正しいエンディアンを取得するためにbyteOrderを使用する必要があります。
15.6.8. SetFormat
Modbus値の表示形式を変更します。上記の書式値を参照してください。
関数の機能 SetFormat[インデックスは整数、フォーマットは整数]パラメータ
INDEX:インデックス0は最初のModbusアドレスに対応します。
フォーマット:値のセルのフォーマット。戻り値は
いいえ。
15.6.9. ResizeWindow
開いているウィンドウのサイズをグリッドに合わせて調整します。
関数の機能 ResizeWindowViewCube ViewCubeパラメータ
この関数にはパラメータはありません。戻り値は
いいえ。
15.6.10. ResizeAllColumns
すべての列のサイズをセル内の値に合わせて変更します。
関数の機能 ResizeAllColumnsViewCube ViewCubeパラメータ
この関数にはパラメータはありません。戻り値は
いいえ。
15.6.11. OKです。
グリッド内の行数を指定します。
関数の機能OKです。 NumberRows
数字の行:グリッド内の行数
| ナンバーナンバーナンバー | 説明する。 |
|---|---|
| 0 10行(デフォルト) | |
| 1 | 20 行。 |
| 2 | 50 行。 |
| 3 | 100 行。 |
| 4 | 適切なvalue |
戻り値は
いいえ。
結果の読み取り
このプロパティを使用して、読み取りOperationとのCommunicationが正常に確立されたかどうかをチェックします。
プロパティの読み込み結果As int {{ぷろぱてぃのよみこみAs int}}
パラメータ
この関数にはパラメータはありません。
戻り値は
| Error | Description |
|---|---|
| 0成功する。SUCCESS | |
| 1 | タイムアウトエラーTIMEOUT ERROR |
| 2 | CRCエラーCRC ERROR |
| 3 | レスポンスエラーレスポンスが意図したスレーブID、ファンクションコード、アドレスではないRESPONSE ERROR (The response was not the expected slave id, function or address) |
| 4 | 書き込みエラーWRITE ERROR |
| 5 | 読み取りエラーREAD ERROR |
| 6 | ポートが開いていないエラーPORT NOT OPEN ERROR |
| 10 | データが初期化されないDATA UNINITIALIZED |
| 11 | 受信したバイトが足りないINSUFFICIENT BYTES RECEIVED |
| 16 | バイト数エラーBYTE COUNT ERROR |
| 19 | トランザクションIDエラーTRANSACTION ID ERROR |
| 81h | 違法な機能ILLEGAL FUNCTION |
| 82h | 違法なデータアドレスILLEGAL DATA ADDRESS |
| 83h | 不正なデータ値ILLEGAL DATA VALUE |
| 84h | サーバーデバイスの失敗SERVER DEVICE FAILURE |
| 85h | 確認済み。ACKNOWLEDGE |
| 86h | サーバー機器がビジーSERVER DEVICE BUSY |
| 87h | NAK-ネガティブな確認NAK-NEGATIVE ACKNOWLEDGMENT |
| 8Ah | ゲートウェイパスが使用できませんGATEWAY PATH UNAVAILABLE |
| 8Bh | ゲートウェイターゲットデバイスが応答しませんGATEWAY TARGET DEVICE FAILED TO RESPOND |
結果の書き込み
この関数を使用して、書き込みOperationが成功したかどうかを確認します。
値は、スレーブから結果を取得するまでデータが初期化されていません。可能な値のリストを取得するために結果を読み込む。
プロパティ
結果を整数として書き込む
戻り値は
書き込み結果を整数で返します。
保存する。
現在のウィンドウを保存。関数保存かんすうほぞんパス名 As文字列ぱすめいAsもじれつAsブール型As
パラメータ
パス名:保存するファイルの完全修飾パス。
戻り値は
Booleanブール値
例:例
まず、Modbus Pollドキュメントが必要です。 オブジェクトとしての公開ドキュメント Set doc = CreateObject Mbpoll.Document res = doc.ReadCoils 1 0 100 1000 #1000ミリ秒ごとに100個のコイルを読み取る res = doc.Save C\\Users\\UserName\\Desktop\\testfile.mbp #デスクトップのtestfile.mbpファイルにドキュメントを保存する
オートメーションのデータプロパティ
以下のプロパティは、Modbus Pollの内部書き込み/読み取り配列で値を設定または取得するために使用されます。使用されるインデックスはModbusアドレスではない。インデックスは、使用するアドレスに関係なく常に0からカウントを開始します。データプロパティはModbus Pollドキュメントに関連付けられています。(データ付きのウィンドウ)
各データ属性には、次の2つのバージョンがあります。
SRegistersのようなサフィックスのないものは、内部の書き込み/読み取り配列から値を設定または取得するために使用されます。
SRegistersWinのようなWinサフィックスを持つものは、データウィンドウから直接値を設定または取得するために使用されます。これは、書き込みOperationにデータウィンドウを使用する場合に使用されます(WriteMultipleRegistersWinなど)。
例1
最初にDocを作成したとします。Excelの例を参照。 #後の書き込みOperationに使用するデータ配列で、インデックス0に1を書き込む doc.SRegisters 0 = 1 doc.SRegisters 1 = 10 doc.SRegisters 2 = 1234 #Modbus Pollの内部配列に格納される3つのレジスタ Modbusアドレス100(40101)を書き込む 窓を作らない res = doc.WriteMultipleRegisters 1 100 3 上記の例はデータウィンドウを作成せず、Modbus書き込みを1回実行します。
例2、浮動小数点数の値
3つの浮動小数点数値を書き込みます。
最初にDocを作成したとします。Excelの例を参照。 doc.Floats 0 = 1.3 doc.Floats 2 = 10.5 doc.Floats 4 = 1234.12 Modbus Pollに6つのレジスタを書き込む res = doc.WriteMultipleRegisters 1 0 6 浮動小数点値は32ビット幅なので、6つのレジスタに書き込みます。
例3
1000msごとに3つのレジスタを書き込むウィンドウを作成します。
最初にDocを作成したとします。Excelの例を参照。 #1000msごとにコンテンツを書き込むウィンドウを作成する res = doc.WriteMultipleRegistersWin 1,100,3,1000 #データウィンドウの最初のセルに1を書き込む doc.SRegistersWin 0 = 1 doc.SRegistersWin 1 = 10 doc.SRegistersWin 2 = 1234 #1000msごとに3つのレジスタをスレーブID 1アドレス100に書き込むようになりました。
このコード例では、docModbus Pollドキュメントのインスタンスであり、レジスタへの書き込みなどの様々なModbusOperationを実行するために使用される。使用方法を示す例。Win接尾辞のプロパティは内部配列を直接操作し、バンドの使い方を教えます。Winサフィックスの属性操作は、データウィンドウに関連付けられた値です。
コイル、CoilsWin
Property Coils(Index As Integer) As IntegerDescription
Sets a coil in the write array structure or return a coil from the read array.Syntax
Coils(Index) [=newvalue]
Shortレジスタ、SRegistersWin
Property SRegisters(Index As Integer) As IntegerDescription
Sets a register in the write array structure or return a register from the read array.Syntax
SRegisters(Index) [=newvalue]
ロングレジスタ、URegistersWin
プロパティ URegistersIndex As Integer
書き込み配列構造体にレジスタを設定するか、読み取り配列からレジスタを返します。構文
URegistersインデックス
32ビット整数、Ints_32Win
プロパティ Ints_32Index As Integer
write配列構造体に32ビット整数を設定するか、read配列から整数を返します。構文
Ints_32インデックス
32ビット符号なし整数、UInts_32Win
プロパティ UInts_32index as integer
write配列構造体に32ビットの符号なし整数を設定するか、read配列から符号なし整数を返します。構文
UInts_32(インデックス) [=新しい値]
64ビット整数、Ints_64Win
プロパティ Ints_64Index As Integer
write配列構造体に64ビット整数を設定するか、read配列から整数を返します。構文
Ints_64(インデックス) [=新しい値]
64ビット符号なし整数、UInts_64Win
プロパティ UInts_64Index As Integer
64ビットの符号なし整数をwrite配列構造体に設定するか、読み出し配列から符号なし整数を返します。構文
UInts_64(インデックス) [=新しい値]
浮動小数点、FloatsWin
プロパティ floatsindex as integer
書き込み配列構造体に浮動小数点数を設定するか、読み出し配列から浮動小数点数を返します。構文
浮動小数点数インデックス[=新しい値]
倍精度浮動小数点数、DoublesWin
プロパティ doublesindex as integer
write配列構造体にdouble値を設定するか、読み出し配列からdouble値を返します。構文
ダブルダブル。インデックス
バイト順序
プロパティ ByteOrder Integerの説明
Ints_32、UInts_32、Ints_64、UInts_64、Floats、Doublesの各プロパティで使用されるバイト順序を設定します。
Winバージョンではこのプロパティは使用されません ByteOrder。
| ナンバーナンバーナンバー | バイトエンディアン |
|---|---|
| 0ビッグエンディアンデフォルトBig-endian Default | |
| 1 | リトルエンディアン·バイト·スワップLittle-Endian byte swap |
| 2 | ビッグエンディアン·バイト·スワップBig-Endian byte swap |
| 3 | リトル·エンディアンLittle Endian |
Ints_32の例:
バイト順序:Big-endian
10進数123456 7 8 9または16進数0 7 5B CD 15 Modbusメッセージでラインを通過
ソート07 5B CD 15構文
ByteOrder (新しい価値観)
15.8.書き込み関数データウィンドウの作成
次の関数の動作は、読み取り/書き込み定義ダイアログ(F 8)で設定したものと同じです。
これらの関数はデータウィンドウを作成し、スキャンレートに応じてデータウィンドウ内のデータ内容を書き込みます。
15.8.1. WriteSingleCoilWin
Modbus機能コード0 5。
関数の機能 WriteSingleCoilWinSlaveID As Integer
奴隷のID:アドレス1から255まで
住所:アドレス:データアドレス(ベース0)
スキャン速度:0 ~ 3600000msの戻り値
成功すれば、それは真実です。成功しなかった場合はfalse
15.8.2. WriteSingleRegisterWin
Modbus機能コード0 6。
関数の機能 WriteSingleRegisterWinSlaveID As Integer
奴隷のID:アドレス1から255まで
住所:アドレス:データアドレス(ベース0)
スキャン速度:0から3600000 msリターン値
True if success. False if not success
Python Example how to open a window and write a single register every 1000 ms
15.8.3. WriteMultipleCoilsWin
Modbus機能コード15.
関数の機能 WriteMultipleCoilsWin(SlaveIDは整数、アドレスはロング、Quantityは整数、ScanRateはロング)は整数パラメータ
奴隷のID:アドレス1から255まで
住所:アドレス:データ·アドレス0
Quantity:より:データのvalue。1968年まで
スキャン速度:0から3600000msの戻り値
成功すれば、それは真実です。成功しなかった場合はfalse
15.8.4. WriteMultipleRegistersWin
Modbus機能コード16.
関数の機能 WriteMultipleRegistersWin(SlaveIDは整数、アドレスはロング、Quantityは整数、ScanRateはロング)は整数パラメータ
奴隷のID:アドレス1から255まで
住所:アドレス:データ·アドレス0
Quantity:より:データのvalue。1から12 3
スキャン速度:0から3600000msの戻り値
成功すれば、それは真実です。成功しなかった場合はfalse
16.例外とエラーメッセージ
Modbusの例外とエラーメッセージが赤いテキストで表示されます2ネオジムOKです。

16.1. Modbus例外コード
Modbus例外は、デバイスから返されるエラーです。
| コードコードコード | 名前は | 意味がある。 |
|---|---|---|
| 01 | 違法な機能 | クエリで受信された関数コードは、サーバ(またはスレーブ)が許可するOperationではありません。これは、関数コードが新しいデバイスでのみ動作し、選択したユニットに実装されていないためです。また、サーバ(またはスレーブ)がそのような要求を処理するエラー状態にあることを示すこともあります。例えば、設定されておらず、レジスタ値を返すよう求められているためです。 |
| 02 | 違法なデータアドレス | クエリで受信したデータアドレスは、サーバの許可されたアドレスではありません。具体的には、参照番号と伝送長の組み合わせは無効です。レジスタが100個のコントローラの場合、PDUは最初のレジスタを0に、最後のレジスタを99にアドレスする。リクエストが送信されたレジスタアドレスが96で、レジスタ数が4であれば、リクエストは(少なくともアドレスに関しては)レジスタ96、9 7、9 8、99で正常に実行される。要求がレジスタアドレス96でレジスタ数5で開始された場合、この要求はレジスタ96、9 7、9 8、9 9、100で実行しようとしており、アドレス100のレジスタがないため、例外コード0 x 0 2“不正なデータアドレス”で失敗します。 |
| 03 | 違法データの価値 | クエリデータフィールドに含まれる値は、サーバーまたはスレーブの許可された値ではない。これは、複雑なリクエストの残りの部分の構造にエラーがあることを示します。たとえば、暗黙の長さが間違っているなどです。具体的には、MODBUSプロトコルは特定のレジスタの特定の値の重要性を認識していないため、レジスタに格納されたデータ項目がアプリケーションが期待する値を超える値を持つことを意味しません。 |
| 04 | サーバーデバイスの障害 | サーバ(またはスレーブ)が要求されたOperationを実行しようとしたときに、回復不能なエラーが発生しました。 |
| 05 | 承認する | 特にプログラミングコマンドと組み合わせて使用されます。 サーバー(またはスレーブサーバー)がリクエストを受け入れ、処理していますが、その処理には長い時間がかかります。この応答は、クライアント(またはマスター)でタイムアウトエラーが発生しないようにするために返されます。クライアントまたはプライマリクライアントは、次に、処理が完了したかどうかを判断するために、“ポーラー完了”メッセージを発行することができる。 |
| 06 | サーバー·デバイスがビジー状態 | 特にプログラミングコマンドと組み合わせて使用されます。 サーバー(またはスレーブサーバー)が長時間のプログラムコマンドを処理している。クライアント(またはマスター)は、後でサーバ(またはスレーブ)がアイドル状態になったときにメッセージを再送信する必要があります。 |
| 0アンペア。 | ゲートウェイパスが使用できません | ゲートウェイと組み合わせて使用すると、ゲートウェイが要求を処理するために入力ポートから出力ポートへの内部通信パスを割り当てることができないことを示します。通常、ゲートウェイの設定エラーまたは過負荷を表します。 |
| 0 Bさん | ゲートウェイターゲットデバイスが応答できません | ゲートウェイと組み合わせて使用すると、ターゲット·デバイスから応答が得られないことを示します。通常は、デバイスがネットワーク上にないことを示します。 |
16.2. Modbus Pollエラーメッセージ
| エラーメッセージの表示 | 意味がある。 |
|---|---|
| タイムアウトエラー | 予想された時間内に応答がありませんでした。次の内容を確認します。シリアル接続ボーレート、パリティ、データビット、ストップビットなどのシリアル設定。Modbusモード、RTUまたはASCIIスレーブID応答タイムアウトTCP/IP接続応答タイムアウトホストおよびポートがスレーブと一致しているかどうかを確認する |
| 応答エラー | 応答は期待された応答ではない。異なる従属ID。 |
| CRCエラー | 受信した応答のCRC値が正しくありません。 |
| 書き込みエラー | これはシリアルドライバからされるエラーです。USB/RS232/485ドングルを使用してUSBケーブルを取り外した場合に発生することがあります。4つのタイプがあります。破損状態I/Oエラーシリアル接続エラー出力バッファオーバーフロー TCP/IP接続を使用した書き込みエラーは、通常、接続の喪失が原因です。 |
| 読み取りエラー | これはシリアルドライバからされるエラーです。フレームエラー文字バッファオーバーフローパリティエラー入力バッファオーバーフロー I/Oエラーブレークアウト条件TCP/IP接続を使用した読み取りエラーは、通常、接続の損失によって引き起こされます。 |
| 受信バイト数が不十分 | 応答が期待される長さではない。 |
| バイト数エラー | 応答のバイト数が正しくありません。予想と比べると。 |
| トランザクションIDエラー | これは、MODBUSサーバがリクエストのトランザクション識別子をレスポンスでコピーするトランザクションペアリングに使用されます。 |
無料で利用できるミニプログラム!!

求软件
非常好
*这软件可以*
这软件不错
666
教程挺详细的,我还需要软件,网络上还没看到这么详尽的教程!太棒了!
平台太好了
真滴太好用了
非常好
老六
很棒
平台太好了
需要需要
非常棒
嗯,好像可以
感谢感谢分享
太棒了
太棒了
1
教程很详细!太棒了!
兄弟
平台讚讚讚
11
123
3456
y456hg
谢谢楼主分享
测试用
网络上还没看到这么详尽的教程!太棒了!
太好了,非常好的资源
这个平台太好了.正是需要的。
这个平台太好了。