ぷち影響解析ツール Ver1.10
Simulinkの信号線がどこにつながっているのか?というのは、結構わかりにくいものです。特に、1つのサブシステムに入出力ポートが20も30もあった日には大変です。(ぷち影響解析ツールが欲しい)
そのうちツールを作ろうかなぁ、なんてブログに書きましたら、「通りすがりのSL初心者」様がサクっと作って、コメント欄に投稿してくださいました。
それをぷち影響解析ツールにて公開させていただいたのですが、さらに通りすがりのSL初心者様が機能追加パッチを送ってくださいました。
というわけで、ぷち影響解析ツールのバージョンアップ版を公開します。
Ver1.10
Line Tracerは、2つのファイルで構成されています。ZIPファイル中のフォルダー line_tracerをPC上のどこかに配置した上で、そこにMATLAB Pathを通していただければインストール完了です。
パスを設定した直後は、MATLABコマンドプロンプトにて、
sl_refresh_customizations
と入力してください。
Ver1.00からの変更点
Ver1.00からの変更点は次の通りです。
- 伝搬先、伝搬元、どちらの方向へもたどれるようにしました
- 伝搬先(元)のハイライト方式を改善しました
- ポカヨケとして、信号線を右クリックしたときのみ「トレースする」メニューを有効にしました。
通りすがりのSL初心者様へ
「伝搬先をハイライトする」機能について、ちょっと迷走してしまいました。
伝搬先をハイライトするためには、次の2通りの方法があります。
- hilite_system コマンドを使う
- 対象の背景色プロパティ(BackgroundColor プロパティ)を変更する
(後述しますが、背景色をいじる方式は信号線に対しては通用しません)
一番最初に通りすがりのSL初心者様から送っていただいたスクリプトでは、伝搬先を hilite_system コマンドでハイライトするようにされていました。
それをそのまま使えばいいものを、Ver1.00では、私が勝手に背景色プロパティを変更する方式に変えてしまいました。
しかしよくよく調べてみると、hilite_systemコマンドを使うと次の利点がある事がわかりました。そのため、Ver1.10ではhilite_systemコマンド方式に戻しています。
- ハイライトしたいブロックのある位置に、自動的にスクロールしてくれる
- 信号線もハイライトできる
とくに2番目が決定打でした。Simulinkの信号線には、「前面色」を指定する事ができません。信号線の色は、「どのSimulinkブロックから出てくる信号なのか?」によって決まってしまうからです。黄色いブロックから出てくる信号線は、勝手に黄色になってしまうんですね。
ちなみにVer1.00では、信号線の選択状態を on / off させることでハイライトの代わりとしていましたが、ちょっと地味すぎました。。。
じゃあ、そもそもどうしてVer1.00にて勝手に方式を変更したのか?と言われますと・・・もう気の迷いとしか言いようがありません。ハッハッハ。
いえいえ、全然勝手に変更されてかまいません。そもそも、私が好き勝手にコメント欄に投稿しただけですから。元ネタ(というか課題提起)も吉武様がされたもので、私は単に通りすがっただけですから^^; むしろ、勉強になりましたし、採点していただいてありがとうございます。
というか、私自身、hilite_systemをそこまで理解して方式に採用したのであれば、なぜって思っちゃうかもしれませんが、背景色つけるのはどうすればいいんだ?って思って調べてでてきた関数が単にhilite_systemだったというだけなので。
こちらこそ、大変勉強になりました。どうもありがとうございます。
考えてみれば、SL向けツールを作る時には、「ブロックを探す」「ブロック同士のつながりを調べる」「ブロックをハイライトする」「ブロックを追加・削除する」などの操作をよくやります。
じゃあ、これらについて「どんな方法があって、それぞれのメリット・デメリットは何か?」と言われるとハッキリとは答えられない自分がいます。ですから今回のような事があると、勉強になって助かります。
年末年始の時間を利用して、ちょっと整理しておこうかと思います。(酔っ払って理性を失ったりしていなければ!)