PDA

Просмотр полной версии : Not a number



PavelGO
18.03.2018, 10:57
Здравствуйте.
Столкнулся со следующим:
От МВ110 получаю значения в real и складываю для массового значения.
Но когда отваливается опрашиваемое устройство, МВ отдаёт NAN(не число,not-a-number) и любая операция(сложение...) даёт также NAN.
[https://ru.wikipedia.org/wiki/NaN]

Получается выявить NAN сравнением с самим собой(т.к. NAN!=NAN). Правильно ли я делаю или в codesys 3.5 есть оператор для этой проверки?

Евгений Кислов
18.03.2018, 12:17
Здравствуйте.
Столкнулся со следующим:
От МВ110 получаю значения в real и складываю для массового значения.
Но когда отваливается опрашиваемое устройство, МВ отдаёт NAN(не число,not-a-number) и любая операция(сложение...) даёт также NAN.
[https://ru.wikipedia.org/wiki/NaN]

Получается выявить NAN сравнением с самим собой(т.к. NAN!=NAN). Правильно ли я делаю или в codesys 3.5 есть оператор для этой проверки?

Добрый день. См. здесь:
http://www.owen.ru/forum/showthread.php?t=28167&p=269644&viewfull=1#post269644

PavelGO
18.03.2018, 12:23
Спасибо. Поиск NAN даёт Database error

Осинский Алексей
18.03.2018, 15:40
Спасибо. Поиск NAN даёт Database error

Узнать актуальность данных измерения можно:

проверив статус измерения;
проверив статус обмена с модулем.



Если для опроса модуля Вы используете наши шаблоны (http://www.owen.ru/forum/showthread.php?t=27889), то в модулях аналогового ввода за это отвечает канал "статус измерения" в который мы добавили код ошибки 16#FFFF соответствующий ошибке обмена (остальные коды ошибок согласно РЭ на модуль).

Например при такой конфигурации модуля
36100
Вы можете обрабатывать ошибку так:



IF uiSensor1ErrorCode <> 0 THEN
;// Обработка ошибки связи или измерения
ELSE
;// Все хорошо, данные датчика актуальны
END_IF