Каталог

Руководство по подключению MyHeat Pro + СТК107 на примере простого проекта

В рамках данного руководства мы рассмотрим настройку проекта и подключение к панели СТК-107.

Демонстрационный проект включает в себя:

  • контроллер MyHeat pro
  • панель Спиктек СТК-107
  • 2 блока питания (12 и 24В)
  • трубчатый резистор
  • 2 датчика температуры
  • индикаторная лампа 24В
  • проходной выключатель

Наша схема достаточно проста:

Резистор греется и считывается датчиком. Как только его значение превысит уставку, то он должен выключиться (с поправкой на гистерезис)

Данные передаются на панель и там визуализируются.
Есть также физическая аварийная кнопка, и её аналог на панели, ими можно быстро всё выключить.

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

Панель, лампочка и сам резистор питаются с отдельного блока питания на 24В.

Сам контроллер питается от блока питания на 12В шедшего в комплекте.

После регистрации устройства в вашей сети, создания домена и прочих подготовительных действий перейдем на сайт https://my.myheat.net/ для настройки.

  1. Датчики.

В разделе настраиваем подключенные температурные датчики и дискретные входы.

В настройках дискретного входа кроме названия можно поменять ещё и режим.


  1. Оборудование.

Добавим исполнительные устройства, насосы, клапаны и прочее оборудование. Именно в этом разделе мы назначаем релейные и симисторные выходы.


Настройка Реле 1. Через него будет включаться наш резистор.

Ни один из предлагаемых типов нам не подошел, поэтому был выбран тип Произвольный механизм

Настройка Реле 2. Включение лампочки производится включением Реле 1.

Наиболее подходящий режим для этой цели - Сирена.

  1. Зоны.

Здесь настраивается логика включения и отключения устройств (бассейн, вентиляция, контур отопления и пр.) а также, нужный нам гистерезис включения и выключения

Всё что добавлено тут, будет отображено на главных страницах (в локальной сети WI-FI и сайтовой версии)

В нашем проекте мы выберем тип Произвольная температура, дадим название, выберем датчик температуры и выберем что именно будет включаться.

В расширенных настройках настроим гистерезис включения и гистерезис выключения.
Например, если целевое значение мы выберем 40, то включаться резистор будет у нас на 37, а выключаться на 43. Это очень полезно: реле не будет часто переключаться, что продлит его срок службы.

У нас добавлена ещё одна Зона - Температура помещения.
Это сделано для отображения одного этого датчика на главных страницах.

  1. Сигнализация

Здесь настраивается сигналы тревоги. У нас её будет включать проходной выключатель через DI1.

Нам подходит тип Произвольная тревога, она будет включаться от DI1 и выключать и лампочку и резистор.

  1. Доп. настройки

Здесь настраиваем параметры связи по протоколу Modbus(115200, 8, N, 1)

  1. Модули.
    Это самый важный пункт для настройки. Здесь настраиваются адреса Modbus.
    По этим адресам мы будем передавать данные с контроллера на панель и обратно.


(Если панель не настроена, она будет отображаться красным)

Кликнув по шестеренке мы зайдем в настройку панели.

Адрес Modbus должен быть 1 (это адрес самой панели)

Типы регистров Modbus - int16 (целое число 2 байта)

Дальше настраиваем адресацию Регистров.

  • Регистр - по сути, это контейнер для хранения каких-то значений на панели.
  • Производитель MyHeat разделяет 2 типа регистров:

1 тип. адреса 0 - 100 - все отображаемые значения, температуры, состояния и тд. Их нельзя менять с панели.
2 тип. адреса 100-200 - целевые значения, уставки, режимы. Их можно менять с панели.

  • Между адресами не должно быть пробелов, то есть, вы указываете

0,1,2,3…. 100,101,102,103…..

  • Между типами адресов могут быть пробелы, например, у вас заняты 0 - 30, и 100 - 110.
  • К одному адресу регистра не должно быть назначено два разных значения
  • Битовые переменные(например Вкл или Выкл) занимают также полностью один регистр для одного значения и принимают значения в формате 16-signed:
  • 0 - выкл, 10 - вкл, 20 - АВТО

Критичность состояния - показывает “общую Аварию” на главной странице.

Адрес регистра должен быть 0.

Регистр принимает разные значения:

  • При значении регистра 1 - показывает зеленую полоску о нормальной работе
  • При значении регистра 3 - показывает предупреждающую красную полоску о проблемах.

В Зоне “Температура резистора” у нас 3 регистра.
1 - показывает текущую температуру

2 - показывает, что идёт нагрев, битовый

100 - целевое значение температуры, через него задается требуемая температура с панели

Обратите внимание на направление стрелок для разных типов регистров. Например 1 и 100, стрелки направлены в разные стороны
 

В Оборудовании укажем через какие регистры будем включать и выключать резистор с панели.
 

Вкладка Тревоги.
3-й регистр будет сигнализировать на панель, что включен физический проходной выключатель.

В Датчиках укажем 4-й адрес, он будет показывать какая температура фиксируется с другого датчика шедшего в комплекте

Рекомендуется сделать таблицу адресов, чтобы не запутаться.

  1. Проверка

Теперь без подключения панели логика уже должна отрабатывать. Можно это проверить.

Нажата кнопка экстренного подключения:

- Светодиод на контроллере подсвечивается красным.
- Оба реле выключены

- На главной странице состояние с ошибками.

Когда кнопка отжата:

  • Оба светодиода реле включены
  • Лампа загорелась
  • Ошибка с главной страницы исчезла

  1. Физическое подключение контроллера MyHeat к панели Спиктек

Для подключения нам понадобится

  1. Разъем мама DB9
  2. Кабель с двумя изолированными жилами. Подойдет кабель UTP (витая пара) или кабель КСПВ.
  3. Витая пара или патч-корд, обычный Ethernet-кабель для соединения компьютера и панели

На сайте https://spiktek.ru/ найдем распиновку разъема DB9.
На панели СТК107 разъем типа папа, значит нам нужен разъем типа мама.

После присоединения панель отобразится черным цветом на сайтовой версии MyHeat

При отсутствии связи:



 

Связь есть:


9. Установка программного обеспечения Spik Studio

На сайте Спиктек

скачиваем и устанавливаем программное обеспечение Spik Studio

После установки запускаем Utility Manager Spik

Нужно нажать разработка Spik Studio

В папке с установленным Spik Studio можно найти ярлык самого приложения для разработки

10. Создание проекта Spik Studio

После выбора панели откроется рабочая область проекта.
Зайдем в системные настройки. Добавим Modbus Server и выставим параметры связи

Переходим к настройке рабочей области. Сделаем фон белым..

Объекты - Число

В свойствах объекта Число произведем настройки

Адрес LW укажем всё то, что указывали в настройках myHeat

Наш результат:
Скопируем эти объекты и заменим адреса. Кроме того, разрешим ввод для регистра 100. Для остальных лучше ввод отключить.

Добавим текстовые описания к нашим объектам и поменяем размер шрифта.

Добавим битовый индикатор.
Он предназначения для отображения ламп, индикаторов, переключателей и тд.

Если объект число показывает число температуры , то битовый индикатор только состояние включения и выключения. 0 или 1(false или true)


Мы будем его использовать для состояния нагрева и для лампы аварии.

Сделаем его формой как зеленая или красная полоска.



тоже самое но с другим цветом и другим сообщением сделаем для состояния 1

Теперь останется только растянуть полоску до необходимой длины.

Добавим ещё один битовый индикатор с адресом LB 1. Вставим свой рисунок для отображения состояния нагрева. Мы, к примеру, зашли в помещение где есть только панель. Хочется знать, идет ли нагрев сейчас. Физически, у нас есть лампочка, которая коммутируется Реле 2, но хочется сделать её аналог на панели, вдруг панель и лампочка находятся в разных местах дома.

Здесь мы поработаем с рисунком. Вместо полоски или лампочки мы вставим картинку резистора, которая будет окрашиваться в оранжевый при нагреве. В Photoshop были подготовлены 2 картинки резистора с разными цветами.

Разместим на рабочей области, растянем по размеру. Возможно, нужно будет в свойствах отключить “метка”. Элементы, порой, наследуют свойства предыдущих элементов.

Наша область теперь выглядит так.

По проекту нужна небольшая визуализация подъема и падения температуры. Поэтому воспользуемся простеньким графиком. В Spik Studio делается это через Выборку данных.

Данные считываются и складываются в массив информации, который можно визуализировать через график или таблицу.

После создания выборки создадим График выборки

Теперь создадим область, которая будет визуально отделена от основной части. Это будет аварийная область с тумблером и индикатором. Нам нужен прямоугольник

Добавим переключатель.

С его помощью мы будем с панели отключать оба Реле контроллера

Добавим ещё один битовый индикатор. На этот раз выберем одну из стандартных картинок

библиотеки. Для первого состояния выберем другой цвет.

Конечный результат. Именно его мы увидим на экране панели

11. Макрос

Проблема:

Все регистры с контроллера передают данные в формате int16-bit.

А для индикаторов, тумблеров нам нужен другой формат - bool.

Как выше упоминалось, содержимое для всяких включений такое:

0 - выкл, 10 - вкл, 20 - АВТО

Решение:

Использовать макрос и переформатировать из int16 -> bool

И отправить эти данные на наши индикаторы и переключатели: LB0, LB1, LB2, LB3,

В начале объявим переменные (временные хранилища внутри макроса, для наших значений)

Теперь достанем данные из панели и привяжем их к этим внутри_макросовым переменным. Делается это так.

После добавления нас ждёт вот такая цветная строка.

Проделаем тоже самое для остальных переменных.

Чтобы не запутаться дополним нашу табличку.

У нас стоит несколько задач:

  1. Вывести общую аварию из LW0 в LB0. Ту зеленую/красную полоску.
    Поскольку нормальное состояние это значение 1, то любое другое становится для нас автоматически аварией.

Плюс пусть покажет аварию, если нажат тумблер на панели.

Для вывода в LB0 используем метод SetData. Добавляется он аналогичным образом

  1. Вывести нагрев на рисунок резистора из LW2 в LB1. При нагреве он должен поменять состояние.
    Плюс, если есть авария с физической кнопки, то индикации нагрева не должно быть.

Для кнопок нам важны значения 0, 10 и 20, где 10 - true. 0 - false

  1. Отправить данные на контроллер в LW101 и LW102 при нажатии тумблера LB2.
    Должны отключиться оба реле.

  1. Общий индикатор аварии LB3 должен зажечься, если авария придет хоть с панели (LB2), хоть с контроллера (LW3). Здесь важно что мы посылаем конечные данные не в контроллер, а в панель.

и заканчиваем макрос командой end macro_command.

Полный макрос будет доступен для скачивания в конце статьи.

12. Загрузка на панель.

Есть несколько вариантов как залить проект.

  1. По ethernet-кабелю подключившись напрямую в компьютер или в роутер
  2. Загрузка через USB-флешку.

https://www.rusavtomatika.com/forum/viewtopic.php?f=7&t=639

Чтобы подключиться напрямую к ПК

https://www.rusavtomatika.com/forum/viewtopic.php?f=7&t=1067

У нас первый вариант, через общий роутер.

Мы воткнули туда свой ПК и панель.
На вкладке Проект находим Загрузить (ПК -> Панель)

По кнопке “Найти всё” отобразятся панели в нашей сети.
Если панели нет в списке, то значит её нет в вашей сети. По умолчанию, панели присваивается автоматический айпи, роутер должен ей его выдать.

Если всё сделали правильно, то на панели мы увидим интерфейс и должна были подтянуться данные с контроллера.

Остается только ввести цель. И опробовать физический и панельный выключатели.
И работу системы.

Включив физический проходной выключатель мы видим аварию

Включив панельный выключатель мы также видим аварию.

Управляющие данные с панели дольше передаются на контроллер. У нас заняло около 15 секунд.

На главной странице по сети WI-FI будет так

На сайтовой версии

В заключении панель с отрисованным графиком изменения температуры.


Видео-версия статьи

Проект для Spik Studio

Скомпилированный проект для загрузки через USB-флешку на панель

Готовый макрос для импорта в Spik Studio

Текстовая версия макроса



Возврат к списку новостей