1. Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
  2. Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
  3. Не надо писать свой вопрос в первую попавшуюся тему - всегда лучше создать новую тему.
  4. За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения. Непонятно? - Читать здесь.
  5. Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
  6. Перед тем как что-то написать - читать здесь, а затем здесь и здесь.
  7. Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.

Radio Button

Модератор: Глоб.модераторы

Ответить

Автор темы
Digitex
здесь недавно
здесь недавно
Сообщения: 20
Зарегистрирован: 01 авг 2016, 07:36
Имя: С. О. Ю.

Radio Button

Сообщение Digitex »

Добрый день! Использую Radio Button (или как в WinCC он называется Option Group). В Events--> Output/Input--> Select Box прописала следующий код

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

#define TAG_0 "Word_Control_HandAlarm"
DWORD dwHelp1,dwHelp2;
dwHelp1=GetTagWordWait(TAG_0);
switch (value)
{
case 1:  
{
dwHelp2=dwHelp1&(0xFFFFFFFF^0x1);
};
break;
case 2:
{
dwHelp2=dwHelp1|0x1;  
};
break;
}
SetTagWordWait(TAG_0,(WORD)dwHelp2);
В тег значение бита записывается и сбрасывается-все работает, вопрос в следующем, как при повторном переходе на страницу с Radio Button, указатель оставался именно на том месте что было выбрано пользователем, что прописать и где? Спасибо
Аватара пользователя

aranea
знаток Eplan
знаток Eplan
Сообщения: 1136
Зарегистрирован: 21 сен 2012, 22:45
Имя: aranea
Благодарил (а): 30 раз
Поблагодарили: 165 раз

Radio Button

Сообщение aranea »

у вас сколько галочек в группе?
выбранная галочка задается битовой маской 001 или 010 или 100 (для 3х галочек)
соответственно вам нужно из 3 битов получить такую маску при загрузке компонента
Изображение

Автор темы
Digitex
здесь недавно
здесь недавно
Сообщения: 20
Зарегистрирован: 01 авг 2016, 07:36
Имя: С. О. Ю.

Radio Button

Сообщение Digitex »

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

aranea
знаток Eplan
знаток Eplan
Сообщения: 1136
Зарегистрирован: 21 сен 2012, 22:45
Имя: aranea
Благодарил (а): 30 раз
Поблагодарили: 165 раз

Radio Button

Сообщение aranea »

не было необходимости работать с Option Group, только с Check Box
и не совсем понимаю ваш код (если 1ая галка, то сбросить 0ой бит в слове, а если 2ая, то установить его же???)

а если сам тег Word_Control_HandAlarm вставить в Properties > Output/Input > Select Box
тогда в него будет и писаться и читаться
если выбрана первая галка, то запишется 0x1 (0 бит установлен), если выбрана вторая галка, то запишется 0x2 (0 бит сброшен)
Изображение

Автор темы
Digitex
здесь недавно
здесь недавно
Сообщения: 20
Зарегистрирован: 01 авг 2016, 07:36
Имя: С. О. Ю.

Radio Button

Сообщение Digitex »

Решила, через дополнительную переменную. То как вы предлагаете
тег Word_Control_HandAlarm вставить в Properties > Output/Input > Select Box
тогда в него будет и писаться и читаться
получается что при выборе первого Button в переменную Word_Control_HandAlarm будет писаться значение 1, при выборе второго -2 соответственно, а мне нужно чтоб устанавливался и сбрасывался 1 бит (переменная Word_Control_HandAlarm определена как 8-битная). Можно было обойтись и без доп. переменной, но дальше предполагается что в Word_Control_HandAlarm так же будет сбрасываться и устанавливаться 2 бит, и т.д. Так что по другому даже не знаю как. С Option Group первый раз столкнулась.
Ответить

Вернуться в «WinCC»