Modbus 4 j-Java版modbusプロトコル実装

無料無料技术资料

这篇内容可直接阅读,适合用于基础学习和検索引流。

Modbus 4 j-Java版modbusプロトコル実装

GitHub:https://github.com/infiniteautomation/modbus4j

Infinite Automation SystemsとSerotonin SoftwareによるJavaで書かれたModbusプロトコルの高いパフォーマンスをで使いやすい実装。ASCI I、RTU、TCP、UDPトランスポートをスレーブまたはプライマリとしてサポートし、自動リクエストパーティション化とレスポンスデータ型解決を行います。

パブリックMavenリポジトリの最新バージョンを使用して、pom.xmlに追加できるようになりました。

<repositories>
    <repository>
        <releases>
            <enabled>false</enabled>
        </releases>
        <snapshots>
            <enabled>true</enabled>
        </snapshots>
        <id>ias-snapshots</id>
        <name>Infinite Automation Snapshot Repository</name>
        <url>https://maven.mangoautomation.net/repository/ias-snapshot/</url>
    </repository>
    <repository>
        <releases>
            <enabled>true</enabled>
        </releases>
        <snapshots>
            <enabled>false</enabled>
        </snapshots>
        <id>ias-releases</id>
        <name>Infinite Automation Release Repository</name>
        <url>https://maven.mangoautomation.net/repository/ias-release/</url>
    </repository>
</repositories>

依存関係情報は次のとおりです。

<dependency>
    <groupId>com.infiniteautomation</groupId>
    <artifactId>modbus4j</artifactId>
    <version>3.0.3</version>
</dependency>

コアクラス

  • ホストMasterとそのサブクラス:ホストのエントリ、データフローの始点と終点。
  • データポートクラスStreamTransport:データの書き込みと読み出しを担当する。
  • ModbusメッセージクラスModbusMessageとそのサブクラス:Modbusが定義した各種メソッド(FunctionCode)をサポート
  • 送受信データ制御クラスControl:out、retをサポートし、デフォルト200ms、1回。
    • 送受信待合室WaitingRoom:同期送受信ロジックを担当する.
    • Output Request MessageクラスOutgoingRequestMessageとそのサブクラス。
    • 受信Responseメッセージクラス:IncomingResponseMessageとそのサブクラス。
    • MessageParserは受信したメッセージを解析するクラスです。
  • プロトコルデータ型定義:DataType
  • 機能コードの定義:FunctionCode
  • プロトコルレジスタ範囲:RegisterRange

データフロー

  1. を通して。ModbusFactory対応するものの作成Master対象者。
  2. 送信するコマンドを含む。ReadHoldingRegistersRequestこれは、レジスタアドレスと長さを指定する読み取りレジスタ命令です。
  3. Master対象者はこれReadHoldingRegistersRequest変換する。OutgoingRequestMessageオブジェクトを送信しますMessageControl。
  4. 駆動層を通して、MessageControlこれを取る。OutgoingRequestMessage対応する通信ハードウェア周辺機器(シリアルポート、ネットワークポートなど)に書き込み、データの返却を待ちます。IncomingResponseMessage。
  5. 待機しない場合はnullを返し、タイムアウトを警告します。
  6. 効果的なリターンが得られるまで、MessageControl利用するにはMessageParserウィルはIncomingResponseMessage対応に変換するModbusResponse上に戻る。

単体テスト

modbus 4 j/src_test/には一連の単体テストメソッドが定義されており、関連するメソッドを追跡することでmodbusプロトコルの実際の動作フローを理解することができます。

この資料を実際のプロジェクトに活用しませんか?

ツールセンターで電文解析、CRCチェック、デバイスデバッグを行うか、要件を送信して選定と接続のアドバイスを受けましょう。

エンジニア会員

この記事を実行可能なデバッグ資料に

登録すると、高度な電文解析、資料パックのダウンロード、コード例、エンジニアリングケース、優先技術サポートが利用可能に。実際のプロジェクト納品に最適です。

高度なツール無制限
資料パックとコードパック
完全なエンジニアリングケースライブラリ
優先技術サポート窓口

发表回复

あなたのメールアドレスアドレス不会被公开。 必須項目已用 * 标注