External Mode (Tc External Mode)
In Simulink gibt es verschiedene Ausführungsmodi. Neben dem "Normal Mode", bei dem das Simulink-Modell direkt in der Simulink-Umgebung berechnet wird, gibt es z. B. den "External Mode". In diesem Modus arbeitet Simulink nur als grafische Oberfläche ohne Berechnungen im Hintergrund. Wenn das Modell mit den entsprechenden Einstellungen in ein TcCOM-Modul umgesetzt wurde, kann sich Simulink mit dem instanziierten TcCOM-Objekt verbinden, das gerade in der TwinCAT-Echtzeitumgebung läuft. In diesem Fall werden die internen Signale des Moduls über ADS an Simulink übermittelt, wo sie mit den entsprechenden Simulink-Blöcken aufgezeichnet oder dargestellt werden können. In Simulink veränderte Parameter können online in das TcCOM-Objekt geschrieben werden. Eine solche Online-Parameterveränderung ist allerdings nur bei Parametern möglich, die als "tunable" definiert sind.
Konfiguration des Modulgenerators
Eine „External Mode”- Verbindung ist nur möglich, wenn das generierte Modul sie unterstützt. Dafür muss der External Mode vor der Modulgenerierung in den Einstellungen des Simulink Coders unter TC External Mode aktiviert werden:
Zusätzlich gibt es hier eine Schaltfläche zur Vorkonfiguration der „External Mode“-Verbindung. Informationen zur Konfiguration der „External Mode“-Verbindung siehe Abschnitt "Verbindung herstellen". Weitere Parameter unter diesem Karteireiter sind:
Parameter | Beschreibung | Defaultwert |
---|---|---|
Allow real-time execution commands via External Mode | Definiert den Standardwert des Modulparameters „AllowExecutionCommands“, der festlegt, ob das Modul Start- und Stopp-Befehle aus Simulink verarbeiten soll. Besonderes Verhalten dieses Parameters: Der Modulparameter "AllowExecutionCommands" ist ReadOnly, wenn der Wert FALSE ist. Der Code wird in diesem Fall hinsichtlich der Ausführungszeit optimiert und enthält daher nicht die Codeabschnitte zur Verarbeitung von Start- und Stopp-Befehlen. | FALSE |
By default wait on External Mode start command | Defaultwert des Modulparameters“ WaitForStartCommand“ | FALSE |
Modulparameter
Zur Konfiguration des Verhaltens im External Mode (auf der Seite des XAE) ist in generierten Modulen der Parameter ExternalMode als Struktur definiert, der die folgenden Elemente enthält:
Parameter | Beschreibung | Defaultwert | |
---|---|---|---|
Activated | ReadOnly. Legt fest, ob der externe Modus im generierten Modul unterstützt werden soll. | Einstellung des Modulgenerators | |
AllowExecutionCommands | Nur relevant, wenn "Activated"=TRUE. | Einstellung des Modulgenerators | |
TRUE | Erlaubt Simulink, die Modulabarbeitung über die „External Mode“-Verbindung zu starten und zu stoppen. | ||
FALSE | Start- und Stopp-Befehle werden vom Modul ignoriert. | ||
WaitForStartCommand | Nur relevant, wenn "Activated"=TRUE und "AllowExecutionCommands"=TRUE | Einstellung des Modulgenerators | |
TRUE | Das Modul wird nach dem Start von TwinCAT nicht automatisch ausgeführt sondern wartet auf den Startbefehl von Simulink. | ||
FALSE | Das Modul wird sofort mit der zugewiesenen TwinCAT-Task gestartet. (Default) |
Für weitere Informationen zur Anpassung der Modulparameter in XAE siehe Abschnitt "Parametrierung des generierten Moduls".
Verbindung aus Simulink® herstellen
Die „External Mode“-Verbindung kann aus Simulink über das Icon Connect to Target gestartet werden, welches nach Anwahl des Modus External in der Simulink-Toolbar zu sehen ist:
Bei fehlenden oder falschen Verbindungsdaten werden nacheinander die folgenden Dialoge angezeigt, damit der Benutzer die Verbindung neu konfigurieren kann:
Das erste Dialogfenster zeigt eine Liste von Zielsystemen, das zweite eine Liste der verfügbaren Modul-Instanzen auf dem gewählten Zielsystem. Im folgenden Dialog kann der Benutzer festlegen, ob die neuen Verbindungsdaten gespeichert werden sollen. Nach dem Speichern der Verbindungsdaten wird die Verbindung automatisch hergestellt, wenn die Verbindungsdaten auf ein gültiges und passendes Modul verweisen.
Die gespeicherten Verbindungsdaten können in den Coder-Einstellungen über der Schaltfläche Setup ADS Connection unter TC External Mode jederzeit geändert werden.
Übermittlung der Berechnungsergebnisse von „minor time steps“
Über ADS übermittelte Signalwerte können unter bestimmten Umständen von den Werten abweichen, die via „Output mapping“ auf andere Prozessabbilder kopiert wurden. Siehe Übermittlung der Berechnungsergebnisse von „minor time steps“.
Parametrierung in TwinCAT
Bei großen Modellen müssen viele Daten zwischen TwinCAT und Simulink kommuniziert werden. Dies geschieht über ADS, wobei TwinCAT-seitig Puffer angelegt werden. Sie haben die Möglichkeit die Puffer für eingehende und ausgehende Daten zu adaptieren (Defaultwerte 10000 Byte) sowie die Timeout-Schwelle (Default 3.0 Sekunden) anzupassen.