EtherNet/IPネットワークおよび汎用Ethernet(BACnet等)に接続するためのインテリジェント機能ユニットで、今回はSetupやプログラミング方法について説明します。
Manual And Information
詳しくはこちらへ↓
Reference Link
Function Blockのパラメータの意味とConfiguration Toolsの設定はほぼ同じなので、ここで詳しく説明しません。
Flow
- Un\G37.0をTrueします(Ethernet/IP通信リクエストStart信号)
- Conneciton Open
- 正常であればモジュールから返事
- プログラム上でデータ転送
- データをRPIの設定沿ってデータを交換する
- データ交換
New Project
Project>Newで新しいプロジェクトを追加します。
SeriesはFX5CPUで、TypeはFX5Uです。
Connection Setup
次は左のConnection DestinationのTabをクリックします。
Connectionをクリックします。
今回は直接繋がりますので、Direct Coupled Setting>Ethernet>Your Network CARDを設定し、Communication Testします。
よし、Connection OK。
Insert FX5-ENET/IP
次はFX5-ENET/IPをInsertします。
Module Configurationをクリックします。
Element SelectionをFX5-ENET/IPを選択し、追加してください。
これでOKです。
Parameter Setup
モジュールのパラメータを設定します。
Module Information>FX5-ENET/IPクリックします。
次はBasic setup>Own Node Settings>IPを設定します。
Tools>Check Parameterでパラメータが正しくセットされたかどうかを確認します。
Download
ProjectをCPUにダウンロードする前に一回Rebuild Allします。
そしてWrite to PLCでDownload。
すべてCheckしてExecuteします。
Remote Stopしますか?
Yesします。
上書きしますか?YES。
しばらく待ちます…
リセットすればOKです。
Library Operation
次はFXEIP通信ライブラリを追加します。
Project>Library Operation>Register to Library List>User Library.
ModuleのTabを開きます。
EIPモジュールのModule Lableを追加します。
同じくFunction Blockも。
書き込むが必要な場合、SetoutputDataも入れてください。
EIP Configuration Tools
下記のLinkからEIP Configuratio Toolsをダウンロードできます。
インストールしたら、EIP-CT for FC5-ENTIPが出てきます。
EIPCT_Consoleを管理者権限で実行します。
次はもIQ-RのEIP Configuratio Tools操作と同じですので、詳しくは説明しません。
注意するのはFunction BlockのConnection 番号はこのConnection Noを参照しています。
Program
VAR
VAR counteri :Word [Signed] fbwriteCmd1 :M+FX5ENETIP_Class1SetOutputData_01A; fbConnection4:M+FX5ENETIP_Class1GetInputData_01A; fbConnection5:M+FX5ENETIP_Class1GetInputData_01A; fbConnection6:M+FX5ENETIP_Class1GetInputData_01A; END_VAR |
Code
//init //Emable the connection IF NOT M0 THEN U1\G37.0:=TRUE; END_IF; //please check the value from Un\G5198 //Connection1 //2bytes Data U1\G60000:=16#F00F; //Connection2 //4bytes Data U1\G60750:=16#A00A; U1\G60751:=16#B00B; D200:=16#BCDD; fbwriteCmd1( i_bEN:= TRUE ,i_stModule:= FX5ENETIP_1 ,i_uConnectionNo:= 1 ,i_uOutputData:= D200 ,o_bENO=> M9 , o_bOK=>M10 ,o_bErr=> M11 ,o_uErrId=> D222 ,o_uStatusId=> D224 ); //Connection3 //1444bytes Data Z0:=0; FOR counteri :=0 TO 749 DO Z0:=counteri; U1\G61500Z0:=counteri+1; END_FOR; // D40.3:=TRUE; D50.3:=TRUE; D60.3:=TRUE; fbConnection4( i_bEN:=D40.3 ,i_stModule:=FX5ENETIP_1 ,i_uConnectionNo:=4 ,o_bENO=>D40.0 ,o_bOK=>D40.1 ,o_bErr=>D40.2 ,o_uErrid=>D42 ,o_uStatusId=>D44 ,o_uInputData=>D4000 ); fbConnection5( i_bEN:=D50.3 ,i_stModule:=FX5ENETIP_1 ,i_uConnectionNo:=5 ,o_bENO=>D50.0 ,o_bOK=>D50.1 ,o_bErr=>D50.2 ,o_uErrid=>D52 ,o_uStatusId=>D54 ,o_uInputData=>D5000 ); fbConnection6( i_bEN:=D60.3 ,i_stModule:=FX5ENETIP_1 ,i_uConnectionNo:=6 ,o_bENO=>D60.0 ,o_bOK=>D60.1 ,o_bErr=>D60.2 ,o_uErrid=>D62 ,o_uStatusId=>D64 ,o_uInputData=>D6000 ); ; |
Useful Buffer Memory
各connection のデータ交換領域offset アドレス。すべではG5198 から計算始めています。
各connectionのoutput data size 。
Word 単位で計算します。
各connectionのアドレスoffset。