Codesys#ModbusTCP/IP Masterを使う

こちらは今回の構成になります。

RaspberryがModbus TCP/IPのMasterになり、S71200_Station1とS7_Station2がサーバー立てれアクセスされます。S71200は使うのはMB_SERVER(FB1085)になります。

Raspberry側

まずCodesysで新規プロジェクト作り、Deviceを右クリック>Add Device

Ethernet Adapter>Add Deviceします。

Ethernet>Add Device

Modbus>Modbus TCP Master>Modbus TCP Masterを選んで、Add Deviceします。

次は追加されたModbusTCP Masterのところに右クリックし、Add Deviceします。

まずS71200_Station1を作成します。

Modbus>Modbus TCP Slave>Modbus TCP Slaveを選び、Add Devicesします。

もちろん、自分自身のEthernetのInterface設定忘れずに。

次はS71200_Station1を設定します。Generalをクリックし、Modbus TCPでS7-1200(Slave)側のIPと使用するPortを入力。

次はModbus Slave ChannelのTabをクリックします。Add Channelを。

Name:Channelの名前なので適当でOKです。

Access TypeはS71200_Station1は読むだけなのでFunction Code3にします。

Offset は0x0000で、OKを。

そしてS71200_Station2も同じく設定します。

S71200_Station2は読み書き両方もやりますのでFunction Code 23します。

注意するのはOFFSETは16進数です。16進数です。16進数です。

大事なことなので三回言います。

なのでOffsetは10なら0x000Aを入れないとだめです。

TIA

詳細はここに書いています。

Siemens#Modbus TCP serverとして使う

S712002つを追加します。

それぞれのCPUの中にdbConfigを追加します。

dbMB_HOLD_REGも入れます。

Modbusアドレスの分け方

そしてそれぞれのOB1の中に以下のプログラムを追加します。

最後はS7-1200とCodesys両方もダウンロードしてください。

テスト

Raspberryが2つのModbus TCP Slaveが認識できる場合、Modbus_TCP_Master>ModbusTCP Master IEC Objects>uiConnectedSlavesは接続してるSlaveが見えています。2なら2つのS7-1200も接続してる状態になります。

それぞれのSlave>StatusでRequest CounterとError Counterがあります。もしエラー発生してる場合はこのError Counterが加算されいます。

結果はこうになります:

はい、お疲れ様ですー

こちらはSample Codeです。

https://github.com/chwAmu/Codesys/tree/master/ModbusTCPIP/Master

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

シェアする

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

フォローする

コメント

  1. 藤澤博文 より:

    CODESYS IN Raspberrypi1とPYTHON IN Raspberrypi2でCODESYSとpythonでデータのやり取りをしたいと思って
    いた所にこの記事を発見して大変役立ちそうに感じました。
    記事ではクライアントがシーメンスPLCですが私はラズパイ上のパイソンです。

    (わたしは計量器をPLC(キーエンス)で製造していますがRaspbeerypiでのPLC化に興味を持っています。
    なによりの魅力は価格が安いという事です。)

    月曜日から実際に実機で試したたいと考えています。その時にいろいろ質問が出てくると思うのですがまたメールしてもいいでしょうか。

    • gomamenotes より:

      お世話になっております。
      どうぞ、いろんなことを一緒に考えましょう。
      返事をお待ちしております。