OMRON#FTP Server操作Part03_RemoveDIR/RemoveFileを使ってみよう

今回の記事ではOMRON NX5からFTP ServerのFILEとFolderを削除するFBやプログラムを説明します。

  • FTPRemoveDir
  • FTPRemoveFile

さ、FAを楽しもう!

Reference Link

OMRON#FTP Server操作Part01_FTPGetFileList/FTPGetFileを使ってみよう
OMRON#FTP Server操作Part02_FTPPutFileを使ってみよう
今回の記事ではOMRON NX5からFTP ServerにFILEを転送するためのFTPPutFile FBやプログラムを説明します...

FB記事で使用したFC・FB・構造体

最初に今回記事で使用するFBを紹介します。

FTPRemoveFile?

FTPRemoveFileインストラクションは、接続中のFTPサーバー ConnectSvr 上の指定ディレクトリ SvrDirName において、FileName で指定されたファイルを削除します。

FileName にはワイルドカードを使用することができ、複数のファイルを一度に削除することが可能です。

ファイルの削除結果は、ファイルごとに RemoveFileResult[] に格納されます。削除するファイル数は RemoveNum に格納してください。FileName にワイルドカードを使用する場合は、ワイルドカードに一致するファイル数を格納してください。実際に削除されたファイル数が異なる場合、RemoveFileResult[].RemoveError の値が TRUE に変わります。

VAR_INPUT

名前

意味

説明

ConnectSvr

接続済みFTPサーバー設定

接続済みFTPサーバーの設定パラメータ

SvrDirName

FTPサーバーディレクトリ名

削除対象ファイルが格納されているFTPサーバーのディレクトリ名

FileName

ファイル名

削除するファイル名※5

ExecOption

FTP実行オプション

FTP実行のオプション

RetryCfg

実行リトライ設定

インストラクション実行リトライ設定

Cancel

キャンセル

TRUE:インストラクションの実行をキャンセルします。

FALSE:インストラクションの実行をキャンセルしません。

VAR_IN_OUT

名前

意味

説明

RemoveFileResult []

削除ファイル結果

削除ファイル結果

VAR_OUT

名前

意味

説明

CommandCanceled

キャンセル完了

TRUE:キャンセルが完了しました。FALSE:キャンセルが完了していません。

RemoveNum

削除するファイル数

削除するファイル数

FTPRemoveDir?

FTPRemoveDirインストラクションは、接続中のFTPサーバー ConnectSvr 上の、削除対象ディレクトリを含むディレクトリ SvrDirName から、指定されたディレクトリ RemoveDirName を削除します。

インストラクションの Done の値が TRUE に変わった時点で、指定ディレクトリの削除はすでに完了しています。

ディレクトリの削除に失敗した場合、Error の値が TRUE に変わります。

ConnectSvr のデータ型は構造体 _sFTP_CONNECT_SVR です。

VAR_INPUT

名前

意味

説明

ConnectSvr

接続済みFTPサーバー設定

接続済みFTPサーバーの設定パラメータ

SvrDirName

FTPサーバーディレクトリ名

削除対象ディレクトリが格納されているFTPサーバーのディレクトリ名

RemoveDirName

削除するディレクトリ

削除するディレクトリ

RetryCfg

実行リトライ設定

インストラクション実行リトライ設定

Cancel

キャンセル

TRUE:インストラクションの実行をキャンセルします。FALSE:インストラクションの実行をキャンセルしません。

CommandCanceled

キャンセル完了

TRUE:キャンセルが完了しました。FALSE:キャンセルが完了していません。

VAR_OUTPUT

名前

意味

説明

CommandCanceled

キャンセル完了

TRUE:キャンセルが完了しました。FALSE:キャンセルが完了していません。

Implementation1

最初にFTPRemoveFileのプログラムを作成します。

オムロン側

Sysmac Studioのプログラムを作成してきます。

p03FTPRemoveFile

こちらはImplementation1のプログラムになります。

Rung01

xFTPRemoveFile の立ち上がりエッジで Clear インストラクションが実行されます。arrsDeleteFileResult を InOut に接続し、FTPファイル操作結果データをクリアします。処理結果は再び arrsDeleteFileResult に出力されます。

Rung02

xFTPRemoveFile の立ち上がりエッジで fbFTPRemoveFile(FTPRemoveFile インストラクション)が実行されます。

接続済みFTPサーバー設定 sFTP_CONNECT_SVR、ディレクトリ ‘/home/recomputer/dataFromOMRON’、削除対象ファイル名 strFTPRemoveFileName を入力とし、削除結果を arrsDeleteFileResult に格納します。

実行状態・エラー情報はそれぞれ xfbFTPPutFileBusy、xfbFTPPutFileError、uifbFTPPutFileErrorID 等の変数で管理されます。

Rung03

fbFTPRemoveFile.Done、fbFTPRemoveFile.Error、xConfigError のいずれかがTRUEになると、xFTPRemoveFile をリセットします。

Implementation2

次はFTPRemoveDirのプログラムを作成します。

オムロン側

Sysmac Studioのプログラムを作成してきます。

p04FTPRemoveDir

こちらはImplementation2のプログラムになります。

Rung01

xFTPRemoveDir の立ち上がりエッジで Clear インストラクションが実行され、arrsDeleteDirResult をクリアします。

Rung02

xFTPRemoveDir の立ち上がりエッジで fbFTPRemoveDir(FTPRemoveDir インストラクション)が実行されます。接続済みFTPサーバー設定 sFTP_CONNECT_SVR、ディレクトリ ‘/home/recomputer/dataFromOMRON’、削除対象ディレクトリ名 strFTPRemoveDirName を入力とし、実行状態・エラー情報はそれぞれ xfbFTPRemoveDirBusy、xfbFTPRemoveDirCommandCanceled、xfbFTPRemoveDirError、uifbFTPRemoveDirErrorID、uifbFTPRemoveDirErrorIDEx で管理されます。

Rung03

fbFTPRemoveDir.Done、fbFTPRemoveDir.Error、xConfigError のいずれかがTRUEになると、xFTPRemoveDir をリセットします。

結果

最初にSysmac StudioからNX5にインストールされているSD Memory Cardの中身を確認します。

最初に前回の記事で使用したFTPPutFileで新しいFILEをFTP ServerをUploadします。

Done!

またFILEを一括でFTP ServerにUploadします。

Done!

次は今回記事で使用するFTPRemoveFile FBでFTP ServerのFILEを削除します。

Done!

また、下図のように10のFILEを作成し削除しました。

ConsoleからもFTP ServerのFromOMRON Folderも空になりました。

また、arrdeleteFileResultの配列にも削除されたすべてのFileの情報にも格納されました。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする