El disparador de Introducir valor de la variable ejecuta la operación cuando se introduce una valor en la variable seleccionada de la unidad de visualización.
Este disparador se activa aun cuando el valor de entrada es el mismo que el valor actual.
onVariableInput(VARIABLE, ()=>{
1
});
1: Variable
Cuando el valor se introduce en la variable externa, no desde la unidad de visualización, sino directamente desde la dirección del dispositivo externo, el disparador no se ejecuta.
Cuando el estado de calidad de la variable externa es distinto de bueno, el disparador no se ejecuta, incluso si el valor se introduce en la variable externa. Puede controlar el estado de la calidad de la variable desde la propiedad de origen (<Nombre de la variable>.Calidad).
Variables
(Ejemplo)
onVariableInput(DINT1, ()=>{
DINT2 += 20;
});
También puede utilizar el disparador [Cambio de valor] que tiene funciones similares al disparador [Introducir valor de la variable]. Si el disparador [Introducir valor de la variable] no cumple sus necesidades, considere la posibilidad de utilizar el disparador [Cambio de valor].
A continuación se describen las diferencias entre ambos disparadores.
[Introducir valor de la variable] | [Cambio de valor] | |
Objetivo del disparador | Sólo variables | Variables y propiedades de origen |
Cuando el valor se introduce en la variable externa desde la dirección del dispositivo directamente: | El disparador no se ejecuta. | El disparador se ejecuta. |
Cuando se introduce el mismo valor que el actual: | El disparador se ejecuta. | El disparador no se ejecuta. |
Cuando utiliza la misma variable externa, distinta al controlador del dispositivo esclavo se asigna al disparador [Introducir valor de la variable] y al bloque conectado, no se puede referir el valor de entrada sino el valor actual desde el bloque conectado.
onVariableInput(Var1, ()=>{
$GraphicObject.NumericDisplay2.CurrentValue = Var1;
});
Tipo de variable | Controlador | Uso de la operación de tipo asincrónico *2 | Valor de la variable referida del bloque conectado |
Variable interna | - | Sí | Valor de entrada |
No | Valor de entrada | ||
Variable externa | Controladores de dispositivos esclavos *1 | Sí | Valor de entrada |
No | Valor de entrada | ||
Otros controladores de dispositivos que no son esclavos | Sí | Valor de entrada | |
No | Valor actual (antes de introducir el valor) |
*1 Los controladores de dispositivos esclavos incluyen:
*2 En el caso de insertar una operación de tipo asincrónico entre el disparador [Introducir valor de la variable] y la operación de destino.
onVariableInput(Var1, ()=>{
exportAlarmData(false, false, $Enums.AlarmMode.Log);
$GraphicObject.NumericDisplay2.CurrentValue = Var1;
});
Para más detalles sobre el funcionamiento de tipo asincrónico, consulte lo siguiente.
Bloque Operation
Si se encuentra en el punto de la parte inferior de la tabla, considere si puede utilizar el disparador [Cambio de valor] en lugar del disparador [Introducir valor de la variable].
Para más detalles sobre las diferencias entre el disparador de [Cambio de valor] y el disparador [Introducir valor de la variable] y [Cambio de valor], consulte "Diferencias entre el disparador de [Cambio de valor] y el disparador [Introducir valor de la variable] y [Cambio de valor]" en este tema.
Para más detalles sobre el disparador de [Cambio de valor], consulte lo siguiente.
Cambio de valor