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

Работа с панелями оператора Weintek - подключение, программирование, совмещение с ПЛК

Модераторы: kiv, 8bit, VanMo

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

Сообщение Dmit » 18 май 2020, 02:28

Здравствуйте!
Можно ли реализовать заполнение массива следующим образом - переменную типа 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)

Какой правильный синтаксис участка кода, выделенный жирным? (если такой подход вообще допустим)
Dmit
 
Сообщения: 11
Зарегистрирован: 11 май 2018, 02:19

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

Сообщение VanMo » 18 май 2020, 11:34

ealaj писал(а):Ошибки компиляции нет, но если вместо цифры вписываю переменную, то опрашивает не со 120-го регистра, а с нулевого.

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

Скорее всего, это баг. Обновите версию.
VanMo
 
Сообщения: 375
Зарегистрирован: 16 авг 2011, 09:31

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

Сообщение VanMo » 18 май 2020, 12:10

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
VanMo
 
Сообщения: 375
Зарегистрирован: 16 авг 2011, 09:31

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

Сообщение ealaj » 18 май 2020, 14:31

VanMo писал(а):Скорее всего, это баг. Обновите версию.

Действительно, на свежей версии заработал нормально. Спасибо.
ealaj
 
Сообщения: 8
Зарегистрирован: 05 май 2020, 15:47

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

Сообщение fomindanil » 18 май 2020, 15:18

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

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

Сообщение 8bit » 18 май 2020, 15:56

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

в каких случаях какой Beep вы хотите под modbus TCP передавать в сторонний динамик?
Хороший вопрос содержит половину ответа - A good question contains half the answer
Аватара пользователя
8bit
 
Сообщения: 1108
Зарегистрирован: 20 апр 2020, 19:07

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

Сообщение fomindanil » 19 май 2020, 09:31

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

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

Сообщение 8bit » 19 май 2020, 12:27

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

с подключением tET-P2A2 более-менее понятно.... какое событие панели (нажатие кнопки оператором и т.п.) должно инициировать звук на sonitron SCI 535 B1 ?
Хороший вопрос содержит половину ответа - A good question contains half the answer
Аватара пользователя
8bit
 
Сообщения: 1108
Зарегистрирован: 20 апр 2020, 19:07

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

Сообщение fomindanil » 19 май 2020, 13:19

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

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

Обнаружение метки радиоконтроллером, который общается с панелью по 485
fomindanil
 
Сообщения: 11
Зарегистрирован: 24 апр 2020, 08:46

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

Сообщение Dmit » 20 май 2020, 01:41

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
Dmit
 
Сообщения: 11
Зарегистрирован: 11 май 2018, 02:19

Пред.След.

Вернуться в Weintek

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 12