удачи)
спорить бесполезно))
удачи)
спорить бесполезно))
О чем ? О том что не вкуриваешь в разницу форм хранения и представления ?спорить бесполезно))
Всем конечно спасибо, но кто-то сможет помочь с конкретикой.
Как просто вывести общую ошибку понятно, а как конкретизировать ошибку.
При нормальной работе датчика я получаю нормальные значения, а вот при обрыве датчика получаю хрень вида -1.063382e+037 и как мне эту хрень конкретизировать с "0x FD" и с другими ошибками.
Всем заранее спасибо.
Lexand я же вам написал, используйте FB Decode_float если используете ПЛК Овен, уточните просто, есть ли эта библиотека в поддержке вашего ПЛК.
Вам же уже говорили - используйте ФБ DECODE_FLOAT из библиотеки "PID_Regulators.lib"
Захват-1.png
Подаете на вход значение из аналогового входа, на выходе получаете значение и код ошибки
но он лично меня не устраивает
-не работает в эмуляции
-при наличии ошибок измерения на выходе будет заранее предопределенное значение
По этому
Я вместо DECODE_FLOAT использую собственный ФБ аналогичного назначения http://www.owen.ru/forum/showthread....l=1#post183061
Отличия от DECODE_FLOAT
- работает в эмуляции;
- в момент ошибки измерения на выходе имеет последнее правильное значение, а не фиксированное значение. Т.е. "замораживает" последнее достоверное значение
Последнее отличие позволяет игнорировать одиночные ошибки измерения, не "мельтешить" цифрами на HMI и не бросать PID в крайние положения.
Там же приведен код функции для эмуляции ошибок измерения.
Мой канал на ютубе
https://www.youtube.com/c/ПетрАртюков
https://www.youtube.com/@%D0%9F%D0%B...BA%D0%BE%D0%B2
Библиотека ГМ для СП300
https://disk.yandex.com/d/gHLMhLi8x1_HBg
можно еще создать указатель на DWORD, затем сместить на 24 бита в право и получите код ошибки
Алексей обратился в поддержку, вопрос решён.
Пример на CFC через ФБ decode_float прикреплён к сообщению.