Files
barsik/Program.cs
T

43 lines
1.2 KiB
C#

using IniParser;
using System;
using System.Collections.Generic;
using System.Threading;
namespace Barsik
{
class Program
{
private static RegistersContainer registers;
private static List<BaseMonitoringUnit> units;
static void Main(string[] args)
{
registers = new RegistersContainer();
var server = new ModbusServer(registers);
units = new List<BaseMonitoringUnit>();
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);
}
}
}
}