• 003_001_Soft_windows.jpg
  • 003_002_Soft_android.jpg

АСУ. Принцип работы

Содержание раздела

Общие положения

        Для организации взаимодействия ПУ с сервером и описания работы АСУ определены следующие сущности:

  • «Ресурсы программ» - шаблон, предоставляющий набор команд, для управления какими либо функциями;
  • «Программы» - упорядоченная последовательность команд. Источником команд являются ресурсы программ;
  • «Периферийное устройство» - ПУ, обеспечивающее определенные функции автоматизации посредством выполнения команд программы или передачи в ПО АСУ состояний датчиков;
  • «Сигналы» - носитель информации об определенном параметре системы АСУ. Например, сигналами являются значения температуры с датчиков температуры, или выход операции в параметрах события, или константа в параметрах события;
  • «События» - изменение состояния заданного сигнала по заданным параметрам. Например, превышение влажностью порога в 75%.

        Структурная схема взаимодействия сущностей АСУ показана на рисунке. 

Взаимодействие сущностей АСУ

        Типовая последовательность действий пользователя для организации взаимодействия в АСУ следующая:

  1. после запуска ПО АСУ убедиться в обнаружении всех ПУ в ПО АСУ (может занять несколько минут). Наименования с заводскими номерами всех ПУ должны отображаться в списке «Подключенное оборудование» для ОС Windows или на вкладке «Оборудование» для ОС Android. Правила настройки ПУ для обеспечения работы в одной подсети определены в руководстве по монтажу и эксплуатации конкретного ПУ;
  2. добавить ресурсы программ (разделы Windows: вкладка «Ресурсы» и Android: вкладка «Ресурсы»). При правильной настройке параметров ресурсов программ у каждого ресурса должно быть состояние «Подключено»;
  3. создать набор программ для управления ПУ (разделы Windows: вкладка «Задание» и Android: вкладка «Задание»);
  4. создать набор событий для определения правил запуска программ управления ПУ (разделы Windows: вкладка «События» и Android: вкладка «События»);
  5. сохранить конфигурацию (разделы Windows: главное окно и Android: главное окно);
  6. запустить планировщик. Убедиться, что программы управления ПУ работают так, как предполагалось. 

Пример АСУ с ручным управлением ПУ

        Предположим, есть следующая задача (№1): нужно наполнить водой бочку для полива и выполнить полив из бочки в четырех поливных зонах.

        Нам понадобится оборудование: два насоса, пять сервокранов и устройство управления CUWDb-08-2.

        Насос №1 предназначен для закачки воды из скважины в бочку.

        Кран №1 установлен на входе в бочку.

        Насос №2 установлен на выходе из бочки.

        Краны №2 - №4 установлены после насоса №2 для подачи воды в каждую поливную зону.

        Для решения этой задачи выполняем следующие действия:

1. Создаем и настраиваем ресурсы для двух насосов и пяти сервокранов. Насосами управляем через ресурс «Цифровой выход»;

2. Создаем программу управления;

3. Сохраняем конфигурацию программы для последующего использования;

4. Запускаем планировщик (см. разделы Windows: главное меню и панель инструментов и Android: вкладка «Задание»);

5. Запускаем программу на выполнение, нажав на кнопку  запуска программы.

        При создании программы было учтено:

  • - краны открываются в течение 5 секунд и закрываются в течение 5 секунд;
  • - бочка наполняется 240 секунд;
  • - каждую зону поливаем в течение 60 секунд. 

Пример АСУ с автоматическим управлением ПУ

        Определим задачу №2. Для этого возьмем задачу из предыдущего раздела модифицируем её: бочка должна наполняться до заданного уровня, полив должен выполняться каждый день в 4 часа 17 минут. Исходным условием задачи считаем, что бочка в заданное время пустая.

        Нам понадобится дополнительно датчик уровня, вмонтированный в бочку, и контроллер датчиков SC-01.

        Набор ресурсов в ПО АСУ остается прежним.

        Создаем три программы:

1. Включение насоса №1;

2. Выключение насоса №1;

        3. Запуск полива по зонам.

        Создаем событие запуска программы «Включение насоса №1» по календарю с параметрами, показанными на рисунке.

        Создаем событие запуска программы «Выключение насоса №1». Тип события «Пользовательское». Параметры показаны на рисунке.

        Обратите внимание на параметр «Тип активности»: в данном случае именно он определяет, что датчик уровня переходит из разомкнутого состояния в замкнутое. Подробнее о событиях написано в разделе Типы событий.

        Создаем событие запуска программы «Запуск полива по зонам». Тип события «Пользовательское». Параметры показаны на рисунке.

        Сохраняем конфигурацию для последующего использования.

        Принцип работы созданной нами системы следующий. Каждый день в 4 часа 17 минут включается насос №1 и заполняет бочку до заданного уровня. По датчику уровня насос выключается. По завершению работы программы «Выключение насоса №1» запускается программа «Запуск полива по зонам» и выполняется требуемый нам полив. Все операции выполняются без участия человека.

        Дополнительными требованиями к выполнению данной задачи: сервер АСУ должен быть включен, программа АСУ запущена, в ПО АСУ должна быть загружена созданная нами конфигурация и запущен планировщик.

Применение подпрограмм

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

        Рассмотрим применение подпрограмм на примере. Модифицируем задачу №2 из предыдущего раздела.

        Создаем программу «Вкл. Насоса полива зоны».

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

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

        Ресурс «Подпрограмма» предоставляет всего одну команду «Выполнить». По данной команде запускается связанная с ресурсом программа.

        Подпрограмма начинает выполняться только тогда, когда сервер АСУ получит подтверждение о выполнении команды предшествующей вызову подпрограммы. Длительность ожидания такого подтверждения определяется в параметре «Ожидать подтверждение команды, мс» команды «Выполнить». В параметре «Таймаут выполнения подпрограммы, мс» указывается временной интервал, по истечении которого ПО АСУ принимает решение о прерывании выполнения подпрограммы (на случай ошибочных ситуаций). Во избежание длительных ожиданий указываете при вызове подпрограмм реально требуемые для работы временные интервалы с запасом (можно двухкратным).

        Модифицируем программу «Запуск полива по зонам», заменяя в ней участки кода по включению/выключению насоса №2 на вызов подпрограммы. Результат модификации показан на рисунке.

Из рисунка видно, что количество строк в программе значительно уменьшилось.

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

Применение операций для решения задач автоматизации

        Для примера рассмотрим следующую задачу (№3): если температура воздуха достигает 30 оС, то нужно включить два вентилятора, если температура воздуха опускается ниже 27 оС, то нужно включить вентиляторы.

        Нам понадобится оборудование: два вентилятора, устройство управления CUWDb-08-2, контроллер датчиков SC-01 и датчик температуры ds18b20.

        Для решения этой задачи выполняем следующие действия:

        1. Создаем и настраиваем ресурсы для двух вентиляторов (ресурс «Цифровой выход», см. Рисунок);

        2. Создаем программы включения и выключения вентиляторов (см. Рисунки);

        3. Создаем событие запуска программы «Включить вентиляторы». Тип события «Пользовательское». В событие добавляем:

  • две константы со значениями 27 и 30 (см. Рисунок);

  • операцию «Триггер Шмитта». Сигналом для операции является значение с датчика температуры ds18b20. Нижний и верхний порог устанавливаются в ранее определенные константы  (см. Рисунок);

  • параметры события показаны на рисунке 66.

В качестве сигнала события выбираем результат созданной ранее операции. К событию подключаем программу «Включить вентиляторы». Тип активности по фронту.

Событие будет формироваться при наступлении температуры 30 оС. После того, как событие сформировано, все колебания температуры от 27 оС и выше не будут приводить к формированию новых событий. Как только температура опустится ниже 27 оС, то запустится новый цикл поиска верхнего порога в 30 оС. И если температура снова достигнет 30 оС, то будет сформировано новое событие. Фронтом для выходного сигнала операции является граница 30 оС, срезом для выходного сигнала операции является граница 27 оС. В диапазоне от 27 оС до 30 оС расположена петля гистерезиса.

        4. Создаем событие запуска программы «Выключить вентиляторы». Тип события «Пользовательское». Настройка такая же, как для предыдущего, только выбираем связь с программой «Выключить вентиляторы» и параметр «Тип активности» устанавливаем в значение «По срезу». Событие будет формироваться после того как температура превысив 30 оС вернется в значения ниже 27оС. Таким образом, будут обеспечены условия выполнения нашей задачи;

        5. Сохраняем конфигурацию для последующего использования;

        6. Запускаем планировщик. 

Переход к другим разделам руководства оператора
Наше оборудование
  • Устройства;
  • CUWDb - расширяемое, конфигурируемое устройство управления релейными сигналами и сервокранами;
  • SC-01 - контроллер датчиков;
  • DCC-01 - контроллер управления приводом;
  • Преобразователь сигналов - предназначен для обновления прошивок устройств.
Сопутствующие товары
  • Сервокраны (краны шаровые с электроприводом) с арматурой из латуни, стали и пластика. Электроприводы для кранов;
  • Контакторы малогабаритные переменного тока общепромышленного применения;
  • Датчики для построения систем автоматизированного управления в теплицах;
  • Кабели для прокладки магистралей управления и контроля.