public MasterModbusReader(int sleepTime)
        {
            SleepTime     = sleepTime;
            InitArrays    = new SortedList <string, ModbusInitDataArray>();
            Readers       = new SortedList <string, ModbusDataReader>();
            WritersHH     = new SortedList <string, ModbusDataWriter>();
            WritersMin    = new SortedList <string, ModbusDataWriter>();
            FinishReading = new SortedList <string, bool>();
            foreach (string fileName in Settings.single.InitFiles)
            {
                try {
                    Logger.Info(String.Format("Чтение настроек modbus из файла '{0}'", fileName));
                    ModbusInitDataArray arr = XMLSer <ModbusInitDataArray> .fromXML(fileName);

                    arr.processData();
                    InitArrays.Add(arr.ID, arr);
                    String.Format("===Считано {0} записей", arr.FullData.Count);

                    Logger.Info(String.Format("Создание объекта чтения данных"));
                    ModbusServer     sv     = new ModbusServer(arr.IP, (ushort)arr.Port);
                    ModbusDataReader reader = new ModbusDataReader(sv, arr);
                    reader.OnFinish += new FinishEvent(reader_OnFinish);
                    readers.Add(arr.ID, reader);
                    String.Format("===Объект создан");

                    if (arr.WriteMin)
                    {
                        Logger.Info(String.Format("Создание объекта записи данных в файл (минуты)"));
                        ModbusDataWriter writer = new ModbusDataWriter(arr, RWModeEnum.min);
                        writersMin.Add(arr.ID, writer);
                        String.Format("===Объект создан");
                    }

                    if (arr.WriteHH)
                    {
                        Logger.Info(String.Format("Создание объекта записи данных в файл (получасовки)"));
                        ModbusDataWriter writer = new ModbusDataWriter(arr, RWModeEnum.hh);
                        writersHH.Add(arr.ID, writer);
                        String.Format("===Объект создан");
                    }

                    FinishReading.Add(arr.ID, false);
                } catch (Exception e) {
                    String.Format("===Ошибка при чтении настроек");
                    Logger.Error(e.ToString());
                }
            }
        }
Exemple #2
0
        public static void init()
        {
            System.Globalization.CultureInfo ci = new System.Globalization.CultureInfo("en-GB");
            ci.NumberFormat.NumberDecimalSeparator = ".";
            ci.NumberFormat.NumberGroupSeparator   = "";

            System.Threading.Thread.CurrentThread.CurrentCulture   = ci;
            System.Threading.Thread.CurrentThread.CurrentUICulture = ci;


            Settings settings = XMLSer <Settings> .fromXML("Data\\Settings.xml");

            Settings.settings   = settings;
            settings.DBInfoList = new SortedList <string, DBInfo>();
            foreach (DBInfo dbInfo in settings.Databases)
            {
                settings.DBInfoList.Add(dbInfo.ID, dbInfo);
            }
        }
Exemple #3
0
        public MasterDBWriter()
        {
            InitArrays = new SortedList <string, ModbusInitDataArray>();
            Writers    = new SortedList <string, DataDBWriter>();

            foreach (string fileName in Settings.single.InitFiles)
            {
                try {
                    Logger.Info(String.Format("Чтение настроек modbus из файла '{0}'", fileName));
                    ModbusInitDataArray arr = XMLSer <ModbusInitDataArray> .fromXML(fileName);

                    arr.processData();
                    InitArrays.Add(arr.ID, arr);
                    String.Format("===Считано {0} записей", arr.FullData.Count);

                    DataDBWriter writer = new DataDBWriter(arr);
                    Writers.Add(arr.ID, writer);
                } catch (Exception e) {
                    String.Format("===Ошибка при чтении настроек");
                    Logger.Error(e.ToString());
                }
            }
        }