Просмотр полной версии : Команды Modbus: какие значения на выходах при ошибке чтения
S#716_0P
03.06.2026, 09:01
Добрый день!
Никто не обращал внимания какие значения присутствуют на выходах блоков чтения Modbus в случае ошибки связи с мастер устройством?
Суть в следующем: резервированный ПЛК - мастер, панель - слейв. Если сначала включается контроллер, а панель еще не подключена, то значения уставок, которые должны считываться с панели могут быть перезаписаны в контроллере случайными значениями. Кто как решает эту проблему?
kondor3000
03.06.2026, 09:32
В обычном ПЛК делается инициализация нужных уставок при включении. Уставки могут быть константами или запоминаться по биту, при работе панели.
Как в полигоне не знаю.
Party3AH
03.06.2026, 13:38
Добрый день!
Никто не обращал внимания какие значения присутствуют на выходах блоков чтения Modbus в случае ошибки связи с мастер устройством?
Суть в следующем: резервированный ПЛК - мастер, панель - слейв. Если сначала включается контроллер, а панель еще не подключена, то значения уставок, которые должны считываться с панели могут быть перезаписаны в контроллере случайными значениями. Кто как решает эту проблему?
Добрый день. В ПЛК можно сделать проверку связи с панелью-слейвом. Если связь есть - считывать уставки.
П.с.: имел ввиду - присваивать переменным в ПЛК те значения, которые считали из панели.
S#716_0P
04.06.2026, 08:07
Добрый день. В ПЛК можно сделать проверку связи с панелью-слейвом. Если связь есть - считывать уставки.
П.с.: имел ввиду - присваивать переменным в ПЛК те значения, которые считали из панели.
В других IDE так и делаю, но в Полигоне реализация получается очень громоздкая.
Добрый день!
Для чтения/записи уставок лучше всего подходит блок BufSupEx, он хранит значения на диске, пока связи с панелью нет они и будут на выходах.
Пример можно посмотреть в документе https://owen.ru/uploads/473/pl_archives_and_setpoints_v1.2.pdf Раздел 5
С уважением,
Техподдержка Полигон
S#716_0P
04.06.2026, 10:27
ФБ BufSupEx как раз то, что нужно. Но в моем случае прикрутить его не получается. По OPC не подходит, т.к. панель СП310 не поддерживает. Модбас не подходит, т.к. контроллер резервированный (IP основного и резервного разные) и приходится делать мастером контроллер, а слейвом - панель, а ФБ BufSupEx работает только на слейве. Поэтому пришлось городить конструкцию с ФБ SaverEx.
ФБ BufSupEx как раз то, что нужно. Но в моем случае прикрутить его не получается. По OPC не подходит, т.к. панель СП310 не поддерживает. Модбас не подходит, т.к. контроллер резервированный (IP основного и резервного разные) и приходится делать мастером контроллер, а слейвом - панель, а ФБ BufSupEx работает только на слейве. Поэтому пришлось городить конструкцию с ФБ SaverEx.
Вариант BufSupEx с Модбас мастером действительно не очень типичный, хотя формально и рабочий.
Возвращаясь к первоначальному вопросу, где именно случайные значения у вас на блоках чтения? Если связи нет, то там должны быть старые значения (или нули при запуске).
S#716_0P
05.06.2026, 09:11
где именно случайные значения у вас на блоках чтения? Если связи нет, то там должны быть старые значения (или нули при запуске).
Если включить сначала контроллер, то SaverEx, т.к. нет панели, возьмет нулевые или какие то случайные значения с выходов Модбас блока чтения уставок с панели и перезапишет ими сохраненные значения в файле. После включения панели придется руками заново вводить все уставки, чтобы они опять сохранились в файл.
Пробовал добавить составной блок селектора с циклическими входами/выходами, который в случае отсутствия ошибки на выходе Модбас блока берет значения уставок с этого Модбас блока, а в случае ошибки - сохраненное значение с выхода SaverEx, но эта конструкция в IDE при перемещении по листу или рисования связей настолько жестко начинает тормозить, что пришлось от нее отказаться.
89455
Powered by vBulletin® Version 4.2.3 Copyright © 2026 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot