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

Radio Button


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

Radio Button

Сообщение Digitex » 20 сен 2016, 09:18

Добрый день! Использую 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
Сообщения: 519
Зарегистрирован: 21 сен 2012, 21:45
Ф.И.О.: Воробьев Александр
Поблагодарили: 12 раз
Контактная информация:

Radio Button

Сообщение aranea » 20 сен 2016, 09:38

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


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

Radio Button

Сообщение Digitex » 20 сен 2016, 09:44

галок 2

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

aranea
знаток Eplan
знаток Eplan
Сообщения: 519
Зарегистрирован: 21 сен 2012, 21:45
Ф.И.О.: Воробьев Александр
Поблагодарили: 12 раз
Контактная информация:

Radio Button

Сообщение aranea » 20 сен 2016, 10:06

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

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


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

Radio Button

Сообщение Digitex » 20 сен 2016, 11:49

Решила, через дополнительную переменную. То как вы предлагаете
тег 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»



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

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