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

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

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

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

Сообщение Zetrix » 24 янв 2025, 09:50

dimensy писал(а):Один элемент работает с одним регистром. Поэтому, лучше три отдельные лампы, бит в слове состояния отвечает за видимость.
Но можно и как вы хотите https://disk.yandex.ru/d/sKIPZxqNeb9xgA


Подскажите, а как тут запускается макрос? Почему в макросе читается только в S[0] по адресу Lw-1 3 бит, как это понять?
Zetrix
 
Сообщения: 35
Зарегистрирован: 13 дек 2024, 17:03

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

Сообщение Zetrix » 24 янв 2025, 10:30

вопрос по макросам. Функциональный блок из примера документации

Код: Выделить всё
sub int Add(int x, int y)
int result
result = x +y
return result
end sub


не получается вставить в макрос, пишет ошибка синтаксиса. Функциональные блоки вообще можно внутри макроса писать и в нем же использовать, или только как отдельную функциию через библиотеку оформлять? в документации нет этого момента.
Zetrix
 
Сообщения: 35
Зарегистрирован: 13 дек 2024, 17:03

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

Сообщение Zetrix » 24 янв 2025, 10:55

dimensy писал(а):Вот пример как можно выводить время https://disk.yandex.ru/d/sFY3XNaMSlHSDA


Как сделать чтобы в настройках масштабирования можно было выбрать макрос? У меня есть макросы, но их не предлагает выбрать в свойствах числовой панели в настройках масштабирования.
Zetrix
 
Сообщения: 35
Зарегистрирован: 13 дек 2024, 17:03

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

Сообщение 8bit » 24 янв 2025, 10:57

Zetrix писал(а): в документации нет этого момента.


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

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

Сообщение 8bit » 24 янв 2025, 11:02

Zetrix писал(а):
Как сделать чтобы в настройках масштабирования можно было выбрать макрос? У меня есть макросы, но их не предлагает выбрать в свойствах числовой панели в настройках масштабирования.


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

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

Сообщение dimensy » 24 янв 2025, 11:13

Zetrix писал(а):
dimensy писал(а):Один элемент работает с одним регистром. Поэтому, лучше три отдельные лампы, бит в слове состояния отвечает за видимость.
Но можно и как вы хотите https://disk.yandex.ru/d/sKIPZxqNeb9xgA


Подскажите, а как тут запускается макрос?


В настройках окна можно привязать макрос, который будет выполняться при открытии окна или при закрытии окна или постоянно с периодом 500 мс

Почему в макросе читается только в S[0] по адресу Lw-1 3 бит, как это понять?


Автоматом прочитает три бита и разместит их в соответствии S[0] = LW-1, S[1] = LW-2, S[2] = LW-3

Zetrix писал(а):вопрос по макросам. Функциональный блок из примера документации

Код: Выделить всё
sub int Add(int x, int y)
int result
result = x +y
return result
end sub


не получается вставить в макрос, пишет ошибка синтаксиса. Функциональные блоки вообще можно внутри макроса писать и в нем же использовать, или только как отдельную функциию через библиотеку оформлять? в документации нет этого момента.


Нормально все вставляется
Код: Выделить всё
sub int Add(int x, int y)
int result
result = x +y
return result
end sub

macro_command main()
int A, B, C
GetData(A, "Local HMI", LW, 0, 1)
GetData(B, "Local HMI", LW, 2, 1)
C = Add(A,B)
SetData(C, "Local HMI", LW, 4, 1)

end macro_command


Как сделать чтобы в настройках масштабирования можно было выбрать макрос? У меня есть макросы, но их не предлагает выбрать в свойствах числовой панели в настройках масштабирования.

Форматы всех переменных должны совпадать. Т.е., если у вас в поле формат стоит, например, unsigned 16, то функция должна иметь входной и выходной формат unsigned short
dimensy
 
Сообщения: 237
Зарегистрирован: 14 мар 2018, 17:54

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

Сообщение Zetrix » 24 янв 2025, 11:40

dimensy писал(а):Автоматом прочитает три бита и разместит их в соответствии S[0] = LW-1, S[1] = LW-2, S[2] = LW-3


Вот это удивило, думал цикл нужно с переборкой позиций массива, а он тут оказывается сам автоматом все считывает.
Zetrix
 
Сообщения: 35
Зарегистрирован: 13 дек 2024, 17:03

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

Сообщение dimensy » 24 янв 2025, 11:53

Zetrix писал(а):
dimensy писал(а):Автоматом прочитает три бита и разместит их в соответствии S[0] = LW-1, S[1] = LW-2, S[2] = LW-3


Вот это удивило, думал цикл нужно с переборкой позиций массива, а он тут оказывается сам автоматом все считывает.


Да, очень удобно читать/писать подряд несколько регистров
dimensy
 
Сообщения: 237
Зарегистрирован: 14 мар 2018, 17:54

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

Сообщение folk » 24 янв 2025, 18:34

Подскажите, пожалуйста, можно ли как отмасштабировать экран у просмотрщика vnc на панели? Проблема в том, что если на панели 7 дюймов открыть экран другой панели с такой же диагональю, то экран открывается не целиком, и приходится его прокручивать, что немного неудобно при эксплуатации
folk
 
Сообщения: 4
Зарегистрирован: 19 дек 2024, 10:44

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

Сообщение Михалыч » 29 янв 2025, 10:28

Доброе время суток всем!
Панель CMT-SVRX-820. Первый раз работаю с такой моделью.
Не работают макросы (или работают, но действия в них не выполняются).
Подключен к ПЛК Сименс, связь есть.
Например, на панели переключателем можно управлять битом.
Или с помощью числового поля задавать значение тега.
Но в макросе значения тегам не устанавливаются.
Если же взять панель CMT3092X и там выполнять этот макрос,
то значение бита изменяется.
В чем дело, не пойму. Подскажите пожалуйста, что может быть не так.

Код: Выделить всё
macro_command main()
// УСТАНОВКА ФЛАГА СБРОСА СТОРОЖЕВОГО ТАЙМЕРА
// НА СТОРОНЕ ПЛК

bool bit2 = true

SetData(bit2, "Siemens S7-1200/S7-1500", "IO_SVPD._SVRX_RCV.HEADER.WT_RESET", 1)

end macro_command
Михалыч
 
Сообщения: 39
Зарегистрирован: 16 май 2018, 20:21

Пред.След.

Вернуться в Weintek

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

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