はじめに
前記事にて、その際に、時刻情報を数値データで出力してましたので、それを見やすくるする方法を記載します。
M-FunctionでのMATLAB関数の使い方とmxArrayエラーの回避方法
ここで起きている問題は、データ線には文字列を流すことはできないという点です
そのため解決策として、
・理解できる数値情報に分解して流す
・文字列をグラフなどに出力する
1.文字列をSimulinkのデータ線に流すことはできない
前回の記事で、図のようなM-Functionを作成することで、日付情報を出力することができました。
ただ、数値のままでは読めないので、文字列にしたいと思いますが、
Simulinkのデータ線には文字列(String)のデータを流すことはできないので、
下記のようにしてもエラーになってしまいます。
2.数値データを分割して出力
取得した時刻データを、datetime関数を使って時・分・秒の数値データに分け、
その結果を各displayに出力します。
15(時) 19(分) 27.9(秒)と読めますね。
3.Figureに出力
文字列を直接表示するモデルはありませんが、図には表示する機能があるので、それを利用します。
時刻を取得したM-Functionの中で、新しい図を開き、そのタイトルに日付の文字列をセットすると、
現在時刻を表示できます。
なお、figureの番号を指定しておかないと、新しい図がどんどん作られたり、他の処理で図を使っていると
そっちのタイトルが変更されてしまうので注意です。
また、今回は楽なのでタイトルを使いましたが、テキスト(text)や注釈(annotation)などを使えば
好きな位置に表示できます。
おわりに
以上で現在時刻のリアルタイム表示ができました。
はっきりいって全然スマートな表示ではありませんが、比較的シンプルなことや、
他の文字列情報への対応も可能と言えばそうなので、何かの役に立てたら幸いです。
以上です。