En savoir plus sur TargetLink

TargetLink génère un code C très efficace directement à partir de Simulink®/Stateflow® de MathWorks®. La génération automatique de code implique également que si vous effectuez un changement qui impacte plusieurs lignes de code, TargetLink met à jour toutes ces lignes automatiquement. Ainsi, vous pouvez désormais vous concentrer sur l'application réelle. Une vérification précoce grâce aux fonctionnalités de simulation et de test intégrées permet d'obtenir des temps d'exécution plus rapides et de réduire les coûts.

Génération de code de production haute qualité

Pourquoi la qualité du code est si importante

Comparé au code utilisé dans le prototypage rapide de lois de commande où les développeurs doivent avoir beaucoup de liberté lors des tests de nouveaux concepts, le code de production destiné aux commandes électroniques au sein de véhicules, d’avions et pour toute autre application industrielle à utilisation réelle, doit répondre à des exigences très strictes en matière de qualité. Par exemple, les développeurs doivent être sûrs que le code est hautement optimisé, qu’il peut être facilement intégré à un autre logiciel, qu’il est lisible à l’instant t mais aussi ultérieurement afin d’assurer la maintenance, que toutes les connexions entre les exigences, le modèle et le code sont claires et compréhensibles et que le code respecte toutes les normes pertinentes. En bref : un maximum de fiabilité, d’efficacité, de sécurité, de maintenance, de traçabilité et – concernant le processus de génération – de reproductibilité (c’est à dire que le même modèle conduit au même code) sont nécessaires.

TargetLink pour un code de production haute qualité

Le générateur de code de production TargetLink de dSPACE est un système logiciel extrêmement puissant qui vous garantit en permanence un code de qualité supérieure – et ce, en vous laissant prendre en compte vos exigences personnelles et les normes en vigueur. Malgré les fonctionnalités complètes de TargetLink, les étapes types de la génération de votre code de production sont simples à suivre, avec de nombreuses options permettant d’adapter le processus à votre environnement individuel. Les étapes types comprennent la conception de contrôleurs, la validation et la vérification interactives (basées sur la simulation) et l’intégration du code sur le calculateur. De plus, TargetLink interagit en toute transparence avec d’autres outils dSPACE et tiers qui, ensemble, forment l’Ecosystème TargetLink.

Control and Software Design

Conception de modèles de contrôleur directement avec TargetLink

La bibliothèque de blocs Simulink® est très puissante dans les tâches de simulation, fournissant toutes les fonctionnalités de spécification nécessaires. Cependant, concernant la génération de code, vous avez besoin de plus d’informations pour chaque bloc. Par exemple, les blocs nécessitent des capacités supplémentaires pour la simulation à virgule fixe. Pour cette raison, TargetLink inclut la bibliothèque TargetLink Block Library qui offre un bloc pour chaque bloc Simulink supporté.

Boîte de dialogue du bloc TargetLink pour la saisie d’informations spécifiques à l’implémentation telles que le type de données, le nom de variable, les données de mise à l’échelle, etc.

Les blocs TargetLink améliorent considérablement la fonctionnalité des blocs Simulink supportés et ont une boîte de dialogue étendue qui vous permet de saisir les informations spécifiques à l’implémentation nécessaires à la génération de code. Chaque bloc comporte aussi un outil d’enregistrement de données et de détection de débordement. Une routine spécifique prépare automatiquement les modèles Simulink à la génération de code avec TargetLink en transformant les blocs Simulink en blocs TargetLink. Le modèle est ainsi prêt à la génération de code production et au bypass sur cible.

Si vous devez modifier les propriétés d’un grand modèle, le Property Manager de TargetLink est un outil graphique et rapide permettant de modifier manuellement les propriétés dans les boîtes de dialogue des blocs. Il affiche les propriétés des blocs TargetLink et des objets Stateflow de votre modèle et vous permet de visualiser, de filtrer et de modifier simultanément plusieurs propriétés.

Built-In Verification and Validation Support

Trois modes de simulation pour les tests

Bien que les générateurs de code produisent virtuellement des résultats parfaits en comparaison à la programmation manuelle, le code généré exige encore d’être testé tout comme la spécification sous-jacente. TargetLink propose des moyens puissants et simples à utiliser permettant de vérifier le code généré. Les tests du code sont réalisés dans le même environnement de simulation que celui utilisé pour spécifier le modèle de simulation sous-jacente. L’identité fonctionnelle est atteinte quand les résultats de simulation coïncident. TargetLink fournit un processus de vérification en trois étapes qui montre, par simple appui sur un bouton, si la spécification (le modèle) et l’implémentation (le code généré) sont identiques d’un point de vue fonctionnel.

Simulation Model-In-the-Loop Les données sont enregistrées pour les tracés de référence issus du modèle de simulation. Les signaux provenant des blocs sélectionnés et des variables d’état sont automatiquement enregistrés par TargetLink.
La simulation Model-In-the-Loop capture le comportement spécifié du modèle à implémenter en code C ultérieurement. Les tracés de signaux enregistrés servent de référence aux étapes de vérification suivantes.
La simulation Model-In-the-Loop peut également être utilisée pour détecter les débordements de variables de type entier et ses résultats sont utilisés pour la mise à échelle automatique basée sur la simulation.
Simulation Software-In-the-Loop Le code est généré et remplace les blocs du contrôleur dans le modèle de simulation (par exemple, les mêmes signaux d'excitation et le même comportement physique). TargetLink effectue ces tâches automatiquement en arrière-plan.
Vous continuerez à voir les blocs du contrôleur bien que ce soit le code qui est exécuté sur le PC hôte. Les tracés de signaux doivent être quasiment identiques aux résultats de la simulation Model-In-the-Loop. Si ce n'est pas le cas, les tracés peuvent être analysés afin d'obtenir une meilleure compréhension de la cause de cet écart et d’ajuster les paramètres codés en virgule fixe.
Simulation Processor-In-the-Loop Le code généré fonctionne sur un processeur intégré mais comme le code qui fonctionne correctement sur le PC hôte peut continuer à poser problème, il faut continuer à l’inspecter.
On connecte une carte d'évaluation du commerce sur le PC hôte et on compile le code généré avec le compilateur cible avant de le télécharger sur la carte d'évaluation.
TargetLink gère la communication entre le PC hôte et la carte d’évaluation. Toutes ces activités sont automatisées et n’exigent pas l’interaction de l’utilisateur. La simulation sur une carte d’évaluation ne nécessite que deux clics.
TargetLink effectue les trois différents modes de simulation sans apporter de modifications au modèle ou au code généré. TargetLink le fait automatiquement en arrière-plan.

Fonctionnalités et avantages du concept de simulation

Fonctionnalité Description Bénéfice
Simulation MIL/SIL/PIL par simple appui sur un bouton Passage de la simulation MIL à SIL ou PIL en un clic Environnement de simulation puissant
Pas besoin de modèles de test distincts, de génération de S-functions ou d’insertion manuelle dans les modèles de harnais de test
Enregistrement intégré de données Enregistrement de données et traçage des résultats intégrés pour tous les modes de simulation Aucune modification de modèle nécessaire
Disponible pour tous les modes de simulation
Comparaison directe des résultats MIL/SIL/PIL Tracé automatique de tous les résultats de simulation dans la même fenêtre de tracé Affichage direct des résultats des simulations dans les différents modes et analyse des écarts
Feedback direct indiquant si le code correspond à la simulation du modèle
Analyse détaillée des signaux et tracés des écarts Zoom sur les signaux pour inspecter visuellement les écarts, affichage des contraintes (p. ex. : plages définies), utilisation du curseur pour parcourir les historiques, affichage des valeurs des signaux numériquement ou traçage de l'écart des signaux Obtention d’une image claire du comportement du signal
Particulièrement utile pour le passage de la virgule flottant à la virgule fixe
Enregistrement et traçage intégrés des données Les blocs TargetLink intégrés sont dotés d’une fonctionnalité d’enregistrement des données intégrée. Dans les boîtes de dialogue de bloc, vous pouvez spécifier s'il faut enregistrer les signaux de sortie de bloc.
Analyse d’exécution pour le profilage du code La simulation Processor-In-the-Loop (PIL) peut également être utilisée pour profiler le code généré. Pendant la simulation PIL, TargetLink mesure automatiquement le temps d’exécution et la consommation de la pile directement sur le processeur cible.
Analyse de la couverture de code Vous pouvez évaluer l’exhaustivité des tests en utilisant l’analyse de la couverture de code. TargetLink propose une analyse de couverture C0 et C1, également appelée couverture des relevés et couverture des décisions.
Traçabilité du code du modèle Pour une meilleure traçabilité et des revues de code simplifiées, des fichiers de code peuvent éventuellement être générés au format HTML, avec des hyperliens pour la navigation du modèle au code et vice versa.

Excellent Code Properties

High Code Efficiency


Regardless of the application type (fixed-point or floating point), TargetLink generates highly efficient production code for your embedded system. Multiple scaling properties give ample choices to fine-tune fixed-point code to the conflicting requirements of low execution time, high computational precision, and overflow avoidance. If an overflow occurs, TargetLink’s overflow detection shows the exact location in the block diagram. The problem can be corrected right away.  

Dialogs to carry out automatic scaling.

Scaling Variables


To shorten the time-consuming and error-prone manual scaling process, TargetLink provides an Autoscaling Tool. It supports you in finding suitable ranges and calculating appropriate scaling parameters. A scaling task that took days and weeks in the past can now be done in minutes and hours. 

As a scaling method, TargetLink offers the two-coefficient linear scaling, which is widely used in embedded control applications. The properties for specifying fixed-point scalings in TargetLink are:

  • Data type
  • Power-of-two scaling factor or arbitrary scaling factor
  • Offset value
  • Constraint values
  • Bit safety margins
  • Saturation options


While fixed-point scaling can be done manually by a software engineer, in most instances it is left to TargetLink’s autoscaling tools. Two autoscaling procedures are available:

  • Simulation-based autoscaling – benefit from maximum computational precision
  • Worst-case autoscaling – no plant model required and overflows automatically prevented
     

Moreover, TargetLink also supports scaling with scaling formulas and type definitions.

Powerful Code Optimization


TargetLink generates highly optimized ANSI C code that is just as efficient as optimized handwritten code. This is achieved by various optimization techniques, such as standard optimization techniques that are also used by modern C compilers. TargetLink’s interblock optimization gives the generated code a human touch, because it combines code in a very similar way to what a skilled software engineer would do. For more complex blocks, TargetLink uses code from an internal code pattern library during the code generation process, ensuring that the code for complex blocks is also highly efficient.  

Fonctionnalités de vérification supplémentaires dans TargetLink

Feature Description
  • Integrated data logging and plotting
  • Built-in TargetLink blocks come with an integrated data logging functionality. In the block dialogs, you can specify whether to log the block output signals.
  • Run-time analysis for profiling the code
  • Processor-in-the-loop (PIL) simulation can also be used to profile the generated code. During PIL simulation, TargetLink automatically measures execution time and stack consumption directly on the target processor.
  • Code coverage analysis
  • You can assess how comprehensive tests are by using code coverage analysis. TargetLink offers C0 and C1 coverage analysis, also called statement coverage and decision coverage.
  • Model-code traceability
  • For improved traceability and simplified code reviews, code files can optionally be generated in HTML format, with hyperlinks for navigation from model to code and vice versa.

En savoir plus sur TargetLink

Faire avancer l'innovation. Toujours à la pointe de l'évolution technologique.

S’abonner à nos newsletters, gérer ses abonnements ou se désabonner. La newsletter mensuelle contenant toutes les informations liées à l’aéronautique et défense.

Enable form call

At this point, an input form from Click Dimensions is integrated. This enables us to process your newsletter subscription. The form is currently hidden due to your privacy settings for our website.

External input form

By activating the input form, you consent to personal data being transmitted to Click Dimensions within the EU, in the USA, Canada or Australia. More on this in our privacy policy.