Страница 1 из 3 123 ПоследняяПоследняя
Показано с 1 по 10 из 21

Тема: Работа с FLOAT переменными.

  1. #1

    По умолчанию Работа с FLOAT переменными.

    Подскажите пожалуйста. В сети RS-485 есть МЭ110-220.3М, ПР100 и Slave на ПК. Для тестов используется одна переменная, напряжение на фазе А. В slave на ПК она передаётся и нормально отображается. Но в режиме отладки на ПР100 значения прыгают от минус миллионов до плюс квадриллионов. К примеру, при сравнении значения переменной напряжения на входе А с константой, выход ПРки периодически срабатывает, как будто на фазе более 300 вольт. Не понимаю как правильно сделать. Снимок экрана 2025-12-26 112311.png

  2. #2
    Пользователь
    Регистрация
    27.11.2011
    Адрес
    Краснодар
    Сообщений
    13,031

    По умолчанию

    скорее всего вы зацепили соседний регистр с половиной нужного. но это не точно.

  3. #3

    По умолчанию

    Мда, походу так и есть

  4. #4
    Пользователь
    Регистрация
    09.12.2013
    Адрес
    Ставрополь
    Сообщений
    1,930

    По умолчанию

    А кто в слейф на ПК пишет, Прка?

  5. #5

    По умолчанию

    Цитата Сообщение от Dimensy Посмотреть сообщение
    А кто в слейф на ПК пишет, Прка?
    Да переменная с МЭ110-220.3М на ПРке записывается в сетевую переменную для ПК.

  6. #6

    По умолчанию

    Цитата Сообщение от EvilH0mer Посмотреть сообщение
    Подскажите пожалуйста. В сети RS-485 есть МЭ110-220.3М, ПР100 и Slave на ПК. Для тестов используется одна переменная, напряжение на фазе А. В slave на ПК она передаётся и нормально отображается. Но в режиме отладки на ПР100 значения прыгают от минус миллионов до плюс квадриллионов. К примеру, при сравнении значения переменной напряжения на входе А с константой, выход ПРки периодически срабатывает, как будто на фазе более 300 вольт. Не понимаю как правильно сделать. Снимок экрана 2025-12-26 112311.png
    Попробуйте изменить порядок байт/регистров - сначала в настройках обмена в лоджике, а потом, когда значения будут приходить корректные в ПР, уже и в MasterOPC.
    Инженер по продукту | ПР и Owen Logic
    email: k.korolev@owen.ru

  7. #7

    По умолчанию

    Цитата Сообщение от Королев Кирилл Посмотреть сообщение
    Попробуйте изменить порядок байт/регистров - сначала в настройках обмена в лоджике, а потом, когда значения будут приходить корректные в ПР, уже и в MasterOPC.
    Разобрался, просто путал протоколы Овен и Modbus. В Овен только Float, а в Modbus есть и Float и Int, в итоге всё перемешалось в голове. В итоге переделал всё на Int.Снимок экрана 2025-12-26 123407.png

  8. #8

    По умолчанию

    Цитата Сообщение от melky Посмотреть сообщение
    скорее всего вы зацепили соседний регистр с половиной нужного. но это не точно.
    Спасибо за наводку

  9. #9

    По умолчанию

    Цитата Сообщение от EvilH0mer Посмотреть сообщение
    Подскажите пожалуйста. В сети RS-485 есть МЭ110-220.3М, ПР100 и Slave на ПК. Для тестов используется одна переменная, напряжение на фазе А. В slave на ПК она передаётся и нормально отображается. Но в режиме отладки на ПР100 значения прыгают от минус миллионов до плюс квадриллионов. К примеру, при сравнении значения переменной напряжения на входе А с константой, выход ПРки периодически срабатывает, как будто на фазе более 300 вольт. Не понимаю как правильно сделать. Снимок экрана 2025-12-26 112311.png
    Просто у вас Float даже читается не правильно, регистры переставлены, в итоге вы сравниваете с 300 не 230 В, а число в 6 степени,
    при передаче в ОРС регистры снова переставляются, в итоге правильно.
    Перестановку регистров надо было сделать и при чтении и при записи.
    Последний раз редактировалось kondor3000; 26.12.2025 в 13:27.

  10. #10

    По умолчанию

    Цитата Сообщение от kondor3000 Посмотреть сообщение
    Просто у вас Float даже читается не правильно, регистры переставлены, в итоге вы сравниваете с 300 не 230 В, а число в 6 степени,
    при передаче в ОРС регистры снова переставляются, в итоге правильно.
    Перестановку регистров надо было сделать и при чтении и при записи.
    Да, спасибо. Я уже понял, что была проблема с регистрами. Было не понятно как в лоджик вбить 0x0019, 0x001A, в итоге разобрался, что вбивается последний регистр. Получилось 26, 28, 30.Снимок экрана 2025-12-26 133614.png С Float было тоже самое.

Страница 1 из 3 123 ПоследняяПоследняя

Похожие темы

  1. Ответов: 5
    Последнее сообщение: 10.08.2022, 18:15
  2. Ответов: 2
    Последнее сообщение: 19.07.2018, 13:33
  3. Работа с переменными Modbus Slave
    от rwg в разделе СПК1xx (архив)
    Ответов: 1
    Последнее сообщение: 21.09.2016, 07:45
  4. Работа с дискретными переменными
    от приборист в разделе Master SCADA 3
    Ответов: 6
    Последнее сообщение: 27.11.2013, 07:34
  5. работа с переменными
    от Ufolog в разделе ПЛК1хх
    Ответов: 28
    Последнее сообщение: 23.11.2010, 13:56

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •