Страница 3 из 4 ПерваяПервая 1234 ПоследняяПоследняя
Показано с 21 по 30 из 43

Тема: Обрывы связи по RS-485 при отключении одного устройства от сети

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

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

    По умолчанию

    Цитата Сообщение от Евгений Кислов Посмотреть сообщение
    Да... А я Вашу поддержку на телефоне и в почте мучаю. За несколько минут получил ответ, который пару лет не смог решить и забил... Спасибо. С шаблонами вроде понятно на первый взгляд, как реализовать. А какие переменные (ошибка обмена и отключить опрос) на стандартном слейв устройстве выбрать только догадываюсь. Сможете их указать?

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

    По умолчанию

    Цитата Сообщение от Rinat Посмотреть сообщение
    Да... А я Вашу поддержку на телефоне и в почте мучаю. За несколько минут получил ответ, который пару лет не смог решить и забил... Спасибо. С шаблонами вроде понятно на первый взгляд, как реализовать. А какие переменные (ошибка обмена и отключить опрос) на стандартном слейв устройстве выбрать только догадываюсь. Сможете их указать?
    xError
    Enable (Рисунок 4.6.4)

  3. #3

  4. #4

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

    По умолчанию

    Цитата Сообщение от Rinat Посмотреть сообщение
    Прочитайте, пожалуйста, внимательно текст на стр. 58 и посмотрите на рис. 4.6.3 - вы не поставили нужную галочку.

    19-02-2021 20-03-52.png 19-02-2021 20-03-42.png

  6. #6

    По умолчанию

    Спасибо, помогли.

  7. #7
    Пользователь
    Регистрация
    08.09.2011
    Адрес
    Ростовская обл.
    Сообщений
    143

    По умолчанию

    У меня та же проблема: На портах Сом1,2,3 по 2-3 устройства на RS485-1,2,3 (по одному ПР200 и ТВ-006 на каждом порту) и когда на одном из портов устройства отключены, начинают происходить ошибки по другим
    портам (ошибка раз в 10-20сек при опросе 1 сек) и что интересно соседи по порту не сбоят. Что только не делал - ничего не помогает. Ждал что тут расскажут как это исправить или признания что это ошибка и она скоро будет исправлена. Но не дождался. Залепил эту проблему пока тем что в приложении установил из меню отключение опроса на время не работы с помощь описанного тут Enable. Но это не
    совсем правильный выход: на производстве может отвалиться какое- либо устройство неожиданно по разным причинам (например просто обесточат электрики) и при этом должен нарушиться технологический процесс совсем другого оборудования на другом порту?

  8. #8

    По умолчанию

    А как правильно перезапустить RS485 (Modbus Slave) в СПК107 на языке ST ?
    Цикл программы t#20ms
    Если контроллер STM32F745 сразу по включению питания отправляет пакет на СПК107
    то у СПК зависает порт, а если подождать 5 сек, то после загрузки СПК (75 сек)
    он отвечает.
    Пробовал в CODESYS 3.5.14.30 и в CODESYS 3.5.16.30
    в CODESYS 3.5.11 такого глюка не было, но обратно перепрошить СПК не получится ?
    Нужно написать, что-то типа:

    IF (Modbus_Serial_Device.xInternalError) THEN
    Modbus_Serial_Device.xEnable := FALSE;
    ELSE Modbus_Serial_Device.xEnable := TRUE;
    END_IF;

    или нужна задержка на xEnable FALSE/TRUE ?

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

    По умолчанию

    Цитата Сообщение от jujin_un Посмотреть сообщение
    А как правильно перезапустить RS485 (Modbus Slave) в СПК107 на языке ST ?
    Цикл программы t#20ms
    Если контроллер STM32F745 сразу по включению питания отправляет пакет на СПК107
    то у СПК зависает порт, а если подождать 5 сек, то после загрузки СПК (75 сек)
    он отвечает.
    Пробовал в CODESYS 3.5.14.30 и в CODESYS 3.5.16.30
    в CODESYS 3.5.11 такого глюка не было, но обратно перепрошить СПК не получится ?
    Нужно написать, что-то типа:

    IF (Modbus_Serial_Device.xInternalError) THEN
    Modbus_Serial_Device.xEnable := FALSE;
    ELSE Modbus_Serial_Device.xEnable := TRUE;
    END_IF;

    или нужна задержка на xEnable FALSE/TRUE ?
    Манипуляции со слэйвом не решат вашу проблему.
    Какой именно пакет посылает STM32?
    Выложите дамп.

  10. #10

    По умолчанию

    Цитата Сообщение от Евгений Кислов Посмотреть сообщение
    Манипуляции со слэйвом не решат вашу проблему.
    Какой именно пакет посылает STM32?
    Выложите дамп.
    RS485 зависает при первом включении за день, потом
    если отключить питание и снова включить, зависание проявляется не всегда.

    на СПК отправляется команда 0x10 с разными пакетами до 56 регистров максимум.
    Упростил пакет до 1 регистра и потестирую.

    Tx (STM32): 0A 10 00 16 00 01 02 00 0F 97 92
    Rx (ответ СПК): 0A 10 00 16 00 01 E1 76

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

Похожие темы

  1. Ответов: 4
    Последнее сообщение: 20.11.2019, 10:38
  2. Ответов: 3
    Последнее сообщение: 18.10.2018, 15:57
  3. Ответов: 4
    Последнее сообщение: 28.07.2016, 06:29
  4. Ответов: 15
    Последнее сообщение: 15.03.2016, 21:29
  5. Ответов: 9
    Последнее сообщение: 09.04.2015, 11:21

Ваши права

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