Показать сообщение отдельно
Старый 06.03.2012, 09:11   #1
dima
Senior Member
 
Регистрация: Jun 2008
Адрес: солнечный Алтай
Сообщения: 161
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Элемер EL-4019: как правильно прочитать данные

Необходимо с входа модуля аналогового ввода EL-4019 считывать значение
тока (4-20 мА). В элемеровской программе для настройки модуля есть возможность посмотреть значение на входе в виде единиц измеряемой величины (мА) и целочисленного представления "ValueNorm", которое принимает следующие значения:
при 4 мА ValueNorm=21817;
при 12 мА ValueNorm=43672;
при 20 мА ValueNorm=65528;

Подсоединяю модуль к 2Gi, и считываю из регистра ValueNorm следующие значения:
при 4 мА ValueNorm=21820;
при 12 мА ValueNorm=21868;
при 20 мА ValueNorm=-15;
Это было при настройке переменной в карте памяти на формат данных "Integer". Меняю формат на "long" и получаю:
при 4 мА ValueNorm=715915250;
при 12 мА ValueNorm=715893359;
при 20 мА ValueNorm=715805994;
Далее, в руководстве EL-4019 написано, что значение регистра ValueNorm связано со значением Value следующим образом: ValueNorm=(Value-min)/(max-min), где мах и min это 20 и 4 соответственно. Но как получить значение ValueNorm=65528 при 20 мА, как это получается в элемеровской программе? И еще: в руководстве на модуль написано, что формат данных регистра- целое двухбайтовое число без знака. Это какой формат? Как обработать эти данные, чтоб можно было ими пользоваться в SMLogic?
dima вне форума   Ответить с цитированием