- Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
- Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
- Не надо писать свой вопрос в первую попавшуюся тему - всегда лучше создать новую тему.
- За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения. Непонятно? - Читать здесь.
- Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
- Перед тем как что-то написать - читать здесь, а затем здесь и здесь.
- Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.
Modicon M580 - Modbus TCP через MOXA 3660 в Deif - Modbus RTU
Модераторы: Глоб.модераторы, Специалисты SE
-
- здесь недавно
- Сообщения: 54
- Зарегистрирован: 06 фев 2021, 02:47
- Имя: Юрий
- Страна: Россия
- город/регион: Челябинская облость
- Благодарил (а): 12 раз
- Поблагодарили: 2 раза
Modicon M580 - Modbus TCP через MOXA 3660 в Deif - Modbus RTU
Всем привет!
Ребята, помогите разобраться , у меня организована связь между верхнем уровнем (Modicon M580 - Modbus TCP) и ЛСАУ (Deif - Modbus RTU) через MOXA 3660. Проблема в том, что работает "коряво" а именно, ЛСАУ воспринимает команды через раз по функциональному коду 05 modbus, а может задвоить значение команды записи - ДЭС (ЛСАУ), должна по одному нажатию кнопки (запись регистра в единицу) уходить в режим охлаждения (300 секунд), по второму нажатию на эту кнопку (запись опять этого регистра в единицу) останавливаться. Так вот, она живет своей жизнью, то остановится нормально (через 300 сек.) то "глохнет" сразу. По Modbus Poll вижу проскакивание ошибок в протоколе:
Read error: Framing error
CRC Error
Помогите разобраться , не знаю где искать затык
Ребята, помогите разобраться , у меня организована связь между верхнем уровнем (Modicon M580 - Modbus TCP) и ЛСАУ (Deif - Modbus RTU) через MOXA 3660. Проблема в том, что работает "коряво" а именно, ЛСАУ воспринимает команды через раз по функциональному коду 05 modbus, а может задвоить значение команды записи - ДЭС (ЛСАУ), должна по одному нажатию кнопки (запись регистра в единицу) уходить в режим охлаждения (300 секунд), по второму нажатию на эту кнопку (запись опять этого регистра в единицу) останавливаться. Так вот, она живет своей жизнью, то остановится нормально (через 300 сек.) то "глохнет" сразу. По Modbus Poll вижу проскакивание ошибок в протоколе:
Read error: Framing error
CRC Error
Помогите разобраться , не знаю где искать затык
-
- специалист
- Сообщения: 642
- Зарегистрирован: 02 дек 2015, 06:57
- Имя: Огородников Сергей
- Страна: РФ
- Благодарил (а): 136 раз
- Поблагодарили: 111 раз
Modicon M580 - Modbus TCP через MOXA 3660 в Deif - Modbus RTU
Добрый день!
Я бы начал с проверки "физики" (80 % моих проблем были именно там:-)):
1. Правильный кабель, топология, коннекторы, монтаж
2. Терминаторы и подтягивающие резисторы (в руководстве написано о них)
3. Может (а вдруг?) влияют помехи извне
4. Какой режим МОХА вы используете: Прозрачный или Агент?
5. Зачастую проблемы подобного рода возникали из-за разных таймаутов ведущего и ведомого. Представьте, что мастер не получает ответ за указанное время - он делает повтор посылки. А слэйву просто нужно было время на обработку и отправку ответа
6. В инструкции есть такой параметр, как "Inter-frame delay" - по дефолту в нуле.
7. А как у вас организована в М580 посылка команд? Через ФБ или DIO-scanner? Не слишком ли высока скорость опроса? Обрабатываете ли вы успешный/неуспешный ответ?
Сбрасываете ли команду по успешному ответу/неуспешному/статусу установки/таймауту или единица продолжает висеть?
По DEIF @Jackson, наверно, может подсказать - были ли похожие проблемы и как их решали
По проблемам обмена через шлюз был ещё FAQ нашего Центра поддержки клиентов
https://www.se.com/ru/ru/faqs/index?pag ... cale=ru_RU
Я бы начал с проверки "физики" (80 % моих проблем были именно там:-)):
1. Правильный кабель, топология, коннекторы, монтаж
2. Терминаторы и подтягивающие резисторы (в руководстве написано о них)
3. Может (а вдруг?) влияют помехи извне
4. Какой режим МОХА вы используете: Прозрачный или Агент?
5. Зачастую проблемы подобного рода возникали из-за разных таймаутов ведущего и ведомого. Представьте, что мастер не получает ответ за указанное время - он делает повтор посылки. А слэйву просто нужно было время на обработку и отправку ответа
6. В инструкции есть такой параметр, как "Inter-frame delay" - по дефолту в нуле.
7. А как у вас организована в М580 посылка команд? Через ФБ или DIO-scanner? Не слишком ли высока скорость опроса? Обрабатываете ли вы успешный/неуспешный ответ?
Сбрасываете ли команду по успешному ответу/неуспешному/статусу установки/таймауту или единица продолжает висеть?
По DEIF @Jackson, наверно, может подсказать - были ли похожие проблемы и как их решали
По проблемам обмена через шлюз был ещё FAQ нашего Центра поддержки клиентов
https://www.se.com/ru/ru/faqs/index?pag ... cale=ru_RU
СВ
-
- здесь недавно
- Сообщения: 54
- Зарегистрирован: 06 фев 2021, 02:47
- Имя: Юрий
- Страна: Россия
- город/регион: Челябинская облость
- Благодарил (а): 12 раз
- Поблагодарили: 2 раза
Modicon M580 - Modbus TCP через MOXA 3660 в Deif - Modbus RTU
Тут , в процессе работ, пока критики не обнаружено, RTU между контроллерами и MOXA 2 метра, поэтому не нет терминаторов (это касаемо следующего вопроса)
Может, не знаю пока, осциллографа пока нет посмотреть что там по факту. В ближайшее время привезут коллеги.
Режим используется прозрачный.
да, таймауты действительно разные, - выровнял их. Плюс касаемо настроек МОХА , выставил Inter-frame delay на 300 мс.
что касаемо тут, через ФБ организована передача, функции READ_VAR, WRITE_VAR, DATA_EXCHogorsv писал(а): ↑06 фев 2021, 15:48 7. А как у вас организована в М580 посылка команд? Через ФБ или DIO-scanner? Не слишком ли высока скорость опроса? Обрабатываете ли вы успешный/неуспешный ответ?
Сбрасываете ли команду по успешному ответу/неуспешному/статусу установки/таймауту или единица продолжает висеть?
В общем посидев на просторах интернета , увидел ошибку у себя, при выполнении этих функций не учитывался "бит активности" контрольного слова (нулевое слова), поставил его через И с командой, тем самым получив одну запись или чтение при выполнении . Сейчас вроде стала останавливаться как надо, - именно с режимом охлаждения. Но вот запуск происходит не всегда с первого раза. И кстати после ввода контроля выполнения функции , очень тормозить все стало.
Копаю пока дальше.
-
- здесь недавно
- Сообщения: 63
- Зарегистрирован: 26 мар 2018, 13:36
- Имя: Сергей Поминовский
- Страна: Украина
- город/регион: Киев
- Благодарил (а): 13 раз
- Поблагодарили: 17 раз
Modicon M580 - Modbus TCP через MOXA 3660 в Deif - Modbus RTU
Мне кажется, это слишком много.
В документе "MODBUS over serial line specification and implementation guide V1.02" на странице 13 сказано:
In RTU mode, message frames are separated by a silent interval of at least 3.5 character times
На скорости 9600 это примерно 0.3 мс.
Думаю, Inter-frame delay в MOXA предназначена для вставки задержек между пакетами, чтобы медленные слейвы успевали переключаться на прием после отправки ответа на запрос. Тормоза у вас появились скорее всего именно из-за того, что вы тут задали 300 мс. Попробуйте задать 10 мс. Все должно работать.
-
- здесь недавно
- Сообщения: 54
- Зарегистрирован: 06 фев 2021, 02:47
- Имя: Юрий
- Страна: Россия
- город/регион: Челябинская облость
- Благодарил (а): 12 раз
- Поблагодарили: 2 раза
Modicon M580 - Modbus TCP через MOXA 3660 в Deif - Modbus RTU
Изменил на 10, работает, наблюдаю, но тормоза при считывании пока наблюдаются.Sergey_P писал(а): ↑09 фев 2021, 14:55 Думаю, Inter-frame delay в MOXA предназначена для вставки задержек между пакетами, чтобы медленные слейвы успевали переключаться на прием после отправки ответа на запрос. Тормоза у вас появились скорее всего именно из-за того, что вы тут задали 300 мс. Попробуйте задать 10 мс. Все должно работать.
Жду осциллограф, посмотреть что на линии. Но, говорю, уже останов идет как надо и это радует.
-
- здесь недавно
- Сообщения: 63
- Зарегистрирован: 26 мар 2018, 13:36
- Имя: Сергей Поминовский
- Страна: Украина
- город/регион: Киев
- Благодарил (а): 13 раз
- Поблагодарили: 17 раз
Modicon M580 - Modbus TCP через MOXA 3660 в Deif - Modbus RTU
swaips-87, а попробуйте ещё посмотреть сниффером (viewtopic.php?f=250&t=14510). Понадобится адаптер RS485/USB или RS485/RS232.
Выложите сюда лог - может ситуация прояснится.
Выложите сюда лог - может ситуация прояснится.
-
- специалист
- Сообщения: 642
- Зарегистрирован: 02 дек 2015, 06:57
- Имя: Огородников Сергей
- Страна: РФ
- Благодарил (а): 136 раз
- Поблагодарили: 111 раз
Modicon M580 - Modbus TCP через MOXA 3660 в Deif - Modbus RTU
Тут ещё подумалось:
1. Вы с одиночного или с HSBY-М580 обмен организуете?
2. Какой тип задачи, где вызываются функции обмена?
Я бы сделал периодическую и посмотрел, чтобы времени было достаточно на выполнение цикла.
3. Сколько одновременно функций в скане работает (READ_VAR, WRITE_VAR, DATA_EXCH)?
1. Вы с одиночного или с HSBY-М580 обмен организуете?
2. Какой тип задачи, где вызываются функции обмена?
Я бы сделал периодическую и посмотрел, чтобы времени было достаточно на выполнение цикла.
3. Сколько одновременно функций в скане работает (READ_VAR, WRITE_VAR, DATA_EXCH)?
СВ
-
- здесь недавно
- Сообщения: 54
- Зарегистрирован: 06 фев 2021, 02:47
- Имя: Юрий
- Страна: Россия
- город/регион: Челябинская облость
- Благодарил (а): 12 раз
- Поблагодарили: 2 раза
Modicon M580 - Modbus TCP через MOXA 3660 в Deif - Modbus RTU
HSBY
Не совсем понял, если речь идет о опросе, то опрос функций READ_VAR идет системным битом %S6 (1 секунда) и "битом активности" контрольного слова (нулевое слова).
Запись производится по командам ( это что касаемо Write_var and data_exch) а чтение (READ_VAR), 11 блоков, два из них большие - это 72 регистра
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- специалист
- Сообщения: 642
- Зарегистрирован: 02 дек 2015, 06:57
- Имя: Огородников Сергей
- Страна: РФ
- Благодарил (а): 136 раз
- Поблагодарили: 111 раз
Modicon M580 - Modbus TCP через MOXA 3660 в Deif - Modbus RTU
Ожидаемо ;-)
1. Tasks - Mast - right click - properties - какой тип задачи? Периодический или циклический?
2. Какие секции выполняются в Standby CPU? Если у вас опрос идёт сразу с двух ПЛК, то похожая ситуация будет вероятна.
Т.е. пошла запись с Primary - синхромассив передан на Standby - повторный запуск команды со Standby
3. DATA_EXCH для чего используете?
1. Tasks - Mast - right click - properties - какой тип задачи? Периодический или циклический?
2. Какие секции выполняются в Standby CPU? Если у вас опрос идёт сразу с двух ПЛК, то похожая ситуация будет вероятна.
Т.е. пошла запись с Primary - синхромассив передан на Standby - повторный запуск команды со Standby
3. DATA_EXCH для чего используете?
СВ
-
- эксперт
- Сообщения: 1146
- Зарегистрирован: 25 июл 2008, 10:06
- Имя: Леонид
- Страна: РФ
- Благодарил (а): 49 раз
- Поблагодарили: 134 раза
Modicon M580 - Modbus TCP через MOXA 3660 в Deif - Modbus RTU
На один канал нельзя больше 3..4 блоков на опрос одновременно запускать
Отправлено спустя 9 минут 40 секунд:
viewtopic.php?f=227&t=12022&p=102354#p102354
Отправлено спустя 9 минут 40 секунд:
viewtopic.php?f=227&t=12022&p=102354#p102354
Хард - это то, что можно швырнуть об стенку, а софт - это то, что можно лишь обматерить.
-
- здесь недавно
- Сообщения: 54
- Зарегистрирован: 06 фев 2021, 02:47
- Имя: Юрий
- Страна: Россия
- город/регион: Челябинская облость
- Благодарил (а): 12 раз
- Поблагодарили: 2 раза
Modicon M580 - Modbus TCP через MOXA 3660 в Deif - Modbus RTU
в Mast идет опрос, Task используется в проекте для защит и блокировок
На данный момент, повторюсь, проблема с остановом решена, "тормозит - как надо, с охлаждением 300 секунд", проблема в другом сейчас, "тормозит" всё же опрос и чтение, (запуск, по нажатию кнопки пуск не всегда проходит с первого раза, чтение данных идет с задержкой
) Здесь как раз и реализована команда останова (байты переворачиваются как нужно)
-
- здесь недавно
- Сообщения: 54
- Зарегистрирован: 06 фев 2021, 02:47
- Имя: Юрий
- Страна: Россия
- город/регион: Челябинская облость
- Благодарил (а): 12 раз
- Поблагодарили: 2 раза
Modicon M580 - Modbus TCP через MOXA 3660 в Deif - Modbus RTU
ogorsv, Приехал на вахту и всё вновь вернулось , и "тормоза" , и останов "сразу" . Думаю может быть проблема связна с ПО самим, сама система у меня PlantStruxure PES v4.2, она как оболочка на которую накатано Uniti и Vijeo Citect 7.5, Вся система как то криво работает , например компиляция проекта контроллера занимает порядка 50 минут.. при загрузки проекта , ПО сервера (PES) , на рабочем и резервном уходят в "предзагрузку" на минут 5, при этом начинает отваливать машины (АРМ, у операторов просто закрывается "СКАДА", которая тоже PES (Vijeo Citect)). я думаю проблема связи с ДЭС как раз что сразу 11 блоков опрашивает, канал забивается, нужно сделать поочередный опрос по несколько блоков. Пока не знаю как... Думал поставить просто счетчик и элемент сравнения и запускать опрос группы, но не могу сбросить счетчик, как только завожу выход "Q" на "R" Uniti выдает ошибку - "Бесконечный цикл" ... я в недоумении.
-
- специалист
- Сообщения: 642
- Зарегистрирован: 02 дек 2015, 06:57
- Имя: Огородников Сергей
- Страна: РФ
- Благодарил (а): 136 раз
- Поблагодарили: 111 раз
Modicon M580 - Modbus TCP через MOXA 3660 в Deif - Modbus RTU
1. PES это не
2. Конфигурацию связи, конечно, можно написать вручную, но для PES существуют специальные шаблоны
3. PES достаточно ресурсоёмкая среда, требовательная к размеру ОЗУ, быстродействию диска, производительности ЦПУ. Если ПК не соответствует рекомендациям, да ещё пробуют запустить в виртуальной машине - конечно, ждать будете долго
4. Для работы с PES необходимо знать и иметь опыт работы с Unity и Citect. Создание проекта имеет свою специфику, в которой разбираться без знания Unity и Citect достаточно тяжело
Это единая среда разработки и обслуживания ПО, имеющая объектно-ориентированный подход, в которой при создании экземпляра шаблона создаётся код для Unity и код для Citect.
2. Конфигурацию связи, конечно, можно написать вручную, но для PES существуют специальные шаблоны
3. PES достаточно ресурсоёмкая среда, требовательная к размеру ОЗУ, быстродействию диска, производительности ЦПУ. Если ПК не соответствует рекомендациям, да ещё пробуют запустить в виртуальной машине - конечно, ждать будете долго
4. Для работы с PES необходимо знать и иметь опыт работы с Unity и Citect. Создание проекта имеет свою специфику, в которой разбираться без знания Unity и Citect достаточно тяжело
СВ
-
- здесь недавно
- Сообщения: 54
- Зарегистрирован: 06 фев 2021, 02:47
- Имя: Юрий
- Страна: Россия
- город/регион: Челябинская облость
- Благодарил (а): 12 раз
- Поблагодарили: 2 раза
Modicon M580 - Modbus TCP через MOXA 3660 в Deif - Modbus RTU
Подскажите пожалуйста, что за шаблоны?
PES сам создает виртуальные машины при работе, по породу ресурсов машин, они соответствуют указанным в документации.
-
- здесь недавно
- Сообщения: 54
- Зарегистрирован: 06 фев 2021, 02:47
- Имя: Юрий
- Страна: Россия
- город/регион: Челябинская облость
- Благодарил (а): 12 раз
- Поблагодарили: 2 раза
Modicon M580 - Modbus TCP через MOXA 3660 в Deif - Modbus RTU
ogorsv, У меня происходит следующее:
Юнити формирует запрос и отправляет его в MOXA, она в свою очередь отправляет в DEIF.
Послушав запросы на линии, (ну и на MOXA трафик можно посмотреть), вижу два одинаковых запроса которые летят с Юнити, с одинаковым номером транзакции через 350 мс. Похоже шлет сначала основная голова, а позже резервная (но это не точно) повторюсь реализация HSBY. Контроллер Deif реагирует соответственно, на две команды подряд останавливает ДЭС аварийно (без охлаждения). И может с этим и тормоза связаны, забивание линии повторяющимися запросами. Подскажите пожалуйста, как организовать корректный запрос, с одной головы в PES.
Юнити формирует запрос и отправляет его в MOXA, она в свою очередь отправляет в DEIF.
Послушав запросы на линии, (ну и на MOXA трафик можно посмотреть), вижу два одинаковых запроса которые летят с Юнити, с одинаковым номером транзакции через 350 мс. Похоже шлет сначала основная голова, а позже резервная (но это не точно) повторюсь реализация HSBY. Контроллер Deif реагирует соответственно, на две команды подряд останавливает ДЭС аварийно (без охлаждения). И может с этим и тормоза связаны, забивание линии повторяющимися запросами. Подскажите пожалуйста, как организовать корректный запрос, с одной головы в PES.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- специалист
- Сообщения: 642
- Зарегистрирован: 02 дек 2015, 06:57
- Имя: Огородников Сергей
- Страна: РФ
- Благодарил (а): 136 раз
- Поблагодарили: 111 раз
Modicon M580 - Modbus TCP через MOXA 3660 в Deif - Modbus RTU
1. Принцип создания системы в PES - это использование готовых библиотечных шаблонов (также можно создавать свои)
2. Конечно, PES использует виртуальные машины для запуска программ-участников: Citect, Unity, Advantys Configurator. Только иногда сам PES запускают в виртуальной машине. ОЗУ нужно много и остальное соответствовать
3. Первые вопросы, конечно, нужно задавать разработчикам программы, только они владеют всей информацией что, как и почему сделано
4. Судя по логу запросы идут с одного адреса - а у Standby контроллера адрес + 1
5. Каким образом у вас реализована очередь запросов - ищите проблему там
6. Иногда пользователи вместо традиционного подхода разработки систем в PES пишут "ручками" свой собственный код - это не запрещено. Но как при этом будет осуществляться взаимодействие с остальной системой - это уже вопросы к разработчикам.
2. Конечно, PES использует виртуальные машины для запуска программ-участников: Citect, Unity, Advantys Configurator. Только иногда сам PES запускают в виртуальной машине. ОЗУ нужно много и остальное соответствовать
3. Первые вопросы, конечно, нужно задавать разработчикам программы, только они владеют всей информацией что, как и почему сделано
4. Судя по логу запросы идут с одного адреса - а у Standby контроллера адрес + 1
5. Каким образом у вас реализована очередь запросов - ищите проблему там
6. Иногда пользователи вместо традиционного подхода разработки систем в PES пишут "ручками" свой собственный код - это не запрещено. Но как при этом будет осуществляться взаимодействие с остальной системой - это уже вопросы к разработчикам.
СВ
-
- здесь недавно
- Сообщения: 54
- Зарегистрирован: 06 фев 2021, 02:47
- Имя: Юрий
- Страна: Россия
- город/регион: Челябинская облость
- Благодарил (а): 12 раз
- Поблагодарили: 2 раза
Modicon M580 - Modbus TCP через MOXA 3660 в Deif - Modbus RTU
Проблему с остановом удалось решить, внесли блок ТР с уставкой 200 мс (установлено как время цикла задач MAST). на биты запуска блоков чтения, и на команды. Так как команда со Citect "висела" 2 секуды, ну и опрос был бешеный, системный бит s%6 (1 секунда) запускал блоки чтения, и на линии естественно было куча запросов с ожиданием. Пока работает, наблюдаем дальше.
ogorsv, Сергей, может вы в курсе, как преподаватель, когда будут курсы HDCS (онлайн)?
ogorsv, Сергей, может вы в курсе, как преподаватель, когда будут курсы HDCS (онлайн)?
-
- специалист
- Сообщения: 642
- Зарегистрирован: 02 дек 2015, 06:57
- Имя: Огородников Сергей
- Страна: РФ
- Благодарил (а): 136 раз
- Поблагодарили: 111 раз
Modicon M580 - Modbus TCP через MOXA 3660 в Deif - Modbus RTU
Если вопрос про то, есть ли курсы HDCS (онлайн) - то да, мы проводили онлайн
Если вопрос про ближайшее будущее - то нет, пока не планировались.
Вопросы по расписанию и пр. можно задавать по почте [email protected]
Если вопрос про ближайшее будущее - то нет, пока не планировались.
Вопросы по расписанию и пр. можно задавать по почте [email protected]
СВ