Programación de respuesta rápida
Variable_input
Clave de usuario: matriz [1..BOOL USER_NUM] (*clave de usuario*)
botón de reinicio:BOOL (* RESET KEY*)
Fin de variable
VAR_OUTPUT
UserKeyLamp: ARRAY [USER_NUM of 1..BOOL] ;(*la luz indica que se ha asignado una clave de usuario presionado*)
Fin de variable
Empresa de reventa de valor añadido
idx:DINT;
rt rig _ Reset: R _ TRIG ;
RTrig_UserKey: ARRAY [USER_NUM de 1..R_TRIG];
Botón presionado: BOOL
Fin de variable
Constante VAR
USUARIO _ NUM:DINT:= 10;
Fin de variable
rt rig _ Reset(CLK := Botón Restablecer);
rt rig _ tecla de usuario[Idx](CLK:= tecla de usuario presionada[Idx]);
IF (RTrig_Reset. Q = true)
p>Entonces
botón presionado:= FALSE;
MemSet(ADR(UserKeyLamp), 0, TAMAÑO DE (lámpara de tecla de usuario));
END_IF
IF (BotónPresionado = FALSO)
Entonces
Para Idx:= 1 al número de usuario
Orden de Defensa (Orden de Defensa)
IF (RTrig_UserKey[ idx]). Q = verdadero)
Luego
botón presionado:= TRUE;
lámpara de tecla de usuario[Idx]:= TRUE;
END_IF
End_for
END_IF