ClearReceiveBuffer

受信バッファのリセット

この命令は、Portで指定された通信ポートの受信バッファをクリアします。

パラメータ

入力

Port (WORD, INT, UINT)

通信ポートの指定(PLC機種による):

  • COMポート、例:SYS_COM0_PORT

  • Ethernetポート 例: SYS_ETHERNET_USER_CONNECTION_1

  • MCU/SCU、例:16#xx01 (xx =スロット番号) COM01

解説

送信命令を実行すると、受信バッファは自動的にリセットされます。データを送信せずに受信バッファをリセットする場合は、この命令を実行してください。または、n_Number = 0F159_MTRNを使用することもできます。受信バッファをリセットすると、受信バイト数がセットされる"offset 0"の内容が"0"にセットされ、書き込みポインタがオフセット"offset 1"に戻ります。次のデータは、offset 1を先頭として格納され、既存のデータに上書きされます。 "受信完了"フラグがFALSEになります。

エラーフラグ

sys_bIsOperationErrorHold (TRUEになり、TRUEを保持)
  • Portで指定された通信ポートが存在しない場合。

sys_bIsOperationErrorNonHold (1回のスキャンに対してTRUE)
  • Portで指定された通信ポートが存在しない場合。

POUヘッダ

POUヘッダには、このプログラムで使用するすべての入力変数と出力変数を宣言します。 POUヘッダは全プログラム言語で使用できます。

	VAR
		bClearReceiveBuffer: BOOL:=FALSE;
	END_VAR

LDボディ

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,,bClearReceiveBuffer,5,1,7,3,R);
B(B_F,E_ClearReceiveBuffer!,,11,0,21,4,,?DEN?DPort?AENO);
B(B_VARIN,,1,9,2,11,4,);
L(1,2,5,2);
L(7,2,11,2);
L(1,0,1,4);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

STボディ

if (DF(bClearReceiveBuffer)) then
    ClearReceiveBuffer(1);
end_if;

最終修正日: 2022-04-21このページに関するフィードバックお問い合わせ窓口