Установка бита в теге
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
Не третьего а четвёртого и в твоём случае это маска а в моём
примере это конкретный бит.