F383_Positioning_StartMultiple

Inicio simultáneo de varias tablas de posicionamiento

Esta instrucción inicia varias tablas de posicionamiento simultáneamente. Los números de las tablas de posicionamiento se especifican mediante s1_dutMultipleChannels. Cada tabla de posicionamiento controla un único eje, según lo especificado en Configurator PMX. Pueden iniciarse las tablas del control de punto E, control de punto P y control de punto C.

Parámetros

Entrada

s1_dutMultipleChannels (F383_MultipleChannels_DUT)

El área de inicio del registro de datos que almacena los números de tabla de datos que se iniciará simultáneamente

Observaciones

  • Si un operando es un valor fuera de rango, se produce un error de operación.

  • La operación de parada tiene prioridad cuando se cumplen las condiciones de parada del sistema, parada de emergencia, parada por límite y parada de desaceleración.

  • Se produce un error de operación cuando el registro de sistema de un canal especificado es distinto de Salida de pulsos [Tabla de operaciones].

  • Los canales especificados se ejecutan simultáneamente solo cuando todos ellos pueden iniciarse. Cuando el estado de alguno de los canales especificados es "busy" (ocupado), las tablas de posicionamiento no se inician simultáneamente y el proceso finaliza. Usar FP_POS_UNIT_GET_STATUS para conocer el estado de cada canal.

  • Usar F380_Positioning_Start para iniciar la interpolación lineal. Cuando se ha especificado la tabla del control del eje de interpolación con F383_Positioning_StartMultiple, se produce un error de autodiagnóstico (error de operación de posicionamiento).

  • s1_dutMultipleChannels iniciará el número de tabla de posicionamiento especificado de cada canal.

  • Solo se pueden especificar tablas de posicionamiento que realicen el control de un único eje.

  • El rango válido de números de tabla de posicionamiento es entre 0 y 20. Si se especifica 0 como número de tabla de posicionamiento, el canal quedará excluido del inicio simultáneo.

Banderas de error

sys_bIsOperationErrorHold (pasa a TRUE y permanece TRUE)
  • si el área especificada utilizando el modificador índice supera el límite.

  • si el número de canal o de tabla de posicionamiento está fuera del rango permitido.

  • si Salida de pulsos [Tabla de operaciones] no se ha activado en el registro del sistema.

sys_bIsOperationErrorNonHold (pasa a TRUE para un ciclo de scan)
  • si el área especificada utilizando el modificador índice supera el límite.

  • si el número de canal o de tabla de posicionamiento está fuera del rango permitido.

  • si Salida de pulsos [Tabla de operaciones] no se ha activado en el registro del sistema.

Ejemplo

Cabecera de la POU

Todas las variables de entrada y de salida utilizadas para la programación de esta función han sido declaradas en la Cabecera de la POU. Se utiliza la misma cabecera de la POU para todos los lenguajes de programación.

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

Cuerpo de la POU

Cuando la variable bStartMultiple pasa de FALSE a TRUE, se ejecuta la función.

Cuerpo LD

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

Cuerpo en ST

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

Modificado el: 2024-06-03Comentarios sobre esta páginaLínea directa de Panasonic