Mitsubishi FX5UC + FX3U-CAN(Slave) & Beckhoff CX51xx(TwinCAT2) + EL6751(Master) : CANopen

PLC

三菱電機FX5UCにCANopenマスタ・スレーブユニット「FX3U-CAN」を装着し、BeckhoffのCANopenマスターユニットEL6751と接続します。

1 構成

2 三菱電機FX5UCの設定

以下のリンク先からサンプルプログラム「iQ-F – GX Works3 – CANopen – MEU+FX5UCPU_FX3UCANopen_00B」とEDSファイルをダウンロードします。
https://gb.mitsubishielectric.com/fa/products/cnt/plc/plc_fx/network-communication/fx3u-can.html#downloads

サンプルプログラムを開き、ユニット構成で「FX5-CNV-BUS」を削除して「FX5-CNV-BUSC」を配置します。

“オンライン”から“シーケンサへの書込み”を選択して書込み操作を実施後、CPUリセットします。

3 Beckhoff TwinCAT2の設定

上記でダウンロードしたFX3U-CANのEDSファイルをTwinCATインストールフォルダ下の「CANopen」フォルダに置きます。

TwinCAT2のSystem Managerを起動し、「Choose Target..」からCX51xxとオンライン接続を確立します。(手順は基本的な内容のため省略)

「I/O Configuration」から「Scan Devices..」を選択します。

“はい”。

Baudrateに“1M”を選択して“OK”。

“はい”。

TwinCAT2のPLC Controlを起動して以下のような変数を作成し、プログラム本体にセミコロン「;」を記述してビルド及び保存します。

System Managerの「PLC – Configuration」を右クリックして「Append PLC Project…」を選択します。

上記のPLC Controlでビルドすることで作成された拡張子「.tpy」のファイルを選択します。

FX3U-CANの入力に変数をリンクします。

同様に、FX3U-CANの出力に変数をリンクします。

「Generate mappings」→「Check Configuration」→「Activate Configuration」の手順でRun Modeにします。

4 動作確認

GX-Works3でプログラムPOU「FX5CANopen_08_DataExchange_PRG」を開いてモニタ状態にし、データ交換用FBを実行するための変数を以下に示す順でTRUEにします。

FX5UC側で書き込む変数「u4WriteData_PDO1[0]」の値は、Beckhoff側の「VarIn-0」に格納されます。

Beckhoff側で書き込む「VarOut-0」の値は、FX5UC側では変数「u4ReadData_PDO1[0]」に格納されます。

5 参考文献
三菱電機:https://gb.mitsubishielectric.com/fa/products/cnt/plc/plc_fx/network-communication/fx3u-can.html#downloads
Beckhoff:el6751en.pdf

以上。