SET/RST

Salida a set o a reset

  • SET: Cuando se cumple la condición de ejecución, la salida pasa a TRUE, y se mantiene el estado.

  • RST: Cuando se cumple la condición de ejecución, la salida pasa a FALSE, y se mantiene el estado.

Observaciones

  • Con las instrucciones SET y RST se puede utilizar la misma salida o relé interno tantas veces como se quiera. (Incluso si se ejecuta una revisión completa, no se considera como un error de sintaxis.)

  • Cuando se utilizan las instrucciones SET y RST, la salida cambia con cada paso durante la ejecución.

  • Para enviar a la salida un resultado durante la ejecución, utilizar las instrucciones de refresco parcial de E/S (F143_IORF).

  • La salida de una instrucción SET mantiene su estado incluso durante la ejecución de una instrucción MC.

  • La salida de una instrucción SET se resetea cuando se pasa de modo RUN a modo PROG. o cuando se quita la alimentación del sistema, excepto si el relé se encuentra dentro del área de retención.

  • Para asegurar que las instrucciones SET y RST solo se ejecutan en el flanco de subida, insertar delante de estas una instrucción DF (o especificar un flanco de subida en LD).

Relés

  • Los relés pueden pasar a FALSE utilizando la instrucción RST.

  • Si se utilizan varios relés con las instrucciones SET y RSTno genera una salida doble.

  • En las salida de las instrucciones SET o RST no se puede especificar un relé de pulso (P).

Ejemplo

Cabecera de la POU

Puesto que se utiliza direccionamiento directo FP, no es necesario declarar variables en la cabecera de la POU.

Cuerpo LD

En diagrama de contactos, especificar un flanco de subida en contacto y un SET o RESET en la salida:

BODY
    WORKSPACE
        NETWORK_LIST_TYPE := NWTYPELD ;
        ACTIVE_NETWORK := 0 ;
    END_WORKSPACE
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 3 ;
        NETWORK_BODY
B(B_CONTACT,,X0,4,1,6,3,R);
B(B_COIL,,Y0,10,1,12,3,S);
L(6,2,10,2);
L(1,0,1,3);
L(1,2,4,2);
        END_NETWORK_BODY
    END_NET_WORK
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 3 ;
        NETWORK_BODY
B(B_CONTACT,,X1,4,1,6,3,R);
B(B_COIL,,Y1,10,1,12,3,E);
L(1,2,4,2);
L(1,0,1,3);
L(6,2,10,2);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

Cuerpo en ST

(*TRUE and FALSE are assigned to Y0*)
IF DF(X0) THEN
    Y0:= TRUE;
END_IF;
IF DF(X1) THEN
    Y0:= FALSE;
END_IF;

Cuerpo IL

En lista de instrucciones, se utiliza S y R para SET y RESET respectivamente:

Modificado el: 2023-08-07Comentarios sobre esta páginaLínea directa de Panasonic