FP_SD_GET_FREE_KBYTES

SDカード空き容量(kByte)取得

このFP命令は、SDカード内の空き容量(kByte単位)を取得し、その結果をd_kBytesに格納します。

パラメータ

出力

d_kBytes (UDINT)

空き容量(kByte)

解説

  • SDカードアクセスの注意点もご参照ください。

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

  • SDメモリアクセス完了フラグ(sys_blsSDMemoryAccessDone)は、命令が実行されるとFALSEに変わり、命令が完了したときTRUEに変わり、そのままTRUEになります。

エラーフラグ

sys_bIsSDMemoryAccessError
  • FALSE: 命令が正常完了したとき

  • TRUE: 命令が異常完了したとき

    sys_iSDMemoryAccessErrorCodeを使用して、エラーコードを確認します。

POUヘッダ

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

	VAR
		bStart: BOOL:=FALSE;
			(*activates the instrution*)
		udiFreeSdSpace: UDINT:=0;
	END_VAR

POUボディ

変数bStartFALSEからTRUEに変化すると、このファンクションが実行されます。SDカード内の空き容量(kByte)を取得し、その結果をd_kBytesに格納します。

LDボディ

BODY
    WORKSPACE
        NETWORK_LIST_TYPE := NWTYPELD ;
        ACTIVE_NETWORK := 0 ;
    END_WORKSPACE
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 7 ;
        NETWORK_BODY
B(B_F,FP_SD_GET_FREE_KBYTES!,,18,0,31,4,,?DEN?AENO?Cd_kBytes);
B(B_VAROUT,,udiFreeSdSpace,31,2,33,4,);
B(B_CONTACT,,sys_bIsSDMemoryAccessActive,10,1,12,3,N);
B(B_CONTACT,,bStart,2,1,4,3,);
L(1,2,2,2);
L(4,2,10,2);
L(12,2,18,2);
L(1,0,1,7);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

STボディ

IF bStart AND not sys_bIsSDMemoryAccessActive then
    FP_SD_GET_FREE_KBYTES(udiFreeSdSpace);
END_IF;

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