Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

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

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

これってDXでアンチパターンでは? イイんです! 取り掛かるきっかけにするんです!!

Slide 6

Slide 6 text

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 エッジ処理

Slide 7

Slide 7 text

点灯点滅の識別と積算 緑点灯 赤点灯 緑+黄点灯 緑+黄点滅 知りたいこと ・4パターンの積算時間 ・ワーク通過時刻 ・今の点灯点滅状態 ・点灯点滅の継続時間 各色単体の点灯点滅を確認 パターンの検出 ・各パターンflag格納 ・即時表示用データ格納 ・積算データ格納 (パターン変化時) 変化したら publish ループ内の実行内容 ワーク通過の検出 ・タイムスタンプ取得 ・ワーク数のカウント

Slide 8

Slide 8 text

データの構造 { "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 } 製品カウント 積算値を計算するための 点灯/点滅時間の部分集計値 集計用 製品カウント 日付時刻

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

SAMを使いました! SAMはCloudFormationの拡張機能… 本家のCloudFormationはUdemyでしか… とにかく使ってみました!!

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

SAM template.yaml

Slide 15

Slide 15 text

StateMachine

Slide 16

Slide 16 text

本日、例外処理も実装

Slide 17

Slide 17 text

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

Slide 18

Slide 18 text

自動集計から入力される項目

Slide 19

Slide 19 text

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

Slide 20

Slide 20 text

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