Codesys#Configure a EtherCAT Master

この記事ではCodesys RuntimeがインストールされたRaspberry Pi RuntimeにEtherCAT Masterを立ち上げ、phoenixcontact製のAXL E EC DI8 DO8 M12 6M EtherCAT Slaveとつんがります。

Reference Link

Codesys#CODESYS Control for Rapbserry PI インストールする方法

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でいまの状態を表示します。

信号TYPELEDON/OFF状態
入力黄色ON入力はTrue
OFF入力はFalse
出力黄色ON出力はTrue
OFF出力はFalse
ON短絡やオーバーロード

LED

こちらはModulesの運転状態を示すLEDです。

L/AONEC IN/EC OUTはPower入っています 
OFFEC IN/EC OUTはPower入っていない
RDYON準備OK
黄色点滅Firmware Update中
緑・黄色同時点滅Us は過電圧・低電圧デバイスは不適切な温度環境にあることUa 電源問題あるUs 赤同時ONならSensor電源Overload
RUNOff初期化状態
2.5Hz点滅Pre-operation状態
Single Pulse200ms ON,1000msOff、Safe-operation状態
ONOepration状態
点滅(10Hz)Booststrap状態
ERROn重故障
2.5Hz点滅Configuration Error
Single PulseLocal Application Error
Double PulseWatchdog timeout
USONPower/Sensor電源OK
OffPower/Sensor電源ない
ONSensor電源オーバーロード
UAONActuator 電源OK
OFFActuator 電源ない

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の簡単な説明と結果が見られます。

Footer_Basic

Please Support some devices for my blog

Amazon Gift List

Find ME

Twitter:@3threes2
Email:soup01threes*gmail.com (* to @)
YoutubeChannel:https://www.youtube.com/channel/UCQ3CHGAIXZAbeOC_9mjQiWQ

シェアする

  • このエントリーをはてなブックマークに追加

フォローする