自動車業界では、MATLAB/Simulinkをベースとしたモデルベース開発が有望視されています。言うと、適用方法によってはそれなりに工数削減や品質向上が出来ると言う事が実証されてきたからです。一方ではモデルベース開発によって逆に工数が増加してしまうケースもあり、まだまだ課題が山積みです。これは、ユーザー様にとっては課題が山積みと言えますが、私にとっては仕事のネタが山積みとも言えます。このブログでは、そういったモデルベース開発に関わっていく中で思った事について書いていきます。更新日は月曜日+気が向いた日です。yositakeTags:私はCQ出版社の出しているInterface誌を定期購読しています。前に自宅に届いた12月号を見てみると、なんとMATLAB特集が!その内容はと言いますと、アルゴリズム検証にフォーカスして、フィルター設計、モータ制御、画像処理など様々な領域での具体例が紹介されていました。・場合によっては、評価用ボード(=実際のFPGAなど)にダウンロードして実行といった感じです。ちなみに、第4章の「無線通信アルゴリズムをSimulinkモデルで書く。それをシミュレートしたり、HDL化してからFPGAにダウンロードしたりする」というスキームは私もやったことがあります。yositakeTags:MATLABには、ユーザーが独自にMATLABのユーザーインターフェースをカスタマイズするための仕組みが用意されています。(独自メニューを追加するとか、既存メニューを見えなくするとか)。Simulinkブロックをすばやく配置できたでご紹介したツールなんかも、その仕組みを使ってSimulinkに右クリックメニューを追加しています。それはたいがい、「m-fileでコールバック関数を書いておくと、MATLABがそれを呼び出してくれる」という形式を取るのですが、そのコールバック関数の仕様はしっかりとドキュメント化されていない事が多いです。Simulinkに右クリックメニューを追加したとしましょう。その「右クリックメニュー」がクリックされたら、MATLABは(ユーザーが書いた)コールバック関数を呼び出すようになっています。そのコールバック関数の中に「特定のSimulinkブロックを、右クリックされた場所に配置する」というような処理を書くことで、Simulinkブロックをすばやく配置できたでご紹介したツールが出来上がります。そのコールバック関数には引数が渡されるのですが、それがどんな情報をもっているのかドキュメントにハッキリと書かれてはいません。上記の例であれば「ユーザーがどの座標で右クリックしたのか?」はぜひ知りたいところです。(クリックされた座標に、ブロックを置きたい)。ところが、それをどうやって知れば良いのかはドキュメント化されていないようです。いったケースでは、マスワークスさんに問い合わせをするか、自分で調べるかしないといけません。今回の記事のテーマは、「どうやって、コールバック関数の引数が持つ構造を、自分で調べたらいいだろう?」です。先に答えを書いてしまうと、「ブレークポイント入れおくといいよ。ブレークがかかった時に、ワークスペース変数のビューを見るとすべて分かるから」です。これで納得されてしまった方は・・・ここでお別れです。yositakeTags:Simulinkブロックをすばやく配置したいなにて、「Simulinkブロックをすばやく配置するツールを作ってみようかな」と書きました。それに対し通りすがりのSL初心者様から、右クリックメニューを拡張してブロックをすばやく配置するためのスクリプトをコメント欄にいただきました。(すばらしい!)おかげさまで、とりあえずの形まで出来ましたので公開してみます。」とでもしましょうか。yositakeTags:Simulinkモデルを作っていてイヤだなーと思うのが、たとえば「Gainブロックを置きたい!」と思った時に、毎回ライブラリブラウザからGainブロックを探さないといけない点です。Gainブロックの大よその場所は知っていますが、これを見つけるのに5秒、10秒とかかる事がよくあります。(私だけかな?)「何かいいブロックないかな~♪」と探している場合には、このライブラリブラウザはとってもステキです。置きたいブロックが分かっている場合であっても、毎回ライブラリブラウザを探しにいかないといけないというのが何ともはや。思いつつR2010bを触っていると。これからはいつでもどこでもMATLABの時代ですよ!・・・うーん、なんか「家でも仕事しろってか?」なんて声が聞こえてきそうですね。いう意味じゃないんですよ、ハイ。実はつい先日、従来型のケータイから、スマートフォンに鞍替えしたのです。スマートフォンの電源を入れますと、画面上にアプリのアイコンがいっぱいならんでいて、まるでPCみたいです。テキトーにアプリを起動しては、無意味にいじり回していると・・・購入したのはお昼なのに、気が付いたらもう夜でした。なんと、スマートフォンからMATLABが使えるというスグレモノです。いや・・・何に使うんだろうとか疑問に思わないわけじゃないですが・・・楽しそうだし・・・。