Форум Zentec

Оборудование => ПЛК серии M => M100 => Тема начата: Vlad от 23 августа 2019, 20:16:00

Название: Подключение к "умному дому"
Отправлено: Vlad от 23 августа 2019, 20:16:00
Здравствуйте. Есть такая задача: подключить два контроллера М100 каждый со своей панелью Z033  к системе "умный дом" (далее УД) по протоколу Modbus RTU, при том, что мастером в сети должен быть контроллер УД. С УД хотят задавать уставку t, скорость вентилятора, вкл/выкл установку, хотят считывать значение t приточного воздуха. Но при этом должна остаться возможность управления с Z033. Переключение между управлением от УД и от панели Z033 можно, например, выбором скорости: "auto" - управление от УД, любая другая скорость - панель Z033. Реализация такой задачи в принципе возможна?
Название: Re: Подключение к "умному дому"
Отправлено: mike от 24 августа 2019, 02:58:40
Если использовать стандартную программу с форума - то эта возможность есть изначально
Название: Re: Подключение к "умному дому"
Отправлено: Vlad от 24 августа 2019, 16:17:06
Замечательно! Я не сомневался в правильности выбора контроллеров, только Zentec!  ;D
Название: Re: Подключение к "умному дому"
Отправлено: Vlad от 24 августа 2019, 16:28:45
Я просмотрел все видеоуроки в ZWB. А можно попросить сделать еще один? Было бы крайне интересно, разобрать такой пример: подключение одного контроллера Zentec №1 (master) по Modbus с другим контроллером №2 (slave), к которому в свою очередь подключена Z033 (тоже slave). И вот как организовать простейшую программу, чтобы включение дискретного входа на контроллере №1 приводило к включению выхода на №2, изменение скорости вентилятора на Z033, приводило к изменению аналогового выхода на №1 и т.п. А еще бы было интересно посмотреть связки контроллеров Zentec по Modbus с новыми модулями ввода-вывода, например с ПЛК M244. Очень прошу. Пожалуйста.
Название: Re: Подключение к "умному дому"
Отправлено: mike от 24 августа 2019, 21:40:02
Цитата: Vlad от 24 августа 2019, 16:28:45
Я просмотрел все видеоуроки в ZWB. А можно попросить сделать еще один? Было бы крайне интересно, разобрать такой пример: подключение одного контроллера Zentec №1 (master) по Modbus с другим контроллером №2 (slave), к которому в свою очередь подключена Z033 (тоже slave). И вот как организовать простейшую программу, чтобы включение дискретного входа на контроллере №1 приводило к включению выхода на №2, изменение скорости вентилятора на Z033, приводило к изменению аналогового выхода на №1 и т.п. А еще бы было интересно посмотреть связки контроллеров Zentec по Modbus с новыми модулями ввода-вывода, например с ПЛК M244. Очень прошу. Пожалуйста.
Задача совсем несложная, но модбас не любит циклических связей. Разумнее было бы назначить панель мастером, и работать через нее. Тем более что Z031 - это полноценный ПЛК, который приходит на смену Z033.
Тем не менее вопрос интересный - постараюсь на него ответить.
Название: Re: Подключение к "умному дому"
Отправлено: mike от 25 августа 2019, 00:26:31
Предлагаю задачу разбить на несколько этапов.
Сначала передача сигнала от мастера к слейву.
В приложении простейший проект.
Дискретный вход имитирую одноимённой переменной.
Запуск проекта осуществляется с поляны (оба контроллера в симуляцию). Почему все так настроено - читаем по форуму. Я писал об этом.
В ЗВБ есть несколько методов общения с подчиненными:
Обо всем этом есть статьи и на форуме и есть описание в справке. Например, "Переменные Modbus" см. скриншот
Для Вашей задачи подойдет третий вариант, его и будем рассматривать.
Название: Re: Подключение к "умному дому"
Отправлено: mike от 25 августа 2019, 23:01:56
Дальше надо решить задачу с имитацией панели 033. Подключать ее проводами к компьютеру мне лень, хоть она вместе с переходником и БП лежит у меня в ящике стола. Для задачи Влада достаточно создать виртуальный контроллер и добавить единственную переменную. Но не наглядно как-то получится. Что же делать? Есть идея! Я не так давно написал эмулятор панели 033 для платформы Z031. Ей и воспользуемся!
Добавляю программу в проект и перехожу к настройке симулятора сети.
Название: Re: Подключение к "умному дому"
Отправлено: mike от 25 августа 2019, 23:15:35
В ЗВБ есть мега-инструмент. Симулятор сетей. Он позволяет имитировать поведение реальной сети. Есть некоторые особенности его использования.
Например, все соединения должны проходить через рабочую станцию, что несколько сбивает новичков с толку.
Прикрепляю картинку итоговой топологии сети и сейчас ее разберем.
Название: Re: Подключение к "умному дому"
Отправлено: mike от 25 августа 2019, 23:21:27
Итак, рассмотрим сегмент сети (см. приложение)
По заданию, контроллер "Главный" имеет главный порт, который обращается к подчиненному порту контроллера "Подчиненный". Надо оговориться, что по факту оба контроллера по порту СОМ0 являются слейвами, а по порту СОМ1 - мастерами: "Главный" запрашивает "Подчиненного", а "Подчиненный" запрашивает панель и результат запроса сохраняет в промежуточной переменной, которую читает "Главный" контроллер. Это придумал не я, а Влад. Так что если сложно - за разъяснениями к нему)))
Название: Re: Подключение к "умному дому"
Отправлено: mike от 25 августа 2019, 23:30:53
Итак, настраиваю на контроллере "Главный" порт СОМ1 как Мастер и подключаю его к виртуальному порту 0 рабочей станции. Настраиваю на разделение порта на несколько задач и назначаю TCP порт 50000 (можно назначать любой TCP порт, который не занят в системе)
Для контроллера "Подчиненный" устанавливаю модбас адрес (я взял дефолтный 247 (лент было циферьку двигать)) и подключаю СОМ0 к виртуальному порту 0 рабочей станции. Для того что бы все заработало, - необходимо сделать идентичные настройки второй копии порта рабочей станции.
Название: Re: Подключение к "умному дому"
Отправлено: mike от 25 августа 2019, 23:34:28
Собственно все готово к первому тесту.
Запускаю симуляцию Подчиненного и Главного.
Название: Re: Подключение к "умному дому"
Отправлено: mike от 25 августа 2019, 23:41:58
Исходная картинка у Подчиненного - переменная равна 0. Переходим на вкладку Главного и устанавливаем 1 у переменной "Дискретный вход". Через 500 мс у подчиненного произойдет смена состояния (почему 500 мс - смотрим настройки времени опроса переменных)
Название: Re: Подключение к "умному дому"
Отправлено: mike от 26 августа 2019, 00:01:56
Первая часть задачи решена и даже протестирована.
Решаем вторую часть.
Подключаю симулятор панели к контроллеру "Подчиненный".
Делаю все так же, как в прошлый раз. Но порт TCP указываю 50001. Если бы указал 50000, то была бы каша из данных. Не смотря на то, что используются разные виртуальные порты, сама виртуализация (если можно так сказать) происходит через TCP порты. Поэтому для разных подсетей необходимо устанавливать разные TCP порты.
Название: Re: Подключение к "умному дому"
Отправлено: mike от 26 августа 2019, 00:22:23
Дальше все очень просто. Берем карту памяти подчинённой панели (033 или 031 или что-то там еще, нет разницы). Изучаем её. В конкретном примере 031 панели я сделал 2 переменные, функционально дублирующие друг друга. 114h - это для совместимости с панелями 033 и 9c40h - просто отдельная переменная уставки скорости вентилятора, - так проще управлять. Вот к ней и привяжемся. Собираем простейшие схемы, как на картинках и запускаем симуляцию всех устройств.
Название: Re: Подключение к "умному дому"
Отправлено: mike от 26 августа 2019, 00:41:22
Собственно, задача решена.
Смотрим на скриншоты и удивляемся, как все просто.
Пожалуйста, не забывайте благодарить наших ребят за то, что они делают ваши программы лаконичными и простыми.
Попробуйте написать то же самое, и, главное, отладить на Codesys или SMlogix.
В приложении проект - запускайте в симуляторе и изучайте.
Название: Re: Подключение к "умному дому"
Отправлено: Vlad от 26 августа 2019, 13:04:00
Вот за это огромное спасибо! Сейчас займусь изучением и моделированием. Для меня решение этой задачи сейчас очень актуально! Михаил, еще раз спасибо за оперативность! У вас классная команда.
Название: Re: Подключение к "умному дому"
Отправлено: Vlad от 29 августа 2019, 21:32:11
В прикрепленном проекте макросы во вкладке Z031 не имеют названий, их невозможно развернуть. Симуляцию Z031 сделать не получается, пишет "Ошибка объекта симуляции для блока MACROS".
Запускаю "Главный" и "Подчиненный" в симуляцию, изменение переменной "дискретный вход" в "Главном" на 1 не получается, сразу перескакивает на 0, а соответственно в "Подчиненном" ничего не происходит.
Название: Re: Подключение к "умному дому"
Отправлено: mike от 30 августа 2019, 07:56:16
Добрый день.
Вероятно, у вас очень давно не обновлялся ЗВБ.
Если у Вас ОС Windows, то проще всего удалить стандартными средствами ОС пакет zworkbench, а затем снова установить из онлайн инсталлятора.
Если ОС Linux, то сделать снап рефреш.
Название: Re: Подключение к "умному дому"
Отправлено: Vlad от 31 августа 2019, 20:17:19
ЗВБ удалил, компьютер перезагрузил, ЗВБ релиз онлайн установил. Та же проблема. Макросы на Z031 не имеют имен и не разворачиваются. Значение переменной "Дискретный вход" в "Главном" поменять на 1 не получается, тут же переключается в 0. На "Подчиненном" ничего не происходит. "Z031" не получается запустит в симуляцию, ЗВБ ругается.
Название: Re: Подключение к "умному дому"
Отправлено: Vlad от 31 августа 2019, 20:23:32
(//)
Название: Re: Подключение к "умному дому"
Отправлено: mike от 31 августа 2019, 23:16:08
Какая версия звб установилась?
Правильно проект импортировали в ЗВБ?
Если не получится- пишите в личку, - подключусь посмотрю
Название: Re: Подключение к "умному дому"
Отправлено: mike от 02 сентября 2019, 11:58:26
Прокрался баг в ЗВБ. Будем лечить.