

MODPOS =4 就是不论电机在哪都去执行回参考点这个动作.
modpos =5 就是写编码器,位置为0,不去控制电机移动
理解的对吗?
ELSIF #siModePos = 4 AND #sbModePos THEN
// Antrieb einschalten
//#sxSendBuf.sxSTW1.Off1 := #sbOff1;
#sxSendBuf.STW1.%X0 := #sbOff1;
// nicht verwendete Signale für den 1. Schritt und eventuell weitere Schritte
(*#sxSendBuf.sxSTW1.Jog1 := False;
#sxSendBuf.sxSTW1.Jog2 := False;
#sxSendBuf.sxEPosSTW1.MdiStart := False;
#sxSendBuf.sxEPosSTW2.SetRefPt := False;
#sxSendBuf.sxEPosSTW2.JogInc := False;
#sxSendBuf.sxEPosSTW2.RefTyp := False;
#sxSendBuf.sxSTW1.RefStart := False;
#sxSendBuf.sxEPosSTW2.RefStDi := False;*)
#sxSendBuf.STW1.%X8 := False;
#sxSendBuf.STW1.%X9 := False;
#sxSendBuf.EPosSTW1.%X15 := False;
#sxSendBuf.EPosSTW2.%X1 := False;
#sxSendBuf.EPosSTW2.%X5 := False;
#sxSendBuf.EPosSTW2.%X8 := False;
#sxSendBuf.STW1.%X11 := False;
#sxSendBuf.EPosSTW2.%X9 := False;
// Nach dem Einschalten des Antriebes, prüfen ob der Antrieb betriebsbereit, in Operation ohne Fehler und Warnung ist,
// dann die Betriebsart MDI / Sollwertvorgabe Start gesetzt werden
IF #sbOff1 AND #sbReady AND #sbIOp AND NOT #sbFault THEN
// Referenzieren starten
//#sxSendBuf.sxSTW1.RefStart := #Execute;
#sxSendBuf.STW1.%X11 := #ExecuteMode;
// die Richtungswahl für das Referenzpunktfahrt positiv einstellen
IF #Positive AND NOT #Negative THEN
// positive Referenzpunktfahrt
//#sxSendBuf.sxEPosSTW2.RefStDi := False;
#sxSendBuf.EPosSTW2.%X9 := False;
// die Richtungswahl für das Referenzpunktfahrt negativ einstellen
ELSIF NOT #Positive AND #Negative THEN
// negative Referenzpunktfahrt
//#sxSendBuf.sxEPosSTW2.RefStDi := True;
#sxSendBuf.EPosSTW2.%X9 := True;
END_IF;
END_IF;
// Betriebsart "Referenzieren - Referenzpunkt setzen"
ELSIF #siModePos = 5 AND #sbModePos THEN
// Antrieb einschalten
//#sxSendBuf.sxSTW1.Off1 := #sbOff1;
#sxSendBuf.STW1.%X0 := #sbOff1;
// nicht verwendete Signale für den 1. Schritt und eventuell weitere Schritte
(*#sxSendBuf.sxSTW1.Jog1 := False;
#sxSendBuf.sxSTW1.Jog2 := False;
#sxSendBuf.sxSTW1.RefStart := False;
#sxSendBuf.sxEPosSTW1.MdiStart := False;
#sxSendBuf.sxEPosSTW2.JogInc := False;
#sxSendBuf.sxEPosSTW2.RefTyp := False;
#sxSendBuf.sxEPosSTW2.RefStDi := False;
#sxSendBuf.sxEPosSTW2.SetRefPt := False;*)
#sxSendBuf.STW1.%X8 := False;
#sxSendBuf.STW1.%X9 := False;
#sxSendBuf.STW1.%X11 := False;
#sxSendBuf.EPosSTW1.%X15 := False;
#sxSendBuf.EPosSTW2.%X5 := False;
#sxSendBuf.EPosSTW2.%X8 := False;
#sxSendBuf.EPosSTW2.%X9 := False;
#sxSendBuf.EPosSTW2.%X1 := False;
// Nach dem Einschalten des Antriebes, prüfen ob der Antrieb betriebsbereit, in Operation ohne Fehler und Warnung ist,
// dann die Betriebsart MDI / Sollwertvorgabe Start gesetzt werden
IF NOT #sbFault THEN
// Referenzpunktfahrt negativ
//#sxSendBuf.sxEPosSTW2.SetRefPt := #Execute;
#sxSendBuf.EPosSTW2.%X1 := #ExecuteMode;
END_IF;