1. はじめに
本記事では,MinSeg.com が販売している MinSegShield M2V5 Dual Axis Balancing Kit に含まれるマイコンボード(Arduino Mega 2560 互換ボード)とシールド(MinSegShield M2V5)の使用方法を説明します.
そのために,まず,
のインストール方法と,初期設定について説明します.ついで,実際に使用するための手順について説明します.
なお,配布する Simulink モデルは以下のとおりです.
【配布する Simulink モデル】
- 互換ボード "MinMega"(新型 MinSegShield M2V5 Dual Axis Balancing Kit に包含)用
- COM ポートを 6 に設定しています.必要に応じて設定を変更してください.Automatically でも動作するはずです.
- 新型の MinSegShield M2V5 Dual Axis Balancing Kit に含まれる Arduino Mega 2560 互換ボード "MinMega" (MinSeg.com 社) を想定しています.この場合,Simulink の External mode での BaudRate は標準の値 921600 のままであり,変更する必要はありません.
- 互換ボード "RobotDyn Mega"(旧型 MinSegShield M2V5 Dual Axis Balancing Kit に包含)用
- COM ポートを 3 に設定しています.必要に応じて設定を変更してください.
- 旧型の MinSegShield M2V5 Dual Axis Balancing Kit に含まれる Arduino Mega 2560 互換ボード "RobotDyn Mega" (RobotDyn 社) を想定しています.この場合,後述のように,Simulink の External mode での BaudRate の値を 115200 に変更する必要があります.
2. 動作環境
私が試した環境は以下のとおりです.
- PC: HP ENVY x360 13-ay1000
- Microsoft Windows 11 Home Version 10.0 (Build 22000)
- AMD Ryzen 7 5800U with Radeon Graphics 1.90 GHz
- RAM: 16.0 GB
- MATLAB R2018a, R2020a, R2020b, R2021a, R2021b, R2022a
- Simulink
- Control System Toolbox
- Symbolic Math Toolbox
- ほかにもいくつかのツールボックスが入っていますが,今回は関係ないので省略
- Simulink Support Package for Arduino Hardware
- R2018a: Ver.18.1.3
- R2020a: Ver.20.1.5
- R2020b: Ver.20.2.4
- R2021a: Ver.21.1.4
- R2021b: Ver.21.2.2
- R2022a: Ver.21.1.2
- Rensselaer Arduino Support Package Library (RASPLib) Ver.2.13 (2021/12/31)
Simulink Support Package for Arduino Hardware は 2022/06/11 時点での各リリースの最新バージョンです.
MATLAB のリリース(バージョン)による操作の違いは以下のとおりです.
リリース | エクスターナル実行 | スタンドアロン実行 | 注意事項 |
---|---|---|---|
R2015aSP1 | 「エクスターナル」を選択して「実行」ボタンを押す | 「ハードウェアに展開」を選択 | |
R2018a | |||
R2020a | 「ハードウェア」のタグから「監視および調整」を選択 (R2019b から) |
「ハードウェア」のタグから「ビルド,配布および開始」を選択 (R2019b から) |
|
R2020b | |||
R2021a | 付録 A.1 | ||
R2021b | |||
R2022a | 付録 A.2 |
-
エクスターナル実行:
Simulink モデルをビルドしたプログラムが Arduino に書き込まれた後,USB ケーブルを介してパソコンと Arduino との間で信号の送受信を行いながら実行されます.このモードでは,信号の観測,データの保存,Manual Switch での操作など,Simulink 側で様々な操作ができます.また,「コンフィギュレーションパラメータ」の「終了時間」で実行する時間を設定できます(ずっと実行する場合は inf に設定). -
スタンドアロン実行:
Simulink モデルをビルドしたプログラムが Arduino に書き込まれると,Arduino がスタンドアロンで動作します.プログラムを書き込んだ後,パソコンとの接続は不要です(意味をなしません).電源が ON のとき,プログラムの実行が続きます(「終了時間」は設定できない).プログラムを再実行する場合は Arduino 側のリセットボタンを押します.
3. Simulink Support Package for Arduino Hardware のインストール
MathWorks 社さんから提供されている,Simulink を利用して Arduino を動かすためのパッケージ
- Simulink Support Package for Arduino Hardware
をインストールしてみましょう.このパッケージは,ありがたいことに,無償です.ここでは,R2021b を例に,インストール手順を説明します(MATLAB のリリース(バージョン)によって少し異なりますが…).
MATLAB のメニューで
のように「ホーム / アドオン / ハードウェアサポートパッケージの入手」を選択し,「アドオン エクスプローラー」を起動し,
のように,Simulink Support Package for Arduino Hardware を選択します.
つぎに,
のように,「インストール」を選択すると,
のように,MathWorks アカウントに登録したメールアドレスの入力が要求されます.もし,MathWorks アカウントがない場合は,ここで,アカウントを作成してください.
メールアドレスを入力して「次へ」を選択すると,
のように,MathWorks アカウントのパスワードの入力が要求されますので,パスワードを入力し,「サインイン」してください.
その後,ライセンスの注意項目
を確認して「承諾する」を選択し,サードパーティのソフトウェア
の確認をし,「次へ」を選択します.
以上の操作を行うと,インストール作業が実行されます.
インストールが完了した後,「今すぐセットアップ」か「後でセットアップ」を選択します.
「今すぐセットアップ」を選択した場合,
のように,MATLAB のバージョンによってはサードパーティのソフトウェアの追加が要求されます.このような場合,「Install」を選択してください.そして,
のように,インストールが終了したことを確認してから「次へ」を選択します.
つぎに,「ハードウェア セットアップ」の作業
に移行します.Arduino MEGA 2560 互換ボード とパソコン(USB Type-A のポート)を USB ケーブルで繋ぎ,「次へ」を選択します.
この後の作業は,Arduino Mega 2560 互換ボードの種類によって異なります.
Arduino Mega 2560 互換ボード "MinMega" の場合
最近の MinSegShield M2V5 Dual Axis Balancing Kit に含まれている Arduino Mega 2560 互換ボードは "MinMega" (MinSeg.com) です.
私の環境下では,USB ケーブルでパソコンに接続すると,「デバイスマネージャー」の「ポート(COM と LPT)」では
のように,「コントロールパネル」の「デバイスとプリンター」では
のように,Arduino Mega 2560 として COM6 に接続されていることが認識できました(一般には,COM ポートの番号は 6 とは限りません).
「Connect an Arduino Board」で
のように「次へ」を選択します.すでに,COM6 に接続されている Arduino Mega 2560 として認識されているので,
のように「Board」が「Arduino Mega 2560 (COM6)」と表示されますので,「次へ」を選択します.そして,
のように,「Yes」と「次へ」を選択してセットアップの検証をすることにします.最後に,
のように,「Test Connection」を選択します.ビルドとダウンロードのテストが実行され,正常に動作をしている場合,
のように緑色のチェックが表示され,Arduino MEGA 2560 互換ボードのオレンジ色 LED がチカチカと点滅します(以下の動画を参照)ので,確認後,「次へ」を選択してくだい.
Arduino Mega 2560 互換ボード "RobotDyn Mega" の場合
以前の MinSegShield M2V5 Dual Axis Balancing Kit に含まれていた Arduino Mega 2560 互換ボードは "RobotDyn Mega" (RobotDyn) です.
すでに,このパソコンで Arduino を使用したことがある場合,「デバイスマネージャー」の「ポート(COM と LPT)」で
あるいは,「コントロールパネル」の「デバイスとプリンター」で
のように,Arduino が COM3 に接続されていることが確認できます(COM ポートの番号は 3 とは限りません).このような場合,ドライバがすでにインストールされているので,
のように,「Skip driver installatuin」にチェックを入れ,「次へ」を選択してください.もし,ドライバのインストールをしたい場合は,「Install Drivers」を選択して進んでください.
その結果,確かに
のように,「デバイスマネージャー」で確認した COM ポート (この例では COM3) に接続されていることがわかります.つぎに,「Supported boards」のなかから
のように「Mega 2560」を選択し,
で「次へ」を選択してください.そして,
のように,「Test Connection」を選択すると,ビルドとダウンロードのテストが実行されます.正常に動作をしている場合,
のように緑色のチェックが表示され,Arduino MEGA 2560 互換ボードの青色 LED がチカチカと点滅します(以下の動画を参照)ので,確認後,「次へ」を選択してくだい.
4. Rensselaer Arduino Support Package Library (RASPLib) のインストール
4.1 RASPLib ってどんなことができるの?
MinSeg.com は,自社のマイコンボード MinSegMega やマイコンシールド MinSegShield を使用するための Simulink ライブラリ
- Rensselaer Arduino Support Package Library (RASPLib)
を無償で提供しています.すばらしい!!.RASPLib は Simulink Support Package for Arduino Hardware がインストールされている環境下で使用できます.
Simulink モデルを作成するだけで,以下のことを簡単に行うことができます.
- RASPLib で提供される Simulink ブロックで DC モータを動かすことができる.
- RASPLib で提供される Simulink ブロックでエンコーダのパルス信号をカウントすることができる(4 逓倍).
- RASPLib で提供される Simulink ブロックでジャイロ / 加速度 / 方位センサのアナログ信号を読み取ることができる.
- エクスターナル実行では,Simulink ブロック "Scope" でセンサ信号等をリアルタイムで観測することができる.
- エクスターナル実行では,Simulink ブロック "To Workspace" でセンサ信号等のデータを保存することができる(オフラインでのデータ処理).
ちなみに,PWM 出力,エンコーダやジャイロ / 加速度センサの信号入力くらいの操作であれば,サンプリング周期は 10 [ms] でも大丈夫です(もう少し短く設定しても大丈夫そうですが).ただ,Simulink モデルのビルドに時間を要するのが玉に瑕(きず)です.これは,Simulink Support Package 側の問題ですが…
【注意】
方位センサを利用する場合は,サンプリング周期をもっと大きくする必要があります.
具体的な使用方法は 6 章で説明します.
4.2 インストール手順
4.2.1 ダウンロード
RASPLib の入手先は,MathWorks 社さんの File Exchange にある
です.2022/06/11 時点での最新バージョンは Ver.2.13(2021/12/31 リリース)です.作者は,Joshua Hurst さんです.R2015a から R2021a までが動作保証されていますが,R2021b, R2022a でも動作します.
Joshua Hurst さんは Raspberry Pi でエンコーダやジャイロ / 加速度センサを利用するための Simulunk ブロックも公開しています.興味がある人は利用してみてください.
File Exchange からダウンロードすると,github_repo.zip という名前の zip ファイルとして保存されます.これを適当なフォルダに移動して,解凍してください.
4.2.2 パスの設定(管理者権限を持っている場合)
github_repo.zip を解凍すると,「github_repo」というフォルダが生成されますが,私の場合,フォルダ名を「github_repo」から「RASPlib_2.13」に変更し(Ver. 2.13 なので),
- C:¥Programs¥MATLAB_toolbox¥R2021b¥RASPlib_2.13
- C:¥Programs¥MATLAB_toolbox¥R2018a¥RASPlib_2.13
のように MATLAB のバージョンごとにフォルダを配置しています.
解凍したフォルダ(以下,「RASPlib_2.13」とします)に含まれる「RASPlib」にパスを通します.
まず,設定するユーザが管理者権限を持っている場合について,説明します.
個人で MATLAB ライセンスを所有している場合は,個人ユーザ自身が管理者権限を持っているはずです.学校や職場のパソコンにインストールされている MATLAB は,管理者がいるはずですので,可能なら,以下のパス設定を管理者に依頼してみてください.無理な場合は,後述の方法で,管理者権限を持たないユーザがパスの設定することができます.
以下,MATLAB R2021b が
- C:¥Programs¥MATLAB¥R2021b
にインストールされているとします.このとき,
- C:¥Programs¥MATLAB¥R2021b¥toolbox¥local
にある M ファイル "matlabrc.m" を開いてください.そして,M ファイル "matlabrc.m" の最下部に
% --- RASPlib Ver.2.13 ---------
addpath(genpath('C:\Programs\MATLAB_toolbox\R2021b\RASPlib_Ver.2.13\RASPlib'))
を追加して,上書き保存してください.
M ファイル "matlabrc.m" の最下部に追加 |
最後に,MATLAB を再起動してください.そして,「Simulink ライブラリ ブラウザ」を起動すると,
のように,Rensselaer Arduino Support Package (RASPLib) が表示されているはずですので,確認してください.また,すでにインストール済みである Simulink Support Package for Arduino Hardware も表示されているはずです.
ちなみに,パスを確認すると,以下のようになります.
>> path
MATLABPATH
C:\Programs\MATLAB_toolbox\R2021b\RASPlib_Ver.2.13\RASPlib
C:\Programs\MATLAB_toolbox\R2021b\RASPlib_Ver.2.13\RASPlib\BalanceApp
C:\Programs\MATLAB_toolbox\R2021b\RASPlib_Ver.2.13\RASPlib\blocks
C:\Programs\MATLAB_toolbox\R2021b\RASPlib_Ver.2.13\RASPlib\examples
C:\Programs\MATLAB_toolbox\R2021b\RASPlib_Ver.2.13\RASPlib\examples\archive
C:\Programs\MATLAB_toolbox\R2021b\RASPlib_Ver.2.13\RASPlib\include
C:\Programs\MATLAB_toolbox\R2021b\RASPlib_Ver.2.13\RASPlib\src
<以下,省略>
4.2.3 パスの設定(管理者権限を持っていない場合)
以下に該当する場合は,別の方法でパスを設定します(github_repo.zip に含まれる "Install Instructions.txt" や "README.txt" に記載されている方法です).
- 管理者権限を持っていない
- 管理者に M ファイル "matlabrc.m" の修正を依頼することができない
まず,MATLAB を起動したときの初期作業フォルダを,たとえば,
- C:¥Users¥carter¥Documents¥MATLAB¥R2021b
に設定します(フォルダはここである必要はありませんが…).
「C ドライブ」
$\Longrightarrow$ 「ユーザー」
$\Longrightarrow$ 「carter」
$\Longrightarrow$ 「ドキュメント」
$\Longrightarrow$ 「MATLAB」
$\Longrightarrow$ 「R2021b」
このフォルダがない場合は,あらかじめ,作成しておいてください.ここで,
- "carter" の部分にはユーザ名を記述する
- "R2021b" の部分には MATLAB のバージョン (R20***) を記述する
に注意して,適宜,読み替えてください.
つぎに,github_repo.zip に含まれる
- M ファイル "startup.m"
- フォルダ "RASPlib"
を,C:¥Users¥carter¥Documents¥MATLAB¥R2021b にコピーしておきます.
そして,MATLAB の基本設定で「一般」を選択し,初期作業フォルダを
のように設定し,「OK」を選択してください.
最後に,MATLAB を再起動してください.そして,「Simulink ライブラリ ブラウザ」を起動すると,Rensselaer Arduino Support Package (RASPLib) が表示されているはずです.
ちなみに,"startup.m" という名前の M ファイルを初期作業フォルダに置いておくと,MATLAB の起動時にこの M ファイルが自動的に実行されます.M ファイル "startup.m" の内容は
addpath([fileparts(mfilename('fullpath')) '\RASPlib'],...
[fileparts(mfilename('fullpath')) '\RASPlib\src'],...
[fileparts(mfilename('fullpath')) '\RASPlib\include'],...
[fileparts(mfilename('fullpath')) '\RASPlib\examples'],...
[fileparts(mfilename('fullpath')) '\RASPlib\blocks'])
%cd CompileFolder % move to CompileFolder on start (optional)
のように記述されており,初期作業フォルダ にコピーしたフォルダ "RASPlib" に含まれるすべてのファイルにパスを通すという命令になっています.したがって,MATLAB 起動後にパスを確認すると,
>> path
MATLABPATH
C:\Users\carter\Documents\MATLAB\R2021b\RASPlib
C:\Users\carter\Documents\MATLAB\R2021b\RASPlib\src
C:\Users\carter\Documents\MATLAB\R2021b\RASPlib\include
C:\Users\carter\Documents\MATLAB\R2021b\RASPlib\examples
C:\Users\carter\Documents\MATLAB\R2021b\RASPlib\blocks
<以下,省略>
となっています.
5. Simulink モデルの初期設定
私が試した MATLAB のバージョン(リリース)は R2018a, R2020a, R2020b, R2021a, R2021b, R2022a です.
5.1 R2021b / R2021a / R2020b / R2020a
5.1.1 Arduino Mega 2560 互換ボード "MinMega" の場合
以下の動画を参考に,Simulink モデルの初期設定を行ってください.
5.1.2 Arduino Mega 2560 互換ボード "RobotDyn Mega" の場合
以下の動画を参考に,Simulink モデルの初期設定を行ってください.
動画の後半部分では,MATLAB のコマンドウィドウで
>> codertarget.arduinobase.registry.setBaudRate(gcs)
と入力して,Arduino Mega 2560 互換ボード用の設定をした Simulink モデルの シリアル通信によるエクスターナル実行のボーレートの値を確認しています.その結果,
Baud rate is 921600
と出力され,デフォルトの設定値が 921600 であることが確認できます.ちなみに,ボーレート (Baud Rate) とは,「デジタルデータを 1 秒間に何回だけ変復調できるかを示す値」だそうです.しかし,今回,使用した Arduino Mega 2560 互換ボードの場合,デフォルトの設定値 921600 のままでエクスターナル実行すると,
のようにエラーが表示され,実行できませんでした.そこで,
>> codertarget.arduinobase.registry.setBaudRate(gcs,115200)
Baud rate has been set to 115200
と入力して,シリアル通信によるエクスターナル実行のボーレートの値を 115200 に変更しました.このように,面倒ですが,MATLAB コマンドウィンドウでのコマンド入力により値を変更する必要があります.
なお,値が変更されていることは,再度,
>> codertarget.arduinobase.registry.setBaudRate(gcs)
と入力することで確認できます.その結果,
Baud rate is 115200
と出力され,エクスターナルモードでエラーなく実行できます.
5.2 R2022a
5.2.1 Arduino Mega 2560 互換ボード "MinMega" の場合
以下の動画を参考に,Simulink モデルの初期設定を行ってください.
ただし,R2022a では,マイコンボードを接続した状態で Simulink モデルの設定をするようにしてください.マイコンボードを接続していない状態で,「ハードウェアボード」を選択すると,
のようにエラーが発生してしまいますので,注意してください.
5.2.2 Arduino Mega 2560 互換ボード "RobotDyn Mega" の場合
以下の動画を参考に,Simulink モデルの初期設定を行ってください.
R2022a では,Simulink モデルの シリアル通信によるエクスターナル実行のボーレートの値を,コンフィギュレーションパラメータで設定できます.
External Mode over Serial communication の Baudrate を 115200 に変更 |
ただし,R2022a では,互換ボード "RobotDyn Mega" の場合であっても,マイコンボードを接続した状態で Simulink モデルの設定をするようにしてください.
5.3 R2018a
5.3.1 Arduino Mega 2560 互換ボード "MinMega" の場合
以下の動画を参考に,Simulink モデルの初期設定を行ってください.
R2018a の場合,忘れずに,
のように,「ノーマル」を「エクスターナル」に変更してください("RobotDyn Mega" の場合も同様です).
5.3.2 Arduino Mega 2560 互換ボード "RobotDyn Mega" の場合
以下の動画を参考に,Simulink モデルの初期設定を行ってください.
R2021b / R2021a / R2020b / R2020a と同様,
>> codertarget.arduinobase.registry.setBaudRate(gcs,115200)
Baud rate has been set to 115200
と入力して,シリアル通信によるエクスターナル実行のボーレートの値を 115200 に変更してください.
5.4 補足
【終了時間の設定】
動画の説明では,
- 終了時間:「inf」
と設定しています.この場合,Simulink モデルの停止ボタンを押さない限り,エクスターナル実行が継続されます.もし,エクスターナル実行で 5 秒間だけ実行したい場合は
- 終了時間:「5」
と設定してください.
【ソルバの設定】
動画の説明では,
- ソルバ:「離散(連続時間なし)」
と設定しています.この場合,Simulink ライブラリ "Continuous" に含まれる連続時関系の Simulink ブロック(連続時関系の微分器 "Derivative" や積分器 "Integrator",伝達関数 "Transfer Fcn",状態空間表現 "State-Space" など)を使用することができません.その代わりに,Simulink ライブラリ "Discrete" に含まれる離散時関系の Simulink ブロック(離散時関系の微分器 "Discrete Derivative" や積分器 "Discrete-Time Integrator",伝達関数 "Discrete Transfer Fcn",状態空間表現 "Discrete State-Space" など)を使用します.
連続時関系の Simulink ブロックを使用したい場合は,
- ソルバ:「ode1 (Euler)」
と設定してください.このとき,数値微分や数値積分は後退差分近似に基づいて実装されますが,近似の精度が不十分である可能性があります.
6. MinSegShield M2V5 Dual Axis Balancing Kit の DC モータとセンサを動かそう!
6.1 DC モータとエンコーダ
6.1.1 はじめに
MinSegShield M2V5 は,エンコーダ付 DC モータを 2 個,接続することができます.DC モータへの電力供給の方法は,以下の三種類があります.
- パソコンから USB を介して電力供給する場合:3.9 [V]
- 単三電池 6 本 (6AA batteries) により電力供給する場合:充電池のエネループ (eneloop) だと 1 本 1.2 [V] なので,合計 7.2 [V]
- 外部電源により電力供給する場合:購入した AC アダプタは 9 [V]
今回はパソコンから USB を介して電力供給するため,MinSegShield M2V5 のスイッチを以下のように切り替えます.
【エンコーダに関する注意事項】
MinSegShield M2V5 の販売時期によって,エンコーダ信号の極性が異なります.
6.1.2 モータとエンコーダの動作確認
MATLAB のコマンドウィンドウで
>> polarity = -1;
あるいは
>> polarity = 1;
と入力してから,以下の Simulink モデル "sample_motor_encoder.slx" を実行してみてください.
Simulink モデル "sample_motor_encoder.slx" |
R2019b 以降のリリースでは,「ハードウェア」のタグから「監視および調整」を選択し,
のように実行してください.
R2019a 以前のリリースでは,「エクスターナル」を選択してから「実行」ボタンを押し,
のように実行してください.
6.1.3 モータ角度の比例制御
MATLAB のコマンドウィンドウで
>> polarity = -1;
あるいは
>> polarity = 1;
と入力してから,以下の Simulink モデル "sample_pcont.slx" を実行してください.
Simulink モデル "sample_pcont.slx" |
"Subsystem (Motor)" |
"Subsystem1 (Motor)" |
たとえば,R2019b 以降のリリースでは,「ハードウェア」のタグから「監視および調整」を選択し,
のように実行してください.polarity の符号が間違っていると発散しますので,注意してください.
6.2 ジャイロセンサ
以下の Simulink モデル "sample_gyro.slx" を実行してください.
Simulink モデル "sample_gyro.slx" |
たとえば,R2019b 以降のリリースでは,「ハードウェア」のタグから「監視および調整」を選択し,
のように実行してください.x, y, z 軸方向に回転させると,その回転方向に応じてジャイロセンサの値が変化することが確認できます.
6.3 加速度センサ
以下の Simulink モデル "sample_acceleration.slx" を実行してください.
Simulink モデル "sample_acceleration.slx" |
たとえば,R2019b 以降のリリースでは,「ハードウェア」のタグから「監視および調整」を選択し,
のように実行してください.x, y, z 方向に動かすと,その方向に応じて加速度センサの値が変化することが確認できます.
付録
A.1 【重要!】R2021a / R2021b を使用する場合の注意
(2022/06/11 時点)
R2021a や R2021b では,Simulink モデルをビルドすると,
が表示されて,強制的に MATLAB が終了(クラッシュ)してしまうかもしれません.この不具合は,MATLAB のリリースバージョンとサポートパッケージで使用される DLL ファイルのバージョンが不一致であることが原因だそうです.
この問題の対処方法は,
- "Why does Simulink crash when I start it (with Arduino Support Package installed)?"
に対する MATLAB Anser を参照してください.そこに記されているように,MATLAB がクラッシュした後,
-
R2021a の場合:
C:\ProgramData\MATLAB\SupportPackages\R2021a\bin\win64\simulink_plugins\hardwaresupportpkgs\targets\targetHiddenBlkInsert -
R2021b の場合:
C:\ProgramData\MATLAB\SupportPackages\R2021b\bin\win64\simulink_plugins\hardwaresupportpkgs\targets\targetHiddenBlkInsert
にある DLL ファイル
- libmwtargetHiddenBlkInsert.dll
を削除し,MATLAB を再起動してください.
A.2 【重要!】R2022a を使用する場合の注意《解決済》
(2022/09/26 時点)
【解決されていました!】
Simulink Support Package for Arduino Hardware (「2022/9/14」のバージョン)を再インストールすると,下記の問題は解決されました.古いバージョンをインストールしている場合は,再インストールしてください!
(2022/06/11 時点)
R2022a では,マイコンボードを接続した状態で Simulink モデルの設定をするようにしてください.
また,R2022a で Scope の表示させると,途切れ途切れとなってしまいます.
リアルタイムで表示させるには,たとえば,Simulink のデータインスペクターの機能を利用するなどしてください.