|
Связь с внешним миром Modbus, RS232, RS485, Lon и другое. |
|
Опции темы | Поиск в этой теме |
06.03.2012, 09:11 | #1 |
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? |
06.03.2012, 13:56 | #2 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 117
Благодарил(а): 15 раз(а)
Поблагодарили:
660 раз(а) в 604 сообщениях
|
Ответ: Элемер EL-4019: как правильно прочитать данные
Цитата:
Т.к. в лоджике нет беззнакового целого, то вам придётся при получении числа "преобразовать" его в более "старший" формат, над которым затем и производить необходимые математические операции. Как преобразовать - изображено на картинке: __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
06.03.2012, 13:57 | #3 | |
Senior Member
Регистрация: Jul 2007
Адрес: Калининград
Сообщения: 422
Благодарил(а): 0 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: Элемер EL-4019: как правильно прочитать данные
Цитата:
У Сегнетикса целочисленные переменные только со знаком. А Вам нужны беззнаковые. Ничего страшного - их можно самому программно преобразовать. Например вот так: __________________ Автомат АК - самый распространенный преобразователь стека в очередь |
|
06.03.2012, 16:40 | #4 |
Senior Member
Регистрация: Jun 2008
Адрес: солнечный Алтай
Сообщения: 161
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Элемер EL-4019: как правильно прочитать данные
Спасибо, заработало!
|