デモの構成
本記事以下数回に分けて、EPCを使ったエッジコンピューティングのデモシステム実装例をご紹介します
EPC1台でパンチングマシンの制御と、情報を集約してAWSに伝えるエッジ処理の両方を行っています
制御にはラダー言語とST言語、データ処理ではNode-RED、データ収集でInfluxDB、データ表示でChronografを使用し、最終的にはAWS(Amazon Web Services)を介してSlackにメッセージを送る形で情報をユーザーに伝えます
画面左上:FischerTechnikパンチングマシーン
画面左下:Slackコンソール
画面右 :chronografコンソール
動作回数が100回に達した際に、Slackへのメッセージ発出を行います
デモシステムの全体の処理の流れは次の通りです
PLCnextのタスクのラダー言語でFischerTechnikパンチングマシーンを制御
マシン制御を行うと同時に、モータやセンサの状態をOPC-UAデータとして登録
Node-REDでパンチングマシンのセンサ情報等をOPC-UAを使ってPLCnextから取得し時系列データベース(InfluxDB)に格納
データベースに格納されているデータをchronografで時系列グラフ表示
3.制御データからの情報抽出とユーザーへの通知
Node-REDでデータベースに格納されたデータを元に情報抽出し、クラウド(AWS)に送信
クラウド(AWS)で情報を遠隔端末(Slack)に通知
今回は「1.FischerTechnikパンチングマシーン制御」について説明します
FischerTechnikパンチングマシーン制御
PLC部分の設定とプログラミングには、PLCnext Engineerを使用します
ワークが入庫位置(光電センサS)にある状態で工程開始スイッチを押す事で、動作を開始します
ワークをプレス在荷位置に移動します(コンベア前進)
ワークがプレス在荷位置(光電センサP)に到着したらコンベアを停止し、パンチング処理を行います
パンチング動作終了後、ワークを入庫位置に戻します(コンベア後退)
ワークが入庫位置(光電センサS)に到着したらコンベアを停止します
これがFischerTechnikパンチングマシーンの動作です
FischerTechnikパンチングマシーンの動作プログラムにはラダー言語を使用しています
プログラムで使用する変数の定義はプログラム上もしくは変数管理画面で行います
このラダープログラムで、先程御説明した一連の制御を行っています
状態管理にはST(ストラクチャードテキスト)言語を使用しています
このプログラムでは、動作回数のカウントやデータベース挿入用の情報作成を行っています
必要な変数にOPC設定を行います
この設定を行う事で、OPC-UAサーバを介してPLC外部のプロセスとデータ交換を行うことが可能になります
OPC-UAを使用する際には、PLANTの「OPC UA」を選択し、設定を行う必要があります
動作タスクを定義し、各プログラムをタスクに割り当てます
今回のプロジェクトでは、各プログラムを3mSec周期のタスクに割り当てています
作成したプロジェクトをEPCにダウンロードします
ダウンロード完了後、自動的にプロジェクトが実行されます
オンラインデバッグも可能です
以上です
次回は「2.制御データの時系列データ収集と可視化」を説明します