今回の記事は三菱IQ-RのR71FG11-T2を使用し、CC−LIINK IE FIELDネットワークを構築します。Slave側はNZ2GF12A2-16T、同様に三菱のIP67 RemoteIOを使用します。よろしくおねがいします。
RJ71GF11-T2
CCLINK-IE-Fieldが対応できるネットワークモジュールです。
NZ2GF12A2-16T
こちらは今回使用るIP67防水出力モジュールです。
Power
使用するのは7/8″ waterproof connector, 5 pins, male (IN)/female (OUT)です。
IN
こちらはPower CableのPin配置です。
Out
こちらはOUTPUT のPin配置です。
Output Ports
使用するのはM12 waterproof connector, 5 pins, female, A-codeです。
各Portの詳しいPin配置になります。
Mappings-Remote RX/RY
RX/RYのMappingです。
Mappings-Remote Rrw/Rwr
Rrw/RwrのMappingです。
Station setup
CC−LIINK IE FIELDはCC-LINKと同じくStation番号をセットアップする必要があります。モジュールにあるRotaryスイッチから1-120まで設定してください。
1-120以外の番号に設定したらD LINK LED が点滅になります。
そしてStation番号をセットアップするときは必ず先に電源を落としてからやりましょう。
Network interface
Network Portは使用するのはM12 waterproof connector, 8 pins, female, X-codeです。
Parameters
パラメータはすべて説明するのは難しいので、一つよくはまりそうなところを説明します。
Initial processingというパラメーターです。
そのパラメータはモジュール初期化するのにプログラムのHandshakeが必要かどうかです。
もし0ならRww0.b8がTrueになったら、プログラム側がRwr0.b8を返せばよいです。
Initial processing=0
もし0ならRww0.b8がTrueになったら、プログラム側がRwr0.b8を返せばよいです。
Timechart
Initial processing=1
プログラムが特にやることないです。
Timechart
Create New Project
Project>Newで新規プロジェクトを作成します。
CPU Typeをアプリケーションに合わせて設定し>OKします。
Safety PLCなので、User nameとPasswordの設定が必要です。
User nameとPasswordを入力しOkします。
Projectを保存します。
Module Labelを使用したいので、Setting Changeをクリックします。
Use Module Labelの選択をYesに選択し>OKします。
OKです。
Label>Global Label>M+GlobalのListが追加されました。
中にRCPUのSystem Labelが自動的に追加されました。
Hardware Configuration
まずはHardware Configurationから始めます。Parameter>System Parameterをクリックします。
O/O Assignment Settingをクリックします。
Add R6SFM
CPUの隣のSlotはR6SFMなので、0のFieldにある…のボタンをクリックします。
R6SFMを検索し>R6SFMを選択>Okで追加します。
モジュールが正しいかもういっかいCheckし、OKします。
OKで確定します。
これでR6SFMが追加されました。
Add RJ71GF11-T2
次はCC-LINK IE Fieldのモジュールです。Slot1に…のボタンをクリックします。
RJ71GFを検索し>R71GF11-T2を選択>OKで確定します。
モジュールが正しいかを確認しOKdせいます。
それでRJ71GF11-T2も追加されました。
OKで確定します。
M+GlobalにRCPUだけではなく、R6SFM_1よGF11_1もGXWORKS3から追加されました。
Tools-Check Parameters
いまRJ71GF11-T2に!Markがついています。
Tool>Check Parameterします。
間違いがなければ!マークが消えます。
Convert
次は一回Convert>ConvertでProjectをコンパイルします。
OKします。
Download
コンパイルがエラーなければ、Write to PLCでConfigurationをCPUにDownloadしましょう。
Passwordを入力しOKします。
もしSafety CPUにもうすでにUser 情報が入ってるのであれば、Mismatchのエラーが表示されます。
Initialize all PLC Data
もし先のエラーが発生した場合、PLCのUser dataを初期化する必要があります。
Online>User Authentication>Initialize all PLC Dataをします。
Yesします。
Yesyします。
しばらく待つと、OkのMessageが表示され、それでOKです。
Write User Information to PLC
CPUのUser情報が初期化されたら、次はいまのProjectのUser 情報をCPUに書き込む必要があります。Online>Authentication>Write User information to PLCします。
Yesします。
よし、これでOK。
Download Again
最後はWrite to PLCでもう一回Downloadします。
Passwordを入力しOKします。
All を選択しExecuteでプロジェクト転送します。
しばらく待ちます…
Confirmation1,Cofirmation2をCheckbox入れ、Closeします。
Swtich to test Mode
次はTest Modeに切り替えます。Online>Safety PLC Operation>Switch Safety Operation Modeです。
Switchボタンをクリックします。
もう一回Confirm1、Confirm2にCheckbox入れ、Yesします。
よし、CPUを再起動すればOKです。
Check the status
最後はOnline>Safety PLC Operation>Check Safety Data Identityで状態をCheckします。
CPUはもうSafety Modeになっていますね。
Configuration the Module
こちらは今回の構成になります、R71GF11-T2モジュールはNZ2GF12A2-16TとCC−LIINK IE FIELDで繋がります。
Configure as Master Station
最初はRJ71GF11-T2をMaster Stationとして構築します。
Station Stype>Station Typeをクリックします。
Station Type を Local Stationに変えます。
Yesします。
RJ71GF11-T2はMaster Stationになると、Station番号が0になります。
Set the IP
モジュールのIPを設定します。Application settings>IP Addressをクリックします。
IPを設定し>Applyで確定します。
Network Configuration
基本の設定が終わったら次はネットワーク上のSlaveを追加します。
Basic Settings>Network Configuration Settingsをクリックします。
Network Configuration Settingsをクリックします。
Yesします。
Slaveの設定画面に変わります。
Scan the Devices
今回使用するのは三菱のCC-LINK IE Field Slaveなので、そのままDetect Now機能を使用できます。
Yesします。
しばらく待ちます…
完了です!
Station番号15のNZ2GF12A2-16TがScanされました。
NZ2GF12A2-16TのRx/RyとRww/RwrのStart Offsetを設定します。
CC IE Field Configuration>Close with Reflecting the Settingで設定を保存します。
Applyで適用します。
Check the parameters
先のSlave設定画面でSlaveデバイスを右クリック>Online>Parameter Processing of Slave Stationをクリックします。
Parameter操作画面が表示されます。まずいまモジュールのパラメータをCheckします。
Method Selectionを開き、Parameter Readを選択し>Execute Parameter Processingします。
Yesです。
しばらく待ちます…
–
Parameter Readコマンドは実行完了です。
いまInitial operation settingsの現在値は1;Withoutになっています。
Write Parameters
念のために、もう一度そのパラメータを書き込みます。
Reflesh Settings
次はReflesh settings>Reflesh SettingsのところにあるDetailed Settingをクリックします。
RX/RY/RWr/RWwのRefleshデバイスを設定し>Applyします。
Download
最後はWrite to PLCでプロジェクトをCPUにDownloadします。
Program
Global Label
まずはReflesh設定された出力D1をラベルで定義します。
LocalStation15Outputs Bit(0..15) VAR_GLOBAL D1.0 |
Scan Program
Local Label
次はいくつかの変数をScan Programで定義します。モジュールの状態・出力切り替え用のTimerとパルス検知などです。
ModuleIsReady Bit VAR ModuleIsMaster Bit VAR ModuleHasPortError Bit VAR LocalStationError Bit VAR iStep Word [Signed] VAR ReflashTimer1 TON VAR iCounter Word [Signed] VAR R_TRIG_1s R_TRIG VAR iLoop Word [Signed] VAR |
Program
プログラムはモジュールの状態を取得し、もしモジュールが準備OKなら2秒ことに出力するPortを変わるの簡単プログラムです。
ModuleIsReady:=GF11_1.bIn_DataLink AND GF11_1.bIn_ModuleReady; ModuleIsMaster:=GF11_1.bOpe_Master; ModuleHasPortError:=GF11_1.bDetect_LinkDownError_Port1 AND GF11_1.bDetect_LinkDownError_Port2; LocalStationError:=GF11_1.bnSts_DataLinkError_Station[15] ; IF RCPU.stSM.bAfter_RUN1_Scan_ON OR LocalStationError THEN iStep:=0; END_IF; R_TRIG_1s(RCPU.stSM.b1sClock,M0); IF R_TRIG_1s.Q THEN iCounter:=iCounter+1; END_IF; IF iCounter >2 THEN IF LocalStation15Outputs[8] THEN FOR iLoop := 0 TO 15 DO CASE iLoop OF 0..7: LocalStation15Outputs[iLoop]:=TRUE; 8..15: LocalStation15Outputs[iLoop]:=FALSE; END_CASE; END_FOR; ELSE FOR iLoop := 0 TO 15 DO CASE iLoop OF 0..7: LocalStation15Outputs[iLoop]:=FALSE; 8..15: LocalStation15Outputs[iLoop]:=TRUE; END_CASE; END_FOR; END_IF; iCounter:=0; END_IF; |
Soruce Code
以下のLINKからプロジェクトをダウンロードしてださい。
https://github.com/soup01Threes/GXWROKS/blob/main/CCLINK_IE_Project.gx3
Result
結果はこうになりますー
まずD LINK LEDが緑になり、モジュールは0が表示されます。自分がMaster Stationであることを示しています。
出力もこのように交代ON/OFFしています。
モジュールの出力です!