Просмотр полной версии : -1#qnan
Здравствуйте.
Приключилось у нас ПЛК150. При попытке создать загрузочный проект,
отключаются аналоговые входы ПЛК. В CoDeSys индикация -1#QNAN
Обрыва Датчиков нет. Подскажите пожалуйста в чём может быть дело?
Здравствуйте.
Приключилось у нас ПЛК150. При попытке создать загрузочный проект,
отключаются аналоговые входы ПЛК. В CoDeSys индикация -1#QNAN
Обрыва Датчиков нет. Подскажите пожалуйста в чём может быть дело?
Проект выложите, пожалуйста, с указанием плк, версии прошивки и таргета.
у меня такое было
уже не помню точно, но вроде помогало reset(cold)
Николаев Андрей
06.11.2008, 13:30
Данная ошибка описана в документации...
Измеренное значение меньше ожидаемого. То есть может быть указан не тот тип датчика, или еще какие то настройки.
Филоненко Владислав
06.11.2008, 14:45
Для индикации кодов ошибок надо пользоваться функцией DECODE_FLOAT
у меня несколько похожая ситуация. заливаю программу, сначала нормально считывает показания с датчиков, но примерно через минут 5-ть выскакивает описанное выше значение,-1#QNAN ... никакие ресеты не помогают. отключаю питание на минут 5-ть . потом включаю опять .. и опять считывает нормально ...тип датчиков и прочие настройки аналоговых входов правильные.
ПЛК 150. таргет 2.02. прошивка 2.03.
еще была проблемма с наложение на аналоговые входы синусойды.. т.е. подключили к аналоговому входу датчик. и вывели его показания на тренд. получалось, что на вход накладывалась синусойда и соответственно показания датчиков тож менялись по синусойде.
тот же контроллер что и выше. но прошивка была 2.02, когда перепрошил контроллер на 2.03 проблемма с наложением исчезла.
Данная ошибка описана в документации...
Измеренное значение меньше ожидаемого. То есть может быть указан не тот тип датчика, или еще какие то настройки.
В какой документации?
Может ли такое значение принять не измеренная, а вычисленная величина?
Сергей_К
07.11.2008, 13:40
Такое значение принимает и измеренная величина и, затем, вычисленная по измеренной, причем, если потом измеренная вернется в нормальное состояние, данная ошибка на ней пропадает (проверял на имитации термометра сопротивления магазином), а вычисленная остается.
Если величину вычисленного значения ограничить в разумных пределах, данная ошибка не возникает и не мешает жить.
Спасибо за грамотный ответ :) то что нужно.
попробую ограничить
Дмитрий77
03.02.2010, 09:43
Добрый день. Эта ошибка у меня возникала из-за наводок. Пример: Пускатель второй величины пускается кнопкой и становиться на самоподхват. Установил керамический конденсатор 10 нан в параллель с кнопкой проблема исчезла. Вывод: ставьте конденсаторы в параллель со всеми контактами которые включают мощные катушки. Аналоговые входы боятся наводок от искры.
Владимир Геннадьевич
20.07.2016, 10:04
В СПК помогает игнорировать ошибку NaN следующий код: X2:=INT_TO_REAL(REAL_TO_INT(X1*100))/100; где Х1 - входная переменная REAL, 100 - округление до двух знаков после запятой.
При преобразовании real в int, NaN воспринимается целым числом как 0. Соответственно при ошибке NaN Х2 будет равен 0.
Проверьте на ПЛК, может тоже поможет!!!
Powered by vBulletin® Version 4.2.3 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot