Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 12

Тема: Сбой обмена по 485 Modbus СПК107[M01]

  1. #1

    По умолчанию Сбой обмена по 485 Modbus СПК107[M01]

    Здравствуйте. Стоит панель СПК107[M01] 1.2.0803.1220 таргет 3.5.14.30-10, (на панелях с прошивкой 1.2.0623.1009 такая же ситуация).
    Панель настроена в Slave 485-1, адрес 10.
    Master ПЛК обменивается с панелью раз 2 сек. двумя сообщениями пример:
    1) 0A 04 00 00 00 14 F1 7E
    2) 0A 10 00 00 00 49 92 FF FF FF FF FF FF FF FF 00 00 00 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 01 41 BD 41 C7 00 02 00
    02 5A FB 48 3E 48 0D 00 01 00 00 00 00 00 00 00 01 00 01 00 02 FF 98 FF 98 FF 98 FF 98 57 9B 55 55 57 9B 55 55 55 55 55 55 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 AE
    13 61 47 38 51 3E 85 7F FF 00 00 00 00 00 00 00 00 00 00 01 03 53 E5
    После перезагрузки СПК, СПК перестает отвечать на данные сообщения. Пока не отключить 485, перезагрузить СПК, и обратно подсоединить 485.
    Получается если во время перезагрузки СПК на порт 485 прилетают эти сообщения, после загрузки исполнительной программы СПК перестает отвечать.
    В CODESYS не нашел ошибок в работе Modbus, SerialPort.

    Если временно не отсылать 2-ой запрос 0A 10 00 00 00 49 ......, а ждать пока СПК ответит на первый запрос, обмен не прекращается. Сложность в том, что на некоторых объектах нет возможности изменить прошивку ПЛК, со старыми панелями СПК все работает нормально.
    Изображения Изображения

  2. #2

    По умолчанию

    Пауза выдерживается в основном 2-3 сек между первым и вторым запросом. Даже если поставить как на скрине 6-10 сек. обмен прекращается, спк перестает отвечать до перезагрузки.

    Если больше 10 сек. примерно, во время перезагрузки спк, не успевают отправится за это время запросы, и панель нормально работает. Но 10 сек ждать обновления показаний датчиков тоже не вариант.)
    Изображения Изображения
    Последний раз редактировалось MagNetiC; 26.11.2020 в 11:35.

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

    По умолчанию

    Добрый день.

    Попробовал повторить вашу ситуацию.
    Настроил на СПК слэйв, запустил на ПК ModbusTester, настроил два запроса - один на чтение 100 регистров, второй - на запись тех же ста регистров.
    Период опроса - максимально возможный (после получения ответа мастер делает выдержку (настроено на 1 мс, но я думаю, на Win10 такое не получается соблюдать и фактическая пауза чуть больше) и отправляет следующий запрос.

    После перезагрузки СПК по питанию все продолжает работать корректно - без каких-либо проблем.

    Поэтому пока я бы предположил, что проблема либо в вашей утилите-мастера, либо в каких-то внешних условиях (например, по интерфейсу приходит помеха).

  4. #4

    По умолчанию

    (а откуда тогда такие посылки)
    на 25 сек. 0A 04 00 00 00 14 F1 7E - Запрос без ответа
    на 27 сек запрос с ответом.

    На рис Прослушка_MB3.png запросы без ответов.
    (по интерфейсу приходит помеха) на вряд ли! Экранированный кабель длинна не больше метра. После "остановки" обмена на прямую подключаюсь USB-485 к панели и она не отвечает на другие запросы. В принципе на скрине я USB-485 слушаю интерфейс.

  5. #5

  6. #6

    По умолчанию

    Цитата Сообщение от Евгений Кислов Посмотреть сообщение
    А если переинициализировать COM-порт?
    http://www.owen.ru/forum/showthread....l=1#post272286
    А как переинициализировать COM-порт в режиме Slave?
    "поставьте точку и из выпадающего списка выберите нужную переменную диагностики:" в слейве только процедуры как на рис.
    Изображения Изображения

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

    По умолчанию

    Да, вы правы - для слэйва в текущих версиях так сделать нельзя. Я об этом забыл.
    Тогда предлагаю для теста поднять слэйв через библиотеку OwenCommunication - его переинициализировать можно без проблем:
    https://youtu.be/NzDdo6Hllm8

  8. #8

    По умолчанию

    Цитата Сообщение от Евгений Кислов Посмотреть сообщение
    Попробовал повторить вашу ситуацию.
    Настроил на СПК слэйв, запустил на ПК ModbusTester..........
    После перезагрузки СПК по питанию все продолжает работать корректно - без каких-либо проблем.
    ModbusTester вроде не отправляет запрос на запись, если не считал в первом запросе? Снял вторую панель, подключил на прямую к USB-485 к компу и эмитировал программно запросы на запись во время перезагрузки, на скрине тот же сбой.
    При небольшом запросе не всегда происходит сбой. ИМХО сбой происходит при перезагрузке когда приходит запрос в какое-то неподходящее время или переполнение каково то буфера т.к. при небольшом количестве запросов сбой не повторяется.

    Цитата Сообщение от Евгений Кислов Посмотреть сообщение
    Тогда предлагаю для теста поднять слэйв через библиотеку OwenCommunication - его переинициализировать можно без проблем:
    можно переинициализировать? В библиотеке OwenCommunication у OCL.COM_Control и OCL.MB_Serial_ Slave не нашел функции переинициализации, возможно только попробовать вкл\выкл блоков xEnable. Возможно по позже попробую,на данный момент времени не хватает.


    В Итоге пока 3 решения:
    1) Не отправлять запросы на запись 0x10 вовремя перезагрузки и до ответа СПК (правда есть проекты где панель работает только на отображение информации, и используется только эта функция)
    2) Прошить СПК в версию 1.1.0611.1056 (на этой версии все работает без проблем)
    3) Ждать исправления в след.прошивках, если данный сбой еще где-нибудь выявится.
    Изображения Изображения

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

    По умолчанию

    ModbusTester вроде не отправляет запрос на запись, если не считал в первом запросе?
    Отправляет.


    возможно только попробовать вкл\выкл блоков xEnable.
    Да, я имел в виду именно это.

    Ждать исправления в след.прошивках, если данный сбой еще где-нибудь выявится.
    Чтобы исправить - нужно воспроизвести.
    Я пока, к сожалению, не понимаю, как это сделать.

    2) Прошить СПК в версию 1.1.0611.1056 (на этой версии все работает без проблем)
    Я бы не рекомендовал это решение - если действовать неаккуратно, то можно окирпичить прибор.
    См. здесь:
    https://owen.ru/forum/showthread.php...l=1#post334198

    В следующей прошивке обратной совместимости с SP11 не будет.

  10. #10

    По умолчанию

    Цитата Сообщение от Евгений Кислов Посмотреть сообщение
    Чтобы исправить - нужно воспроизвести.
    Я пока, к сожалению, не понимаю, как это сделать.
    Ну может кто-то еще попробует, для этого выложил тестовую прошивку (вырезал все лишнее), запрос (без контрольной сумма CRC-16 программа сама рассчитает), соединил 485-1 с преобразователем USB на комп. запрос отправлял раз 2 сек. из программы termite от s2-team, после чего не останавливая опрос перезагружал СПК по питанию.
    Настройки на скрине.
    Изображения Изображения
    Вложения Вложения

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

Похожие темы

  1. ФБ для обмена по ModBus (ASCII/RTU)
    от Piper_SPB в разделе ПЛК1хх [М02]
    Ответов: 3
    Последнее сообщение: 22.11.2019, 17:42
  2. Ответов: 41
    Последнее сообщение: 07.06.2018, 15:07
  3. разгрузка сетевого обмена по ModBus
    от Иван2 в разделе СПК1хх
    Ответов: 10
    Последнее сообщение: 26.03.2015, 18:18
  4. Отладка обмена по ModBus
    от Diver в разделе СПК2хх
    Ответов: 3
    Последнее сообщение: 27.01.2015, 08:57
  5. Скорость обмена между СПК107 и МВ110-8АС
    от ru522464 в разделе СПК1хх
    Ответов: 1
    Последнее сообщение: 25.03.2014, 10:57

Ваши права

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