catch-img

IoTゲートウェイとPLCを連携!PLCの仕組みと共に解説

生産性の向上や突発的なドカ停の防止、また人員不足を補う手段として、IoTを用いたDX推進やクラウド対応を迫られているご担当者の方も多いと思われます。
そんな中、以下のようなお困りごとは無いでしょうか?

・拡張ユニット等のハードウェアを取り付けることや、ラダープログラムの変更を行うことができない
・機械のデータ収集を行いたいが、納品先のお客様ネットワーク環境を使用することができないため、データの取得が行えない
・PLCの設計は外注しているため、社内でPLCの仕組みがわかる担当者がおらず対応ができない

弊社のIoTゲートウェイ【CONEXIOBlackBear】を使用すれば、簡単な手順でこれらの課題を解決することが出来ます。

今回は、【CONEXIOBlackBear】を活用したPLCとIoTゲートウェイの連携についてご紹介します。

おすすめ関連記事

IoT活用で設備の遠隔監視を実現しよう!!
IoTゲートウェイとは?役割や事例など押さえるべきポイントを徹底解説
SmartLinkManagerのカメラ機能を試してみる

CONEXIOBlackBearとは?

【CONEXIOBlackBear】はLinuxを搭載したIoTゲートウェイです。
単体でSIMを用いたLTE接続が行える為、ネットワーク環境を構築できない場所でもインターネットに接続することができます。

またLANやWi-Fi, Bluetooth, GPS, DIDOやシリアルポート,CANなど多彩なインターフェースを持っているのが特徴です。

▼【CONEXIOBlackBear】の詳細はコチラ

PLCとは

PLCは、Programmable Logic Controllerの略称で、工場や建機などの産業用機械や、遊園地のアトラクションなどの制御を行っている装置です。

PLCには入力部と出力部の接点があり、入力部から受けた信号を契機に出力する信号をPLC内のラダープログラムで制御しています。

今回は、PLCと【CONEXIOBlackBear】の連携検証を実施するために次の環境を構築しました。

PLCとCONEXIOBlackBearの連携検証

PLC上部のXから始まる接点が入力部、下部のYから始まる接点が出力部になります。
こちらの構成ではONスイッチを押した後、ONを示すLEDが点灯します。
その後、近接センサーを通過した検出物をカウントし、遠地にあるディスプレイに表示するという内容になっていります。

各ハードウェアの説明

・近接センサー
磁界によりセンサーに金属が近づくと出力配線に接続された接点(X2, X3)が有効となります。この構成では近接センサーを2つ用いている為、どの順でセンサーが反応したかで検出物体の左右どちらへ移動したかがわかります。

・ON/OFFスイッチ
押すと接点(X0, X1)が有効となるスイッチです。
モーメンタリスイッチ(押している間だけONとなるスイッチ)を使用している為、指を放しても接点の有効状態が維持されるようにPLC内のプログラムを作成します。

・LED
PLCの出力接点(Y0, Y1)のコントロールにより、近接センサー無効時は赤LEDが点灯し、有効時は緑LEDが点灯します。

・CONEXIOBlackBear
PLCとWi-Fiで接続され遠隔でLEDの状態と検出物カウンタを監視します。
PLCからのデータ取得には無線LAN(ModbusTCP)を使用し、ディスプレイへの出力はシリアル通信(ModbusRTU)を使用している為、プロトコル変換を行うゲートウェイとしての役目を持たせています。

・HMI
PLCの状態を表示するディスプレイです。【CONEXIOBlackBear】のシリアルポートに接続されています。

機能は以下の通りとなります。

  1. 初期状態:機能停止を示す赤LEDが点灯している状態。
    機能が停止状態の為、この状態で近接センサーに検出物体を近づけても反応しません。
  2. ONスイッチ押す:機能の有効化を示す緑LEDが点灯し、停止状態を示す赤LEDは消灯します。
  3. 近接センサーAへ検出物体を近づける。
    センサーAが物体を検出しPLC内部のカウンタAがカウントアップします。
  4. 近接センサーBへ検出物体を近づけます。
  5. センサーBが物体を検出しPLC内部のカウンタBがカウントアップします。
  6. 機能3 ,4の際にBlackbearはPLC内部のカウンタを読み取り、シリアルポートで接続されたHMIに値を表示します。
  7. OFFスイッチを押す:機能が無効化し、カウンタの値を0にする。
    機能の停止を示す赤LEDが点灯し、有効化を示す緑LEDが消灯します。

ラダープログラムとは

両端に縦の母線があり、命令語を付与した横線で母線を結ぶことで動作します。
母線を結ぶ見た目が梯子に似ていることからラダーと呼ばれています。

PLCに先ほどの機能を持たせるプログラムは上記の図になります。
このプログラムで使用されている命令語は以下のとおりです。

①A接点
対象の接点が有効になった際にONとなる接点です。
1行目のX0にはスイッチが接続されているため、押された時にONとなります。

②B接点
A接点とは逆に、無効になった際にONとなる接点です。
1行目のX1にはスイッチが接続されているため、押していない間はONとなっており、押された時にはOFFとなります。

③コイル
出力側の接点を示しています。
1行目のY0には緑LEDが接続されているため、X0に接続されたスイッチが押され、母線からの信号が有効になった際に点灯します。

④立下がり接点
対象の接点が無効になった瞬間のみを検知してONとなる接点です。
4行目のX2には近接センサーが接続されています。近接センサーはON状態から、検出物体を検知した際にはOFFとなるセンサーを使用しているため、立下がり接点を使用しています。

⑤INC
母線からの信号が有効になった際にデータレジスタの値を+1する命令です。
4行目では近接センサーが物体を検出して母線からの信号が有効になった際にD100のデータレジスタの値をカウントアップしています。

⑥MOV
母線からの信号が有効になった際にデータレジスタの値に別の値を転送する命令です。
6-7行目は接点X1が押された際に近接センサーの値を保持しているデータレジスタD100とD101を定数0の値で初期化しています。

プログラムが動作する流れは以下の通りです。

・ 1-2行目
接点X0に接続されたONスイッチの有効化を検知しY0を有効にする。
その際にONスイッチから指を話してもON状態が維持されるように自己保持回路を有効にする。

・3行目
接点Y0の無効化を検知しY1を有効化する。

・ 4行目
接点Y0が有効且つ、X3に接続された近接センサーAからX4に接続された近接センサーBの順に有効となった場合はデータレジスタD100の値を+1にする。

・ 5行目
接点Y0が有効且つ、X4に接続された近接センサーBからX3に接続された近接センサーAの順に有効となった場合はデータレジスタD101の値を+1にする。

・ 6-7行目
接点X1に接続されたOFFスイッチの有効化を検知しデータレジスタD100とD101の値を0にする。

初期状態

出力接点Y1が有効となっており接続されている赤LEDが点灯しています。

ONスイッチ有効化

X0に接続されたONスイッチを押すとY0が有効化し、接続された緑LEDが点灯します。
コイルY0が有効となると同時に3行目のB接点Y0が無効となり、赤LEDが接続されているY1が無効となり消灯します。

X0に接続されているスイッチは押している間だけ有効になるスイッチのため、指を離すと無効になってしまいますが、2行目のY0自己保持回路が有効になるため、Y0の有効化は維持されます。

近接センサーによる物体の検出

センサーが反応し、データレジスタがカウントアップしている様子を確認できます。
下記動画もご参考ください。

OFFスイッチ有効化

X1に接続されているOFFスイッチを押すと1行目のB接点X1が無効化され、自己保持回路を含むコイルY0を無効化します。この際にY0が接続されている緑LEDは消灯します。
3行目のB接点Y0は有効化されてåコイルY1に接続されている赤LEDは点灯します。

また、6-7行目のMOV命令語が有効化され、データレジスタの値が初期化されて0となります。

ここまでスイッチ, LED, センサーをPLCを連動させる仕組みについて説明いたしました。
次にこれらのPLCの状態を【CONEXIOBlackBear】にて取得する方法を記載いたします。

【CONEXIOBlackBear】はLinuxが搭載されたゲートウェイですので、PLCのデータを取得するにはPython等のプログラミング言語を用いてアプリケーションを開発するなど様々な方法がありますが、開発不要でグラフィカルなWebUIを備えたミドルウェア「SmartLinkManager」を使いたいと思います。

SmartLinkManagerとは

SmartLinkManagerとは、【CONEXIOBlackBear】へPLCやセンサーなどから取得し、クラウドへ送信データを送信するだけでなく、【CONEXIOBlackBear】内に保存して分析やファイル出力も行えるので別途開発したアプリケーションとの連携も行えるソフトウェアです。

このSmartLinkManagerを用いて今回はPLCからデータを取得し、取得したデータをHMIへ出力してみました。
設定内容は以下の通りです。

・データの取得元設定に機種(通信プロトコル)とPLCのIPアドレス/ポート番号を指定する。

・取得データにセンサーの検知数を保持しているデータレジスタ(近接センサーA:D100, 近接センサーB:D101)とLEDを接続しているコイルのレジスタアドレス(緑LED:Y0, 赤LED:Y1)を設定する。

・ データの書込み先設定に機種(通信プロトコル)とHMIの接続インターフェイス, スレーブIDを指定する。

・書込みデータにPLCから取得したセンサーの検知数とコイルの値をHMIの各レジスタアドレスに設定する。

HMI設定

HMIの画面は上記の通りアドレスが設定されています。
各アドレスにはオフセット値が指定されており、コイルはオフセット00001の為、SmartLinkManagerで指定するアドレスは緑LED:0x0, 赤LED:0x1となり、保持レジスタはオフセット値40001の為、SmartLinkManagerで指定するアドレスは近接センサーA:0x0, 近接センサーB:0x1となります。

実際に動かすと以下のように動作します。

まとめ

いかがでしたでしょうか?
今回の実験のように、【CONEXIOBlackBear】を活用することでPLCと接続しデータ連携をするだけではなく、データをクラウド連携したり、デバイスやセンサーを接続することで様々な応用が効きます。

・ 【CONEXIOBlackBear】を制御盤内へ設置しLTEにてクラウドへ送信する
┗お客様からの問い合わせ時にクラウド上のデータを確認し、VPN等でBlackbearへ遠隔アクセスし設定を見直す。
┗取得データに閾値を設けて、異常値を検知した際にメールやLINEメッセージ等による発報が行える。

・ PLCへ無線ルーターを取り付け【CONEXIOBlackBear】はオペレータ室に設置する
┗【CONEXIOBlackBear】にHMIやパトライト等の表示器を繋げば、PCがなくても遠地から状態を調べる。

ぜひ皆さんも、様々な場所に設置されたPLCやデバイスからデータを取得してみてください。

おすすめ関連記事

IoT活用で設備の遠隔監視を実現しよう!!
IoTゲートウェイとは?役割や事例など押さえるべきポイントを徹底解説
SmartLinkManagerのカメラ機能を試してみる

▼IoTゲートウェイ【CONEXIOBlackBear】の詳細はコチラ

Mr.Bear
Mr.Bear
コネクシオのIoTシステム開発課に所属し、10年以上にわたりIoTシステムの開発に携わってきた有識者。積み上げてきた知見を駆使し、お客様のご要望に合わせたシステムの提案を行います。 CONEXIOBlackBearを使って色々な実証実験を行っています。
コネクシオのソリューションが5分でわかる!
工業・農業・オフィス・車両・インフラなど、
各分野から抜粋した代表例をご紹介
ご質問やご要望はこちらから
お気軽にお問い合わせください

お役立ち資料
最新記事
サイト内検索