Skip to main content

例:CSV Utility SL 図書館

製品: CODESYS IIOT ライブラリ SL

. CSV ファイルの読み取り:
  • CSVReader フォルダーには、CSV ファイルを読み取るためのコンポーネントが含まれています。

  • 初期化とファイル パスの受け渡しは、 CSVReaderInit ファンクションブロック。

  • CSV ファイルの値は、個別に、行ごとに、または一度にすべて読み取ることができます。の NextLineNextElement、 また ReadAll 関数ブロックは値を読み取るために使用されます。

  • CSVReaderExample のアプリケーション CSV Utility Examples.project サンプル プロジェクトは、これらのコンポーネントの使用方法を示しています。

    要素の最大長は、CSV ファイルの列の最大長以上である必要があります。

. CSV ファイルの書き込み:
  • CSVWriter フォルダーには、CSV ファイルを書き込むためのコンポーネントが含まれています。

  • データは 3 つの手順で保存されます。

    • 最初のステップはライブラリを初期化することです。このとき、パスとファイル名が渡されます。

    • 2 番目のステップは、データをバッファに保存することです。

    • 3 番目のステップは、バッファを CSV ファイルに書き込むことです。

説明

この例では、アプリケーションでライブラリ関数ブロックを使用する方法を説明します。

古典的な手続き型プログラミング

ファンクション ブロックに基づく古典的なプログラミングのファンクション ブロックは、 FunctionBlocks フォルダ。

このフォルダー内の関数ブロックは、非同期処理用に設計されています。それらは、 CBM.ETrigA ファンクションブロック。

機能ブロックごとに、他のプロジェクトで使用できる視覚化オブジェクトも作成されています。

この例は次のとおりです。 CSV Utility Examples.project のプロジェクト CSVWriterCFCExample 応用。

初期化: これは、 Init ファンクションブロック。ここで、ストレージ パスとファイル名を渡すことができます。

値を追加するには: 値は、次の方法でバッファに書き込むことができます。 AddXXX 機能ブロック。新しい行は次の方法で追加できます。 NewLine ファンクションブロック。新しいファイルが作成されます NewFile

保存: バッファは次の方法で保存されます。 WriteFile ファンクションブロック。値は、対応するデータ型の標準形式で書き込まれます。

視覚化: 各機能ブロックの入力と出力の視覚化が表示されます。

ファンクションブロックの使用

内のすべての機能ブロック FunctionBlocks フォルダーは立ち上がりエッジに反応します。 xExecute 入力。

これらの操作は非同期で実行されることに注意してください。 xDonexError、 と eError それに応じて出力をサンプリングする必要があります。この処理はサイクル内で実行する必要はありません。

オブジェクト指向プログラミング

オブジェクト指向プログラミングの機能ブロックとインターフェイスは、 Objects フォルダ。

この例は次のとおりです。 CSV Utility Examples.project のプロジェクト CSVWriterSTExample 応用。

CSVWriter function ブロックは、CSV ファイルを保存するための基本的な方法を提供します。

初期化:最初は、 InitSave 新しいファイルを作成するか、既存のファイルを開くには、メソッドを呼び出す必要があります。

値を追加するには:いずれかのとき Add メソッドが呼び出されると、値がバッファに書き込まれます。対応するメソッドが呼び出されるとすぐに新しい行が追加されます。バッファがいっぱいの場合は、エラーが返されます。データが保存されるとすぐに、新しい値を格納できるスペースが再び利用可能になります。

  • AddXXX: バッファの最後にデータを挿入します。

  • NewLine: 新しい行を追加します

保存:

  • Save:バッファの値をCSVファイルとして保存します

追加のメソッド:

  • GetFileSize: 現在のファイルのサイズを返します。

  • NewFile: 指定した名前または自動生成された名前で新しいファイルを作成します。

エラー: すべてのメソッドには、考えられるタイプのエラーを保存するためのエラー フィールドがあります。 CSV_ERROR

追加情報

CSV Utility SL Examples.project サンプル プロジェクトには、次のサンプル アプリケーションが含まれています CSVReader および 2 つのサンプル アプリケーション CSVWriter

応用: CSVReaderExample

この例では、CSV ファイルから値を読み取る 3 つの方法を示します。の Prog プログラムはその使用方法を示します CSVReaderInitNextElementReadAll、 と NextLine 機能ブロック。の内容は、 CSVReader.csv ファイルがビジュアライゼーションで表示されます。

ヒント

サンプルをテストするには CODESYS Control、CSVファイル CSVReader インストール先のディレクトリから c:\temp ディレクトリ。

応用: CSVWriterCFCExample

この例では、CFC の例を使用して、CFC の関数ブロックの使用方法を示します。 CSVWriter 図書館。また、統合されたビジュアライゼーションの使用方法も示します。

機能性:

  • WriteValues プログラムは CSV ファイルを "c:/temp/CSVWriterCFCExampleData.csv" フォルダ。

  • ビジュアライゼーションで、 追加するにはここをクリックしてください ボタンはファイルへの書き込みをトリガーします。

  • 初期化は次の方法で行われます。 CSV.Init ファンクションブロック。パスとファイル名はここに直接渡されます。

  • AddWordAddString、 と NewLine 関数ブロックは、内部バッファに値を追加する方法を示します。

  • ctu カウンタはイベントごとに行番号をインクリメントします。新しい行が追加された後、値は次の方法で CSV ファイルに書き込まれます。 WriteFile ファンクションブロック。

応用: CSVWriterSTExample

この例では、オブジェクト指向プログラミングまたは逐次プログラミングを使用して、変数の値を CSV ファイルに書き込む方法を示します。各処理は 2 つのタスクで実行されます。 1 つのタスクは値をバッファに書き込み、もう 1 つのタスクはデータをバッファからファイルに保存します。

機能性:

  • ObjectOriented_Save (オブジェクト指向保存)

    このプログラムは Save からのメソッド DataObject、保存操作が実装されています。

  • ObjectOriented_Write (オブジェクト指向の書き方)

    このプログラムは Write からのメソッド DataObject ここで書き込み操作が実装されます。

  • DataObject

    この機能ブロックは、 ICSVObject インターフェース。の Write メソッドには、後で保存されるローカル変数が含まれています。対応します AddXXX データ型ごとにメソッドが呼び出されます。一定の行数が経過すると、別の値を使用して新しいファイルが作成されます。エラーが発生するとすぐに、 Error ステータスに達しました。そうすれば他には何も書かれなくなります。の Save メソッドは保存操作を実装します。初めに、 InitSave の方法 CSVWriter ファンクションブロックインスタンスが呼び出されます。その後は、 Save メソッドを呼び出す必要があります。

    以下のプログラムを有効にするには、タスク内の POU を変更する必要があります。

  • Sequential_Save (順次保存)

    保存操作も次のコマンドで開始する必要があります。 InitSave 方法。 CSV ファイルが特定のサイズに達すると、新しいファイルが作成されます。ファイル名が指定されていない場合は、番号が付加された既存の名前が使用されます。

  • Sequential_Write (連続書き込み)

    さまざまな変数がバッファーに書き込まれます。これがいっぱいの場合、 EndOfBuffer エラーが返されます。上で説明した書き込み操作とは対照的に、今回はエラーは無視され、バッファへの書き込みが続行されます。その結果、一部のデータが失われますが、プログラムは引き続き実行されます。次の保存操作が開始されるとすぐに、バッファは再び空になります。

システム要件と制限事項

プログラミングシステム

CODESYS Development System (バージョン 3.5.18.0 またはそれ以降)

ランタイムシステム

全て

注: 無料の Device Reader プロジェクト ( CODESYS Store International) コントローラーがサポートしている機能を確認します。

アドオンコンポーネント

-

注記

_example_icon.png ダウンロード プロジェクト