Herunterladen Inhalt Inhalt Diese Seite drucken

Sachs Irinos IR Originalbetriebsanleitung Seite 162

Inhaltsverzeichnis

Werbung

Messung / Steuerung via MscDll
Inkrementalgeber einer Referenzmarke hat, dann ergibt sich damit
eine sehr elegante Lösung:
a) Vor Beginn der Messung wird die Inkrementalgeber-Position auf
einen Wert gesetzt, der vor dem Start der Messung liegt. Im
Beispiel also < 0, z.B. -100.000. Gleichzeitig wird die
Referenzmarke aktiviert.
b) Die Messung wird gestartet. Der Antrieb beginnt zu drehen.
c) Mit Erreichen der Referenzmarke wird die Inkrementalgeber-
Position auf 0 gesetzt. Die dynamische Messung nimmt ab jetzt
die Messwerte auf.
An obigem Beispiel-Code müsste dazu vor dem Aktivieren des
Triggers folgender Code ausgeführt werden:
// Inkrementalgeber-Position setzen und Referenzmarke
aktivieren
ansiString = "#T12;-100000;REFON#";
WriteCommandStr(opcSP, ansiString);
if (ansiString != "#0#") return -8;
Fehlers
Für manche Applikationen hat diese Lösung den Nachteil, dass die
Position nach erneutem Überschreiten der Referenzmarke, also im
Beispiel nach 3600 Inkrementen, wieder auf 0 gesetzt wird. Wenn
dies nicht gewünscht ist, so kann während der dynamischen
Messung die Referenzmarke wieder deaktiviert werden, ohne die
Inkrementalgeber-Position zu verändern. Dazu wird in die do-while –
Schleife wie folgt abgeändert:
// Ende der dynamischen Messung abwarten
merkerEinmalig = true;
do {
result = MSC_GetPosition(pDevice, opcRDM1, &nMesswerte);
if (result != MSC_STATUS_SUCCESS) return -7;
if ((merkerEinmalig == true) && (statischerMesswertT12 > 0))
{
merkerEinmalig = false;
ansiString = "#T12;*;REFOFF#";
WriteCommandStr(opcSP, ansiString);
if (ansiString != "#0#") return -9;
eines Fehlers
}
Sleep(50);
} while (nMesswerte < 720);
Irinos IR Original-Betriebsanleitung
// 50 ms Pause als Beispiel
// Abbruch aufgrund eines
// Abbruch aufgrund
162
© 2015 - 2016 Messtechnik Sachs GmbH

Werbung

Inhaltsverzeichnis
loading

Inhaltsverzeichnis