Леонид
Junior Member / Новичок
Участник № / Member № 3253
отправлено / posted
Имеется ГЭ "События", на него заведено несколько событий. Каналы события привязаны к источнику OPC. Вобщем все работает, но... при перезапуске МРВ события пару секунд нет, а потом оно появляется (когда опс сервер заработает). События записываю в дамп и веду стек событий. Дак вот можно ли как-то избавиться от лишних записей в стеке (которые появляютса во время перезагрузки)?. Может как-то завязаться с достоверностью канала?
Сообщения / Posts 21 | Из / From: Россия
| IP / IP: IP адрес / IP address |
отправлено / posted
Не сохраняйте стек канала СОБЫТИТЕ в ДАМП, тогда при перезагрузки узла стек этого канала будет пустой.
Сообщения / Posts 17316 | Из / From: Россия
| IP / IP: IP адрес / IP address |
Леонид
Junior Member / Новичок
Участник № / Member № 3253
отправлено / posted
Это понятно, но хотелось бы видеть и события, которые были до перезагрузки
Сообщения / Posts 21 | Из / From: Россия
| IP / IP: IP адрес / IP address |
отправлено / posted
В таком случае, уточните, пожалуйста, что имеется в виду под "лишними записями в стеке"?
Сообщения / Posts 17316 | Из / From: Россия
| IP / IP: IP адрес / IP address |
Леонид
Junior Member / Новичок
Участник № / Member № 3253
отправлено / posted
Предположим событие имело статус=1. потребовалось по каким-то причинам выключить компьютер (или МРВ). Заново включаем МРВ, и пока не запустится OPC сервер статус события будет равен 0, через несколько секунд станет равен 1(после запуска OPC сервера). Таким образом получается запись в стеке, что событие возникло (через несколько секунд после включения МРВ). Хотелось бы видеть в стеке только запись о реальном возникновении события(до выключения МРВ). Дак вот, можно ли как-нибудь не записывать событие в стек, пока не запустится OPC сервер?
Сообщения / Posts 21 | Из / From: Россия
| IP / IP: IP адрес / IP address |
отправлено / posted
Я прошу прощения за пропущенную подробность. Штатно канал СОБЫТИЕ нельзя непосредственно подключать к ИСТОЧНИКУ. Надо к OPC-ИСТОЧНИКУ подключить числовой канал, а уже к нему подключать канал СОБЫТИЕ. При этом и у ЧИСЛОВОГО КАНАЛА и у канала СОБЫТИЕ надо в свойствах установить флажки "Запрос времени значения".
Сообщения / Posts 17316 | Из / From: Россия
| IP / IP: IP адрес / IP address |
Леонид
Junior Member / Новичок
Участник № / Member № 3253
отправлено / posted
Канал СОБЫТИЕ у меня действительно подключен к источнику через числовой канал. Указанный флаг не стоит, из справки не совсем понятно что он даст в моем случае (как я понял в атрубут канала СОБЫТИЕ "время изменения" запишется время изменения источника), попробую в ближайшее время на объекте. Спасибо
Сообщения / Posts 21 | Из / From: Россия
| IP / IP: IP адрес / IP address |
Nico
Forum Professor / Завсегдатай форума
Участник № / Member № 5342
Ilgeneer
Forum Member / Участник форума
Участник № / Member № 5896
отправлено / posted
Здравствуйте. Подскажите пожалуйста, есть ли возможность выводить событие по изменению отдельного бита слова. 0-нет события 1-есть а не по изменению значения всего слова.
Сообщения / Posts 51 | Из / From: Россия
| IP / IP: IP адрес / IP address |
отправлено / posted
Если числовой канал содержит слово, полученное от "Источника" или, например, от программы, то канал СОБЫТИЕ может быть залинкова на его соответствующий бит. Тогда он будет индицировать бинарное событие по значению этого бита.
Сообщения / Posts 17316 | Из / From: Россия
| IP / IP: IP адрес / IP address |
Ilgeneer
Forum Member / Участник форума
Участник № / Member № 5896
отправлено / posted
Например есть у меня канал HEX16 в узле. к нему привязан канал из "Источники/Приемники" получающий данные с ПЛК. К каналу СОБЫТИЕ я должен привязать канал HEX16 и в настройках канала "Дополнительно" в привязке указать необходимый бит? тогда канал Событие будет срабатывать при установке этого бита в 1 не смотря на остальное слово?
отправлено / posted
У канала Float нет атрибутов "бит". Если событие определяется отличием от 0 атриубта ИНТЕРВАЛ канала FLOAT, то можно использовать "Расширенный алгоритм канала СОБЫТИЕ".
Сообщения / Posts 17316 | Из / From: Россия
| IP / IP: IP адрес / IP address |
Ilgeneer
Forum Member / Участник форума
Участник № / Member № 5896
отправлено / posted
Прошу прояснить ещё один момент: Аргумент экрана, привязанный к каналу СОБЫТИЕ, который в свою очередь привязан к каналу типа HEX16. должен иметь тип данных (который ставится в аргументах экрана) BOOL. или другой (например FLOAT по умолчанию)?
Сообщения / Posts 51 | Из / From: Россия
| IP / IP: IP адрес / IP address |
отправлено / posted
Тип данных аргумента экрана, привязанного к каналу СОБЫТИЕ, существенного значения не имеет.
Сообщения / Posts 17316 | Из / From: Россия
| IP / IP: IP адрес / IP address |
Ilgeneer
Forum Member / Участник форума
Участник № / Member № 5896
отправлено / posted
А как привязывать звук к событию?
В слое Источников я создал @Sound_File_1 (параметр=3, тип output) в узле - словарь сообщений Для_канала_Событие в папке проекта .wav файлы названные соответственно строкам Текст.
таким образом если появляется событие со статусом E_On то должно начаться воспроизведение файла E_On.wav? направление выбрано AR+G+PlayLoopStop.
отправлено / posted
Каналу СОБЫТИЕ должен быть установлен флаг "Отчет тревог" с привязанным к нему соответствующим словарем (имеющим настройки на звуковое сопровождение). В узле должен быть задан активный на старте Отчет тревог. Звуковые файлы должны лежать в папке узла.
В этой конфигурации канал OUT, связанный с @Sound_File должен использоваться для гашения звука: PlayLoopStop - вызовет циклическое воспроизведение звукового файла. Надо будет прерывать звук при некоторых условиях.
Сообщения / Posts 17316 | Из / From: Россия
| IP / IP: IP адрес / IP address |
Ilgeneer
Forum Member / Участник форума
Участник № / Member № 5896
отправлено / posted
Канал Событие связал с отчетом тревог. А остановку сделал другим звуковым файлом. Если событие появляется (например E_On )то играет соответствующий файл E_On.wav с настройкой PlayLoopStop.
Когда событие исчезает, или квитируется, (получает статус E_On+Act) то проигрывается файл E_On+Act.wav с настройкой PlayStop.
Ilgeneer
Forum Member / Участник форума
Участник № / Member № 5896
отправлено / posted
Что то у меня сломалось.
При первой проверке все так и произошло. Но когда подключил все события, То при возникновении играет тревогу,после квитирования каждого события играет отбой, но когда все тревожные события квитированы, опять начинает играть тревогу. На экране событий статус или E_On+Act(квитировано) или многоточие (событие и не возникало) на первый взгляд все однотипно сделано.
Где я мог допустить неточность? подскажите куда смотреть в настройках?
обнаружил ещё вот что: когда идет воспроизведение тревоги, а все события квитированы, если остановить МРВ а потом запустить. то показание квитирования остается, но звук уже не воспроизводится.
Сообщения / Posts 51 | Из / From: Россия
| IP / IP: IP адрес / IP address |
отправлено / posted
Останавливать МРВ, а затем запускать его без перезагрузки нельзя - нет полного завершения всех потоков. Правильный порядок: остановить МРВ - выгрузить МРВ - запустить МРВ - загрузить узел - запустить узел.
Вам надо искать, от какого именно канала СОБЫТИЕ "опять начинает играть тревогу" и смотреть его настройки и настройки его словаря сообщений.
Сообщения / Posts 17316 | Из / From: Россия
| IP / IP: IP адрес / IP address |
Ilgeneer
Forum Member / Участник форума
Участник № / Member № 5896
отправлено / posted
с остановкой МРВ понял
у меня всего 34 события. 26 из них имеют значение 0 8 сразу 1. они при загрузке (старте МРВ) подают сигнал тревоги. я их по очереди квитирую. но входной сигнал у них не меняется (так как это значение считывается из ПЛК) а статус в экране СОБЫТИЙ переключается с E_On на E_On+Act после квитирования.
А ничего если я использую один словарь для всех каналов СОБЫТИЕ? Или это не влияет в данном случае?
Сообщения / Posts 51 | Из / From: Россия
| IP / IP: IP адрес / IP address |
отправлено / posted
Общий словарь для каналов СОБЫТИЕ использовать можно.
Все 8 начальных звуковых сообщений при запуске встали в очередь. Каждое квитирование прерывает текущее воспроизведение, но не уничтожает оставшиеся в очереди запросы на воспроизведение.
Введите каналы, связанные, с @Sound_File_Input и @Sound_File_OUT (см.описание). Вы сможете увидеть размер очереди и уничтожить очередь.
Сообщения / Posts 17316 | Из / From: Россия
| IP / IP: IP адрес / IP address |
Ilgeneer
Forum Member / Участник форума
Участник № / Member № 5896
отправлено / posted
Накладка происходит при слишком быстром квитировании.
когда играет авария при нескольких событиях, и если их быстро квитировать (после квитирования одного события не дожидаться начала воспроизведения аварии следующего), то после квитирования всех событий снова играет авария. если делать все постепенно, дожидаясь отработки и звукового оповещения, то все происходит хорошо. все события квитируются. и звук аварии не появляется.
Ilgeneer
Forum Member / Участник форума
Участник № / Member № 5896
отправлено / posted
Здравствуйте. Ещё вопрос : Иногда не получается квитировать событие. То-есть навожу указатель на активное событие, пытаюсь квитировать и ничего не происходит. Происходит это на разных каналах - событие, разных ГЭ события. При очередном запуске МРВ ситуация меняется, или все удается квитироввать или меняются события, которые квитировать не получается. С чем может быть связано такое положение?
Часто бывает такая ситуация: При запуске МРВ некоторые события уже имеют состояние E_on. МРВ загружается и начинается оповещение об аварии. Я перехожу на экран с ГЭ_события и чтобы квитировать сообщение надо немного подождать (несколько секунд) и нажать ЛК на любое место экрана, только после этого можно квитировать, иначе никакой реакции на квитирование не происходит.
Сообщения / Posts 51 | Из / From: Россия
| IP / IP: IP адрес / IP address |
отправлено / posted
1. Очередность отработки звуковых сообщений в значительной степени определяется принятым Вами алгоритмом формирования звуковых сообщений. Это можно проанализировать только на реальном проекте.
2. Квитирование активного события в ГЭ "События" осуществляется при одновременном нажатии Ctrl и ЛК мыши на выделенном СОБЫТИИ. При этом надо учитывать, что существуют таймауты на квитирование событий (см. описание @RTM_Parameter с Параметр = 10 и Параметр = 11).
3. После загрузки и запуска узла и осуществляется активизация всех рабочих потоков, на что требуется определенное время. При этом графика активизируется в последнюю очередь. Возможно, причина в задержке первичного квитирования именно в этом.
Сообщения / Posts 17316 | Из / From: Россия
| IP / IP: IP адрес / IP address |