本ソフトウエアは、Modbusプロトコルにおける通信用DLLです。シリアル通信及びModbus/TCPに対応します。 Modbus対応装置におけるビット、ワードデータの読み込み、書き込みが出来ます。
本DLLは、Modbus通信のマスターとして動作します。
インターフェース | シリアル通信(RS-232C、RS-422/485) |
伝送フレーム | RTUモード, ASCIIモード |
伝送速度 | 300/600/1200/2400/4800/9600/14400/19200/38400/57600/115200 bps |
伝送データ | データ長8ビット、1スタートビット、パリティ 偶数、奇数またはなし |
対応.NET | .NET Framework4.5 32ビット、64ビット |
関数名は、RTUモード、ASCIIモード共通です。
関数名 | 説明 |
---|---|
Open | シリアル通信ポートをオープンします。 |
Close | シリアル通信ポートをクローズします。 |
SetAddress | 通信を行うクライアントのアドレス(局番)を指定します。 |
ReadCoilStatus (01) | DO(Discrete Output)のON/OFF状態を読み込みます。 |
ReadInputStatus (02) | DI(Discrete Input)のON/OFF状態を読み込みます。 |
ReadHoldingRegister (03) | 保持レジスタの内容を読み込みます。 |
ReadInputRegister (04) | 入力レジスタの内容を読み込みます。 |
ForceSingleCoil (05)) | 1つのDO(Discrete Output)へ書き込みを行います。 |
PresetSingleRegister (06) | 1つの保持レジスタへ書き込みを行います。 |
ForceMultipleCoils (15)) | 連続したDO(Discrete Output)へ書き込みを行います。 |
PresetMultipleRegisters (16) | 連続した保持レジスタへ書き込みを行います。 |
SetWatchTime | PLCからの応答監視時間をセットします。 |
Version | 本DLLのバージョン情報を取得します。 |
コールバック関数 | 実行結果は、コールバック関数で取得します。 |
modbus通信におけるクライアントとの読み込み、書き込みデータは、16ビット整数の配列データで行われます。 modbus通信にて32ビット整数、文字列、実数が使用されている場合は、以下の数値変換関数にて相互変換を行うことが出来ます。
関数名 | 説明 |
---|---|
D2ToDW | 2つのワード値(16ビット整数)をダブルワード値(32ビット整数)に変換します。 |
DWToD2 | ダブルワード値(32ビット整数)を2つのワード値(16ビット整数)に変換します。 |
DarToStr | ワード配列(16ビット整数)による文字列を文字列(string)に変換します。PLC側での文字コードは、Shift_JISとなります。 |
StrToDar | 文字列(string)をワード配列(16ビット整数)による文字列に変換します。PLC側での文字コードは、Shift_JISとなります。 |
D2ToFloat | 2つのワード値(16ビット整数)を実数(単精度)に変換します。 |
FloatToD2 | 実数(単精度)を2つのワード値(16ビット整数)に変換します。 |
履歴
Ver.1.03 2022.03 数値変換関数追加
Ver.1.02 2021.10 64ビット版追加
Ver.1.01 2021.07 ASCIIモード追加
Ver.1.00 2016.06
本DLLは、Modbus/TCP通信のマスターとして動作します。(TCPクライアント)
インターフェース | イーサネットTCP/IP通信 |
対応.NET | .NET Framework4.5 32ビット、64ビット |
関数名 | 説明 |
---|---|
Connect | 指定された機器へModbus/TCPで接続します。 |
DisConnect | 接続を切断します。 |
setUnitID | ユニット識別子をセットします。 |
ReadCoilStatus (01) | DO(Discrete Output)のON/OFF状態を読み込みます。 |
ReadInputStatus (02) | DI(Discrete Input)のON/OFF状態を読み込みます。 |
ReadHoldingRegister (03) | 保持レジスタの内容を読み込みます。 |
ReadInputRegister (04) | 入力レジスタの内容を読み込みます。 |
ForceSingleCoil (05)) | 1つのDO(Discrete Output)へ書き込みを行います。 |
PresetSingleRegister (06) | 1つの保持レジスタへ書き込みを行います。 |
ForceMultipleCoils (15)) | 連続したDO(Discrete Output)へ書き込みを行います。 |
PresetMultipleRegisters (16) | 連続した保持レジスタへ書き込みを行います。 |
Version | 本DLLのバージョン情報を取得します。 |
コールバック関数 | 実行結果は、コールバック関数で取得します。 |
modbus通信におけるクライアントとの読み込み、書き込みデータは、16ビット整数の配列データで行われます。 modbus通信にて32ビット整数、文字列、実数が使用されている場合は、以下の数値変換関数にて相互変換を行うことが出来ます。
関数名 | 説明 |
---|---|
D2ToDW | 2つのワード値(16ビット整数)をダブルワード値(32ビット整数)に変換します。 |
DWToD2 | ダブルワード値(32ビット整数)を2つのワード値(16ビット整数)に変換します。 |
DarToStr | ワード配列(16ビット整数)による文字列を文字列(string)に変換します。PLC側での文字コードは、Shift_JISとなります。 |
StrToDar | 文字列(string)をワード配列(16ビット整数)による文字列に変換します。PLC側での文字コードは、Shift_JISとなります。 |
D2ToFloat | 2つのワード値(16ビット整数)を実数(単精度)に変換します。 |
FloatToD2 | 実数(単精度)を2つのワード値(16ビット整数)に変換します。 |
履歴
Ver.1.02 2022.03
Ver.1.01 2021.11
本DLL(Modbus.dll,modbus/TCP.dll)の実行には、.NET Framework4.5 が必要です。
内容
購入、問い合わせ等は下記のお問い合わせよりお願いします。