Показано с 1 по 9 из 9

Тема: Проблема с выводом значений с ПР200 на HMI панель

  1. #1

    По умолчанию Проблема с выводом значений с ПР200 на HMI панель

    Есть расходомер воды УРЖ2КМ с RS485 который считает общий объём воды качаемой насосами, подключаю к пр200(для управления насосами), И самое главное нужно на HMI панель Weintek выводить общий объём перекачанной воды(показания с расходомера), и тут проблема.
    На HMI панель выводится максимальное число 65535, если прикинуть, что в сутки качает 1500 м3, на долго не хватит.
    Главное пр200 отправляет сетевую переменную с большим числом(например 65536), а на HMI панели уже уже приходит "0"
    Подскажите что делаю не так?, как увеличить максимально отображаемое число на панели.

  2. #2

    По умолчанию

    Цитата Сообщение от MasikSow Посмотреть сообщение
    Есть расходомер воды УРЖ2КМ с RS485 который считает общий объём воды качаемой насосами, подключаю к пр200(для управления насосами), И самое главное нужно на HMI панель Weintek выводить общий объём перекачанной воды(показания с расходомера), и тут проблема.
    На HMI панель выводится максимальное число 65535, если прикинуть, что в сутки качает 1500 м3, на долго не хватит.
    Главное пр200 отправляет сетевую переменную с большим числом(например 65536), а на HMI панели уже уже приходит "0"
    Подскажите что делаю не так?, как увеличить максимально отображаемое число на панели.
    Для этого существуют 32 битные целочисленные переменные, типа DWORD или UDINT. Про типы переменных можно посмотреть в справке Лоджика по F1.
    В ПР и панели надо выбрать соответствующие переменные, указать 2 регистра.
    Сделайте скрины, как вы настроили в ПР и в Панели.

  3. #3

    По умолчанию

    Посмотрите на форуме макрос, как собрать из 2 16тибитных сетевых регистров одну внутреннюю 32 бита. Так же и для передачи сначала надо разобрать

  4. #4

    По умолчанию

    Цитата Сообщение от kondor3000 Посмотреть сообщение
    Для этого существуют 32 битные целочисленные переменные, типа DWORD или UDINT. Про типы переменных можно посмотреть в справке Лоджика по F1.
    В ПР и панели надо выбрать соответствующие переменные, указать 2 регистра.
    Сделайте скрины, как вы настроили в ПР и в Панели.
    Вот скрины, за регистры и переменные вообще не знаю.
    Скрин Weintek.jpg Скрин ПР200.jpg

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

    По умолчанию

    HMI_Vm3 и далее у вас целочисленное и один регистр. Которое ограничено 16-бит значением, то есть 65535. Хотите больше, делите переменную на два регистра, получите число в 2 лярда, а если точнее то в 4 лярда, так как в ПР нет понятия отрицательного целочисленного. Дальше уже зависит от панели, при помощи макросов можно и отрицательные числа сделать, были реализации.
    Или применяйте float, по умолчанию 2 регистра.

    И не забываем, что ПР200 да и другие ПР ограничены количеством регистров. Так что битовые маски пакуем в один регистр, там где можно, применяем целочисленные с делением на 10, 100 и т.д.

  6. #6

    По умолчанию

    Цитата Сообщение от MasikSow Посмотреть сообщение
    Вот скрины, за регистры и переменные вообще не знаю.
    Скрин Weintek.jpg Скрин ПР200.jpg
    В панели всё правильно адрес 4х 533 должен быть, если протокол у вас Модбас RTU (Zero Address), иначе смещение адресов будет +1.

    В ПР слейве, 2 регистра поставить нельзя, надо сделать 2 переменных, адреса 533 и 534, ваш объём разложить на 2 регистра и отправить в Панель.

    На скрине как разобрать и собрать из 2 регистров 32 битную переменную 1 Дворд.jpg
    В панели надо проверить правильность полученного числа, если не правильно, поменять местами в ПР старший и младший регистры.
    Последний раз редактировалось kondor3000; 22.08.2024 в 08:42.

  7. #7

    По умолчанию

    Цитата Сообщение от kondor3000 Посмотреть сообщение
    В панели всё правильно адрес 4х 533 должен быть, если протокол у вас Модбас RTU (Zero Address), иначе смещение адресов будет +1.
    Спасибо большое тебе за подсказку по панели Ща скину что сделал.

  8. #8

    По умолчанию

    Цитата Сообщение от melky Посмотреть сообщение
    Или применяйте float, по умолчанию 2 регистра.
    И тебе спасибо большое за эту строчку))
    Короче меняю переменные в ПР200 на плавающую с запятой, и в панели на 32bit-float.И вотСкрин 2 ПР200.jpg Скрин 2 Weintek.jpg 5348582693253800364.jpg

  9. #9

    По умолчанию

    Цитата Сообщение от MasikSow Посмотреть сообщение
    И тебе спасибо большое за эту строчку))
    Короче меняю переменные в ПР200 на плавающую с запятой, и в панели на 32bit-float.И вот
    Это не лучшее решение, Считать общий объём во Float, больше 5 знаков накопиться, объём начнёт врать. Считать надо в целочисленном формате, можно поставить 9 знаков.
    Как, читайте выше, там всё описано.
    Последний раз редактировалось kondor3000; 22.08.2024 в 10:19.

Похожие темы

  1. Ответов: 4
    Последнее сообщение: 06.01.2023, 18:27
  2. ПР200 + Панель Kinco. Проблема с выводом значения температуры.
    от Женька-76 в разделе Среда программирования OWEN Logic
    Ответов: 25
    Последнее сообщение: 26.03.2021, 08:06
  3. Проблема с обработкой сигнала, ПР200+Панель
    от ВикторРК в разделе Эксплуатация
    Ответов: 9
    Последнее сообщение: 08.02.2018, 16:44
  4. СП307-Б. Проблема с выводом журнала событий
    от g0r0d0k в разделе Панели оператора (HMI)
    Ответов: 70
    Последнее сообщение: 26.10.2017, 13:06
  5. Проблема с выводом текста
    от CLPE в разделе ПЛК1хх
    Ответов: 3
    Последнее сообщение: 17.01.2011, 12:51

Ваши права

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