folk писал(а):Здравствуйте! Возникла проблема (или уже больше вопрос)
Имеется панель Weintek mt8072ip и 30 частотных преобразователей, которые управляются с этой самой панели по RS-485.
В целом все получилось неплохо, но заказчик попросил предусмотреть отключение всех ЧП по сигналу пожар, который заведен с модуля ввода, тоже по RS-485. Стоит оговориться, что от объекта я далеко и все программирование происходит с одним ЧП, просто перебираю адресацию ЧП и проверяю параметр за параметром.
Вернемся к проблеме. Было принято решение написать макрос, который посылает на все ЧП команду на выключение. И вот тут то я столкнулся с неприятностями. Первый ЧП отключается, все отлично, но остальные адреса не реагируют.
Долгим и упорным путем пришел к выводу, что при выполнении макроса компилятор доходит до строчки с адресом ЧП, который не подключен к сети, и возвращает ошибку, от чего выполнение макроса прекращается на этой строчке. Возникает очень нехорошая ситуация, что если по какой-то причине выйдет из строя первый по адресу ЧП, и на панель поступит сигнал пожар, то никакие устройства не отключатся по указанной выше причине. Выкрутился из ситуации созданием отдельных макросов на каждый ЧП, после чего панель стала дико тормозить(подозреваю, от невозможности успешно окончить выполнение макроса, но все таки
обрабатывать сигнал. Вся надежда только на то, что при подключении всех ЧП лаги уйдут.
Подскажите пожалуйста, в чем конкретно причина, и какой все таки правильный выход из этой ситуации? Имеется ввиду, как все таки правильнее послать команду одновременно множеству устройствам в сети?
Нехорошо аварийное завершение работы завязывать на команду по сети. Такие сигналы должны идти напрямую на вход частотников, причем как нормально замкнутый контакт