生産管理システムに一切手を入れないでアラートが欲しい
生産現場の生産管理システムとは製造しているものによって多少異なりますが、 ERP と呼ばれる基幹的のものと、 MES と呼ばれる工程管理的なものがあります。
私の肌感ですが、明示的に ERP や MES と意識して開発・導入して使っているのは大手中心に数としては少数で、中小規模の生産現場では会計ソフトと紙と Excel を使ったマニュアルな工程管理だったり、フルスクラッチで開発したアプリケーションが知らず識らずのうちに ERP + MES のモノリシックな巨大なものになっていたりします。
そして、Web アプリケーションであることの方が珍しく、そもそもウイルスが怖くてインターネットにも繋げていないことも多く、システムやプロセスの状態変化をユーザに知らせる気なんて毛頭ありません(もちろんアラート飛ばす際にはインターネットに繋いでいただきます)
一方、現場の皆さんはプライベートでクラウドサービスをはじめとした Web のユーザ体験をするようになり、なんで仕事ではプッシュ通知来ないの?と不思議に思うわけです。
人間がシステム様に使われる構図
生産管理システムは原料や仕掛品・製品の在庫をそれぞれ把握したい、そこから生産計画を立て実際の製造装置のスケジューリングまでしたいという経営の切なる願いによって開発され、更にはマスカスタマイゼーションの波によって品番や SKU が果てしなく増加していきました。
こうしてアプリケーションもデータも肥大化した仕組みは改修費用が巨額になり、現場のアラートが欲しいってだけの要望では稟議が通らなくなります。
そして「情報が欲しければコノ観音扉を開きなさい」と言わんばかりに、システム様は人間にアプリケーションの起動・データの抽出・目視による確認・帳票出力・紙と口頭による伝達を強います。
生産管理システムに一切手を加えずアラートを投げる方法
触らぬ神に祟り無し、システム様に気付かれないようにアラートを投げる方法はないか?
頭を捻らせて出てきた答えはシステム様が吐き出す CSV や Excel ファイルです。
こういったシステムの共通点である「人間に紙を出力させて回覧させる」という風習を利用します。この紙は表形式であることが多いので Excel で出力してプリントアウトすることが多いです。この隙きを突きます!
CSVなら話は簡単だ
ご存知、Node-RED には標準で CSV ノードがあります。 CSV ファイル読込後このノードにデータを流すだけで JSON に変換してくれる優れものです。
後は良しなにデータを解析・整形してメール送信すればアラートの出来上がり!
Excelの解析って大変そうじゃない?
node-red-contrib-spreadsheet-in 使うと良いです。README のサンプル動かすと以下のようになります。
簡単に言うと book ノードで読み込んだ Excel ブックのシートが配列で取得でき、 sheet ノードで指定したシートのデータが取得でき、 cell ノードで指定したセルのデータが取得、 sheet to json ノードで JSON 変換できます。
ここまでくれは CSV ノードと同様ですね!
ファイルは手動で出力するの?
しているところもあります。
終業時にファイルを吐き出しといて翌朝アラートを見るだけ充分という現場もあります。ただ、これはアラートというよりレポートと呼んだ方が相応しいですけどね。
自動化したければ流行りの RPA 使うと良いです。SikuliX とか OSS の RPA ツールでやったりします。
まとめ:費用対効果抜群!
これまで生産現場で色々とやってきましたが、少ない労力で大勢に喜んでもらえるという意味で費用対効果抜群です!
enebular は今後リモートアクセス系のサービス拡充も計画していますので、まさにオンサイト作業も減らして開発する側のコストを削減し、更に費用対効果を上げて現場の皆さんの心を鷲掴みにしましょう!