Показано с 1 по 10 из 30

Тема: Modbus опрос ПЛК

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    По умолчанию Странно работает групповой опрос

    Нашел решение проблемы.Для работы с байтами, нужно поставить в лектусе размер 1го регистра = 1байт.По спецификации modbus 1регистр = 2байта.Но при таком раскладе, перестают читаться регистры размером word(. Ответ представителей Lectus OPC :

    Выдается ошибка 2 - некорректный адрес.

    15:56:27.968 [3752] (10.0.0.10:502) Tx: [12] 01 87 00 00 00 06 01 01 00 7D 00 22
    15:56:27.968 [3752] (10.0.0.10:502) Rx: [9] 01 87 00 00 00 03 01 81 02
    15:56:27.968 [3752] Ошибка приема/передачи (10.0.0.10:502 Адрес:1)

    Если в настройках кол-во промежуточных регистров = 0, то значит в конфигурации
    задан какой-то некорректный адрес с 0x7D до 0x9E.

    За подробностями обращайтесь к разработчикам Modbus устройства (Овен).
    На Fastwel opc - наблюдается такая же картина.
    Последний раз редактировалось sink3d; 31.08.2012 в 10:22.

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

    По умолчанию

    Цитата Сообщение от sink3d Посмотреть сообщение
    Выдается ошибка 2 - некорректный адрес.

    15:56:27.968 [3752] (10.0.0.10:502) Tx: [12] 01 87 00 00 00 06 01 01 00 7D 00 22
    15:56:27.968 [3752] (10.0.0.10:502) Rx: [9] 01 87 00 00 00 03 01 81 02
    15:56:27.968 [3752] Ошибка приема/передачи (10.0.0.10:502 Адрес:1)

    Если в настройках кол-во промежуточных регистров = 0, то значит в конфигурации
    задан какой-то некорректный адрес с 0x7D до 0x9E.

    За подробностями обращайтесь к разработчикам Modbus устройства (Овен).
    непонятно какое решение проблемы Вы нашли, я так понимаю что виноват ОВЕН
    01 87 00 00 00 06 01 01 00 7D 00 22 это групповое чтение битов с 125 адреса в количестве 34 булевых значений. Если всё это сложить то Вы должны у себя в конфигурации иметь как минимум 10 регистров модбас или 20 модулей по 8 бит
    01 87 00 00 00 03 01 81 02 говорит о том, что адрес данных, указанный в запросе, не доступен данному слейву, могу предположить что читать надо так чтоб значения начального адреса и количество бит было кратным восьми

  3. #3

    По умолчанию групповое чтение

    Удалил из запроса переменные 7D,7E,7F - то есть как вы и написали.Начальный адрес должен быть кратным 8, т.е. получается начало 128.
    А вот что теперь делать с переменными которые пришлось удалить даже не знаю, их же читать все равно надо.Спасибо за подсказку.

  4. #4
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,664

    По умолчанию

    Цитата Сообщение от sink3d Посмотреть сообщение
    Удалил из запроса переменные 7D,7E,7F - то есть как вы и написали.Начальный адрес должен быть кратным 8, т.е. получается начало 128.
    А вот что теперь делать с переменными которые пришлось удалить даже не знаю, их же читать все равно надо.Спасибо за подсказку.
    незнаю зачем Вам нужно читать побитно, в любой скаде есть функционал разбра слова на биты, грузите все регистрами в ОРС, а в визуализации разбирайте поразрядно, меньше времени уйдет на доставку инфы, а разбор на ПК несущественно времени займет

  5. #5

    По умолчанию групповой опрос

    Байтами не так наглядно будет.А проблему скорости хотелось решить групповым опросом. А opc сервер как оказалось не опрашивает в группе одним запросом больше 125бит(.

  6. #6

    По умолчанию Как записать/прочитатьword

    Подскажите пожалуйста как записать/прочитать bit в word. Получается только через byte %QB8.1.0 --> %QX8.1.0.0. С word такая фишка не прокатывает(%QW8.1.0 --> %QX8.1.0.0, x:=temp.0;temp.0:=x не вариант( ), как быть?

  7. #7
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,664

    По умолчанию

    Цитата Сообщение от sink3d Посмотреть сообщение
    Подскажите пожалуйста как записать/прочитать bit в word. Получается только через byte %QB8.1.0 --> %QX8.1.0.0. С word такая фишка не прокатывает(%QW8.1.0 --> %QX8.1.0.0, x:=temp.0;temp.0:=x не вариант( ), как быть?
    Во первых переходите на именование канала, чтоб обращаться к нормальной переменной а не через процент, далее делаете такую запись foo:= (SHR(bar,13) & 0x01)>0
    Так Вы узнаете состояние тринадцатого бита переменной бар

Ваши права

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