Navigation: CL-Studio Software > Objektdefinitionen >

Seite Makro

 

 

 

 

 

Seite Makro

 

Für jedes Objekt kann ein eigenes Makro erstellt werden. In diesem Makro wird programmiert welche Funktionen ausgeführt werden sollen. Makros können durch Empfang vom Sensor eines Objekts, durch eine Änderung des Objektwerts oder in bestimmten Zeitintervallen aktiviert werden. Welche Option der Ausführungsaktivierung benutzt werden aoll, wird auf dieser Seite festgelegt.

 

Das Zeitintervall wird in der Auswahlbox über dem Fenster mit dem Programmtext eingestellt.

In den meisten Fällen ist das Zeitintervall "jede Minute" oder "alle 5 Sekunden"  die richtige Wahl.  Wenn in dem Objektprogramm Zeiten abgefragt werden, bei denen Sekunden angegeben sind, muss das Zeitintervall auf alle 5 Sekunden eingestellt werden, da die Funktion "Uhrzeit" die Zeit im 5-Sekunden-Raster zurückgibt.

Ausführungsintervalle kleiner 5 Sekunden sollte nur gewählt werden wenn diese kurzen Intervalle tatsächlich erforderlich sind. Wenn zu viele Makros unnötigerweise in sehr kurzen Intervallen ausgeführt werden, kann das dazu führen, dass die Anwendung insgesamt langsamer wird und einzelne Aktionen grössere Reaktionszeiten haben, da Makros die unnötigerweise zu oft ausgeführt werden die Gesamtperformance und die Kommunikation mit der Hardware behindern können.

 

Bitte beachten Sie:

Das Zeitintervall permanent ist nur in Sonderfällen sinnvoll und sollte mit Bedacht gewählt werden. Es sollte nicht benutzt werden wenn es sich um ein grösseres Makro handelt oder andere Makros in dem permanent aktivierten Makro gestartet oder aufgerufen werden.

Keinesfalls dürfen von einem permanenten Makro bei jedem Durchlauf Zustands- oder Werteänderungen ausgehen, die zu einer Hardwareaktion oder einer Änderung der Visualisierung führen würden. Diese könnten in der schnellen Taktfrequenz von den Netzwerkroutinen nicht bearbeitet werden, was letztlich zu einem Speicherüberlauf und einem Programmabsturz führen kann. Verwenden Sie also das Zeitintervall  permanent nur mit Bedacht und wenn Sie die Auswirkungen übersehen können. Das gilt je nach verwendeter Hardware und Grösse des Projekts auch für Zeitintervalle von mehreren Ausführungen in der Sekunde.

Sollten Sie permanente Ausführung oder ein Ausführungsintervall kleiner als 1 Sekunde verwenden und Ihr Projekt nicht fehlerfrei laufen erhöhen Sie das Zeitintervall.

Für Sensoren gibt es den Auswahlpunkt Ausführung bei Empfang.

Wenn dieser aktiviert ist, wird das Objektprogramm ausgeführt, sobald eine Meldung vom zugeordneten Sensor empfangen wird. Die Ausführung erfolgt auch wenn sich der Sensorwert nicht geändert hat.

 

 

Für Aktoren gibt es den Auswahlpunkt Ausführung bei Änderung.

 

Achtung : Die unsachgemässe Verwendung dieser Option kann schwerwiegende Fehler zur Folge haben.

 

Wenn diese Option aktiviert ist, wird das Makro immer dann ausgeführt, wenn sich der Wert des Objekts ändert - egal an welcher Stelle diese Änderung erfolgt (also auch innerhalb des eigenen Objektmakros).

Die Benutzung dieser Option ist insbesondere sinnvoll in Makros von Tür/Fensterkontakten, da bei Verwendung von Ausführung bei Empfang das Makro auch beim Empfang von Statusmeldungen aktiiviert wird, ohne dass sich der Zustand geändert hat.

Diese Option bietet viele Möglichkeiten, die Benutzung ist jedoch auch gefährlich - wenn mehrere Objekte diese Option verwenden und es gegenseitige Abhängigkeiten gibt, so dass Makros wechelseitig aktiviert werden können Endlosschleifen entstehen, die das ganze System blockieren.

Diese Option sollte daher nur mit Vorsicht benutzt werden, wenn in dem Makro Zustände anderer Objekte verändert werden, die ebenfalls diese Option verwenden.

Keinesfalls darf es zu einem Zirkelbezug kommen!

 

Makros können die Zustände des eigenen und aller anderen Objekte abfragen und ändern. Zustände von Objekten und den diesen zugeordneten Hardwaremodulen werden automatisch abgeglichen, d.h. wenn ein zugeordneter Sensor eine Zustandsänderung meldet, ändert sich der Zustand des Objekts. Wenn das Programm einen Objektzustand ändert wird eine Meldung an den zugeordneten Aktor (Empfänger) geschickt.

Mit dem Button [Menü-Makro bearbeiten] kann das Fenster zur Menügeführten Erstellung von Makro-Anweisungen aufgerufen werden. Dieses Fenster ist nur aus Kompatibilitätsgründen zur Standardversion des Programms vorhanden und verfügt nur über eine eingeschränkte Auswahl an Makroanweisungen.

Mit der Schaltfläche [Objekte/Var.] kann ein Element einer Liste der Objekte und Variablen ausgewählt werden, das an der Cursorposition in das Makro eingesetzt wird.

Mit der Schaltfläche [Anweisungen]kann eine Anweisung aus der Liste der meistbenutzten Anweisungen ausgewählt werden. Diese wird direkt der Cursorposition in das Makro eingesetzt. Die Anweisungen sind nicht alphabetisch, sondern nach Anwendungshäufigkeit und Gruppen sortiert.

 

Mit der Schaltfläche [Editor]wird ein separater Editor aufgerufen, der eine bessere Übersichtlichkeit und Optionen zum Suchen/Ersetzen bietet.

Dieser Editor kann auch durch Doppelklick auf das Makrofenster gestartet werden.

 

Im unteren Teil der Seite können Variablen für das Objektprogramm definiert werden.

Variablen sind dem jeweiligen Objekt zugeordnet, können jedoch auch in anderen Objektprogrammen verwendet werden, wenn der Name der Variablen qualifiziert, d.h. mit vorangestelltem zugehörigem Objektnamen, von der Variablen durch einen Punkt getrennt, angegeben wird.

Wenn Beispielsweise im Programm Gartenlicht die Variable Autoschalter definiert ist, so kann diese in anderen Programmen unter dem Namen Gartenlicht.Autoschalter verwendet werden.

 

Da das Navigieren in der Variablentabelle ohne Maus für Anwender mit Sehbehinderung schlecht machbar ist wurde folgende spezielle Tastensteuerung implementiert:

Mit Alt-V wird der Cursor in die Variablen-Tabelle gesetzt.

Mit Alt-X wird der Cursor eine Spalte weiter gesetzt, wenn er sich in der letzten Spalte befindet in die nächste Zeile.

Mit Alt-Y wird der Cursor eine Spalte zurück gesetzt, wenn er sich in der ersten Spalte befindet in die Zeile über der aktuellen Zeile.

 

 

 

 

 

 

Copyright © 2023 CL-control