private void Initialize() { int port, scan, count; string name, logPath, logName; EEthernetMode mode; EEthernetLogging logging; int i = 1; int length = 0; string section = $"PowerMeter.{i:d2}"; string ip = server.Ini.GetString(section, "ip"); PowerMeter.Clear(); PowerMeterValues.Clear(); while (ip != "") { name = server.Ini.GetString(section, "name"); port = server.Ini.GetInteger(section, "port"); scan = server.Ini.GetInteger(section, "scantime"); logPath = server.Ini.GetString(section, "logpath"); logName = server.Ini.GetString(section, "logfilename"); logging = GetEthernetLogging(section); mode = (server.Ini.GetString(section, "mode") == "Real") ? EEthernetMode.Real : EEthernetMode.Virtual; EWT330Phase phase = (server.Ini.GetString(section, "phase") == "P1") ? EWT330Phase.P1 : EWT330Phase.P3; length += 25; //if (phase == EWT330Phase.P1) length += 7; //else length += 25; UlWT330EthernetClient client = new UlWT330EthernetClient(name, phase, ip, port, scan); client.Mode = mode; client.Logging = logging; client.LogPath = logPath; client.LogFName = $"{logName}.{i:d2}"; PowerMeter.Add(client); CreatePowerMeterValues(i, phase); i++; section = $"PowerMeter.{i:d2}"; ip = server.Ini.GetString(section, "ip"); } i = 1; section = $"Recorder.{i:d2}"; ip = server.Ini.GetString(section, "ip"); Recorder.Clear(); while (ip != "") { name = server.Ini.GetString(section, "name"); port = server.Ini.GetInteger(section, "port"); count = server.Ini.GetInteger(section, "length"); scan = server.Ini.GetInteger(section, "scantime"); logPath = server.Ini.GetString(section, "logpath"); logName = server.Ini.GetString(section, "logfilename"); logging = GetEthernetLogging(section); mode = (server.Ini.GetString(section, "mode") == "Real") ? EEthernetMode.Real : EEthernetMode.Virtual; length += count; UlGM10EthernetClient client = new UlGM10EthernetClient(name, ip, port, count, scan); client.Mode = mode; client.Logging = logging; client.LogPath = logPath; client.LogFName = $"{logName}.{i:d2}"; Recorder.Add(client); CreateRecorderValues(i, count); i++; section = $"Recorder.{i:d2}"; ip = server.Ini.GetString(section, "ip"); } i = 1; section = $"Controller.{i:d2}"; ip = server.Ini.GetString(section, "ip"); Controller.Clear(); while (ip != "") { name = server.Ini.GetString(section, "name"); port = server.Ini.GetInteger(section, "port"); scan = server.Ini.GetInteger(section, "scantime"); logPath = server.Ini.GetString(section, "logpath"); logName = server.Ini.GetString(section, "logfilename"); logging = GetEthernetLogging(section); mode = (server.Ini.GetString(section, "mode") == "Real") ? EEthernetMode.Real : EEthernetMode.Virtual; int slaveAddr = server.Ini.GetInteger(section, "slaveaddress"); int slaveCount = server.Ini.GetInteger(section, "slavecount"); float defDecial = (float)server.Ini.GetDouble(section, "DefaultFixedDecimal"); length += (slaveCount * 12); UlUT55AEthernetClient client = new UlUT55AEthernetClient(name, ip, port, slaveAddr, slaveCount, scan); client.Mode = mode; client.Logging = logging; client.LogPath = logPath; client.LogFName = $"{logName}.{i:d2}"; int addr; float fixedDec; for (int j = 0; j < slaveCount; j++) { addr = slaveAddr + j; fixedDec = (float)server.Ini.GetDouble(section, $"FixedDecimal{addr}"); if (fixedDec < 0.1) { client.SetFixedDecimal(addr, defDecial); } else { client.SetFixedDecimal(addr, fixedDec); } } Controller.Add(client); CreateControllerValues(slaveAddr, slaveCount); i++; section = $"Controller.{i:d2}"; ip = server.Ini.GetString(section, "ip"); } Values = new float[length]; i = 1; section = $"Plc.{i:d2}"; ip = server.Ini.GetString(section, "ip"); Plc.Clear(); while (ip != "") { name = server.Ini.GetString(section, "name"); port = server.Ini.GetInteger(section, "port"); scan = server.Ini.GetInteger(section, "scantime"); logPath = server.Ini.GetString(section, "logpath"); logName = server.Ini.GetString(section, "logfilename"); logging = GetEthernetLogging(section); mode = (server.Ini.GetString(section, "mode") == "Real") ? EEthernetMode.Real : EEthernetMode.Virtual; string block = server.Ini.GetString(section, "block"); int blockLength = server.Ini.GetInteger(section, "blocklength"); UlMasterKEthernetClient client = new UlMasterKEthernetClient(name, ip, port, block, blockLength, scan); client.Mode = mode; client.Logging = logging; client.LogPath = logPath; client.LogFName = $"{logName}.{i:d2}"; Plc.Add(client); CreatePlcValues(i, blockLength); i++; section = $"Plc.{i:d2}"; ip = server.Ini.GetString(section, "ip"); } Bytes = new byte[length * 4 + PlcLength * 2]; }