Exemple #1
0
        public Group08ParametersViewModel(ICommandSenderHost commandSenderHost, ITargetAddressHost targerAddressHost,
                                          IUserInterfaceRoot uiRoot, ILogger logger, IParameterLogger parameterLogger)
        {
            _commandSenderHost = commandSenderHost;
            _targerAddressHost = targerAddressHost;
            _uiRoot            = uiRoot;
            _logger            = logger;

            Parameter01Vm = new MswParameterViewModel(parameterLogger);
            Parameter02Vm = new AswParameterViewModel(parameterLogger);
            Parameter03Vm = new ParameterDoubleReadonlyViewModel("08.03 Этап работы с частотным приводом.", "f0", null,
                                                                 parameterLogger);
            Parameter04Vm =
                new ParameterDoubleReadonlyViewModel("08.04 MSW Ведомого привода.", "f0", null, parameterLogger);
            Parameter05Vm =
                new ParameterDoubleReadonlyViewModel("08.05 ASW Ведомого привода.", "f0", null, parameterLogger);
            Parameter06Vm =
                new ParameterDoubleReadonlyViewModel("08.06 (Ведомый привод) Этап работы с частотным приводом.", "f0",
                                                     null, parameterLogger);


            ReadCycleCmd     = new RelayCommand(ReadCycleFunc, () => !_readingInProgress); // TODO: check port opened
            StopReadCycleCmd = new RelayCommand(StopReadingFunc, () => _readingInProgress);

            _syncCancel        = new object();
            _cancel            = true;
            _readingInProgress = false;
        }
Exemple #2
0
        public Group02ParametersViewModel(ICommandSenderHost commandSenderHost, ITargetAddressHost targerAddressHost,
                                          IUserInterfaceRoot uiRoot, ILogger logger, IParameterLogger parameterLogger)
        {
            _commandSenderHost = commandSenderHost;
            _targerAddressHost = targerAddressHost;
            _uiRoot            = uiRoot;
            _logger            = logger;

            Parameter01Vm = new ParameterDoubleReadonlyViewModel(
                "02.01. Скорость вращения двигателя на выходе задатчика интенсивности [об/мин]", "f0", null,
                parameterLogger);
            Parameter02Vm = new ParameterDoubleReadonlyViewModel(
                "02.02. Скорость вращения двигателя на выходе фильтра канала задания скорости [об/мин]", "f0", null,
                parameterLogger);
            Parameter03Vm =
                new ParameterDoubleReadonlyViewModel("02.03. Заданный поток [%]", "f0", null, parameterLogger);

            Parameter04Vm =
                new ParameterDoubleReadonlyViewModel("02.04. Измеренный поток [%]", "f0", null, parameterLogger);

            Parameter05Vm = new ParameterDoubleReadonlyViewModel("02.05. Отфильтрованный измеренный поток [%]", "f0",
                                                                 null, parameterLogger);
            Parameter06Vm =
                new ParameterDoubleReadonlyViewModel("02.06. Задание моментного тока [А]", "f0", null, parameterLogger);

            Parameter07Vm = new ParameterDoubleReadonlyViewModel("02.07. Задание тока намагничивания [А]", "f0", null,
                                                                 parameterLogger);
            Parameter08Vm = new ParameterDoubleReadonlyViewModel("02.08. Пропорциональная часть регулятора тока D [А]",
                                                                 "f0", null, parameterLogger);
            Parameter09Vm = new ParameterDoubleReadonlyViewModel("02.09. Пропорциональная часть регулятора тока Q [А]",
                                                                 "f0", null, parameterLogger);

            Parameter10Vm =
                new ParameterDoubleReadonlyViewModel("02.10. Пропорциональная часть регулятора скорости [об/мин]", "f0",
                                                     null, parameterLogger);
            Parameter11Vm = new ParameterDoubleReadonlyViewModel("02.11. Пропорциональная часть регулятора потока [%]",
                                                                 "f0", null, parameterLogger);

            ReadCycleCmd     = new RelayCommand(ReadCycleFunc, () => !_readingInProgress); // TODO: check port opened
            StopReadCycleCmd = new RelayCommand(StopReadingFunc, () => _readingInProgress);

            _syncCancel        = new object();
            _cancel            = true;
            _readingInProgress = false;
            _errorCounts       = 0;
        }
        public Group03ParametersViewModel(ICommandSenderHost commandSenderHost, ITargetAddressHost targerAddressHost,
                                          IUserInterfaceRoot uiRoot, ILogger logger, IParameterLogger parameterLogger)
        {
            _commandSenderHost = commandSenderHost;
            _targerAddressHost = targerAddressHost;
            _uiRoot            = uiRoot;
            _logger            = logger;

            Parameter01Vm =
                new ParameterDoubleReadonlyViewModel("03.01. Коэффициент модуляции ШИМ [%]", "f0", null,
                                                     parameterLogger);
            Parameter02Vm =
                new ParameterDoubleReadonlyViewModel("03.02. Выход регулятора тока D [%]", "f0", null, parameterLogger);
            Parameter03Vm =
                new ParameterDoubleReadonlyViewModel("03.03. Выход регулятора тока Q [%]", "f0", null, parameterLogger);

            Parameter04Vm = new ParameterDoubleReadonlyViewModel("03.04. Измеренная составляющая тока D [%]", "f0",
                                                                 null, parameterLogger);
            Parameter05Vm = new ParameterDoubleReadonlyViewModel("03.05. Измеренная составляющая тока Q [%]", "f0",
                                                                 null, parameterLogger);
            Parameter06Vm = new ParameterDoubleReadonlyViewModel(
                "03.06. Выход регулятора компенсатора вычислителя потока D [В]", "f0", null, parameterLogger);
            Parameter07Vm = new ParameterDoubleReadonlyViewModel(
                "03.07. Выход регулятора компенсатора вычислителя потока Q [В]", "f0", null, parameterLogger);

            Parameter08Vm = new ParameterDoubleReadonlyViewModel("03.08. Вспомогательная ячейка №1 АИН1", "f0", null,
                                                                 parameterLogger);
            Parameter09Vm = new ParameterDoubleReadonlyViewModel("03.09. Вспомогательная ячейка №2 АИН1", "f0", null,
                                                                 parameterLogger);

            Parameter10Vm = new ParameterDoubleReadonlyViewModel(
                "03.10. Вычисленное текущее значение теплового показателя двигателя [А^2*c]", "f0", null,
                parameterLogger);
            Parameter11Vm = new ParameterDoubleReadonlyViewModel(
                "03.11. (Ведомый привод) Уставка моментного тока (Выход регулятора скорости) [%]", "f0", null,
                parameterLogger);

            ReadCycleCmd     = new RelayCommand(ReadCycleFunc, () => !_readingInProgress); // TODO: check port opened
            StopReadCycleCmd = new RelayCommand(StopReadingFunc, () => _readingInProgress);

            _syncCancel        = new object();
            _cancel            = true;
            _readingInProgress = false;
            _errorCounts       = 0;
        }
        public Group09ParametersViewModel(ICommandSenderHost commandSenderHost, ITargetAddressHost targerAddressHost,
                                          IUserInterfaceRoot uiRoot, ILogger logger, IAinsCounter ainsCounter, IParameterLogger parameterLogger)
        {
            _commandSenderHost = commandSenderHost;
            _targerAddressHost = targerAddressHost;
            _uiRoot            = uiRoot;
            _logger            = logger;
            _ainsCounter       = ainsCounter;

            Parameter01Vm =
                new AinBitsParameterViewModel(new ParameterStringReadonlyViewModel("09.01 СТАТУС АИН1", string.Empty),
                                              parameterLogger);
            Parameter02Vm =
                new AinBitsParameterViewModel(new ParameterStringReadonlyViewModel("09.02 СТАТУС АИН2", string.Empty),
                                              parameterLogger);
            Parameter03Vm =
                new AinBitsParameterViewModel(new ParameterStringReadonlyViewModel("09.03 СТАТУС АИН3", string.Empty),
                                              parameterLogger);
            Parameter04Vm =
                new ParameterDoubleReadonlyViewModel("09.04 Текущий код аварии", "f0", null, parameterLogger);
            Parameter05Vm = new ParameterDoubleReadonlyViewModel("09.05 Код последнего сигнала предупреждения.", "f0",
                                                                 null, parameterLogger);
            Parameter06Vm =
                new ParameterDoubleReadonlyViewModel("09.06 Ошибки связи с блоками АИН.", "f0", null, parameterLogger);
            Parameter07Vm = new ParameterDoubleReadonlyViewModel("09.07 (Ведомый привод) Биты ошибок АИН", "f0", null,
                                                                 parameterLogger);


            ReadCycleCmd     = new RelayCommand(ReadCycleFunc, () => !_readingInProgress); // TODO: check port opened
            StopReadCycleCmd = new RelayCommand(StopReadingFunc, () => _readingInProgress);

            _syncCancel        = new object();
            _cancel            = true;
            _readingInProgress = false;
            _errorCounts       = 0;
        }
        public Group01ParametersViewModel(ICommandSenderHost commandSenderHost, ITargetAddressHost targerAddressHost,
                                          IUserInterfaceRoot uiRoot, ILogger logger, IAinsCounter ainsCounter, IParameterLogger parameterLogger)
        {
            _commandSenderHost = commandSenderHost;
            _targerAddressHost = targerAddressHost;
            _uiRoot            = uiRoot;
            _logger            = logger;
            _ainsCounter       = ainsCounter;

            Parameter01Vm =
                new ParameterDoubleReadonlyViewModel("01.01. Вычисленная скорость вращения двигателя [об/мин]", "f0",
                                                     null, parameterLogger);
            Parameter02Vm = new ParameterDoubleReadonlyViewModel(
                "01.02. Скорость вращения двигателя, измеренная датчиком скорости [об/мин]", "f0", null,
                parameterLogger);
            Parameter03Vm = new ParameterDoubleReadonlyViewModel(
                "01.03. Отфильтрованная измеренная/вычисленная скорость в канале ОС [об/мин]", "f0", null,
                parameterLogger);

            Parameter04Vm = new ParameterDoubleReadonlyViewModel("01.04. Измеренный ток обмотки статора [A]", "f0",
                                                                 null, parameterLogger);

            Parameter05Vm = new ParameterDoubleReadonlyViewModel("01.05. Напряжение в звене постоянного тока [В]", "f0",
                                                                 null, parameterLogger); // TODO: спросить Марата, в процентах или как задаётся момент.
            Parameter06Vm =
                new ParameterDoubleReadonlyViewModel("01.06. Напряжение шины DC [В]", "f0", null, parameterLogger);

            Parameter07Vm = new ParameterDoubleReadonlyViewModel("01.07. Температура радиатора АИН1 [град С]", "f0",
                                                                 null, parameterLogger);
            Parameter08Vm = new ParameterDoubleReadonlyViewModel("01.08. Температура радиатора АИН2 [град С]", "f0",
                                                                 null, parameterLogger);
            Parameter09Vm = new ParameterDoubleReadonlyViewModel("01.09. Температура радиатора АИН3 [град С]", "f0",
                                                                 null, parameterLogger);

            Parameter10Vm = new ParameterDoubleReadonlyViewModel("01.10. Температура внешняя АИН1 [град С]", "f0", null,
                                                                 parameterLogger);
            Parameter11Vm = new ParameterDoubleReadonlyViewModel("01.11. Температура внешняя АИН2 [град С]", "f0", null,
                                                                 parameterLogger);
            Parameter12Vm = new ParameterDoubleReadonlyViewModel("01.12. Температура внешняя АИН3 [град С]", "f0", null,
                                                                 parameterLogger);

            Parameter13Vm = new ParameterDoubleReadonlyViewModel("01.13. Измеренный момент на валу двигателя [Нм]",
                                                                 "f0", null, parameterLogger);
            Parameter14Vm = new ParameterDoubleReadonlyViewModel(
                "01.14. Отфильтрованный измеренный момент на валу двигателя [Нм]", "f0", null, parameterLogger);

            Parameter15Vm =
                new ParameterDoubleReadonlyViewModel("01.15. Задание моментного тока [%]", "f0", null, parameterLogger);
            Parameter16Vm = new ParameterDoubleReadonlyViewModel("01.16. Мгновенная мощность на валу двигателя [кВт]",
                                                                 "f0", null, parameterLogger);

            Parameter17Vm =
                new ParameterDoubleReadonlyViewModel("01.17. Состояние цифровых входов", "f0", null, parameterLogger);
            Parameter18Vm =
                new ParameterDoubleReadonlyViewModel("01.18. Состояние релейных выходов", "f0", null, parameterLogger);

            Parameter19Vm = new ParameterDoubleReadonlyViewModel(
                "01.19. Активный режим регулирования (Управление по скорости/Управление крутящим моментом)", "f0", null,
                parameterLogger);                                                          // (0 – регулятор скорости, 1 – внешний момент, 2 – их сумма, 3 - 0 )

            ReadCycleCmd     = new RelayCommand(ReadCycleFunc, () => !_readingInProgress); // TODO: check port opened
            StopReadCycleCmd = new RelayCommand(StopReadingFunc, () => _readingInProgress);

            _syncCancel        = new object();
            _cancel            = true;
            _readingInProgress = false;
            _errorCounts       = 0;
        }