ERP MESから学ぶ DX (構想編)

# 0. きっかけ
* 昔に学んだERPについて情報をアップデートしたり、整理したいと思いました
* 意外と面白い分野なため、せっかくなので知見を残したいと思います

# 1. ERP (Enterprise Resource Planning) 概要

* ERPは企業リソース(ヒト、モノ、カネ、情報)をシステムに落とし込んで、効率よく計画、生産、運用等していき、最適化を計ること
* 大型製品としてはSAP S/4が有名で、専門コンサルによる業務内容の整理後、システムに落とし込んでいくのが一般的のようです
* つまり、ERPの分野ではDX化が長年に渡り進められてきた背景があります
* 今回はその中の「生産管理業務」を中心に深堀っていきたいと思います
![ERP概要.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/321084/c1ab3ce2-bab9-5a7a-2e60-cac33b51b7a9.png)

(引用元)
https://it-koala.com/erp-678

# 2. ERP MES 生産管理

製造業には欠かせない「生産管理」ですが、ERPパッケージは主に「モノ、カネ、ヒト、情報」を統合的に管理することに重きをおいているため、
深い生産管理へのシステム対応には、個別にアドオンをするか、拡張パッケージである「MES：製造実行システム」と組み合わせて利用されることがあります。
MESとは一言でいえば「生産トレースシステム」のことです。製品が出荷されるまでのモノの過程を全てトレースするのが役割です。

MES関連パッケージについては「Apriso」や「RockwellAutomation」が有名です
https://www.3ds.com/ja/products-services/delmia/products/delmia-apriso/
https://www.rockwellautomation.com/ja-jp/products/software/factorytalk/innovationsuite/mes.html


## 2.1. 関連単語

よく使う用語をまとめます

|名前  |意味  |
|---|---|
|BOM|Bill Of Materials。部品表のことで生産に必要な部品を指します。ツリーで表現されることが多い。|
|型名|部品番号のこと。型名自体は論理的な番号で、必ずしも一つのモノを識別するものではありません。生産側で扱う型名を「生産型名」と呼び、顧客側に提示する型名を「出荷型名」などと呼んだりします。|
|指図|作業者に指示する単位のこと。出荷指図であれば「〜を出荷してください」、生産指図であれば「〜を生産してください」になります。MES上では指図番号を発行して管理します。|
|出荷指示|何をいつ出荷するのかを示します。MESでは出荷指図番号を発行して管理します。|
|製番|製品番号のこと。製品番号は一つ番号に付き、必ず一個の個体(製品、モジュール、部品)になります。|
|ロット|もの集まり、または液体、グリスやテープなど数えられないものに使います。ロット自体に数が存在する場合(つまり物集まりの場合)は個数分だけ製番を紐づけて管理したりします。|
|部品|部品には生産品(組み立てたもの)を示す場合と購入品を示す場合があります。|
|ラベル|MESではものを新規に作成または購入した際に、発注番号、指図番号、ロット番号、製番などが記載されたラベルを発行して管理対象の製品や部品(一般的にはトレー)に貼り付けます。貼り付けたラベルは、入庫や出庫、生産時などスキャナで読み取ることに状態がトレースされます。|
|ピッキング|生産したり、出荷する際には必ずものをまず専用トレーに集めてから作業しはじめます。この集める作業をピッキング(Picking)といいます。|
|着荷|発注した部品が届くこと。届いた部品等は必ず検収されます。|
|検収|QAとも呼びます。着荷した部品の状態を検査すること。正常な部品は入庫され、在庫として管理されますが、NGだったものについては返品対象となります。|
|ルート|生産工程の実際のルートを指す。つまりルートを増やす際は実際の作業場所も用意する必要があります。工程とは「ピッキング工程」、「組み立て工程」、「出荷工程」などのこと。|
|生産ライン|ルートは生産、出荷する型名により、実際にする作業やできあがるモノが異なるため、ルートとは別にラインの定義が必要になります。|

一旦こんな感じかな、、


## 2.2. MES全体像

多少用語に相違はありますが、全体像は以下になります。MES自体は下記でいうところ、製造現場にシステム導入され、SAP ERPと連携します。
![img_hikort_auto06.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/321084/c41801e0-cb34-462e-37d4-04e38ff9dbf5.jpeg)
(引用元)
https://www.kobelcosys.co.jp/solution_service/detail/hikort_auto/


## 2.3. ER図

ERPやMESを理解する上でER図(データベース構成)はとても重要です。
私の認識でER図を記載してみました。誤記等あればコメントお願いします！！

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/321084/ac8117d9-49d6-d291-379e-19900ddcf8d9.png)

※実際には実績テーブルやBOMなどが他のERPモジュールのテーブルと連携していたりしますが、大規模になるため省略しています。

# 3. AWSで実現するERPとMES

私がERP業務に従事していたのは５年以上前のことですが、ERPもクラウドネイティブ化が進んでいるようで、
例えばSAP S/4についてはすでにAWS上で構築することが主流となっているみたいです。
https://aws.amazon.com/jp/sap/solutions/s4hana/

一昔はSAPを構築するためには専門資格がないと構築できませんでしたが、クラウド化でその壁が少しなくなり、
一般コンシューマでも学習のためSAPを触ることができるようになりました。

また、5G普及によりIoT化がますます進み、ピッキング、組み立て、検査、パッキングといった人の手で行われていた作業の自動化が進み、生産管理も比例して高度化してきているようです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/321084/e88eb42f-e54a-3185-a71f-f593e4c332e2.png)

(引用元)
https://jpn.nec.com/manufacture/monozukuri/iot_mono/event/iexpo2019.html

今後 AWS IoTサービスやJetsonを使ってMES相当の事がどれだけ簡単に再現できるのか深ぼっていきたいと思います。
現時点で想定している主なサービス等についてPickupしていきます。

## 3.1. AWSの利用予定サービス

|サービス名  |コメント  |
|---|---|
|EC2|生産管理に必要なアプリを立ち上げるために必要|
|Aurora|ER図に書いたテーブルを格納するために必要|
|S3|実績管理には絶対に必要|
|Lambda|実績追加をトリガーにした連携処理に必要|
|DynamoDB|IoT連携の情報の格納の際に必要|
|AWS IoT Greengrass|JetsonNanoのカメラ情報を認識するために必要|
|AWS IoT Core|各IoTサービス連携のため必要|
|AWS IoT Events|IoTで収集した情報を連携するために必要|
|AWS IoT Analytics|IoT情報蓄積のため|
|CloudFormation|作り直したりするのは面倒なのでCloudFormationやTerraformで構築自動化もいずれ図りたいと思います|

生産工程の管理は専用パッケージやアドオンをして手間隙かけて開発してましたが、どれだけ短時間で環境を開発できるのか今後レポートしていきたいと思います。

## 3.2. IoT Jetson Nano

エッジ処理にはJetson Nanoを使っていきたいと思います。
カメラを取り付けて様々な部品の画像処理をさせていきます。(ここら辺はまだフワッとした構想)

https://www.nvidia.com/ja-jp/autonomous-machines/embedded-systems/jetson-nano/


以上