Циклическое чтение/запись через RS-485/Modbus регистров ПЧ другого бренда для отслеживания ошибок в реальном времени.
-
- Сообщения: 181
- Зарегистрирован: 31 авг 2019, 13:12
Циклическое чтение/запись через RS-485/Modbus регистров ПЧ другого бренда для отслеживания ошибок в реальном времени.
Здравствуйте, подключил регулятор частоты INVT GD-20 2.2kW к PLC DVP12SA211R через RS-485/ModbusRTU. Все как надо, ПЧ работает, команды выполняет (MODWR, MODRD).
Мой вопрос в том, как отслеживать ошибки в реальном времени, чтобы остановить машину, если связь между ПЛК и ПЧ потеряна. В ПЧ есть настройка, если связь потеряна, двигатель остановится. Осталось проделать то же самое в ПЛК.
До сих пор я нашел периодическую запись управляющих команд, а также периодическое чтение регистров ПЧ:
Есть счетчик, который увеличивается на единицу для каждой выполненной инструкции. Каждое сканирование проверяет значение счетчика, и если все инструкции исполнены, все запускается снова, если нет следующая инструкция выполняется. Все выполняется циклически, и если в какой-то момент связь прерывается, следующая инструкция (будь то MODWR или MODRD) активирует флаг ошибки связи (М1129, М1140), который будет использоваться в программе для остановки машины, потому что это будет означать, что нет контроля на ПЧ. В машине есть и другие ПЧ, поэтому все они должны иметь возможность останавливаться, если какой-либо из них не управляется.
В частности, в этой примерной программе игнорируется активация флагов ошибок, поэтому ее не следует воспринимать буквально. Я привожу это только как пример того, как отслеживать потерю связи в реальном времени.
Если можно использовать PLC link, у него есть специальные флаги, которые немедленно активируются в таких случаях. Но это не применимо к ПЧ других производителей.
Конкретно в этом случае недостатком является то, что одни и те же действия постоянно выполняются для того, что уже было сделано (например, если значение H5 записано один раз в регистр H2000, ПЧ начнет работать, a программа продолжит делать это постоянно, хотя оно и не нужно).
Применяется ли этот метод на практике или есть другие методы управления?
Спасибо!
Мой вопрос в том, как отслеживать ошибки в реальном времени, чтобы остановить машину, если связь между ПЛК и ПЧ потеряна. В ПЧ есть настройка, если связь потеряна, двигатель остановится. Осталось проделать то же самое в ПЛК.
До сих пор я нашел периодическую запись управляющих команд, а также периодическое чтение регистров ПЧ:
Есть счетчик, который увеличивается на единицу для каждой выполненной инструкции. Каждое сканирование проверяет значение счетчика, и если все инструкции исполнены, все запускается снова, если нет следующая инструкция выполняется. Все выполняется циклически, и если в какой-то момент связь прерывается, следующая инструкция (будь то MODWR или MODRD) активирует флаг ошибки связи (М1129, М1140), который будет использоваться в программе для остановки машины, потому что это будет означать, что нет контроля на ПЧ. В машине есть и другие ПЧ, поэтому все они должны иметь возможность останавливаться, если какой-либо из них не управляется.
В частности, в этой примерной программе игнорируется активация флагов ошибок, поэтому ее не следует воспринимать буквально. Я привожу это только как пример того, как отслеживать потерю связи в реальном времени.
Если можно использовать PLC link, у него есть специальные флаги, которые немедленно активируются в таких случаях. Но это не применимо к ПЧ других производителей.
Конкретно в этом случае недостатком является то, что одни и те же действия постоянно выполняются для того, что уже было сделано (например, если значение H5 записано один раз в регистр H2000, ПЧ начнет работать, a программа продолжит делать это постоянно, хотя оно и не нужно).
Применяется ли этот метод на практике или есть другие методы управления?
Спасибо!
Re: Циклическое чтение/запись через RS-485/Modbus регистров ПЧ другого бренда для отслеживания ошибок в реальном времени
Познакомьтесь с Data Exchange
-
- Сообщения: 181
- Зарегистрирован: 31 авг 2019, 13:12
Re: Циклическое чтение/запись через RS-485/Modbus регистров ПЧ другого бренда для отслеживания ошибок в реальном времени
Я не знаю, что вы имеете в виду с етим "Data Exchange", но в DVP-PLC Application Мanual эти слова встречаются только в связи с PLC LINK и PLC с Ethernet. Насколько я знаю, невозможно использовать PLC LINK, если ПЧ не Delta. Каким еще может быть способ обмена информацией между DVP и не-Дельта ПЧ по RS-485, кроме как с помощью инструкций MODWR и MODRD?Познакомьтесь с Data Exchange
Последний раз редактировалось ivan bratanov 21 окт 2021, 11:54, всего редактировалось 1 раз.
Re: Циклическое чтение/запись через RS-485/Modbus регистров ПЧ другого бренда для отслеживания ошибок в реальном времени
Вы можете циклически читать какой либо параметр ПЧ. В качестве контроля связи. При отсутствии ответа по тайм ауту сбрасывать порт и инкрементировать счетчик ошибок. По превышении заданного количества ошибок - устанавливать флаг "Нет связи".
Пользователь Олег выкладывал примеры программ по обработке ошибок связи здесь на форуме.
Пользователь Олег выкладывал примеры программ по обработке ошибок связи здесь на форуме.
-
- Сообщения: 955
- Зарегистрирован: 31 окт 2011, 15:18
Re: Циклическое чтение/запись через RS-485/Modbus регистров ПЧ другого бренда для отслеживания ошибок в реальном времени
van bratanov, а кто вам это сказал, что невозможно использовать? Я лично его использовал, с чем ни попадя.
-
- Сообщения: 181
- Зарегистрирован: 31 авг 2019, 13:12
Re: Циклическое чтение/запись через RS-485/Modbus регистров ПЧ другого бренда для отслеживания ошибок в реальном времени
Я вообще не подумал о том, что параметры тоже можно прочитать! Спасибо, pkl, это решит проблему!Вы можете циклически читать какой либо параметр ПЧ. В качестве контроля связи.
Дорогой Alexander_I, спасибо Вам за ответ! Что вы имеете в виду, что PLC LINK можно использовать для ПЧ других производителей?ivan bratanov, а кто вам это сказал, что невозможно использовать?
-
- Сообщения: 955
- Зарегистрирован: 31 окт 2011, 15:18
Re: Циклическое чтение/запись через RS-485/Modbus регистров ПЧ другого бренда для отслеживания ошибок в реальном времени
Я имею ввиду, что использовали PLC LINK и с модулями ICP DAS, и с частотниками Lenze, и еще с чем-то, сейчас влет и не вспомню. Лишь-бы у них был стандартный протокол Modbus.
-
- Сообщения: 181
- Зарегистрирован: 31 авг 2019, 13:12
Re: Циклическое чтение/запись через RS-485/Modbus регистров ПЧ другого бренда для отслеживания ошибок в реальном времени
Прежде чем я начал тему, я попытался установить связь между ПЛК и ПЧ через PLC LINK, но это не сработало. Теперь я попробовал еще раз, и все заработало. Видимо где-то я ошибся в первый раз. Значит PLC LINK работает с ПЧ других производителей.Я имею ввиду, что использовали PLC LINK и с модулями ICP DAS, и с частотниками Lenze, и еще с чем-то, сейчас влет и не вспомню. Лишь-бы у них был стандартный протокол Modbus.
Но здесь возникает другая проблема. Регистры чтения не имеют последовательных адресов. Например, регистр чтения кода ошибки имеет адрес 2102H, а регистр чтения частоты имеет адрес 3001H: В ПЧ Delta все регистры имеют последовательные адреса и там все просто. Но как здесь настроить в PLC LINK чтение с 2102H и 3001H?
Спасибо!
Re: Циклическое чтение/запись через RS-485/Modbus регистров ПЧ другого бренда для отслеживания ошибок в реальном времени
Отдельным устройством, видимо.
-
- Сообщения: 181
- Зарегистрирован: 31 авг 2019, 13:12
Re: Циклическое чтение/запись через RS-485/Modbus регистров ПЧ другого бренда для отслеживания ошибок в реальном времени
Я буду реализовывать все с помощью инструкций MODWR и MODRD с циклическим считыванием параметра (например 0007Н) последовательно с каждого устройства для обнаружения отсутствия связи. С PLC LINK не получится, потому что регистры INVT не имеют последовательных адресов.
Спасибо всем за ответы.
Спасибо всем за ответы.