この記事ではCodesys RuntimeがインストールされたRaspberry Pi RuntimeにEtherCAT Masterを立ち上げ、phoenixcontact製のAXL E EC DI8 DO8 M12 6M EtherCAT Slaveとつんがります。
Reference Link
AXL E EC DI8 DO8 M12 6M
Axioline E deviceはphoenixcontact製のRemote IOシリーズでEtherCATネットワークを構築します。そのモジュールにはINPUT/OUTPUT信号がついてます。IP67のDesignのおかけでControl Cabinetなしで設置することできます。
Power Supply & Ethernet
X21/X22
D-CODEを使用します。
Wiring
UaはActuatorsの電源Supplyですが、出力が必要な場合のみつながってもよいです。
Connections Us/Ua
DI/DO
こちらはAXL E EC DI8 DO8 M12 6MのDI/DO位置です。
絵が示すように上が入力で下は出力になります。
Output Wiring Example
こちらは出力配線例です。
Input Wiring Example
こちらは入力配線例です。
LED
DI/DOの隣にLEDでいまの状態を表示します。
信号TYPE | LED | ON/OFF | 状態 |
入力 | 黄色 | ON | 入力はTrue |
OFF | 入力はFalse | ||
出力 | 黄色 | ON | 出力はTrue |
OFF | 出力はFalse | ||
赤 | ON | 短絡やオーバーロード |
LED
こちらはModulesの運転状態を示すLEDです。
L/A | 緑 | ON | EC IN/EC OUTはPower入っています |
OFF | EC IN/EC OUTはPower入っていない | ||
RDY | 緑 | ON | 準備OK |
黄色 | 点滅 | Firmware Update中 | |
緑・黄色 | 同時点滅 | Us は過電圧・低電圧デバイスは不適切な温度環境にあることUa 電源問題あるUs 赤同時ONならSensor電源Overload | |
RUN | 緑 | Off | 初期化状態 |
2.5Hz点滅 | Pre-operation状態 | ||
Single Pulse | 200ms ON,1000msOff、Safe-operation状態 | ||
ON | Oepration状態 | ||
点滅(10Hz) | Booststrap状態 | ||
ERR | 赤 | On | 重故障 |
2.5Hz点滅 | Configuration Error | ||
Single Pulse | Local Application Error | ||
Double Pulse | Watchdog timeout | ||
US | 緑 | ON | Power/Sensor電源OK |
Off | Power/Sensor電源ない | ||
赤 | ON | Sensor電源オーバーロード | |
UA | 緑 | ON | Actuator 電源OK |
OFF | Actuator 電源ない |
Rotary switch
EtherCATデバイスではAddressとIdnentificationで分別します。
- Address
EtherCAT Masterと直接通信すると該当するSlaveを判別します。
MasterはDevicesに重複しない16-BItアドレスとを振り分けます。 - Identifications
EtherCAT NetworkでSlaveを識別するためです
AXL E ECデバイスでは、Rotaryスイッチでその識別値を設定できます。
S1とS2の組み合わせで01-159まで識別できます。
S1は0-15まで、S2は0-9までです。
たとえばS1が14、S2が8なら、そのAXL E ECデバイスの識別値は148になります。
変更したら電源を入れ直す必要があります。
Configuration
Donwload ESI
EtherCATネットワークを構築するには、該当するデバイスのESI(EtherCAT® Slave Information)が必要です。このルールはProfinetと一緒です。
以下のLINKにアクセスします。
https://www.phoenixcontact.com/ja-jp/products/io-component-axl-e-ec-di8-do8-m12-6m-2701525
Device DescriptionのところにESI FileをDownloadしてください。2つがありますが、今回のTutorial使用するのはByte-by-Byteになります。
ライセンス同意すればDownloadできます。
Install ESI File in Codesys
Tools>Device Repositoryをクリックします。
Installボタンをクリックします。
先DownloadしたESI Fileを選び>OPENしてください。
Codesysが自動的にインストールしてくれます。
Network Configuration
ESIをImport成功したところで、次はEtherCATのNetwork構築です。
Add EtherCAT Master
Device>Add Deviceします。
Fieldbus>EtherCAT>Master>EtherCAT Masterを選びAdd Deviceします。
Add EtherCAT Device
次はEtherCAT Masterから右クリック>Add Deviceします。
AXL E EC DI8 DO8 M12 6Mを選び>Add Deviceします。
それでEtherCAT Slaveも追加されました。
Login
ConfigurationをRuntimeにDownloadします。
Communication Settings>Scan Networkをします。
Raspberry が検知しますので、そのRuntimeを選び>OKします。
User nameとPasswordを入力します。
LoginでConfigurationをDownloadします。
うん。エラーが出ましたね。EtherCAT Masterで設定を忘れたところがありますね。
EtherCAT NIC
EtherCAT MasterをDouble Clickします。
General>Source Address(MAC)の隣のSelectボタンをクリックします。
またUser nameとPasswordを入れてOKします。
EtherCAT Masterとして稼働するNetwork Interfaceを選びます。
よしこれでOKです。
もう一度Loginしましょう。
それだけでAXL E EC DI8 DO8 M12 6Mと繋がりました!
Test Program
最後はテストプログラムを作成します。
IO用の変数を定義し、そして出力は1秒ON、1秒OFFの簡単なプログラムだけです。
VAR
PROGRAM PLC_PRG VAR IOStatus:UDINT; In:USINT; Out:USINT; TON:TON; iStep:INT; temp:BOOL; END_VAR |
PROGRAM
CASE iStep OF 0: Out:=2#1010_1010; TON(in:=TRUE,PT:=T#1S); IF TON.Q THEN TON(IN:=FALSE); iStep:=1; END_IF 1: Out:=2#0101_0101; TON(in:=TRUE,PT:=T#1S); IF TON.Q THEN TON(IN:=FALSE); iStep:=2; END_IF 2: Out:=2#0000_0000; TON(in:=TRUE,PT:=T#1S); IF TON.Q THEN TON(IN:=FALSE); iStep:=0; END_IF END_CASE temp:=In.0; temp:=IOStatus.0; |
IO
もちろんFieldBusのI/O Mappingを設定するのを忘れずに。
Slaveをクリック>EtherCAT I/O Mappingをクリックします。
Result
この動画では今回のTutorialの簡単な説明と結果が見られます。