Allen-Bradleyを使ったPLCプロジェクトの作成
Epson RC+ 8.0ユーザーには、Allen-Bradley® Logix Designerファイルが提供されます。このファイルは、Epson RC+ v8.0.0以上のインストーラーによって、ユーザーのPCにインストールされ、ユーザーPCの¥EpsonRC80¥Fieldbus¥FunctionBlockLibraries¥Allen-Bradleyに保存されます。
この章では例として、ファンクションブロックを使用してロボットモーターをオンオフするための簡単なプロジェクトを作成する方法を説明します。
新しいプロジェクトを作成する場合は、必ずオフラインモードになっていることを確認し、以下の手順を実行します。
Studio 5000®ソフトウェアを起動し、[New Project]をクリックします。[New Project]ダイアログが表示されます。
該当するコントローラーファミリーとPLCコントローラーモデル番号を選択します。[Name]にプロジェクト名を入力し、[Next]をクリックします。
以下のダイアログが表示されます。すべての設定を初期設定のままにして、[Finish]をクリックします。
これで新しい空のPLCプロジェクトが作成されました。
次に、ロボットコントローラーとの通信用のEthernetモジュールを追加して設定する必要があります。これを行うには、EpsonEtherNetIP.L5Xファイルをインポートする方法と手動で設定を行う方法の2通りの方法があります。
方法1: Ethernet設定のインポート
[A1, Ethernet]を右クリックして、[Import Module]をクリックします。
¥EpsonRC80¥Fieldbus¥FunctionBlockLibraries¥Allen-Bradleyに移動し、EpsonEtherNetIP.L5Xファイルを選択します。インポートが終了したら、モジュールを右クリックして、[Properties]を選択します。デフォルトのIPアドレスをロボットコントローラーのEtherNetIPスレーブ基板のアドレスに変更します。
方法2: 手動によるEthernetの設定
[A1, Ethernet]を右クリックして、[New Module]をクリックします。
検索フィールドに"generic"と入力します。カタログ番号欄の"ETHERNET MODULE"を選択して、[Create]をクリックします。
以下のとおり値を入力し、ロボットコントローラーのEtherNet/IPスレーブのIPアドレスを使用して、[OK]をクリックします。
次のウィンドウで[OK]をクリックします。
この段階でプロジェクトを保存しておくことをお勧めします。Ethernetモジュールを新規作成する場合は、接続パラメーターの値が使用しているロボットコントローラーの値と一致するようにしてください。
新しいプロジェクトにファンクションブロックをインポート
次に、新しいプロジェクト内にファンクションブロックをインポートします。この例では、すべてのファンクションブロックをインポートします。個々のファンクションブロックをインポートすることも可能です。
インポートを実行するには、[Controller Organizer]の[Add-On Instructions]フォルダーを右クリックして、[Import Add-On Instruction]をクリックします。
¥EpsonRC80¥Fieldbus¥FunctionBlockLibraries¥Allen-Bradleyに移動し、 "SPEL_All.L5X"ファイルを選択して、[Open]をクリックします。以下のダイアログが表示されます。エラーがないことを確認し、[OK]をクリックします。
プロジェクト内のすべてのファンクションブロックが一覧に表示されます。
これで、プログラムの作成が可能になりました。
[MainProgram]を展開して[MainRoutine]をダブルクリックします。
[Favorites]タブをクリックし、rungを5段追加します。rung0,2,4を選択した状態で、"Examine On"と"Output Energize"をクリックします。
[Add-On]タブをクリックします。
- rung1を選択した状態で、"SPEL_Init"をクリックします。
- rung3を選択した状態で、"SPEL_MotorOn"をクリックします。
- rung5を選択した状態で、"SPEL_MotorOff"をクリックします。
rung0で、"Examine On"の[?]をダブルクリックし、変数名を入力します。ここでは"InitSwitch"と入力します。
上記と同じ手順を実行し、rung0で"Output Energize"の[?]をダブルクリックして、"InitCoil"と入力します。
以下に示すように、[InitSwitch]を右クリックし、[New "InitSwitch"]を選択して、[Create]をクリックします。
"InitSwitch"を作成したのと同じ方法で、新しい変数"InitCoil"を作成します。
rung2とrung4についても手順6を実行し、新しい変数を作成します。rung2には"MotorOnSwitch"と"MotorOnCoil"を、rung4には"MotorOffSwitch"と"MotorOffCoil"を変数名として入力します。
次に、SPEL_Init ファンクションブロック入力を設定します。
"SPEL_Init"ブロック内の[SPE_Init]の右側にある[?]をクリックし、"Init"と入力します。
[Init]を右クリックし、[New "Init"]を選択して、[Create]をクリックします。
これで、"SPEL_Init" ファンクションブロックのすべての内部変数を保持する構造体の名前が"Init"になります。
[Start]の横にある[?]をクリックし、"InitCoil"と入力します。新しい変数の作成は不要です。
[ExtInputs]の横にある[?]をクリックし、"Ep"と入力します。[ExtInputs]が自動設定されます。[Enter]を押します。
同じ手順を[ExtOutputs]でも繰り返します。これで"SPEL_Init"の設定は完了です。rungの線が赤色から青色に変わります。
rung3とrung5についても手順11-1~11-2を行います。rung3には"MotorOn"を、rung5には"MotorOff"を選択します。
rung3とrung5についても手順11-3を行います。rung3には"MotorOnCoil"を、rung5には"MotorOffCoil"を使用します。
これでプログラムは完成です。プロジェクトを保存します。
[Path]の右側にある下向き矢印をクリックして、コントローラーとの通信経路を選択します。
この例では、USBを使ってPCをPLCコントローラーに接続しています。
"USB"をダブルクリックしてウィンドウを閉じ、次に表示されるウィンドウで[Download]をクリックしてプログラムをPLCコントローラーに転送します。
以下に示すように、次に表示されるウィンドウでPLCを"Remote Run"モードに変更するように促された場合は、[Yes]をクリックします。
PLCが実行モードになり、プログラムが実行可能な状態になります。