前回はIE手法による分析において
「稼働状態」や「サイクルタイム」
を分析する視点で
IoTをどのように活用するのか
について具体的なセンサー類を
活用事例として説明いたしました
今回はその中のいくつかのセンサーと
設備の模型、PCを使って
「稼働状態」や「サイクルタイム」
を把握する方法を次のようなデモを
交えながら説明してまいります
しばらくお時間頂戴くださいませ♪
「稼働状態」「サイクルタイム」を把握する必然性とは?
「時間あたり出来高」で生産性を把握する!
なぜ「稼働状態」や「サイクルタイム」
を把握する必要があるのでしょうか?
それはズバリできるだけ安くものを
作るために、管理すべき情報だから
です!
作業者の労務費や設備の減価償却費も
生産性を高めることで1個あたりの
費用を削減することができます
その生産性は「時間あたり出来高」
として表すことができます
「時間あたり出来高」を高めるためには?
「時間あたり出来高」の出来高とは
生産個数のことです
生産個数は次の式で算出することが
出来ます
「ライン稼働時間」÷「サイクルタイム」
ここで「サイクルタイム」とは
1工程の生産にかかる時間です
生産個数を増やすには
「ライン稼働時間」を増やすか
「サイクルタイム」を短縮するか
しかありません
「ライン稼働時間」を増やすには
ライン停止時間を減らし
「サイクルタイム」を短縮するには
ムダ取りを行う必要があります
そういった改善を行うためにも
まずは現状の
「稼働状態」や「サイクルタイム」
を把握する必要があるのです!
IoT活用による「稼働状態」や「サイクルタイム」把握に必要なシステム構成とは?
自分たちでセンサーや電子回路を
組み立ててPCでデータを取得する
方法について説明いたします
PCとセンサーとを接続する端末:Arduino
PCとセンサーは直接接続できません
ので間に変換する端末を接続する
必要があります
今回はArduino(アルドゥイーノ)
という端末を接続します
この製品は以前紹介したRaspberryPi
と比べて機能は少ないのですが
セットアップも簡単で価格も安価
(3,000円程度)です
PCとはUSB(A-Bタイプ)で接続し
各センサーとはボードの両脇にある
ピンソケットに配線を突き刺すことで
接続します
IoT実践事例①:「稼働状態」は光センサーで取得する!
設備にはたいてい稼働状態を表す
シグナルタワーが備え付けて
ありますので、前回紹介しました
フォトICダイードというセンサーを
使用してシグナルタワー(の模型)
の点灯状態を取得します
赤(異常停止)黄(加工完了)
緑(稼働中)の3色を取得するため
センサーを3つ準備し
シグナルタワーの点灯部分の横に
貼り付けました
IoT実践事例②:「サイクルタイム」は開閉センサーで取得する!
前回紹介しました
リードスイッチを使用して
扉の開閉を取得します
加工時のワーク着脱を
工程の開始・完了と見立てて
サイクルタイムを取得します
想定している工程の流れは
次のとおりです
- 設備の扉を開く
- 加工完了ワークを設備から取り出す
- 加工前ワークを設備に取り付ける
- 設備の扉を閉める
- ワークを加工する
- 加工完了
これらの繰り返しですので
「設備の扉を開く」の間隔を
取得すればサイクルタイムを
取得することができます
「設備の扉を開く」と
「設備の扉を閉める」の
間隔を取得すれば段取り時間
を取得することもできそうです
センサーはブレッドボードという板で
接続しArduinoと接続します
光センサーは抵抗(1kΩ)や
コンデンサー(0.1μF)と
接続します
「稼働状態」「サイクルタイム」を取得するサンプルプログラム
センサーとPCの間にArduinoを
接続しましたが、センサーから
情報を取得するためには
専用のプログラムを書き込む
必要があります
プログラムはArduino IDEという
開発環境で開発します
Arduino IDEはArduinoの
webページよりダウンロード可能
です
「稼働状態」「サイクルタイム」を
取得するプログラム次のとおりです
int redPin = A1; int yellowPin = A2; int greenPin = A3; int DoorPin = 2; void setup() { Serial.begin(9600); // デジタル入力の設定 pinMode(DoorPin, INPUT_PULLUP); } void loop() { // アナログ値を取得 int redAnalog = analogRead(redPin); int yellowAnalog = analogRead(yellowPin); int greenAnalog = analogRead(greenPin); // mVに変換 float redVolt = ((long)redAnalog * 5000) / 1024; float yellowVolt = ((long)yellowAnalog * 5000) / 1024; float greenVolt = ((long)greenAnalog * 5000) / 1024; // mAに変換 (I=V/R, R=1000) float redAmp = (redVolt * 1000) / 1000; float yellowAmp = (yellowVolt * 1000) / 1000; float greenAmp = (greenVolt * 1000) / 1000; // lxに変換 float redLx = redAmp / (290 / 100); float yellowLx = yellowAmp / (290 / 100); float greenLx = greenAmp / (290 / 100); // デジタル値を取得 int doorVal = digitalRead(DoorPin); Serial.print("Red : "); Serial.print(redLx); Serial.print(", Yellow : "); Serial.print(yellowLx); Serial.print(", Green : "); Serial.print(greenLx); Serial.print(", Door : "); Serial.print(doorVal); Serial.println(); delay(1000); }
光センサーの情報はアナログ入力として
開閉センサーの情報はデジタル入力
として取得しています
Arduino IDEをダウンロードすると
アナログ入力、デジタル入力のサンプル
プログラムを始め各種サンプルが付属
します
IoT活用による「稼働状態」や「サイクルタイム」把握のデモ
では再度イメージを掴んでいただく
ためにデモ動画をご覧ください♪
右側のPCの画面に1秒おきに
センサーから取得した情報を
PCに出力しています
光センサーから取得したアナログ値
は明るさ(Lx:ルクス)に変換して
出力しています
動画でPCに出力されていた内容は
次のとおりです
開閉センサーから取得したデータは
0:閉、1:開 のデジタル値で
そのまま出力しています
出力結果はArduino IDEの画面
ですが、WindowsではTera Term
などのソフトウェアでテキストファイル
として出力することも可能ですので
例えばCSV形式で出力してExcelで分析
するといったことも可能になります
いかかでしたでしょうか?
回路の詳細な説明や
Arduinoプログラムの説明は
省略しましたが
「まずは自分たちでやってみる」
のイメージを掴んでいただけたら
幸いです♪
それでは今日はここまで
今後とも宜しくお付き合いください☆
長文・乱文を最後まで読んでくださり
いつもありがとうございます♪
すべては御社の発展のために
すべてはあなたの笑顔のために