libcfgファイルを使用した同期
SPELプロジェクトでは、ポイントデータのようにプログラムの動作に必要な設定や算出した値をファイルに保持できる機能があります。
動作中はコントローラーに保存されていますが、RC+が動作するPCのプロジェクトにも随時同期されますので、SPELプロジェクトの開発や保守、他環境への移植などをスムーズに行うことができます。
ライブラリーの利用に際し、操作対象となる機器や機能によって必要な情報が生じる可能性があるため、任意のフォーマットで利用可能なファイルに対し、同様の機能を提供します。
下記情報を保持したい場合に検討ください。
- 機能や機器が参照する設定ファイル
- 機能や機器が算出した結果を保持・参照するファイル
- 機能や機器の動作状態を保持・監視するためのログファイル
拡張子が"libcfg"のファイルをコントローラー内で操作すると、RC+接続時に同期の確認を行ってPC側に取り込みます。書式の制限はありません。
例:libcfgファイルの使用例: ファイルの書き出し
Function WriteSettingsToFile(fileName$ As String, … , paramB As Integer)
Integer iFileID
iFileID = FreeFile
ChDisk FLASH 'コントローラーのプロジェクトフォルダーを指定
WOpen "Lib1.libcfg" As #iFileID '必要なモードで開く
Print #iFileID, "Name: ", name$ '設定の種類と値を書き込みます
'パラメーターの数だけ繰り返します。
Print #iFileID, "ParamB: ", paramB '設定の種類と値を書き込みます
Close #iFileID
Fend
例:libcfgファイルの使用例: ファイルの読み出し
Function ReadSettingsFromFile(fileName$ As String, ByRef name$ As String, … , ByRef paramB As Integer)
Integer iFileID
Integer iPos
String Buf$
iFileID = FreeFile
ChDisk FLASH 'コントローラーのプロジェクトフォルダーを指定
ROpen "Lib1.libcfg" As #iFileID '必要なモードで開く
Line Input #iFileID, Buf$
iPos = InStr(Buf$, ": ") '設定の種類と値を切り分けて読み込みます。
name$ = Mid$(Buf$, iPos + 2)
'パラメーターの数だけ読み込みます。
Line Input #iFileID, Buf$
iPos = InStr(Buf$, ": ") '設定の種類と値を切り分けて読み込みます。
paramB = Val(Mid$(Buf$, iPos + 2))
Close #iFileID
Fend
使用する機器の仕様などで特定の拡張子を利用したい場合は「UploadFileAfterStop」コマンドを利用ください。ライブラリー内に記述することでタスク終了後に指定されたファイルをコントローラー内から取り込みます。ただし、動作にはRC+の接続が必要になります。