Установка бита в теге
mihaha; 18.11.03

Есть ли возможность в WinCC устанавливать отдельно биты тегов формата Dword или word.Например,есть тег tt , тип word.Необходимо изменить не весь тег а только один бит в заданном разряде.Какими средсвами это можно осуществить.

Re: Установка бита в теге
Yrok; 18.11.03

void CBBBDlg::SetByteBit(int* iSource,int NumBit,bool bStatus)

{//Устанавливаем нужный бит в 1 или 0 в слове
//iSource = Слово в котором нужно
//установить бит
//NumBit = номер бита
//bStatus = TRUE или FALSE

int iBits=1;
iBits=iBits<<NumBit;
if(bStatus)
*iSource|=iBits;
else
{
iBits=~iBits;
*iSource&=iBits;
}
}

bool CBBBDlg::GetByteBit(int* iSource,int NumBit)
{int itemp=1;
itemp<<=NumBit;
if(*iSource & itemp)
return true;
else
return false;
}
Эти два примера я отлаживал на С++ также проверял и в WinCC всё работает.
Первый пример устанавливает бит
Второй пример считывает
И есть способ средствами самого WinCC
К примеру контроль бита
Поставь кнопку на кадр, войди в свойства цвета, выбери любой цвет и правой кнопкой выбери Dinamic Dialog
В появившеемся окне мышкой кликни на радио баттоне BIT в области Data Type
далее выбери нужный Тэг и нужный бит.

А про установку где то читал сейчас не помню поищу если найду напишу.

Re: Установка бита в теге
Yrok; 18.11.03

Слушай что то похожее нашёл и кажется делают с помощью "С" а вообще лучше скачай документацию по конфигурированию здесь

http://automation-drives.ru/as/products/doc.php?l1=SIMATIC%20HMI&l2=WinCC&l3=doc
Re: Установка бита в теге
mihaha; 19.11.03

спасибо за помощь,буду пробовать.

Re: Установка бита в теге
Шимолин Сергей; 20.11.03

Как-то у вас всё запущено! :)

Биты можно устанавливать так:
1. В окне Dynamic Wizard выбираем страничку Standard Dynamics
2. И запускаем Setting/Resetting bit или Setting/Resetting bits

по этому мастеру сгенерируется примерно следующий код:

#define TAG_0 "NewTag_5"
PicNameInAction "PictureName"

DWORD dwHelp1,dwHelp2;

dwHelp1=GetTagDWordWait(TAG_0);
dwHelp2=dwHelp1|8;
SetTagDWordWait(TAG_0,dwHelp2);

//8 - это маска установки бита, в данном случае 3-го бита слова dwHelp2.


Re: Установка бита в теге
mihaha; 23.11.03

Огромное спасибо Сергей.Буквально вчера я сам тоже нарыл эту возможность в волшебнике динамизаций.

Re: Установка бита в теге
Yrok; 24.11.03

Не третьего а четвёртого и в твоём случае это маска а в моём примере это конкретный бит.