Страница 2 из 4 ПерваяПервая 1234 ПоследняяПоследняя
Показано с 11 по 20 из 37

Тема: ПЛК160М и ИВК-102 по RS-485

  1. #11

    По умолчанию

    Цитата Сообщение от Валенок Посмотреть сообщение
    Минцикл = 1
    Уберите (пока) частотник из обмена и с физической линии
    Пощупайте любые данные состоящие из 1-ого регистра
    таймаут ну 200, не надо больше
    Потыкайте A-B B-A
    Спасибо за участие.
    Убирал частотник. Менял А-В. В понедельник попробую еще покомбинировать варианты )

  2. #12

    По умолчанию

    Цитата Сообщение от Александр Посмотреть сообщение
    Вероятно не ту версию вложил. Пробовал всякие варианты, обращение к регистрам не требующим парное чтение.
    Сейчас прикрепил актуальный проект.
    Если у вас частотник на том же RS485-1 и скоростью 4800 , зачем у вас два Модбас-мастера ? Сделайте в одном два UMD с адресами 1 и 2. Но это потом, сначала вообще уберите Модбас мастер на частотник.
    А лучше сделайте новый проект и работайте только со своим контроллером IVK-120, пока не заработает.
    И ещё у вас PLC_PRG 2 вообще не запускается, вы специально так сделали?
    Последний раз редактировалось kondor3000; 10.12.2021 в 15:20.

  3. #13

    По умолчанию

    Проблема в том что ПЛК на действующей установке, контролирует работу водоочистки, поэтому приходится в этом проекте упражняться. Два Модбас-мастера для пробы сделал (по вашему же совету)), PLC_PRG 2 - это CFC версия изготовителя оборудования, для практики для себя переделал в ST, этот вариант и используется.
    На данный момент ситуация такая: подключился через АС4 к ноутбуку с InSAT\MasterOPC Universal Modbus Server. А-В совпало, связь есть, но с данными непонятка.
    На фото в приложении видно что все запросы GOOD.
    Tag1 и Tag2 - попытка попарного чтения целой и дробной части накопленного объема V1, нулевые значения.
    Tag3 - индекс скорости RS232 (2:=4800b/s, вроде как соответствует).
    Tag4 - адрес Modbus = 1 (соответствует).
    Tag6 - заводской номер прибора (не соответствует, либо это программный номер, не совпадающий с тем что на корпусе).
    Tag7 - заводской номер преобразователя расхода (значение=0, возможно и не установлен номер ПР на ИВК).
    Tag8 и Tag9 - попытка попарного чтения целой и дробной части накопленного объема V1 другой командой.
    Tag5 и Tag10 - параметры, значения которых не могу проверить, поэтому непонятно корректные данные или нет.
    Прикрепил инструкции Взлет.
    Есть идеи куда копать?
    Увидел что в инструкции (ivk102p_82019111_modbus.pdf) сказано что Регистры хранения содержат настроечные параметры, а регистры ввода содержат
    измеренные и вычисленные значения. (функция 3: чтение нескольких регистров хранения,
    4: чтение нескольких регистров ввода).
    Хотя во второй инструкции (prtkl_Modbus_standart_data.pdf) сказано что старшая цифра логического адреса = 4 (Holding Register – функция 3).
    Попробовал функцией 4 прочитать по адресу 32784 (INPUT_REGISTERS), тип в устройстве uint, так же значение =0.
    Не могу понять, в ivk102p_82019111_modbus.pdf логический адрес 432785 тип unsigned long, а в первой таблице prtkl_Modbus_standart_data.pdf при старшей цифре логического адреса=4 - Holding Register – 16 битные данные (word, uint). То есть и тип другой и функция чтения другая.
    Изображения Изображения
    Вложения Вложения
    Последний раз редактировалось Александр; 13.12.2021 в 10:27.

  4. #14

    По умолчанию

    Снимок экрана (1).png
    В описании Modbus из инета говорится: 0x4 - Чтение регистров данных
    Эта функция используется для последовательного чтения от 1 до 125 регистров данных.
    Нумерация регистров начинается с нуля. Регистры 16-ти битные, беззнаковые или знаковые (в
    дополнительном коде). 32-х битные регистры разбиваются на два 16-ти битных слова в формате
    [HIword, LOWword].

    Как читать один 32-битный регистр двумя 16-битными словами - непонятно
    Последний раз редактировалось Александр; 13.12.2021 в 10:28.

  5. #15

    По умолчанию

    Исходя из того что измеренные данные в регистрах ввода, по Таблица регистров ввода типа целое значение 4 байта, по адресу 32822 (целая часть), и 49192 (дробная часть) вот такие цифери получились:
    Снимок экрана (2).png

    Но накопленный объем = 778,747
    Снимок экрана (3).png

    Непонятно всё это
    Последний раз редактировалось Александр; 13.12.2021 в 11:05.

  6. #16

    По умолчанию

    Снимок экрана (6).png
    На данный момент ситуация такая: последний вариант (Tag1: address-32822, целая часть объема), при установке "старшим словом вперед") дает 6-значное число, которое соответствует целой части и дробной, только без запятой между ними )).
    Tag2 - попытка получить дробную часть, показывает ерунду.
    Tag3 - адрес 49178 (текущий измеренный расход) показывает корректно, ту же цифру что и на ИВК102, в том же виде.
    Непонятно что делать с 6-значным накопленным объемом, нужна только целая часть (первые три знака).
    Последний раз редактировалось Александр; 13.12.2021 в 11:41.

  7. #17

    По умолчанию

    Цитата Сообщение от Александр Посмотреть сообщение
    Проблема в том что ПЛК на действующей установке, контролирует работу водоочистки, поэтому приходится в этом проекте упражняться. Два Модбас-мастера для пробы сделал (по вашему же совету)), PLC_PRG 2 - это CFC версия изготовителя оборудования, для практики для себя переделал в ST, этот вариант и используется.
    На данный момент ситуация такая: подключился через АС4 к ноутбуку с InSAT\MasterOPC Universal Modbus Server. А-В совпало, связь есть, но с данными непонятка.
    На фото в приложении видно что все запросы GOOD.
    Tag1 и Tag2 - попытка попарного чтения целой и дробной части накопленного объема V1, нулевые значения.
    Tag3 - индекс скорости RS232 (2:=4800b/s, вроде как соответствует).
    Tag4 - адрес Modbus = 1 (соответствует).
    Tag6 - заводской номер прибора (не соответствует, либо это программный номер, не совпадающий с тем что на корпусе).
    Если правильно читает скорость и адрес и неправильно номер прибора, то возможно переставлены байты или WORD-ы в номере.

    По поводу парного чтения, вам уже написал, в вашей версии не используется похоже. Попробуйте вот с этого адреса объём считать 1 Целая часть.jpg

    PS пока писал, вы сами сделали тоже. А что с накопленным, сколько в приборе и сколько показывает? И что за объём V2, непонятно?

    А дробную часть, старшим словом вперёд сделали?
    Последний раз редактировалось kondor3000; 13.12.2021 в 11:54.

  8. #18

    По умолчанию

    Цитата Сообщение от kondor3000 Посмотреть сообщение
    Если правильно читает скорость и адрес и неправильно номер прибора, то возможно переставлены байты или WORD-ы в номере.

    По поводу парного чтения, вам уже написал, в вашей версии не используется похоже. Попробуйте вот с этого адреса объём считать 1 Целая часть.jpg
    Да, в сообщении выше описал результат

  9. #19

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    старшее слово с помощью SHL сместили на 16 разрядов и сложили с младщим, это один из вариантов, их так то много еще
    К сожалению не владею темой, разовый вопрос - получение данных modbus, решится, и может еще год не придется сталкиваться. Поэтому уровень вот такой.

  10. #20

    По умолчанию

    Цитата Сообщение от kondor3000 Посмотреть сообщение
    Если правильно читает скорость и адрес и неправильно номер прибора, то возможно переставлены байты или WORD-ы в номере.

    По поводу парного чтения, вам уже написал, в вашей версии не используется похоже. Попробуйте вот с этого адреса объём считать 1 Целая часть.jpg

    PS пока писал, вы сами сделали тоже. А что с накопленным, сколько в приборе и сколько показывает? И что за объём V2, там есть тоже?
    Скорее всего номер прибора неправильный из-за перестановки байт. Уже ушел оттуда, не могу проверить, но уверен что так и есть.
    Накопленный объем V1 в приборе 779,075 а ОРС-сервер получает 779075. V2 - накопленный объем по второму каналу, не используется.
    Попытался в ПЛК (32bit_input_module, и также попробовал варианты RegisterInputModule, RealInputModule) обратиться к адресу 32822 (функция 4), то же самое что и раньше, lastError меняется с кода 81 на 89.
    Последний раз редактировалось Александр; 13.12.2021 в 12:00.

Страница 2 из 4 ПерваяПервая 1234 ПоследняяПоследняя

Ваши права

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