AXC F 2152を使用したコントローラ冗長 – ASRプロジェクト詳細編

記事「AXC F 2152を使用したコントローラ冗長 – Applicative System Redundancy」で作成したプロジェクトの詳細について説明します。

Applicative System Redundancy(ASR) 、使用機器、構成等の概要については記事「AXC F 2152を使用したコントローラ冗長 – Applicative System Redundancy」をご参照下さい。

コントローラファームウェア・PLCnext Engneerバージョン

AXC F 2152のファームウェアバージョンは2023.0.0 LTS、PLCnext Engineerはバージョン2023.0.1を使用しています。

2023年6月末現在のPLCnext Engineer LTSバージョンの最新は2023.0.3です。
本プロジェクトの運用ももちろん可能です。

PLCnext Storeライブラリ「ASR AXC F 2152」

PLCnext Storeのライブラリ「ASR AXC F 2152」に同梱されているサンプルプロジェクトをベースに今回用意した機材に合わせる形でプロジェクトの編集を行います。

ライブラリのダウンロードとサンプルプロジェクトのロード

STEP
ライブラリのダウンロード

PLCnext Storeよりライブラリ「ASR AXC F 2152」をダウンロードします。

PLCnext Store LIBRARY ASR AXC F 2152

PLCnext Storeのリンク先が変更されていた事に伴い修正を行いました(2024.03)

Documents->Englishフォルダ内にマニュアル(AN_ASR2152_rev06.pdf)
Filesフォルダにライブラリ
Files -> Exampleフォルダにサンプルプロジェクト(ASR2152_16_HF1_Demo__2023-01-18__16-23.pcweax)があります。

STEP
サンプルプロジェクトのロード

サンプルプロジェクト「ASR2152_16_HF1_Demo__2023-01-18__16-23.pcweax」をPLCnext Engineerで開きます。

サンプルプロジェクトをロードした際に、CONPONENTSのLiblariesに×印が付くケースがあります。この場合はライブラリの不整合が起きている可能性があるのでライブラリ「PLCnext_ASR2152_4_HF1」のリプレイスもしくは削除の後再度ライブラリの追加(Add Library)を行って下さい

新規にプロジェクト作成を行う場合にはライブラリのロードを行いますが、今回のようにライブラリ組み込み済みの圧縮プロジェクトを使用する場合には個別にライブラリのロードを行っていただく必要はありません。

冗長設定の確認

既に設定されているコントローラ設定を確認します。

ネットワーク設定や名前は任意の値に設定可能です。ただし、2台のコントローラは同一のネットワークである必要があります。

Redundancy typeは変更しないで下さい

プロジェクト構成の変更

今回使用しているコントローラおよびIO機器は以下の通りです。

サンプルプロジェクトと今回用意したハードウェア構成は異なっているので、その部分を修正していきます。

STEP
不要なハードウェアの削除

PLANT(プロジェクトツリー)内の、今回使用しないバスカプラ及びDIOモジュールを削除します。

STEP
使用するハードウェアの追加

IOモジュール AXL F DI8/1 DO8/1を追加します。

プログラム修正(リダンダンシー動作部)

まずは、基本動作に関わる部分のプログラムを修正します。サンプルプロジェクトには
・MainRedundancy
・MainApplication
・MainSystem
・Simulation
というプログラムが存在します。

STEP
MainRedundancy

arrAR_DevListに2台目のバスカプラ’bk2’をセットする部分を削除します。

Signal1を作成する部分のBK2ステータスをTRUEに置き換えます

ANDを取っ払ってTONのINに直結しても良いのですが、念のためANDを残しています

Signal2を作成する部分のBK2ステータスとORを削除します。

ORは残しておくと都合が悪いので残しません

シート右上に存在するローカルIOへの出力部は削除します。

STEP
MainApplication

Application program先頭の3つのブロックは不要なので削除します。

サンプルプロジェクトでは以下のような形でリモートIOに運転状態を表示していましたが、この部分を作り替えます。


1st PLCがプライマリとして運転中は、PROFINETバスカプラに接続されている1台目のIOモジュール出力左列の上位3ビットが点灯。最下位ビットはデータ同期が取れている場合に点灯します。


2nd PLCがプライマリとして運転中は、同じIOモジュール出力右側の上位3ビットが点灯。最下位ビットはデータ同期が取れている場合に点灯します。


2台目のIOモジュール出力最下位の2ビットは常時点灯させます。

STEP
MainSystem

機器やネットワークの構成に合わせてプログラムを修正します。

2台目のPROFINETバスカプラに関わる部分を削除します。

BK2だけでなくMRPリングポートも併せて修正します。

Line Status部分も修正します

STEP
不要なプログラム及びプログラムインスタンスの削除

使用しないプログラム(MainSimValues)及びプログラムインスタンスを削除します。

プログラム追加(LED表示部)

PROFINETバスカプラに接続されている2台目のIOモジュール出力上側6ビットを使い、LED点灯位置を回転させるプログラムを作成します。

STEP
プログラム作成

新規にプログラムを追加します。ここではST言語を使用します。

以下がプログラムです。

STEP
タスクの作成と割り当て

新規にタスクを作成しプログラムを割り当てます。

このタスクの動作周期は1000mSec(1秒)なので、このプログラムによるLEDの動作は1秒ごととなります。

HMI画面の作成

本プロジェクトではこのようなHMI画面を作成しており、2台のコントローラの運転状態やデータ同期、ネットワークの接続状況がWeb画面から確認出来るようになっています。この画面作成についても説明します。

STEP
コントローラの運転状況

xPrimaryがTRUEになっている場合は、このコントローラがプライマリコントローラとして制御を行っている事を示しています。

Web画面

DO出力に直接HMI Tagを割り付ける事も可能ですが、念のため用意した変数「out_1stPrimary」にコピーします①。その変数「out_1stPrimary」にHMI Tagを追加した上でPLCnext Engineer HMIエディタ画面にセットしたパーツ(画像)②にVisibility ③というDynamicを付与し、そのValiableに先程の変数「out_1stPrimary」をセット。Hide whenに「False」をセットします。この場合、変数「out_1stPrimary」が「False」になった時に②のパーツが消える、という挙動になります。

HMI編集画面

HMI側からアクセスを行う変数には、HMI Tagを追加する必要があります。HMI Tagを追加する事で、HMIエディタ画面のパーツからその変数を選択する事が可能になります。

②のパーツの下にはxBackup側がTRUEとなったパーツ⑤が配置されているので、out_1stPrimaryがFalseになるとこの画像が表示される事になります。このパーツ⑤にDynamicはありません。

PLCnext EngineerのHMI画面用に任意の画像を使用する場合は、COMPONENTSのHMI欄でAdd HMI Imagesという操作を行います。記事「IEC61508対応安全関連部の状態を IO-Link&HTML5で可視化」内で簡単ではありますが動画を交えて紹介させていただいていますのでご参照下さい。

STEP
データ同期

xDataSyncOKがFALSEの場合、2台のコントローラ間のデータ同期が取れていない事を示しています。

先程同様パーツに対してDynamicを付与する事で、画面上に同期状態を表現します。ここで参照している変数「xDataSyncOK」は元々プロジェクトに存在しているものを使用しています。

STEP
ネットワーク接続状況

2台目のコントローラと右側スイッチ間に「!」マークがありますが、これはこの間での通信に障害が発生している事を示しています。

ここでもパーツに対してDynamicを付与する事で、画面上にLine statusを表現します。

ここで参照する変数は、先程編集したプログラムMainSystem内Line statusのwLineStatusです。

プロジェクトのダウンロード

PLCnext Engineerを使用しているPCをコントローラに接続し、作成したプロジェクトをコントローラにダウンロードします。今回のシステムでは接続するコントローラが2台存在しますので、接続にあたってコントローラの選択を行います。

TCP/IPが1台目のPLC、TCP/IP Backupが2台目のPLCです。

記事「AXC F 2152を使用したコントローラ冗長 – Applicative System Redundancy」でも触れましたが、接続先コントローラを切り替えた場合、プロジェクトのリビルドを必ず行う必要があります。リビルド後のダウンロードは通常の場合と同様に行っていただけます。

ASRデモシステム用プロジェクト

今回のデモ璣用に修正・作成したプロジェクトファイルは以下のリンクよりダウンロード可能です。

本記事で公開しているプロジェクトはサンプルであるため、本来考慮すべき内容の欠落やバグが含まれている可能性があります。使用の際はご注意下さい。

以上です。

  • URLをコピーしました!