Wago#750-325 CC-Link Coupler x QJ61BT11 CC-Link Network構築する

今回はWago 750-325CC CC-Link Couplerを使用し三菱のQJ61BT11のCC-Link Masterと通信します。ゼロからの立ち上げを説明しますのでよろしくお願いします。

Wago 750-325

Wago製の750-325 CC-Link FieldbusはWAGO-I/O-SYSTEMをCC-LINK Protocolと接続することができ、Head Station自動でインストールされているI/O Modulesの順でローカルProcess Imageを生成します。アナログやCounterの特別モジュールあWords/Bytes方式で送受信し、DI/DOはBitのグループで送受信します。

注意するのはアナログはローカルProcess Image内では一番先に振り分けられ、そのアドレスは実際I/O-SYSTEMにインストールされている順番になります。DI/DOデータは16BitのWordデータとしてまとめられ、もし>16Bitsであれば自動で次のWordデータにシフトしてきます。

I/O-SYSTEMは主と3つの部分が分けられ、以下のように(1)Fiebus Coupler/Controller部分・(2)DI/DO/AI/AO/CounterのようなNode・(3)のEnd-Modulesになります。

Power Supply

WAGO-I/O-SYSTEM 750システムを使用するには24vのDC電源が必要です。DC電源はFieldbus CouplerやControllerから供給され、場合によっては別のモジュール750-613になります。

LED

WAGO-I/O-SYSTEM はLEDからモジュールの現在状態を確認することができます。

LEDColorDescription
L RUNData Linkは実行中
L ERR通信エラー(Master)
SDデータは送信中
RDデータは受信中
I/OLocalとして稼働中
I/O緑Flashingデータ初期化待ち
I/O赤Flashingエラーあり

Rotate Switch

CC-Link Couplerには2つのRotate Switchがついており、モジュールのアドレスを設定できます。x10とx1があり、0-64まで設定できます。例えばx10は3、x1は1なら、そのモジュールのアドレスは31になります。

Rotate Switchを設定したら必ず電源を入れ直してください。

DIP Switch

CC-Link Couplerは赤色のDIP スイッチがついており、Coupleの通信設定を変更できます。

Pin8

CC-Linkの稼働モードを設定します。

ON=V2.0、Off=V1.1

Pin6/7

CC-LINKV2.0のExtend Cycle設定できます。


Pin4/5

Occupied Stationを設定します。

Pin1/2/3

通信速度を設定します。


Init

最初に電源をいれ>Wago 750-352がI/O Systemを初期化します。そのときI/O LEDが赤Flashingになり、もしOKならCouplerはOperating mode に移行し、I/O LEDが緑Flashingになります。もしNGならI/O LEDは赤Flashingになります。

Channel Setting

Configuration上ではcc-link Slave は最大4局まで拡張でき、V2.0ではData送受信するに1,2,4,8サイクルが設定できるようになっています。

以下の表ではDigitial data(Remote I/O)のMappingを一覧できます。Cycleや局数によりデータ量が違います。RXはInput Bits、RYはOutput Bitsになり*Points*の単位で表現します。そしてRWrはReadable register words、RWwはChangele register Wordsで、単位が*Words*で表現します。

Mapping concept 

Wago 750-352 のmapping コンセプトはすこくシンブルでdi do は指してる順からRx RY の順番に振り分けます。一枚めはrx0-rx7、 次はRx 8-rxf のようなイメージです。ai ao も同じ月一枚目はRwr Rww 0 ..の形です。

System Area 

実際System Area FlagはRemote XYの(M+N)になります。

MはRegisterの番号で例えばRX100から始まるとRX100、RX110など…

そのNは最後のRegister番号になり、計算式は:

Cycle=1

n=(Occupied Station*2)-1

Cycle>1

n=(2*Occupied Station * No. of cycle)-(No.of Cycles+1)

例えばいまCC-Link V2.0、Occupied Station=4、Cycle=4、RX=100から始まる。

n=(2*Occupied Station * No. of cycle)-(No.of Cycles+1)

n=(2*4*4)-(4-1)=32-5=27Dec=1B in Hex.

RX=100であればその実際のSystem AreaがRX2B0になります。

では実際に計算しなくてもManualにも全部乗っていますー

QJ61BT11

三菱のQJ61BT11はCC-LinkのMasterかSlaveとして構築することができるモジュールです。

LED

LEDSignalDescription
RUNON正常
ERRONエラー発生
MSTONMaster局として稼働
S MSTONStand by Master局として稼働
L RUNONData Link実行中
L ERRON通信エラー
SDONデータ送信中
RDONデータ受信中

Station Number setting switch

0=Master

1-64=はLocalかStand by

もし設定範囲は0-64以外であればERR LEDはONになります

Transmission rate/Mode Setting

Terminal Block

Configuration


Mitsubishi Side

では三菱のQJ61BT11モジュールを設定し、プログラムも作成してみます。

Create new project

GXWORKS2を起動し、Project>Newで新規プロジェクトを作成します。

今回使用するのはQ04UDEHなので、SeriesはQCPU、TypeはQ04UDEH、Project TypeはStructured Project、LanguageはSTにし、OKで確認します。

PLC Parameter

次はHardware Configurationの設定を行います。

Parameter>PLC Parameterをクリックします。

I/O Assignment

I/O AssignmentのTabを開きます。

今回は3つのIntellignetモジュールがインストールされましたので、TypeはIntellignetを選択>Pointsは32Points>Start XYはて適当でOKです。CCLINKモジュールはSlot2でStart XYは0040です。これだけは頭においてください。

PLC RAS

とりあえずエラーがあってもCPUが止まらないように設定します。

PLC System

毎回CPUのReset ボタンを押すと面倒なのでRemote ResetのAllowにCheckboxを入れます。

Configure CC-LINK network

次はCCLINK-Masterを構築します。

Parameter>Network Parameter>CC-Linkをクリックします。

Start I/O No

Start I/O No.は0040にします。先I/O AssignmentでStart XYを0040に設定したか覚えていますか。その0040はこのTabのStart I/O No.に合わせる必要があります。

Type

今回はMasterにしますので、TypeがMaster Stationを選びます。

Mode

CCLINKのバージョンです。V1とV2がありますが、今回はRemote Net(Ver.2 Mode)にします。

Set the station Information in the CC-Link Configuration window 

Set the station in the CC-Link Configuration windowのCheckboxを入れます。

Total Module Connected

この記事ではWagoのCCLink Couplerと1対1でつながるだけなので、Total Module Connectedは1にします。

Remote Input(RX)/Output(RY)

各Local Stationと交換するBitメモリを設定します。

RXはRemote Inputで、RYはRemote Outputです。

設定できる範囲はX/Y/M/L/B/D/W/R/ZRで、範囲はCPUによります。

Remote register(RWr) /(RWw)

各Local Stationと交換するWordデータを設定します。

RWrはRemote Inputで、RYはRemote Outputです。

設定できる範囲はM/L/B/D/W/R/ZRで、範囲はCPUによります。

Spectial Relay (SB)

モジュールのSpecial Relay(SB)を設定します。

設定できる範囲はM/L/B/D/W/R/ZRで、範囲はCPUによります。

Special register (SW)

モジュールのSpecial Register(SW)を設定します。

設定できる範囲はM/L/B/D/W/R/ZRで、範囲はCPUによります。

Station information Settings

最後は各Local Stationを設定します。Station Information SettingのCC-Link Configuration Settingをクリックします。

Wago 750-325の設定に合わせて行きましょう。

Station TypeはIntelligence Device Station、Versionは2、STA Occupiedは4、Cycle SettingはQuadupleでOKです。

Implemention

DUT

構造体を作成します。いまはWago 750-352のモジュール一つだけですが、複数になると変数を同じ構造体に定義すればよいです。

D_QJ61BT11N_IN

まずはQJ61BT11Nのモジュール入力構造体を定義します。

D_Wago_750_325_SystemArea_X

こちらはWago 750-352のCC-LINK Coupler System area入力を定義します。

D_Wago_750_325_SystemArea_Y

こちらはWago 750-352のCC-LINK Coupler System area出力を定義します。

Function Block

同じく、今回はWago 750-352一つだけですが、複数の場合はHandshakeプログラムをFB化したほうが便利かと、思います。

FB_Wago_750_325_HandShake

Local Label

Wago 750-352のSystem area入力・出力パラメタをFunction block内で判断し、いまのモジュール状態を出力します。i_MasterRdyはQJ61BT11Nの状態です。i_Resetはもし初期化がエラー発生すると、リセットしない限り再初期化しません。

初期化のプログラムはWago 750-352のManualのTime Chartと一緒です。

Program

以下はプログラムです。三菱でもできるだけST書くので(また命令を勉強するのは面倒です)、Wago 750-352からデータ初期化のリクエストが立ち上がったら、初期化プログラムを始めます。System area出力y8、y9をTrueにし、Wago 750-352がxF(モジュールReady)を返答するかをCheckする。もしReady Flagが来ないのであれば、初期化問題があると判断します。

fb_Init_DataReq(
_CLK:=M_750_325_Sys_x.x8InitDataReq
);

IF fb_Init_DataReq.Q AND i_MasterRdy THEN
iStep:=1;
END_IF;

CASE iStep OF

1:
q_Inited:=FALSE;
io_SystemArea_y.y8InitDataComp:=TRUE;
io_SystemArea_y.y9InitDataReq:=TRUE;
TON1(In:=TRUE,PT:=T#0.5s);
IF TON1.Q THEN
iStep:=5;
END_IF;
5:
TON1(in:=FALSE);
iStep:=10;
10:
IF NOT io_SystemArea_x.x8InitDataReq AND io_SystemArea_x.x9InitDataOK THEN
iStep:=20;
END_IF;
IF io_SystemArea_x.xAErrorStatus THEN
iStep:=99;
END_IF;
20:
io_SystemArea_y.y8InitDataComp:=FALSE;
io_SystemArea_y.y9InitDataReq:=FALSE;
iStep:=30;
TON1(in:=TRUE,pt:=T#0.5s);
IF TON1.Q THEN
iStep:=21;
END_IF;
21:
TON1(in:=FALSE);
iStep:=30;
30:
IF io_SystemArea_x.xBStationRdy THEN
iStep:=0;
q_Inited:=TRUE;
ELSE
iStep:=99;
END_IF;
99:
q_InitError:=TRUE;
IF i_Reset THEN
q_InitError:=FALSE;
iStep:=0;
END_IF;

END_CASE;

q_ModuleError:=M_750_325_Sys_x.xAErrorStatus;
q_Ready:=M_750_325_Sys_x.xBStationRdy;

Global Label

Channel1.Channel2の入力・出力・System area Flag、あとQ61BT11NのモジュールINPUTを定義します。

Main

Local Label

Wago_750_325_1はHandshake用のInstanceです。他にはプログラム用のFlagです。

Program

QJ61BT11Nが正常かを判断し、そしてHandshake Function blockを呼び出し、Wago 750-352 CC-LINK Couplerを初期化します。

(*Check QJ61BT11N Status *)
ModuleReady:=Module1.x1HostDataOK AND Module1.xFReady;

(*Check 750-325 Status*)
WagoCouplerReady:=NOT M_750_325_Sys_x.xAErrorStatus;

Wago_750_325_1(
io_SystemArea_x:=M_750_325_Sys_x
,io_SystemArea_y:= M_750_325_Sys_y
,i_MasterRdy:=ModuleReady
,i_Reset:=Reset
,q_Inited:=Inited
,q_InitError:=InitError
,q_Ready:=Ready
,q_ModuleError:=ModuleError
);

CASE iStep OF

0:
FOR Index:=0 TO 7 DO
M_750_325_Ch1_y[Index]:=FALSE;
M_750_325_Ch2_y[Index]:=TRUE;

END_FOR;
TON1(
In:=TRUE
,PT:=T#1s)
;
IF TON1.Q THEN
TON1(IN:=FALSE);
iStep:=10;
END_IF;


10:
FOR Index:=0 TO 7 DO
M_750_325_Ch1_y[Index]:=TRUE;
M_750_325_Ch2_y[Index]:=FALSE;
END_FOR;
TON1(
In:=TRUE
,PT:=T#1s)
;
IF TON1.Q THEN
TON1(IN:=FALSE);
iStep:=0;
END_IF;
END_CASE;

Result

この動画で構築紹介から結果までみえます↓

Source Code

https://github.com/soup01Threes/GXWROKS/blob/main/project_cclinkmodules_Wago750-352.gxw

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

シェアする

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

フォローする