SMTP転送要求
このFP命令は、nTransferIDの指定に従い、SMTPクライアントにメールを送信し、データを転送することを要求します。
入力
SMTPクライアントIDを設定します
値:0~15
出力
以下の条件でTRUEになります。
接続のタイムアウトが経過した場合
IPアドレスが無効な場合
エラーが発生した場合は、エラーコード番号のシステム変数sys_iEthernetConnectionErrorCodeを確認してください。
この命令は、割り込みプログラム中で使用することはできません。
命令を実行する前に、FP_SMTP_SET_MODEまたはSMTPクライアントの設定ダイアログを使用してメール転送設定を指定する必要があります。
命令実行前に、システム変数sys_bIsEthernetSMTPClientReadyがTRUEになっていることを確認してください。FALSEのとき、命令を実行すると、エラーが発生します。
命令を実行する前にsys_bIsEthernetInitializingがFALSEであることを確認してください。命令が実行されるとsys_bIsEthernetInitializingはTRUEになります。sys_bIsEthernetInitializingがTRUEのときに命令を実行すると、エラーが発生します。
この命令はsys_bIsEthernetCableNotConnectedがFALSEのときにのみ実行することができます。
命令は、指定した転送設定用の転送要求フラグが「FALSE:転送要求なし」の場合のみ実行することができます。転送要求フラグが「TRUE:転送要求済み」の場合は、演算エラーが発生します。
この命令が正常に実行されると、システム変数sys_bIsCarryおよびsys_iEthernetConnectionErrorCodeがリセットされます。
エラーが発生した場合は、エラーコード番号のシステム変数sys_iEthernetConnectionErrorCodeを確認してください。
インデックス修飾時にエリアを超えたとき
パラメータに指定された値が許容範囲外の場合。
命令が割り込みプログラム内で実行された場合。
命令が実行されたとき、システム変数sys_bIsEthernetSMTPClientReadyがFALSEの場合。
指定した転送設定用のメール転送要求フラグが「TRUE:転送要求済み」の場合。
命令FP_SMTP_SET_MODEまたはSMTPクライアントの設定ダイアログで設定されていないメール転送設定が指定された場合。
メールの送信が無効になっている場合(例えばFP_CLIENT_STATUS_DUTの変数名bIsTransmissionBlockedがTRUEである場合)。
インデックス修飾時にエリアを超えたとき
パラメータに指定された値が許容範囲外の場合。
命令が割り込みプログラム内で実行された場合。
命令が実行されたとき、システム変数sys_bIsEthernetSMTPClientReadyがFALSEの場合。
指定した転送設定用のメール転送要求フラグが「TRUE:転送要求済み」の場合。
命令FP_SMTP_SET_MODEまたはSMTPクライアントの設定ダイアログで設定されていないメール転送設定が指定された場合。
メールの送信が無効になっている場合(例えばFP_CLIENT_STATUS_DUTの変数名bIsTransmissionBlockedがTRUEである場合)。
Ethernetケーブル切断時に命令が実行された場合。 sys_iEthernetConnectionErrorCodeが「10:Ethernetケーブル未接続」に設定されます。
Ethernet初期化中に命令を実行した場合は、sys_iEthernetConnectionErrorCodeが「11:Ethernet初期化中」に設定されます。
POUヘッダには、このプログラムで使用するすべての入力変数と出力変数を宣言します。 POUヘッダは全プログラム言語で使用できます。
VAR
iID10: INT:=10;
bTransferRequestError: BOOL:=FALSE;
bTransferRequest: BOOL:=FALSE;
END_VAR
sys_bIsEthernetSMTPClientReadyがTRUEにセットされているときbTransferRequestがFALSEからTRUEに変わると、命令が実行されます。Ethernetユニット10にSMTP転送が要求されます。
BODY
WORKSPACE
NETWORK_LIST_TYPE := NWTYPELD ;
ACTIVE_NETWORK := 0 ;
END_WORKSPACE
NET_WORK
NETWORK_TYPE := NWTYPELD ;
NETWORK_LABEL := ;
NETWORK_TITLE := ;
NETWORK_HEIGHT := 4 ;
NETWORK_BODY
B(B_CONTACT,,bTransferRequest,4,1,6,3,R);
B(B_VARIN,,iID10,23,2,25,4,);
B(B_VAROUT,,bTransferRequestError,40,2,42,4,);
B(B_F,FP_SMTP_TRANSFER_REQUEST!,,25,0,40,4,,?DEN?DnID?AENO?CbError);
B(B_CONTACT,,sys_bIsEthernetSMTPClientReady,15,1,17,3,);
L(1,2,4,2);
L(6,2,15,2);
L(17,2,25,2);
L(1,0,1,4);
END_NETWORK_BODY
END_NET_WORK
END_BODY
if DF(bTransferRequest) AND sys_bIsEthernetSMTPClientReady then
FP_SMTP_TRANSFER_REQUEST(nTransferID := iID10,
bError => bTransferRequestError);
End_if;