IPv4プロトコルを使用するIPアドレスの設定
このFP命令は、インターネットプロトコルV4を介してsAddressで指定されるIPアドレスへの接続を設定します。
入力
IPv4アドレス(必須のキーワード)
キーワード: IP
ネットマスク(オプションパラメータ)
キーワード: MASK
ゲートウェイ(オプションパラメータ)
キーワード: GWIP
デフォルトゲートウェイを使用しない場合は、「0」を指定します。
IPアドレスを192.168.1.5に設定し、ネットマスク255.255.255.0とゲートウェイ192.168.1.1を使用する: 'IP=192.168.1.5,MASK=255.255.255.0,GWIP=192.168.1.1'
IPアドレスを192.168.1.5に設定し、ネットマスクを使用せず、ゲートウェイ192.168.1.1を使用する: 'IP=192.168.1.5,,GWIP=192.168.1.1'
出力
接続のタイムアウトが経過した場合
IPアドレスが無効な場合
エラーが発生した場合は、エラーコード番号のシステム変数sys_iEthernetConnectionErrorCodeを確認してください。
この命令は、PLCの起動時に1回だけ実行することをお勧めします繰り返し実行しないでください。
初期化が完了するまでに3秒以上かかります。
文字列データは、256文字以内にする必要があります。
この命令は、割り込みプログラム中で使用することはできません。
sAddressの文字列に空白が含まれていないことを確認します。コンマは区切り文字としてのみ使用します。
IPv4アドレスは必須です。ネットマスクとゲートウェイは省略できます。
パラメータは部分的な省略が可能です。省略されたパラメータの設定は変更されません。
指定するキーワードは、大文字、小文字とも使用することができます。
キーワードの順序を変更しないでください。キーワードと設定パラメータはここに記載されている順序で記述してください。
命令を実行する前にsys_bIsEthernetInitializingがFALSEであることを確認してください。命令が実行されるとsys_bIsEthernetInitializingはTRUEになります。sys_bIsEthernetInitializingがTRUEのときに命令を実行すると、エラーが発生します。
命令実行前に、システム変数sys_bIsEthernetIPAddressAssignedがTRUEになっていることを確認してください。FALSEのとき、命令を実行すると、エラーが発生します。
この命令はsys_bIsEthernetCableNotConnectedがFALSEのときにのみ実行することができます。
エラーが発生した場合は、エラーコード番号のシステム変数sys_iEthernetConnectionErrorCodeを確認してください。
パラメータに指定された値が許容範囲外の場合。
同じキーワードを2回以上指定した場合。
命令が割り込みプログラム内で実行された場合。
文字列データが256文字を超えた場合。
パラメータに指定された値が許容範囲外の場合。
同じキーワードを2回以上指定した場合。
命令が割り込みプログラム内で実行された場合。
文字列データが256文字を超えた場合。
命令が不正なIPアドレス、ネットマスク、ゲートウェイ、または不正なIPアドレスの組み合わせで実行された場合、sys_iEthernetConnectionErrorCodeが対応するエラーコード(1~4)に設定されます。
Ethernetケーブル切断時に命令が実行された場合。 sys_iEthernetConnectionErrorCodeが「10:Ethernetケーブル未接続」に設定されます。
Ethernet初期化中に命令を実行した場合は、sys_iEthernetConnectionErrorCodeが「11:Ethernet初期化中」に設定されます。
POUヘッダには、このプログラムで使用するすべての入力変数と出力変数を宣言します。 POUヘッダは全プログラム言語で使用できます。
VAR
bSetIpv4Address: BOOL:=FALSE;
bGetConnection: BOOL:=FALSE;
bGetMac: BOOL:=FALSE;
dutIPv4Connection: FP_IPv4_CONNECTION_DUT;
dutIPv4MAC: FP_IPv4_MAC_DUT;
END_VAR
この例では、s_Addressで指定されたEthernetコネクションパラメータを設定します。また、プロジェクトナビゲータの適切なパラメータが設定されていることを で確認します。bGetConnectionがTRUEに設定されている場合、コネクションパラメータはDUT FP_IPv4_CONNECTION_DUTに出力されます。 bGetMacがTRUEに設定されている場合、MACアドレスのパラメータがDUT FP_IPv4_MAC_DUTに出力されます。
BODY
WORKSPACE
NETWORK_LIST_TYPE := NWTYPELD ;
END_WORKSPACE
NET_WORK
NETWORK_TYPE := NWTYPELD ;
NETWORK_LABEL := ;
NETWORK_TITLE := ;
NETWORK_HEIGHT := 5 ;
NETWORK_BODY
B(B_CONTACT,,bSetIpv4Address,4,2,6,4,R);
B(B_CONTACT,,sys_bIsEthernetInitializing,15,2,17,4,N);
B(B_F,FP_IPV4_SET_ADDRESS!,,31,1,43,5,,?DEN?DsAddress?AENO?CbError);
B(B_VARIN,,'IP=192.168.1.5~MASK=255.255.255.0~GWIP=192.168.1.1',29,3,31,5,);
B(B_VAROUT,,bError,43,3,45,5,);
L(1,0,1,5);
L(1,3,4,3);
L(6,3,15,3);
L(17,3,31,3);
END_NETWORK_BODY
END_NET_WORK
NET_WORK
NETWORK_TYPE := NWTYPELD ;
NETWORK_LABEL := ;
NETWORK_TITLE := ;
NETWORK_HEIGHT := 4 ;
NETWORK_BODY
B(B_CONTACT,,bGetConnection,4,1,6,3,);
B(B_F,FP_IPV4_GET_CONNECTION!,,31,0,45,4,,?DEN?DnPort?AENO?CdutIPv4Connection);
B(B_VAROUT,,dutIPv4Connection,45,2,47,4,);
L(1,0,1,4);
L(1,2,4,2);
L(6,2,31,2);
END_NETWORK_BODY
END_NET_WORK
NET_WORK
NETWORK_TYPE := NWTYPELD ;
NETWORK_LABEL := ;
NETWORK_TITLE := ;
NETWORK_HEIGHT := 4 ;
NETWORK_BODY
B(B_CONTACT,,bGetMac,4,1,6,3,);
B(B_F,FP_IPV4_GET_MAC!,,31,0,41,4,,?DEN?AENO?CdutIPv4MAC);
B(B_VAROUT,,dutIPv4MAC,41,2,43,4,);
L(1,0,1,4);
L(1,2,4,2);
L(6,2,31,2);
END_NETWORK_BODY
END_NET_WORK
END_BODY
IF DF(bSetIpv4Address) AND not(sys_bIsEthernetInitializing) then
FP_IPV4_SET_ADDRESS(sAddress := 'IP=192.168.1.5,MASK=255.255.255.0,GWIP=192.168.1.1',
bError => bError);
END_IF;
IF (bGetConnection) then
FP_IPV4_GET_CONNECTION(nPort := SYS_ETHERNET_USER_CONNECTION_2, dutIPv4Connection => dutIPv4Connection);
END_IF;
IF (bGetMac) then
FP_IPV4_GET_MAC(dutIPv4MAC => dutIPv4MAC);
END_IF;