B&R Automation StudioのTutorial第5話です。今回は貴重なチャンスがあり、実機を触ることができますのでB&RのAutomation StudioでHardware Configurationの構築から簡単なプログラムの作りを簡単に説明します。
さ、始めよう!
Reference Link
http://soup01.com/ja/category/br/
Implementation
まずHardware Configurationの構築から始めましょう。
Configuration
今回はX20CP1586実機を使用していますので、新規プロジェクトを作成するときはFilter 欄にCP1586を入力し、X20CP1586を選びましょう。
Done!新しいプロジェクトに使用するハードウェアはX20CP1586になりました。
Add Slot X20DI6371
今回の実機では3つのSlotがインストールされ、プロジェクトに実機の構成に合わせて設定指定してきます。
Slot1ではX20DI6371デジタル入力なので、Toolboxから6371を検索し、X20DI6371をCPUの隣に追加しましょう。
該当するモジュールが追加できる場合、Slotの隣に+という緑のICONが表示されています。
下図のような操作になります。
Add Slot2 X20DO6322
Slot2にはX20DO6322デジタル出力がインストールされています。
Toolboxから6322を検索し、X20DO6322を追加しましょう。
Add Slot3 X20AI2222
Slot3にはX20AI2222アナログ入力がインストールされています。
Toolboxから2222を検索し、X20AI2222を追加しましょう。
Result
Done!
Build
Project>Build Configurationで一回プロジェクトをコンパイルしましょう。
Output Resultでエラーがないことを再確認しましょう。
IP Setting
今度はCPUのIPを設定するため、X20CP1586>ETH>Configurationをクリックします。
CPUのEthernet Portに関する設定が表示されています。
Activate Interface>Redundant parameter>Single CPU parametersを開きましょう。
ModeのValueを”Enter IP Address manually”選択します。
Static IPを設定できるようになり、IP addressとSubnet Maskが入力できます。
実際のアプリケーションに合わせてIPとSubnetを設定しましょう。
Offline Installation
実はB&RのCPUにプロジェクトを転送するにはいくつかの方法があり、CPUと直接接続しなくても転送可能な”Offline Installation”をまず紹介したいと思います。
Automaton StudioのTool barからOffline installationを表示させます。
下図のような小さなWindowアイコンが表示され、そのアイコンをクリックします。
CPUによってSD CARDのSlot位置が変わることがあるかもしれませんが、今回使用するX20CP1586のSD CARD Slotは下図のように示しています。
CPUの電源を必ず落とし、SD CARDを抜いてCARD Readerに接続します。
SD CARDの抜き差し操作は下記の動画から確認できます。
Offline Installation画面が表示されます。
プロジェクトを書き込むPathを正しく設定してください。
”Install on application storge”ボタンをクリックしプロジェクトをSD Cardに書き込みましょう。
この操作により、SD Card内のデータがすべて消されますが、よろしいですか?の確認画面です。Yesで進みます。
しばらく待ちます…
プロジェクトがSD CARDに書き終わったら、画面上で小さな緑マークが表示され、Closeをクリックします。
SD CARDをCPUにさし電源を入れ直し、コマンドからPingしたら先程プロジェクト設定したIPアドレスも返答がきました。Done!
Connect Online
次はAutomation StudioとCPUを接続するためOnline>Settingsを開きます。
画面を右クリック>Add ARwin Connectionで新規接続を追加します。
DestinationはCPUのIPアドレスになります。
緑のOnlineボタンをクリックします。
Done!Automation StudioとCPUを接続しました。Automation Studioの右下にも”RUN”が表示されています。
Monitor
今度はCPUをMonitorしてみます。
Done!
Force
先程追加したモジュールの現在状態をI/O Mapping画面から直接確認できます。
もし強制出力したい場合、まずForceActivated ValueのFieldに強制出力したい値を設定します。
下記の例ではDigitalOutput01とDigitalOutpu02を強制TRUEにします。
次はForceActivatedのFieldにCheckを入れおけばOKです。
Result
下図は実際のX20DI6371入力モジュールの状態です。
こちらは強制出力する操作になります。
Implementation‐2
Hardware Configurationが完了したら、今度はモジュールの信号をUser ProgramとMappingします。
Mapping
Project Name>Global.var>右クリック>Open>Open As Textをクリックします。
VAR END_VARの変数宣言文を追加します。
今回の記事で使用する変数を定義します。
Assign
Global変数が定義終わったので、次はモジュールのIO信号とそれらの変数を紐つけます。
Physical View>X20CP1586>X2X>X20DI6371をダブルクリックします。
Process Valueをクリックすると、欄に小さいな…ボタンが表示されます。
このボタンをクリックし先程定義したGlobal変数と紐つけましょう。
Done!
X20DI6731
こちらはX20DI6731のMappingになります。
X20DO6322
こちらはX20DO6322のMappingになります。
X20AI2222
こちらはX20AI2222のMappingになります。
Program
こちらはプログラムです。X20DI6371に配線されたSelectスイッチとPush Buttonの状態により、X20DO6322に配線されたランプを出力します。
また、X20AI2222に配線されたアナログ入力に0‐10vにスケーリングします。
PROGRAM _INIT (* Insert code here *) END_PROGRAM PROGRAM _CYCLIC (* Insert code here *) qButtonLamp1:=iPushButton1 AND iSelectButtonSide1; qButtonLamp2:=iPushButton2 AND iSelectButtonSide2; r32Value:= (INT_TO_REAL(iAnalogChannel1)/32767)*10.0; END_PROGRAM PROGRAM _EXIT (* Insert code here *) END_PROGRAM |
Result
下図のように各SlotのIOデータも取得できるようになりました。