Добрый день! стоит задача прочитать состояние бита с помощью битовой маски .
Те приходит число в десятичном формате необходимо наложить битовую маску чтобы узнать состояние бита и записать в отдельный канал написал такую формулу:
double MBitMasck(int CnlNum)
{
if ((Val(CnlNum)&0b00000001)>0)
{
return (ushort)Val(630,1);
}
else
{
return (ushort)Val(630,0);
}
}
Работать не хочет, помогите разобраться пожалуйста
Добрый день!
Есть «штатная» формула GetBit(Значение, номер бита) Например:
GetBit(Val(1), 2) где 1 — номер канала, считанного значения, а 2 — номер бита
Добрый день!
Формат числа касается только его отображения для пользователя. Само по себе число является набором байт. Имеет значение, вещественное или целочисленное — кодируется по-разному. В Rapid SCADA входные каналы вещественные 8 байт.
С наступающим!
Автор
Сообщения
Просмотр 5 сообщений - с 1 по 5 (из 5 всего)
Вы должны авторизироваться для ответа в этой теме.