工場リーマンが独り言を言っているキモい場所

とりあえず適当なことをつぶやいてるん

IoTでCSVファイルを扱うとき

ここ1か月くらいIoTの導入に向けて四苦八苦してます。

まあ、データ自体はPLCから出ているものを常時機器が拾ってくれるんでそれを加工して見えるデータにすることがメインなんですが。

 

で、IoTだけ出来りゃいいんだけど、業務がそれだけなわけなく。

なんか、ぐちゃぐちゃの電気配線まとめしたり、掃除したり、機器の工事したり、切削工具のセットしたり、切削工具の改善活動したり、発注依頼業務やってたり、安全環境部門の仕事に介入してみたりとなにがなんだかわらない、自分のはどこの部署にいるんだろう状態だったりするんですよね。

まあ、この会社じゃないとこんなにカオスな仕事ができないと思うので当分やめる気ないですが。

 

で、話がそれたんで戻しますと、CSVファイルは工場リーマンなら結構当たり前に目にすると思います。

マシニングとかNC旋盤とか成型機とかからも出力されるしね。

で、バッチで出力される場合には別にいいとしてIoTの場合、リアルタイムであることが多いですよね。

だから最初は嫌だけど、VBAで吐き出されるCSVファイルのタイムスタンプを監視して更新されてればCSVを取り込む方法を実装しました。

ただ、リアルタイム更新すると重くて使い物にならないんですよね。

CSVファイルの取り込みを極限まで軽くしたんですが、特にタイムスタンプの監視と重なるとオフィスPCが悲鳴を上げるわけです。

まあ、条件付き書式とかINDEX関数とかも使ってるしそっちとCPU処理がバッティングするんでしょうね。

あとは0.5秒ごとに更新されてるCSVファイルとかもあるし...。

 

最終的にはいつも使う裏技、CSVファイルをテキストとして取り込み、エクセルの接続機能で常時監視させその取り込んだデータをデータベースとして活用するという方法です。

ただこの手も10万行くらいのデータには使えるんですがそれ以上だと重くなるんですよね。

だからIoT機器が吐き出すCSVも極力最小限にする必要もありますが、年月で区切る、例えば年の初めの稼働日に吐き出されるCSVファイルを削除するなどの必要があるわけです。

まあ、この部分はマニュアル作って対応するしかないかなと。

CSVファイルってそれ自体はいいのですが、それを使ってデータベース的処理をするとなるとどれを生かしてどれを捨てるとかどういう運用にするとか考える必要が出てきます。

本来はVBAとか使えれば吐き出されたファイルのファイル名なんかを加工していけるんでしょうが、個人的にはなるべくエクセルの機能だけで何とかしたいというジレンマがあります。

 

非IT系の会社はこういう風にして担当者が試行錯誤しながら進めていくわけです。

大企業のように金ぶっこんでIoTで機器と生産計画と連動させますなんてのは自分たちレベルではできないわけで。

まあ、ただ、あの生産計画と連動してのIoTはどこまで行っても夢物語でしょうね。

それが確立されてればトヨタ生産方式のように否定することこそが悪であるという絶対的権威が生まれるはずですがいまだにIoTの世界にはそれが無いから。

あと、トヨタが実践してないですからね。

まあ、トヨタも代理店に在庫押し付けての計画生産してますし、あんまり無茶やるとドランプ大統領あたりに計画生産やらないできちんとJITアメリカ市場に対応しろとか言われそうですけど。