この記事ではNX-CSG320 OMRON CIP Safety Controllerと Molex CIP Safety Hash IO Module TCDEC-8D4B-DYU-GWでCIP Safety Networkを構築します。Implementation-1はCIP Safety Networkの構築方法を0から説明し、次は簡単な安全プログラムを作成します。
もちろん、記事の中でOmron CPUやCIP SafetyのKeywordもすこし話します。
よろしくお願いします!
Reference Link
こちらの記事からSysmac Studioをインストールしてください。
Keyword
Omron CPU
RUN Mode
RUN ModeではCPUが検証完了した安全プログラムが稼働して、なおかつそのSafetyプログラムはnon-volatile memoryに保存されています。BOOL変数の制御は不可で、なおかつ現在値の変更や強制更新は禁止されます。
PROGRAM Mode
PROGRAM modeはCPU内にある安全プログラムが停止してる状態です。BOOL変数の制御は不可で、なおかつ現在値の変更や強制更新は禁止されます。
DEBUG Mode
DEBUG ModeではUserがSafety 検証する前の安全プログラムをDebugすることができ、注意するのはそのMode稼働できるのはSysmac StudioがOnline 状態でCPUと接続してるのみです。安全プログラムはそのModeでCPUのMain memoryに転送します。
Safety Validation
Safety Validataionは安全プログラムを検証するProcessです。Safety Validataionが完了すると安全プログラムが自動的にnon-volatile memoryに転送されます。
CIP /CIP Safety
TUNID
TUNID=Target Unique Network Identifierで、このIDをSafety Target にSafety Forward Request送信するとき一緒にPacketついてるIDで、Safety Targetを識別情報だと思ってください。
- General status=0x01、 extended status 0x80DはSafety TargetがTUNID設定されていない返答です。
- General status=0x01、extended status 0x80EはSafety TargetのTUNIDは設定と異なることの返答です。
ProfisafetやFOSEでも F-Addreessを設定することが必要だと、覚えていますか?
Safety Reset
Safety Resetは Safety Supervisor Object Specific Services 54hexの操作で、Safety Targetパラメーター・TUNIDなどをリセットします。一回リセットされたら、Configurationを再設定する必要があります。
SNCT
SNCT=Safety Network Configuration Tool、CIP Safety Netowrkを構築するためにあるツールでTUNIDの設定やSafety Resetなど様々な機能をもっています。
EDS File
EDS FileはProfinetのGSDMLやEtherCATのESI FileのようにEthernet/IPの機器を簡単に接続できるように、ScannerのEngineering ToolsにImportするFileです。
Configuration
こちらは今回の構成です。
Implementation-1
まずはCIP Safetyを0から構築をStep by Stepで説明します。
Molex Side
Adapter側、今回使用するMolex CIP Safety Hash IO Moduleから設定していきます。
Download SNCT Tools
下記のLinkからMolexのSNCTツールをDownloadします。このツールからSafety ResetやMolex CIP Safety Hash IO Moduleを設定できます。
https://www.molex.com/molex/mysst/doCenter.action
Safety Network Configuration Tools>Downloadします。
Zip fileがDownloadされました。
Installation
Fileを解凍しsetup.exeからツールをインストールします。
Next>.
Next>.
Install.
インストール完了した。
SNCTDevice はOSにインストールされました。
Download EDS Files
次は同じWebからEDS FileもDownloadしてください。
Configure the Module
最初にMolex CIP safety Hash IOをリセットします。
Molex SNCT Software が起動しました。
Create New Project
File>New で新規プロジェクトを作成します。
今回の記事ではTCDEC-8B4B-DYU-Gx を使用しますので、デバイスを選び>OKします。
新規プロジェクトが作成されました。
Go Online
モジュールと接続してるNetwork Interfaceを選び>デバイスのIPを設定>最後はSafety Network Numberを設定すればOKです。(Defaultにしたまま、OmronのツールからSafety Network Numberを設定してもOKです。Module Discovery でデバイスを検索します。
CIP Safety Hash IOを選んで>Selectします。
“Establish communication with the module”をクリックしモジュールと接続します。
TUNIDが実機とProject異なるのでいいですか?の警告があります。
Yesで進みます。
Safety Reset
接続に成功したらSafety Operation Tabを開き>Safety Resetボタンでモジュールをリセットします。
Safety Resetするとすべての情報がリセットされるが大丈夫ですかって。Yesで進みます。
Yesで進みます。
Safety Reset完了です!
Omron Side
これからOmron側を構築します。
Install EDS File
sysmac studioを開き新規プロジェクトを作成し>MultiviewからSafety CPUを選びます。
Go to Configurations and Setup>Communications>Safety>Safety I/O>EtherNet/IP Safety Connection Settings、Connection Settings(Originator)をダブルクリックします。
空きのところで右クリック>EDS Library CIP Safetyします。
CIP Safety Library が表示されました。
InstallボタンでEDS FileをImportします。
先程DownloadしたEDS Fileを選んでください。
EDS File がインストールされました。
”X”ボタンでCIP Safety Libraryを閉じます。
Insert in your CIP Safety Network
[35] Safety Discrete I/O DeviceがToolboxにImportされました。
TCDEC-8B48-DYU-Gを選び>右クリック>Insertします。
TCDEC-8B48-DYU-GはCIP Safety NetworkにImportされました。
Configure the CIP Safety Devices
これからTCDEC-8B48-DYU-G CIP Safety Hash IOモジュールを設定します。
IP Address
デバイスをDouble Clickします。
.
IPアドレスはここで変更できます。
TUNID
ですが、TUNIDは直接変更できません。
一旦先の設定画面を閉じて、 Safety Network Numberにある … Buttonをクリックします。
現在の Safety Network Numberが表示されています。
Manualを選び>手動からSNNを入力し設定してみましょう。今回は 0004 1234を入力しOKで完了します。
OKでTUNIDの変更を確認します。
もう一度先のPropertiesをみると、SNNが自動変更されました!
Parameters
Open the I/O Configuration Tab to setup the Module Parameter, based on your Application.
I/O Configuration Tabからモジュールのパラメーターの設定をしてください。
Property
最後のProperty TabでVendor IDやTypeなどモジュールに関する情報を一覧できます。
Online
Engineering ToolsをOnline Modeに切り替えます。
Warningが表示され、いまのプロジェクトはCPU内にあるものと異なると。OKで進みます。
Switch to PROGRAM Mode
Controller>Mode>PROGRAM Modeに切り替えます。
Yesで進みます。
OK.
Passwordを入力しOkで進みます。(もし設定してなかったら空きのままにしてください)
OKでCPUを正式にPROGRAM modeに切り替えます。
Switch to DEBUG Mode
次はCPUをDEBUG Modeに切り替えます。Controller>ModeでDEBUG Modeします。
Yesで進みます。
Yesで現在CPU内のアプリケーションを削除します。
OKします。
OKでEngineering ToolsとSafety CPUを接続します。
Yesします。
Passwordを入力しOkで進みます。(もし設定してなかったら空きのままにしてください)
Safety Validation
Controller>Safety ValidationでSafetyアプリケーションをコンパイルしCPUにDownloadします。
YesでBootアプリケーションを作成します。
OKで完了します。
いまSafety アプリケーションをCPUに転送しています。
Done!
RUN Mode
最後はController>ModeでCPUをRun Modeに切り替えます。
Yesします。
Yes します。
Done!
OKです。
Safety ApplicationにLogin します。
Set TUNID
最後はSafety TargetのTUNIDを設定します。もちろんSNTCツールからもできますが、今回はSysmac studioから作業を行います。デバイス右クリック>Target Device>Set TUNIDします。
完成です!
Download the Program
Safety アプリケーションだけではなく、プロジェクト全体もCPUにDownloadする必要があります。Multiview ExplorerからControllerを選びます。
to Controllerでプロジェクト をCPUにDownloadします。
Executeします。
Yesします。
Yesします。
完成です!
Result
いまから接続状態を確認します。Multiview ExplorerからSafety CPUを選択します。
CIP Safety Monitorを起動します。
CPUとMolex CIP safety Hash IOと問題なく通信し、現在の状態も確認できます。
もちろんSNCTツールからModule InformationのTabからReflashするとエラーなしで確認できます。
NX-CSG320からRUNの緑LEDが点灯になり、ERROR LEDがOFFしてます。SL5500 Safety モジュールのTS/NS LEDも点灯し、LED Displayにもエラー表示ありません。
CIP Safety Hash IOではNET LedとMOD Ledも緑点灯です。
Implementation-2
CIP Safety 通信確立だけではつまらないので、少し安全プログラムも作ってみましょう。
Create Global Safety Variable
Programming>Data>Global Variablesで変数を作成します。
いくつかのSAFEBOOL データ・タイプの変数を定義します。
I/O Mapping
次は変数をモジュールのIOとMappingします。Configuration and Setup>I/O Mapを開きます。
Ethernet/IP Port 1(Originator)を開き、CIP Safety Hash Modulesを展開します。
Variableをクリックします。
先程定義した変数がDrop-listから選択できます。
このようにModule_SI0はSI0と紐つけました。
このようにすべての変数も紐つけてください。
Program
Programming>POUs>Programs>Program0で安全プログラムを作成します。
安全プログラムのEditorが表示されました。
Add SF_TON
ToolboxからSF_TON Function BlockをNetworkに追加します。そのSF_TONはIEC_TIMERのSafety Versionだとイメージすればよいです。
SF_TONはNetworkに追加され、そのままEnterをおせばFunction BlockのInstanceが自動追加されます。
SF_TON_0 Instanceが定義されました。
Add Inputs
INの パラメータを割り付け、…Buttonをクリックします。
リストからModel_SI0を選びます。
安全変数Module_SI0 はSF_TONの”IN”に紐付けられました.
Add PT
Click the PT Field and press the … Button.
次はPT、いわゆるTimerのDelay設定値です。
定数5秒、T#5sを入れてみます。
PTパラメーターがOKです。
Add Q
最後にQの出力を割り付けます。Qを選んで>右クリック>Insert Assignmentします。
Output Assignment が追加されました。
Assignmnet のところにある…ボタンをクリックします。
Module_SO0を設定します。
よし、これもOKです。
次はQのところを選んで>Insert Assignmentします。
また新しい出力がAssignされました。
Module1_SO1を出力として割り付けます。
Result
Safety アプリケーションをCPUにDownloadし、結果をMonitorしてみます。
Module1_SI0 の入力信号が5秒以上Trueになったので、Module_SO0とModule_SO1はTrueに変わります。
ModuleからみるとInput I0が5秒以上ONになったので、O0、O1がTrueに変わります。