フォルダーの中には大量の .mdl .m .mat ファイル。管理するのが大変だ!というユーザー向けに、R2011bにてSimulinkプロジェクト機能が追加されました。
ファイルがいっぱいあっても、モデルを作った本人は困りません。しかし、作ったモデルを社内に展開するとなると、なんらかの工夫が必要になります。
正直、個人的には現状でもあまり不便を感じていないのですが、興味半分にどんなものなのか調べてみました。
ちなみに日本語ヘルプには使い方が載っていないので、マニュアルはマスワークス本社のもの(要ログイン)をご参照下さい。
続きを読む
最近、モデルベース開発の波がきているらしく、ちょくちょくお問い合わせをいただいたりします。
どうしてウチに?と聞いてみると、「Webで検索したら、もともと数社しかなくって・・・しかも問い合わせメールに返事すら返さない所もあって・・・」などというお答えをいただく事が多いように思います。ザ・消去法!ってやつですね。
続きを読む
ちょっと前の話です。
お客様「こういう制御を実現するSimulinkモデルって作れる?」
私「技術的には全く問題ございませんが、これは何のためのモデルでしょうか?」
お客様「実は、こういうアルゴリズムをJavaで開発してるんだけど、やっぱり動かしてみたいんだよね。おエライさんへのデモ用とかで。でもJavaコードの動きってよく分からないじゃない?だから、これと同じものをSimulinkでも開発して、デモしたり、アルゴリズム検証したりしたいんだよね」
私「そのJava開発というのは、これからスタートするものなのでしょうか?」
お客様「いや、もう開発は進んでるよ」
私「では、SimulinkモデルにそのJavaコードを埋め込んで直接走らせてはいかがでしょうか?Javaコードのデバッグにもなり、デモにも使えて一石二鳥だと思うのですが?」
お客様「!」
はい、しゅーりょー。儲け話が1つ消えました。プラントモデルはあるけど制御モデルが無い、だから作って?というご依頼でしたので、私の仕事はありません。ハッハッハ。
MBD界隈では、このように「デバッグ対象をSimulinkモデルに埋め込んで実行する」ための環境をSILS(Software In the Loop Simulator)と呼びます。
自動車業界であれば、ECUに乗っけるCコードをSILSにする事が多いのですが、今回の場合は対象がJavaです。ここは造語してSILS for Javaとでも呼びましょうか。
SILS for Javaは簡単に実現できますが、コツが分からないと苦労するかも分かりません。そこで、簡単にそのやり方をご紹介します。
続きを読む
MATLAB Coder(2)からの続きです。今回は、MEX化にチャレンジです。
とは言え、本当にコレってうれしいのかなー?という気持ちはあります。
ちょっと高速化したいとか、mファイルの中身を隠したいという方は、まずpcodeコマンドにチャレンジすると幸せになれるかも、です。
pcode mファイル名.m
とすると、 .p ファイルが出来ます。コレだけ配布しても動作するのと、ほんのちょっぴり高速化される(かも)なので、これで満足できるならこれで終了です。
そうではなくて、
・ものすごく高速化したい!
・MATLAB Coder(2)のための中間ステップとして、MEX化したい
というのであれば、MATLAB CoderによるMEX化にチャレンジする価値がありそうです。
続きを読む