今回の記事ではJTEKTのKOSTAC SJ-ETHER Series PLCにEthernet/IP Adapterを立ち上げ、WAGOの750-8215にCodesys Ethernet/IP Scannerと接続します。
さ、FAを楽しもう。
Reference Link
http://soup01.com/ja/category/jtekt/kostac/
Implementation
KOSTAC Side
最初にJTEKTのKOSTAC SJ ETHER シーリズPLCから構築していきます。
Configure Ethernet/IP
Kostac PLC Programming Softwareを起動し、PLC>PLC Setup>COM Port Setupをクリックします。
COM セットアップ画面が表示されます。
Ethernet/IP の設定をするには。PortのDrop-listから”Port3”を設定してください。
COM Port 設定画面がEthernet/IP Adpaterの構築画面になりました。
IP Address
IPアドレスをアプリケーションを合わせて設定してください。
Ethernet/IP Target
次はEthernet/IP Adapter設定を行います。
こちらはEthernet/IP Adapterの設定画面になります。
First Address of Data Linkをクリックし送受信データの先頭デバイスのアドレスを設定できます。
Done!
最後はWrite PLCをクリックし設定をCPUに書き込みましょう。
Yesで進みます。
またYesでCPUとPCとを再接続を行います。
Link Setup画面が表示されます。
Port>Ethernetで先程設定したIPアドレスを入力します。
Connection Testをクリックし通信テストを行います。
Done!
Program
次はJTEKTのKOSTAC SJ ETHER シーリズPLCのプログラムを作成します。
Network2
SP4接点は1秒ON/OFF繰り返しのデバイスになります。
LD?
LD は、レジスタ・メモリの位置である値をアキュムレータの下位 16 ビットにロードする命令です。
SHFL?
SHFLはアキュムレータのビットを命令で指定された桁数だけ左にシフトする命令です。
下図のように、入力 X0 がオンすると、レジスタ V40402 と V40403 の値がアキュムレータにロードされます。次はSHFL 命令を使用し、アキュムレータの値を 16 ビット左シフトし、 結果はアキュムレータに格納されます。
最後にOUTD 命令は、アキュムレータ値をレジスタ V40502 と V40503 に書き込みます。
OUT?
OUT外部出力や内部リレーなどを ON/OFF するために使用する命令です。
Network3
LDA?
LDA、任意の 8 進値またはアドレスを HEX 等値に変換し、その HEX 値をアキュムレータにロードする 命令です。
MOV?
MOVメモリ・テーブルから同じ長さの別の V メモリ・テーブルへ値を移動する命令です。
入力V0がオンになると、定数値8がDS1にロードされ、HEX変換された値は40420となります。 すなわち、0x4110 がアキュムレータの下位 16 ビットにロードされる。 レジスタ V40420 がソース・アドレス、8 がワード長になります。
MOV命令は、ソース・レジスタV40420〜V40427の値をデスティネーション・レジスタV3000〜V3007に移動させることになります。
SP1?
SPは特殊接点であり、SP1は常時ONになります。
Network4
こちらは特殊接点SP4(1sON/OFFパルス)でB27502.1をON/OFF繰り返しします。
OUTB?
OUTB/SETB/RSTB命令は、指定されたレジスタの特定のビットをON/OFFするために使用されます。
Example
- Rung1:X10がONになると、レジスタV3000のビット0がONになります。
- Rung2:X11がONになると、レジスタV3000のビット1がONになります。
- Rung3:X12がONになると、レジスタV3000のビット0がOFF(RESET)になります。
Network5
Network5ではV27503を1に加算するプログラムになります。ここで直接RegisterをBit単位でアクセスするためにSTRB命令を使用しました。
STRB?
STRB/STRNB 命令は、それぞれノーマルオープン/クローズ接点を持つラングで、レジスタをBit単位でアクセスできます。BLDはビットA接点、STRNBはビットB接点になります。
WAGO Side
次はWAGO 750-8215のCodesys側を構築します。
Configure IP
注意するのはIPの変更は直ちに有効となり、Network Interfaceの変更によって接続が切れることがあります。Network>TCP/IP Configuration>IP SocureにStatic IPを設定し、IPアドレスを設定しましょう。
Download EDS File
下記のLinkからSJ-ETHER EDS FileをDownloadしてください。
https://www.electronics.jtekt.co.jp/en/download/plc/
Install EDS File
次はCodesysのIDEからEDS Fileをインストールするため、Tools>Device Repositoryをクリックします。
InstallボタンをクリックしEDS Fileをインストールしましょう。
Add Etherent
WAGO PFC200のControllerにEthernet Driverを追加するため、Device>Add Deviceを右クリックします。
Ethernet Adapter>Ethernetを選び、Add DeviceでAdapterを追加しましょう。
IP Configuration
General>Network Interface>Browseで適切なNetwork Interfaceを選択します。
Br0を設定し、Okで進みます。
Add Ethernet IP Scanner
次はEthenret IP Scannerを追加します。
Add SJ-11DD1-EP-D
次はEthernet Driverから先ほど追加したEthernet/IP Adapter SJ-11DD1EP-Dを追加します。
IP Configuration
SJ-11DD1EP-Dをクリックし>General TabからIPアドレスを変更してください。
Connection
次はConnection Tab>Edit Connectionで接続設定を行います。
こちらはCodesysのEthernet/IP Adpater接続の設定画面になります。
基本はScanner to TargetとTarget to Scannerのデータサイズを合わせておけばOKです。
Program
今度はプログラムを作成します。
GVL_SJ11DD1EIP_D
こちらはJTEKTのKOSTAC SJ-ETHER Series PLCにEthernet/IP通信で交換するIOデータになります。
{attribute ‘qualified_only’} VAR_GLOBAL InSize AT %IW200:UINT; Indata AT %IB210:DUT_20ByteArray; OutSize AT %QW230:UINT; OutData AT %QB240:DUT_20ByteArray; END_VAR |
MAIN
こちらはMEM.MemMove関数を利用しデータを一括転送します。
PROGRAM PLC_PRG VAR test1:INT; bPlus:BOOL; OutData:ARRAY[0..9]OF WORD; InputData:ARRAY[0..9]OF WORD; END_VAR OutData[0].15:=bPlus; MEM.MemMove( pSource:=ADR(OutData) ,pDestination:=ADR(GVL_SJ11DD1EIP_D.OutData) ,uiNumberOfBytes:=SIZEOF(OutData) ); MEM.MemMove( pSource:=ADR(GVL_SJ11DD1EIP_D.Indata) ,pDestination:=ADR(InputData) ,uiNumberOfBytes:=SIZEOF(OutData) ); |
Mapping
Ethernet/IP MappingのAddressを先程GVLで定義した絶対アドレスに合わせて設定しましょう。
Result
Done!JTEKTのKOSTAC SJ-ETHER Series PLCとEthernet/IPで通信できました。
次はJTEKTのKOSTAC SJ-ETHER Series PLC側で送信データに新しい値を書き込みます。
Done!
次はData Viewを作成しEthernet/IP間の送受信データを確認しましょう。
Done!WAGO側送信したデータをJTEKTのKOSTAC SJ ETHER シーリズPLCにも確認できました。
今度はJTEKTのKOSTAC SJ ETHER シーリズPLC側の出力データを書き込みます。
Done!
最後はJTEKTのKOSTAC SJ ETHER シーリズPLCにあるレジスタを加算しWAGO側に送信します。
Done!