MCO 305 Befehlsreferenz
ENCTGREAD
Kurzinfo
Syntax
Parameter
Rückgabewerte
Beschreibung
Befehlsgruppe
Querverweise
Programmbeispiel
__ Befehlsreferenz __
Liest ein RS485 Telegramm vom Encoder.
erg = ENCTGREAD array
array = Benutzer-Array, in das die erhaltene Datenmenge geschrieben werden soll.
OK
x (>0) TG mit x Byte Anwenderdaten angekommen
ACTIVE
0
Die Übertragung läuft noch.
TIMEOUT
-1
Keine Antwort innerhalb von 300 ms erhalten.
BADFRAME
-2
Der erhaltene Frame ist nicht gültig.
OVERFLOW
-4
Mehr Bytes erhalten, als der Empfangspuffer aufnehmen
kann.
Nachdem ein Telegramm mit ENCTGWRITE gesendet wurde, kann die Antwort mit
diesem Befehl gepollt werden. Der Rückgabewert wird ausgegeben, entweder wenn
er schon angekommen ist oder wenn ein Timeout aufgetreten ist.
Wird der Hiperface-Encoder als Master-Signal statt eines Slave-Signals benutzt,
verwenden Sie den Befehl MENCTGREAD (siehe Parameter 32-50).
SYS
MENCTGREAD, ENCTGWRITE
// Programmbeispiel zum Empfangen der absoluten Position
DIM sendbuffer[20]
#define HIPER_READ_POS 0x42
SET ENCODERTYPE 0
SET ENCODERABSTYPE 1
SET ENCODEABSRES 4096
DELAY 1000
pos = 0
WHILE(1) DO
sendbuffer[1] = HIPER_READ_POS
retval = ENCTGWRITE 1 sendbuffer
DELAY 1000
retval = ENCTGREAD sendbuffer
// prüfen, ob die korrekte Anzahl von Bytes erhalten wurde
IF(retval == 7) then // 0x40 0x42 pos0 pos1 pos2 pos3 crc
pos.b4 = sendbuffer[3]
pos.b3 = sendbuffer[4]
pos.b2 = sendbuffer[5]
pos.b1 = sendbuffer[6]
PRINT "Pos = ", pos
ELSE
PRINT "-------- Übertragungsfehler ------------: ", retval
PRINT "1: ", sendbuffer[1]
PRINT "2: ", sendbuffer[2]
PRINT "3: ", sendbuffer[3]
PRINT "4: ", sendbuffer[4]
EXIT
ENDIF
DELAY 500
ENDWHILE
®
MG.34.R1.03 – VLT
ist ein eingetragenes Warenzeichen von Danfoss.
// kein inkrementaler Encoder angeschlossen
// Hiperface Encoder
// Hiperface Auflösung
// Telegramm senden
// Antwort erhalten
37