Страница 98 из 131 ПерваяПервая ... 488896979899100108 ... ПоследняяПоследняя
Показано с 971 по 980 из 1308

Тема: CODESYS V3.5. Настройка обмена с другими устройствами (Modbus, ОВЕН, OPC и др.)

  1. #971

  2. #972

    По умолчанию

    Цитата Сообщение от Евгений Кислов Посмотреть сообщение
    Если поставить 20 мс - то ошибка всё равно будет воспроизводиться?
    Спасибо, помогло, сперва увеличил до 100мс, ошибка исчезла, потом увеличил скорость опроса до 115200, и на 20мс все стало работать стабильно.

  3. #973

    По умолчанию

    С чем может быть связан ErrorCode 60 - RESPONSE_CRC_FAIL
    А на что вообще указывает эта ошибка?
    С ней жить можно, но хотелось бы понять суть
    Ведь если смотреть стандарт Modbus то при определении ошибки в пакете (ну того же CRC) просто повторяется запрос и инициатор запроса либо получает правильные данные, либо не получает их вообще.
    Или я не прав?
    Последний раз редактировалось RomeoVar; 16.03.2023 в 22:46.
    Каждый в меру своего понимания работает на себя, а в меру непонимания на того, кто понимает больше!

  4. #974
    Супер Модератор Аватар для Евгений Кислов
    Регистрация
    27.01.2015
    Адрес
    Москва
    Сообщений
    12,147

    По умолчанию

    Цитата Сообщение от RomeoVar Посмотреть сообщение
    С чем может быть связан ErrorCode 60 - RESPONSE_CRC_FAIL
    А на что вообще указывает эта ошибка?
    С ней жить можно, но хотелось бы понять суть
    Ведь если смотреть стандарт Modbus то при определении ошибки в пакете (ну того же CRC) просто повторяется запрос и инициатор запроса либо получает правильные данные, либо не получает их вообще.
    Или я не прав?
    Как уже написано выше - можно увеличить время цикла до 20 мс и жить без этой ошибки.
    Конкретную причину для конкретного клиентского окружения я сейчас не готов озвучить.
    Возможно, при таком времени цикла при чтении контроллер успевает поймать хвост своего же запроса.

  5. #975

    По умолчанию

    Поделюсь результатами экспериментов - может кому пригодится.
    На текущий момент время цикла стоит 5 мс. При этом мое фактическое время цикла в среднем 400 мкс, макс 700 мкс
    Увеличение времени цикла ни до 10 ни до 20 мс. в моем случае эффекта не возымело. Ошибка возникала
    А вот снижение скорости с 115200 до 57600 помогла.
    При этом если на скорости 115200 затрачиваемое время на обмен занимало 35 мс. то на 57600 35-45 мс. что не ктитично и меня более чем устраивает.
    Провел еще один эксперимент- уменьшил время цикла до 3 мс. при скорости 57600 время на обмен стало занимать от 27 до 33 мс. Ошибок пока не возникало.

    Видимо используемый мною драйвер сервопривода не очень хорошо работает на 115200
    В итоге решил остановиться на скорости 57600 c временем цикла задачи 10 мс. При таком раскладе время затрачиваемое на обмен 70 мс. всегда. Решил что так будет надежнее
    Ошибок после 2-х часов работы - ни одной
    Последний раз редактировалось RomeoVar; 17.03.2023 в 08:36.
    Каждый в меру своего понимания работает на себя, а в меру непонимания на того, кто понимает больше!

  6. #976

    По умолчанию

    Добрый день!

    Есть система: панель(сп310), плк210 и модем IRZ для отправки данных. Панель является мастером и общается с плк по modbus tcp через OCL mb tcp slave. Необходимо чтобы модем опрашивал плк. Можно ли опрашивать тот же ocl slave по тем же адресам массива word`ов или необходимо добавить еще регистров(например было 0..999, а станет 0...1999)? В данный момент нет возможности испытать, т.к. все оборудование на объекте в другом городе.

  7. #977
    Супер Модератор Аватар для Евгений Кислов
    Регистрация
    27.01.2015
    Адрес
    Москва
    Сообщений
    12,147

    По умолчанию

    Цитата Сообщение от Андрей Чернов Посмотреть сообщение
    Добрый день!

    Есть система: панель(сп310), плк210 и модем IRZ для отправки данных. Панель является мастером и общается с плк по modbus tcp через OCL mb tcp slave. Необходимо чтобы модем опрашивал плк. Можно ли опрашивать тот же ocl slave по тем же адресам массива word`ов или необходимо добавить еще регистров(например было 0..999, а станет 0...1999)? В данный момент нет возможности испытать, т.к. все оборудование на объекте в другом городе.
    Добрый день.
    Можно.
    В менеджере библиотек потребуется изменить значение параметра библиотеки, определяющего максимальное число одновременных подключений к слэйву.

    17-03-2023 18-46-13.png

  8. #978

    По умолчанию

    Подскажите к порту подключено 2 устройства к чему или к кому обращаться что бы узнать код ошибки или ошибку, если одно устройство отвалится или запрос отправляет не тот?
    Изображения Изображения
    • Тип файла: png RS485.png (10.5 Кб, Просмотров: 9)

  9. #979
    Супер Модератор Аватар для Евгений Кислов
    Регистрация
    27.01.2015
    Адрес
    Москва
    Сообщений
    12,147

    По умолчанию

    Цитата Сообщение от sco-scorpion Посмотреть сообщение
    Подскажите к порту подключено 2 устройства к чему или к кому обращаться что бы узнать код ошибки или ошибку, если одно устройство отвалится или запрос отправляет не тот?
    AFD_E_Trav.byModbusError
    AFD_E_Trav.xError

    AFD_E_Wind.byModbusError
    AFD_E_Wind.xError

  10. #980

    По умолчанию

    Цитата Сообщение от Евгений Кислов Посмотреть сообщение
    С помощью xDone можно определить число принятых корректных пакетов.
    С помощью xError и byModbusError можно определить число принятых пакетов с кодами ошибок и число запросов, оставшихся без ответа.

    Сложив эти три числа - получим число отправленных пакетов.

    Подсчет, соответственно, потребуется организовать самостоятельно в коде программы.
    Подскажите, как при помощи xDone можно определить число принятых корректных пакетов?
    Я настроил и подключил прибор МВ110-226-16д к своему ПЛК. Программа заточена на чтение 1 раз в секунду из МВ110. И она действительно так работает. Лампочка на МВ110 подмигивает 1 раз в секунду.
    Задача, которая должна словить количества принятых корректных пакетов запускается 50 раз в секунду.
    Я вижу:
    Безымянный3322.png

    Я слежу на xDone. Он всегда поднят. wCount3 увеличивается на 50 за 1 секунду. wCount4 не увеличивается.
    Я слежу за xBusy. Он всегда опущен. wCount1 не увеличивается. wCount2 увеличивается на 50 за 1 секунду.

    Может я неправильно настроил параметр "Всегда обновлять переменные: ВКЛ.2 (всегда в задаче цикла шины)"?

Страница 98 из 131 ПерваяПервая ... 488896979899100108 ... ПоследняяПоследняя

Похожие темы

  1. Настройка ПР200, управление 3-мя устройствами через RS-485
    от Orbes в разделе Среда программирования OWEN Logic
    Ответов: 20
    Последнее сообщение: 15.05.2017, 16:45
  2. СП3ХХ Пример настройка обмена с ПЛК на CODESYS 2.3
    от Denis_Kay в разделе Панели оператора (HMI)
    Ответов: 6
    Последнее сообщение: 02.03.2017, 15:12
  3. Ответов: 43
    Последнее сообщение: 13.04.2015, 14:05
  4. Универсальная функция для обмена с устройствами OwenIO и всеми любимый LabView.
    от Алексей Крагель в разделе Помощь Разработчикам
    Ответов: 0
    Последнее сообщение: 30.05.2014, 14:38

Ваши права

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