示例#1
0
        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);
        }
示例#2
0
        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);
        }