【C#.NET】設定値や規格値をCSVファイルから読み取り表示したいとき

C#.NET

【C#.NET】設定値や規格値をCSVファイルから読み取り表示したいとき

CSVファイル用意

規格値や閾値、設定値を入れたCSVファイルを用意しておいて、

測定値や可変値から特定の値を読み込む。

サンプルとして、サーミスタの抵抗値(オーム)と温度(℃)との相関テーブルデータのCSVファイルを用意します。

valuetable_sample_img01

仕組み概要図

データフロー図を簡単に示します。

valuetable_dataflow_img02

画面のイメージは、サーミスタの抵抗値[Ω]を入れるテキストボックスを配置、温度[℃]を表示するテキストボックスを配置、変換実行ボタンを配置します。

処理の流れとしては、

①画面起動時にCSVファイルを読み込んでリストでテーブルの値を保持しておく。

②抵抗値[Ω]を入力。

③変換ボタンを押下する。

④温度[℃]が表示される。

です。

文章で書くと簡単ですね。。

ソースコードの紹介

まずは、ソリューションエクスプローラーを表示して、csvファイルを追加しましょう。

今回は、新しいフォルダを作成して、「table」フォルダ名に変更し、そのフォルダ中に「ValueTable.csv」ファイルを追加しました。

valuetable_solution_folder

CSVファイルのプロパティで「出力ディレクトリにコピー」の設定で『常にコピーする』または、『新しい場合はコピーする』の設定にしておきます。

※この設定をしないと開始時にCSVファイルが読み込まれません。

valuetable_csvfile_setting

それではソースコードです。

 

実行結果

抵抗値の近似値の温度を表示してくれるソースコードにしました。

  • 抵抗値100000[Ω]の場合の温度25[℃]
ConvertTemp_sample1
  • 抵抗値100087[Ω]の場合の温度25[℃]
ConvertTemp_sample2
  • 抵抗値99927[Ω]の場合の温度25[℃]
ConvertTemp_sample3
  • 抵抗値104952[Ω]の場合の温度24[℃]
ConvertTemp_sample4

結果からきちんと抵抗値から温度を推定できるようになりました。

毎回値を変えたいときに役立つ

PLCとのリアルタイム連携を用いることで、設備ラインで個片毎に設定値変えられるようになります。

個片毎に検査の閾値や規格値を変えたい場合にも役立ちます!CSVを変えるだけで管理も簡単に出来る。

PLCと連携する場合のデータフローは、

①画面起動時にCSVファイルを読み込んでリストでテーブルの値を保持しておく。または、変換時に毎回CSVファイルを読み込む。

②抵抗置[Ω]をPLCの特定のデバイス値を読み出して入力する。

③抵抗値が読み出されたら変換処理実行させる。

④抵抗値から温度[℃]が分かるので、その値をPLCの特定のデバイス値に書き出してあげる。

 

生産ラインでの実践で、個片の抵抗値が変わり、温度を確かめたい検査ラインでの活用が出来ます。

★★★

応用すれば、1個1個の検査で閾値や設定値を毎回変えてあげる検査に使えます。

★★★

PLCでのリアルタイム連携

こちらの記事でPCとPLCとの連携方法を解説しております。

【PLC】キーエンスKV-7500で上位リンク通信でPCとPLCの通信を確立してデータを読み書きする方法

【PLC】PCとリンクしてリアルタイムデータを読み書きして連携する