This is topic Звуковое оповещение на события in forum TRACE MODE 7 профессиональная версия / TRACE MODE 7 professional version at Форум TRACE MODE: техническая поддержка.


To visit this topic, use this URL:
http://forum.adastra.ru/ultimatebb.php/ubb/get_topic/f/59/t/000135.html

Posted by ViktorSH (Участник № / Member № 9914) on :
 
Настроил аварийные сообщения на включение звука.
Хочу однократным нажатием на кнопку отключить звук и очистить очередь. Беру системную переменную s1430 и записываю -1 в параметр 5. Происходит отключение звука, но запускается следующая в очереди (не происходит очистка очереди, если сработало 5 аварий, то надо нажать 5 раз). Если записывать 0, то очередь очищается, но продолжает проигрываться звуковой файл. Подскажите как сделать отключение звука одним нажатием.
 
Posted by ViktorSH (Участник № / Member № 9914) on :
 
И еще вопрос по звуковому оповещению.
Какой переменной увидеть состояние звука (в данный момент идет проигрывание)?
В переменной s1430 есть параметр 5 по которому можно посмотреть очередь звуковых файлов. Но когда один сигнал запускает звуковой файл программа не успевает увидеть его в очереди.
 
Posted by Nico (Участник № / Member № 5342) on :
 
-Длительность текущего воспроизведения(7)
 
Posted by ViktorSH (Участник № / Member № 9914) on :
 
У меня клиент-серверная система. На сервере звук работает (RTM), а на клиентской машине (NetLink) нет. Как настроить NetLink, чтобы и там был звук?
Есть системная переменная s1429, которая должна работать для NetLink, но куда ее привязывать?
 
Posted by АдАстра. Техподдержка (Участник № / Member № 4) on :
 
Здравствуйте!

Беру системную переменную s1430 и записываю -1 в параметр 5
Если у Вас системная переменная привязана к Discrete-каналу, то значение "-1" вводите в атрибут In.
Если у Вас системная переменная привязана к Call-каналу, то значение "-1" вводите а аргумент "queueSize_0clearQueue_-1reset"

"-1" приводит именно к очищению текущей очереди.
Если условие возникновения звукового оповещения возникнет после команды "-1" (даже через, условно, 1 мс), то оно будет воспроизведено.

Какой переменной увидеть состояние звука (в данный момент идет проигрывание)?
В канале Call По аргументу 5 "queueSize_0clearQueue_-1reset" (очередь) или 7 "currentPlaybackDuration" (время текущего воспроизведения в секундах)
В канале Discrete с аналогичными по номеру Параметрами в системной переменной.

Есть системная переменная s1429, которая должна работать для NetLink, но куда ее привязывать?
У данной системной переменной есть описание во встроенной Справочной Системе - Системные переменные - s1429:
"Данная переменная создается в узле RTM и через аргумент экрана может попадать в NetLink (как и другие каналы)."
 
Posted by ViktorSH (Участник № / Member № 9914) on :
 
Звук появляется по состоянию discrete каналу из словаря. В RTM звук есть.
На экране, который перетянул в NetLink создал аргумент и привязал к нему s1429. Звук на NetLink не появился. Что сделать для появления звука на NetLink?
 
Posted by ViktorSH (Участник № / Member № 9914) on :
 
Когда я создаю аргумент на экране и привязываю ее к системной переменной, то я могу управлять настройкой системной переменной (установить проигрывание 1 раз, по циклу, установить продолжительность, отключить). Но у меня не происходит включение звука по событию в словаре. Как звук попадет в NetLink через аргумент экрана?
 
Posted by Nico (Участник № / Member № 5342) on :
 
-
1429 и 1430 предназначены
для воспроизведения звуков задаваемых через аргументы 0-3
-
в NetLink воспроизведение звука от сообщения
не предусмотрено
 
Posted by ViktorSH (Участник № / Member № 9914) on :
 
Помогите настроить запуск звукового файла вручную.
Подключаю в диагностике переменную s1430, перетаскиваю в RTM, переименовываю в s1430_sound (создается ChGroupRep с аргументами 0 - 7). В папке RTM создаю папку sounds. Звуковой файл обзываю s1430_sound_1. В справке написано что присваивая переменной s1430_sound значение 1 должен запуститься звуковой файл s1430_sound_1.wav. Но звука нет. Что я делаю не так и как правильно?
 
Posted by Nico (Участник № / Member № 5342) on :
 
" В справке написано что присваивая переменной s1430_sound значение 1 должен запуститься звуковой файл s1430_sound_1.wav"

запись должна быть в аргумент(0-3)
 
Posted by АдАстра. Техподдержка (Участник № / Member № 4) on :
 
Системная переменная может быть привязана к числовому каналу или каналу класса Call (см. Прототип канала (246) в Источники - Диагностика и Сервис - <целевая системная переменная>).
Так же системную переменную можно вручную привязать к каналу.

Если через числовой канал, то в системной переменной необходимо выбрать Параметр.

Если через канал класса Call, то будут созданы аргументы в канале класса Call, которые будут отвечать за все(!) возможные Параметры системной переменной (ориентируемся на название аргумента).

Предметно о s1430. Если создан Call, то действуем по рекомендации Nico - используем первые 4 аргумента.

В необходимый аргумент подаем некоторое число Х.
Это число должно быть в названии wav-файла (например, канал Call с системной переменной имеет название s1430, тогда звуковой файл в папке \sounds\ должен иметь название s1430_Sound_X.wav)

[ 02.10.2025, 12:53: Сообщение отредактировал / Message edited by АдАстра. Техподдержка ]
 
Posted by ViktorSH (Участник № / Member № 9914) on :
 
С ручным запуском звука с кнопки на экране получилось. Как техподдержка просветила надо было создать descrete канал типа OUT и привязать к параметру 3 s1430. Теперь хочу запустить звук из программы. В программе выходной аргумент привязываю к descrete каналу типа OUT к атрибуту 2 (In), который привязываю к параметру 3 s1430. Звука нет. Как настроить программу для запуска звука?
 
Posted by Nico (Участник № / Member № 5342) on :
 
1
чтоб исключить разночтение:
"descrete каналу типа OUT к атрибуту 2 (In), который привязываю к параметру 3 s1430"
данное действие выполнить невозможно !

можно источник(сист переменную 1430) привязать к
дискретному каналу -> в поле привязка(86) у канала
появится имя сист переменной
2
- имя канала descrete типа OUT ?
- реальное значение канала descrete меняется ?
 
Posted by АдАстра. Техподдержка (Участник № / Member № 4) on :
 
С ручным запуском звука с кнопки на экране получилось.
Хорошая новость.

Как техподдержка просветила надо было создать descrete канал типа OUT и привязать к параметру 3 s1430.
Специалисты службы технической поддержки сообщили два разных способа, одинаково работоспособных (через числовой канал или через Call).

Теперь хочу запустить звук из программы.
Если Вы подразумеваете под "программой" шаблон программы, то достаточно создать шаблон программы, выбрать язык, написать тело программы, отладить и перенести его в узел (будет создан канал класса Call с типом вызова Program).
Выходной аргумент программы должен по заданным условиям формировать цифру-команду, которую подавать в канал, связанный с s1430.
Проверьте, что папка sounds есть в папке узла проекта.
 
Posted by ViktorSH (Участник № / Member № 9914) on :
 
Я создал дискретный канал d1 типа OUT, привзязал в [86] агрумент 3 системной переменной s1429. Создал папку sound в NetLink. При нажатии кнопки на экране, привязанному каналу d1 присваиваю 1 в IN. Звук работает. При попытке вызвать звук из программы (шаблон программы с привязанными агрументами) с выходным каналом IN или от контроллера по modbus изменения переменной есть, но звука нет.
 
Posted by ViktorSH (Участник № / Member № 9914) on :
 
По поводу сообщения Niko ("descrete каналу типа OUT к атрибуту 2 (In), который привязываю к параметру 3 s1430"
данное действие выполнить невозможно !) В программе есть аргумент d1 типа OUT. При выполнении программы в этот аргумент записываю 1 и должен запускаться звук (при перетаскивании из шаблонов программ в RTM переменные программы привязываю каналы)
 
Posted by ViktorSH (Участник № / Member № 9914) on :
 
Может через канал Call.Move получится передать значение 1 в s1430?
 
Posted by Nico (Участник № / Member № 5342) on :
 
- переменные программы привязываю каналы
d1 типа OUT привязан к какому каналу и атрибуту ?
- s1430 это CALL(c аргументами ) или числовой канал?
если CALL то d1 типа OUT привязать к аргументу 0-3
CALL.1439
иначе к числовой.1430(должен быть OUTPUT) к атрибуту 2(In)
- никаких дополнительных каналов между d1 и 1430
не нужно
 
Posted by ViktorSH (Участник № / Member № 9914) on :
 
Числовой канал d1 тип OUTPUT привязан к [86] s1429_SoundNetLink:toBeginning_stop_cyclical (Система/RTM_0/Каналы_1). При посылке 1 запускается звуковой файл s1429_SoundNetLink_1 (с кнопки на экране). Если выходной аргумент из программы привязываю к d1, то значение меняется, а звука нет.
 
Posted by АдАстра. Техподдержка (Участник № / Member № 4) on :
 
Для начала давайте разберемся с чем работаем. С RTM (s1430) или NetLink (s1429)?

На текущий момент,s1429 работает только в NetLink. Команды "извне" не поддерживаются.
В ближайшем релизе 7.1.0.7 будут поддерживаться команды из других узлов, в том числе от Программы из RTM в NLL.

По вопросу запуска s1430.
Сначала создайте один канал (кстати, числовой или Call?). Проверьте запуск звука через Панель МРВ.
И только затем привязывайте канал с системной переменной к каналу вызова шаблона программы.
 
Posted by ViktorSH (Участник № / Member № 9914) on :
 
Запуск звука получилось запустить из программы. Создал 2 выходных переменных из программы. Помимо 1 на дискретный канал, привязанный к s1429_SoundNetLink:toBeginning_stop_cyclical, подал 1 на s1429_SoundNetLink в 2(In). Спасибо за помощь.
 


Новости АСУ ТП / News | SCADA / HMI | Обучение / Trainings | Свяжитесь с нами / Contact Us



Powered by Infopop Corporation
UBB.classic™ 6.7.2