Einzelheiten zu den bedingten Haltepunkten
TwinCAT C++ stellt bedingte Haltepunkte zur Verfügung. Einzelheiten zur Formulierung dieser Bedingungen finden Sie hier.
Im Gegensatz zu den Visual Studio C++ bedingten Haltepunkten werden die TwinCAT-Bedingungen kompiliert und anschließend auf das Zielsystem übertragen, sodass sie während kurzen Zyklenzeiten verwendet werden können.
WARNUNG | |
Anlagen- und Personenschäden durch unerwartetes Verhalten der Maschine / Anlage Haltepunkte verändern das Verhalten der Maschine bzw. Anlage. Abhängig von der gesteuerten Maschine können Schäden an Maschine und Werkstücken entstehen oder Gesundheit und Leben von Personen gefährdet werden. Stellen Sie sicher, dass das veränderte Verhalten des gesteuerten Systems keine Schäden verursacht und beachten Sie unbedingt die Anlagendokumentation. |
Die Optionsschaltflächen bieten zwei Optionen, die getrennt voneinander beschrieben werden.
Option: Is true
Bedingungen werden mit Hilfe von logischen Termen, vergleichbar mit den konjunktiven Normalformen definiert.
Sie werden aus einer Kombination von mit „&&“ verbundenen Maxtermen gebildet:
(Maxterm1 && Maxterm2 && ... && MaxtermN)
wobei jeder Maxterm eine Kombination von || verbundenen Bedingungen darstellt:
(condition1 ||condition2 || ... || conditionN )
Mögliche Vergleichsoperatoren: ==,!=, <=, >=, <, >
Für die Bestimmung der verfügbaren Variablen beachten Sie das Live Watch Fenster. Alle aufgeführten Variablen können für die Formulierung von Bedingungen herangezogen werden. Dazu gehören sowohl TMC-definierte Symbole, als auch lokale Member-Variablen.
Beispiele:
m_counter == 123 && hr != 0
m_counter == 123 || m_counter2 == 321 && hr == 0
m_counter == 123
Weitere Anmerkungen:
- Überwachung von Modul-Instanzen:
Die OID des Objekts ist inm_objId
gespeichert, somit kann z. B. die Überwachung des OID folgendermaßen aussehenm_objId == 0x01010010
- Überwachung von Tasks:
Es wird eine spezielle Variable#taskId
bereitgestellt, um auf die OID der aufrufenden Task zugreifen zu können. Z.B.#taskID == 0x02010010
Option: Has changed
Die Option „Has changed“ ist einfach zu verstehen: Indem Variablennamen bereitgestellt werden, wird der Wert überwacht und die Ausführung angehalten, wenn der Wert sich gegenüber dem vorangegangenen Zyklus geändert hat.
Beispiele:
m_counter
m_counter && m_counter2