Details:
概要
製品名(product)とそれに対応したシリアル番号(product_serial_num)の対応が書かれたCSVファイルを読み込んで値をMQTTブローカーに送信して表示させてみましたので、以下にそのサンプルプログラムを動かす手順とzipファイル(フロープログラムとCSVファイル)、出力結果を記載します。
サンプルを動かす手順
①以下のcsv.zipをダウンロードする。
②zipを展開し、INTAconnection Editorからcsv_flow.sbclを読み込む。また、CsvFind FunctionBoxのファイルパスがtest.csvになっていることを確認する。
③INTAconnection Editor上のフロープログラム中の"MQTTブローカーのEndpoint"に自身のPCのIPアドレスとポート番号を設定する。
④test.csvをConnected PLC側の以下のフォルダ(Connectd.bashと同じ階層)に置く。
\etc\ConnectedPLC
⑤MQTT ExplorerをINTAconnection_TrialPackage_StartupGuide.pdfにしたがって、起動/設定する。
⑥INTAconnection EditorからCPLCへフロープログラムを書き込む。
フロープログラムのポイント
・本プログラムは、INTAconnection_TrialPackage_StartupGuide.pdfにて解説されている"生産情報(進捗、生産数)をMQTTブローカーに送信するフロー"の1.MQTTブローカーに送信する機能とCsvFind FunctionBoxを用いた2.CSVファイルを読み込む機能を組み合わせたものになります。
・CsvFind FunctionBoxの特徴として、入力にCSVファイルで要素検索する行の行数と検索する要素のインデックス(同じラベルが複数存在する場合に何番目の要素の値を出力するか)の値を入れます。
・Eq FunctionBoxとSwitch FunctionBoxを組み合わせて使用することで、CsvFind FunctionBoxの実行結果と0を比較し、その結果によってproduct_serial_numの行数をインクリメントさせるかを判別しております。