F383_Positioning_StartMultiple

Gleichzeitiger Start mehrerer Verfahrsätze

Dieser Befehl startet mehrere Verfahrsätze gleichzeitig. Die Nummern der Verfahrsätze werden durch s1_dutMultipleChannels festgelegt. Jeder Verfahrsatz steuert eine einzelne Achse, wie mit Configurator PMX festgelegt. Es können die Verfahrsätze der Endpunkt-Positionierung, Passierpunkt-Positionierung und fortlaufenden Positionierung gestartet werden.

Parameter

Eingang

s1_dutMultipleChannels (F383_MultipleChannels_DUT)

Die Anfangsadresse des Datenregisters, in der die Verfahrsatznummern gespeichert sind, die gleichzeitig gestartet werden sollen

Anmerkungen

  • Wenn der Wert eines Operanden außerhalb des zulässigen Bereichs liegt, tritt ein Operationsfehler auf.

  • Die Stopp-Operation hat Priorität, wenn die Bedingungen für Systemhalt, Not-Halt, Halt durch Endschalter und gebremster Halt erfüllt sind.

  • Es tritt ein Operationsfehler auf, wenn das Systemregister eines angegebenen Kanals nicht Pulsausgang [Verfahrsatz] lautet.

  • Nur wenn alle angegebenen Kanäle gestartet werden können, werden sie gleichzeitig ausgeführt. Wenn der Status eines der angegebenen Kanäle „busy“ ist, werden die Verfahrsätze nicht gleichzeitig gestartet und der Vorgang wird abgebrochen. Mit FP_POS_UNIT_GET_STATUS erfahren Sie den Status jedes einzelnen Kanals.

  • Mit F380_Positioning_Start starten Sie die Linearinterpolation. Wenn der Verfahrsatz der Achsen-Interpolationssteuerung mit F383_Positioning_StartMultiple festgelegt wurde, tritt ein Selbstdiagnose-Fehler (Positioniervorgangsfehler) auf.

  • s1_dutMultipleChannels startet die angegebene Verfahrsatznummer jedes Kanals.

  • Sie können nur Verfahrsätze angeben, die eine Einachsensteuerung durchführen.

  • Der gültige Bereich für Verfahrsatznummern ist 0-20. Wird als Verfahrsatznummer 0 angegeben, ist der Kanal vom gleichzeitigen Start ausgeschlossen.

Fehleralarmmerker

sys_bIsOperationErrorHold (wird auf TRUE gesetzt und bleibt TRUE)
  • wenn der mit dem Index-Modifizierer definierte Bereich größer ist als der zulässige Bereich

  • wenn der Kanal oder die Verfahrsatznummer außerhalb des zulässigen Bereichs ist.

  • wenn Pulsausgang [Verfahrsatz] nicht im Systemregister gesetzt wurde

sys_bIsOperationErrorNonHold (wird für einen Zyklus auf TRUE gesetzt)
  • wenn der mit dem Index-Modifizierer definierte Bereich größer ist als der zulässige Bereich

  • wenn der Kanal oder die Verfahrsatznummer außerhalb des zulässigen Bereichs ist.

  • wenn Pulsausgang [Verfahrsatz] nicht im Systemregister gesetzt wurde

Beispiel

POE-Kopf

Im POE-Kopf werden alle Ein- und Ausgangsvariablen deklariert, die für die Programmierung dieser Funktion verwendet werden. Für alle Programmiersprachen wird der gleiche POE-Kopf verwendet.

	VAR
		bStartMultiple: BOOL:=FALSE;
		dutChannels: F383_MultipleChannels_DUT;
	END_VAR

POE-Rumpf

Wenn die Variable bStartMultiple von FALSE auf TRUE gesetzt wird, wird die Funktion ausgeführt.

KOP-Rumpf

BODY
    WORKSPACE
        NETWORK_LIST_TYPE := NWTYPELD ;
        ACTIVE_NETWORK := 0 ;
    END_WORKSPACE
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 5 ;
        NETWORK_BODY
B(B_F,F383_Positioning_StartMultiple!,,11,1,25,5,,?DEN?Ds1_dutMultipleChannels?AENO);
B(B_CONTACT,,bStartMultiple,4,2,6,4,);
B(B_VARIN,,dutChannels,9,3,11,5,);
L(1,3,4,3);
L(1,0,1,5);
L(6,3,11,3);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

ST-Rumpf

IF (bStartMultiple) then
    F383_Positioning_StartMultiple(s1_dutMultipleChannels := dutChannels);
END_IF;

Letzte Änderung: 2024-06-03Feedback zu dieser SeitePanasonic Hotline