DOK-MTX***-NC**PRO*V11-RE01-DE-P
Rexroth IndraMotion MTX 11VRS Programmierhandbuch
Randbedingungen
Beispiele:
–
"<=" kleiner gleich
–
"<>" ungleich
für SKQ als Vergleichsoperator nur zulässig: "=" und "<> ",
z.B. SKQ=4711
●
Eine Bitmasken-Einzelbedingung hat die Form:
<Tag-Name>=<Wert>:<Mask>
z.B.: BQ1=0x307000:0xF0FF00 mit:
–
<Wert>: Wert, den die relevanten Bits haben müssen.
–
<Mask>: Festlegung der relevanten Bits.
Werte und Masken werden interpretiert:
–
als Hexadezimalzahl, wenn sie mit "0x" oder "0X" beginnen,
–
als Oktalzahl, wenn sie mit "0" beginnen
–
ansonsten als Dezimalzahl.
Innerhalb von <Wert> werden vorlaufende und nachlaufende Leerzeichen
nicht ausgewertet. Soll ein String vorgegeben werden, in dem diese Leer‐
zeichen von Bedeutung sind, muss der TeilString in Hochkommata ein‐
gefasst werden (z.B.: SKQ=' ').
Um in einem mit Hochkommata eingefassten TeilString ein Hochkomma
zu verwenden, muss diesem das Zeichen "\" vorangestellt werden (z.B.:
SKQ='Achim\'s')
●
Es dürfen nur die vordefinierten Tag-Namen verwendet werden.
●
Es sind nur Abfragen auf Gleichheit möglich.
K1=1
IKQ2=3
BQ2=0x1:0x1
Es sind alle Datensätze zu finden, die einem Suchkriterium entsprechen. Dazu
muss die Suche so oft wiederholt werden, bis die Anzahl der gefundenen Da‐
tensätze kleiner als die maximale Anzahl der gesuchten Datensätze ist. Bei
jeder erneuten Suche müssen die Startschlüssel auf den Schlüssel des zuletzt
gefundenen Datensatzes eingestellt werden.
Programm:
10 Key1%=-1
10 Key2%=-1
30 ARRSIZE%=10
31 REPEAT
33
FOUND% = DBSEAX("DBT1",KEY1%,KEY2%,"K1>0",SD.HdArr[1],
ARRSIZE%,ERRNO)
35
IF ERRNO=0 THEN
37
IF FOUND%>=1 THEN
59
FOR I%= 1 TO FOUND%
43
PRN#(0,Sektor: ",SD.HdArr[I%].K1,", Platz: ",
SD.HdArr[I%].K2)
46
NEXT I%
49
KEY1%= SD.HdArr[FOUND%].K1
51
KEY2%= SD.HdArr[FOUND%].K2
53
ENDIF
55
ELSE
57
PRN'(0,"Zugriffsfehler auf Wzg-Datenbank!")
61
ENDIF
63 UNTIL (FOUND%<ARRSIZE%) OR (ERRNO<>0)
Es wird folgendes Systemdatum benötigt:
Bosch Rexroth AG
447/665
CPL-Funktionen