using IniParser; using System; using System.Collections.Generic; using System.Threading; namespace Barsik { class Program { private static RegistersContainer registers; private static List units; static void Main(string[] args) { registers = new RegistersContainer(); var server = new ModbusServer(registers); units = new List(); var configParser = new FileIniDataParser(); var data = configParser.ReadFile("barsik.ini"); foreach (var section in data.Sections) { if (section.SectionName.StartsWith("Unit")) { var unit = BaseMonitoringUnit.Create(section, registers); if (unit != null) { units.Add(unit); Thread unitThread = new Thread(new ThreadStart(unit.Run)); unitThread.Start(); } } } server.Port = int.Parse(data["Server"]["Port"]); while (true) { server.Run(); Thread.Sleep(1000); } } } }