Agregar modo de lectura a ucAnalogTag, permitiendo la lectura condicional del valor. Se implementa la propiedad Read_Mode y se ajusta la lógica de actualización para utilizarla.
This commit is contained in:
parent
3fe5b5497f
commit
6e48539d2e
|
@ -92,8 +92,16 @@ namespace CtrEditor.ObjetosSim
|
||||||
[property: Name("Valor")]
|
[property: Name("Valor")]
|
||||||
public float value;
|
public float value;
|
||||||
|
|
||||||
|
[ObservableProperty]
|
||||||
|
[property: Category("Simulación")]
|
||||||
|
[property: Description("Modo de lectura.")]
|
||||||
|
[property: Name("Modo Lectura")]
|
||||||
|
public bool read_Mode;
|
||||||
|
|
||||||
|
|
||||||
partial void OnValueChanged(float value)
|
partial void OnValueChanged(float value)
|
||||||
{
|
{
|
||||||
|
if (!Read_Mode)
|
||||||
EscribirWordTagScaled(Tag, Value, Min_IN_Scaled, Max_IN_Scaled, Min_OUT_Scaled, Max_OUT_Scaled);
|
EscribirWordTagScaled(Tag, Value, Min_IN_Scaled, Max_IN_Scaled, Min_OUT_Scaled, Max_OUT_Scaled);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -106,7 +114,7 @@ namespace CtrEditor.ObjetosSim
|
||||||
Min_OUT_Scaled = 0;
|
Min_OUT_Scaled = 0;
|
||||||
min_IN_Scaled = 0;
|
min_IN_Scaled = 0;
|
||||||
max_IN_Scaled = 100;
|
max_IN_Scaled = 100;
|
||||||
|
Read_Mode = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void UpdateGeometryStart()
|
public override void UpdateGeometryStart()
|
||||||
|
@ -116,6 +124,8 @@ namespace CtrEditor.ObjetosSim
|
||||||
}
|
}
|
||||||
public override void UpdatePLC(PLCViewModel plc, int elapsedMilliseconds)
|
public override void UpdatePLC(PLCViewModel plc, int elapsedMilliseconds)
|
||||||
{
|
{
|
||||||
|
if (Read_Mode)
|
||||||
|
Value = LeerWordTagScaled(Tag, Min_OUT_Scaled, Max_OUT_Scaled, Min_IN_Scaled, Max_IN_Scaled);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void UpdatePLCPrimerCiclo()
|
public override void UpdatePLCPrimerCiclo()
|
||||||
|
|
Loading…
Reference in New Issue