Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 22

Тема: "Озвучка" аварийных сообщений.

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    По умолчанию "Озвучка" аварийных сообщений.

    Коллеги, приветствую!

    Как можно сделать так, чтобы при возникновении аварии с приоритетом выше некоторого значения сработал звуковой сигнал (я думаю, через колонки компьютера) и отключился только после квитирования этой аварии оператором? Такое должно происходить только на АРМе главного диспетчера
    Если можно обойтись без скрипта - прошу подсказать как. Если же нужен скрипт - прошу привести пример

  2. #2

    По умолчанию

    Цитата Сообщение от Hemann Посмотреть сообщение
    Коллеги, приветствую!

    Как можно сделать так, чтобы при возникновении аварии с приоритетом выше некоторого значения сработал звуковой сигнал (я думаю, через колонки компьютера) и отключился только после квитирования этой аварии оператором? Такое должно происходить только на АРМе главного диспетчера
    Если можно обойтись без скрипта - прошу подсказать как. Если же нужен скрипт - прошу привести пример
    Без скрипта никак наверное
    1)
    Сначала, вам надо отфильтровать сообщения/аварию и отследить ее появление, я это делал счетчиком
    fb:
    GetActualEvents или EventsCounter или GetNewEvents
    Код:
    (*Получаем статус предупредительной сигнализации*)
    filterSeverityWarning:='["Active=TRUE", "Severity = 500"]';
    
    EventsCounter_1(Filter:=filterSeverityWarning, IsGlobal:= true, Ack:= , UserName:= , Comment:= );


    2)
    Далее формируете звуковой сигнал
    fb:
    PlaySound


    Для начала попробуйте манипуляции с этими fb по отдельности, особенно PlaySound

  3. #3

    По умолчанию

    Цитата Сообщение от VladGC Посмотреть сообщение
    Без скрипта никак наверное
    Спасибо! Я тоже подумал что без скрипта никак. Есть, правда, 2 момента. Во-первых, я не силен в C# (2 раза начинал изучать по Шилдту, но доходил до 13 главы и пропадало время на дальнейшее изучение ), хотя С и С++ знаю неплохо. А во-вторых, не знаю ни объекты MS4D, ни их свойства, события, методы...
    И еще. Этот скрипт должен выполняться в какой задаче, чтобы только на АРМе диспетчера это все работало (на других АРМах не нужно)? Архив проекта здесь: https://cloud.mail.ru/public/JAAq/KtGF1aUHq

  4. #4

    По умолчанию

    Цитата Сообщение от Hemann Посмотреть сообщение
    Спасибо! Я тоже подумал что без скрипта никак. Есть, правда, 2 момента. Во-первых, я не силен в C# (2 раза начинал изучать по Шилдту, но доходил до 13 главы и пропадало время на дальнейшее изучение ), хотя С и С++ знаю неплохо. А во-вторых, не знаю ни объекты MS4D, ни их свойства, события, методы...
    И еще. Этот скрипт должен выполняться в какой задаче, чтобы только на АРМе диспетчера это все работало (на других АРМах не нужно)? Архив проекта здесь: https://cloud.mail.ru/public/JAAq/KtGF1aUHq
    Все можно сделать на ST, более того, в случае alarm sound в вашем сценарии, только ST и пойдет, так как c# в задаче экрана не работает


    Как вам писали в другой теме, надо изменить архитектуру
    Что бы было понятнее немного набросал схему

    Переименуйте АРМ в сервер,
    АРМ это в вашем случае это клиент(браузер)
    Добавьте пользователей и роли в разделе безопасность,
    Для каждого пользователя в отдельности можно настроить его стартовое окно



    Рекомендую пройти экспресс курс
    https://stepik.org/course/121740/promo
    Изображения Изображения

  5. #5

    По умолчанию

    Цитата Сообщение от VladGC Посмотреть сообщение
    Как вам писали в другой теме, надо изменить архитектуру
    Что бы было понятнее немного набросал схему
    Большое спасибо!

    Сегодня, еще не успев прочитать Ваше сообщение, тоже дошел до того что нужно изменить структуру системы. Это я и сделал. Поскольку "озвучка" не самый приоритетный (но необходимый) элемент системы, то занимался другими вещами. Хотел бы узнать, Вы считаете создание пользователей обязательным? В постановке задаче такого требования нет - есть сервер, который собирает данные, и есть 4 рабочих места (диспетчер и 3 инженера по направлениям). И еще. Уперся не то в какой-то свой косяк, не то просто не возможно корректно проверить работоспособность всей системы на одном ПК: у инженеров на их АРМах должны появляться аварийные сообщения (кроме того что и конкретные показания приборов они могут видеть), а у диспетчера на АРМе - только всякие сообщения. У диспетчера на АРМе, на главном окне, расположен Архивный журнал 1 с признаком "Глобальный" , но кроме сообщений о входе в систему ничего не отображает. Правда, если нажать на АРМе инженера "На главный экран", то в этом Архивном журнале начинают отображаться сообщения того АРМа, с которого был совершен переход. Я уже архивы всех объектов назначил на архивы, хранящиеся на сервере (думаю, при нашей структуре системы это правильно), но сообщения со всех направлений все равно не отображаются.
    Вот ссылка на текущую версию проекта: https://cloud.mail.ru/public/3KsJ/cAi3AabjE
    Ну и скриншоты, на всякий случай (1-ый - Главный экран диспетчера после перехода на него с экрана электроснабжения, 2-ой - Главный экран диспетчера после перехода на него с экрана водоснабжения, 3-ий - Главный экран диспетчера сразу после запуска системы). На 1-ом скриншоте заметно наличие ошибки "Unknown error", она и на 2-ом скриншоте есть, просто не влезла

  6. #6

    По умолчанию

    Цитата Сообщение от Hemann Посмотреть сообщение
    Большое спасибо!

    Сегодня, еще не успев прочитать Ваше сообщение, тоже дошел до того что нужно изменить структуру системы. Это я и сделал. Поскольку "озвучка" не самый приоритетный (но необходимый) элемент системы, то занимался другими вещами. Хотел бы узнать, Вы считаете создание пользователей обязательным? В постановке задаче такого требования нет - есть сервер, который собирает данные, и есть 4 рабочих места (диспетчер и 3 инженера по направлениям). И еще. Уперся не то в какой-то свой косяк, не то просто не возможно корректно проверить работоспособность всей системы на одном ПК: у инженеров на их АРМах должны появляться аварийные сообщения (кроме того что и конкретные показания приборов они могут видеть), а у диспетчера на АРМе - только всякие сообщения. У диспетчера на АРМе, на главном окне, расположен Архивный журнал 1 с признаком "Глобальный" , но кроме сообщений о входе в систему ничего не отображает. Правда, если нажать на АРМе инженера "На главный экран", то в этом Архивном журнале начинают отображаться сообщения того АРМа, с которого был совершен переход. Я уже архивы всех объектов назначил на архивы, хранящиеся на сервере (думаю, при нашей структуре системы это правильно), но сообщения со всех направлений все равно не отображаются.
    Вот ссылка на текущую версию проекта: https://cloud.mail.ru/public/3KsJ/cAi3AabjE
    Ну и скриншоты, на всякий случай (1-ый - Главный экран диспетчера после перехода на него с экрана электроснабжения, 2-ой - Главный экран диспетчера после перехода на него с экрана водоснабжения, 3-ий - Главный экран диспетчера сразу после запуска системы). На 1-ом скриншоте заметно наличие ошибки "Unknown error", она и на 2-ом скриншоте есть, просто не влезла
    В вашем текущем проекте - 5 серверов
    Оставьте один сервер
    Добавьте
    Роли диспетчера и инженера
    Добавьте пользователей
    Пользователям назначьте стартовые экраны
    У диспетчера будет доступ к главному экрану, у инженера только его




    Вам надо пофиксить преобразования, 3к предуреждений все таки много( по крайней мере в версии 1.3 столько вылезает), даже если на 1.2 все окей, лучше исправить, что бы в будущих обновлениях исправить, тем более актуальная версия 1.3
    С помощью таблицы это делается за 10 минут
    Изображения Изображения

  7. #7

    По умолчанию

    Добрый день.
    Помогите, пожалуйста, я чего-то явно не понимаю....
    Я сделал в ST код:
    filterSeverityWarning:='["Active=TRUE", "Severity=500"]';

    EventsCounter_1(Filter:= filterSeverityWarning, IsGlobal:= TRUE, Ack:= , UserName:= , Comment:= , Archive:= );
    где filterSeverityWarning переменная типа String

    Создал переменную Параметр 1 которую вывожу в журнал с приоритетом 500
    Проблема в том, что выхода счётчика Coint = 1 и Exist = True, когда Параметр 1 = True. Даже если я сквитировал сообщение выхода счётчика Coint = 1 и Exist = True и становятся неактивны только тогда когда Параметр 1 = False. То есть этот код на квитирование внимание не обращает.
    Вопрос, как его доработать?
    Спасибо.

  8. #8

    По умолчанию

    Нашёл свойство Acked, код выглядит следующим образом:
    filterSeverityWarning:='["Acked=FALSE", "Severity=500 or Severity=700"]';

    EventsCounter_1(Filter:=filterSeverityWarning, IsGlobal:=TRUE, Ack:= , UserName:= , Comment:= , Archive:= , Exists =>Старт);

  9. #9

    По умолчанию

    Обнаружилась проблема в работоспособности счётчика/фильтра.
    Использую следующий код:
    filterSeverityWarning:='["Acked=FALSE", "Severity=500 or Severity=700"]';

    EventsCounter_1(Filter:=filterSeverityWarning, IsGlobal:=TRUE, Ack:= , UserName:= , Comment:= , Archive:= , Exists =>Старт);
    Проблема заключается в следующем:
    Когда я запускаю RT и происходит событие параметр с приоритетом 500 или 700 меняет своё значение с FALSE на TRUE, счётчик значения не видит, потом параметр меняет значение с TRUE на FALSE, и счётчик срабатывает когда параметр уже во второй раз меняет значение с FALSE на TRUE. И так для каждого отдельного параметра. То есть программа ждёт положительного фронта для каждого события в отдельности, а первое событие пропускает
    Пробовал менять "Acked=FALSE" на "Active=TRUE" всё аналогично.
    Подскажите, пожалуйста, как исправить данный косяк.
    Спасибо

  10. #10

    По умолчанию

    И ещё позвольте вопрос- при изменении параметра Rep из True в False в PlaySound в он-лайн (привязан параметр Bool )-
    остановка не происходит, корректно работает только через Stop.
    Это нормально?

Страница 1 из 2 12 ПоследняяПоследняя

Похожие темы

  1. Ответов: 10
    Последнее сообщение: 22.02.2023, 09:46
  2. Март 2020. Свежая подборка статей на "Дзене" от "Датчиков ОВЕН"!
    от Алексей Сидорцев в разделе Трёп (Курилка)
    Ответов: 1
    Последнее сообщение: 18.04.2020, 17:32
  3. Ответов: 16
    Последнее сообщение: 15.02.2017, 11:39
  4. Ответов: 1
    Последнее сообщение: 20.12.2012, 13:34
  5. Ограничение количества "Личных сообщений"
    от Gans в разделе Трёп (Курилка)
    Ответов: 16
    Последнее сообщение: 27.11.2012, 16:35

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •