easymodbus4j 0.0.5リリース、修正アップデート

easymodbus4j 0.0.5リリース、修正アップデート

多くのバグは、バージョン0.0.5は、すべての0.0.4 RTUプロトコルモードでアップグレードすることをお勧めします、があります。

次のように更新しました:

1.均一な調整をログに記録します。

2、RTU修理REQ RESP同期更新のバグ。

3、重要なデバッグログの複数を追加します。

4、プラスまたはいくつかのバグフィックスマイナス。

5、読み書きロックモードRTUプロトコルのバグ修正とパフォーマンスの最適化。

 

 

easymodbus4j

easymodbus4j Javaは、ベースネッティー開発、それはJavaクライアントとModbusプロトコルサーバの開発に使用することができ、高い性能と実装のModbusプロトコルの容易さである。高性能をeasymodbus4jと使いやすさ、Javaで書かれたModbusプロトコルの実装をMODBUS 8モードのクライアント/サーバーおよびマスター/スレーブのための網状のサポート。

easymodbus4j特徴:
1、NIOネッティー高性能、高パフォーマンス。
2、Modbusの同期機能/同期/非同期ノンブロッキングaync。
3、のModbusのIoTデータコネクタは、業界物事のIoTプラットフォームのサポートをサポートします。
4、2つの通信プロトコルのModbus TCP \のModbus RTUプロトコルをサポートしている。
5、異なる生産要件を満たすために、8つの生産の展開パターン、自由な組み合わせをサポートする柔軟なアーキテクチャ。
6、一般的なパッケージは非常にカスタムインタフェースを可能にします。
7、完全にサポートModbus TCP 4忠展開モード:TCPサーバーのマスター、TCPクライアント、スレーブ、TCPサーバ、スレーブ、TCPクライアントマスター。
RTUサーバのマスター、RTUクライアントスレーブ、RTUサーバスレーブ、RTUクライアントマスター:8は、完全のModbus RTU 4忠配備モードをサポートしています。
9、フレンドリーデバッグとロギングをサポートビット\ビットセットのバイト\ \短いの\ int型\フロート\ダブル。
10サポート機能コード:
リードコイル(FC1)
リード入力離散(FC2)
読み出し保持レジスタ(FC3)
リード入力レジスタ(FC4)
書くシングルコイル(FC5)
書く単一レジスタ(FC6)
複数コイル(FC15)を書く
(FC16)複数レジスタ書き込み
読み出し/書き込み複数のレジスタ(FC23)

中#Exampleプロジェクトコード  https://github.com/zengfr/easymodbus4j

リポジトリ中央Sonatype Mvnrepository easymodbus4j

たartifactId / JAR:
easymodbus4j-core.jar Modbusプロトコルプロトコル
easymodbus4j-codec.jarのModbusユニバーサルコードデコーダ
easymodbus4j.jarのModbus一般/共通の公開汎用パケット
easymodbus4j-client.jarのModbusクライアントクライアント
easymodbus4j-server.jarのModbusサーバサーバエンド
パッケージModbusMasterResponseProcessor / ModbusSlaveRequestProcessorインタフェースを拡張しeasymodbus4j-extension.jarのModbus拡張
快速开发クイックスタート:
第一步STEP1、輸入ジャー:
達人:
<依存> 
<groupIdを> com.github.zengfr </ groupIdを> 
<たartifactId> easymodbus4j-クライアント</たartifactId> 
<バージョン> 0.0.5 </バージョン> 
</依存関係> 
<依存> 
<groupIdを> com.github.zengfr </ groupIdを> 
<たartifactId> easymodbus4j-サーバー</たartifactId> 
<バージョン> 0.0.5 </バージョン> 
</依存関係> 
<依存> 
<groupIdを>コム.github.zengfr </ groupIdを> 
<たartifactId> easymodbus4j拡張</たartifactId> 
<バージョン> 0.0.5 </バージョン> 
</依存関係> 

第二步STEP2、ハンドラを実装します。 
2。1マスターであれば
      ModbusMasterResponseHandler.javaを:实现easymodbus4j-例を参照してください接口するResponseHandlerを実装
  または实现ModbusMasterResponseProcessorが新しいModbusMasterResponseHandler(responseProcessor)を使用接口実施します。
  
2.2スレーブ場合
    ModbusSlaveRequestHandler.java:实现接口easymodbus4j-例を参照要請ハンドラを実装
 、または实现ModbusSlaveRequestProcessor新しいModbusSlaveRequestHandler(reqProcessor)を使用接口実装

第三步STEP3は、一つのマスター/スレーブ・クライアント/サーバモード選択:
modbusServer = ModbusServerTcpFactory.getInstanceを()。 createServer4Master(ポートするResponseHandler)。
。modbusClient = ModbusClientTcpFactory.getInstance()createClient4Slave(ホスト、ポート、要請ハンドラ)。

。modbusClient = ModbusClientTcpFactory.getInstance()createClient4Master(ホスト、ポート、するResponseHandler)。
modbusServer = ModbusServerTcpFactory.getInstance()createServer4Slave(ポート、要請ハンドラ)。

modbusServer = ModbusServerRtuFactory.getInstance()createServer4Master(ポートするResponseHandler)。
。modbusClient = ModbusClientRtuFactory.getInstance()createClient4Slave(ホスト、ポート、要請ハンドラ)。

。modbusClient = ModbusClientRtuFactory.getInstance()createClient4Master(ホスト、ポート、するResponseHandler)。
。modbusServer = ModbusServerRtuFactory.getInstance()createServer4Slave(ポート、要請ハンドラ); 

第四步STEP4:
4.1はどのようにリクエストを送信するには?
チャンネルのチャンネル= client.getChannel())。
チャンネルチャンネル= server.getChannelsBy(...));
ChannelSender送信者= ChannelSenderFactory.getInstance()(チャネル)を取得します。
sender.readCoils(...)
sender.readDiscreteInputs(...)
sender.writeSingleRegister(...)
リクエスト/レスポンスを処理するために、どのように4.2?
ModbusMasterResponseHandler.java又はModbusMasterResponseProcessor.javaにprocessResponseFrameの優先mothodのコードを参照して
(ModbusFunction respFunc、AbstractFunction reqFunc、UNITIDをINT、チャンネルチャネル)公共ボイドprocessResponseFrame { 
		{(respFuncのinstanceof ReadCoilsResponse)場合
			ReadCoilsResponse RESP =(ReadCoilsResponse)respFunc。
			ReadCoilsRequest REQ =(ReadCoilsRequest)reqFunc。
			REQ / RESP用//プロセスのビジネスロジック
		} 
}; 
4.3どのように自分でカスタム・デコード用のByteArrayへの応答を取得するには?
ModbusMasterResponseHandler.java又はModbusMasterResponseProcessor.javaにprocessResponseFrameの優先mothodのコードを参照して
ModbusChannelInitializer modbusChannelInitializer = ...;
公共ボイドprocessResponseFrame(チャネルチャネル、UNITID、AbstractFunction reqFunc、ModbusFunction respFuncをINT){ 
		IF(ReadDiscreteInputsResponse instanceofのrespFunc){ 
			ReadDiscreteInputsResponse RESP =(ReadDiscreteInputsResponse)respFunc。
			バイト[] resutArray = resp.getInputStatus()toByteArray()。
		} 
}。	
4.4どのようにログを表示するには?
サンプルプロジェクトではModbusMasterResponseHandler.javaを参照してください。
ModbusFrameUtil.showFrameLog(ロガー、チャネル、フレーム)。

4.5どのように自分でカスタムのクライアント/サーバ、事前に?
ModbusServerTcpFactory.getInstance()createServer4Master(ポート、modbusChannelInitializer)。

#Exampleプロジェクトコード  マスター/ easymodbus4j-例/ srcに/メイン/ javaの/ COM / githubの/ zengfr / easymodbus4j /例

起動RUN例:
。1、解凍ファイルeasymodbus4j-example-0.0.5-release.zip 
2、マスターのModbusモードの場合:オープンautosend.txtファイルまたは実施例におけるDIR-autosend.txt rsourcefile easymodbus4j-0.0.5.jarで
3。 、MODE Modbusマスタのために:ファイルの編集autosend.txt 
。4、のstartup.batを起動
5を、あなたはまた、* Modbusマスタ用の.bat / MODE :.サルヴェ編集することができ
ます。説明
1.フォルダにzipファイル解凍
2を、Javaプログラムをインストールjdk8を実行していない。
。3、8 TCP / RTUサーバのマスター、クライアントスレーブ、スレーブサーバ、クライアントのマスター8モードに対応する解凍batファイルの後に。
。4、マスタモードではautosend.txtファイルを設定することができ、送信のタイミングを読み書きリクエスト。
5、メモ帳には、batファイルは、伝送遅延時間などのパラメータ、およびタイミング詳細なログを編集することができます開きます。

レンダリングは、スクリーンショットをキャプチャ実行します。 図のスクリーンショット効果easymodbus4j 1を実行しています 図のスクリーンショット効果easymodbus4j 2を実行しています 図のスクリーンショット効果easymodbus4j 3を実行しています 図のスクリーンショット効果easymodbus4j 4を実行しています

 

おすすめ

転載: www.oschina.net/news/110727/easymodbus4j-0-0-5-released