public void WriteValue(string varName, object value, bool doConvert = false) { bool write_ok = false; ClsSingeltonVariablesCollecterDataType var_tof = ClsSingeltonVariablesCollecterDataType.Null; if (this.m_VariablesType[varName] != null) { var_tof = (ClsSingeltonVariablesCollecterDataType)this.m_VariablesType[varName]; } string tof = ""; if (doConvert == false) { tof = value.GetType().ToString(); } else { string val = value.ToString(); if (var_tof == ClsSingeltonVariablesCollecterDataType.Int) { int new_val; int.TryParse(val, out new_val); value = new_val; } if (var_tof == ClsSingeltonVariablesCollecterDataType.Double) { double new_val; double.TryParse(val, out new_val); value = new_val; } } tof = value.GetType().ToString(); if (tof == "System.Int32" && var_tof == ClsSingeltonVariablesCollecterDataType.Int) { write_ok = true; } if (tof == "System.Double" && var_tof == ClsSingeltonVariablesCollecterDataType.Double) { write_ok = true; } if (write_ok == true) { this.m_Variables[varName] = value; } }
public int ReadValueInt(string varName) { int retval = 0; ClsSingeltonVariablesCollecterDataType var_tof = ClsSingeltonVariablesCollecterDataType.Null; if (this.m_Variables[varName] != null || this.m_VariablesType[varName] != null) { if (this.m_VariablesType[varName] != null) { var_tof = (ClsSingeltonVariablesCollecterDataType)this.m_VariablesType[varName]; if (var_tof == ClsSingeltonVariablesCollecterDataType.Int) { retval = Convert.ToInt32(this.m_Variables[varName]); } } } return(retval); }
public double ReadValueDouble(string varName) { double retval = 0.0; ClsSingeltonVariablesCollecterDataType var_tof = ClsSingeltonVariablesCollecterDataType.Null; if (this.m_Variables[varName] != null || this.m_VariablesType[varName] != null) { if (this.m_VariablesType[varName] != null) { var_tof = (ClsSingeltonVariablesCollecterDataType)this.m_VariablesType[varName]; if (var_tof == ClsSingeltonVariablesCollecterDataType.Double) { retval = Convert.ToDouble(this.m_Variables[varName]); } } } return(retval); }
public void CreateVariable(string varName, ClsSingeltonVariablesCollecterDataType dataType) { if (this.m_Variables[varName] == null) { if (dataType == ClsSingeltonVariablesCollecterDataType.Int) { int var = 0; this.m_Variables.Add(varName, var); } if (dataType == ClsSingeltonVariablesCollecterDataType.Double) { double var = 0.0; this.m_Variables.Add(varName, var); } if (dataType == ClsSingeltonVariablesCollecterDataType.String) { string var = ""; this.m_Variables.Add(varName, var); } this.m_VariablesType.Add(varName, dataType); } }
public void AddList(string adresse, string symbolName, string dataType, string comment, string symbolType, bool dataLog = false) { int byte_length = 0; ClsSingeltonVariablesCollecterDataType data_type = ClsSingeltonVariablesCollecterDataType.Null; if (dataType == "BOOL") { byte_length = 2; data_type = ClsSingeltonVariablesCollecterDataType.Int; } if (dataType == "INT") { byte_length = 2; data_type = ClsSingeltonVariablesCollecterDataType.Int; } if (dataType == "TIME") { byte_length = 4; data_type = ClsSingeltonVariablesCollecterDataType.Int; } if (dataType == "REAL") { byte_length = 4; data_type = ClsSingeltonVariablesCollecterDataType.Double; } int db_nr = 0; int byte_nr = 0; int bit_nr = 0; string[] adressen = adresse.Split('.'); if (adressen.Count() >= 2) { db_nr = Convert.ToInt32(FuncString.GetOnlyNumeric(adressen[0])); byte_nr = Convert.ToInt32(FuncString.GetOnlyNumeric(adressen[1])); if (adressen.Count() == 3) { bit_nr = Convert.ToInt32(FuncString.GetOnlyNumeric(adressen[2])); int rest = byte_nr % 2; byte_length = byte_length - rest; } if (this.m_DatabasesInfo.ContainsKey(db_nr)) { int value = Convert.ToInt32(this.m_DatabasesInfo[db_nr]); if ((byte_nr + byte_length) > value) { this.m_DatabasesInfo[db_nr] = byte_nr + byte_length; } } else { this.m_DatabasesInfo.Add(db_nr, byte_nr); this.m_DatabasesNr.Add(db_nr); } } ClsSingeltonPlcDatas data; data.Adress = adresse; data.DatabaseNumber = db_nr; data.ByteNumber = byte_nr; data.BitNumber = bit_nr; data.Symbolname = symbolName; data.DataType = dataType; data.Comment = comment; data.Value = "0.0"; data.DataLog = dataLog; data.SymbolType = symbolType; this.m_Daten.Add(data); string keyInfo = "DB" + db_nr + "." + symbolName; this.m_VarCollect.CreateVariable(keyInfo, data_type); if (!this.m_SymbolInfo.ContainsKey(keyInfo)) { this.m_SymbolInfo.Add(keyInfo, data); } }