3
2

More than 3 years have passed since last update.

Simulinkで日付情報を表示する

Last updated at Posted at 2019-10-12

はじめに

前記事にて、その際に、時刻情報を数値データで出力してましたので、それを見やすくるする方法を記載します。
M-FunctionでのMATLAB関数の使い方とmxArrayエラーの回避方法

ここで起きている問題は、データ線には文字列を流すことはできないという点です
そのため解決策として、
・理解できる数値情報に分解して流す
・文字列をグラフなどに出力する

1.文字列をSimulinkのデータ線に流すことはできない

前回の記事で、図のようなM-Functionを作成することで、日付情報を出力することができました。
時刻出力成功.png

ただ、数値のままでは読めないので、文字列にしたいと思いますが、
Simulinkのデータ線には文字列(String)のデータを流すことはできないので、
下記のようにしてもエラーになってしまいます。
文字列出力.png
文字列出力エラー.png

2.数値データを分割して出力

取得した時刻データを、datetime関数を使って時・分・秒の数値データに分け、
その結果を各displayに出力します。
時分秒出力.png
時分秒出力モデル.png
15(時) 19(分) 27.9(秒)と読めますね。

3.Figureに出力

文字列を直接表示するモデルはありませんが、図には表示する機能があるので、それを利用します。
時刻を取得したM-Functionの中で、新しい図を開き、そのタイトルに日付の文字列をセットすると、
現在時刻を表示できます。
時刻の図出力.png
時刻の図出力グラフ.png

なお、figureの番号を指定しておかないと、新しい図がどんどん作られたり、他の処理で図を使っていると
そっちのタイトルが変更されてしまうので注意です。
また、今回は楽なのでタイトルを使いましたが、テキスト(text)や注釈(annotation)などを使えば
好きな位置に表示できます。

おわりに

以上で現在時刻のリアルタイム表示ができました。
はっきりいって全然スマートな表示ではありませんが、比較的シンプルなことや、
他の文字列情報への対応も可能と言えばそうなので、何かの役に立てたら幸いです。

以上です。

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2