Приветствую, столкнулся с небольшой задачей, которую не могу до конца понять. Мне приходит сигнал UINT, который нужно побитно разложить. В старой скаде (мастер скада) я просто преобразовывал UINT_TO_BYTE, а потом новой переменной присваивал каждый бит (с 0 по 6), каждый бит это статус аварии. Рапид работает с double, поэтому тут наверное тоже надо преобразования делать?
В старой скаде код выглядел так (ST язык):
devStatus_byte:=UINT_TO_BYTE(devStatus_low);
laserAlertStatus:=devStatus_byte.0;
flowAlertStatus:=devStatus_byte.1;
…
instrumentSampleStatus:=devStatus.6;
далее создавал массив с авариями, для индикации и подсчета аварий.
Сейчас я сделал набросок в стиле:
public enum Status : byte
{
laserAlertStatus = 0,
flowAlertStatus = 1,
…
instrumentSampleStatus = 6
}
Нужно ли double в byte переводить или нет?