Потеря связи с Modbus устройством

Автор Khanas, 25 марта 2025, 17:21:22

« назад - далее »

Khanas

Использую М320 в качестве модуля входов/выходов, Z037-04 (Панель) в качестве главного контроллера (мастер), а Z037-05 (Термостат) в качестве комнатного термостата. Сам Термостат выступает, как доп. функция и он может быть подключен, а может и не быть.
Уставка температуры и включение/отключение контура обогрева включается как с Панели так и с Термостата.
Когда все три контроллера связаны по RS-485, то проблем нет, но стоит мне отключить Термостат и всё начинает работать как попало, с дикими задержками или вообще не реагировать на действия выполняемые на Панели.
Очевидно, что происходит так, потому что у мастера нет связи с подчиненным устройством. Но как это можно обыграть в zWorkbench таким образом, чтобы при отключении Термостата всё продолжало работать только от Панели?
 

Nikolai

Здравствуйте.
Трудно сказать. Это нужно видеть как в проекте обмен реализован.
Ну вообще, можно сделать следующим образом. Как пример.
Есть блоки обмена R/slawe W/slawe. У этих блоков есть вход разрешения en, а так же выход err. Можно отслеживать выход ошибки и если она не равна 0 отключать обмен выставляя en в 0.
Ну. Как то так.

Khanas

Хорошо, попробую этими блоками.

Обычно я в программах пользуюсь просто сетевыми переменными из карты подчиненных устройств. Есть ли какие-то существенные недостатки или ньюансы при использовании их в отличие от блоков W/R slave?

Nikolai

Единственный нюанс, при использовании таблицы, управлять ей не получится. Если она есть, то работает постоянно. Ну и чтение/запись только групповыми операциями.

Khanas

В общем, я совсем не понимаю, как пользоваться этими блоками. Ничего не получается.
Создал пустой проект. Идея - пересылать число и булевое значение из экрана Z037-04 на экран Z037-05.
Может, есть проекты, где я мог бы хоть посмотреть, как ими правильно пользоваться? 

Всегда пользовался обычными переменными Modbus.

Nikolai

В этом проекте https://zentec.ru/forum/index.php?topic=614.0 Есть модуль "стандарт202". Его можно использовать в качестве примера.

Khanas

В этих  проектах нет работы ни с переменными ModBus ни с блоками R/W (Slave)

Konstantin

В этом макросе есть нужный модуль "стандарт М202".

Nikolai

Цитата: Khanas от 27 марта 2025, 13:56:32В этих  проектах нет работы ни с переменными ModBus ни с блоками R/W (Slave)
Вы их откройте. Двойной клик ПКМ и схема макроса откроется. Потом еще раз на нужном макросе и вы увидите саму схему макроса "Стандатр202" и как работоть с блоками.

Nikolai

Так же. Вы можете найти нужный модуль в обозревателе проекта. И открыть его оттуда.