Codesys#OMRONとEthernet/IP Tag通信しよう

今回の記事では、PilzとOMRONのPLCはそれぞれ異なるEXOR ex707MのPortに接続されていて、EXOR ex707Mの中にCodesysがインストールされ、片方はOMRONとEthernetNet/IP Tag通信、もう片方はPilzとEthernetNet/IP Assemblies通信させ、両方取ったデータをGatewayとして交換します。

さ、はじめよう。

Reference Link

Pilz#Part06_Build A Ethernet/IP Adapter and connect with TwinCAT/Mitsubishi

Configuration

こちらは実際今回の記事にあるHardware Configurationです。Tag通信しかいできないCJ2B-EIP21に困ったらぜひこの記事を参考してください。

Implementation

Pilz Side

Pilz側の詳しい設定やプログラム手法は先ほどのReference Linkを参考にしてください。

IP Address

Hardware Configuration>IP addressでPilz PSU4000のIPアドレスを設定してください。

Resources Global List

Resources Global ListでEthernet/IP Adapterの変数を定義します。

Program

次は簡単なプログラムを作成します。下図のプログラムではEthernet/IP経由で取得したデータをそのまま出力します。

Ethenret/IP Setting

Ethernet/IPの設定を行います。

Scanner Output Assembly Objectを32Bytesに設定します。

Scanner Input Assembly Objectを32Bytesに設定します。

Mapping Program to Task

次はプログラムをTaskに割り付けます。

Codesys Side

こちらは今回記事で使用したCodesys Versionです。

New Project

File>New Projectで新規プロジェクトを作成します。

Standard Projectを選び、OKに進みます。

Select Target

次は該当するプロジェクトのDevice Targetを設定します。

今回記事で使用するのはEXOR社のex707Mなので、Drop-Listからex700M/64を選びましょう。

Done!プロジェクトが作成されました。

Scan Network

次はCommunication Settings>Scan NetworkでEXORデバイスを検索しましょう。

Done!ex707Mシリーズのデバイスが検索できました。そのデバイスをクリックします。

Done!Codesys IDEとEXORデバイスの接続が確立しました。

Add Ethernet Driver<Ethernet/IP Adapter>

Device右クリック>Add DeviceでEthernet Driverを追加します。

Add Device画面が表示されます。

Ethernet Adapter>Ethernetを追加しましょう。

Add Ethernet/IP Adapter

次はEthenret Driverを選択し、右クリック>Add Deviceしましょう。

Fieldbues>EtherNet/IP>EtherNet Adapterを選び、Add Deviceで追加しましょう。

Done!

Add Ethernet/IP Module

次はEthenret/IP Adapterの通信Assembliesを追加するため、EtherNet/IP Adapterを右クリック>Add Deviceします。

EthernetNet/IP Moduleを選び、Add Deviceで追加します。

Assemblies Configuration

先ほど追加されたAssembliesをダブルクリックし>Assemblies画面を開きます。こちらはCodesys EtherNet/IP Assembliesの設定画面です。

O–>T

Comsuming Assemblyの項目でAddボタンをクリック、新しいAssemblyを追加します。

Assembly Objectの設定画面に変わります。

Data TypeをBYTEに設定し、Countを20に入力します。

つまりAssembly Objectは20Bytesのデータを占有することになります。

Done!

T–>O

Producing Assembly 側にも先程と同じ設定で行きましょう。

Export EDS File

最後はEthernetNet/IP AdapterのEDS FileをExportします。

General>Export EDS FileでEDS FileをExportしましょう。

Add Ethernet Driver<Ethernet/IP Scanner>

Device右クリック>Add DeviceでEthernet Driverを追加します。

Ethernet Adapter>Ethernetを追加しましょう。

Install EDS File

次はPilz PSSU4000のEDS FileをCodesys側でインストールするため、Tools>Device Repositoryをクリックします。

Installをクリックし、PilzのHPからDownloadしたEDS Fileをインストールしましょう。

Add Ethernet/IP Scanner

次はEthenret Driverを選択し、右クリック>Add Deviceしましょう。

PilzのPSS 4000を追加しましょう。

Done!

Configure the IP

先ほど追加したPSS 4000をダブルクリックし、GeneralのTabでIPアドレスを設定しましょう。

Edit Connection

次はConnectios Tabを開き、Edit Connectionをクリックしましょう。

こちらはCodesysのEthernetNet/IP 接続の設定画面になります。

O–>T SizeとT–>O SizeをPilzのPSS 4000プロジェクトに合わせて設定してください。

Done!

Add GVL

今度はGlobal Variable Listを追加するために、Application>右クリック>Add Obejct>Global Variable Listを開きます。

GVL名を入力します。

OMRONとPilz側にMappingする変数を定義します。

{attribute ‘qualified_only’}
VAR_GLOBAL
OMRONInByts,PilzInBytes:ARRAY[0..32]OF BYTE;
OMRONOutBytes,PilzOutBytes:ARRAY[0..32]OF BYTE;

END_VAR

Add POU

IOデータをGATEWAY機能として働くのプログラムを作成します。

POU名を入力し、POUを作成しましょう。

こちらはプログラムです。

MEM.MemMove(
pSource:=ADR(GVL_1.OMRONInByts)
,pDestination:=ADR(GVL_1.PilzOutBytes)
,uiNumberOfBytes:=SIZEOF(GVL_1.OMRONInByts)
);
MEM.MemMove(
pSource:=ADR(GVL_1.PilzInBytes)
,pDestination:=ADR(GVL_1.OMRONOutBytes)
,uiNumberOfBytes:=SIZEOF(GVL_1.OMRONInByts)
)
;

Add Task

高速で実行するTaskを追加するため、Task Configuration >Add Object >Taskをクリックします。

Task名を入力します。

Configure Task

IntervalでTaskのCycle Timeを設定し、Add Callをクリックします。

先ほど追加したPOUを選びましょう。

それでPOU IOが1msで実行するようになります。

Download

最後はプロジェクトをRuntimeにダウンロードしましょう。これでCodesys側が完了です。

OMRON CJ Side

最後はOMRON側です。

Configure EIP

CX-programerを開き、IO Table and Unit SetupでHardware Configurationを行います。

Ip address

Build-in Port/Inner Board>CJ2B-EIP21をクリックします。

IPアドレスをアプリケーションに合わせて設定しましょう。

Start Network Configurator

次はEthernetNet/IPのネットワークを構築するため、CJ2B-EIP21を右クリック>Start Special Application>Start with Settings Inheritedをクリックしましょう。

Network Configuratorを起動します。

Done!

Connect

PCとCPUでUSBやEthernetを接続し、Network>Connectをクリックします。

接続Interfaceを設定します。今回はUSB経由です。

BackPlane>CJ2B-EIP21>TCP-2の接続Interfaceを設定しましょう。

Use the existing networkを設定し、Okで進みます。

Done!

Upload

現在CPU内部にあるConfigurationをUploadするため、Network Configuratorの空き部分に右クリック>Uploadします。

Yesで進みます。

UploadしたいEthernetNet/IP機器を選択しましょう。

Done!CJ2B-EIP21がUploadされました。

Install EDS File

CodesysのEDS FileをNetwork Configuratorにインストールするため、EDS File>Installします。

先ほどCodesys IDEでExportしたEDS Fileを選びましょう。

Done!

Add to Ethernet/IP Network

CodesysのEthernetNet/IP Moduleをダブルクリックし、EthernetNet/IP ネットワークに追加します。

Done!CodesysのEthernetNet/IP Adapterが追加されました。

Change IP

先程追加したデバイスを右クリック>Change Node AddressでIPアドレスを変更します。

アプリケーションに合わせてIPアドレスを変更しましょう。

Configure Tags

EDS FileからImportされたCodesys EthernetNet/IP Adapterをダブルクリックしすると、先程Codesys IDEで設定したIOデータがありました。

次はCJ2B-EIP21をダブルクリックし、Tag SetsのTabを開き、通信Tagを追加します。

Edit Tagsをクリックします。

こちらの画面からTagの追加・変更などの作業を行います。

Newをクリックし新しいTagを追加します。

NameのFieldにDなど、OMRON CPUのデバイスを入力し、実際該当するTagとつながるとOMRONのMemoryと紐つけましょう。

下図の例では、D2000から2Bytes、つまりD2001までをTagとリングします。

今回ではD10100から20BytesのデータとTagをLinkさせます。

Configure Connections

次はCodesys<–>OMRON CJ2B-EIP21のTag通信接続を設定します。

ConnectionsのTabを開くと、Unregistere Device Listには先程登録したCodesys デバイスが表示されるはずです。

そのデバイスを選び>下の矢印をクリックします。

Done!いまCJ2B-EIP21とCodesys感のConnectionを設定しました。

次は2つのデバイス間で通信するTag Connectionを追加するため、Newをクリックします。

Adapter Edit Connectionの画面が表示されます。

Connection I/O Type

Connectio I/O Typeをアプリケーションに合わせて設定しましょう。

今回の例ではExclusive Ownerを設定します。

Input Tag Set

次はInput Tag Setを設定します。

Done!

Output Tag Set

Output Tagにも同じように設定します。

これでOkです。

Result

下図のように、CJ2B-EIP21とCodesys間でTag通信のConnectionを設定しました。

Download

最後はNetwork ConfigurationをCPUにDownloadしましょう。

Yesで進みます。

しばらく待ってください…

エラーを無視してください。

Program modeを切り替えて、ConfigurationをDownloadしましょう。

しばらく待ってください…

Result

Done!CodesysとCJ2B-EIP21がCIP I/Oを通信してます。

次はCX-ProgrammerからDメモリを確認しましょう。

PLC>Edit>Memoryをクリックします。

こちらはPLC Memoryを監視する画面で、実際入出力データを確認してください。

今度はNetwork ConfiguratorからCJ2B-EIP21の状態を確認しましょう。

CJ2B-EIP21>右クリック>Monitorします。

133=192.168.1.133=CodesysのIPアドレスで、現在Codesysと通信状態が正常であることを確認できました。

Connection Tabにも通信状態を確認できます。

下図のようにOMRONから書き込んだデータをPilz側にも反映されます。

EXORのHMI側ではCodesysのStackを入れたら、大体20%のCPU使用量になります。

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

シェアする

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

フォローする