Modificar el código de control de la salida de pulsos

Para acceder al registro especial de datos que almacena el código de control del contador de alta velocidad y la salida de pulsos utilizar la variable del sistema sys_wHscOrPulseControlCode. (La variable del sistema sys_wHscOrPulseControlCode se corresponde con el registro especial de datos DT90052.)

Operaciones que se realizan por medio del código de control de la salida de pulsos:

La configuración del código de control de cada canal se puede monitorizar utilizando las variables del sistema sys_wHscChannelxControlCode o sys_wPulseChannelxControlCode (donde x= número del canal). La configuración de esta variable del sistema no se modifica hasta que se ejecute otra operación de configuración.
NOTA
  • Forzar una parada puede producir un valor actual diferente para el lado del PLC del valor en la entrada del motor. Por lo tanto, se debe realizar una vuelta al origen después de detener la salida de pulsos.
  • No es posible establecer la entrada de vuelta al origen si el contaje está inhabilitado o si se ha realizado un reset por software.

Activar/desactivar la entrada de proximidad al origen

Para decelerar el movimiento cerca de la posición de origen, seleccionar una entrada de proximidad al origen y cambiar el bit 4 del registro de datos especial que almacena el código de control (sys_wHscOrPulseControlCode) a TRUE y de nuevo a FALSE. El bit de proximidad al origen es de retención. Poner este bit a FALSE justo después de ponerlo a TRUE para poder activar la entrada de proximidad al origen durante la vuelta al origen.

  1.  (1) Velocidad inicial y final
  2.  (2) Velocidad máxima
  3.  (3) Entrada de proximidad al origen: TRUE
  4.  (4) Entrada de vuelta al origen: TRUE
  5.  (5) La entrada de vuelta al origen es efectiva en cualquier momento.

Continuar/detener la salida de pulsos (parada forzada)

Poniendo a 3 el bit sys_wHscOrPulseControlCode del registro de datos que almacena el código de control (TRUE) se detendrá la salida de pulsos. Debería existir la posibilidad de forzar una parada en cualquier programa que utilice instrucciones de salida de pulsos. Poner el bit 3 a FALSE para continuar con la salida de pulsos.

Habilitar/deshabilitar las operaciones de contaje

Y*

Salida de pulsos

1)

Valor actual

2)

1

Cuando el bit 1 del código de control se pone a TRUE, se inhabilita el contaje y el valor actual mantiene su valor. El contaje continúa cuando el bit 1 se pone a FALSE.

Resetear el valor actual del contador de alta velocidad (reset por software)

Y*

Salida de pulsos

1)

Valor actual

2)

Bit 0 del código de control de la salida de pulsos (reset por software)

Cuando se pone a TRUE el bit 0 del código de control del contador de alta velocidad, se realiza un reset por software y el valor actual se pone a 0. El valor actual se mantiene a 0 hasta que el bit 0 se pone a FALSE.

Cancelar las instrucciones del contador de alta velocidad y de control de posicionamiento (solamente para el FP0R)

Para cancelar la ejecución de una instrucción de salida de pulsos, poner el bit 2 del registro de datos que almacena el código de control (sys_wHscOrPulseControlCode) a TRUE. La bandera de control de la salida de pulsos pasará a FALSE. Para habilitar la ejecución de esta instrucción, poner el bit 2 a FALSE.

Descripción para el FP-Sigma

Los bits del 0–15 del código de control se distribuyen en grupos de cuatro. El valor del bit en cada grupo, se representada por un número hexadecimal (por ejemplo 00020000 0000 1001 = 16#2009).

Grupo IV

1)

Número de canal (canal n: 16#n)

Grupo III

0 (fijo)

Grupo II

2)

Entrada de proximidad al origen (bit 4)

0: FALSE

1: TRUE

Grupo I

3)

Salida de pulsos (bit 3)

0: continuar

1: detener

4)

0 (bit 2, fijo)

5)

Contaje (bit 1)

0: permitir

1: prohibir

6)

Resetear el valor actual. Poner a 0 (bit 0)

0: no

1: si

Ejemplo: 16#2009

Grupo

Valor

Descripción

IV

2

Número de canal: 2

III

0

(fijo)

II

0

Entrada de proximidad al origen: FALSE

I

9

9 Hex corresponde a 1001 binario

Salida de pulsos: stop (bit 3)

1

(bit 2, fijo)

0

Contaje: permitir (bit 1)

0

Resetear el valor actual. Poner a 0: si (bit 0)

1

Descripción para el FP-X

Grupo IV

1)

Número de canal (canal n: 16#n)

Grupo III

2)

1 (fijo)

Grupo II

3)

Entrada de proximidad al origen (bit 4) (ver nota)

0: FALSE

1: TRUE

Grupo I

4)

Salida de pulsos (bit 3)

0: continuar

1: detener

5)

Contaje (bit 1)

0: permitir

1: prohibir

6)

Resetear el valor actual. Poner a 0 (bit 0)

0: no

1: si

Ejemplo: 16#2109

Grupo

Valor

Descripción

IV

2

Número de canal: 2

III

1

(fijo)

II

0

Entrada de proximidad al origen: FALSE

I

9

9 Hex corresponde a 1001 binario

Salida de pulsos: stop (bit 3)

1

(Bit 2, fijo)

0

Contaje: permitir (bit 1)

0

Resetear el valor actual. Poner a 0: si (bit 0)

1

Descripción para el FP0R

Los bits del 0–15 del código de control se distribuyen en grupos de cuatro. El valor del bit en cada grupo, se representada por un número hexadecimal (por ejemplo 00020001 0000 1001 = 16#2109).

Grupo IV

1)

Número de canal (canal n: 16#n)

Grupo III

1 (fijo)

Grupo II

2)

Petición de inicio del control de posición

0: deshabilitada

1: habilitado

3)

Petición de parada decelerada

0: deshabilitada

1: habilitado

4)

Entrada de proximidad al origen (bit 4) (ver nota)

0: FALSE

1: TRUE

Grupo I

5)

Salida de pulsos (bit 3)

0: continuar

1: detener

6)

Cancelar el control de la salida de pulsos (bit 2)

0: continuar

1: detener

7)

Contaje (bit 1)

0: permitir

1: prohibir

8)

Resetear el valor actual. Poner a 0 (bit 0)

0: no

1: si

Ejemplo: 16#2109

Grupo

Valor

Descripción

IV

2

Número de canal: 2

III

1

(fijo)

II

0

Inicio del control de posición: deshabilitado

Parada decelerada:deshabilitada

Entrada de proximidad al origen: FALSE

I

9

9 Hex corresponde a 1001 binario

Salida de pulsos: stop (bit 3)

1

Cancelar el control de la salida de pulsos (bit 2)

0

Contaje: permitir (bit 1)

0

Resetear el valor actual. Poner a 0: si (bit 0)

1

Descripción para el FP0, FP-e

Los bits del 0 al 15 del código de control se distribuyen en grupos de cuatro, cada grupo contiene la configuración de un canal. El valor del bit en cada grupo, se representada por un número hexadecimal (por ejemplo 0000 0000 1001 0000 = 16#90).

Grupo

II

I

Canal

1

0

  1.  (1) Salida de pulsos (bit 3)

    0: continuar

    1: detener

  2.  (2) Entrada de proximidad al origen (bit 2) (ver nota)

    0: FALSE

    1: TRUE

  3.  (3) Contaje (bit 1)

    0: permitir

    1: prohibir

  4.  (4) Resetear el valor actual. Poner a 0 (bit 0)

    0: no

    1: si

Ejemplo: 16#90

Grupo

Valor

Descripción

II

9

Número de canal: 1

9 Hex corresponde a 1001 binario

Salida de pulsos: stop (bit 3)

1

Entrada de proximidad al origen: FALSE (bit 2)

0

Contaje: permitir (bit 1)

0

Resetear el valor actual. Poner a 0: si (bit 0)

1

I

0

Ejemplo: habilita la entrada de proximidad al origen para el canal 2 (FP-SIGMA)

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
	 bEnableNearHome: BOOL:=FALSE;
	END_VAR
	VAR CONSTANT
		PLS_CH2_ENABLE_NEAR_HOME: WORD:=16#2010;
			(*Enables near home input for channel 2*)
		PLS_CH2_CONTINUE: WORD:=16#2000;
			(*Disables near home input for channel 2
and starts deceleration*)
	END_VAR

Cuerpo LD

La entrada de proximidad al origen se habilita para el canal 2 durante las operaciones de vuelta al origen.

BODY
    WORKSPACE
        NETWORK_LIST_TYPE := NWTYPELD ;
        ACTIVE_NETWORK := 0 ;
    END_WORKSPACE
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 8 ;
        NETWORK_BODY
B(B_VARIN,,PLS_CH2_ENABLE_NEAR_HOME,20,2,22,4,);
B(B_VARIN,,PLS_CH2_CONTINUE,20,6,22,8,);
B(B_F,E_MOVE!,Instance,22,0,28,4,,?DEN?D?AENO?C);
B(B_VAROUT,,sys_wHscOrPulseControlCode,28,2,30,4,);
B(B_F,E_MOVE!,Instance,22,4,28,8,,?DEN?D?AENO?C);
B(B_VAROUT,,sys_wHscOrPulseControlCode,28,6,30,8,);
B(B_CONTACT,,bEnableNearHome,4,1,6,3,R);
L(7,2,7,6);
L(1,2,4,2);
L(6,2,22,2);
L(7,6,22,6);
L(1,0,1,8);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

Cuerpo en ST

if DF(bEnableNearHome) then
    PLS_CH2_ENABLE_NEAR_HOME:=sys_wHscOrPulseControlCode;
    PLS_CH2_CONTINUE:=sys_wHscOrPulseControlCode;
end_if;

Ejemplo: forzar una parada para el canal 0 (FP0, FP-e, FP-SIGMA)

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.

Cuerpo LD

Se fuerza una parada de la salida de pulsos para el canal 0.

Cuerpo en ST

if DF(bStopPulseOutput) then
    PLS_CH2_STOP_PULSE_OUTPUT:=sys_wHscOrPulseControlCode;
    PLS_CH2_CONTINUE:=sys_wHscOrPulseControlCode;
end_if;
NOTA

Forzar una parada puede producir un valor actual diferente para el lado del PLC del valor en la entrada del motor. Por lo tanto, se debe realizar una vuelta al origen después de detener la salida de pulsos.

Modificado el: 2021-07-15Comentarios sobre esta páginaPanasonic hotline