今回の記事ではEtherCATPとFSoEネットワークを立ち上げる手順を1から説明します。
EtherCAPはBeckhoffのEPP1322-0001 Junction Boxを使用し、FSoEスレーブはEuchnerのDoorロックと組み合わせて行います。
さ、FAを楽しもう。
Reference Link
Reference Video
EtherCATP?
EtherCATPというのは、one cable solutionで制御盤不要のオートメーションに一歩さらに近付き、ベッコフは通信と電源を1本の4線式標準イーサネットケーブルに統合できます。
EtherCAT Pスレーブや接続されたセンサやアクチュエータのDC24V電源は統合されています:
- US(システムおよびセンサー供給)
- UP(アクチュエータ周辺電圧)
互いに電気的に絶縁されており、それぞれ最大3Aの電流を接続部品に供給できます。
同時に、トポロジー設計の自由度、高速性、最適なバンド幅利用、オンザフライでのテレグラム処理、高精度同期、広範な診断機能などEtherCATの利点は全て継承されています。
USとUPの電流は100Mbit/sラインのワイヤに直接結合され、高いコスト効率とコンパクトな接続を実現します。EtherCAT Pはターミナルボックス内の小型のリモートI/Oステーションとプロセス内の分散I/Oコンポーネントの接続の両方に利点を提供します。
標準EtherCATスレーブとの誤接続による潜在的な損傷を防ぐためにEtherCAT P用に特別に開発されたコネクタファミリーがあり、24VのI/Oレベルから630V ACまたは850V DC、最大72Aの電流のドライブまで全てのアプリケーションをカバーできます。
- どのサイズも同じデザインなので、設置が簡単。
- ケーブルの事前設定により、組み立ての手間を軽減
- カラーワイヤーとコネクタ内の識別(赤黒)
- 各コンポーネントのポカヨケ原理
- 業界標準フランジ寸法のフランジソケット(フロントアッセンブリー、リアアッセンブリー、スクエアフランジ)
また、EtherCAT Pエレメントは高密度実装を可能にし、通電容量と電源ピンの絶縁耐圧を高めます。
- シームレスで一貫したコネクタの360°シールド
- 全てのサイズB12~B40で均一なEtherCAT Pエレメント
- 全てのサイズB12~B40で均一な構造
- クイック着脱用バヨネットコネクタ
- シールド付きとシールドなし(外シールド)のバリエーションを用意
- 多様なピンとソケットの組み合わせ
- メカニカル・キーイング(サイズと極数により、2~6ポジションのメカニカル・キーイングが可能)
- カラーリングによるマーキングが可能
- ケーブルコネクター1個あたりの電線数を減らすことで、ケーブルをより細くすることができます。
EtherCAT Pを採用するより、大幅にコスト削減できる場合があります。
- EtherCAT Pデバイスのフィールドでの直接接続に最適化
- 配線工数の削減による時間の節約
- エラーの減少
- 個別の供給ケーブルが不要となり、センサやアクチュエータが小型化
- コンポーネントのシンプルな接続
EtherCATでは通常、トポロジーの選択が可能であり、ライン、スター、ツリーの各構造を組み合わせることで、最小コストで最良のシステムレイアウトを実現することができます。従来のPoE (Power over Ethernet) とは異なり、EtherCAT Pではデバイスをカスケード接続し、1つの電源ユニットから電源を供給することができます。
機械の設計時には、個々のコンシューマ、ケーブル長、ケーブルタイプをツールで設定し、この情報を使ってEtherCAT Pネットワークの最適なレイアウトを作成します。どのセンサやアクチュエータが接続され、どのセンサやアクチュエータが同時に動作するかが分かっているため、消費電力を適切に計算することができます。例えば、2つのアクチュエータが論理的な観点から同時に切り替わることがなければ、同時に全負荷を必要とすることもありません。その結果、必要な電源や電力がさらに節約される可能性がある。
EtherCAT Pでは、ベッコフ社は通信と電源を1本の4線式標準イーサネットケーブルに統合しています。EtherCAT Pスレーブや接続されたセンサやアクチュエータのDC24V電源は統合されています: US(システムおよびセンサー電源)とUP(アクチュエータ用周辺電圧)は互いに電気的に絶縁されており、それぞれ最大3Aの電流を接続されたコンポーネントに供給できます。同時に、トポロジー設計の自由度、高速性、最適なバンド幅利用、オンザフライでのテレグラム処理、高精度同期、広範な診断機能などEtherCATの利点は全て継承されています。
USとUPの電流は100Mbit/sラインのワイヤに直接結合され、高いコスト効率とコンパクトな接続を実現します。EtherCAT Pはターミナルボックス内の小型のリモートI/Oステーションとプロセス内の分散I/Oコンポーネントの接続の両方に利点を提供します。標準EtherCATスレーブとの誤接続による潜在的な損傷を防ぐために、EtherCAT P用に特別に開発されたコネクタファミリがあります。24VのI/Oレベルから630V ACまたは850V DC、最大72Aの電流のドライブまで全てのアプリケーションをカバーします。
- EtherCAT Pデバイスのフィールドでの直接接続に最適化
- 配線工数の削減による時間の節約
- 個別の供給ケーブルが不要なため、センサやアクチュエータのエラーが減少
- コンポーネントのシンプルな接続
EPP1322-0001?
IP67のEPP1322-0001 EtherCAT Pジャンクションは柔軟なトポロジー構成が可能で、USとUPのEtherCAT Pセグメントあたり3Aの通電容量により、既に幅広いセンサやアクチュエータを使用することができます。
また、リフレッシュ機能付きEPP1332-0001 EtherCAT Pジャンクションは、システム内のどのポイントでもUSまたはUPの給電に使用できます。
EPP1342-0001は昇圧を必要としないトポロジカル分岐に使用します。すべてのインフラボックスモジュールにはEtherCAT、US、UPのステータスLEDがあります。
Layout
こちらはEPP1322-0001のLayoutです。
Cables
こちらはEPP1322-0001のモジュールを使用するには必要なケーブルの例です。詳しい情報はBeckhoffに問合せしてくだいさい。
Blocks
こちらはEPP1322-0001の内部Block図です。
If short-circuit shutdown..
EtherCAT P出力X50で短絡が検出されると、影響を受ける出力電圧は自動的にオフになります。対応する電源電圧の電圧リセットを実行するまで出力電圧はオフのままです。
注意するのは電圧リセットなしでスイッチオフされた出力電圧を再度オンにしたい場合は、EPP132xの代わりにEP9224-0037を使用してください。EP9224-0037を使用すると、スイッチオフされた電圧をソフトウェアで再びオンにすることができます。
Not Just EPP1322-0001!
EtherCATでは通常、トポロジーの選択が可能であり、ライン、スター、ツリーの各構造を組み合わせることで、最小コストで最良のシステムレイアウトを実現することができます。従来のPoE (Power over Ethernet) とは異なり、EtherCAT Pではデバイスをカスケード接続し、1つの電源ユニットから電源を供給することができます。
また、IP 20定格のEK13xx EtherCAT Pカプラは、制御盤から機械までEtherCAT Pの使用を可能にし、制御盤からマシンまでEtherCAT Pを使用することができます:
保護等級IP 67のEPPxxxx EtherCAT PボックスモジュールはI/O信号の典型的な要求範囲をカバーできます。
- デジタル入力(3.0msまたは10μsフィルター)
- デジタル出力(出力電流0.5 A
- デジタル入力とデジタル出力のコンビネーション・モジュール
- 16ビット分解能のアナログ入出力
- 熱電対およびRTD入力
Euchner Door Lock..
今回記事で使用するFSoE SlaveはEuchnerのEtherCATP対応タイプです。
また、Euchnerのドアロックはアプリケーションによって自由に組み合わせることができます。
Function
Monitoring of guard locking and the position of the guard
こちらはガードロックとガード位置の監視の使用例です。
- ガードロックが解除されると、安全ビット LM_I_UK (ÜK) = 0(ロックエレメントのモニタ)。
- ガードが開いている場合、安全ビット LM_I_SK (SK) = 0 (ガードの位置の監視)。
- ガードのロックは、ボルトのタングがロッキング・モジュール内にある場合にのみ作動します。
- また不用意なロッキングの防止(誤閉鎖防止)もできます。
Control of guard locking
こちらはガードロックの制御の使用例です。
- ガードロックが解除されると、安全ビット LM_I_UK (ÜK) = 0(ロックエレメントのモニタ)。
- ガードが開いている場合、安全ビット LM_I_SK (SK) = 0 (ガードの位置の監視)。
- ガードのロックは、ボルトのタングがロッキング・モジュール内にある場合にのみ有効です。
- また不用意なロッキングの防止(誤閉鎖防止)もできます。
Monitoring of the guard position
こちらはガードポジションの監視の制御の使用例です。
- ガードが開いているとき、安全ビット LM_I_SK (SK) = 0になります。
Safety functions on submodules with emergency stop
こちらは非常停止機能付きサブモジュールの安全機能の制御の使用例です。
- 非常停止が押されたとき、安全ビット SM_FI_ES = 0になります。
Safety functions on submodules with enabling switch
こちらはイネーブルスイッチ付きサブモジュールの安全機能の制御の使用例です。
- イネーブルスイッチが押されたとき、安全ビット SM_FI_EN = 1になります。
Safety functions on submodules with safe pushbuttons and switches (general)
こちらは安全な押しボタンとスイッチによるサブモジュールの安全機能の制御の使用例です。
MBM-EC-..-MLI-… (EtherCAT)?
バスモジュールMBMの安全機能は、全体システムから送信された安全データ(例えば、設置されたガードロック装置、非常停止装置、イネーブルスイッチなど)を評価し、接続されたバスシステム上に転送することです。注意するのはシステム内の安全装置の数は12個に制限されていることです。
DIP
DIPスイッチには以下の機能があります:
- デバイスのFSoEスレーブアドレスの設定
- デバイスを工場出荷時の設定に戻すハードウェア・リセット
- デバイスのウェブ・インタフェースをアクティブにする
A0 … A9
A0…A9はFSoSアドレス・スイッチでビット0~9になります。
(工場出荷時設定:0000000000)
RST
ファクトリーリセット用のボタンです。
WWW
拡張診断オプションでデバイスのウェブインターフェースをアクティブにするためのスイッチです。
System layout and data areas
モジュラーレイアウトにより、MLIシステムは非常に大きな柔軟性を提供します。この柔軟性は通信データの使用にも適用され、システムが制御システム内で占有するデータ領域は、システムレイアウトに依存します。
以下の図は個々のモジュールやサブモジュールのデータブロックを結合するためにどのルールを使用しなければならないかを明確にするためのものです。注意するのは安全でないEtherCATデータと安全なFSoEデータは区別されていることです。
各モジュールには固定通信データがあり、モジュールが制御システム用のコンフィギュレーション・ソフトウェアで結合されるときに恒久的に割り当てられます。一部のモジュールとサブモジュールには、評価できるオプションデータもあります。これらは、より詳細な診断機能も可能になります。
EtherCATデータは常にバイト単位(ブロック#1~#4)で組み込まれますが、FSoEデータは常に個々のビット単位(下図ではシングルビット)で組み込まれます。つまり、FSoEデータ用に十分な安全メモリを用意する必要があります。
EtherCAT data bytes
EtherCATネットワークの各モジュールまたはサブモジュールは、特定の非安全通信データを送信します.各モジュールまたはサブモジュールは制御システムの入出力領域で一定数のEtherCATデータバイトを占有します。
以下のモジュールは、MLI システムにおいて様々な組み合わせで存在することができる:
- バスモジュール MBM
- 複数のインターロック/ロッキングモジュールMGB2-IまたはMGB2-Lの拡張モジュール MCM
- 複数のサブモジュールMSM
モジュールやサブモジュールの中には、基本的なステータス、信号、制御機能を持つ標準コンフィギュレーション(ベーシック)と、診断用の正確なエラーコードを含む追加バイトを含む拡張コンフィギュレーションのどちらかを選択できるものもあります。
FSoE data bytes
EtherCATネットワーク内には安全でないEtherCATデータに加えて安全なFSoEデータが送信されます。これらのデータにはインターロックやロッキングモジュールMGB2、非常停止やイネーブルスイッチ、安全入力Xのボルトのタングやガードのロッキング位置に関する全ての情報が含まれます・
EtherCATデータは常にバイト単位で組み込まれますが、FSoEのデータは常に個々のビット単位で組み込まれます。つまり、FSoEデータ用に十分な安全メモリを用意する必要があります。
Euchnerのデバイスでは以下のFSoEデータブロックが提供されます:
- 2入力バイトと2出力バイト
- 4入力バイトと4出力バイト
- 8入力バイトおよび8出力バイト
Watch dog
Watch dogパラメータ Update time と FSoE Watchdog Time は安全機能の反応時間に決定的な影響を与え、注意するのは反応時間が長すぎると、安全機能が失われる可能性があります。
ESI File
EucherのEtherCATデバイスを制御システムに統合するには、それに対応するXML形式のESIファイルが必要です。注意するのは必ず両方のESIファイルを使用してください。
- EUCHNER_MBM_ESI.xml
- MBM モジュールとデータ転送に関するすべての情報が含まれています。
- EUCHNER_MBM_Modules.xml
- MBM に接続されているすべてのモジュールの説明が含まれています。
また、実際のEtherCATネットワークをセットアップする前に、ESIファイルを制御システムの設定ソフトウェアにインポートする必要があります。
Your Flow..
EucherのEtherCATデバイスを制御システムに統合するには、下記の作業Flowが必要です。
- 制御システム用のコンフィギュレーション・ソフトウェアでシステムを構成し、パラメータを設定します(今回はTwinCAT3を使用します)。
以下のEtherCATパラメータを設定する必要があります:- 更新時間
- FSoE アドレス
- ウォッチドッグ時間(制御システムが FSoE デバイスからの応答を期待する時間): [xxx ms]. ESI ファイルからの工場出荷時設定: [100ms]
- バスモジュール MBM の FSoE アドレスをディップスイッチで設定します。
- Safety DataをFSoE MasterとLinkします。
- アプリケーションに応じて、個々のモジュールに追加のパラメータを設定します
- 設定を保存し、システムに転送します。
また、EtherCATネットワークをスキャンすると、基本診断を使用するすべてのモジュールとサブモジュールがスロット構成され、8バイトモジュールは安全スロットに自動的に入力されます。その後、手動で変更する必要があります。
Line swap
初回起動時、制御システム構成がMLIトポロジーと一致すれば、現在のMLIトポロジーが保存される。ですが、システムが再起動されると、バスモジュールはMLIデバイスの位置が変わったら、デバイスが異なるMLIラインで操作されているかを検出します。
バスモジュールはさらに、デバイスが取り外されたり追加されたりした場合、エラーを報告します。これは、例えばメンテナンス作業後に誤って接続されたデバイスがセーフモードに入るのを防ぐためのものです。
システムがラインスワップエラーを報告した場合、MLIトポロジーをチェックし、必要であれば修正してください。MLIトポロジーが保存されたトポロジーと再び一致すると、再起動後にシステムは再び通常動作に入る。
MLIトポロジーの意図的な変更は、工場出荷時のリセットによってリセットする必要があります。
Safe bits
こちらはFSoEの安全データのMappingです。
Non-Safety bit
こちらはEtherCATのM非安全データのMappingです。
Implementation
Euchner Side
最初にEuchner側から構築します。
Download ESI File
EuchnerのESIなどのFileのDownloads先はこちらです。
https://www.euchner-usa.com/en-us/
SERVICE>Downloadsをクリックします。
Softwareをクリックします。
Device description Files..をクリックします。
今回記事で使用するMGB2をクリックします。
Euchnerのデバイス FileをすべてDownnlaodできます。
最後はESI FileをPCにDownloadしましょう。
TwinCAT3 Side
次はTwinCAT3側を構築します。
Install ESI File
ESI Fileを下記のDirectoryに入れましょう。
C:\TwinCAT\3.1\Config\Io\EtherCAT
Connect to TwinCAT Runtime
もしTwinCAT Runtimeがローカルではない場合、接続先を設定する必要があり、SYSTEMを開きます。
Choose Targetをクリックします。
Search(Ethernet)をクリックします。
Route Dialog画面が表示され、TwinCAT RuntimeがインストールされているPCのIPを入力しましょう。そしてPCと接続したいRuntimeを選択します。
Add Routeをクリックします。
PCのUser NameとPasswowrdを入力し、OKで進みます。
Done!
現在別のPCのTwinCATの状態も確認できるようになりました。
Configure EtherCAT Master
EtherCAT Masterを追加するため、I/O>Devices>Add New Itemします。
EtherCAT>EtherCAT Masterを選び、Okで進みます。
こちらはEtherCAT Maseterとして使用したいEthernet Adapterを設定する画面ですが、一旦Noneを選択し、Okで進みます。
Done!EtherCAT Masterが追加されました。
Configure the PCI Bus/Slot
次はEthernet Adapterを設定するため、Compatible Devicesをクリックします。
もし該当するTwinCAT XAEに下図のような画面が表示されれば、TwinCAT RT-ET Ethernet Adaptersをインストールする必要があります。
EtherCAT Masterとして使用したいEthernet Adapterを選び>Installをクリックします。
Installで進みます。
Done!
次はSearchボタンをクリックします。
先程インストールしたEthernet RT Driverを使えるようになりました!
Done!
Scan Network
TwinCATのAuto Scan機能を使用し、ネットワーク内のEtherCAT Slaveを検索します。
Result
Done!EtherCATPのJunction BoxやEuchernのドアロックも検索されました。
Add PLC
PLCAdd New ItemでPLC Projectを作成します。
Standard PLC Projectを選び>AddすればOKです。
DUT
DUT_MBM_EC_S7_MLI_3B
こちらはバスモジュールの診断情報を定義する構造体です。
TYPE DUT_MBM_EC_S7_MLI_3B : STRUCT BM_D_RUN //RUN mode ,BM_E_ML1 //Error ML1 ,BM_E_ML2 //Error ML2 ,BM_E_SYS //System Error ,BM_E_G //General Error ,BM_ACK_G //Ack :BOOL; END_STRUCT END_TYPE |
DUT_MGB2_I_MLI_U_Y0000_JJ_IN
こちらはBasicモジュールの診断情報を定義する構造体です。
TYPE DUT_MGB2_I_MLI_U_Y0000_JJ_IN : STRUCT LM_D_RUN //in,Diagnosic runmode ,LM_I_SK //in,Input SK ,LM_E_SM0 //in,Error SubModule1 ,LM_E_SM1 //in,Error SubModule2 ,LM_E_G //in,Error Generally ,LM_I_OD //in,Door Position ,LM_I_OT //in,Tonuge Position :BOOL; END_STRUCT END_TYPE |
DUT_MSM_Button_IN
こちらはサブモジュールの入力を定義する構造体です。
こちらはサブモジュールの入力を定義する構造体です。
TYPE DUT_MSM_Button_IN : STRUCT btn:ARRAY[0..7]OF BOOL; END_STRUCT END_TYPE |
DUT_MSM_Button_OUT
こちらはサブモジュールの出力を定義する構造体です。
TYPE DUT_MSM_Button_OUT : STRUCT Lamp:ARRAY[0..3]OF BOOL; Flash:ARRAY[0..3]OF BOOL; END_STRUCT END_TYPE |
Add GVL
次はGlobal Variable Listを追加します。
GVL_Safety
GVLs>Add>Global Variable Listを追加します。こちらはTwinCAT RuntimeとTwinSAFEのData 交換するためのGVLです。
Global Variable List名を設定します。
下図のようにEL6910とデータ交換するProcess IOを定義します。
{attribute ‘qualified_only’} VAR_GLOBAL RUN AT %Q*:BOOL; ACK AT %Q*:BOOL; B1 AT %I*:BOOL; B2 AT %I*:BOOL; COMACK AT %Q*:BOOL; State AT %I*:UINT; END_VAR |
GVL_Box1
こちらはEucherの各Moduleの非安全データとMappingするGVLです。
{attribute ‘qualified_only’} VAR_GLOBAL Door1_MSM_1_P_CA_PPP_SW_ID_9000003_IN AT %I*:USINT; Door1_MSM_1_P_CS_BPH_SW_ID_9000026_IN AT %I*:USINT; Door1_MSM_1_P_CA_PPP_SW_ID_9000003_OUT AT %Q*:USINT; Door1_MSM_1_P_CS_BPH_SW_ID_9000026_OUT AT %Q*:USINT; Door1_MGB2_I_MLI_U_Y0000_JJ_IN AT %I*:ARRAY[0..1]OF USINT; Door1_MGB2_I_MLI_U_Y0000_JJ_OUT AT %Q*:USINT; Door_DUT_MBM_EC_S7_MLI_3B_IN AT %I*:ARRAY[0..1]OF USINT; Door_DUT_MBM_EC_S7_MLI_3B_OUT AT %Q*:USINT; END_VAR |
Program
こちらはEucher ドアロックの非安全データを取得し、ボタンの信号確認や点灯するための簡単プログラムです。
PROGRAM MAIN VAR SubModule0_Btn0 ,SubModule0_Btn1 ,SubModule0_Btn2:BOOL; SubModule1_Btn0_ETOP ,SubModule1_Btn1 ,SubModule1_Btn2_Key:BOOL; BaseModule:DUT_MGB2_I_MLI_U_Y0000_JJ_IN; FSoEModule:DUT_MBM_EC_S7_MLI_3B; FlashMode:BOOL; END_VAR |
//Sub Module0 SubModule0_Btn0:=GVL_Box1.Door1_MSM_1_P_CA_PPP_SW_ID_9000003_IN.0; SubModule0_Btn1:=GVL_Box1.Door1_MSM_1_P_CA_PPP_SW_ID_9000003_IN.1; SubModule0_Btn2:=GVL_Box1.Door1_MSM_1_P_CA_PPP_SW_ID_9000003_IN.2; GVL_Box1.Door1_MSM_1_P_CA_PPP_SW_ID_9000003_OUT:=0; GVL_Box1.Door1_MSM_1_P_CA_PPP_SW_ID_9000003_OUT.0:=SubModule0_Btn0; GVL_Box1.Door1_MSM_1_P_CA_PPP_SW_ID_9000003_OUT.1:=SubModule0_Btn1; GVL_Box1.Door1_MSM_1_P_CA_PPP_SW_ID_9000003_OUT.2:=SubModule0_Btn2; IF FlashMode THEN GVL_Box1.Door1_MSM_1_P_CA_PPP_SW_ID_9000003_OUT.3:=SubModule0_Btn0; GVL_Box1.Door1_MSM_1_P_CA_PPP_SW_ID_9000003_OUT.4:=SubModule0_Btn1; GVL_Box1.Door1_MSM_1_P_CA_PPP_SW_ID_9000003_OUT.5:=SubModule0_Btn2; END_IF //SubModule1 SubModule1_Btn0_ETOP:=GVL_Box1.Door1_MSM_1_P_CS_BPH_SW_ID_9000026_IN.0; SubModule1_Btn1:=GVL_Box1.Door1_MSM_1_P_CS_BPH_SW_ID_9000026_IN.1; SubModule1_Btn2_Key:=GVL_Box1.Door1_MSM_1_P_CS_BPH_SW_ID_9000026_IN.2; GVL_Box1.Door1_MSM_1_P_CS_BPH_SW_ID_9000026_OUT:=0; GVL_Box1.Door1_MSM_1_P_CS_BPH_SW_ID_9000026_OUT.0:=SubModule1_Btn0_ETOP; GVL_Box1.Door1_MSM_1_P_CS_BPH_SW_ID_9000026_OUT.1:=SubModule1_Btn1; GVL_Box1.Door1_MSM_1_P_CS_BPH_SW_ID_9000026_OUT.2:=SubModule1_Btn2_Key; IF FlashMode THEN GVL_Box1.Door1_MSM_1_P_CS_BPH_SW_ID_9000026_OUT.3:=SubModule1_Btn0_ETOP; GVL_Box1.Door1_MSM_1_P_CS_BPH_SW_ID_9000026_OUT.4:=SubModule1_Btn1; GVL_Box1.Door1_MSM_1_P_CS_BPH_SW_ID_9000026_OUT.5:=SubModule1_Btn2_Key; END_IF // BaseModule.LM_D_RUN:=GVL_Box1.Door1_MGB2_I_MLI_U_Y0000_JJ_IN[0].0; BaseModule.LM_I_SK:=GVL_Box1.Door1_MGB2_I_MLI_U_Y0000_JJ_IN[0].1; BaseModule.LM_E_SM0:=GVL_Box1.Door1_MGB2_I_MLI_U_Y0000_JJ_IN[0].4; BaseModule.LM_E_SM1:=GVL_Box1.Door1_MGB2_I_MLI_U_Y0000_JJ_IN[0].5; BaseModule.LM_E_G:=GVL_Box1.Door1_MGB2_I_MLI_U_Y0000_JJ_IN[0].7; BaseModule.LM_I_OD:=GVL_Box1.Door1_MGB2_I_MLI_U_Y0000_JJ_IN[1].0; BaseModule.LM_I_OT:=GVL_Box1.Door1_MGB2_I_MLI_U_Y0000_JJ_IN[1].1; // FSoEModule.BM_D_RUN:=GVL_Box1.Door_DUT_MBM_EC_S7_MLI_3B_IN[0].0; FSoEModule.BM_E_ML1:=GVL_Box1.Door_DUT_MBM_EC_S7_MLI_3B_IN[0].1; FSoEModule.BM_E_ML2:=GVL_Box1.Door_DUT_MBM_EC_S7_MLI_3B_IN[0].2; FSoEModule.BM_E_SYS:=GVL_Box1.Door_DUT_MBM_EC_S7_MLI_3B_IN[0].5; FSoEModule.BM_E_G:=GVL_Box1.Door_DUT_MBM_EC_S7_MLI_3B_IN[0].7; GVL_Box1.Door_DUT_MBM_EC_S7_MLI_3B_OUT.7:=FSoEModule.BM_ACK_G; |
Build
Build>Build Solutionでプロジェクトをビルドします。
Link
先程定義したGVLとEucherドアロックの非安全データとMappingしましょう。
Active Configuration
Active Configurationをクリックし、一回プロジェクトをRuntimeにDownloadします。
OKで進みます。
OKでTwinCAT RuntimeをRun Modeにソフトします。
Login
LoginでプログラムをDownloadします。
Yesで進みましょう。
Start
最後はStartボタンでRuntimeのプログラムを実行します。
Add Safety
次はSafety プロジェクトを追加するため、SAFETY>Add New Itemします。
TwinCAT Safety Project Preconfigured ErrAckというTemplateを選択し、Addで追加します。
Target SystemをHardware Safety PLCを設定し、OKで進みます。
Done!Safetyプロジェクトが追加されました。
Target System
Target Systemを設定します。こちらはFSoE Masterを設定します。
Target SystemのDrop-Listから今回記事で使用するEP1957を設定してください。
Done!
次は枠のボタンをクリックし、該当するTarget Systemと繋がる実機を設定します。
先程EtherCATネットワークで検索したEP1957-0022を設定してください。
Done!
最後は枠の矢印ボタンで安全アドレスをUploadしましょう。
Alias Devices
Local IO
SafetyプロジェクトにEP1957-0022のIOを使用するには、Alias Devices>Add New Itemで新規デバイスを追加します。
Safety>EtherCAT>Beckhoff Automaton Gmbh> EP1957…を選択し、Addボタンで追加します。
Done!
Eucher
次はEucherのFSOE接続を追加します。
Safety>EtherCAT>EUCHNERを展開すると、3種類のFSoE接続を追加できます。
先程EtherCATネットワークの自動Scanで8 BytesのFSoEスロットが検知されましたので、Alias Devicesに同じく8 BytesのFSoE入出力データを追加しましょう。
Configure Module
先ほど追加したモジュールをクリックし、モジュールの細かい設定を行います。
まずLink ModeをLocalに設定します。これはFSoE マスター本体のIOだからです。
Done!
Parameters
次はInternal Safety Parametersをクリックし、EP1957-0022の安全パラメータを設定します。
今回記事で使用するのは出力1だけなので、出力2,3,4の以下のパラメータをFalseにします。
- Diag TestPulse active
- Module Fault Link active
Configure Eucher Devices
次はEucherのFSoEデバイスを設定します。
FSoE Address
FSoEアドレスはDIPスイッチに合わせて設定してください。
Physical Device
こちらはAlias DevicesのFSoE Connectionの実物ハードウェアチェンネルを設定します。
Done!
プロジェクトを保存したら、LinkedToなどの項目が自動的に更新されます。
Watchdog
Connection TabにあるWatch dogをアプリケーションに合わせて設定しましょう。
Link Error Ack
今度はSafety Groupをリセットするための信号をMappingします。
枠のボタンをクリックします。
先ほどPLCプロジェクトに定義したGVL信号とLinkしましょう。
Done!
ADD GVL
次はSafety プロジェクトで安全Global変数を定義するため、GVLs>Add>Global Variable Listをクリックします。
安全変数を定義できるGVLを作成しました。
Define IO
先ほどのGVLを開き、+ボタンで新規変数を追加します。
新しい変数が追加されました。
こちらは今回の記事のMappingになります。
Program
最後は安全プログラムを作成します。
TwinSAFEの安全プログラムは基本FBDで行います。
SafeAnd Blockを追加します。
ドアロックがクロスされた状態、また非常停止が押されてないなら、EP1957-0022のLocal出力をONするようにします。
注意するのはRun/StopとErr Ackを先ほど追加したDigital InputsをMappingします。
Verify Safety Project
TwinSAFE用のボタンを表示させるため、View>Toolbars>TwinCAT Safetyをクリックします。
次はVerify Safety Projectで安全プロジェクトをコンパイルします。
Done!コンパイル結果にはエラーがないんです。
Download
Download Safety Projectで安全プログラムをEP1957-0022にDownloadしましょう。
Default UsernameはAdministrator、Default PasswordはTwinSAFEです。
EP1957-0022のシリアル番号は実機の横になります。
Complete Project Dataを選択し、Nextで進みます。
Nextで進みます。
Check Boxを入れ、Nextで進みます。
最後にもう一度パスワードを入力しましょう。
Result
Done!FSoE Master EP1957-0022・EtherCATP Junction Box EPP1322-0001とEuchnerのドアロックにもエラーなく通信できました。
こちらの動画から動作確認できます。