1

私の質問は奇妙ですので、お詫び申し上げます。

「DiGi Module Connect Me 9210」という電子機器に Modbus RTU Master を実装する予定です。このデバイスから、PIC からのデータ、ノードや温度などのデータ、およびその他のデータを要求します。自分のデバイスに FC 04/03/16 を実装したいだけです。

Digi モジュールは電子デバイスであるため、この目的のために、Digi モジュールを介して GUI を使用して PIC からデータを要求する C# GUI を作成します。これは、Digi が Modbus RTU プロトコルを使用して PIC に接続されるためです。Digi でデータを取得したら、REST API を使用してそのデータをクラウドに送信します。

GUI から DIgI へは TCP/IP を使用し、DIGI から PIC へは Modbus RTU を使用し、Cloud と DiGi の間には REST AP を使用します。

C# でデータを削除したいので、GUI から PIC に DIGI を介して要求を送信するだけで (私の DIGI は GUI と PIC の間のブリッジになります)、ノードを構成するか、PIC からノード データを取得します。3X / 4X レジスターからデータを取得するには、80 リクエストなどを使用して、ほぼ 9999 レジスターを一度に読み取る必要があります。質問は次のとおりです。

☺ Modbus RTU をデバイスまたはシステムに実装する方法。

☺ 3X レジスターからすべてのランタイム データを読み取りたい場合、GUI を介してすべての 9999 レジスターを読み取るにはどうすればよいでしょうか?

☺ どうすればすべての 4X レジスターを 1 回で読み書きできますか?

また、ページング手法も実装しているため、ページ 0 には 9999 個のレジスタがあり、ページ 1 には 9999 個のレジスタがあります。したがって、温度を読み取りたい場合は、ページ 0 に移動してレジスタを読み取る必要があり、速度値を読み取りたい場合は、ページ 1 に移動してすべてのレジスタをチェックする必要があります。

GUIは何かのように見えます

ユーザーはノード番号、次に温度を追加し、リクエストを送信します。

4

1 に答える 1

1

その際、 libmodbusライブラリが役立ちます。このライブラリをdigiモジュールに実装しました。レジスタをループに入れ、レジスタをコピーしてrtuに変換するだけです。

于 2016-05-16T15:22:45.923 に答える