Совет по панели DOP-107BV

Ответить
Владимир6630
Сообщения: 6
Зарегистрирован: 28 янв 2019, 15:31

Совет по панели DOP-107BV

Сообщение Владимир6630 »

Добрый вечер
Есть панель DOP-107BV
Как привязать работу звукового сигнала(Buzzer) к определенному событию
Спасибо

tvent
Сообщения: 872
Зарегистрирован: 11 янв 2011, 17:02

Re: Совет по панели DOP-107BV

Сообщение tvent »

Через Control block->General Control->Bit 2

ambi
Сообщения: 8
Зарегистрирован: 22 янв 2014, 14:30

Re: Совет по панели DOP-107BV

Сообщение ambi »

tvent писал(а):
26 окт 2020, 20:43
Через Control block->General Control->Bit 2
По-моему, через 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

Владимир6630
Сообщения: 6
Зарегистрирован: 28 янв 2019, 15:31

Re: Совет по панели DOP-107BV

Сообщение Владимир6630 »

Спасибо Попробую

bayk
Сообщения: 468
Зарегистрирован: 30 май 2015, 21:20

Re: Совет по панели DOP-107BV

Сообщение bayk »

ambi а вы применяли этот язык? как он по сравнению с макросами? есть смысл осваивать?

ambi
Сообщения: 8
Зарегистрирован: 22 янв 2014, 14:30

Re: Совет по панели DOP-107BV

Сообщение ambi »

bayk писал(а):
21 ноя 2020, 18:17
ambi а вы применяли этот язык? как он по сравнению с макросами? есть смысл осваивать?
Недавно стал разбираться, как его можно использовать.
Он мне нравится больше, чем макросы.
Довольно приятный язык: синтаксис более развитый, хорошо реализована возможность работы с внутренними (панельными)
и внешними адресами, есть циклы 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

Владимир6630
Сообщения: 6
Зарегистрирован: 28 янв 2019, 15:31

Re: Совет по панели DOP-107BV

Сообщение Владимир6630 »

Попробовал. Все отлично заработало. Спасибо

Ответить