#はじめに
私は半導体製造工場出身で長年勤め、IT技術の必要さに気づきIT業界に足を踏み入れました。この記事では、実際に抱える製造業の課題に対してどのような技術があれば改善する事が出来るのか、自分の中の小さな世界で書きたいと思います。
#設備トラブル
生産を日々行っていく中で設備のトラベルは生産性を大きく損ないます。 一度設備が止まることで、生産が止まり、復旧に人の工数がかかり、大きな話では出荷に間に合わない状況になりお客様に迷惑をかけたり、大量な不良品を作り続けたりする事になります。
そのような状況にならないように予防保全として定期点検を行い、消耗しやすい部品の交換を行ったり、稼働時間や加工回数など状態を示すパラメータを取得ししたりします。また、取得したパラメータの値をQC7つ道具で管理したり、解析ソフトを使っていつもと違う状況になっていないかの確認を行います。
-
1、パラメータの取得を自動化する
-
・設備からすでにアナログ出力されている端子がある場合
AD変換機を使いアナログ情報をデジタル情報に変換しPCなどに取り込みます。PCに取り込まれたデジタル値をテキストファイルやDBへ保存します。 -
設備からのアナログ出力が無いが、PLCで値を保持している場合
PLC機器と通信出来るミドルウェアを使いPLCのデータメモリを取得しテキストファイルやDBへ保存します。 -
データを1から取得する必要がある場合
センサーを取り付けテキストファイルやDBへ保存します。 センサーの種類によって構成は変わりますが、センサー自体からアナログ出力されている場合は必要に応じて増幅器を経由しAD変換機へ入力させたり、設備メーカーさんの方でデータをPLCに入れてもらいその情報を取得したりします。 センサーによってはPCからデータを取得するようのライブラリが公開されている物もあります。
(必要となるIT技術)
1、プログラミング技術
AD変換機はアナログ側が設備の出力端子、デジタル側がPCに接続されますがPCからデジタル値を取得する技術が必要となります。この部分ソフトウェアとして販売されていたりもしますが汎用性はやはり低いです。個人で開発するためにAD変換機を外部から操作するためのミドルウェアやコンポーネントが無償で提供されていますのでそれを使い開発します。そのためC#
やVB.net
などのプログラミングの技術が必要となります。基本的にはコンソールアプリケーション
Windows Forms
WPF
UWP
での開発になると思います。 ※勿論Linuxやラズパイなどを使っても開発可能です。
2、GUI開発技術
データの取得が出来ても人が見れなければ意味がありません。人が見やすいように表示するためのGUIの開発技術が必要となります。 この部分は特にどのようなグラフで表示されるか、人が行うチェックをどれだけ簡単にさせるかなど考えると切りが無いですが、システムを使う側の視点からすると一番重要な部分です。基本的にはWindows Forms
WPF
UWP
を使ったり、ブラウザで見たい場合はAsp.net core
Blazor
などになります。 Webシステムとなると一気に範囲が広ますので一部しか記載しません。個人的な意見としてはBlazor
が一番最適だと考えています。(まだまだ少数派だと思います。)
3、データベース技術
取得したデータをテキストファイルに保存する形でも運用によっては良いと思いますが、やはり複数の設備のデータを収集して1か所にまとめ管理したい場合はなどはデータベースの技術は必須です。SQLServer
やOracle
、完全無料としてはPostgres
等があります。
4、PLCとの通信技術
PLCのメモリデータを取得するためにPLCとも通信出来る必要があります。 各メーカーでライブラリが販売されていますのでそれを使い通信するのが効率が良いです。(三菱社であればMXコンポーネントなど) また、PLCメーカー毎にライブラリが異なるのは効率が悪いので各社対応しているライブラリも半版されています。 私はまだ使ったことが無いのですが、これを使った開発を行ってみたいです。(参考: https://www.roboticsware.com/jp/) -
2、データ取得自体を自動化する
常にデータ取得を行う状態でも良いですが、mS単位でデータを取得する項目が数十項目ある場合とてもすべてのデータの保存は難しいです。そこで必要なデータのみ取得したい場合があります。 そのタイミングを取得するためにPLCと通信し、とある信号がONの時だけ
や、とある信号が〇〇以上/以下
の時だけと制御させます。 もし、MESが充実していて設備の稼働状況が分かる環境であればそのデータを使い制御させます。 既存であるものを有効に使うためにどうしても、自分が知らない分野の知識
が必要となる事も非常に多いと思います。 -
3、取得データを解析する
データを取得し、可視化するだけでも新たな気づきが見え改善案が浮かんだりするためとても有効ですが、やはり統計的にも解析する事は大事です。 例えば多変量解析 MD値管理
はいつもと違う状態になっているかを管理出来ます。
多変量解析のイメージとしてはドリルで穴をあける設備を例にすると個人的には分かりやすいです、管理項目として「押し込み強さ」「回転数」「回転のトルク力」「押し込み速度」「摩耗度」ext.などがありそれぞれ管理値を設け管理されいるとします。 とある日、全ての項目が正常(管理値内)なのに不良が多発した
という事が発生したとします。 よく見ると、全ての項目が微量ですが上昇していました。 このようないつもと違う
状態を検知できるのが多変量解析 MD値管理
です。
他にも機械学習
や深層学習
など様々な解析手法は沢山存在します。 -
4、解析結果をもとに設備を停止させる
リアルタイムでデータを収集しリアルタイムでデータを解析している状況を作ったとしても、異常が発生した際に即時に設備を停止する事が出来なければ不良は発生してしまいます。 この部分は勿論、現場の実情により設備の停止させるタイミングは異なりますが、例えば加工機であれば即時に停止させたい場合が多いと思います。 設備を止めるにはPLCとの通信を行えば可能となりますが、設備の仕様も十分に熟知している必要
があります。
疲れたので次の記事で続きを記載します。(おそらくはMESだったりERPの部分の記事になります。)色々な技術は必要ですが、勿論全てを一人で行う必要はありません。そのために小さい範囲ではチームがあったり、大きい範囲ではいろんな会社が存在しているのだと思います。