Скада для ардуино windows

Подключение ARDUINO к Симп Лайт через MODBUS RTU

Существует несколько способов взаимодействия Arduino со СКАДА Симп Лайт, одним из которых является управление через Modbus RTU.

Этот способ не требует установки и использования какого либо OPC-сервера, взаимодействие СКАДА и Ардуино ведется НАПРЯМУЮ.

Arduino — это электронный конструктор и удобная платформа быстрой разработки электронных устройств. Программируется через USB без использования программаторов.

Modbus — открытый коммуникационный протокол, основанный на архитектуре ведущий-ведомый (master-slave).

В этом методе приложение SCADA выступает в роли Modbus Master, а Arduino выполняет функцию Modbus Slave.

Для начала работы, необходимо скачать и установить приложение Arduino IDE — https://www.arduino.cc/en/main/software

Затем нужно загрузить библиотеку, которая необходима для работы с Modbus — https://github.com/smarmengol/Modbus-Master-Slave-for-Arduino

Далее необходимо выбрать модель Arduino, с которой вы работаете. В нашем случае это модель Arduino UNO.

Затем необходимо настроить порт, по которому происходить передача данных. Если вы не знаете к какому порту подключена плата, сделайте следующее:

После того как узнали к какому номеру порта подключена Arduino UNO, необходимо указать его в программе Arduino IDE.

Загрузите библиотеку Modbus в Arduino IDE и добавьте ее в проект.

Среда разработки готова к реализации проектов с использованием протокола MODBUS RTU/

Далее будет представлен код 4-х демонстрационных проектов:

1) Подключение датчика температуры DHT22 и получение данных с него в СКАДА Симп Лайт

2) Подключение модуля реле (4 реле) и управление ими из СКАДА Симп Лайт

3) Подключение кнопки (сухого контаката) и отображение её статуса в СКАДА Симп Лайт

4) Подключение светодиода и управление им из СКАДА Симп Лайт

В конце статьи есть ссылки на архивы, которые включают код для Ардуино и проект для СКАДЫ Симп Лайт.

1. Подключение датчика температуры DHT22

2. Подключение модуля реле (4 реле).

3. Подключение кнопки.

4. Подключение светодиода.

После того как код записан в Arduino IDE его необходимо загрузить на саму плату Arduino UNO:

Когда код записан в программе Arduino IDE и загружен на Адруино, можно создать проект в СКАДА Симп Лайт.

Последовательность шагов описана ниже.

Открываем SIMP Project manager и создаём новый проект.

После создания проекта открываем проект (запускаем Редактор каналов) , если появляется дополнительное окно, в котором предлагается выбрать OPC Сервера, то убираем все галочки, если такие есть, так как в данном проекте не понадобятся сторонние OPC Сервера.

Далее заходим в настройку Modbus драйвера и создаем узел (COM) и настраиваем его параметры:

Читайте также:  Hp 1522 сканер для windows 10

Далее в узле создается новое устройство, в нем также необходима настройка параметров:

Затем в устройстве необходимо создать тег, в котором будут отображаться данные с Arduino:

Когда настроили все параметры нажимаем ОК и тестируем:

Проект DHT22 просто показывает, как SCADA Simp Light получает данные и отображает их.

Теперь создадим в этом же проекте другое устройство, чтобы показать, что в SCADA Simp Light можно управлять устройством, которое подключено к Arduino.

Когда создали устройство «Реле» и все его теги и настроили их, нажимаем ОК и можно протестировать:

Везде вывелось «False» потому, что ни один реле не был включен.

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

Сейчас мы создадим новую мнемосхему и добавим на нее необходимые элементы:

После того как добавили элементы на мнемосхему, нужно настроить каждый элемент. Далее будет показана настройка двух элементов, это «панель» и «кнопка (тип «тумблер»)», для остальных идентичных элементов настройка такая же, кроме пункта «Привязка к каналу», он будет разный.

Теперь необходимо сохранить мнемосхему и запустить ее в Мониторе:

Мы специально оставили включенными первое и третье реле, чтобы показать в «Тесте каналов» как изменились значения каналов.

Простая Scada на Python и Arduino

В продолжение статьи о возможности построения собственной scada системы на языке Python, хочу предложить вариант практического применения.

Возникла необходимость контроля температуры воздуха в серверном помещении предприятия.
Такая проблема существует на малых предприятиях ввиду ограниченности количества персонала и технических средств.

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

Разумеется, для эффективного охлаждения оборудования там устанавливают кондиционер.
Но вот этот самый кондиционер имеет свойство ломаться, как объясняют ремонтники, то «конденсатор перегорел», то «фреон закончился».

После таких ЧП у IT инженеров возникает множество проблем, кто сталкивался с этим, тот поймет. Задача не является сложной, к тому же в сети существует много примеров реализации. Для данной цели решено было воспользоваться Arduino UNO и датчиком температуры DS18b20.

Прочитав статью, загрузил в Arduino

Теперь Arduinо выступает в роли Slave устройства с адресом 10 и работает по протоколу modbus RTU. Помимо этого, программа в постоянном цикле опрашивает датчик температуры DS18b20 и записывает текущие показания по адресу 2 регистра READ_INPUT_REGISTERS.

Поскольку Slave устройство соединяется с компьютером по USB интерфейсу с выделенным com портом, то для получения данных от него можно воспользоваться программой:

Читайте также:  Как установить с флешки windows 10 pro x64

С одной стороны эта программа является Master для опроса подчиненных устройств по протоколу modbus RTU, а с другой является Slave устройством и передает данные на верхний уровень по протоколу modbus TCP.

Программа master_rtu.py используется в случае, если приходится собирать показания с нескольких устройств по протоколу modbus RTU и/или интерфейсу rs485. В файле конфигурации указывается адрес com порта и rtu адреса slave устройств. Кроме того указываются регистры опроса и адреса регистров, в которые записываются полученные данные.

Описание файла настроек setting.cfg для master_rtu.py:

В данной конфигурации будет опрашиваться modbus RTU Slave устройство с адресом 10. В регистре READ_INPUT_REGISTERS по адресу 2 будет прочитано значение измеренной температуры и записано в регистр READ_INPUT_REGISTERS по адресу 0 slave части программы для опроса по modbus TCP.

В файле настроек аналоговых сигналов ai.cfg записываем:

Т.е. будем брать измеренное значение температуры регистра READ_INPUT_REGISTERS по адресу 0х00, размещать на canvas в координатах x=100, y=100 и отображать с помощью стрелочного объекта мнемосхемы.

В файле настроек settings.cfg для scada.py пишем:

Результаты измерений можно вывести на различные объекты мнемосхемы, в том числе осуществлять контроль на динамическом графике.

Arduino

Arduino — торговая марка аппаратно-программных средств для построения простых систем автоматики и робототехники, ориентированная на непрофессиональных пользователей.
Подробнее — смотрите в «Википедии».

Существует несколько способов взаимодействия Arduino со scada-системой SIMP Light, одним из которых является управление через Modbus RTU. Этот способ не требует установки и использования какого либо OPC-сервера, взаимодействие SIMP Light и Arduino ведется НАПРЯМУЮ.

Arduino
Электронный конструктор и удобная платформа быстрой разработки электронных устройств. Программируется через USB без использования программаторов.

Modbus
Открытый коммуникационный протокол, основанный на архитектуре ведущий-ведомый (master-slave).

При взаимодействии SIMP Light и Arduino: scada-система выступает в роли Modbus Master, а Arduino выполняет функцию Modbus Slave.

Для начала работы необходимо:

  • скачать и установить приложение Arduino IDE — https://www.arduino.cc/en/main/software;
  • загрузить библиотеку, необходимую для работы с Modbus — https://github.com/smarmengol/Modbus-Master-Slave-for-Arduino;
  • выбрать модель Arduino, с которой вы работаете. В нашем случае это модель Arduino UNO.

Затем необходимо настроить порт, по которому будет происходить передача данных. Если вы не знаете к какому порту подключена плата, обратитесь к «Диспетчеру устройств» в системе Windows, и откройте раздел «Порты (COM и LPT)» — там будет указан используемый COM-порт.

После того как определен номеру порта, к которому подключена «Arduino UNO», необходимо указать его в программе «Arduino IDE».

Загрузите библиотеку Modbus в «Arduino IDE», и добавьте ее в проект.

Итак, среда разработки готова к реализации проектов с использованием протокола «MODBUS RTU». Далее будет представлен код 4-х демонстрационных проектов:

Читайте также:  Изменяющая внешний вид linux

1) Подключение датчика температуры DHT22 и получение данных с него в систему SIMP Light.

2) Подключение модуля реле (4 реле) и управление ими из системы SIMP Light.

3) Подключение кнопки (сухого контакта) и отображение её статуса в системе SIMP Light.

4) Подключение светодиода и управление им из системы SIMP Light.

В конце статьи есть ссылки на архивы, которые включают код для Arduino и проект для системы SIMP Light.

1. Подключение датчика температуры DHT22

2. Подключение модуля реле (4 реле).

3. Подключение кнопки.

4. Подключение светодиода.

После того как код записан в «Arduino IDE» его необходимо загрузить на саму плату «Arduino UNO»:

Когда код записан в программе «Arduino IDE» и загружен на Arduino, можно создавать проект в системе SIMP Light. Последовательность шагов описана ниже.

Открываем модуль «Управление проектами» (SIMP Project manager) и создаём новый проект.

После создания проекта запускаем модуль «Редактор каналов» , если появляется дополнительное окно, в котором предлагается выбрать OPC-сервера, то убираем все галочки, если такие есть, так как в данном проекте не понадобятся сторонние OPC-сервера.

Далее заходим в настройку Modbus драйвера, создаем узел (COM) и настраиваем его параметры:

Далее, в узле создается новое устройство, в нем также необходима настройка параметров:

Затем в устройстве необходимо создать тег, в котором будут отображаться данные с Arduino:

Когда настроены все параметры, необходимо нажать кнопку «ОК» и протестировать работоспособность:

Проект DHT22 просто показывает, как система SIMP Light получает данные и отображает их.

Теперь создадим в этом же проекте другое устройство, чтобы показать, что в системе SIMP Light можно управлять устройством, которое подключено к Arduino.

Когда создали устройство «Реле» и все его теги, и настроили их, нажимаем «ОК» и можно протестировать:

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

Теперь зайдем в модуль «Редактор мнемосхем», где создадим мнемосхему и добавим элементы, благодаря которым можно будет управлять реле.

Сейчас мы создадим новую мнемосхему и добавим на нее необходимые элементы:

После того, как добавлены элементы на мнемосхему, необходимо настроить каждый элемент. Далее будет показана настройка двух элементов, это «панель» и «кнопка (тип «тумблер»)» (для остальных идентичных элементов настройка такая же, кроме пункта «Привязка к каналу»).

Теперь необходимо сохранить мнемосхему и запустить ее в модуле «Монитор»:

Мы специально оставили включенными первое и третье реле, чтобы показать в «Тесте каналов» как изменились значения каналов.

И в конце, обещанные ссылки на архивы с проектами:

Оцените статью