dSPACE ControlDeskのインストール方法

## 1. はじめに
ControlDeskの最小構成をインストールしてからdSPACEボードをControlDeskに登録するまでをまとめました．simulinkとの連動関連は別の記事にて．
以下の構成で説明を進めますが，他のバージョンや機材でもほぼ手順は同じだと思います．
- Release 2019-B (ControlDesk 7.1)
- MicroLabBox (ds1202)
- OS: Windows10

## 2. 推奨PCスペック
公式の文章では以下のスペックを推奨しています．
センサやアクチュエータ数が少ないシンプルなモデルであればCore i5や最低メモリ8GBでもストレスフリーで動作します．
しかし，多軸ロボットの制御など保存する項目が多い，10 KHzを越える高サンプリングの計測をする，計測時間が比較的長いことが想定される場合は，バッファーを確保する必要上メモリは多い方がいいです．

例えば，アクチュエータ1，センサ2構成を1000Hzで最大60秒計測する場合double型は8byte使うので，
8[byte] * 3[項目] * 1000[Hz] * 60[s] = 1.44 [MB]
で済みますが，
6軸アームでアクチュエータx6，エンコーダx6，センサx12，2000Hzで5分くらい計測する場合は
8[byte] * 24[項目] * 2000[Hz] * 300[s] = 115 [MB]
そもそもメモリ8GBだとControlDesk＋simulinkを起動で大半を使用することになります．
そのあたりを踏まえてインストールするPCを選定するのがおすすめです．

Release 2019-Bの場合の推奨システム[1]
|||
|---|---|
|CPU|Core i7 or Core 2 Duo|
|Memory|最低8GB 推奨16GB|
|Disk|インストールするソフトウェアの容量(全部で22GB)+20GB|
|OS|Windows 10 or Windows 7 (Release 2019-Bまで)|

[1] dSPACE, "System Requirements for dSPACE Release 2019-B", https://www.dspace.com/files/pdf1/dspace-system_requirements_version73_november2019.pdf

2024年版のシステム要件だとホストPCのCPU情報がなくなっています．
必要に応じてフレキシブルに，という意味なのか...
[2] dSPACE, "System Requirements for Current dSPACE Software",
https://www.dspace.com/ja/jpn/home/support/supvers/sysreq.cfm

## 3. ダウンロード
### ダウンロード手順
1. アカウントにログインした状態で、[dSPACEのダウンロードページ](https://www.dspace.com/ja/jpn/home/support/patches/rlsdl.cfm)に移動します. 
アカウントはdSPACEのドングルに書いてある番号があれば作成できます．
<br></br>
2. 希望のバージョンを選択してList Download Packagesという青いボタンをクリック．
![0_download_dSPACE_1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2654082/293d9ceb-1e2d-14c0-ded5-113974f43268.png)
<br></br>
3. zipファイルをダウンロードします．
CD-ROMからインストールする場合A,Bの2つディスクがあり，それに対応しているのが~Disc1_iso.zipと~Disc2_iso.zipです．
特段理由がなければマージされたdSPACE_Release2019-B_merged.zipをダウンロードすることをおすすめします．
というのも，今回必要なソフトウェアがA,Bディスクそれぞれにあるので別々にインストーラを起動する手間が省けるからです．
![1_download_dSPACE_2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2654082/51d5dd17-5b70-d417-e213-275ff46aab00.png)

## 4. インストール
1. 解凍
ダウンロードしたzipファイルを解凍します．

2. インストーラ起動
解凍すると以下のようなファイルが展開されるので，Install_Release.exeを実行します．
![2_zip展開.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2654082/58a87858-1f39-cf74-2eef-1037f2969fa8.png)
<br></br>
3. インストール準備
Install dSPACE Softwareをクリックし，ライセンス関係を承認し次に進んでいきます．
![3_install1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2654082/b16b2cf5-9a48-33e0-3de9-2601fd022dfd.png)
<br></br>
4. ソフトウェア選択
ソフトウェアを選択する画面までたどり着いたら以下の3項目にチェックを入れ，右下のNextボタンをクリック．
    - ControlDesk: 本体
    - Real-Time Interface: simulinkでモデル作成に使用
    - Test Automation APIs: (オプション)TCP通信などする場合に使用．
![5_install3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2654082/50e09808-1f21-9817-15be-8725b0cfef2d.png)
<br></br>
5. インストール開始
特段問題なければ，右下のStartボタンをクリック．
![6_install4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2654082/1d1d15fa-eb3b-05d5-c87f-fd52d3070f09.png)
<br></br>
6. インストール完了
インストールが完了すると以下の画面が出現します．
PCを再起動する必要があるので，他のアプリケーションを終了するなどて再起動の準備が整ったらOkを押します．
![7_install5.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2654082/45dfcec2-d427-a7d7-71f0-47b7ca8a68e8.png)

## 5. ライセンス有効化 (dSPACE Installation Manager)
1. dSPACE Installation Manager起動
再起動するとdSPACE Installation Managerというソフトが自動で立ち上がります．
本ソフトはドングルによる復号化やMATLABとの連動を行う際に使用します．
移行ではドングルをPCに挿した状態で進めてください．
※立ち上がらなかったら検索して実行するか，デフォルトだと以下の場所に格納されているので実行してください．
C:\Program Files\Common Files\dSPACE\InstallationManager\bin

![8_installation_manager1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2654082/e05ddd73-c60a-85ba-4fc6-3d48b5064ca6.png)
<br></br>
2. Encrypted Partsタブに移動
ウィンドウ左上のアイコン群の下にEncrypted Partsタブがあるのでクリック．
    
![9_installation_manager2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2654082/b85f348d-0aee-4c21-2f38-270bcf5ce728.png)

## 6. LANケーブルで接続
MicroLabBoxの側面パネルのHost-PCというポートとPCとをLANケーブルで接続してください．
※LANポートがない，もしくは既に使っている場合はUSB-LANの変換器を使ってください．
※付属のLANケーブルはCAT7なので別のLANケーブルを使用する場合はシールド処理が施された同規格のものを用意することを推奨します．

## 7. IPアドレスの設定 (Windows)
接続したイーサネットのIP設定を以下のようにします[2]．
|||
|---|---|
|IPアドレス|192.168.140.XXX (XXX:1~254 ※192.168.140.7以外)|
|サブネットマスク|255.255.255.0|
|デフォルト ゲートウェイ|空欄|

[2]dSPACE, "FAQ 367: dSPACEハードウェア向けのデフォルトIPおよびMACアドレス", https://www.dspace.com/ja/jpn/home/support/kb/faqs/faq367.cfm

WindowsのIPアドレスの設定方法を簡単に記載しておきます．
(A) Windows10の場合
設定 -> ネットワークとインターネット -> 状態 -> アダプターのオプションを変更する
でイーサネットを右クリック．
"インターネット プロトコル バージョン 4 (TCP/IPv4)を選択し，プロパティボタンをクリック．
IPアドレスとサブネットマスクを入力します．
※複数ある場合はdSPACEと接続されているイーサネットを選択し，"IP 割り当て"の編集ボタンを押します．

(b) Windows11の場合
設定 -> ネットワークとインターネット -> イーサネット
※複数ある場合はdSPACEと接続されているイーサネットを選択し，"IP 割り当て"の編集ボタンを押します．
自動→手動に変更，IPv4をオンにしてIPアドレスとサブネットマスクを入力します．

(a)(b)どちらの場合でもIPアドレス設定後，Windows PowerShellやコマンドプロンプトなどで，以下のコマンドを実行すればレスポンスが返ってくるはずです．
返ってこない場合はセキュリティなどを見直してください．
```
ping 192.168.140.7
```

## 7. dSPACEボードの登録 (ControlDesk)
1. ControlDesk起動
いよいよControlDeskを起動します．
Warningウィンドウは下までスクロールしてからOKボタンをクリック．
上部の"Platforms"タブ -> Registaer Platformsをクリック．
![16_register_board1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2654082/97a43a90-f13e-efd6-7dd9-6f77655c50c5.png)
<br></br>
2. Register Platforms
左上のリストのDS1202 MicroLabBoxを選択．
右上に"Scan for available platforms"という項目の右側に"..."ボタンがあるのでクリック．
<img width="50%" alt="17_register_board2.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2654082/2b704a7c-7678-7957-526a-baf3e7880909.png">

3. スキャン
自動的にスキャンが始まりPCと接続されているdSPACEボードを検索してくれます．
Available platformsに出現した項目を選択し，下矢印ボタンをクリックします．
するとSelected platformsに移動するのでApplyを押してください．
<img width="50%" alt="18_register_board3.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2654082/d796b96f-6aba-cda2-e607-13160a977892.png"><img width="50%" alt="19_register_board4.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2654082/0dfa9728-84f0-020a-dfad-10968948c0a0.png">
<br></br>
3. 登録
Rigisterボタンを押して画面下部にplatform情報が出てきたら完了です．
![20_register_board5.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2654082/cbba1219-7aab-914a-c522-cf2289844959.png)

以上までがdSPACEのインストール手順になります．
次回はsimulinkとの連動とコンパイルについてまとめます．