Ка разобрать 2 байта на биты
Добавлено: Пт июн 07, 2019 8:13 pm
Добрый день!
Есть модбасс устройство, состояние 16 выходов опрашивается через 1 регистр. Модуль модбасс мажордомо приходит число и что бы узнать состояние каждого из выходов необходимо выделить биты и раскидать их по 16 объектам. Пробовал конструкции вроде:
$value=getGlobal('rx.status_up');
$bit_0=($value & (1<<0));
if (getGtobal('rx0.status') != $bit_0)
{setGlobal('rx0.status',$bit_0);}
и
$value=getGlobal('rx.status_up');
$bit=decbin($value);
if(getGtobal('rx0.status') !=$bit[0])
{setGlobal'rx0.status',$bit[0];}
Но в статусе объекта rx0 ничего не изменяется. Подскажите, куда копать.
Есть модбасс устройство, состояние 16 выходов опрашивается через 1 регистр. Модуль модбасс мажордомо приходит число и что бы узнать состояние каждого из выходов необходимо выделить биты и раскидать их по 16 объектам. Пробовал конструкции вроде:
$value=getGlobal('rx.status_up');
$bit_0=($value & (1<<0));
if (getGtobal('rx0.status') != $bit_0)
{setGlobal('rx0.status',$bit_0);}
и
$value=getGlobal('rx.status_up');
$bit=decbin($value);
if(getGtobal('rx0.status') !=$bit[0])
{setGlobal'rx0.status',$bit[0];}
Но в статусе объекта rx0 ничего не изменяется. Подскажите, куда копать.