Real-Time Workshop Release Notes | ![]() ![]() |
旧リリースからのアップグレード
本節では、Real-Time Workshop 4.1 からVersion 5.0 への移行に関するアップグレードの問題を説明します。
4.1 より以前のバージョンからアップグレードする場合は、Upgrading from an Earlier Releaseを参照してください。
廃止されたヘッダファイルの#includesの置換
生成されたコードは、本リリースでは、小数のファイルにパッケージ化されます(Revised Packaging of Generated Code Filesを参照)。旧バージョンのReal-Time Workshopによって生成されたコード間のインタフェースがある場合は、生成されないヘッダファイル(model_
common.h
, model_
export.h
, model_
prm.h
, model_
reg.h
のような)への依存を削除し、#include
model
.h
命令を追加する必要があります。
カスタマイズされたGRTおよびGRT-MallocターゲットをRelease 13で機能させるためのアップグレード
生成されるコードの効率を改良するために、Release 13ではGRTおよびGRT-Mallocターゲットが変更されています。いずれかのタイプのターゲットをカスタマイズした場合は、修正したファイルを、ターゲットがRelease 13 (Real-Time Workshop Version 5.0)で適切に動作することを保証するように、変更してください。
本リリースではターゲットのバージョンから開始し、カスタマイズを加えることを強く推奨します。このアップグレードパスに従えない場合は、下記のAおよびBで記述したすべてのステップを行う必要があります。
A. SimStruct とrtModelの置き換えの結果による変更:
Release 13のReal-Time Workshopより以前は、GRTおよびGRT-Mallocターゲットは、SimStructデータ構造体を利用して、モデル毎の情報をキャプチャし、格納しました。SimStructは非インラインS-functionによっても利用されたので、モデル毎の情報をキャプチャするために用いられたときに、未使用のまま残るフィールドがあるという欠点がありました。この欠点を回避するために、Version 5.0 は、rtModel と呼ばれる特殊なデータ構造体を導入して、モデル毎の情報をキャプチャします。
結果として、grt_main.c
とgrt_malloc_main.c
は、rtModelを利用するためにアップデートする必要があります。以下は、SimStructの代わりにrtModelを利用するために、これらのファイルに対して行う必要がある変更点です。
#define EXPAND_CONCAT(name1,name2) name1 ## name2
rt_CreateIntegrationData
とrt_UpdateContinuousStates
の定義をRelease 13 version のgrt_main.c
(あるいはgrt_malloc_main.c
)で見られるように変更します。
'SimStruct'
の代わりに引数'RT_MODEL'
をもつようにすべての関数プロトタイプを変更します。
rt_GetNextSampleHit
, rt_UpdateDiscreteTaskSampleHits
, rt_UpdateContinuousStates
, rt_UpdateDiscreteEvents
, rt_UpdateDiscreteTaskTime
, rt_InitTimingEngine
に対するプロトタイプが変更されいます。rt_
の代わりに接頭辞rt_Sim
を利用するように名前を変更し、それらに渡す引数を変更する必要があります。
ssGetErrorStatus
to rtmGetErrorStatus
,
ssGetSampleTime
to rtmGetSampleTime
,
ssGetSampleHitPtr
to rtmGetSampleHitPtr
,
ssGetStopRequested
to rtmGetStopRequested
,
メインのCファイルへの変更に加えて、target TLCファイルとtemplate make filesを変更する必要があります。
USE_RTMODEL
を定義する必要があります。例題は、GRTまたはGRT-Mallocのtemplate make filesを参照してください。
B. ロギングコードをRTWライブラリに移動した結果の変更
Release 13 では、データロギング用に用いるすべてのサポート関数は、rtwlog.c
からReal-Time Wrokshopライブラリに移動しています。結果として、新規ロギング関数との互換性のために、以下の変更を行う必要があります。
rtwlog.c
を削除します。
grt_main.c
あるいはgrt_malloc_main.c
から得られる)において、rtwlog.h
の代わりにrt_loggin.h
をインクルードします。
grt_main.c
あるいはgrt_malloc_main.c
から得られる)において、ロギング関連関数のプロトタイプが変更されているため、これらの関数呼び出しを変更する必要があります。各関数に渡される引数の一覧は、grt_main.c
(またはgrt_malloc_main.c)
を参照してください。
![]() | HPおよびIBMに対するプラットフォームの制限 | 既知のソフトウェアとドキュメントの問題 | ![]() |