ViktorSH
Junior Member / Новичок
Участник № / Member № 9914
отправлено / posted
Настроил аварийные сообщения на включение звука. Хочу однократным нажатием на кнопку отключить звук и очистить очередь. Беру системную переменную s1430 и записываю -1 в параметр 5. Происходит отключение звука, но запускается следующая в очереди (не происходит очистка очереди, если сработало 5 аварий, то надо нажать 5 раз). Если записывать 0, то очередь очищается, но продолжает проигрываться звуковой файл. Подскажите как сделать отключение звука одним нажатием.
Сообщения / Posts 12 | Из / From: Россия
| IP / IP: IP адрес / IP address |
ViktorSH
Junior Member / Новичок
Участник № / Member № 9914
отправлено / posted
И еще вопрос по звуковому оповещению. Какой переменной увидеть состояние звука (в данный момент идет проигрывание)? В переменной s1430 есть параметр 5 по которому можно посмотреть очередь звуковых файлов. Но когда один сигнал запускает звуковой файл программа не успевает увидеть его в очереди.
Сообщения / Posts 12 | Из / From: Россия
| IP / IP: IP адрес / IP address |
Nico
Forum Professor / Завсегдатай форума
Участник № / Member № 5342
ViktorSH
Junior Member / Новичок
Участник № / Member № 9914
отправлено / posted
У меня клиент-серверная система. На сервере звук работает (RTM), а на клиентской машине (NetLink) нет. Как настроить NetLink, чтобы и там был звук? Есть системная переменная s1429, которая должна работать для NetLink, но куда ее привязывать?
Сообщения / Posts 12 | Из / From: Россия
| IP / IP: IP адрес / IP address |
Беру системную переменную 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 (как и другие каналы)."Сообщения / Posts 17536 | Из / From: Россия
| IP / IP: IP адрес / IP address |
ViktorSH
Junior Member / Новичок
Участник № / Member № 9914
отправлено / posted
Звук появляется по состоянию discrete каналу из словаря. В RTM звук есть. На экране, который перетянул в NetLink создал аргумент и привязал к нему s1429. Звук на NetLink не появился. Что сделать для появления звука на NetLink?
Сообщения / Posts 12 | Из / From: Россия
| IP / IP: IP адрес / IP address |
ViktorSH
Junior Member / Новичок
Участник № / Member № 9914
отправлено / posted
Когда я создаю аргумент на экране и привязываю ее к системной переменной, то я могу управлять настройкой системной переменной (установить проигрывание 1 раз, по циклу, установить продолжительность, отключить). Но у меня не происходит включение звука по событию в словаре. Как звук попадет в NetLink через аргумент экрана?
Сообщения / Posts 12 | Из / From: Россия
| IP / IP: IP адрес / IP address |
Nico
Forum Professor / Завсегдатай форума
Участник № / Member № 5342
отправлено / posted
- 1429 и 1430 предназначены для воспроизведения звуков задаваемых через аргументы 0-3 - в NetLink воспроизведение звука от сообщения не предусмотрено
Сообщения / Posts 955 | Из / From: Россия
| IP / IP: IP адрес / IP address |
ViktorSH
Junior Member / Новичок
Участник № / Member № 9914
отправлено / posted
Помогите настроить запуск звукового файла вручную. Подключаю в диагностике переменную s1430, перетаскиваю в RTM, переименовываю в s1430_sound (создается ChGroupRep с аргументами 0 - 7). В папке RTM создаю папку sounds. Звуковой файл обзываю s1430_sound_1. В справке написано что присваивая переменной s1430_sound значение 1 должен запуститься звуковой файл s1430_sound_1.wav. Но звука нет. Что я делаю не так и как правильно?
Сообщения / Posts 12 | Из / From: Россия
| IP / IP: IP адрес / IP address |
Nico
Forum Professor / Завсегдатай форума
Участник № / Member № 5342
отправлено / posted
" В справке написано что присваивая переменной s1430_sound значение 1 должен запуститься звуковой файл s1430_sound_1.wav"
отправлено / posted
Системная переменная может быть привязана к числовому каналу или каналу класса Call (см. Прототип канала (246) в Источники - Диагностика и Сервис - <целевая системная переменная>). Так же системную переменную можно вручную привязать к каналу.
Если через числовой канал, то в системной переменной необходимо выбрать Параметр.
Если через канал класса Call, то будут созданы аргументы в канале класса Call, которые будут отвечать за все(!) возможные Параметры системной переменной (ориентируемся на название аргумента).
Предметно о s1430. Если создан Call, то действуем по рекомендации Nico - используем первые 4 аргумента.
В необходимый аргумент подаем некоторое число Х. Это число должно быть в названии wav-файла (например, канал Call с системной переменной имеет название s1430, тогда звуковой файл в папке \sounds\ должен иметь название s1430_Sound_X.wav)
ViktorSH
Junior Member / Новичок
Участник № / Member № 9914
отправлено / posted
С ручным запуском звука с кнопки на экране получилось. Как техподдержка просветила надо было создать descrete канал типа OUT и привязать к параметру 3 s1430. Теперь хочу запустить звук из программы. В программе выходной аргумент привязываю к descrete каналу типа OUT к атрибуту 2 (In), который привязываю к параметру 3 s1430. Звука нет. Как настроить программу для запуска звука?
Сообщения / Posts 12 | Из / From: Россия
| IP / IP: IP адрес / IP address |
Nico
Forum Professor / Завсегдатай форума
Участник № / Member № 5342
отправлено / posted
1 чтоб исключить разночтение: "descrete каналу типа OUT к атрибуту 2 (In), который привязываю к параметру 3 s1430" данное действие выполнить невозможно !
можно источник(сист переменную 1430) привязать к дискретному каналу -> в поле привязка(86) у канала появится имя сист переменной 2 - имя канала descrete типа OUT ? - реальное значение канала descrete меняется ?
Сообщения / Posts 955 | Из / From: Россия
| IP / IP: IP адрес / IP address |
отправлено / posted
С ручным запуском звука с кнопки на экране получилось. Хорошая новость.
Как техподдержка просветила надо было создать descrete канал типа OUT и привязать к параметру 3 s1430. Специалисты службы технической поддержки сообщили два разных способа, одинаково работоспособных (через числовой канал или через Call).
Теперь хочу запустить звук из программы. Если Вы подразумеваете под "программой" шаблон программы, то достаточно создать шаблон программы, выбрать язык, написать тело программы, отладить и перенести его в узел (будет создан канал класса Call с типом вызова Program). Выходной аргумент программы должен по заданным условиям формировать цифру-команду, которую подавать в канал, связанный с s1430. Проверьте, что папка sounds есть в папке узла проекта.
Сообщения / Posts 17536 | Из / From: Россия
| IP / IP: IP адрес / IP address |
ViktorSH
Junior Member / Новичок
Участник № / Member № 9914
отправлено / posted
Я создал дискретный канал d1 типа OUT, привзязал в [86] агрумент 3 системной переменной s1429. Создал папку sound в NetLink. При нажатии кнопки на экране, привязанному каналу d1 присваиваю 1 в IN. Звук работает. При попытке вызвать звук из программы (шаблон программы с привязанными агрументами) с выходным каналом IN или от контроллера по modbus изменения переменной есть, но звука нет.
Сообщения / Posts 12 | Из / From: Россия
| IP / IP: IP адрес / IP address |
ViktorSH
Junior Member / Новичок
Участник № / Member № 9914
отправлено / posted
По поводу сообщения Niko ("descrete каналу типа OUT к атрибуту 2 (In), который привязываю к параметру 3 s1430" данное действие выполнить невозможно !) В программе есть аргумент d1 типа OUT. При выполнении программы в этот аргумент записываю 1 и должен запускаться звук (при перетаскивании из шаблонов программ в RTM переменные программы привязываю каналы)
Сообщения / Posts 12 | Из / From: Россия
| IP / IP: IP адрес / IP address |
ViktorSH
Junior Member / Новичок
Участник № / Member № 9914
Nico
Forum Professor / Завсегдатай форума
Участник № / Member № 5342
отправлено / posted
- переменные программы привязываю каналы d1 типа OUT привязан к какому каналу и атрибуту ? - s1430 это CALL(c аргументами ) или числовой канал? если CALL то d1 типа OUT привязать к аргументу 0-3 CALL.1439 иначе к числовой.1430(должен быть OUTPUT) к атрибуту 2(In) - никаких дополнительных каналов между d1 и 1430 не нужно
Сообщения / Posts 955 | Из / From: Россия
| IP / IP: IP адрес / IP address |
ViktorSH
Junior Member / Новичок
Участник № / Member № 9914
отправлено / posted
Числовой канал d1 тип OUTPUT привязан к [86] s1429_SoundNetLink:toBeginning_stop_cyclical (Система/RTM_0/Каналы_1). При посылке 1 запускается звуковой файл s1429_SoundNetLink_1 (с кнопки на экране). Если выходной аргумент из программы привязываю к d1, то значение меняется, а звука нет.
Сообщения / Posts 12 | Из / From: Россия
| IP / IP: IP адрес / IP address |
отправлено / posted
Для начала давайте разберемся с чем работаем. С RTM (s1430) или NetLink (s1429)?
На текущий момент,s1429 работает только в NetLink. Команды "извне" не поддерживаются. В ближайшем релизе 7.1.0.7 будут поддерживаться команды из других узлов, в том числе от Программы из RTM в NLL.
По вопросу запуска s1430. Сначала создайте один канал (кстати, числовой или Call?). Проверьте запуск звука через Панель МРВ. И только затем привязывайте канал с системной переменной к каналу вызова шаблона программы.
Сообщения / Posts 17536 | Из / From: Россия
| IP / IP: IP адрес / IP address |
ViktorSH
Junior Member / Новичок
Участник № / Member № 9914
отправлено / posted
Запуск звука получилось запустить из программы. Создал 2 выходных переменных из программы. Помимо 1 на дискретный канал, привязанный к s1429_SoundNetLink:toBeginning_stop_cyclical, подал 1 на s1429_SoundNetLink в 2(In). Спасибо за помощь.
Сообщения / Posts 12 | Из / From: Россия
| IP / IP: IP адрес / IP address |