FP_SD_DELETE_DIR_WITH_FILES

SDカードのディレクトリ(ファイルを含む)の削除

このFP命令は、s1_FullDirNameで指定されたSDカードに保存されているディレクトリと、それに含まれているすべてのファイルを削除します。

パラメータ

入力

s1_FullDirName (STRING[32])

ディレクトリ名: ディレクトリの名前を指定します。

解説

  • SDメモリアクセス実行中フラグ(sys_bIsSDMemoryAccessActive)は、SDメモリカード命令の実行条件ENTRUEになった後TRUEに変わり、命令の実行が完了するまでTRUEのままです。この間、他のSDメモリーカード命令を実行することはできません。

  • 削除するディレクトリが存在しない場合、エラーが発生します。

  • 指定したフォルダにサブフォルダが含まれていない場合、エラーが発生します。

エラーフラグ

sys_bIsOperationErrorHold (TRUEになり、TRUEを保持)
  • インデックス修飾時にエリアを超えたとき
sys_bIsOperationErrorNonHold (1回のスキャンに対してTRUE)
  • インデックス修飾時にエリアを超えたとき

POUヘッダ

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

	VAR
		sFullDirName: STRING[32]:='Logs';
		bEnable: BOOL:=FALSE;
	END_VAR

POUボディ

変数bEnableTRUEにセットされたとき、ファンクションが実行されます。SDカードのルートディレクトリからフォルダ「Logs」と、それに含まれているすべてのファイルを削除します。

LDボディ

BODY
    WORKSPACE
        NETWORK_LIST_TYPE := NWTYPELD ;
    END_WORKSPACE
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 4 ;
        NETWORK_BODY
B(B_CONTACT,,bEnable,4,1,6,3,);
B(B_F,FP_SD_DELETE_DIR_WITH_FILES!,,14,0,30,4,,?DEN?Ds1_FullDirName?AENO);
B(B_VARIN,,sFullDirName,12,2,14,4,);
L(1,0,1,4);
L(1,2,4,2);
L(6,2,14,2);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

STボディ

IF (bEnable) then
    FP_SD_DELETE_DIR_WITH_FILES('\Logs');
END_IF;

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