User picture

User Feedback CSVファイルを読み込んでMQTT通信でサーバに表示させる方法

By Yushi

March 18, 2024, 8:26 p.m.

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の行数をインクリメントさせるかを判別しております。

フロープログラム

Post Image
コメントするにはこちらからサインインしてください。
User picture
Yushi
March 18, 2024, 8:29 p.m.

テスト用CSVファイル

Post Image
User picture
Yushi
March 18, 2024, 8:30 p.m.

MQTT Explorer 結果→product_serial_numの値を上から順に表示

Post Image