United Statesからアクセスのようです。言語設定をEnglishに切り替えますか?
Switch to English site
Skip to main content

PLCnextとはどんなもの? パート2:ハードウェアとソフトウェア

plc next front view

この記事では、2つの簡単な例を用いて、PLCnextのハードウェアとソフトウェアについて、もう少し詳しく説明してみます。

ハードウェア

前回の投稿では、PLCnext制御システム周辺のソフトウェアを調査しました。ここでは、前回の内容をもとに、PLCnextコントローラーをプログラムする方法を紹介します。

ここでの例では、AXL F 2152 PLCnextコントローラー (177-1391) AXL F BP SE4 Axioline Smart Elementsバックプレーン、4つの押しボタン、および0-10Vスライダーがすべてプレゼンテーションボード上に配置された、PLCnextスターターキット (205-5854) を使用します。スターターキットには、24Vプラグトップ電源も入っています。

初めてスターターキットを接続したとき、PLCは完全に空の状態です。実行するプログラムはなく、また、ネットワークに接続するためのデフォルトの設定も入っていません。この状態では、「RUN」ライトが緑色に点灯し、「D」ライトがオレンジ色に点灯、「BF-D」ライトが赤色に点滅します。

PLCを構成したり、プログラムしたりするには、ネットワークに接続する必要があります。デフォルトでは、PLCのIPアドレスは192.168.1.10です。これは、デバイスが異なるサブネット上にある場合でも、PLCnext Engineerソフトウェア内から変更できます。

ハードウェアのセットアップに関しては、これですべて完了です。ボードには、押しボタンがデジタル入力モジュールに接続され、さらに、0-10Vスライダーがアナログ0-10V入力モジュールに接続され、デジタル出力モジュールには、出力ステータス表示用のオンボードLEDが接続されています。

PLCnext Engineer入門

PLCnext Engineerは、PLCnextコントローラーを開発するためのIDE(統合開発環境)です。これは、Phoenix ContactのWebサイトから無料でダウンロードでき、ライセンスを購入することで、機能を追加することができます。

ダウンロード後、インストールは簡単に終わります。PLCnext Engineerを開くと、左側にいくつかのプロジェクトオプションが表示された、スタートページが表示されます。

PLCnext_Engineer_Start_Screen_ab09832c063e6d4825067dd109804682faa41868.jpg

今回は、入力が切り替えられたときにカウンターを増やし、カウンターが指定された値に達した場合に出力をオンにするといった、単純なラダーロジックプログラムを作成します。

まず初めに、「空のAXC F 2152 v00 / 2020.6.0プロジェクト」を選択します。これで、PLCnextスターターキットの使用に適した新しい空のプロジェクトが開きます。おなじみのプロジェクトビュー内に、左側には機器、プログラム、構成が、右側にラダーロジックブロックなどのプロジェクトコンポーネントが、さらに下部には、小さなエラーリストが表示されます。ここから、「Plant」の下の「Project」ドロップダウンをダブルクリックします。

plc next engineer software project settings screen

すると、プロジェクトのネットワーク設定、プロジェクトのバージョン情報の入力、デバイスの検出を行うためのウィンドウが開きます。まず、開始IPアドレスと終了IPアドレス、サブネットマスク、デフォルトゲートウェイなどのネットワーク設定を適切に行います。入力が終わったら、「Online Devices」タブに移動します。

plc next engineer software Setting the IP address

PLCnext Engineerがオンラインデバイスを検索する前に、適切なネットワークインターフェイスを選択する必要があります。正しいネットワークインターフェイスを選択し、「network interface」ドロップダウンボックスのすぐ右側にある「discover」ボタンをクリックします。PLCが見つかると、プロジェクトのデバイス設定を適用できるようになり、PLCがプロジェクトに追加され、デバイスの構成とプログラミングが可能になります。

plc next engineer software discoverng online devices

ここでは、デバイスのIPアドレスを、サブネットマスクとデフォルトゲートウェイとともに、ネットワークに適したものに変更しました。また、このウィンドウから、デバイスについているLEDの「点滅」を切り替えることができ、これによって、「RUN」および「FAIL」インジケータがオレンジ色に点滅し、適切なデバイスが選択されているかどうか簡単に確認できます。

デバイスがプロジェクトに割り当てられたら、「PLANT」の下の「axcf2152:AXC F 2152」リストをダブルクリックします。これにより、PLCの動作ステータスの確認、コントローラのデバッグモードへの設定、再起動などを実行するためのメインインターフェイスであるPLC「cockpit」のウィンドウが開きます。

「TCP / IP」ドロップダウンの右側にある「Connect」ボタンをクリックし、PLCに接続する必要があります。ここでは、ユーザー名とパスワードの入力を求められます。デフォルトの設定において、これは「admin」がユーザー名であり、パスワードはPLCの前面に印刷されています。

plc next engineer software device login

このウィンドウ内には、PLCランタイムに接続するオプションもあります。これにより、値をリアルタイムで監視したり、PLC自体で実行されているプログラムをデバッグしたりすることが可能です。他にも、WebベースのHMIの起動、PLCとのプログラムのアップロードとダウンロード、コントローラーの停止、再起動、出荷時設定へのリセットに関連する項目など、多数あります。

まず、コントローラーのI/Oモジュールを構成する必要があります。Axioline Smart Elementsを使用しているため、DO16/1はスロット1、DI16 /1はスロット2といったように、正しい順序で構成する必要があります。Smart Elementsキャリアモジュールのスロットには番号が付けられているため、モジュールをスロットに割り当てる際、迷わずに作業することが可能です。

plc next engineer software selecting I/O modules

ラダーロジックプログラムの作成

ここまででI / Oが正しく構成され、プログラムを作成できるようになりました。ここからは、「PLCnext」プラントオプションを拡張することから始め、次に「MainInstance:Main」を表示させます。右クリックして「Go to type」を選択すると、プログラミング言語を選択できるウィンドウが表示されます。ラダーロジックプログラムを作成したいので、「NOLD Code」を選びました。これにより、プログラムロジックを作成できる、空白のラダーロジックワークシートが開きます。これは、以前にラダーロジックを使用した経験をもつ人であれば、見たことがあるでしょう。

plc next engineer programming language selection

ボタンの入力を監視し、カウンターが目的の値に達すると出力をオンにするカウンタープログラムを、簡単に作成しました。

plc next programming in ladder logic

次に、不足している接点とコイルの名前の変数が作成され、適切なタイプと使用法が割り当てられました。ラダーロジックプログラムの2つの接点は「INポート」として定義され、また、コイルは「OUTポート」として定義され、適切なI / Oに接続されます。これは、プログラムのインスタンスを参照し、I / Oポートを接続することによって行われます。

plc next configuring the ports

完成したプログラムは、PLCの「cockpit」インターフェイスに戻って「Write project and start execution」ボタンをクリックするか、任意のウィンドウからF5キーを押すことにより、コンパイルしてPLCにダウンロードできます。プログラムがダウンロードされると、ソフトウェアは自動的にデバッグモードに入ります。このモードでは、値を監視したり、プログラムを中断するように、ブレークポイントを設定したりできます。

plc next setting the port variables

新しいプログラムがダウンロードされると、PLCは自動的にデバッグモードになります。これにより、デバッグモードが終了するまで、PLCnext Engineer内で編集されているプログラムが停止します。

C#関数ブロックの作成

次の例では、カウンター値が3の倍数のときに出力をオンにする単純なC#関数ブロックを作成しました。関数ブロックとは、PLCnextコントローラー用に、C#で作成できるプロジェクトです。

プログラムを作成するために、Visual Studioをインストールしました。(コミュニティエディションで十分です。) 次に、PLCnext C#開発ツール を、フェニックスコンタクトが提供するガイドに従ってインストールしました。すると、PLCnextファームウェアライブラリをプロジェクトテンプレートとして使用して、新しいプロジェクトがVisualStudioで作成できるようになりました。

visual studio start screen

適切な名前が付けられ、プロジェクトが作成されました。ソリューションエクスプローラーでプロジェクト名を右クリックし、「追加」、「新しいアイテム」の順に移動して、プロジェクトに新しい関数ブロックアイテムを作成しました。

visual studio create a new item

これにより、関数ブロックのテンプレートを含んだC#コードファイルが作成されます。ここから、カウント機能を実行するコードを記述しました。PLC環境ではC#の実装が制限されているため、デスクトップC#開発環境で通常使用できるすべての機能を利用できるわけではないことに注意してください。これは、PLCnext Info Centreのドキュメントや、VisualStudioソリューションエクスプローラーの「Documentation」フォルダーに記載されています。

visual studio code development screen

次に、プロジェクトがビルドされ、PLCnext Engineerがライブラリとして認識するファイルが生成されます。これはユーザーライブラリとして追加可能です。これを行うには、「コンポーネント」ペインの下の「ライブラリ」タブを展開し、Visual Studioの出力フォルダに移動します。インポートすると、ライブラリコンポーネントをラダーロジックダイアグラムにドロップできるようになります。

plcnext custom function block

さまざまなプログラミング言語に関する情報は、PLCnext Info Centreに掲載されています。また、PLCnext コミュニティにあるフォーラムも非常に役立つでしょう。

動作の様子

以下のビデオは、カウンターのプログラムを実際に動作させたものです。ボタンを3回押すたびに、D1出力LEDが点灯します。これは、カウントが3の倍数であることを示しています。

まとめ

この記事では、PLCnextにおける、利用可能なさまざまなハードウェアと、Phoenix Contactが提供するソフトウェア環境の多様性をもちあわせた、ハードウェアエコシステムとソフトウェアエコシステムを簡単に紹介しました。

Engineer of mechanical and electronic things by day, and a designer of rather amusing, rather terrible electric "vehicles" by night.