А справку почитать для начала?
Безымянный.png
Добрый день.
Потребовалась небольшая автоматизация в компании. Я решил начать изучение с ПР103 и МЭ110.
ПР103 master к нему по RS подключен МЭ110. Я хочу считывать данные, для примера токовые с МЭ110. Все настройки сделал по инструкциям.
в OPC сервере я данные получаю по com порту в таком виде
из OPC serv.png
Это ток без нагрузки через токовые трансформаторы с коэф 20.
Обмен с устройством идёт, т.е. данные идут с него.
owen conf.png
Набросал просто переменные и функции чтобы видеть какие получаю значения с МЭ110
owen logic.png
И тут получаю не понятные числа. Нашёл на форуме и макросы преобразования float to int и почитав темы попробовал другие функции.
Но ничего не получается. Помогите мне разобрать почему я получаю данные в таком виде с МЭ110.
Настройки регистров менял все 4 варианта и битом вперед и регистром вперёд и т.д.
Спасибо!
Тут читайте несколько моих сообщений #2 и #7 по передаче float
https://owen.ru/forum/showthread.php...l=1#post465914
Число 0,02113 будет отображаться как 2.1е-02 это нормально, е-29, е+21 уже не нормально.
float to int вам не нужен, он сделан для передачи отрицательного целого числа в доп. коде.
Последний раз редактировалось kondor3000; 12.06.2025 в 09:23.
Сейчас ещё раз сделал настройки переменный по очереди и вот в таком виде стало показываться правильное значение, но скачет между числом вида 0,02113 и 2.1е-02.
owen logic настройки.png
Причём в руководстве на прибор написано, что эти галочки не нужны, а при загрузке шаблона прибора подставляется первая галочка сразу во всех переменных.
Когда я ранее менял эти значения, то видимо не обратил внимание, что данные правильные из-за скачков между представлениями числа.
Я правильно понимаю, что это из-за того, что ширины поля переменной не хватает для отображения числа в нормальном виде или это какие то настройки нужно изменить?
Спасибо за помощь!!
Оба числа это правильно, 0.02113 и 2.1е-02, если ограничить кол-во знаков после запятой, то будет нормально отображаться,
например вывести на экран. Вам же надо ещё умножать на 20, поэтому ограничивать знаки, надо после всех пересчётов и только на экране, чтобы не терять в точности расчётов.
Из за шума АЦП с аналоговых входов, в переменных Float всегда прыгают сотые и тысячные после запятой, это тоже нормально.
Последний раз редактировалось kondor3000; 12.06.2025 в 11:32.
Сделайте микро-проект - соедините один вход с выходом и проверьте компиляцией и загрузкой.
Если успешно - ищите ошибки в проекте.
Боюсь устанавливать обновлённую версию OwenLogic после такого сообщения - скоро сдача работы заказчику. Поэтому проверить проект на реальном ПР205 не смогу.
Могу порекомендовать скачать из архива и установить предыдущую версию 2.10.366.0. В этой версии проблема с ПР103, а ПР205 работает нормально. Создавайте проект заново (из новой версии в старую перенос не работает) и пробуйте загружать. Уже работал с версией 366 с ПР205 - всё работало (почти всё).