Save 37% off PRO during our Black Friday Sale! »

AWS Step Functionsで日毎の生産情報を自動集計した話 (JAWS-UG-HAMAMATSU_20210430)

AWS Step Functionsで日毎の生産情報を自動集計した話 (JAWS-UG-HAMAMATSU_20210430)

2021.01より業務課題で取り組んだ生産設備の稼働データ(生産開始/終了時刻・設備稼働時間/停止時間)を自動抽出、自動集計する簡易システム構築で、自動集計部分をAWS Step Functionsで実装した詳細についてLTで発表します。

4651f57d479e562a45dd624cc24dbee3?s=128

nsaito9628

April 23, 2021
Tweet

Transcript

  1. SAMとStep Functionsで 日毎データを自動集計した話 @Saito5656 2021. 04. 30 JAWS-UG 浜松支部

  2. 自己紹介(没スライド供養)

  3. やりたいこと • 日報は電子化されてるがここでは手入力 • オペレーターがイベント発生時刻や 不稼働時間を正確に把握するのはムリ 人作業の不明誤差がある -生産の開始時刻と終了時刻 -設備の稼働時間と停止時間 を自動で正確に集計したい

  4. Architecture AWS Cloud User AWS IoT Core IoT hing /

    gateway IoT MQTT protocol Factory Machine Tools Amazon S3 Bucket for summary Amazon QuickSight Bucket for Time line Amazon Athena Lambda function to extract Event 0 23 * * * AWS Step Functions workflow Lambda function to summarize Bucket for summarized Bucket for queried IoT rule Bucket for archive IoT topic for Time line IoT topic for summary Life Cycle 2日 RPAで 電子日報に入力 Lambda function to archive TL Event 0 23 * * * AWS Step Functions workflow Lambda function to archive sum
  5. これってDXでアンチパターンでは? イイんです! 取り掛かるきっかけにするんです!!

  6. AWS Cloud User AWS IoT Core IoT hing / gateway

    IoT MQTT protocol Factory Machine Tools Amazon S3 Bucket for summary Amazon QuickSight Bucket for Time line Amazon Athena Lambda function to extract Event 0 23 * * * AWS Step Functions workflow Lambda function to summarize Bucket for summarized Bucket for queried IoT rule Bucket for archive IoT topic for Time line IoT topic for summary Life Cycle 2日 RPAで 電子日報に入力 Lambda function to archive TL Event 0 23 * * * AWS Step Functions workflow Lambda function to archive sum エッジ処理
  7. 点灯点滅の識別と積算 緑点灯 赤点灯 緑+黄点灯 緑+黄点滅 知りたいこと ・4パターンの積算時間 ・ワーク通過時刻 ・今の点灯点滅状態 ・点灯点滅の継続時間

    各色単体の点灯点滅を確認 パターンの検出 ・各パターンflag格納 ・即時表示用データ格納 ・積算データ格納 (パターン変化時) 変化したら publish ループ内の実行内容 ワーク通過の検出 ・タイムスタンプ取得 ・ワーク数のカウント
  8. データの構造 { "work_num": 0, "NS": 0, "G": 0, "R": 0,

    "GY": 35.916, "GFY": 0, "date": "2021-04-08", "Timestamp": 1617855300 } タイムラインで表示するための 点灯/点滅の継続時間、生産数 日付時刻 表示用 { "work_num": 0, "each_total_NS": 0, "each_total_G": 0, "each_total_R": 0, "each_total_GY": 0, "each_total_GFY": 0, "date": "2021-04-08", "Timestamp": 1617855300 } 製品カウント 積算値を計算するための 点灯/点滅時間の部分集計値 集計用 製品カウント 日付時刻
  9. AWS Cloud User AWS IoT Core IoT hing / gateway

    IoT MQTT protocol Factory Machine Tools Amazon S3 Bucket for summary Amazon QuickSight Bucket for Time line Amazon Athena Lambda function to extract Event 0 23 * * * AWS Step Functions workflow Lambda function to summarize Bucket for summarized Bucket for queried IoT rule Bucket for archive IoT topic for Time line IoT topic for summary Life Cycle 2日 RPAで 電子日報に入力 Lambda function to archive TL Event 0 23 * * * AWS Step Functions workflow Lambda function to archive sum Lambda/Step Functions
  10. SAMを使いました! SAMはCloudFormationの拡張機能… 本家のCloudFormationはUdemyでしか… とにかく使ってみました!!

  11. 昨日の生産情報を抽出するLambda

  12. 生産開始と終了を抽出するロジック 昇順でワーク通過数deltaを見て 製品が10個連続して流れたら 10個前が通過した時刻を 生産開始時刻とする 降順でワーク通過数deltaを見て 最後に製品が流れた時刻を 生産終了時刻とする

  13. 生産開始と終了を抽出するLambda

  14. SAM template.yaml

  15. StateMachine

  16. 本日、例外処理も実装

  17. QuickSight/RPA AWS Cloud User AWS IoT Core IoT hing /

    gateway IoT MQTT protocol Factory Machine Tools Amazon S3 Bucket for summary Amazon QuickSight Bucket for Time line Amazon Athena Lambda function to extract Event 0 23 * * * AWS Step Functions workflow Lambda function to summarize Bucket for summarized Bucket for queried IoT rule Bucket for archive IoT topic for Time line IoT topic for summary Life Cycle 2日 RPAで 電子日報に入力 Lambda function to archive TL Event 0 23 * * * AWS Step Functions workflow Lambda function to archive sum
  18. 自動集計から入力される項目

  19. RPAによる時刻データのコピー

  20. ご清聴ありがとうございました コメントご感想頂けるとありがたいです