static public void SetValue(NameVar var, string value) { if (var.modbus == null) { if (!dumps.ContainsKey(var.subsystem)) { throw new ArgumentException("Subsystem " + var.subsystem + " not supported!"); } Dumper dump = dumps[var.subsystem]; string str = dump.GetValueStr(var.name); if (str == null) { throw new ArgumentException("Subsystem " + var.subsystem + " var " + var.name + " not found!"); } dump.SetValue(var.name, value); return; } if (!masters.ContainsKey(var.subsystem + "." + var.modbus)) { throw new ArgumentException("Subsystem " + var.subsystem + " and modbus" + var.modbus + " not supported!"); } MasterModbus master = masters[var.subsystem + "." + var.modbus]; string result = master.GetValueString(var.name); if (result == null) { throw new ArgumentException("Subsystem " + var.subsystem + " modbus " + var.modbus + " var " + var.name + " not found!"); } if (master.IsReadOnly(var.name)) { throw new ArgumentException("Subsystem " + var.subsystem + " modbus " + var.modbus + " var " + var.name + " read only!"); } master.SetValueString(var.name, value); }
static public string GetValue(NameVar var) { if (var.modbus == null) { if (!dumps.ContainsKey(var.subsystem)) { throw new ArgumentException("Subsystem " + var.subsystem + " not supported!"); } Dumper dump = dumps[var.subsystem]; string str = dump.GetValueStr(var.name); if (str == null) { throw new ArgumentException("Subsystem " + var.subsystem + " var " + var.name + "not found!"); } if (str.Contains("true")) { str = "1"; } if (str.Contains("false")) { str = "0"; } return(str); } if (!masters.ContainsKey(var.subsystem + "." + var.modbus)) { throw new ArgumentException("Subsystem " + var.subsystem + " and modbus" + var.modbus + " not supported!"); } MasterModbus master = masters[var.subsystem + "." + var.modbus]; string result = master.GetValueString(var.name); if (result == null) { throw new ArgumentException("Subsystem " + var.subsystem + " modbus " + var.modbus + " var " + var.name + "not found!"); } if (result.Contains("true")) { result = "1"; } if (result.Contains("false")) { result = "0"; } return(result); }