シーメンス#Modbus Clientを使ってみよう

ModbusTCP MasterはCodesysから立ち上げます。詳しくこちらへ。

Codesys#ModbusTCP/IP Masterを使う

では、ここからはMODBUSTCPのClientをTIA(シーメンス)から実装します。やり方はServerとあまり変わりません。

注意したいのはMB_MODE・MB_DATA_ADDR・MB_DATA_PTRです。

MB_MODEはServerとやり取りしたいRegisterの種類によって値を変換します。

下図はOnline Helpから一部切り落としたものですが、
MB_MODE=103、MB_DATA_ADDR=0、MB_DATA_LEN=10だと、
Holding Register0から10を読み取るのイメージになります。

そしてMB_DATA_PRTはVarient変数で、つまりなんでもいいと近いですね。

アプリケーションによりますが、私はより配列のByteを入れます。

CONNECTはMasterを構築すると同じく、IPなどの設定になります。

ここはあまり詳しく説明しません。

こちらのコードはMODEなどを設定します。

そしてMB_CLIENTを呼び出します。

REQを立つと、繋がっていればDONEがONになり、COUNTが++されます。

Codesys側になにかデータを書き込みます。

そしてこっちらはDeserialize関数を使ってデータ整えた形に変換します。

シーメンス#Serialize,Deserialize

ですが、Byteの配列を見たら、Codesys側と逆になっています。SmallとBigと違いですね。

ここでCodesysをSwapします。

http://www.plctalk.net/qanda/showthread.php?t=97800

うん、データが大丈夫そうですね。

はーい、お疲れ様です。

Footer_Basic

Please Support some devices for my blog

Amazon Gift List

Find ME

Twitter:@3threes2
Email:soup01threes*gmail.com (* to @)
YoutubeChannel:https://www.youtube.com/channel/UCQ3CHGAIXZAbeOC_9mjQiWQ

シェアする

  • このエントリーをはてなブックマークに追加

フォローする