1. Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
  2. Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
  3. Не писать свой вопрос в первую попавшуюся тему - вместо этого создать новую тему.
  4. За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения.
  5. Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
  6. Перед тем как что-то написать - читать здесь и здесь, а студентам - обязательно здесь.
  7. Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.

Emerson CWmicro - AUMA

PLC, прочие контроллеры, промышленные компьютеры, операторские панели
Закрыто

Автор темы
KirGr
здесь недавно
здесь недавно
Сообщения: 7
Зарегистрирован: 30 сен 2016, 14:24
Имя: Кирилл

Emerson CWmicro - AUMA

Сообщение KirGr »

Приветствую, уважаемые форумчане.
Провожу ПНР одной установки, столкнулся со следующей проблемой. Имеется PLC Emerson ControlWave micro, привод управления задвижкой AUMA AC 01.2, связь между ними организована по RS-485 MODBUS/RTU, расстояние между контроллером и AUMA 3 метра. Выяснилось, что кусок программы контроллера который отвечает за обмен с задвижкой работает неправильно, программа контроллера не видит (в 90% случаев) ответы, соответственно не передает информацию на панель и неверно отрабатывает алгоритмы.
При этом смотрю диагностический раздел AUM`ы в нем фиксируются запросы (счетчик все время увеличивается), кол-во запросов с ошибками не изменяется.
Встаю на RS-485 шину снифером, вижу запросы и ответы.
Что удалось выяснить разработчикам: при создании стенда из контроллера и задвижки они столкнулись с такой же ситуацией, и выяснили, что AUMA отвечает очень быстро (хотя в рамках спецификации протокола RS485/MODBUS) и проблема снимается только если иcискусственно увеличивать задержку на шине (например они реализовали преобразование RS485-RS232-RS485).
Разработчики обратились в тех. поддержку AUM`ы и Emerson. В AUMе проблем не видят, Emerson пока упорно молчит.

Вопросы:
1. У кого-то были подобные ситуации? Как решали?
2. Были ли у кого-то проекты, где реализовано прямое (без промежуточных преобразований) включение Emerson ControlWave micro и AUMA через RS-485 MODBUS/RTU. Может покажете кусок кода, который обрабатывает это взаимодействие.
Аватара пользователя

Serex
эксперт
эксперт
Сообщения: 2085
Зарегистрирован: 15 авг 2011, 21:36
Имя: Пупков Сергей Викторович
Страна: Россия
город/регион: Москва
Благодарил (а): 101 раз
Поблагодарили: 132 раза

Emerson CWmicro - AUMA

Сообщение Serex »

KirGr писал(а): Выяснилось, что кусок программы контроллера который отвечает за обмен с задвижкой работает неправильно, программа контроллера не видит (в 90% случаев) ответы,
Что за программа? Какой-то самописный код или от Emerson ? Обработка последовательного порта должна быть отвязана от общего цикла программы. Это нужно делать через прерывания. Или даже должен быть готовый блок, который работает с последовательным портом независимо от цикла.
и проблема снимается только если иcискусственно увеличивать задержку на шине
А скорость менять пробовали?
RTU фрейм

В RTU режиме сообщение должно начинаться и заканчиваться интервалом тишины - временем передачи не менее 3.5 символов при данной скорости в сети. Первым полем затем передаётся адрес устройства.

Вслед за последним передаваемым символом также следует интервал тишины продолжительностью не менее 3.5 символов. Новое сообщение может начинаться после этого интервала.

Фрейм сообщения передаётся непрерывно. Если интервал тишины продолжительностью 1.5 возник во время передачи фрейма, принимающее устройство должно игнорировать этот фрейм как неполный.

Таким образом, новое сообщение должно начинаться не раньше 3.5 интервала, т.к. в этом случае устанавливается ошибка.

Немного об интервалах (речь идёт о Serial Modbus RTU): при скорости 9600 и 11 битах в кадре (стартовый бит + 8 бит данных + бит контроля чётности + стоп-бит): 3.5 * 11 / 9600 = 0,00401041(6), т.е. более 4 мс; 1.5 * 11 / 9600 = 0,00171875, т.е. более 1 мс. Для скоростей более 19200 бод допускается использовать интервалы 1,75 и 0,75 мс соответственно.
сайт какой-то пишет

Автор темы
KirGr
здесь недавно
здесь недавно
Сообщения: 7
Зарегистрирован: 30 сен 2016, 14:24
Имя: Кирилл

Emerson CWmicro - AUMA

Сообщение KirGr »

Программа самописная, код который отвечает за обмен по RS-485 из стандартной библиотеки Emerson ACCOL3.Custom. Скорость ставили минимально возможную для AUMы. Ответ от задвижки на скорости 19200 приходит через 2мс.
Аватара пользователя

Serex
эксперт
эксперт
Сообщения: 2085
Зарегистрирован: 15 авг 2011, 21:36
Имя: Пупков Сергей Викторович
Страна: Россия
город/регион: Москва
Благодарил (а): 101 раз
Поблагодарили: 132 раза

Emerson CWmicro - AUMA

Сообщение Serex »

Как вариант код от Emerson используется неправильно.
Закрыто

Вернуться в «Средний уровень автоматизации (управляющий)»