Страница 125 из 250

Re: EasyBuilder - Скорая помощь новичкам

СообщениеДобавлено: 18 май 2020, 02:28
Dmit
Здравствуйте!
Можно ли реализовать заполнение массива следующим образом - переменную типа BOOL положить в определенный бит определенного элемента массива, а затем весь этот массив перевести в область памяти LW?
Другими словами:
....
short f[17]

GetData(f[0.00], "PLC", "PFreezer01.BOOL1", 1)
GetData(f[0,01], "PLC", "PFreezer01.BOOL2", 1)
GetData(f[0,02], "PLC", "PFreezer01.BOOL3", 1)

Какой правильный синтаксис участка кода, выделенный жирным? (если такой подход вообще допустим)

Re: EasyBuilder - Скорая помощь новичкам

СообщениеДобавлено: 18 май 2020, 11:34
VanMo
ealaj писал(а):Ошибки компиляции нет, но если вместо цифры вписываю переменную, то опрашивает не со 120-го регистра, а с нулевого.

ealaj писал(а):Pro V6.00.01.174 Build 2018.01.12

Скорее всего, это баг. Обновите версию.

Re: EasyBuilder - Скорая помощь новичкам

СообщениеДобавлено: 18 май 2020, 12:10
VanMo
Dmit писал(а):short f[17]
GetData(f[0.00], "PLC", "PFreezer01.BOOL1", 1)
Какой правильный синтаксис участка кода, выделенный жирным? (если такой подход вообще допустим)

Подобного синтаксиса здесь нет.
Нужно либо использовать что-то такое:
Код: Выделить всё
short f[17], BitNum=1
bool Bit
GetData(Bit, "PLC", "PFreezer01.BOOL1", 1)
if Bit then
f[0]=f[0] | (1<<BitNum)
end if

Либо создавать массив битов и записывать в LW через LW_bit

Re: EasyBuilder - Скорая помощь новичкам

СообщениеДобавлено: 18 май 2020, 14:31
ealaj
VanMo писал(а):Скорее всего, это баг. Обновите версию.

Действительно, на свежей версии заработал нормально. Спасибо.

Re: EasyBuilder - Скорая помощь новичкам

СообщениеДобавлено: 18 май 2020, 15:18
fomindanil
Здравствуйте, подскажите как реализовать звуковое оповещение с помощью стороннего динамика через tET-P2A2. Данный преобразователь имеет свой IP адрес, через который можно к нему обращаться. То есть вместо стандартного Beep() нужно получить звук через сторонний динамик через преобразователь 2D/I 2D/O

Re: EasyBuilder - Скорая помощь новичкам

СообщениеДобавлено: 18 май 2020, 15:56
8bit
fomindanil писал(а):Здравствуйте, подскажите как реализовать звуковое оповещение с помощью стороннего динамика через tET-P2A2. Данный преобразователь имеет свой IP адрес, через который можно к нему обращаться. То есть вместо стандартного Beep() нужно получить звук через сторонний динамик через преобразователь 2D/I 2D/O

в каких случаях какой Beep вы хотите под modbus TCP передавать в сторонний динамик?

Re: EasyBuilder - Скорая помощь новичкам

СообщениеДобавлено: 19 май 2020, 09:31
fomindanil
Получается есть панелька, есть tET-P2A2 и есть динамик sonitron SCI 535 B1. Необходимо обратится к tET с панельки (через Ethernet) так, чтобы на его выходе появилось 24В для питания динамика, причем на пару секунд.

Re: EasyBuilder - Скорая помощь новичкам

СообщениеДобавлено: 19 май 2020, 12:27
8bit
fomindanil писал(а):Получается есть панелька, есть tET-P2A2 и есть динамик sonitron SCI 535 B1. Необходимо обратится к tET с панельки (через Ethernet) так, чтобы на его выходе появилось 24В для питания динамика, причем на пару секунд.

с подключением tET-P2A2 более-менее понятно.... какое событие панели (нажатие кнопки оператором и т.п.) должно инициировать звук на sonitron SCI 535 B1 ?

Re: EasyBuilder - Скорая помощь новичкам

СообщениеДобавлено: 19 май 2020, 13:19
fomindanil
8bit писал(а):
fomindanil писал(а):Получается есть панелька, есть tET-P2A2 и есть динамик sonitron SCI 535 B1. Необходимо обратится к tET с панельки (через Ethernet) так, чтобы на его выходе появилось 24В для питания динамика, причем на пару секунд.

с подключением tET-P2A2 более-менее понятно.... какое событие панели (нажатие кнопки оператором и т.п.) должно инициировать звук на sonitron SCI 535 B1 ?

Обнаружение метки радиоконтроллером, который общается с панелью по 485

Re: EasyBuilder - Скорая помощь новичкам

СообщениеДобавлено: 20 май 2020, 01:41
Dmit
VanMo писал(а):Подобного синтаксиса здесь нет.
Нужно либо использовать что-то такое:
Код: Выделить всё
short f[17], BitNum=1
bool Bit
GetData(Bit, "PLC", "PFreezer01.BOOL1", 1)
if Bit then
f[0]=f[0] | (1<<BitNum)
end if

Либо создавать массив битов и записывать в LW через LW_bit



Спасибо за совет . Сделал по второму варианту - создал bool var[16] и потом присвоил через LW_Bit