文字の送信と文字列のクリア
この命令は、データ送信命令F159_MTRNを実行します。データはsString、VAR_IN_OUT変数に割り付けられた送信文字列に含まれます。bSuppressEndCodeがTRUEに設定されているとき、システムレジスタで設定された終端コードは、送信文字列には付加されません。
SendCharactersとは異なり、内部で使用される追加の送信バッファはありません。実行後、sStringに割り付けられた変数はクリアされます。
入力
通信ポートの指定(PLC機種による):
COMポート、例:SYS_COM0_PORT
Ethernetポート 例: SYS_ETHERNET_USER_CONNECTION_1
MCU/SCU、例:16#xx01 (xx =スロット番号) COM01
システムレジスタで設定された終端コードは、送信文字列には付加されません。
入出力
送信文字列を格納します。この文字列は命令の実行後、クリアされます。
指定されたバイト数の送信が完了したとき、"送信完了フラグ"がTRUEになります。新しいデータを送信または受信できます。送信命令によって"送信完了"フラグがFALSEになると、データを受信することはできません。"送信完了"フラグの確認は、例えばブロードキャストメッセージのように応答がない場合に利用することができます。
POUヘッダには、このプログラムで使用するすべての入力変数と出力変数を宣言します。 POUヘッダは全プログラム言語で使用できます。
VAR
sSendData: STRING[30]:='ABCDEFGH';
(*up to 30 chars*)
bSuppressEndCode: BOOL:=FALSE;
END_VAR
BODY
WORKSPACE
NETWORK_LIST_TYPE := NWTYPELD ;
ACTIVE_NETWORK := 0 ;
END_WORKSPACE
NET_WORK
NETWORK_TYPE := NWTYPELD ;
NETWORK_LABEL := ;
NETWORK_TITLE := ;
NETWORK_HEIGHT := 5 ;
NETWORK_BODY
B(B_F,SendCharactersAndClearString!,,14,0,29,5,,?DPort?DbDSuppressEndCode?DsString?AsString);
B(B_VARIN,,1,12,1,14,3,);
B(B_VARIN,,sSendData,12,3,14,5,);
B(B_VARIN,,bSuppressEndCode,12,2,14,4,);
L(1,0,1,5);
END_NETWORK_BODY
END_NET_WORK
END_BODY
SendCharactersAndClearString(Port := 1,
bSuppressEndCode := bSuppressEndCode,
sString := sSendData);