Oleg

Созданные ответы форума

Просмотр 15 сообщений - с 1 по 15 (из 22 всего)
  • Автор
    Сообщения
  • в ответ на: Папка ArchiveDATCopy. #11562
    Oleg
    Участник

    Romiros, спасибо за ответ.

    в ответ на: работа плагина график про #10899
    Oleg
    Участник

    Добрый день.

    Не было уведомления на email об ответе, поэтому пропустил вопрос)

    График за сутки строится около секунды, максимум две.
    Каждый файл минутных данных весит 80 Мегабайт.

    в ответ на: работа плагина график про #10449
    Oleg
    Участник

    Уменьшил период до 5с. В принципе работает нормально, тормозов не замечал, формулы обрабатывает. Графики за несколько дней тоже подгружаются.

    в ответ на: работа плагина график про #10419
    Oleg
    Участник

    Вечер добрый.
    Кто-нибудь проверял, как будет работать система, например с количеством каналов около 1000, (запись в базу, отображение графиков, работа модуля автоматического управления, отправка e-mail), если частоту записи минутных срезов изменить с 60с до 5с?

    • Этот ответ был изменен 5 лет, 5 месяцев назад от Oleg.
    в ответ на: Выкидывает на главную страницу. #6875
    Oleg
    Участник

    Случайно увидел момент, когда вылетело представление, в 20:14. Скопировал лог:

    2017-08-01 18:57:08 <RUSTP-WEBWS-20><DefaultAppPool><ACT> Выход из системы: user. IP-адрес: 10.7.68.8
    2017-08-01 18:57:08 <RUSTP-WEBWS-20><DefaultAppPool><ACT> Удалена информация о пользователе. IP-адрес: 10.7.68.8. Сессия: bkmtvkihb402w4ywfdjisix2
    2017-08-01 20:14:16 <RUSTP-WEBWS-20><DefaultAppPool><EXC> Ошибка при выполнении действий при выходе пользователя в плагине «Дэшборды»:
    System.NullReferenceException: Object reference not set to an instance of an object.
    at Scada.Web.Plugins.PlgDashboardSpec.OnUserLogout(UserData userData)
    at Scada.Web.UserData.RaiseOnUserLogout()
    2017-08-01 20:14:16 <RUSTP-WEBWS-20><DefaultAppPool><ACT> Выход из системы: user. IP-адрес: 10.7.67.13
    2017-08-01 20:14:16 <RUSTP-WEBWS-20><DefaultAppPool><ACT> Удалена информация о пользователе. IP-адрес: 10.7.67.13. Сессия: 2iklk0l5prn3rc0hjhcyf0td
    2017-08-01 20:14:16 <RUSTP-WEBWS-20><DefaultAppPool><EXC> Ошибка при выполнении действий при выходе пользователя в плагине «Дэшборды»:
    System.NullReferenceException: Object reference not set to an instance of an object.
    at Scada.Web.Plugins.PlgDashboardSpec.OnUserLogout(UserData userData)
    at Scada.Web.UserData.RaiseOnUserLogout()
    2017-08-01 20:14:16 <RUSTP-WEBWS-20><DefaultAppPool><ACT> Выход из системы: user. IP-адрес: 10.7.68.61
    2017-08-01 20:14:16 <RUSTP-WEBWS-20><DefaultAppPool><ACT> Удалена информация о пользователе. IP-адрес: 10.7.68.61. Сессия: ceuzzkpodusnnuu5hhta5yjb
    2017-08-01 20:14:16 <RUSTP-WEBWS-20><DefaultAppPool><ACT> Завершение работы приложения
    ———————————————————————————
    ———————————————————————————
    2017-08-01 20:14:16 <RUSTP-WEBWS-20><DefaultAppPool><ACT> Инициализация общих данных веб-приложения
    2017-08-01 20:14:16 <RUSTP-WEBWS-20><DefaultAppPool><ACT> Установка соединения со SCADA-Сервером «10.7.70.27»
    2017-08-01 20:14:16 <RUSTP-WEBWS-20><DefaultAppPool><ACT> Обновление таблиц базы конфигурации
    2017-08-01 20:14:17 <RUSTP-WEBWS-20><DefaultAppPool><ACT> Заполнение свойств входных каналов
    2017-08-01 20:14:17 <RUSTP-WEBWS-20><DefaultAppPool><ACT> Заполнение свойств каналов управления
    2017-08-01 20:14:17 <RUSTP-WEBWS-20><DefaultAppPool><ACT> Заполнение свойств статусов входных каналов
    2017-08-01 20:14:17 <RUSTP-WEBWS-20><DefaultAppPool><ACT> Добавлена информация о пользователе. IP-адрес: 10.7.67.13. Сессия: 2iklk0l5prn3rc0hjhcyf0td
    2017-08-01 20:14:17 <RUSTP-WEBWS-20><DefaultAppPool><ACT> Добавлена информация о пользователе. IP-адрес: 10.7.68.61. Сессия: ceuzzkpodusnnuu5hhta5yjb
    2017-08-01 20:14:17 <RUSTP-WEBWS-20><DefaultAppPool><EXC> Ошибка при получении расширенных текущих данных по фильтру, где каналы= , ид. представления=3050:
    Scada.ScadaException: Пользователь не вошёл в систему.
    at Scada.Web.UserMonitor.CheckLoggedOn(UserRights& userRights, Boolean throwOnFail)
    at Scada.Web.ClientApiSvc.GetCurCnlDataExt(String cnlNums, String viewIDs, Int32 viewID)
    2017-08-01 20:14:17 <RUSTP-WEBWS-20><DefaultAppPool><EXC> Ошибка при получении расширенных текущих данных по фильтру, где каналы= , ид. представления=3030:
    Scada.ScadaException: Пользователь не вошёл в систему.
    at Scada.Web.UserMonitor.CheckLoggedOn(UserRights& userRights, Boolean throwOnFail)
    at Scada.Web.ClientApiSvc.GetCurCnlDataExt(String cnlNums, String viewIDs, Int32 viewID)
    2017-08-01 20:14:18 <RUSTP-WEBWS-20><DefaultAppPool><EXC> Ошибка при получении расширенных текущих данных по фильтру, где каналы= , ид. представления=3050:
    Scada.ScadaException: Пользователь не вошёл в систему.
    at Scada.Web.UserMonitor.CheckLoggedOn(UserRights& userRights, Boolean throwOnFail)
    at Scada.Web.ClientApiSvc.GetCurCnlDataExt(String cnlNums, String viewIDs, Int32 viewID)
    2017-08-01 20:14:18 <RUSTP-WEBWS-20><DefaultAppPool><EXC> Ошибка при получении расширенных текущих данных по фильтру, где каналы= , ид. представления=3030:
    Scada.ScadaException: Пользователь не вошёл в систему.
    at Scada.Web.UserMonitor.CheckLoggedOn(UserRights& userRights, Boolean throwOnFail)
    at Scada.Web.ClientApiSvc.GetCurCnlDataExt(String cnlNums, String viewIDs, Int32 viewID)
    2017-08-01 20:14:20 <RUSTP-WEBWS-20><DefaultAppPool><EXC> Ошибка при получении расширенных текущих данных по фильтру, где каналы= , ид. представления=3050:
    Scada.ScadaException: Пользователь не вошёл в систему.
    at Scada.Web.UserMonitor.CheckLoggedOn(UserRights& userRights, Boolean throwOnFail)
    at Scada.Web.ClientApiSvc.GetCurCnlDataExt(String cnlNums, String viewIDs, Int32 viewID)
    2017-08-01 20:14:20 <RUSTP-WEBWS-20><DefaultAppPool><EXC> Ошибка при получении расширенных текущих данных по фильтру, где каналы= , ид. представления=3030:
    Scada.ScadaException: Пользователь не вошёл в систему.
    at Scada.Web.UserMonitor.CheckLoggedOn(UserRights& userRights, Boolean throwOnFail)
    at Scada.Web.ClientApiSvc.GetCurCnlDataExt(String cnlNums, String viewIDs, Int32 viewID)
    2017-08-01 20:14:21 <RUSTP-WEBWS-20><DefaultAppPool><EXC> Ошибка при получении расширенных текущих данных по фильтру, где каналы= , ид. представления=3050:
    Scada.ScadaException: Пользователь не вошёл в систему.
    at Scada.Web.UserMonitor.CheckLoggedOn(UserRights& userRights, Boolean throwOnFail)
    at Scada.Web.ClientApiSvc.GetCurCnlDataExt(String cnlNums, String viewIDs, Int32 viewID)
    2017-08-01 20:14:21 <RUSTP-WEBWS-20><DefaultAppPool><EXC> Ошибка при получении расширенных текущих данных по фильтру, где каналы= , ид. представления=3030:
    Scada.ScadaException: Пользователь не вошёл в систему.
    at Scada.Web.UserMonitor.CheckLoggedOn(UserRights& userRights, Boolean throwOnFail)
    at Scada.Web.ClientApiSvc.GetCurCnlDataExt(String cnlNums, String viewIDs, Int32 viewID)
    2017-08-01 20:14:21 <RUSTP-WEBWS-20><DefaultAppPool><ACT> Вход в систему без пароля: user (Elopak_user). IP-адрес: 10.7.67.13
    2017-08-01 20:14:21 <RUSTP-WEBWS-20><DefaultAppPool><ACT> Обновлена информация о пользователе. IP-адрес: 10.7.67.13. Сессия: 2iklk0l5prn3rc0hjhcyf0td
    2017-08-01 20:14:22 <RUSTP-WEBWS-20><DefaultAppPool><EXC> Ошибка при получении часовых данных по фильтру, где каналы= , ид. представления=3050:
    Scada.ScadaException: Пользователь не вошёл в систему.
    at Scada.Web.UserMonitor.CheckLoggedOn(UserRights& userRights, Boolean throwOnFail)
    at Scada.Web.ClientApiSvc.GetHourCnlData(Int32 year, Int32 month, Int32 day, Int32 startHour, Int32 endHour, String cnlNums, String viewIDs, Int32 viewID, Boolean existing, String dataAge)
    2017-08-01 20:14:23 <RUSTP-WEBWS-20><DefaultAppPool><EXC> Ошибка при получении расширенных текущих данных по фильтру, где каналы= , ид. представления=3050:
    Scada.ScadaException: Пользователь не вошёл в систему.
    at Scada.Web.UserMonitor.CheckLoggedOn(UserRights& userRights, Boolean throwOnFail)
    at Scada.Web.ClientApiSvc.GetCurCnlDataExt(String cnlNums, String viewIDs, Int32 viewID)
    2017-08-01 20:14:24 <RUSTP-WEBWS-20><DefaultAppPool><EXC> Ошибка при получении расширенных текущих данных по фильтру, где каналы= , ид. представления=3050:
    Scada.ScadaException: Пользователь не вошёл в систему.
    at Scada.Web.UserMonitor.CheckLoggedOn(UserRights& userRights, Boolean throwOnFail)
    at Scada.Web.ClientApiSvc.GetCurCnlDataExt(String cnlNums, String viewIDs, Int32 viewID)
    2017-08-01 20:14:24 <RUSTP-WEBWS-20><DefaultAppPool><ACT> Вход в систему без пароля: user (Elopak_user). IP-адрес: 10.7.68.61
    2017-08-01 20:14:24 <RUSTP-WEBWS-20><DefaultAppPool><ACT> Обновлена информация о пользователе. IP-адрес: 10.7.68.61. Сессия: ceuzzkpodusnnuu5hhta5yjb

    В консоли IIS в Default_App_pool Recycling regular time interval стояло 1740 минут. Как раз около суток. Попробовал выполнить recycling принудительно — вылетело на главную страницу, WEB станция не разлогинилась.
    Установил интервал в 0. Посмотрим.

    Oleg
    Участник

    Как можно импортировать хотя бы названия этих каналов в базу Администратора? Я так понимаю у файла базы проприетарный формат

    Oleg
    Участник

    Получается самый «простой вариант» это создание 25 вх. каналов телеизмерения.
    Получаем 25*35=1600 бит. Плюс нужно создать 1600 вх. каналов дорасчетных — каждый канал для своей ошибки. В каждый из 25 каналов вставить формулу, которая будет устанавливать значение 0 или 1 для 1600 каналов в соответствии с диапазоном:
    1 вх. канал телеизмерение <—> 1..32 вх. канал дорасчетный
    ………………………………………………….
    25 вх. канал телеизмерение <—> 1568..1600 вх. канал дорасчетный

    Если создавать 1600 вх. каналов телеизмерения типа bool заметно тормозит коммуникатор — обновление данных происходит не раз в секунду, а раз в три или пять секунд. Возможно большая нагрузка на OPC сервер. Если переменных около 200 — все нормально.

    Нет, создавать 1600 картинок — это вех мазохизма 🙂
    По кругу тоже не вариант — хочется списком и фиксация появления/сброса ошибки в событиях.

    Да, у меня есть текстовый файл со списком ошибок. В файле 1600 строк.
    Если несколько ошибок по выводить нужно конечно все ошибки.
    Сократить до 8 символов не получится, точнее получится шифр) Тога проще выдавать номер ошибки и сверяться с табличкой, что означает этот номер.
    Сопоставление бита ошибки строке в файле сделать можно, но вот как вывести в веб — это опрос конечно.

    • Этот ответ был изменен 6 лет, 8 месяцев назад от Oleg.
    • Этот ответ был изменен 6 лет, 8 месяцев назад от Oleg.
    • Этот ответ был изменен 6 лет, 8 месяцев назад от Oleg.
    в ответ на: Выкидывает на главную страницу. #6816
    Oleg
    Участник

    Скада работает на виртуальной Windows 7 Pro в локальной сети.
    Почистил лог — попробую выловить момент ошибки и проверить записи.

    Oleg
    Участник

    Здравствуйте. Вопрос по этой же теме.
    Есть контроллер, в котором ошибки работы агрегата записываются в блок данных размером 200 байт. Количество типов ошибок 200х8=1600. Есть список этих ошибок в текстовом виде типа:
    «ошибка 100.0″=»Ошибка автомата»
    «ошибка 100.1″=»Ошибка предохранителя»

    Есть какой либо более простой способ выводить ошибки на веб страницу, чем создание 1600 входных каналов + создание 1600 строк в таблице Размерности с описанием ошибки для каждого канала?

    У меня был вариант создания 50 входных каналов для считывания 50 переменных типа DWORD что с разрядностью контроллера составит 50 двойных слов х 4 байта х 8 бит = 1600 бит. Далее каждый канал раскладывать по битам и брать те каналы, значение которых равно 1, т.е. ошибка активна. Далее, зная номер канал с активной ошибкой мы можем с помощью формулы взять описание ошибки из референсного текстового файла на сервере, например «ошибка 100.0″=»Ошибка автомата».
    Но как это описание вывести в табличное представление или на схему?

    • Этот ответ был изменен 6 лет, 8 месяцев назад от Oleg.
    Oleg
    Участник

    Понятно, спасибо. Достаточно ли для использования нового модуля управления обновить до версии 5.0.2.0 только Сервер?

    Oleg
    Участник

    Если я правильно понял, то с предыдущей версией сервера нельзя изпользовать новую версию модуля?

    Oleg
    Участник
    Oleg
    Участник

    Михаил,
    Да, для KpPing.

    Oleg
    Участник

    Заметил особенность: если на линии связи несколько КП и все активны — частота опроса соответствует установленной (1 секунда). Если одно из КП не доступно — частота опроса увеличивается (опрос каждые 3 секунды). Если два устройства не доступны — опрос происходит раз в шесть секунд.

    Oleg
    Участник

    В контекстном меню файла «KpPing.dll» выбрал опцию разблокировать файл скачанный из интернета (не дословно). Все работает. Спасибо.

Просмотр 15 сообщений - с 1 по 15 (из 22 всего)