MCO 305 Befehlsreferenz
MIPOSDIFF
Kurzinfo
Syntax
Parameter
Rückgabewert
Beschreibung
Portabilität
Befehlsgruppe
Querverweise
Syntax-Beispiel
__ Befehlsreferenz __
SUBPROG master_int
int_mpos = MAPOS
// MAPOS zwischenspeichern um zu testen, wie genau dies wäre ...
DELAY 2
triggered_mpos = MIPOS
// IPOS für spätere Bearbeitung etc. zwischenspeichern.
// ....
// ...
PRINT "Interrupt Master-Position: ",int_mpos
PRINT "Master-Position erreicht: ",triggered_mpos
RETURN
ENDPROG
Overflow-Handling von Inkrementalgebern in Anwendungen.
erg = MIPOSDIFF oldpos
oldpos = MIPOS zu einem früheren Zeitpunkt
Liefert die Differenz zwischen MIPOS und oldpos (erg = MIPOS – oldpos) in BE.
Dieser Befehl vereinfacht die Behandlung des Überlaufs von Inkrementalgebern in
Anwendungen. Wenn zum Beispiel der Anwender eine aktuelle Position in seinem
Programm speichert und später die Differenz berechnen will, muss er normalerweise
den Überlauf der Position berücksichtigen. Statt dessen kann dieser Befehl benutzt
werden; siehe unten.
Intern prüft diese Routine, ob die Differenz größer als POS_LIMIT (0x3FFFFFFF) ist.
Falls dies der Fall ist, wird angenommen, dass ein Überlauf stattfand und korrekt
behandelt.
ACHTUNG!
Dies löst aber nicht das Problem des Überlaufs, wenn in der Anwendung
Benutzereinheit BE verwendet werden.
Der Befehl ist ab MCO 5.00 verfügbar.
SYS
MIPOS
oldpos = MIPOS
..
diff = MIPOSDIFF oldpos
// liefert die Differenz zwischen MIPOS und oldpos in BE
// Behandlung eines Overflows falls notwendig (diff = MIPOS – oldpos)
®
MG.34.R1.03 – VLT
ist ein eingetragenes Warenzeichen von Danfoss.
// 2 ms warten, damit MIPOS sicher aktualisiert ist
65