Beckhoff#BBH SMF-X FSoE Masterを立ち上げよう

今回の記事ではBBH社のIP67 安全PLCを使用しFSoE Masterを立ち上げ、ワイドミュラー社のUR20-4DI-DO-PN-FSOE-V2と安全通信を行います。EtherCAT MasterはBeckhoff のTwinCAT3とC6920を使用します。

さ、FAを楽しもう。

Reference Link

Pilz#PNOZmulti 2_Part2_EtherCAT FSoEでFSoE Masterを立ち上げよう
Pilz#PNOZmulti 2_Part3_EtherCAT FSoEでFSoE Slaveを立ち上げよう

BBH Products?

BBH PRODUCTS社は機能安全用電子部品の製造を専門とする中堅企業です。

SMXシリーズとSCUシリーズにより、BBH PRODUCTSはスタンドアロン型およびFSoEベースのEtherCAT環境用の使いやすいセーフティコントローラを提供しています。また、カスタマイズされた安全ソリューションを提供する会社です。

SMF-X?

SMF-XはFSoEスレーブ接続用FSoEマスタースタックと安全信号処理用SafePLC2を内蔵したコンパクトなセーフマスターフィールドボックスになります。

Interface

BBHのSMF-Xには、下記のInterfaceが内蔵されています。

  • 安全なデジタル入力8点
  • 安全なデジタル出力6点
  • 4×2パルス(クロック)出力
  • 4エンコーダインターフェース
  • 2シリアルインターフェース(スキャナ)
  • 2つのシリアルインターフェース(safePXV)
  • イーサネットインターフェイス×2
  • 2 デバイス供給インターフェース

PIN ASSIGNMENT

IO Interface X1/X2

IO Interface X3/X4

Encoder Interface X5/X6

Encoder Interface X7/X8

Ethernet Ports EC_IN/EC_OUT

Power Supply PowerIN/PowerOut

Diagnosis And Configuration Interface

LED Stauts

Implementation

BBH Side

Create New Project

BBH SafetyPLC2ツールをBBH社からもらい、自分のPCにインストールしてください。

そして新規プロジェクトを作成するためにツールを起動しましょう。

Done!ツールが起動しました。

Newで新規プロジェクトを作成しましょう。

Done!新しいプロジェクトが作成されました。

Insert SMF-X Module

今回記事で使用するのはBBH社のSMF-X IP67 FSOE Masterなので、LibraryからSMF-XをDropしてください。

Done!SMF-X モジュールが追加されました。

Wiring Scheme

SafetyPLC2ツールはWiring Scheme機能があり、モジュールのPin配線図を直接ツールから確認することが可能です。

Insert ESTOP Object

SMF-X 安全PLCに非常停止を配置したいので、ライブラリからEmergency Stopを追加します。

Done!非常停止のObjectが自動的にSMF 安全PLCに追加され、配線するPINも表示されました。

Insert Weid

SMF-X本体の安全PLCだけでは面白くないので、FSOE Masterを立ち上げ、他社のFSOE Slaveと接続し、安全通信のネットワークを構築します。今回の記事ではワイドミュラー社のUR20-4DI-DO-PN-FSOE-V2を使用します。

SafetyPLC2ツールはDefaultに既にそのモジュールがライブラリ内にインストールされていますので、そのモジュールを直接プロジェクトにDropしましょう。

Done!ワイドミュラー社のUR20-4DI-DO-PN-FSOE-V2が追加されました。

Wiring Scheme

Wiring Scheme Tabには先程追加されたUR20-4DI-DO-PN-FSOE-V2を設定や確認できるようになりました。

Wiring SchemeにはUR20-4DI-DO-PN-FSOE-V2に合わせてて4つの安全入力・出力が表示されています。

Properties

UR20-4DI-DO-PN-FSOE-V2のProperiesを開きます。

FSoEの設定項目にSlave AddressとConnection IDを設定する必要があり、Slave AddressはUR20-4DI-DO-PN-FSOE-V2についてるDIPスイッチに合わせて設定しましょう。

また、Connection IDはネットワーク内にある他のFSoE Slaveと重複しないように設定してください。

Insert ESTOP Object

今回の記事はUR20-4DI-DO-PN-FSOE-V2に非常停止と接続しますので、ライブラリからEmergency Stopを追加しましょう。

SafetyPLC2ツールから非常停止Objectを追加したいモジュールに設定する必要があり、UR20-4DI-DO-PN-FSOE-V2を選び>Okで進みます。

Type

Properies>Typeで非常停止の配線方法を設定できます。

今回は2.N.C.を設定します。

Crocess Circuit Check

Crocess Circuit CheckをPulse1に設定しましょう。

Result

Done!

Insert High Side Semiconductor

次はSMF-X モジュールにHigh Side Semiconductor出力を追加します。

Done!実際Wiring Scheme機能でその出力の配線方法も表示されます。

Insert Safety Output

次はUR20-4DI-DO-PN-FSOE-V2に安全出力点を追加するため、Output>Safe OutputをDropしましょう。

Properies画面でモジュールt設定を変更できます。

Ch 0 Test PulseとCh 1 Test PulseをAUX0 ・AUX1に設定し、Dual Channelに変更しましょう。

Functional Sheets

SafetyPLC2ツールでは安全プログラムがFunctional Sheetsに作成できます。

SafetyPLC2ツールの安全プログラムはFunction Blockで構築しますので、下図のようにSMF-X本体の安全入力・もしくはUR20-4DI-DO-PN-FSOE-V2も安全入力がONになると、SMF-X本体の出力がONになり、3秒後をUR20-4DI-DO-PN-FSOE-V2の安全出力をONします。

Compile

CompileボタンをクリックしプロジェクトをCompileしましょう。

Done!

Device Interface

次はSafetyPLC2ツールとSMF-Xモジュールを接続するため、Deivce Interfaceをクリックします。

Connection Settings

Connection SettingsをクリックしPCとSMF-Xの接続設定を変更します。

通信Portを適切な番号に設定してください。

Drop-ListからCOM Portの変更できます。

自分のPCがCOM13なので、COM portをCOM13に設定してください。

Connect it

ConnectボタンをクリックしPCとSMF-Xを接続しましょう。

OKで進みます。

Done!PCとSMF-Xが接続できました。

Verify Configuration

Verify Configurationをクリックし、プロジェクトをCheckしましょう。

Send Configuration

最後はSend ConfigurationをクリックしプロジェクトをSMF-XにDownloadしましょう。

Beckhoff Side

次はBeckhoff TwinCAT3側を構築します。

Start XAE

TwinCAT XAEを起動します。

New Project

File>New>Projectで新規プロジェクトを作成します。

プロジェクト名を入力しOKで進みましょう。

Choose Target

PCとTwinCATの接続設定を変更するため、SYSTEM>Choose Targetをクリックします。

Search(Ethernet)をクリックします。

Enter Host Name/IP欄で接続したいTwinCAT3 Runtimeを入力し、Enterを押してTargetを検索しましょう。

Done!

Add Routeをクリックします。

Remote Routeの通信設定を行います。

User NameとPasswordを入力しOkで進みましょう。

Done!

TwinCAT XAEからTwinCAT3 Runtimeの現在状態も取得できました。

Add EtherCAT Master

次はEtherCAT Masterを追加するため、I/O>Devices>Add New Itemをクリックします。

EtherCAT>EtherCAT Masterを選び>OKで進みます。

EtherCAT Masterとして使用するEthernet Adapterを設定しましょう。

Done!

Scan Network

次はTwinCATにあるScan機能を使用しネットワーク内にあるEtherCAT Slaveを検索します。

Done!BBHのSMFモジュールとワイドミュラーのモジュールが追加されました。

Add PLC

次はPLCプロジェクトを追加するために、PLC>右クリック>Add New itemします。

Standard PLC Projectを選び、AddでPCプロジェクトを追加しましょう。

Program

次はPLCプログラムを作成します。

DUT

構造体を追加するため、DUTs>Add>DUTをクリックします。

構造体の名前を設定しましょう。

DUT_FSOE 

こちらはBBHのSMF-XモジュールとワイドミュラーのUR20-4DI-DO-PN-FSOE-V2のFSOEメッセージ構造体になります。

TYPE DUT_FSOE :
STRUCT
MasterCMD :USINT;
SafetyOut0 :BYTE;
MasterCRC0 :UINT;
MasterConnID:UINT;
END_STRUCT
END_TYPE
DUT_BBH_SMF_DeviceState

こちらはBBH SMFモジュールのデバイス状態、またHMIの表示用として使用する構造体です。

TYPE DUT_BBH_SMF_DeviceState :
STRUCT
DeviceState :BYTE;
RUN :BIT;
EncoderState :BIT;
InputState :BIT;
OutputState :BIT;
ConfigLock :BIT;
Error :UINT;
END_STRUCT
END_TYPE

GVL

Global Variables Listを追加するため、GVLs>Add>Global Variables Listをクリックします。

Global Variables List名を設定してください。

GVL
{attribute ‘qualified_only’}
VAR_GLOBAL
Slot1_EL1904_IN AT %I*:DUT_FSOE;
Slot1_EL1904_OUT AT %Q*:DUT_FSOE;
Slot_SMF_1_IN AT %I*:DUT_FSOE;
Slot_SMF_1_OUT AT %Q*:DUT_FSOE;

Slot2_EL1904_IN AT %I*:DUT_FSOE;
Slot2_EL1904_OUT AT %Q*:DUT_FSOE;
Slot_SMF_2_IN AT %I*:DUT_FSOE;
Slot_SMF_2_OUT AT %Q*:DUT_FSOE;

Slot3_EL2904_IN AT %I*:DUT_FSOE;
Slot3_EL2904_OUT AT %Q*:DUT_FSOE;
Slot_SMF_3_IN AT %I*:DUT_FSOE;
Slot_SMF_3_OUT AT %Q*:DUT_FSOE;

END_VAR
GVL_BBH_SMF
{attribute ‘qualified_only’}
VAR_GLOBAL
BBH_SMF_DeviceState AT %I*:DUT_BBH_SMF_DeviceState;
END_VAR

Visu

こちらは今回記事で作成した画面になります。

MAIN

MAINプログラムではSMF-Xモジュールの入力はワイドミュラーのUR20-4DI-DO-PN-FSOE-V2の出力からLoop Backするようにします。

ワイドミュラーのUR20-4DI-DO-PN-FSOE-V2にも同じように、SMF-Xモジュールの出力データをUR20-4DI-DO-PN-FSOE-V2の入力データにLoop Backします。

GVL.Slot_SMF_1_OUT:=GVL.Slot1_EL1904_IN;
GVL.Slot1_EL1904_OUT:=GVL.Slot_SMF_1_IN;

GVL.Slot_SMF_2_OUT:=GVL.Slot2_EL1904_IN;
GVL.Slot2_EL1904_OUT:=GVL.Slot_SMF_2_IN;

GVL.Slot_SMF_3_OUT:=GVL.Slot3_EL2904_IN;
GVL.Slot3_EL2904_OUT:=GVL.Slot_SMF_3_IN;

MAIN_HMI

こちらはHMI画面にあるランプや文字列を表示するためのプログラムです。

PROGRAM HMI
VAR
Slot1_EL1904_IN :DUT_FSOE;
BBH_SMF_DeviceState :DUT_BBH_SMF_DeviceState;
END_VAR

Slot1_EL1904_IN:=GVL.Slot1_EL1904_IN;
BBH_SMF_DeviceState:=GVL_BBH_SMF.BBH_SMF_DeviceState;

Mapping

最後はSMF-XモジュールとワイドミュラーのUR20-4DI-DO-PN-FSOE-V2のProcess Data Mappingを行います。

BBH-Inputs

BBH SMFモジュールの入力データをMappingするために、Module1>FSoE SafetySlaveMessage 01 Bytes INを右クリックし>Change Linkをクリックします。

そして先ほどのGVLで定義した変数とMappingしましょう。

BBH-Outputs

BBH SMFモジュールの出力データをMappingするために、Module1>FSoE SafetySlaveMessage 01 Bytes Outを右クリックし>Change Linkをクリックします。

そして先ほどのGVLで定義した変数とMappingしましょう。

UR20-4DI-DO-PN-FSOE-V2-Inputs

ワイドミュラーのUR20-4DI-DO-PN-FSOE-V2の入力データをMappingするために、Module1>Input>FSOEを右クリックし>Change Linkをクリックします。

そして先ほどのGVLで定義した変数とMappingしましょう。

UR20-4DI-DO-PN-FSOE-V2-Outputs

ワイドミュラーのUR20-4DI-DO-PN-FSOE-V2の出力データをMappingするために、Module1>Output>FSOEを右クリックし>Change Linkをクリックします。

そして先ほどのGVLで定義した変数とMappingしましょう。

Activate Configuration

Activate ConfigurationをクリックしプロジェクトをTwinCAT3 RuntimeにDownloadしましょう。

OKで進みます。

TwinCAT RuntimeをRun Modeに切り替えましょう。

Login

Loginをクリックし、プログラムをRuntimeにDownloadします。

Start

TwinCAT3 Runtimeをスタートしましょう。

Result

こちらの動画で実際の動作確認をできます。

https://www.youtube.com/shorts/_qwgAb3Qm2g

Download

こちらのLinkから今回の記事のプロジェクトをDownloadできます。

https://github.com/soup01Threes/TwinCAT3/blob/main/TwinCATFSOEBBH.tnzip

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

シェアする

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

フォローする