SIMCA onlineを介したデータファイルの作成とモデルの更新方法

# はじめに

SIMCA onlineのデータソースに、PI systemやAspentechなどのヒストリアンが接続されている場合、SIMCA onlineにダミーモデルをuploadし、configurationしたあとでpredictするとデータセットが作成できます。

筆者は、この方法を知らなかったので、web APIを使ってヒストリアンから関連するタグのデータをすべてダウンロードし、SQLでjoinしてデータセットを作成していました。これがとてつもなく面倒だったのですが、ここで紹介する方法を知ってからは、あまりストレスを感じずにデータセットを作成できるようになりました。ぜひ皆様にも役に立つのではと思いますので、ここに紹介いたします。



# ダミーデータファイル (xlsx) の作成
下に示したようなダミーデータファイルを作成します。手順は以下の通りです。
1. モデルに入れるタグを決めます。ここでは例として、Variable1, Variable2, Variable3の3タグをモデルに入れることにしています。（実際の筆者のuse caseでは、設備のタグリストから該当するタグを約40個、ここにリストしていました）
2. バッチ数は3つとします (Dummy Batch 1, Dummy Batch 2, Dummy Batch 3)。
3. Phaseごとに下のようなダミーデータを作成します。Phaseの数は、実際のユースケースのphase数と一致させておくとよいでしょう。ここでは例として 2 phaseとしています。Phase 1はPhase 1と名付けたシートに、Phase 2はPhase 2と名付けたシートに保存します。
4. 値を入れます。ダミーデータですので、すべて1で構いません。

```
Batch ID        Phase ID Variable1 Variable2 Variable3
Dummy Batch 1	Phase 1		     1         1         1
Dummy Batch 1	Phase 1		     1         1         1
Dummy Batch 1	Phase 1          1	       1         1
Dummy Batch 1	Phase 1          1	       1         1
Dummy Batch 2	Phase 1		     1         1         1
Dummy Batch 2	Phase 1		     1         1         1
Dummy Batch 2	Phase 1		     1         1         1
Dummy Batch 2	Phase 1		     1         1         1
Dummy Batch 3	Phase 1		     1         1         1
Dummy Batch 3	Phase 1		     1         1         1
Dummy Batch 3	Phase 1		     1         1         1
Dummy Batch 3	Phase 1		     1         1         1
```
上のようなデータを、例えばdata.xlsxという名前のファイルの"Phase 1"というシートに保存します。また、下のデータを"Phase 2"のシートに保存します。なお、下のデータは phase IDを"Phase 2"と変更しただけで他はすべて同じですが、これで問題ありません。
```
Batch ID        Phase ID Variable1 Variable2 Variable3
Dummy Batch 1	Phase 2		     1         1         1
Dummy Batch 1	Phase 2		     1         1         1
Dummy Batch 1	Phase 2          1	       1         1
Dummy Batch 1	Phase 2          1	       1         1
Dummy Batch 2	Phase 2		     1         1         1
Dummy Batch 2	Phase 2		     1         1         1
Dummy Batch 2	Phase 2		     1         1         1
Dummy Batch 2	Phase 2		     1         1         1
Dummy Batch 3	Phase 2		     1         1         1
Dummy Batch 3	Phase 2		     1         1         1
Dummy Batch 3	Phase 2		     1         1         1
Dummy Batch 3	Phase 2		     1         1         1
```

# SIMCAでダミーモデルの作成
SIMCAを使ってダミーモデル(ダミーのbatch evolution model)を作成しましょう。ダミーデータファイルをimportして、batch evolution modelを作成します。その際、以下の2点にご留意ください。
1. 値が全部同じなので、タグを除外しますか、の質問が出てくるが、"No to All"とする。
2. 作成されたモデルはcomponentを持たないが、これでよい。

# SIMCA onlineへのデプロイとデータ作成

1. "Upload SIMCA project"ボタンを使って、projectをuploadする。
2. Batch context generatorを作成する。batch start/stopを定義する。
3. configurationしていく。各変数をタグと連携したり、phase start/stopの定義。
4. configurationができたら、'Predict data'を押してデータ作成。

# SIMCA projectをローカルにダウンロード

- 'Update SIMCA project'を押す。
- Select Batches for Update Projectで、上でpredictした3つ以上のバッチを選び、OKを押す（下図参照）。
- そしてprojectをダウンロードすると、上で選んだバッチデータも含まれている。
![simca_updatePJT.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3791585/34aacf0c-575d-b050-418c-40f2776b02b2.png)


# モデルをupdateする

1. SIMCAでprojectを開く。
2. "Data"タブの"Delete"ボタンをクリックして、ダミーデータを削除する。
![simca_model_update1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3791585/6b9b8715-634c-2e6e-92e4-5ceb0a14b933.png)

3. 続いて、作成したダミーモデルも削除しますか、を聞かれるので、Yesをクリックする。
![simca_model_update2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3791585/a798129f-568a-3ad1-2900-1272b39be4d5.png)

4. "Create new model"を押して、新しくダウンロードしたデータを使ってモデルをつくる。基本的にはdefault settingでよい。モデルはOPLSを選ぶ。
![simca_model_update4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3791585/56f71ab8-3e86-124a-2b0a-65be07f433b1.png)


# モデルを再度SIMCA onlineにアップロードする
1. SIMCA onlineに再度アクセスし、上で作成したモデルをuploadする
2. uploadが終わると、下のような画面が出てきて、configurationをやり直すか、dummy modelを作成するときにセットしたconfigurationを使うか聞かれる。後者でよいので、下図のように、真ん中のボタンを押す。
![simca_model_update5.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3791585/f28ade53-66c7-720c-29b2-00b960256abc.png)

3. 最後に上から順にレビューしていく。Alarmの設定がconfigurationできていない場合は、設定する。