Académique Documents
Professionnel Documents
Culture Documents
Santhosh Jogi
dSPACE Inc. 22260
Haggerty route
Suite 120
Northville, MI 48167
Abstrait: L'objectif de ce document est de fournir un tutoriel d'introduction au logiciel dSPACE, la carte contrôleur
dSPACE DS1104, et leur utilisation dans le développement et la mise en œuvre d'un système simple de contrôle de la
température. Il est destiné à être utilisé comme un guide de démarrage rapide pour dSPACE matériel / logiciel pour un
cours universitaire. Tous les détails sur le matériel et les logiciels dSPACE se trouvent dans la documentation dSPACE.
Créé: 18/01/02
Version: 29/03/02
Table des matières
Vous devez rester assis devant un ordinateur avec le logiciel dSPACE et la carte DS1104. Notre intention dans cette
première section est de vous guider à travers la façon de démarrer le logiciel et de comprendre ses fonctions principales. Dans la
section suivante, nous montrerons comment utiliser le logiciel et le matériel pour mettre en œuvre un système de contrôle très
simple.
Tout d'abord, à partir du système d'exploitation du PC, le raccourci suivant permet d'accéder à l'environnement
dSPACE ControlDesk:
Si le raccourci n'existe pas sur le bureau s'il vous plaît lancer ControlDesk à partir du dossier « dSPACE Outils » sous «
Démarrer / Programmes ». De toute façon, une fois que vous y accédez, vous trouverez la fenêtre suivante:
Navigateur
fenêtre outil
ControlDesk est un interface utilisateur. La carte DS1104 est considéré comme une plate-forme sur laquelle une simulation est
exécutée, tout comme Matlab est également une plate-forme pour exécuter des simulations en temps non réel. C'est pourquoi vous
verrez des icônes tant pour les DS1104 et Matlab dans l'onglet Plate-forme
le navigateur. Ils sont les deux plates-formes de simulation qui peut ControlDesk interface pour, mais pour ce document,
nous mettrons l'accent sur l'utilisation ControlDesk avec le DS1104. De cet environnement, vous serez en mesure de
télécharger des applications sur le DS1104, configurer l'instrumentation virtuelle que vous pouvez utiliser pour contrôler,
surveiller et automatiser des expériences et développer des contrôleurs. Notez que dans la vue ci-dessus (paramètres de la
La région dans le coin supérieur gauche est appelé le navigateur; il comporte trois onglets (expérience,
Instrumentation et plate-forme). Comme mentionné précédemment, l'onglet Plate-forme montre les différentes
plates-formes de simulation qui peut ControlDesk interface pour. Vous verrez Matlab comme une plate-forme, et la carte
DS1104 comme l'autre plate-forme. Notez que le DS1104 est répertorié sous « système local ». Il existe différentes
façons dont le matériel dSPACE peut être connecté à l'ordinateur qui exécute ControlDesk et « système local » indique si
le matériel dSPACE est dans un emplacement d'extension dans le PC lui-même. Si vous avez ajouté une autre carte
dSPACE au PC, il serait enregistré dans ControlDesk et se présenteraient sous la rubrique « système local. » Si vous
faites un clic droit sur l'icône Matlab dans l'onglet Plate-forme vous aurez accès à Matlab / Simulink, toutefois utiliser
cette méthode que si vous interfacez ControlDesk à une simulation en cours d'exécution dans Matlab. Pour ce document
L'onglet Instrumentation affichera une liste des cours ouverts « Layouts » (panneaux de l'interface graphique que vous
construirez), et les instruments graphiques associés à ces mises en page. Dans l'onglet Instrumentation, vous pouvez ouvrir les boîtes
Dans la région sur le fond (fenêtre Tool), lorsque vous sélectionnez l'onglet Log Viewer, vous sont fournis avec des
messages d'erreur et d'avertissement. L'onglet Sélecteur de fichiers vous présente avec vue similaire à l'Explorateur Windows
car il vous permet de naviguer à travers le système de fichiers du PC, et choisir et télécharger des applications avec un
glisser-déposer action. Le (Python) onglet interprète (qui utilise le langage de programmation « Python »), gère les
commandes Python et des scripts pour l'automatisation et ControlDesk TestAutomation. D'autres onglets apparaissent en
fonction de ce que vous faites dans le ControlDesk (par exemple, lorsque vous compilez un modèle tel que discuté
ci-dessous).
Le sélecteur de fichiers affiche uniquement certains types de fichiers. Il montrera * mdl
(fichiers modèles Simulink), * .ppc (Compiled fichiers d'objets pour l'exécution sur le DS1104), et
* . fichiers sdf (Description du système de fichiers). Le fichier * .sdf contient des références au fichier exécutable (soit *
mdl ou * .ppc), un fichier de description variable (* .trc) et la plate-forme de simulation est construit pour (Simulink,
DS1104 ou tout autre matériel dSPACE). Ainsi, afin de charger une application à une plate-forme spécifique que vous
sélectionnez dans le sélecteur de fichiers, puis faites glisser et déposez-le sur l'icône dans la fenêtre de la plate-forme.
En général, le fichier que nous glisser-déposer sur le DS1104 est soit le * .ppc (fichier objet Compilé pour le DS1104)
Le sélecteur de fonction affiche les groupes et les fonctions respectives des modules Python disponibles,
et vous permet de générer des appels de fonctions que vous pouvez copier des scripts Python. Il fait partie de
fichier sdf / .trc ouvert), contenant le navigateur variable et l'éditeur de paramètres, permet d'accéder aux variables
d'une application. Chaque ouverture .sdf / .trc ajoute un nouvel onglet à la fenêtre de l'outil.
La grande région grise dans la partie supérieure droite de l'écran est une zone de travail général. Dans ce domaine, vous
pouvez créer et mises en page d'affichage, ainsi que mettre en place un éditeur pour écrire des fichiers texte, des scripts Python ou
code c.
Dans cette section, nous présentons un exemple très simple de la façon de concevoir et mettre en œuvre un système de commande
pour une seule sortie d'entrée unique (SISO) problème de contrôle de la température.
2.1 Contrôle de la température Problème et connexions physiques
Nous allons utiliser un processus de température, où un capteur de température est utilisé, et l'actionneur de notre
expérience sera une lampe. Le schéma fonctionnel pour un simple contrôleur marche-arrêt est illustré ci-dessous.
ON-OFF Procédé
Controller (lampe)
Point de consigne
Degré
Celsius
Température
Capteur
Tension
Physiquement, nous allons connecter ce qui suit, avec la lampe placée dans environ un demi-centimètre du
capteur:
Darlington conducteurs
5 Volts
DS 2003
D1
Commun
Sortie DIODE
analogique courant
2.7K / tension
Q1 DS2
2N1070 1
2
RESISTOR
LAMPE
6 Volts -
Q2
2N1070 Une base 0,1
température élevée E-5
7.2 k 3k
RESISTOR RESISTOR
5 Volts
Sonde de
entrée
LM
analogique
simultanée d'un certain
35 nombre de fichiers. PIN P1A 31
PIN P1A
16
utilisant ControlDesk d'interagir avec un programme en temps réel en cours d'exécution sur le DS1104 nécessite l'utilisation
L'objectif du système de contrôle de la température est de réguler la température à une valeur fixe en face des
adoptons la convention qui italique sont utilisés pour les éléments de menu et « > » est utilisé pour indiquer un sous-menu). En
Dans ControlDesk, vous créez de nouvelles expériences via le menu: Fichier> Nouvelle expérience ( noter que nous
Ces fichiers sont le programme exécutable généré (* de .ppc), fichier de description variable utilisée pour relier les
variables et les paramètres du modèle (* sdf), tableaux de bord virtuels que vous construisez appelées mises en page (*
.lay), et peut-être d'autres en fonction sur les actions que vous effectuez. Une « expérience » ControlDesk est la façon
dont vous associer tous ces fichiers à une seule entité, donc la prochaine fois que vous devez exécuter le même test il
vous suffit de charger l'expérience, ce qui entraînera automatiquement tous les fichiers associés à charger et . Lorsque
vous créez une nouvelle expérience via la commande de menu ci-dessus, vous obtenez la figure ci-dessous (bien, un
blanc un, celui-ci montre ce qui a été rempli) et vous devez indiquer le nom et le répertoire racine de travail de
l'expérience.
Vous ne devez pas remplir les autres champs, mais il sera utile d'avoir une histoire, et la documentation concernant ces
domaines afin que vous pouvez remplir certaines informations dans le « Auteur » et « Description Texte » (comme indiqué
ci-dessus). Notez bien que non essentiels, vous pouvez créer une « expérience graphique, » qui est un graphique qui peut
être utilisé à titre d'illustration dans le schéma fonctionnel d'une fenêtre juste au-dessus du bouton « Ok » si vous voulez
obtenir un rapide
aperçu des caractéristiques de l'expérience (voir le schéma fonctionnel du système de commande simple du système de
contrôle de la température). L'expérience sera enregistrée avec une extension « CDX » lorsque vous cliquez sur « OK » et
Maintenant que nous avons accès physique aux signaux via les connexions ci-dessus, il faut configurer le logiciel pour
l'interface à ces signaux. Supposons que vous construisez un contrôleur de marche-arrêt dans Simulink comme indiqué
ci-dessous.
Numérique au bloc de
conversion analogique
Analogique au
bloc de
conversion
numérique
2.3.1 analogique et numérique à analogique pour les connexions de conversion numérique
La construction de ce schéma fonctionnel sera discuté plus en détail ci-dessous. Pour l'instant, se concentrer sur la
façon dont nous créons l'interface logicielle entre le contrôleur et l'installation (à savoir l'interface qui génère des entrées de
commande et de lecture des valeurs de capteur). Le numérique de blocs de conversion analogique (DAC) sont prévus dans
Simulink lorsque le logiciel dSPACE est disponible. Par conséquent, on utilise un bloc de DAC comme indiqué ci-dessus pour
générer l'entrée de commande de l'usine (par exemple, le signal de tension de la lampe) et un bloc de ADC pour lire la tension
provenant du capteur de température qui est proportionnelle à la température. Comment définissez-vous ces blocs de DAC et
ADC?
Il y a deux façons d'accéder aux blocs dSPACE qui peuvent être utilisés dans Simulink. Tout d'abord, ils sont
répertoriés en tapant simulink ( noter que nous utilisons ici une convention d'un italic
courrier la police quand il est quelque chose que vous tapez dans l'ordinateur) dans la fenêtre de commande Matlab (qui, par
l'intermédiaire ControlDesk vous accédez par un clic droit sur l'icône Simulink dans le coin supérieur gauche lorsque l'onglet
Plate-forme est sélectionnée). La fenêtre qui est indiqué ci-dessous (notez que si vous cliquez deux fois sur le dernier élément
sur le fond gauche vous verrez les blocs dSPACE pour Simulink):
Une autre façon de voir les blocs dSPACE, et que nous utiliserons ici car il offre quelques fonctionnalités, est de
taper rti à partir de la fenêtre de commande Matlab. Si vous le faites, la fenêtre suivante apparaît:
Si vous double-cliquez sur chacun de ces blocs, vous allez trouver les blocs nécessaires à la construction de la simulation
que vous avez besoin. Par exemple, si vous double-cliquez sur l'icône appelée Simulink, vous obtenez les mêmes
dans votre fenêtre de commande Matlab. Notez qu'il existe des « demos » qui peuvent être utiles pour vous. En outre, notez qu'il ya un
bouton « Aide » vous trouverez peut-être utile. Ensuite, nous allons discuter de problèmes d'interface.
La bibliothèque de l'Office RTI1104 vu ci-dessus est divisé en plusieurs sections principales. Les
ressources d'E / S du DS1104 sont partagés entre les deux processeurs sur la carte, le PPC maître (Power PC) et
l'esclave DSP F240. En cliquant sur l'un, vous aurez accès à des blocs que vous pouvez placer dans votre modèle
que la fonctionnalité E / S fournir associée au processeur respectif. Pour ce tutoriel, nous allons nous concentrer sur
le groupe de blocs contenus dans la section principale PPC. Si vous double-cliquez sur ce que vous obtiendrez la
fenêtre suivante:
Comme vous le voyez, cette fenêtre a quelques-uns des éléments les plus couramment utilisés pour la carte contrôleur,
comme ADCs DACS, encodeurs, etc. Si vous double-cliquez sur un de ces blocs d'E / S vous obtiendrez est la boîte de
dialogue de configuration respective et l'un des boutons que vous verrez dans cette boîte de dialogue est « Aide ». en
cliquant sur ce lancera le HelpDesk dSPACE exactement à la page faisant référence ce bloc particulier. Ici, nous avons
cliqué sur dSPACE Aide et téléchargé les informations pertinentes sur l'ADC et du CAD que nous avons besoin pour le
Démarrer> Programmes> Outils> dSPACE dSPACE HelpDesk, ou si vous utilisez ControlDesk vous pouvez le lancer à partir du
Tout d'abord, nous considérons l'acquisition du signal de tension du capteur. Notez que nous avions le capteur connecté
à ADCCH5, la broche P1A 16. Pour configurer le logiciel pour qu'il puisse obtenir ce signal dans le contrôleur il suffit de cliquer
verrez:
• DS1104ADC_Cx
Objectif: Pour lire à partir d'un canal unique de l'un des quatre canaux parallèles du convertisseur A / N.
cartographie I / O: Pour plus d'informations sur la mise en correspondance d'E / S, reportez-vous à Unité ADC .
Page d'unité: Le numéro de canal Sélectionnez un canal unique dans la gamme 5 ... 8.
caractéristiques E / S: Mise à l'échelle entre la tension d'entrée analogique et la sortie du bloc:
- 10 V ... 10 V - 1 ... +1
Cela vous indique comment définir les paramètres pour obtenir le signal. Ici, lorsque vous placez un bloc ADC dans
un modèle Simulink (par glisser-déposer), puis double-cliquez dessus, tout ce que vous devez sélectionner est le « numéro de
canal. » Dans ce cas, il est le canal 5 en raison du choix que nous avions fait pour la connexion physique du capteur de
température (c.-à-AD CH5, P1A broche 16). Ensuite, il est important de comprendre la « mise à l'échelle » qui se produit dans
l'acquisition du signal. La plage d'entrée de signal d'entrée physique est -10V à + 10V. dSPACE toujours redimensionnée cela
par un facteur de 0,1 (multiplie par ce nombre) pour placer la valeur sur une plage de 1V à
+ 1V. Cette mise à l'échelle doit généralement être corrigée pour en raison de la nécessité de cartographier le sens de volts à la
température en degrés. Cette cartographie dépend des caractéristiques du capteur, et est généralement ajustée en blocs
Simulink lorsque le signal de capteur est traité avant qu'il ne soit utilisé par la partie principale du dispositif de commande. Ce
pré-traitement du signal du capteur doit également tenir compte des problèmes d'étalonnage, telles que savoir quelle tension
correspond quelle température, et en général la mise en correspondance de la tension à la conversion de la température doit
obéir. Pour notre sonde de température on suppose un fonctionnement linéaire sur toute la plage de températures ambiantes, et
C, etc., comme indiqué ci-dessous. Notez que la pente de cette ligne est 100.
C
deg
20
dix
En résumé, nous devons prendre le signal ADC et multiplier par 10 pour éliminer le facteur d'échelle et par
100 pour représenter la pente de la ligne ci-dessus pour convertir Volts en degrés, C. Le signal obtenu peut ensuite
Ensuite, nous considérons générer l'entrée de tension à la lampe via DAC. Notez que nous avions connecté
l'entrée de la lampe à DACH1, pin P1A 31. Pour configurer le logiciel pour générer ce signal nous cliquons sur « DAC » sur
le côté gauche, troisième bloc vers le bas (notez l'étiquette sur le fond de ce bouton). Dans la fenêtre qui apparaît, il y a un
• DS1104DAC_Cx
Objectif: Pour écrire dans l'un des huit parallèle D / A canaux du convertisseur.
cartographie I / O: Pour plus d'informations sur la mise en correspondance d'E / S, reportez-vous à Unité DAC .
Page d'unité: Le numéro de canal Sélectionnez un seul canal dans la plage 1 ... 8.
Page d'initialisation: Valeur d'initialisation La tension de sortie initiale au début de la simulation. La valeur doit rester
dans la plage de tension de sortie ± 10 V.
Page de terminaison: Sortie à la cessation Soit maintenir la tension de sortie de courant lorsque la simulation se
termine, ou régler la sortie à une valeur spécifiée. La valeur doit rester dans la plage de tension de sortie ± 10 V.
- 1 ... +1 - 10 V ... 10 V
Le bloc fournit à ses sorties en mode transparent, qui est le canal est convertie et sortie immédiatement.
Initialisation et terminaison
Pendant la phase d'initialisation du modèle, une valeur de tension de sortie initiale est écrite dans chaque D / A canal. Ceci
est particulièrement utile si un canal est utilisé dans un sous-système déclenché ou activé qui n'a pas été exécuté dès le
début de la simulation. Avec la valeur d'initialisation, le canal a une sortie définie pendant cette phase de simulation. Lorsque
la simulation se termine, le canal maintient la dernière valeur de sortie par défaut. Vous pouvez spécifier une valeur de sortie
définie par l'utilisateur sur la terminaison dans la page de résiliation, et utiliser ces paramètres pour conduire votre matériel
externe dans une condition finale en toute sécurité.
Here, note that if you place a DAC block in your Simulink model and double click it there are several
settings that need to be made (note the tabs near the top of the window). First, on the “Unit” tab you need to
select the channel number; here it is channel 1 (DA CH1, pin P1A 31). Next, under the “Initialization”
(“Termination”) tab you pick the initial (final) voltage value. Depending on which experiment you hook up,
the choice of these values can dictate smooth and safe operation of the experiment (e.g., so that you do not
hurt the experimental equipment). For instance, if the initial value for some mechanical system were 10V,
then this may correspond to spinning a motor at its maximum rotational speed. Note that in general these
values should be viewed as the ones that are input to the plant immediately before and after the actual
control system operates. Hence, for example, if you initialize the output to be zero there may be a sharp
change at the first sampling instant when the controller may put out a different value (analogous comments
hold for termination). Note that such a sharp change is something that you may have to pay attention to in
an actual implementation since it can have effects on the transient response (e.g., for some experiments
set point change). Here, since the dynamics of the temperature process are so slow, we ignore the effects of
such possible transients and simply set the initialization and termination values to zero. The precise meaning
of Initialization and Termination in a real-time program running on the DS1104, and when are they executed,
are discussed in the following section, which also explains what “real-time” is and what the basic structure of a
As we can notice, we added before this block a scale gain of 2/10, due to the dSPACE scaling factor that we
saw in the input, but now it should be reversed when it goes to the exterior (1/10), and since the Darlington
device switches when the input voltage is greater than 2 volts, we have to add this value of 2 in the gain.
Qu'est-ce en temps réel? Vous disposez d'un système physique ou l'objet que vous souhaitez contrôler avec un
programme, tout comme l'expérience détaillée dans ce tutoriel. Parce que ce système ou d'un objet a une certaine dynamique qui y
sont associés, vous devez contrôler en fonction de ces dynamiques. Par conséquent, nous disons que le système physique aura une
constante de temps, à partir de laquelle vous tirerez un pas ou de temps échantillon pour votre programme de contrôle. Le défi
consiste à utiliser non seulement que le temps de l'échantillon dans les calculs numériques qui composent votre algorithme de
contrôle, mais aussi d'exécuter cet algorithme dans ce temps d'échantillonnage. Vous devez commencer chaque « étape » de votre
programme exactement un temps taille de l'échantillon ou une étape à part, et donc de terminer le calcul de chaque étape dans le
temps de l'échantillon, soit avant le début de la prochaine étape. C'est en temps réel. S'il vous plaît voir le schéma ci-dessous.
programme
d'exécution
Temps d'inactivité
0 T 2T 3T
Si le temps échantillon de notre programme est T, vous pouvez voir que le programme est exécuté à des points distincts
dans le temps qui sont un temps d'échantillonnage à part. Vous remarquerez également que chaque étape du programme se termine
en cours d'exécution avant l'étape suivante doit commencer; ainsi ce programme fonctionne en temps réel. Cependant, si les exigences
de calcul du programme amènent le processeur à prendre plus de temps que le temps de l'échantillon alors nous avons une condition
Overrun, et notre programme ne peut fonctionner en temps réel. Plus tard, à la condition de dépassement est discuté plus loin.
The overall structure of a real-time program can be simplified for explanation purposes into three
main sections: Initialization, the real-time task or tasks, and the background. The initialization section is code
that is executed only once at the start of execution, upon download of the program. In this section you will
have functions that, for initialization of the system, are only needed to run once. The next part of the program
is the real-time part, the task, represented by the gray sections in the diagram above. This is what is
executed periodically based on the sample time. This part is the heart of the control program; for this, you
read inputs (e.g., from an ADC), compute your control signals, and write outputs (e.g., with a DAC). Note that
depending on what your control application is you may have multiple tasks in your model. Finally, the last
section is the background; this is code executed in the “idle” time between the end of computation of a step
Dans cette section, nous allons discuter comment utiliser Simulink pour la conception du contrôleur et la façon de compiler le
modèle Simulink dans le code qui se déroulera sur la carte dSPACE pour la mise en œuvre en temps réel du contrôleur.
Maintenant que nous avons les signaux que nous devons détecter et actionnent nous pouvons considérer le
Comme vous pouvez le voir dans cet exemple, nous avons utilisé une constante pour fixer le point de consigne (bien sûr,
nous aurions pu le mettre à une onde carrée ou une autre fonction variant dans le temps). Nous avons choisi 20 degrés. C puisque
cela correspond à 68 degrés. F et les températures typiques de notre laboratoire de 18 degrés. C (64,4 °. F) à 22 °. C (71,6 °. F)
donc cette valeur est au milieu. Plus tard, nous allons changer cette valeur pour voir comment le système de contrôle réagit.
La fonction signe fixe la sortie en fonction du signe de l'erreur (puisque nous ne voulons pas une sortie
négative dans ce cas, nous avons utilisé la fonction min-max de choisir une valeur positive, si l'on compare avec 0).
Ensuite, le contrôleur fonctionne en calculant l'erreur entre le point de consigne et de la température détectée. Si l'erreur
est positive, alors la température détectée est inférieure au point de consigne de sorte que le contrôleur tourne la lampe.
Si l'erreur est négative, alors la température détectée est supérieure à celle réelle de sorte que la lampe est éteinte et la
faire, dans le modèle Simulink, utilisez Simulation> Simulation Paramètres ... et vous verrez la fenêtre suivante.
Les étapes les plus importantes à prendre en compte sont décrites dans les figures suivantes. Tout
d'abord, dans les options de Solver (voir onglet) définir la « Heure de début » à 0 (nécessaire pour les
applications en temps réel). Le « temps d'arrêt » peut être réglée en fonction de la façon dont vous
voulez l'expérience de courir. Si vous définissez comme « inf » il ira pour toujours, mais si vous le
réglez sur 20 elle se déroulera l'expérience pendant 20 secondes. Ensuite, définissez le « Type » à
une option à pas fixe, et choisir un solveur comme « Euler » ou peut-être « ode5. » Notez que le un
solveur plus complexe que vous choisissez le votre programme intensif plus informatiquement sera et
donc il faudra plus de temps pour exécuter. Ensuite, choisissez le temps d'échantillonnage pour
l'expérience. Ceci est la fréquence d'échantillonnage, qui est généralement désigné par « T » dans les
livres de commande numérique, et il définit la fréquence d'échantillonnage pour les signaux détectés
éléments suivants:
Après avoir modifié cela, allez dans l'onglet Options avancées, et comme il est suggéré au début du programme
Matlab que vous devriez avoir l'option de réduction bloquer donc faire pour obtenir la figure suivante:
Une fois que vous avez suivi ces étapes, vous êtes prêt à construire le modèle. Vous avez deux options: la commande «
raccourci » CTRL-B ( à partir du modèle Simulink) ou aller à Outils> Atelier en temps réel> Construire modèle. Le processus de
construction commencera alors, au cours de laquelle vous demandera ce qu'il faut faire s'il y a un « dépassement » via la
Comme expliqué précédemment, une situation de dépassement se produit si une tâche est prié de commencer, mais n'a pas terminé
son exécution précédente encore. Par défaut, l'option est réglée sur « arrêter la simulation (définie simState STOP) », vous voulez
garder cette valeur par défaut. Nous voulons être en mesure de détecter si le programme est exécuté en temps réel ou non et si nous
choisissons d'ignorer les dépassements que nous ne pouvons pas en cours d'exécution en temps réel et ne jamais le réaliser.
Après avoir cliqué sur « OK » dans la boîte de dialogue au-dessus du processus de construction se poursuivra.
le code C est généré pour le modèle et le code est compilé et lié par le compilateur Power PC (depuis le DS1104 utilise un
processeur Power PC) pour produire un fichier objet exécutable unique avec une extension .ppc. Cet exécutable est
ensuite téléchargé sur le DS1104 et le programme se met en marche (c.-à-exécution du contrôleur). S'il y a des erreurs au
cours du processus de construction ou vous exécutez dans une condition de dépassement cela sera imprimé dans la
fenêtre de commande Matlab, sinon, si tout va bien, vous verrez le message « Build Réussi » dans Matlab. Vous pouvez
arrêter le programme sur le DS1104 en cliquant sur le bouton d'arrêt qui se trouve dans le ControlDesk, la barre d'outils en
haut (son icône est une petite boîte rouge). Notez que l'arrêt du programme de cette façon signifie arrêter tout le
programme, donc la tâche en temps réel et la routine de fond, et que cette façon ne sera pas exécuter ou activer les
fonctions associées à l'état de terminaison, comme les valeurs de terminaison pour le canal du CAD. Pour activer la
condition de terminaison ou indiquer que vous devez arrêter uniquement la tâche en temps réel, et en changeant une
Dans cette section, nous expliquerons comment créer une interface utilisateur graphique (GUI) pour l'utilisateur afin de
pouvoir visualiser sur l'écran divers aspects du fonctionnement du système de commande de fonctionnement (analogue à brancher un
oscilloscope dans certains cas), apporter des modifications tandis que le système de contrôle fonctionne (par exemple, l'évolution des
gains de contrôleur ou points de consigne) et la visualisation et l'enregistrement des données pour le traçage et les rapports.
Tout d'abord, il faut avoir un fichier « mise en page » pour l'expérience dSPACE. Pour ce faire, utilisez
Fichier> Nouveau> Mise en page. Ensuite, vous utilisez Affichage> ControlBars> Sélecteur d'instruments. This
shows the items that can be used to make a GUI interface. First note that there are two instrument types: Virtual
instruments and Data acquisition instruments. These instruments are showed below. You can ignore the Custom
variables that you created in your Simulink model to it. When you build your Simulink model, two of the files
generated are the Variable Description File (*.trc) and the System Description File (*.sdf). If ControlDesk is
open when your model is built and downloaded to the DS1104, you will see that the associated .sdf file will
automatically be loaded into the variable browser in the Tool Window. If ControlDesk is not open when the
model is downloaded you will need to load the file by using File > Open Variable
Once the variable file is loaded you can link variables in your model to graphical instruments on
layouts. In order to do so, you need to locate the variables in the variable browser and then drag and drop
them onto the respective instruments on the layout. The variable browser (that is shown in the next figure) has
two areas: the variable tree (the one which is at the bottom left of your screen), and the variable list that is at
the bottom right. The variables that you are going to associate with each of the layout instruments are pulled
When you create a graphical instrument on a layout and it is not yet associated with a variable it will
have a red border. Once a variable is linked to that instrument on your layout the red border will turn black.
If you right-click over any created instrument on a layout you will obtain a menu, on which you will see
“Highlight variables”. If you select this, every time you click on an instrument that is associated with a
variable you will see that particular variable highlighted in the variable browser.
Variable list
Variable tree
En utilisant tous ces éléments, nous avons construit une mise en page pour notre problème de contrôle de la
température qui est indiqué ci-dessous. Pour ajouter chacun de ces instruments nous avons cliqué sur le groupe d'instruments
contenant l'instrument, puis nous avons cliqué sur l'icône de l'instrument, et enfin dans le tableau de bord (ce que nous avons
appelé la mise en page), et en utilisant la souris nous a tiré des instruments rectangulaires. Dans cet exemple, nous avons utilisé
un bar pour afficher l'entrée de tension, un écran pour montrer la valeur de sortie, une entrée numérique pour régler le point de
consigne, et un traceur pour montrer une variété de valeurs. Le traceur, comme vous pouvez le voir dans la figure suivante, a de
nombreuses variables qui y sont associées (par exemple en bas à gauche de la figure, vous verrez des couleurs différentes, et
cela signifie que vous complotez plus d'une variable). Dans ce cas, l'erreur, le point de consigne, la sortie, et l'entrée mis à
l'échelle sont les variables associées à la table traçante. Si vous cliquez sur l'une des cases de couleur, vous verrez le nom de
variable associée au Yaxis. Notez que si vous faites glisser et déposer des variables sur l'axe Y du traceur, il mettra tous ces
signaux sur le même axe Y. Si vous faites glisser et déposer des variables sur l'axe X ou sur le corps principal du traceur, il va
créer un nouveau axe Y pour chaque signal abandonné cette façon, ce qui est utile si vous souhaitez afficher plusieurs signaux
sur le même traceur, mais la les signaux ont des gammes très différentes.
Nous pouvons modifier certaines propriétés concernant chacun des éléments de la mise en page. Par exemple, nous
pouvons limiter la portée de l'entrée numérique pour éviter que l'utilisateur modifie le point de consigne de manière drastique. Pour cela,
nous double-cliquez dans cet élément, et nous obtenons les éléments suivants:
Ici, nous mettons l'incrément de 0,1 degré, et le point de consigne va être entre 18 et 26. L'utilisateur ne
peut pas mettre une valeur supérieure à ces limites, car avec l'environnement actuel, il n'a pas de sens d'avoir
Après avoir créé la mise en page (s) (oui, vous pouvez avoir plus d'un pour une expérience), vous devrez ajouter
cette mise en page et les variables que vous lui sont associés, à l'expérience (par exemple, lorsque vous chargez cette
expérience, tous les les fichiers seront rechargés avec elle, et ainsi les liens créés dans le processus décrit ci-dessus). Pour
cela, allez à Fichier> Ajouter tous les fichiers ouverts, puis enregistrez l'expérience en utilisant la commande Fichier>
Enregistrer expérience.
Si vous avez plusieurs mises en page dans votre expérience, vous pouvez sélectionner Affichage> Cahier d'exercices, cela va créer des
onglets pour chaque mise en page vous permettant de passer une forme facilement l'un à l'autre.
Une fois que nous avons construit tous les composants dans le mode d'édition, on passe au mode d'animation (raccourci F5 ou
cliquez sur l'icône que nous montrons ci-dessous). Ce mode vous permet de contrôler les variables d'une application (modification des
valeurs des paramètres ou des connexions de données), observez les signaux avec des instruments d'acquisition de données et les
données de capture et d'enregistrer les résultats sur le disque pour une analyse ultérieure et de traçage, par exemple, Matlab pour les
While in this mode, you might change the parameters of the variables at least the ones that you allowed to be
changed, such as the output voltage and so on. In addition, you can also capture data or observe some
Mode édition
Mode d'animation
Mode d'essai
Il existe deux méthodes principales de saisie des données dans un fichier ou plusieurs fichiers. Si vous attribuez une
variable à un instrument traceur non seulement vous pouvez voir le signal, vous pouvez également faire les données à
sauvegarder dans un fichier. Toutefois, si vous n'avez pas besoin de voir le signal, mais simplement capturer ou acquérir, alors
vous pouvez le faire aussi bien. Ces deux méthodes utilisent les mêmes mécanismes exacts dans ControlDesk, on vient affiche
également le signal. Le mécanisme utilisé pour contrôler et paramétrer la saisie des données est la fenêtre CaptureSettings.
Vous êtes familier avec l'affichage d'une variable sur un traceur par une action de glisser-déposer. Pour définir
ControlDesk pour stocker ces données dans un fichier que vous devez lancer ou accéder à la fenêtre CaptureSettings. Il
une. Cliquez sur le bouton ci-dessous qui apparaît dans le navigateur de variable
CaptureSettings qui a suivi apparaît sur le bord droit de ControlDesk comme indiqué ci-dessous et vous devrez développer
Développer
c. Sélectionnez l'instrument CaptureSettings du groupe d'acquisition de données et le placer sur une mise en page.
Une fois que vous avez accédé à la fenêtre CaptureSettings il apparaîtra comme suit:
Vous pouvez cliquer sur le bouton « Paramètres » et vous obtiendrez la boîte de dialogue Propriétés de contrôle CaptureSettings. S'il
vous plaît cliquer sur l'onglet Acquisition, vous verrez alors les éléments suivants:
Explication des options de cette page est la suivante:
Simple: Sélectionnez ce bouton radio pour effectuer simple capture de données. Ce mode capture seulement une période des
signaux dans la mémoire tampon. Même si vous sélectionnez Répétition automatique, deux captures consécutives sont
indépendants les uns des autres. Par exemple, il peut y avoir un délai entre eux.
Autosave: Sélectionnez ce bouton radio pour activer la capture à enregistrer dans le fichier MAT / CSV (* .mat sous forme de fichier
MAT qui peut être utilisé dans Matlab pour certaines manipulations, ou * .csv à utiliser dans certains paquets de tableur comme Excel)
spécifié dans le champ d'édition. Cliquez sur le bouton Parcourir pour sélectionner le fichier MAT / CSV ou entrez un nouveau nom. Les
données capturées sont écrites dans le fichier spécifié. Si vous effectuez plusieurs données de captures, les anciennes données sont
Nom automatique: Sélectionnez ce bouton radio pour activer le nommage automatique des fichiers. Cliquez sur le bouton Parcourir
pour sélectionner un fichier MAT / CSV ou entrez un nouveau nom. Le nom de fichier est prolongé par un index qui augmente
automatiquement pour chaque capture de données. Chaque capture est stockée dans son propre fichier.
Continu: Sélectionnez ce bouton radio pour activer la capture continue. Le mode continu capture les données sans
lacunes de la plate-forme de simulation en utilisant un tampon cyclique. Vous devez arrêter la capture explicitement.
En continu sur disque: Sélectionnez ce bouton radio pour activer la saisie des données en continu au fichier IDF spécifié dans
le champ d'édition. Tant que le disque est flux actif, une icône supplémentaire (disque jaune) est affiché.
Cliquez sur le bouton Parcourir pour spécifier un autre fichier et le chemin du fichier de stockage de capture continue de Tsahal.
Afficher sortie graphique: sortie graphique est activée par défaut. Cependant, l'affichage des données réduit le taux de
En supposant que vous avez lancé la fenêtre CaptureSettings, nous allons examiner les paramètres ou les options que vous avez à
définir.
Longueur: Ceci indique la longueur réelle en quelques secondes de la saisie des données, l'axe des x ,, donc si vous avez
sélectionné « Autosave » comme méthode d'acquisition, les données du fichier stocké correspondent à cette longueur.
Le sous-échantillonnage: Cela fait référence à la fréquence que vous souhaitez capturer un point de données, à savoir le
sous-échantillonnage est 1, cela signifie capturer la valeur de cette variable à chaque étape unique ou un échantillon du programme; si
nous fixons à 3, cela signifie capturer un point de données que tous les trois étapes. Si vous travaillez avec une dynamique lente ou
transitoires, vous pouvez augmenter le sous-échantillonnage. Si vous utilisez « continue » comme mode d'acquisition, vous devrez
peut-être utiliser une valeur de sous-échantillonnage plus élevée pour éviter les problèmes avec le matériel face à des taux de capture
Répétition automatique: Si vous utilisez les modes d'acquisition en sélectionnant cette option « Simple », « Autosave, » ou « permettra
Signal de déclenchement: Si vous souhaitez déclencher la capture de données pour commencer en fonction d'une autre variable dans
votre modèle, vous pouvez glisser et déposer cette variable sur le champ gris avec la légende « << variable déclencheur drop ici >> « ,
vous pouvez définir avec les autres champs quel bord vous souhaitez déclencher sur: hausse ou en baisse, quel niveau de valeur pour
définir la condition de déclenchement, et si vous voulez pré ou post-déclenchement en fournissant une valeur de retard positif ou
négatif. Ceci est très bien comme caractéristiques sur un oscilloscope régulier.
sélectionner les variables pour capturer cette façon par deux méthodes:
une. Localisez la variable dans le navigateur variable que vous souhaitez capturer, puis faites glisser et
Laissez tomber
Pour vérifier les variables utilisées et connectées que vous devez suivre les étapes suivantes:
• Dans la capture des paramètres __gVirt_NP_NN_NNPS<__ Instrument, cliquez sur « Paramètres » pour afficher boîte de dialogue
Les variables liées aux instruments d'acquisition de données peuvent être identifiés par l'icône affichée dans la première
colonne (connecté). Les variables connectées seront toujours utilisées pour la saisie de données. Si vous n'avez sélectionné
une variable de capture pour la capture de données, aucune icône apparaît dans la première colonne. Pour utiliser les
variables, cochez la case dans la deuxième colonne (mesure). La figure ci-dessous montre l'onglet CaptureVariables que
nous utilisons pour choisir les variables que nous allons stocker.
Saisie des données commence immédiatement après l'animation démarre, si la case Démarrage automatique avec une
animation sur la page de propriétés de capture dans la boîte de dialogue Propriétés du contrôle CaptureSettings est marqué. Dans le
cas contraire, utilisez le bouton Start / Stop pour démarrer et arrêter la capture manuellement.
Ici, nous vous demandons de procéder à un exercice simple pour vous aider à vous familiariser avec dSPACE. L'idée générale consiste
à détecter la température qui est mesurée en utilisant le LM35CAZ, et essayer d'allumer / éteindre deux lampes différentes en utilisant
une sortie analogique et une entrée / sortie numérique. Pour cela, nous allons construire le modèle qui est montré dans la figure
suivante.
Le matériel que vous devez construire est le suivant:
Les fiches de données pour tous les composants que nous allons utiliser pour construire l'expérience sont sur le web.
Si vous étudiez le modèle que vous allez vous construire pouvez voir une boucle très semblable à celle que nous montrons
dans le tutoriel, mais au lieu d'avoir une sortie analogique, nous allons utiliser une sortie numérique. Pour cela, nous devons
convertir la sortie qui provient du bloc MinMax, car cette sortie est une valeur double. Nous utilisons ensuite le bloc de
conversion de type de données (que vous trouverez utiles dans d'autres applications). Nous mettons deux exemples dans cet
exercice, puisque dans la boucle inférieure on compare la valeur de l'erreur avec une certaine valeur. Depuis la sortie dans ce
cas est booléenne, nous devons le convertir à nouveau en double, puisque dans ce cas, la sortie analogique utilise des valeurs
doubles.
Vous devez développer le même schéma que ci-dessus et aller étape par étape pour compiler correctement, tel qu'il
fonctionne dans dSPACE. La période d'échantillonnage peut être de sélection en tant que 10 ms, et le résolveur peut être ode5.
Maintenant, une fois que vous construisez le modèle, vous devez créer une expérience dSPACE. Suivez les
capteur.
2. Prenez deux entrées numériques, de sorte que l'un d'entre eux gère le point de consigne, et
une autre gère la constante qui est dans la boucle inférieure, à savoir celui qui vous comparez avec l'erreur. La
première entrée numérique doit avoir une fourchette comprise entre 19 et 25, et l'augmentation ne doit pas être
supérieure à 0,1 (choisir ce que vous voulez). La deuxième entrée numérique doit avoir des incréments de 0,05,
et vous choisissez la gamme selon ce que vous pensez est la meilleure performance de votre contrôleur.
3. Prenez un écran et montrer dans cet élément la valeur de température détectée par la
4. Si vous voulez mettre quelque chose de plus dans, le faire, et montrer votre travail à la TA.
4. Remarques et conseils pour conditionnement de signaux 2
Les notes et les conseils suivants peuvent vous aider à obtenir les meilleurs résultats à l'aide et ADCs DACs.
• crosstalk
La diaphonie se produit si un signal à flancs raides fonctionne à proximité d'un signal analogique à haute impédance. La
principale raison de la diaphonie est un couplage inductif. Crosstalk peut être réduite ou évitée par les mesures suivantes:
ÿ Twist chaque signal avec sa ligne de retour (masse) et numérique et analogique séparé
signaux.
ÿ Acheminer les fils des entrées ADC séparément des fils de sorties du CNA.
ÿ Pour ADC: piloter les entrées avec une sortie à basse impédance (bien que l'entrée
• échouage
Toutes les lignes de retour sont reliés à une masse du système. Pour éviter les boucles de masse, utiliser des lignes de retour
séparées pour tous les capteurs / actionneurs connectés. Capteur / motifs de l'actionneur doivent être isolés les uns des autres.
Idéalement, chaque signal doit être tordu avec sa ligne de retour (terre) de sorte que leurs champs électromagnétiques annuler. Les
lignes de retour au sol doivent être connectés sur les deux extrémités du câble. Si pas assez broches de masse sont disponibles au
niveau du connecteur plusieurs lignes de retour peuvent être fixés à une broche de masse commune. Cependant, ce fil de masse
commune doit être aussi courte que possible pour réduire l'inductance de ligne au sol.
ļ Les notes et les conseils suivants peuvent vous aider à obtenir des résultats optimaux en utilisant le BIT
E / S.
are connected to +5V. To force a TTL input to a defined logical lowlevel, an external pull-down resistor of
¸ The following notes and tips may help you to achieve optimum results using the
• To allow proper operation, do not connect the outputs of your encoder to an ACcoupling network. The
• The connectors for the incremental encoders offer two VCC pins. You should connect both pins so that
both pins share the current evenly and the voltage drop in the lead wires is kept as small as possible.
• The total load of ALL connector pins that provides access to the PC power supply must not exceed 500
mA.
ÿ To guarantee that no input voltages are fed to the DS1104 while is switched off
ÿ Pour connecter la ligne de masse du codeur à une broche de masse de la carte (page 102).