こちらのTutorialはOmron NX1とHTP社のJ12E8B5-PLCをEthernet/IP接続します。
さ、はじめよう!
Implemenation
Switchbox hardware
J12E8B5-PLC(デジタル入出力のみタイプ)は12個のデジタル光絶縁入力(IB0~IB11など)、8個のデジタル光絶縁出力(0B0~0B7など)を備えています。そして最後の4個のデジタル出力(OB4~OB7など)は、PWM出力としても駆動できます。
Mapping‐T to O
下図はT->O、Instance 番号100、8バイトのMappingになります。
Mapping‐O to T
下図はO->T、Instance 番号150、6バイトのMappingになります。
Taskscript Side
TaskscriptからEthernet/IPのプロジェクトをもらい、IP_1_XXのBlockを開きます。
Value FieldでPLCのIPアドレスを設定します(入力Formatは16進数です)。
Omron Side
Configure the Ethernet/IP Port
Controller Setup>Build-in Ethernet/IP Port Settingsを開きます。
NX1 CPUは2つのEthernet/IP Portがありますので、アプリケーションに合わせて設定して行きましょう。
Define Global Variables
次はGlobal変数を定義します。こちらの変数はのちほどEthernet/IP のAdapterとデータ交換するためのMappingとして使います。
HTPInputデータは8Bytes配列で、Network PublishはInputを設定します。
HTPOututデータは6Bytes配列で、Network PublishはOutputを設定します。
Ethernet/IP Setting
今度はEtherent/IPのネットワークを構築します。
今回はNX1のPort2を使用するので、Port2をダブルクリックしてください。
こちらはEthernet/IP Port2の設定画面になります。
Install the EDS File
HTP JunctioboxのEDS Fileをインストールするため、右側にあるTool boxを右クリック>Display EDS Libraryをクリックします。
EDS Library画面が表示されます。
InstallボタンをクリックしEDS Fileをインストールしましょう。
HTP JunctioboxのEDS Fileを選択しましょう。
Done!
Registration Variables
次は先程定義したGlobal VariablesをEthernet/IP 変数として登録するため、Tag Set画面からRegisration Allボタンをクリックします。
Global VariablesにHTPinputとHTPOututが表示され、2つの変数をCheck入れ、Registerをクリックします。
Done!
Configure the Connections
HTP JunctioboxをEthernet/IP ネットワークに追加します。
Add Devices
HTP JunctioboxをTarget Deviceとして定義するため、Toolbox>+ボタンをクリックし新しいTarget Deviceを追加しましょう。
ToolboxにTarget Deviceの設定画面が表示されます。
Node address
Node AddressはEthernet/IP Adapterを使ってIPアドレスを入力します。
Model name
Model NameはHTP Junctionboxを選択します。
Revision
Revisionは2を設定します。
Done!
Add
デバイスの設定が完了したらAddボタンでTarget Deviceを追加します。
Result
Done!
Insert the Node
先程追加したTarget DeviceをConnection画面にDropします。
Connectionに新たのTarget Deviceが追加されました。
Target variables/Originator Variable
HTP JunctionboxのConnection Pathは20 04 24 03 2C 96 2C 64なので、
Input のTarget Variable=100(64Hex)で、OutputのTarget Value=150(96Hex)に設定します。
次はOriginator Variableは最初に登録された変数を設定しましょう。
Program
ネットワークの設定が完了しましたので、今度はプログラムを作ります。
Data Types
構造体を定義するため、Data>Data Typesを開きます。
ByteとBool配列のUnion(共同体)を定義します。
Ladder Program
最後は簡単なラダープログラムを作成します。
Externals
Externals Tabではプログラム内でアクセスする外部変数を定義します。
Internals
次は共同体の変数を定義します。
Rungs
HTP JunctionboxとEthernet/IP 経由で受信した0 Byte目データは入力状態なので、一旦共同体変数に移動します。
そして入力の状態によってそのまま同じ番号の出力をTrue/Falseさせます。
Online
下図のOnlineボタンをクリックしSysmac StudioとNX1 CPUを接続します。
Download
to ControllerボタンをクリックしプロジェクトをCPUにDownloadしましょう。
Executeで進みます。
Yesで進みます。
しばらくまちます…
Yesで進みます。
Done!
Result
WiresharkではCIP CMのパケットがあり、Forward OpenのリクエストのSuccessの返事がHTP Junctionboxから来ました。
CIP I/O Messageにもありました。
こちらの動画から動作確認できます。