diff --git a/ObjetosSim/TagsSignals/ucAnalogTag.xaml.cs b/ObjetosSim/TagsSignals/ucAnalogTag.xaml.cs index 3eac3fe..83ed1cb 100644 --- a/ObjetosSim/TagsSignals/ucAnalogTag.xaml.cs +++ b/ObjetosSim/TagsSignals/ucAnalogTag.xaml.cs @@ -92,9 +92,17 @@ namespace CtrEditor.ObjetosSim [property: Name("Valor")] 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) { - EscribirWordTagScaled(Tag, Value, Min_IN_Scaled, Max_IN_Scaled, Min_OUT_Scaled, Max_OUT_Scaled); + if (!Read_Mode) + EscribirWordTagScaled(Tag, Value, Min_IN_Scaled, Max_IN_Scaled, Min_OUT_Scaled, Max_OUT_Scaled); } public osAnalogTag() @@ -106,7 +114,7 @@ namespace CtrEditor.ObjetosSim Min_OUT_Scaled = 0; min_IN_Scaled = 0; max_IN_Scaled = 100; - + Read_Mode = false; } public override void UpdateGeometryStart() @@ -115,7 +123,9 @@ namespace CtrEditor.ObjetosSim } 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()