Int gration AMEsim Simulink - OPAL-RT · Intégration sous Simulink ® d’un modèle AMESim –...

30
Intégration sous Simulink ® d’un modèle AMESim - Simulation temps-réel sous RT-Lab - B2i Automotive Yahia BOUZID 19/07/2006

Transcript of Int gration AMEsim Simulink - OPAL-RT · Intégration sous Simulink ® d’un modèle AMESim –...

Intégration sous Simulink® d’un modèle AMESim

- Simulation temps-réel sous RT-Lab -

B2i Automotive

Yahia BOUZID

19/07/2006

Intégration sous Simulink® d’un modèle AMESim – Y.B.

2

SOMMAIRE

SOMMAIRE .......................................................................................................................................................... 2

LISTE DES FIGURES ......................................................................................................................................... 3

HISTORIQUE DES MODIFICATIONS ............................................................................................................ 4

1. INTRODUCTION ............................................................................................................................................. 5

1.1. OBJET DU DOCUMENT ................................................................................................................................... 5 1.2. MISE A JOUR DU DOCUMENT ......................................................................................................................... 5

2. VUE D’ENSEMBLE ......................................................................................................................................... 6

3. PROCESSUS D’INTEGRATION ................................................................................................................... 7

3.1. AMESIM ....................................................................................................................................................... 7 3.1.1. Création du modèle AMESim ................................................................................................................ 7 3.1.2. Insertion des blocs d’interfaçage Simulink® ......................................................................................... 8 3.1.3. Génération des fichiers nécessaires à l’exécution temps-réel ............................................................. 10

3.2. SIMULINK® .................................................................................................................................................. 11

3.2.1. Création de la S-Function ................................................................................................................... 12 3.2.2. Construction du modèle Simulink® ...................................................................................................... 13 3.2.3. Adaptation du modèle Simulink® à RT-Lab ......................................................................................... 14

3.3. RT-LAB....................................................................................................................................................... 16

4. EXECUTION MULTI-CIBLE ...................................................................................................................... 22

4.1. INTRODUCTION ........................................................................................................................................... 22 4.2. UN SEUL MODELE AMESIM ........................................................................................................................ 25 4.3. PLUSIEURS MODELES AMESIM ................................................................................................................... 26

5. REMARQUES – PROBLEMES RENCONTRES ....................................................................................... 27

5.1. BLOCS D’ INTERFAÇAGE AVEC SIMULINK® .................................................................................................. 27

5.2. COMPILATION DU MODELE AMESIM .......................................................................................................... 28 5.2.1. Problème rencontré ............................................................................................................................. 28 5.2.2. Solution ............................................................................................................................................... 28

5.3. MODIFICATION DU FICHIER TMF POUR UTILISATION MULTI-PROCESSEURS ................................................ 29

Intégration sous Simulink® d’un modèle AMESim – Y.B.

3

Liste des figures

FIGURE 1: PROCESSUS D'INTEGRATION .................................................................................................................... 6 FIGURE 2: MODELE AMESIM DE BASE .................................................................................................................... 7 FIGURE 3: CREATION DU BLOC D'INTERFACE AVEC SIMULINK ® .............................................................................. 8 FIGURE 4: MODELE AMESIM AVEC BLOC D'INTERFAÇAGE SIMULINK ® .................................................................. 9 FIGURE 5: GENERATION DES FICHIERS POUR LE TEMPS-REEL ................................................................................. 10 FIGURE 6: SIMULINK LIBRARY BROWSER .............................................................................................................. 12 FIGURE 7: CREATION DE LA S-FUNCTION .............................................................................................................. 13 FIGURE 8: MODELE SIMULINK ® CONSTRUIT AUTOUR DE LA S-FUNCTION ............................................................ 13 FIGURE 9: SYSTEME PRINCIPAL CONTENANT LES BLOCS MAITRE ET CONSOLE ....................................................... 14 FIGURE 10: SUBSYSTEM SC_CONSOLE (AVEC BLOC OPCOMM)............................................................................. 15 FIGURE 11: OPTIONS DU SOLVEUR ......................................................................................................................... 15 FIGURE 12: RT-LAB MAINCONTROL ..................................................................................................................... 16 FIGURE 13: CONFIGURATION DES VARIABLES UTILISATEUR .................................................................................. 17 FIGURE 14: SELECTION DU FICHIER *.TMF MONO-PROCESSEUR ............................................................................. 18 FIGURE 15: ASSOCIATION DES FICHIERS GENERES ................................................................................................. 19 FIGURE 16: SELECTION DE LA CIBLE DE COMPILATION .......................................................................................... 20 FIGURE 17: PHASE FINALE DE L'INTEGRATION ....................................................................................................... 21 FIGURE 18: SELECTION DU FICHIER *.TMF MULTI-PROCESSEURS ........................................................................... 23 FIGURE 19: USER VARIABLES POUR EXECUTION MULTI-CIBLE ET UN MODELE AMESIM ....................................... 25 FIGURE 20: USER VARIABLES POUR EXECUTION MULTI-CIBLE ET PLUSIEURS MODELES AMESIM ......................... 26 FIGURE 21: MODELE AMESIM AVEC BLOC D'INTERFAÇAGE AVEC SIMULINK ® .................................................... 27 FIGURE 22: S-FUNCTION GENEREE A PARTIR DU MODELE AMESIM ...................................................................... 27

Intégration sous Simulink® d’un modèle AMESim – Y.B.

4

Historique des modifications

Date Version Auteur Objet

19/07/2006 1.0 Y. Bouzid Création du document

Intégration sous Simulink® d’un modèle AMESim – Y.B.

5

1. Introduction

1.1. Objet du document

Ce document a pour objectif de définir pas à pas la méthode d’intégration d’un modèle

AMESim sous Simulink® , de façon à réaliser une simulation temps-réel sous RT-Lab. Ce

processus s’inscrit dans le cadre de l’intégration d’un modèle moteur au sein d’un banc

HIL issu du partenariat B2i/Opal-RT.

1.2. Mise à jour du document

Ce document sera mis à jour suivant d’éventuelles nouvelles étapes permettant

l’intégration du modèle AMESim.

Intégration sous Simulink® d’un modèle AMESim – Y.B.

6

2. Vue d’ensemble

Le schéma ci-dessous donne une vue d’ensemble du processus d’intégration du modèle

AMESim sous Simulink® , en vue d’une exécution temps-réel à l’aide de RT-Lab.

Création et tests du modèle AMESim

Ajout des blocs d’interface avec Simulink

Génération des fichiers pour le temps-réel

AM

ESim

Ouverture du modèle et configurations diverses

Compilation, assignation des noeuds et chargement

Exécution temps-réel

RT-L

ab

Importation du modèle AMESim sous Simulink (S-function)

Création du modèle Simulink autour de la S-Function

et adaptation à RT-Lab

Configuration su solveur et tests du modèle en mode offline

Sim

ulink

Figure 1: Processus d'intégration

Chacune des étapes mentionnées sur ce schéma sera détaillée dans la suite de ce

document. Les explications se baseront sur la mise en œuvre d’un exemple concret.

Intégration sous Simulink® d’un modèle AMESim – Y.B.

7

3. Processus d’intégration

REMARQUE PRELIMINAIRE

TOUS les fichiers liés au modèle à intégrer (fichiers AMESim, Modèles

Simulink®, fichiers d’initialisation, de data et autres) doivent être dans le

même répertoire.

3.1. AMESim

3.1.1. Création du modèle AMESim

Créez le modèle AMESim, réglez les paramètres et testez son fonctionnement en pas

variable, puis en pas fixe. Enregistrez le modèle sous un nom ne contenant pas de

majuscules (skyhook dans notre exemple)

Figure 2: Modèle AMESim de base

Intégration sous Simulink® d’un modèle AMESim – Y.B.

8

3.1.2. Insertion des blocs d’interfaçage Simulink®

- Repassez en Sketch mode (F5)

- Veillez bien à ce que le sketch soit déverrouillé

- Menu Interface ���� Create Interface Icon

Figure 3: Création du bloc d'interface avec Simulink®

- Veillez bien à ce que le type d’interface soit « Simulink »

- Choisissez le nombre d’entrées (signaux allant vers Simulink®) et de sorties

(signaux provenant de Simulink®) et complétez les labels. Attention, ne mettez

pas d’espaces dans les labels des E/S !

Intégration sous Simulink® d’un modèle AMESim – Y.B.

9

- Les informations situées dans les trois champs du milieu (ici « Command law »)

correspondent simplement au label du bloc.

- Validez (OK), le bloc d’interfaçage est créé sur le sketch AMESim. Connectez-le au

modèle.

Figure 4: Modèle AMESim avec bloc d'interfaçage Simulink®

- Cliquez sur Parameter mode (F7) et Run mode (F8), afin de que le code C

nécessaire à la S-Function soit compilé.

Intégration sous Simulink® d’un modèle AMESim – Y.B.

10

3.1.3. Génération des fichiers nécessaires à l’exécution temps-réel

- Le modèle doit être en Run mode (F8)

- Menu Interface ���� Generate files for Real-Time

Figure 5: Génération des fichiers pour le temps-réel

- Dans la liste déroulante, sélectionner la plate-forme temps réel utilisée (dans

notre cas RT-Lab)

- Cliquez sur « Generate ». Les fichiers sont créés dans le répertoire courant, qui

contient le modèle AMESim.

REMARQUE :

Après chaque modification du modèle AMESim, il est impératif de recompiler (Parameter

mode (F7)). Lors du passage du Parameter mode vers Run mode, des fichiers de

données contenant les valeurs des paramètres sont créés. Lors de l’exécution de la S-

Function sous Simulink® ces fichiers sont lus. Ainsi, après tout changement de

paramètres sous AMESim, veillez bien à passer en Run mode, autrement les

changements ne seront pas vus par Simulink®

De la même manière, il est impératif de régénérer les fichiers temps-réel après chaque

modification du modèle AMESim.

Intégration sous Simulink® d’un modèle AMESim – Y.B.

11

3.2. Simulink®

A présent, le modèle AMESim existe sous forme de S-Function. Il s’agit de l’importer

dans Simulink®. Lorsque l’on quitte AMESim, les fichiers qui définissent le système sont

compressés dans un fichier unique, ce qui les rend inaccessibles à partir de Simulink®. Il

existe deux façons de procéder :

- Exécuter Simulink et AMESim (en Run mode) en parallèle

- Fermer AMESim et récupérer les fichiers compressés à l’aide d’une commande

MS-DOS. Se placer préalablement dans le répertoire contenant le modèle

AMESim :

AMELoad nom_modele_amesim

Ex : le modèle a pour nom skyhook et il est situé dans D:\travail\amesim

Les commandes à taper dans l’invite de commandes DOS sont :

D:

cd travail

cd amesim

AMELoad skyhook

Lors de l’ouverture de MATLAB/Simulink®, veillez à ce que le répertoire de travail (sous

MATLAB) soit bien celui qui contient le modèle AMESim (de même que tous les autres

fichiers).

Intégration sous Simulink® d’un modèle AMESim – Y.B.

12

3.2.1. Création de la S-Function

- Lancez MATLAB. Spécifiez comme répertoire de travail (Current Directory) le

répertoire contenant le modèle AMESim.

- Créez un nouveau modèle Simulink®. Enregistrez-le dans le même répertoire

que le modèle AMESim.

- Ajoutez une nouvelle S-Function au modèle, à partir du Simulink Library

Browser ���� User Defined Functions ���� S-Function.

Figure 6: Simulink Library Browser

- Cliquez sur le bloc S-Function et complétez les champs S-Function name et S-

Function parameters :

o S-Function name : nom du fichier AMESim contenant le modèle, sans

l’extension, suivi du caractère « _ ».

o S-Function parameters : Simulink attend 2 paramètres. Le 1er indique si un

fichier de résultats AMESim doit être créé (1 = création, autre chiffre = pas

création), tandis que le 2nd paramètre indique l’intervalle d’écriture.

Intégration sous Simulink® d’un modèle AMESim – Y.B.

13

Figure 7: Création de la S-Function

- Lorsque les changements sont validés (OK), le bloc de la S-Function prend forme,

et devient l’image du bloc d’interfaçage créé sous AMESim. Les noms des ports du

bloc S-Function n’apparaissent pas immédiatement. Il faut faire RUN sous

Simulink® pour qu’ils apparaissent.

3.2.2. Construction du modèle Simulink®

- Construisez normalement votre modèle Simulink® autour de la S-Function.

Figure 8: Modèle Simulink® construit autour de la S-Function

- A ce stade, on peut déjà tester le fonctionnement de l’ensemble, en cliquant sur

RUN.

Intégration sous Simulink® d’un modèle AMESim – Y.B.

14

3.2.3. Adaptation du modèle Simulink® à RT-Lab

L’adaptation du modèle Simulink à une utilisation sous RT-Lab requiert la création de

subsystems particuliers, dont les noms commencent par SM_ (Master), SS_ (Slave) et

SC_ (Console)

- Le modèle Simulink® créé sera placé dans le subsystem SM_Master. Le

subsystem SC_Console servira à la visualisation des résultats.

Figure 9: Système principal contenant les blocs maître et console

- N’oubliez pas d’ajouter un bloc OpComm à l’intérieur de chacun des subsystems

comportant des entrées.

Intégration sous Simulink® d’un modèle AMESim – Y.B.

15

Figure 10: Subsystem SC_Console (avec bloc OpComm)

- Dans le menu Simulation ���� Configuration parameters, dans les options du

solveur, sélectionnez Fixed step, puis le pas de calcul (Fixed step size).

Figure 11: Options du solveur

Intégration sous Simulink® d’un modèle AMESim – Y.B.

16

3.3. RT-Lab

Intéressons-nous à présent à la dernière phase de l’intégration : la compilation, le

chargement et l’exécution du modèle à travers RT-Lab.

- Copiez le fichier ame_rtlab.tmf , qui se trouve dans le répertoire

D:\AMESim4.3.0\lib, dans le répertoire courant (exécution

mono_processeur)

- Ouvrez le modèle Simulink® (Open Model), qui se trouve dans le répertoire du

modèle AMESim, puis cliquez sur Configuration

Figure 12: RT-Lab MainControl

Intégration sous Simulink® d’un modèle AMESim – Y.B.

17

- Dans l’onglet User Variables, décochez la case Use global settings

- Dans le cadre Local settings, écrivez dans le champ de gauche le nom de la

variable : AMESIMMODEL, et sa valeur : ‘nom du fichier AMESim’ (par ex :

skyhook)

- Cliquez sur Add

- Cliquez sur le bouton Change Global settings et entrez le login et le mot de

passe, s’ils existent

- Dans le cadre Global settings, écrivez dans le champ de gauche le nom de la

variable : AME, et sa valeur : ‘répertoire AMESim sous QNX’ (par ex :

/usr/amesim/v431)

- Cliquez sur Appliquer

Figure 13: Configuration des variables utilisateur

Intégration sous Simulink® d’un modèle AMESim – Y.B.

18

- Cliquez sur le bouton Advanced, en bas de la fenêtre

- Dans l’onglet Compilation options, dans le cadre RTW, sélectionnez le fichier

ame_rtlab.tmf que vous avez copié dans le répertoire courant du modèle

AMESim.

Figure 14: Sélection du fichier *.tmf mono-processeur

Intégration sous Simulink® d’un modèle AMESim – Y.B.

19

- Dans l’onglet Files & Commands, dans le cadre Extra Files, sélectionnez tous

les fichiers situés dans le répertoire du modèle AMESim, dont les extensions sont

*.c ; *.h et *.rtmake.

- Cliquez sur Appliquer, puis OK

Figure 15: Association des fichiers générés

Intégration sous Simulink® d’un modèle AMESim – Y.B.

20

- Dans l’onglet Hardware configuration, vérifiez que le Development node est

bien la cible sur laquelle vous travaillez. Si ce n’est pas le cas, cliquez sur Change

Global settings, entrez le login et le mot de passe s’ils existent, et modifiez le

Development node. La compilation se fera au niveau de cette cible.

- Cliquez sur OK une fois la modification effectuée

Figure 16: Sélection de la cible de compilation

Intégration sous Simulink® d’un modèle AMESim – Y.B.

21

- Vérifiez que le package lié au modèle AMESim est décompressé (AMESim en Run

mode ou commande AMELoad ‘fichier_amesim’ exécutée).

- Procédez à la compilation du modèle en cliquant sur le bouton Compile,

sélectionnez la cible à l’aide de Assign Nodes, puis chargez le modèle (Load).

- Il ne reste plus qu’à exécuter le modèle : Execute

Figure 17: Phase finale de l'intégration

Intégration sous Simulink® d’un modèle AMESim – Y.B.

22

4. Exécution multi-cible

4.1. Introduction

Il existe une procédure particulière lorsque le système étudié est exécuté sur plusieurs

cibles. Il conviendra de distinguer 2 cas :

- Plusieurs modèles AMESim sont intégrés dans le modèle Simulink®.

Modèle Simulink

Modèle AMESim

Modèle Simulink

Modèle AMESim

SM_Master SS_Slave

- Un seul modèle AMESim est intégré dans le modèle Simulink®, mais on définit

quand même plusieurs subsystem.

Modèle Simulink

Modèle AMESim

Modèle Simulink

SM_Master SS_Slave

Dans les schémas ci-dessus, on ne représente qu’un seul sous-système esclave. Il peut

bien entendu y en avoir plusieurs.

Dans les deux cas, il est nécessaire de copier le fichier ame_multicpu_rtlab.tmf dans

le répertoire des modèles AMESim. C’est ce fichier là qui sera ajouté lors de la

configuration sous RT-Lab.

Intégration sous Simulink® d’un modèle AMESim – Y.B.

23

- Cliquez sur le bouton Advanced, en bas de la fenêtre MainControl de RT-Lab

- Dans l’onglet Compilation options, dans le cadre RTW, sélectionnez le fichier

ame_multicpu_rtlab.tmf que vous avez copié dans le répertoire courant du

modèle AMESim.

Figure 18: Sélection du fichier *.tmf multi-processeurs

Ce fichier est prévu pour permettre la simulation de 5 sous-systèmes AMESim

simultanément sur le banc RT-Lab. Les conditions d’utilisation sont les mêmes que pour

un système mono-processeur, mais les variables à rentrer dans Configuration ���� User

variables (sous RT-Lab) sont les suivantes :

Intégration sous Simulink® d’un modèle AMESim – Y.B.

24

Keyname

Value name

AMESIMMODEL1 ‘nom du modele AMESim n°1’

AMEBLOCKNAME1 ‘nom du sous-système n°1’

AMESIMMODEL2 ‘nom du modele AMESim n°2’

AMEBLOCKNAME2 ‘nom du sous-système n°2’

AMESIMMODEL3 ‘nom du modele AMESim n°3’

AMEBLOCKNAME3 ‘nom du sous-système n°3’

AMESIMMODEL4 ‘nom du modele AMESim n°4’

AMEBLOCKNAME4 ‘nom du sous-système n°4’

AMESIMMODEL5 ‘nom du modele AMESim n°5’

AMEBLOCKNAME5 ‘nom du sous-système n°5’

• ‘nom du modele AMESim n°i’ est par exemple engine si le nom di fichier AMESim

considéré est engine.ame.

• ‘nom du sous-système n°i’ est le nom définissant le bloc où se trouve le modèle i.

Ce nom est construit de la manière suivante :

‘nom du fichier.mdl’_‘numéro’_‘nom du sous-système’

Exemple : pour un modèle engine_test.mdl contenant un sous-système sm_engine,

AMEBLOCKNAME1 prendra la valeur engine_test_1_sm_engine

Le numéro séparant le nom du modèle du nom du sous-système n’est pas évident à

déterminer. Il suffit alors de lancer une compilation et de relever le nom complet qui

apparaît au moment de la séparation des sous-systèmes.

Intégration sous Simulink® d’un modèle AMESim – Y.B.

25

4.2. Un seul modèle AMESim

Modèle Simulink®

Model.mdl

Modèle AMESim

Skyhook.ame

Sous-systèmes Simulink®

AVANT

SEPARATION

APRES

SEPARATION

sm_master

sc_console

ss_slave

model_1_sm_master

model_2_sc_console

model_3_ss_slave

Figure 19: User variables pour exécution multi-cible et un modèle AMESim

Intégration sous Simulink® d’un modèle AMESim – Y.B.

26

4.3. Plusieurs modèles AMESim

Modèle Simulink®

engine_test.mdl

Modèles AMESim

engine.ame

injection.ame

Sous-systèmes Simulink®

AVANT

SEPARATION

APRES

SEPARATION

sm_engine

sc_console

ss_injection

engine_test _1_sm_engine

engine_test _2_sc_console

engine_test _3_ss_injection

Figure 20: User variables pour exécution multi-cible et plusieurs modèles AMESim

Intégration sous Simulink® d’un modèle AMESim – Y.B.

27

5. Remarques – Problèmes rencontrés

5.1. Blocs d’interfaçage avec Simulink®

Au niveau du modèle AMESim, il est possible de générer un bloc d’interfaçage avec

Simulink® qui ne comporte que des entrées ( = des sorties du bloc S-Function). Lors de

la création du bloc S-Function, Simulink® créé tout de même une entrée dans la S-

Function. Il est conseillé de connecter cette entrée à un élément « ground », afin d’éviter

les messages de type WARNING de la part de MATLAB.

Figure 21: Modèle AMESim avec bloc d'interfaçage avec Simulink®

Figure 22: S-Function générée à partir du modèle AMESim

Intégration sous Simulink® d’un modèle AMESim – Y.B.

28

5.2. Compilation du modèle AMESim

5.2.1. Problème rencontré

Lors de la compilation d’un modèle AMESim contenant un module d’interfaçage avec

Simulink, la fenêtre de compilation d’AMESim se bloque, avec affichage des informations

suivantes :

Setting environment for using Microsoft Visual C++ tools.

Microsoft (R) Program Maintenance Utility Version 6 .00.8168.0

Copyright (C) Microsoft Corp 1988-1998. All rights reserved.

Select a compiler:

[1] Lcc C version 2.4.1 in C:\MATLAB71\BIN\WIN32\\..\..\sys\lcc

[2] Microsoft Visual C/C++ version 6.0 in C:\PROGRA~1\MICROS~3

[0] None

5.2.2. Solution

AMESim attend que l’utilisateur choisisse un compilateur.

- Cliquez droit en bas de la fenêtre de compilation

- Un menu « Interactive compilation » apparaît

- Sélectionner ce menu. Un champ vide apparaît en bas de la fenêtre de compilation

- Ecrivez le numéro d’index correspondant au compilateur utilisé

La compilation commence

Intégration sous Simulink® d’un modèle AMESim – Y.B.

29

5.3. Modification du fichier TMF pour utilisation multi-processeurs

Le code donné ci-dessous correspond à la partie du fichier ame_rtlab.tmf modifiée en

vue d’une utilisation multi-processeurs des modèles. Le nouveau fichier obtenu s’appelle

ame_multicpu_rtlab.tmf

[...] SFS_TMP258 = $(SFS_TMP257:sfun_ni60xe_freq_in.c=) SFS_TMP259 = $(SFS_TMP258:sfun_ni60xe_pwm_out.c=) S_FUNC_SRCS = $(SFS_TMP259:optaketime.c=) SRCS = $(REQ_SRCS) $(S_FUNC_SRCS) $(USER_SRCS) UNAME = $(shell uname) ifeq "$(UNAME)" "QNX" ##### nto include qnxnto.opt else ifeq "$(UNAME)" "Linux" ##### Linux (RedHawk) include redhawk.opt else include win32.opt endif endif #------------------------------ AMESim special ---------------------------- ifdef AMESIMMODEL1 ifdef AMEBLOCKNAME1 ifndef AME AME = /usr/amesim/v431 endif ifeq ($(MODEL),$(AMEBLOCKNAME1)) include $(AMESIMMODEL1)_.rtmake LIBS:=$(LIBS) $(AMELIBS) OBJS:=$(OBJS) $(AMESUBOBJS) endif endif endif ifdef AMESIMMODEL2 ifdef AMEBLOCKNAME2 ifndef AME AME = /usr/amesim/v431 endif ifeq ($(MODEL),$(AMEBLOCKNAME2)) include $(AMESIMMODEL2)_.rtmake LIBS:=$(LIBS) $(AMELIBS) OBJS:=$(OBJS) $(AMESUBOBJS) endif endif endif

Intégration sous Simulink® d’un modèle AMESim – Y.B.

30

ifdef AMESIMMODEL3 ifdef AMEBLOCKNAME3 ifndef AME AME = /usr/amesim/v431 endif ifeq ($(MODEL),$(AMEBLOCKNAME3)) include $(AMESIMMODEL3)_.rtmake LIBS:=$(LIBS) $(AMELIBS) OBJS:=$(OBJS) $(AMESUBOBJS) endif endif endif ifdef AMESIMMODEL4 ifdef AMEBLOCKNAME4 ifndef AME AME = /usr/amesim/v431 endif ifeq ($(MODEL),$(AMEBLOCKNAME4)) include $(AMESIMMODEL4)_.rtmake LIBS:=$(LIBS) $(AMELIBS) OBJS:=$(OBJS) $(AMESUBOBJS) endif endif endif ifdef AMESIMMODEL5 ifdef AMEBLOCKNAME5 ifndef AME AME = /usr/amesim/v431 endif ifeq ($(MODEL),$(AMEBLOCKNAME5)) include $(AMESIMMODEL5)_.rtmake LIBS:=$(LIBS) $(AMELIBS) OBJS:=$(OBJS) $(AMESUBOBJS) endif endif endif #------------------------------ Include Path ----------------------------- MATLAB_INCLUDES = \ -I$(TARGET_MATLAB_ROOT)/simulink/include \ -I$(TARGET_MATLAB_ROOT)/extern/include \ -I$(TARGET_MATLAB_ROOT)/rtw/c/src \ […]