概 要
本製品は次の構成要素からなっています。
- ローダー・インターフェイス
Simulink/Simulink Coderで生成したコードを、ユーザープログラムからロード・実行できます。 また、ゲイン/定数の変更・積分アルゴリズムの選択・制御周期の変更などが、ユーザープログラムから行えます。
- DP−RAM通信インターフェイス
DP−RAMを経由し、ホスト上のユーザープログラム(Visual Basicで記述)とACRO741−00上のユーザープログラム(RTW作成)との間で、データ交信ができます。 ホストの速度の関係から完全なリアルタイムではありませんが、ホストとACRO741−00並列処理を実現できます。 ACRO741−00側はSimulinkブロック線図のI/Oブロックとして扱います。
- スコープ・インターフェイス
DP−RAMを経由し、ACRO741−00から送られてくるスコープデータを取り出せます。 これを使ってホスト上のユーザープログラム(VisualBasic)で、スコープの描画が可能です。
- 変数モニター
DP−RAMを経由し、Simulink上の任意変数(出力線)をモニターできます。 これを使って上のユーザープログラム(VisualBasic)で、変数の描画が可能です。
- ロギング・インターフェイス
ACRO741−00内での実行結果をいったんACRO741−00内部メモリーに保存した後、ACRO741−00の実行停止後これを取り出して、ホストのディスク上にデータとして保存できます。 ファイルフォーマットは、MATLABの標準フォーマットと互換がありますので、MATLABにて読み込み再利用ができます。
- ユーザー定義関数組み込み機能
ユーザーがC言語で定義した処理をブロック線図に組み込むことができます。 これは、Simulinkで定義しずらい部分や、C言語で記述したほうが効率が良い場合、または、C言語によるソフトウェア資産を活用したい場合などに利用できます。 C言語で記述された部分と、ブロック線図との間でのデータ交換も可能ですので、C言語ルーチンをブロック線図の一部として使用できます。
特 徴
本製品は、弊社製品「MATLAB対応ライブラリーACRO741−441D」の機能を応用し、主にACRO741−00上で実行中のSimulink、MATLAB/Simulink Coderによるリアルタイムモデルと、ホストコンピュータ上で実行するユーザープログラムとのデータ交換を可能とする物です。この機能を用いることにより、ACRO741−00上のリアルタイムモデルとホストコンピュータ上のユーザープログラムの2つで構成する、統合的なユーザーアプリケーションを構築することができます。 また、リアルタイムモデルを、条件を様々変更して反復実行する場合などの、実行の自動かなどが可能です。
MATLAB対応ライブラリー ACRO741−441Dでは、ACRO741−00上のリアルタイムモデルのパラメータをランタイムに変更したい場合は、リアルタイムモニター(以下RTMON)を用いたオペレータによる手動設定しか行えませんでした。 RTMONによる実行時のパラメータ変更は、これが無い場合の”Simulinkブロック線図でのパラメータ変更とコードの再生成”と比較すると、格段に作業量(作業時間)が軽減されていましたが、本製品の機能を用いることにより、ユーザープログラムからパラメータの変更が可能となり、これを応用してユーザープログラムによる自動化などが可能となり、さらに快適な環境が構築できます。
製品概念図
この図は、MATLAB対応UILの概念を示したものです。

この場合のユーザーの目的は、ACRO741−00を使った最終製品を構築しエンドユーザーに供給することを想定しています。システムの開発時には、RTWで作成した実行形式プログラムはRTMONでロード・実行・評価します。こうして完成した実時間モデルの最終製品への組み込みには、UILを経由してユーザープログラムからコントロールします。エンドユーザーはRTMONではなく、ユーザープログラムにてオペレーションします。これにより、ユーザーはエンドユーザー向けの専用システムを構築することができます。
ライブラリ関数一覧
初期化関数 |
UIL_Init(); |
ライブラリーとACRO741−00の初期化を行います。 |
UIL_Exit(); |
ACRO741−00の終了処理 |
UIL_GetErrorCode(); |
UILライブラリーエラー情報の取得 |
UIL_DspReset(); |
ACRO741−00ボードの強制リセット |
UIL_DspAllReset(); |
全ACRO741−00ボードの強制リセット |
モデルロード関数 |
UIL_SetModelDir(); |
リアルタイムモデルディレクトリー設定 |
UIL_Load(); |
リアルタイムモデルロード |
UIL_ReadyWait(); |
リアルタイムモデル準備完了待機 |
UIL_RtErrorCheck(); |
リアルタイムモデル準備正常確認 |
UIL_GetErrorCode(); |
ACRO741−00エラー情報の取得 |
マルチACRO741−00関連 |
UIL_ChangeMainDSP(); |
メインACRO741−00番号変更 |
UIL_CurrentMainDSP(); |
メインACRO741−00番号取得 |
UIL_LoadSubDSP(); |
サブACRO741−00プログラムロード |
UIL_StopSubDSP(); |
サブACRO741−00プログラム停止 |
実行パラメータ設定 |
UIL_SetStepSize(); |
ステップサイズ設定 |
UIL_SetStartTime(); |
開始時刻設定 |
UIL_SetEndTime(); |
終了時刻設定 |
UIL_SetIntegAlg(); |
積分アルゴリズム設定 |
UIL_SetAccFactor(); |
時間倍率設定 |
UIL_SetLogOption(); |
ロギングオプション設定 |
UIL_SetBufferSize(); |
バッファサイズ設定 |
実行開始/停止 |
UIL_RtStart(); |
モデル実行開始 |
UIL_RtStop(); |
モデル一時停止 |
UIL_RtTerminate(); |
モデル強制停止 |
ロギング情報取得 |
UIL_GetRtValuesInfo(); |
パラメータ情報取得 |
UIL_GetScopeInfo(); |
スコープ情報取得 |
パラメータ動的変更 |
UIL_SetGain(); |
ゲイン値変更 |
UIL_SetConstant(); |
定数値変更 |
UIL_SetThreshold(); |
スイッチスレッショルド値変更 |
DP−RAM通信 |
UIL_DpOutput(); |
ホストからACRO741−00へ |
UIL_DpInput(); |
ACRO741−00からホストへ |
ロギング |
UIL_GetUseTime(); |
実行時間取得 |
UIL_ScopeUpload(); |
スコープデータ取得 |
UIL_LogDataBinarySave(); |
データ保存(MATLAB形式) |
UIL_LogDataAsciiSave(); |
データ保存(ASCII形式) |
|