Erweiterte Einstellungen (Tc Advanced)

In den erweiterten Einstellungen lassen sich Parameter einstellen, die zum einen das Ausführungs- und Aufrufverhalten des Moduls und zum anderen die Darstellungen und Eigenschaften des exportierten Blockdiagramms beeinflussen:

Erweiterte Einstellungen (Tc Advanced) 1:

Ausführungsverhalten des generierten Moduls

In TwinCAT 3 kann ein Simulink-Modul direkt von einer zyklischen Echtzeit-Task oder von einem anderen TwinCAT-Modul, z. B. einer SPS, aufgerufen werden. Das Verhalten der generierten Modul-Klasse kann in Simulink unter Tc Advanced parametriert werden. Um das Verhalten der einzelnen Modulinstanzen ggf. abweichend vom Verhalten der Klasse festzulegen, kann die Art der Ausführung in der TwinCAT 3-Entwicklungsumgebung über die TcCOM-Parameterliste im Karteireiter Parameter (Init) oder über den Parameterbereich im Blockdiagramm angepasst werden.

Konfiguration der Standardeinstellungen in Simulink

Die Standardwerte der Aufruf-Parameter können in den Simulink-Codereinstellungen konfiguriert werden, um den Aufwand für die Parametrierung der einzelnen Objekte (Modulinstanzen) zu verringern:
Erweiterte Einstellungen (Tc Advanced) 2:

Task Zuweisung

Unter Task assignment kann die Zuweisungsart einer Task in TwinCAT definiert werden.

Einstellung "Depend On"

Beschreibung

Manual Config

Die Tasks können in der Kontexttabelle manuell zugewiesen werden, indem in der Spalte "Task" die Objekt-IDs der Tasks ausgewählt oder eingetragen werden. Die ausgewählten Tasks müssen alle Kriterien erfüllen, die über die "Aufruf-Parameter" konfiguriert wurden.

Parent Object

Kann nur verwendet werden, wenn der Eltern-Knoten der Modulinstanz im Projektbaum eine Task ist. In diesem Fall dient das Parent-Object als zyklischer Aufrufer des Moduls.

Task Properties

Die Tasks werden dem Modul automatisch zugewiesen, wenn Zykluszeit und Priorität den in Simulink festgelegten Werten entsprechen. Gibt es keine entsprechende Task, können unter dem Knoten "System Configuration -> Task Management" neue Tasks erstellt und entsprechend parametriert werden.

Ist die Option Task properties aktiv, ist die Priorität der entsprechenden Task anzugeben.

Zyklischer Aufruf

Wurde für den Aufruf-Parameter "CallBy" der Wert "CyclicTask" gesetzt, erfolgt beim Start des Moduls eine Verifizierung aller Task-Zykluszeiten. Über den Aufruf-Parameter "Step size" können die Bedingungen der Zykluszeiten der zugeordneten Tasks festgelegt werden. Erfüllen alle Zykluszeiten ihre Bedingungen, kann das Modul starten. Anderenfalls bricht der Start des Moduls und der TwinCAT-Laufzeit mit entsprechenden Fehlermeldungen ab.

Aufruf aus einem anderen TwinCAT-Modul

Wurde der Aufruf-Parameter "CallBy" auf den Wert "Module" gesetzt, rufen die zugewiesenen Tasks das Modul nicht automatisch auf. Um das generierte TcCOM-Modul stattdessen über ein anderes Modul aufzurufen, kann auf dessen Schnittstellen zugegriffen werden. Das kann aus einem C++-Modul geschehen oder aus einer TwinCAT SPS, wie in „Aufruf des generierten Moduls aus einem SPS-Projekt“ gezeigt.

Ausführungsreihenfolge

In Modulen, die mit TE1400 ab Version 1.1 erstellt wurden, kann eine Ausführungsreihenfolge festgelegt werden, um Jitter und Reaktionszeiten für die jeweilige Anwendung zu optimieren. Ältere Versionen verwenden immer die Reihenfolge "StateUpdateAfterOutputMapping". Die folgende Tabelle veranschaulicht die Vor- und Nachteile der unterstützten Aufrufreihenfolgen:

Erweiterte Einstellungen (Tc Advanced) 5:

Ergebnisse aus „Minor Time Steps“ werden per ADS übermittelt

Per ADS übermittelte Signalwerte können von den Werten abweichen, die via „Output mapping“ auf andere Prozessabbilder kopiert wurden. Grund hierfür ist, dass bei „State update“ je nach gewähltem Solver Werte überschrieben werden können. Siehe Übermittlung der Ergebnisse aus „Minor Time Steps“ für weitere Informationen.

Schrittweiteneinstellung (Step size)

Hier wird das Verhalten des generierten TcCOM bezüglich der Schrittweite (in TwinCAT entsprechend die Cycle Time) definiert.

Auto start cyclic execution

Ist diese Option aktiviert (default), wird das Tc-COM Modul beim Aufstarten in den OP-State gesetzt und der generierte Modellcode direkt ausgeführt. Ist diese Option deaktiviert, wird das Modul ebenfalls in den OP-State versetzt, jedoch wird der Modellcode nicht abgearbeitet. Diese Option ist im instanziierten Modul im Karteireiter Parameter (init) und im Parameterbereich des Blockdiagrams unter Module parameters als Variable „ExecuteModelCode“ zu finden und kann hier ebenfalls angepasst werden.

Anpassung der Darstellung, Debugging und Parametrierbarkeit

Aus Simulink erzeugte Module erlauben auch nach der Codegenerierung und Instanziierung noch weitreichende Möglichkeiten zur Parametrierung der Modul- und Modellparameter. Die Parametrierungsmöglichkeiten können vor der Codegenerierung angepasst werden, so dass z. B. in der Entwicklungsphase Debug-Möglichkeiten erlaubt und auch Parameter maskierte Subsysteme aufgelöst werden, welche in einer Release Version versteckt werden sollen. Die Nutzung von Modulen in TwinCAT 3 setzt eine entsprechend der Anforderungen konfigurierbare Darstellung voraus. So können z. B. Debug-Informationen im Blockdiagramm mit exportiert werden.

Die folgenden Coder-Parameter erlauben die Anpassung des Blockdiagramm-Exports, der Parameter- und Signaldarstellung sowie erweiterter Funktionen:

Erweiterte Einstellungen (Tc Advanced) 7:

Parameter

Beschreibung

Defaultwert

Monitoring execution times

TRUE

Die Ausführungszeiten des TC-Moduls werden berechnet und zur Überwachung als ADS-Variable bereitgestellt.

FALSE

FALSE

Berechnung der Ausführungszeiten deaktiviert.

Export block diagram

TRUE

Das Simulink-Blockdiagramm wird exportiert und nach der Instanziierung des Moduls in XAE unter dessen Karteireiter "Block Diagram" angezeigt.

TRUE

FALSE

Das Simulink-Blockdiagramm wird nicht exportiert und der Karteireiter "Block Diagram" wird in XAE nicht angezeigt.

Resolve masked Subsystems

Nur relevant, wenn "Export block diagram"=TRUE.

FALSE

TRUE

Maskierte Subsysteme werden aufgelöst. Alle Inhalte maskierter Subsysteme sind für Benutzer des generierten Moduls in XAE sichtbar.

FALSE

Maskierte Subsysteme werden nicht aufgelöst. Die Inhalte der maskierten Subsysteme sind für Benutzer des generierten Moduls unsichtbar.

Access to VariableGroup, not referenced by any block

Assign to parent block

Variablen dieser Gruppe, die zu einem Block innerhalb eines nicht aufgelösten Subsystems gehören, werden dem nächsthöheren, sichtbaren Subsystem zugeordnet.

 

Hide in block diagram

Variablen dieser Gruppe, die keinem Simulink-Block zugeordnet werden können, werden im Blockdiagramm nicht angezeigt.

Hide, No access

Variablen dieser Gruppe, die keinem Simulink-Block zugeordnet werden können, werden versteckt und unzugänglich gemacht. Dies ist nur möglich, wenn für das Prozessabbild dieser Variablen-Gruppe „No DataArea“ ausgewählt wurde (Konfiguration in Simulink).

Export block diagram debug information

TRUE

Debug-Informationen zum Blockdiagramm werden generiert, die eine Zuordnung von Zeilennummern im genierten Code zu dargestellten Blöcken erlauben. Wird für das Debuggen benötigt.

TRUE

FALSE

Keine Debug-Informationen werden generiert

Show parameters table in XAE

TRUE

Der Karteireiter "Parameter (Init)" wird in XAE angezeigt und erlaubt die Parametrierung des Moduls über die Parameterliste.

TRUE

FALSE

Der Karteireiter "Parameter (Init)“ wird in XAE nicht angezeigt.

Use original input and output block names

FALSE

Ein- und Ausgänge des Moduls tragen den Namen, der vom Simulink Coder als Variablenname angelegt wurde. Leer- und Sonderzeichen sind dort nicht erlaubt.

FALSE

TRUE

Ein- und Ausgänge des Moduls tragen genau den Namen, der im Simulink Modell verwendet wurde. Die Namen können Leer- und Sonderzeichen enthalten.

Set testpoints at Simulink Scope signals before code generation

 

Scope-Blöcke werden vom Simulink-Coder ignoriert, d. h. die Signale stehen im Allgemeinen im generierten TwinCAT-Modul nicht zur Verfügung und können nicht angezeigt werden. Um die Generierung von Variablen für diese Signale zu erzwingen, können im Simulink-Modell „Testpoints“ definiert werden.

Dieser Parameter kann genutzt werden, um automatisiert „Testpoints“ für alle Scope-Eingangssignale zu erstellen.

 

Maximum number of visible array elements

 

Gibt die maximale Anzahl der in der TwinCAT-Entwicklungsumgebung darzustellenden Array-Elemente an. Größere Arrays können nicht aufgeklappt und die Elemente z. B. nicht einzeln verknüpft werden.

 


Hide Datatypes defined in TMC

In jeder TMC-Datei werden die benötigten Datentypen spezifiziert und durch Import in TwinCAT 3 im System bekannt gemacht. Den Datentypen wird dabei eine eindeutige GUID zugeordnet. Entsprechend bleibt die GUID unverändert, wenn eine TMC-Datei neu importiert wird, bei der sich ein Datentyp nicht verändert hat. Bei der Verwendung von z. B. Enums oder Strukturen, kann durch Veränderungen (z. B. zusätzlicher Modellparameter in einer Struktur) der Fall auftreten, dass der Datentypname des veränderten Datentyps und der des vorherigen Datentyps identisch sind, jedoch unterschiedliche GUIDs haben. Diese eindeutige Zuordnung über GUIDs existiert in der PLC nicht, sondern hier wird über den Datentypnamen identifiziert. Bei Aufruf einer TcCOM Instanz aus der PLC heraus ist entsprechend ein Mechanismus vorzuhalten, der Mehrdeutigkeiten vorbeugt.

Über den Punkt Hide Data Types defined in TMC wird die zuletzt importierte TMC bzw. deren Datentypnamen und Datentypen für die PLC verwendet. Bereits existierende Datentypnamen mit anderen Datentypen werden für die PLC versteckt. Siehe dazu auch Wie löse ich Datentyp-Konflikte im SPS-Projekt?.

Skip caller verification

Diese Option deaktiviert Abfragen bei dem Aufruf eines TcCOM aus der SPS, siehe Aufruf des generierten Moduls aus einem SPS-Projekt. Dies führt zu einer schnelleren Abarbeitung des Modulaufrufs, auf der anderen Seite muss dann vom Anwender zwingend sichergestellt sein, dass der Aufruf korrekt und aus dem richtigen Kontext heraus erfolgt.

Diese Option sollte erst dann aktiviert werden, wenn es aus Performanz-Gründen notwendig ist und unter zuvor das Projekt mit aktivierten Abfragen entsprechend getestet wurde.

PLC Function Block

Der POU-Typus zum Aufruf eines Simulink-Objektes aus der SPS kann hier näher definiert werden. Eine ausführliche Beschreibung ist unter „Aufruf des generierten Moduls aus einem SPS-Projekt“ zu finden.

OEM Lizenzcheck

Optional kann ein generiertes TcCOM an eine OEM-Lizenz gebunden werden. Diese OEM-Lizenz wird beim Starten des TcCOM (neben der Beckhoff Runtime-Lizenz TC1220 oder TC1320) in TwinCAT 3 überprüft. Ist keine gültige Lizenz vorhanden startet das Modul nicht auf und es erscheint eine entsprechende Fehlermeldung.

Wie Sie OEM Zertifikate erstellen und diese dann verwalten finden Sie beschrieben unter TwinCAT3 > TE1000 XAE > Technologien > Security Management.

In Simulink können Sie den OEM Lizenzcheck einfügen über Benennung Ihrer OEM ID und Ihrer abzufragenden Lizenz ID bzw. mehrerer Lizenz IDs. Ihre OEM ID finden Sie in der Security Management Konsole (Extended Info aktiviert), die Lizenz ID können Sie einsehen durch Doppelklick auf den entsprechenden Lizenzeintrag in TwinCAT unter System > License. Beide IDs sind ebenfalls im generierten License Request File enthalten, wenn ein Request File mit Ihrer OEM Lizenz generiert wird.

Erweiterte Einstellungen (Tc Advanced) 8:

GUID Form beachten

Die einzutragenden IDs sind als String in GUID-Form zu übergeben, d.h. in Simulink sind die Angaben in Hochkommata zu setzen. Ebenfalls sind keine Leerzeichen in den Angaben erlaubt.

Beispieleintrag:

OEM ID: '{B0D1D1B7-99AB-681G-F452-F4B3F1A993C0}'

License ID: 'Name1,{6B4BD993-B7C3-4B72-B3D1-681FE7DDF3D1}'