Добрый вечер
Есть панель DOP-107BV
Как привязать работу звукового сигнала(Buzzer) к определенному событию
Спасибо
Совет по панели DOP-107BV
-
- Сообщения: 34
- Зарегистрирован: 28 янв 2019, 15:31
Re: Совет по панели DOP-107BV
Через Control block->General Control->Bit 2
Re: Совет по панели DOP-107BV
По-моему, через Control Block можно только разрешить/запретить Buzzer модально, т.е. навсегда.
Владимир6630 писал(а): ↑25 окт 2020, 00:05Есть панель DOP-107BV
Как привязать работу звукового сигнала(Buzzer) к определенному событию
Все панели DOP-100, вроде бы, поддерживают Lua.
А там есть команда sys.BuzzerOn(Mode), где Mode:
0 - выключить Buzzer
1 - включить на 1 цикл (обновления тегов, либо Background-cycle - точно не скажу)
2 - включить постоянно
Я проверял на DOP-110WS - работает.
Вот привязка Buzzer'а к Maintained Button с внутренним тегом $7.0.
Кнопка нажата - Buzzer пищит, отжата - молчит.
Код: Выделить всё
-- Get state of Metering button
btnMetering_CurrState = mem.inter.ReadBit(7, 0)
if btnMetering_CurrState == 1 then
plot_color = color_RED
sys.BuzzerOn(2)
else
plot_color = color_BLUE
sys.BuzzerOn(0)
end
-
- Сообщения: 34
- Зарегистрирован: 28 янв 2019, 15:31
Re: Совет по панели DOP-107BV
Спасибо Попробую
Re: Совет по панели DOP-107BV
ambi а вы применяли этот язык? как он по сравнению с макросами? есть смысл осваивать?
Re: Совет по панели DOP-107BV
Недавно стал разбираться, как его можно использовать.
Он мне нравится больше, чем макросы.
Довольно приятный язык: синтаксис более развитый, хорошо реализована возможность работы с внутренними (панельными)
и внешними адресами, есть циклы while/for, поддержка массивов, возможность писать и вызывать свои функции,
удобные функции работы со строками, с десяток системных функций панели, работа с аккаунтами и уровнями доступа.
Даже программно рисовать примитивы можно в желаемом месте (x,y) панели - Point, Line, Rect, Ellipse.
Макросы за годы уже родными стали, но тут как-то все более удобно и по-человечески сделано что-ли
Все функции сгруппированы в Program example assistant, к каждой функции есть пример использования.
Главной циклически исполняемой может быть только одна программа Main.
Остальные модули - пользовательские процедуры/функции.
На время цикла исполнения программы можно влиять командой sys.Sleep(time_ms).
В моем понимании Lua не заменяет и не отменяет макросы.
Макросы удобнее использовать как более контекстные/локальные действия,
их можно повесить на конкретные элементы управления, смену экранов и т.п.
На Lua удобно писать что-то глобальное, хотя я все чаще понимаю, что от макро во многих местах при желании можно избавиться...
Все нажатия на кнопки и смены экранов можно отслеживать и из Lua. Тут вопрос удобства/предпочтений.
Специалистам с опытом высокоуровневого программирования Lua точно понравится больше, чем макросы.
В общем, я сам только вникаю. Но осваивать однозначно советую!
Чем больше нас будет в теме, тем больше тем для общения, и тем круче будут проекты!
Ссылка на краткое описание Lua в панелях DOP-100:
https://www.sitautomation.it/en/downloa ... Cfb0dBvN0w
-
- Сообщения: 34
- Зарегистрирован: 28 янв 2019, 15:31
Re: Совет по панели DOP-107BV
Попробовал. Все отлично заработало. Спасибо