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

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

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

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

Сообщение flauwear » 17 авг 2021, 00:27

Добрый день!
Мне требуется, чтобы после включения панели на некоторых кнопках был установлен класс безопасности А. Для этого применяю следующий макрос:
Код: Выделить всё
macro_command main()

int pass = 111
short login=1
SetData(pass, "Local HMI", LW, 9220, 1)
SetData(login, "Local HMI", LW, 9219, 1)

end macro_command

Если запускаю данный макрос с помощью битовой кнопки – все работает, кнопка с классом безопасности А начинает отображаться.
Если вызываю данный макрос как макрос включения – кнопка не отображается. Хотя при этом вывожу в числовые окна LW-9220 – там 111, LW-9221 – там 1. Подскажите, в чем может быть проблема?
flauwear
 
Сообщения: 21
Зарегистрирован: 12 ноя 2015, 12:30

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

Сообщение 8bit » 17 авг 2021, 12:21

flauwear писал(а):Добрый день!
Мне требуется, чтобы после включения панели на некоторых кнопках был установлен класс безопасности А. Для этого применяю следующий макрос:
Код: Выделить всё
macro_command main()

int pass = 111
short login=1
SetData(pass, "Local HMI", LW, 9220, 1)
SetData(login, "Local HMI", LW, 9219, 1)

end macro_command

Если запускаю данный макрос с помощью битовой кнопки – все работает, кнопка с классом безопасности А начинает отображаться.
Если вызываю данный макрос как макрос включения – кнопка не отображается. Хотя при этом вывожу в числовые окна LW-9220 – там 111, LW-9221 – там 1. Подскажите, в чем может быть проблема?


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

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

Сообщение flauwear » 17 авг 2021, 13:36

8bit писал(а):
flauwear писал(а):в качестве решения можете поставить флажок у вашего макроса "Однократно выполнить при старте системы". А почему не работает при запуске макроса из системных настроек уточним...

К сожалению данное решение не работает.
Пока решил тем, что добавил задержку
DELAY(1)
перед
SetData(login, "Local HMI", LW, 9219, 1)
Тогда работает и из системных настроек и если поставить флажок в макросе Выполнить однократно при старте.
flauwear
 
Сообщения: 21
Зарегистрирован: 12 ноя 2015, 12:30

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

Сообщение flauwear » 17 авг 2021, 14:41

У меня есть еще вопрос. Когда я меняю текст Текстовой метки, шрифт почему-то сбрасывается автоматически на Droid Sans Fallback. Я затем выбираю например Arial и нажимаю ОК шрифт все равно становится Droid Sans Fallback.
flauwear
 
Сообщения: 21
Зарегистрирован: 12 ноя 2015, 12:30

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

Сообщение 8bit » 17 авг 2021, 14:57

flauwear писал(а):Пока решил тем, что добавил задержку
DELAY(1)
перед
SetData(login, "Local HMI", LW, 9219, 1)
Тогда работает и из системных настроек и если поставить флажок в макросе Выполнить однократно при старте.


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

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

Сообщение 8bit » 18 авг 2021, 13:11

flauwear писал(а):У меня есть еще вопрос. Когда я меняю текст Текстовой метки, шрифт почему-то сбрасывается автоматически на Droid Sans Fallback. Я затем выбираю например Arial и нажимаю ОК шрифт все равно становится Droid Sans Fallback.

а вот при использовании текстовых меток вы не вольны выбирать для каждой свой шрифт в свойствах объекта
При использовании метки шрифт берется тот, что указан в "Язык и шрифт"
шрифт_для_метки.png
шрифт_для_метки.png (23.76 КБ) Просмотров: 3707
Хороший вопрос содержит половину ответа - A good question contains half the answer
Аватара пользователя
8bit
 
Сообщения: 1134
Зарегистрирован: 20 апр 2020, 19:07

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

Сообщение 8bit » 18 авг 2021, 13:14

flauwear писал(а):Добрый день!
Мне требуется, чтобы после включения панели на некоторых кнопках был установлен класс безопасности А. Для этого применяю следующий макрос:
Код: Выделить всё
macro_command main()

int pass = 111
short login=1
SetData(pass, "Local HMI", LW, 9220, 1)
SetData(login, "Local HMI", LW, 9219, 1)

end macro_command

Если запускаю данный макрос с помощью битовой кнопки – все работает, кнопка с классом безопасности А начинает отображаться.
Если вызываю данный макрос как макрос включения – кнопка не отображается. Хотя при этом вывожу в числовые окна LW-9220 – там 111, LW-9221 – там 1. Подскажите, в чем может быть проблема?


Ответ Weintek:
It is about timing issue, not bug.
If macro is executed faster than com module ready, you may not login user.
It is recommended to add delay at least 500ms and test it again.


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

Динамическая побитовая адресация

Сообщение kochegin » 19 авг 2021, 21:48

Добрый день. Стоит следующая задача.
Имеются целая куча одинаковых датчиков. При нажатии на каждый из них вызывается одно и то же всплывающее окно с настройками пределов. Помимо верхнего и нижнего предела, в этом окне есть переключатель, который включает либо отключает бит контроля пределов. Так вот, с динамической адресацией пределов я разобрался. Все просто замечательно работает. Но вот проблема с этим битом. Дело в том, что в проекте ПЛК, эти биты для каждого датчика идут один за другим, т.е. TS01_HL_ENABLE [DB111.DBX0.0], TS02_HL_ENABLE [DB111.DBX0.1], и так далее...
Поэтому применить к ним индексную адресацию я не могу, так как происходит смещение аж на 16 бит!!!
Возможно ли какое-нибудь другое решение? Возможно через макросы? Просто плодить окна для каждого датчика отдельно, и делать привязку тегов по отдельности - займет ужасно много времени.
И второй вопрос, могут ли разработчики Weintek добавить в EasyBuilder индексную адресацию битов со смещением в 1 бит?
kochegin
 
Сообщения: 2
Зарегистрирован: 23 июн 2021, 13:19

Re: Динамическая побитовая адресация

Сообщение 8bit » 23 авг 2021, 17:37

kochegin писал(а):Добрый день. Стоит следующая задача.
Имеются целая куча одинаковых датчиков. При нажатии на каждый из них вызывается одно и то же всплывающее окно с настройками пределов. Помимо верхнего и нижнего предела, в этом окне есть переключатель, который включает либо отключает бит контроля пределов. Так вот, с динамической адресацией пределов я разобрался. Все просто замечательно работает. Но вот проблема с этим битом. Дело в том, что в проекте ПЛК, эти биты для каждого датчика идут один за другим, т.е. TS01_HL_ENABLE [DB111.DBX0.0], TS02_HL_ENABLE [DB111.DBX0.1], и так далее...
Поэтому применить к ним индексную адресацию я не могу, так как происходит смещение аж на 16 бит!!!
Возможно ли какое-нибудь другое решение? Возможно через макросы?


Вариантов два:
1) в ПЛК создать отдельную DB-шечку для HMI, в которой соберете все биты и байты как надо для панели

2) в макросах панели делать перенос в LW/LB регистры при записи уставок из тегов ПЛК (открыли окно, скопировали теги в докальные регистры панели , которые привязаны в окне с уставками, задали новые значения, нажали кнопку ПРИМЕНИТЬ, по которой выполнился макрос переписывающий значения из локальных регистров панели в теги ПЛК)

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

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

Сообщение tangra.god » 25 авг 2021, 17:19

Доброго времени суток!
Панель является мастером в сети Modbus RTU, необходимо принять переменную в 6х_Bit с одного слейв устройства и записать в 6x_Bit во второе слейв устройство, как это можно реализовать?
Заранее благодарю!
tangra.god
 
Сообщения: 33
Зарегистрирован: 10 июн 2021, 11:45

Пред.След.

Вернуться в Weintek

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

Сейчас этот форум просматривают: Google [Bot] и гости: 10