Профиль должен быть заполнен на русском языке кириллицей. Заполнение профиля заведомо ложными или некорректными данными - причина возможного отказа в регистрации на форуме.

Проблема с созданием кнопок

Модератор: специалисты по Weintek


Автор темы
Aleksandr_av
здесь недавно
здесь недавно
Сообщения: 7
Зарегистрирован: 25 май 2016, 14:30
Ф.И.О.: Воронин Александр Андреевич
Благодарил (а): 1 раз

Проблема с созданием кнопок

Сообщение Aleksandr_av » 25 май 2016, 14:47

Друзья, подскажите пожалуйста! Проблема такова, мне необходимо менять количество появившихся кнопок, с помощью которых я буду открывать подменю настройки в зависимости от числа упаковок. Картинка примера ниже.
p.s:вообще работаю с рецептами, необходимо создать некоторое количество программ с разными конфигурациями, может какой трафарет есть.
p.ss: Новичок в этом деле, не судите строго)
У вас нет необходимых прав для просмотра вложений в этом сообщении.

Аватара пользователя

skr
специалист по WEINTEK
специалист по WEINTEK
Сообщения: 205
Зарегистрирован: 22 мар 2013, 10:52
Ф.И.О.: Денис Порфирьев
Откуда: Санкт-Петербург
Поблагодарили: 4 раза
Контактная информация:

Проблема с созданием кнопок

Сообщение skr » 25 май 2016, 17:00

Aleksandr_av писал(а):Проблема такова, мне необходимо менять количество появившихся кнопок, с помощью которых я буду открывать подменю настройки в зависимости от числа упаковок

Это не проблема, это задача. А проблема в чём?
"ФАМ-Электрик" - официальный дистрибьютор Weintek в России http://www.rusavtomatika.com


Автор темы
Aleksandr_av
здесь недавно
здесь недавно
Сообщения: 7
Зарегистрирован: 25 май 2016, 14:30
Ф.И.О.: Воронин Александр Андреевич
Благодарил (а): 1 раз

Проблема с созданием кнопок

Сообщение Aleksandr_av » 25 май 2016, 17:45

Проблема в том, что я не знаю как включать биты меня слово. Тоесть когда слово равно допустим LW20=5, бит lb20=1

Может есть решения этой задачи в целом?

Аватара пользователя

skr
специалист по WEINTEK
специалист по WEINTEK
Сообщения: 205
Зарегистрирован: 22 мар 2013, 10:52
Ф.И.О.: Денис Порфирьев
Откуда: Санкт-Петербург
Поблагодарили: 4 раза
Контактная информация:

Проблема с созданием кнопок

Сообщение skr » 26 май 2016, 09:16

Макросом пересчитывать и в кнопках использовать LW_Bit

Код: Выделить всё

macro_command main()
short x,y
GetData(x, "Local HMI", LW, 100, 1)
y=(1<<x)-1
SetData(y, "Local HMI", LW, 101, 1)
end macro_command

Какое значение будет в LW100, столько битов будет установлено в LW101
"ФАМ-Электрик" - официальный дистрибьютор Weintek в России http://www.rusavtomatika.com


Автор темы
Aleksandr_av
здесь недавно
здесь недавно
Сообщения: 7
Зарегистрирован: 25 май 2016, 14:30
Ф.И.О.: Воронин Александр Андреевич
Благодарил (а): 1 раз

Проблема с созданием кнопок

Сообщение Aleksandr_av » 26 май 2016, 11:07

Спасибо за ответ! Не могу понять как будут меняться 6 отдельных битовых переменных при изменении слова.

Просто изначальная идея была такова:
Имеется слово LW100, которое может принимать 6 значений: LW100=1,LW100=2..LW100=6.
Меняя слово я отображаю кнопки индикатором слова по смещению, для визуализации процесса.
Далее, я включаю блокировку для кнопок, которые открывают окна для настройки, для этого мне необходимо менять 6 битов LB100=1&0,LB101=1&0...LB105=1&0 и все эти элементы буду невидимые. Тоесть когда слово имеет значение LW100=3, мне необходимо включить бит LB102=1, далее с кнопки включения окна настроек снимается блокировка и она доступна. Также в обратно смещение..Не знаю как это реализовать, точнее взаимосвязь слова и бита.
---------------------------------
Примерно то что хочу получить))
if (LW100<=1)
LB100=1;
else LB100=0;
if (LW100<=2)
LB101=1;
else LB101=0;
................
if (LW100<=6)
LB105=1;
else LB105=0;
----------------------------------

Аватара пользователя

skr
специалист по WEINTEK
специалист по WEINTEK
Сообщения: 205
Зарегистрирован: 22 мар 2013, 10:52
Ф.И.О.: Денис Порфирьев
Откуда: Санкт-Петербург
Поблагодарили: 4 раза
Контактная информация:

Проблема с созданием кнопок

Сообщение skr » 26 май 2016, 15:32

Будет меняться одна 16-битная переменная, в примере - LW101. Каждую кнопку можно привязать к отдельному биту этой переменной, если выбрать тип LW_Bit. Адрес должен выглядеть как LW_Bit-10101, где 101 - адрес регистра, 01 - номер бита
"ФАМ-Электрик" - официальный дистрибьютор Weintek в России http://www.rusavtomatika.com


Автор темы
Aleksandr_av
здесь недавно
здесь недавно
Сообщения: 7
Зарегистрирован: 25 май 2016, 14:30
Ф.И.О.: Воронин Александр Андреевич
Благодарил (а): 1 раз

Проблема с созданием кнопок

Сообщение Aleksandr_av » 26 май 2016, 16:19

Денис спасибо! Понял вроде, получилось сделать! :thankyou:
Только вот последняя проблема возникла, когда я убираю количество упаковок на ноль (кнопки все исчезли), но если нажать туда где они должны быть все равно открывается окно настроек (только один раз), потом бит сбрасывается.
Вопрос:как сбросить бит, когда слово уже обнулил ( или на единице меньше установил) ?

Аватара пользователя

skr
специалист по WEINTEK
специалист по WEINTEK
Сообщения: 205
Зарегистрирован: 22 мар 2013, 10:52
Ф.И.О.: Денис Порфирьев
Откуда: Санкт-Петербург
Поблагодарили: 4 раза
Контактная информация:

Проблема с созданием кнопок

Сообщение skr » 27 май 2016, 09:25

Какая версия EasyBuilder? Невидимых кнопок в том же месте, где видимые, нет?
"ФАМ-Электрик" - официальный дистрибьютор Weintek в России http://www.rusavtomatika.com


Автор темы
Aleksandr_av
здесь недавно
здесь недавно
Сообщения: 7
Зарегистрирован: 25 май 2016, 14:30
Ф.И.О.: Воронин Александр Андреевич
Благодарил (а): 1 раз

Проблема с созданием кнопок

Сообщение Aleksandr_av » 27 май 2016, 10:56

Версия Pro V5.03.02.033
Как все получилось, фото ниже, все кнопки на одном месте, как то так
FK_10 - Открывает окно настроек. Установлена блокировка, включить бит если LW_Bit=10100
FK_11 - выполняет макрос
WL_5 - кнопка, которая появляется когда LW100 смещается на 1
У вас нет необходимых прав для просмотра вложений в этом сообщении.


Вернуться в «WEINTEK (операторские панели)»



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

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