SafetyRemote Sonderbefehle










Safety-Remote Sonderbefehle






Inhaltsverzeichnis
1 Einführung
2 Marken
3 Zähler
4 Variablen
5 Sprungbefehle
6 Unterprogrammaufruf
7 Sonderbefehle

Einführung


Safety-Remote enthält Sonderbefehle zur Programmverzweigung, zur Abfrage von Ergebnissen und zum Rechnen mit Parametern oder Ergebnissen. Dadurch ist es möglich, Prozeduren mit Programmschleifen, Unterprogrammen und bedingten Abläufen zu gestalten.
Jeder Befehl nimmt eine Programmzeile ein.
Jeder Befehl besteht aus einer Abkürzung, die jedoch nur intern im Programmablauf verwendet wird, einer Befehlsbeschreibung, die sprachabhängig ist, und bis zu vier Parametern.
Wenn Sie Befehle zur Abfrage und Programmverzweigung verwenden, achten Sie auf sinnvolle Namen und Gruppierungen. Anders als bei einem normalen Programmablauf kann eine Prozedur nicht mit Leerzeilen oder Kommentaren zur besseren Lesbarkeit versehen werden.
Variablennamen, Markennamen und Zählernamen dürfen ein beliebiger alphanumerischer Text und auch Leerzeichen enthalten, jedoch keine Leerzeichen zu Beginn und am Ende. Alle Variablennamen einer Prozedur sollten sich voneinander unterscheiden, ebenso alle Markennamen (Marke = „Label" oder „Ziel" oder „Sprungmarke") und Zählernamen.
Zähler, Variablen und Marken sind in der Anzahl begrenzt. Zum Zeitpunkt der Erstellung dieser Dokumentation ist die Anzahl auf jeweils 100 begrenzt. Diese Anzahl wird im Prozedurablauf überwacht. Bei Bedarf kann die Anzahl erhöht werden.

Marken

Marken dienen dazu, ein Ziel für einen Sprungbefehl oder ein Unterprogramm zu definieren. Der Name der Marke (anschließend die „Marke" genannt) wird im Parameter 1 definiert. Eine Marke darf nur einmal im Programmablauf vorkommen. Wenn sie mehrmals vorkommt, wird immer die zuerst definierte Marke verwendet. Es sind bis zu 100 Marken in einem Ablauf möglich.
Syntax:
Marke setzen

LABEL

Sprungmarke setzen (Par1)

Destination





„Destination" steht hier für den Markennamen. Benennen Sie „Destination" in einen sinnvollen Namen um. Nach der Durchführung eines Sprungbefehles oder Unterprogrammaufrufes wird die Ausführung der Prozedur nach der Marke fortgesetzt. Der Sprungbefehl und der Markenname tauchen nicht in der Ergebnisliste auf.

Zähler

Zähler dienen dazu, sich wiederholende Abläufe nur einmal in der Prozedur zu definieren und in einer Schleife sooft durchzuführen, wie es für den Zähler definiert wurde.
Ein Zähler wird immer zusammen mit einem Schleifensprungbefehl und einer Marke verwendet.
Zähler setzen

CNTR

Zähler setzen. Par 1 = Label Par 2 = Anzahl

Counter

1



Im Parameter 1 steht der Name des Zählers. Im Parameter 2 steht die Anzahl. Parameter 2 kann auch ein Variablenname sein. In diesem Fall wird der numerische Wert der Variable in eine Ganzzahl gewandelt und als Zähler verwendet. Wenn der Zähler bereits definiert ist, wird der Wert neu gesetzt. Wenn er noch nicht definiert wurde, dann wird er in diesem Prüfschritt definiert.

Variablen

Variablen werden verwendet, um Werte zwischen zu speichern. Diese Werte können Zahlen oder Zeichenfolgen sein. Die Werte können von Ergebnissen einer Messung stammen, sie können direkt gesetzt werden und sie können im Prozedurablauf eingegeben werden. Mit Variablen kann gerechnet werden. Eine Variable kann auch als Ergebnis eines Prüfschrittes bewertet werden. Variablen können miteinander oder mit Konstanten verglichen werden und die Prüfprozedur wird dann aufgrund der Bewertung des Ergebnisses an einer durch eine Marke definierte Stelle fortgesetzt.
Variable setzen.

SETVAR

Variable setzen.Variable Par1, Wert Par2

Variable

1



Der Variablenname steht im Parameter 1, der Wert, auf den die Variable gesetzt wird, im Parameter 2. Als Wert kann auch eine Bezeichnung mit Wertangabe verwendet werden. Wenn z. B. als Wert 1mV steht, dann wird 0,001 in die Variable geschrieben. Die Einheit geht verloren. Es können auch E Operatoren verwendet werden. 0,001 entspricht also 1E-3. Ein Komma und ein Punkt werden als Dezimaltrennzeichen gesehen.
Die Standard Einheitsbezeichnungen sind:
„p" Pico. 1 p entspricht 1E-12
„n" Nano. 1n entspricht 1E-9
„u" Micro. 1u entspricht 1E-6
„m" Milli. 1m entspricht 1E-3. Hinweis: Hier unterscheidet sich Groß- und Kleinschreibung. 1M ist 1E6.
„k" Kilo, 1k entspricht 1E3
„M" Mega. 1M entspricht 1E6
„G" Giga. 1G entspricht 1E9
„T" Terra. 1T entspricht 1E12.
Wenn in Parameter die englsiche Bezeichnung eines Feldes der Startmaske steht, wird dieser Wert in Var1 übertragen.
Var1=Var2

SETVV

Var1 (Par1) = Var2 (Par2)

Var1

Var2



Die Variable im Parameter 1 wird auf den Wert der im Parameter 2 genannten Variable gesetzt. Die Variable im Parameter 2 muss definiert sein. Ist sie nicht definiert und steht im Parameter 2 ein numerischer Wert, so wird dieser Wert anstatt einer Variablen verwendet. Wenn Variable 1 noch nicht definiert ist, so wird sie in diesem Schritt definiert. Durch Parameter 3 ist es möglich, vor dem Setzen der im Parameter 1 definierten Variablen, Rechenoperationen, die im Parameter 3 definiert sind, mit den im Parameter 1 und Parameter 2 definierten Variablen vorzunehmen.
Im Folgenden heißt Var1 die unter Parameter 1 definierte Variable, Var2 die unter Parameter 2 definierte Variable. Wenn in den Operationen Var1 noch nicht definiert war, wird sie vor der Operation definiert und auf 0 gesetzt.
Die definierten Rechenoperationen:

Parameter 3

Bedeutung

Var1 = Var2

Variable 1 wird auf den Wert von Variable 2 gesetzt

Var1 = Var1 + Var2

Variable 1 wird zunächst zur Variable 2 hinzugezählt. Das Ergebnis wird in Variable 1 geschrieben

Var1 = Var1 – Var2

Var2 wird von Var 1 abgezogen, das Ergebnis in Var1 geschrieben

Var1 = Var1 * Var2

Var1 wird mit Var2 multipliziert, das Ergebnis in Var1 geschrieben

Var1 = Var1 / Var2

Var1 wird mit Var2 dividiert, das Ergebnis in Var1 geschrieben

Var1 = Var1 ^ Var2

Var1 wird exponiert, das Ergebnis in Var1 geschrieben

Var1 = log (Var2)

Var1 wird auf den Logarithmus (Basis 10) von Var 2 gesetzt.

Var1 = Var1 AND Var2

Var1 und Var2 werden bitweise verundet

Var1 = Var1 OR Var2

Var1 und Var2 werden bitweise verodert

Var1 = NOT Var2

Var1 wird gesetzt auf die bitweise Invertierung von Var2

Var1 = Var1 & Var2

Var1 und Var2 werden als Zeichenketten verknüpft, das Ergebnis in Var1 geschrieben.

Var1 = Hex(Var2)

Der ASCII Hex-Wert von Var2 wird in Var1 übertragen



Die Variable auf das Prüfergebnis setzen
Variable auf Ergebnis setzen

VARRES

Variable (Par1) = Ergebnis des vorigen Schrittes.

Var1





Die Variable im Parameter 1 wird auf das Ergebnis des vorigen Prüfschrittes gesetzt.
Variable bewerten

EVAVAR

Variable bewerten

Var1

Var2

Der Wert von Var1 wird als Istwert, der von Var2 als Sollwert bewertet

Sprungbefehle

Es gibt unmittelbare, an das Ergebnis eins Vergleichs geknüpfte und Schleifen-Sprungbefehle.
Ein Sprungbefehl hat einen Markennamen als Ziel. Ist dieser nicht definiert, erscheint eine Fehlermeldung und der Prozedurablauf wird abgebrochen.
Der unmittelbare oder unbedingte Sprungbefehl
Springe

JUMP

Springe

Destination

Immer




Der unmittelbare Sprungbefehl springt zur Marke, deren Namen im Parameter 1 angegeben ist.
Im Parameter 2 kann stehen „Immer" oder „Bei Fehler".
„Immer" oder Parameter 2 leer heißt, dass die Prozedur in jedem Fall an der unter Parameter 1 angegebenen Marke fortgesetzt wird. „Bei Fehler" heißt, dass das Programm nur nach Durchführen eines Prüfschrittes, in der das Ergebnis nicht „OK" ist, am Punkt der Marke fortgesetzt wird. Diese Bedingung ist dazu da, bei einem umfangreichen Prüfablauf in einen weiteren Prüfabschnitt zu springen, auf den der gefundene Fehler keine Auswirkung hat.
Hinweis: Nach einem bedingten Sprungbefehl wird die Prozedur in der Zeile nach diesem bedingten Sprungbefehl fortgesetzt, wenn die Sprungbedingung nicht erfüllt ist. Häufig ist es jedoch besser leserlich, wenn der Ablauf an anderer Stelle fortgesetzt wird. In diesem Fall sollte ein unmittelbarer Sprungbefehl mit dem neuen Ziel nach dem bedingten Sprungbefehl eingesetzt werden.
Schleifensprung
Zähler -1, Springe wenn > 0

DJNZ

Zähler Par1 dekrementieren. Wenn > 0, springe zu Label Par2.

Counter

Destination



Der Zähler, der im Parameter 1 definiert ist, wird um 1 erniedrigt. Wenn das Ergebnis 0 ist, dann wird die Prozedur an der unter Parameter 2 angegebenen Marke fortgesetzt. Ansonsten wird die Prozedur in der nächsten Zeile fortgesetzt.
Springe bei Ergebnis OK/F
Springe bei OK/F

CMPRES

Springe wenn voriges Ergebnis OK/F (Par1) zu Label unter Par2

OK

Destination




Das Ergebnis des vorigen Schrittes wird verglichen mit der Angabe unter Parameter 1. Wenn in Parameter 1 „OK" steht wird bei gutem Ergebnis des vorigen Schrittes zur unter Parameter 2 angegebenen Marke gesprungen. Ansonsten wird die Prozedur in der nächsten Zeile fortgeführt. Ähnliches gilt für ein fehlerhaftes Ergebnis, wenn in Parameter 1 ein „F" steht.
Vergleiche Ergebnis mit Wert und springe
Springe bei Ergebnis

CMPVAL

Springe bei Ergebnis. Ziel Par 3, Bedingung Par1, Wert Par2

=

1

Destination



Das Ergebnis des vorigen Schrittes wird verglichen mit der Angabe in Parameter 2. Im Parameter 2 kann ein Zahlenwert stehen oder eine Zeichenfolge. Der Operator mit dem verglichen wird, steht im Parameter 1. Bei positivem Vergleich wird zur unter Parameter 3 definierten Marke gesprungen.

Parameter

Bedeutung

=

Ergebnis gleich Wert

<

Ergebnis kleiner als Wert

>

Ergebnis größer als Wert

<=

Ergebnis kleiner oder gleich Wert

>=

Ergebnis größer oder gleich Wert


Vergleiche Ergebnis mit Variable und springe
Vergl. Variable und springe

CMPVAR

Vergl. Variable und springe. Ziel Par4, Var Par 1, Bedingung Par2, Wert Par 3

=

Variable

1

Destination


Das Ergebnis des vorigen Schrittes wird verglichen mit der Variable in Parameter 2. Der Operator mit dem verglichen wird, steht im Parameter 1. Bei positivem Vergleich wird zur unter Parameter 3 definierten Marke gesprungen.
Vergleiche Variablen und springe
Vergleiche Var1 mit Var2

CMPVV

Var1 = (>...) Var2? Ziel Par4, Bedingung Par1, Variable 1 Par2, Variable 2 Par 3

=

Var1

Var2

Destination

Var1 wird mit Var 2 verglichen. Der Operator, mit dem verglichen wird, steht unter Parameter 1. Bei positivem Vergleich wird zur Marke gesprungen, die im Parameter 4 benannt ist.
Vergleiche Parameter der Eingabemaske und springe
Vergleiche Parameter

CMPPAR

Vergleiche Parameter der Startmaske und springe. Ziel Par4, Bedingung Par1, Name Par2, Wert Par3

=

Gerät

CF

Destination


Der Wert des unter Parameter 2 der Startmaske definierten Feldes wird verglichen mit dem Wert, der in Parameter 3 definiert ist. Bei positivem Vergleich, wird zur Marke, die im Parameter 4 definiert ist, gesprungen.
Abfragefenster, springe bei „Nein"
Abfrage

MSGYN

Abfrage Ja/Nein, Springe bei Nein

Message

DestinationNo



Der Text, der im Parameter 1 angegeben ist, wird in einer Ja/Nein Abfrage ausgegeben. Bei Antwort „Nein" wird zur Marke gesprungen, die im Parameter 4 angegeben ist. Bei Antwort „Ja" wird in der folgenden Prozedurzeile weitergemacht.

Unterprogrammaufruf

Der Unterprogrammaufruf dient dazu, sich wiederholende Prozedurabschnitte nur einmal zu definieren und sie von verschiedenen Stellen in der Prozedur aufzurufen.
Nach der Durchführung eines Unterprogramms wird die Prozedur in der Zeile, die dem Unterprogrammaufruf folgt fortgeführt. Unterprogramme können auch weitere Unterprogramme aufrufen. Das Ziel des Unterprogramms ist eine Marke, wie sie auch für Sprungbefehle verwendet wird. Wenn die Prozedur ohne Unterprogrammaufruf in eine Marke läuft, die als Unterprogrammziel definiert ist, wird eine Fehlermeldung erzeugt und die Prozedur abgebrochen.
CALL Befehl
CALL

CALL

Unterprogrammaufruf

Destination

Immer




Im Parameter 1 steht die Zielmarke, im Parameter 2 kann, ähnlich wie beim Sprungbefehl, eingegeben werden, ob das Unterprogramm immer oder nur bei Auftreten eines Fehlers aufgerufen werden soll.
Im Unterprogramm muss als letztes der RETURN Befehl stehen.

Sonderbefehle


Warten:

WAIT

Wartezeit in Sekunden


Die Ausführung der Prozedur wird für die angegebene Zeit unterbrochen.
Zulassen bei Fehler weiterzuprüfen:

SETFLTQRY

Zulassen bei Fehler weiterzuprüfen

Aus


Mit diesem Parameter kann man einstellen, dass bei bestimmten Prozedurabschnitten das Programm nicht bei Fehler abbricht, sondern trotz Fehler weiterläuft. Dieses Flag kann aus- oder eingeschaltet werden.
Mit dem Multimeter messen

DMM

Multimetermessung

mvDC

Auto


DMM 1

Parameter 1 enthält die Messfunktion, Parameter 2 den Bereich, Parameter 4 die Multimeternummer.