Удаленное управление

При управлении прибором и объектом предусмотрено три вида записи настроек:

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

  • Для проверки корректности записи параметров в прибор в момент установки

  • Для изменения значения параметра в одном приборе при наличии достаточной квалификации

Запись шаблона параметров в приборы используется в следующих случаях:

  • Для одновременного выполнения однотипных действий приборов.

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

  • Для одновременной записи в несколько приборов

Запись набора управляемых параметров (конфигурации) в прибор используется в следующих случаях:

  • Для хранения конфигурации («рецептов»). OwenCloud хранит до 5 рецептов. OwenCloud обеспечивает запись конфигурации в прибор и позволяет просматривать и сравнивать конфигурации.

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

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

Запись значений управляемых параметров в прибор

В главном окне OwenCloud выберите прибор и откройте вкладку Запись параметров / Активные команды на запись и параметры. Откроется окно:

Graphic

В столбце Новое значение – введите значения только тех параметров, которые необходимо изменить. Нажмите кнопку Записать. Откроется окно:

Graphic

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

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

Нажмите кнопку Записать.

Для просмотра журнала команд откройте вкладку Запись параметров / Лог команд. Откроется окно:

Graphic

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

Создание и запись параметров по шаблону в приборы

В разделе Администрирование откройте вкладку Шаблоны. Откроется окно:

Graphic

Нажмите кнопку Добавить шаблон. Откроется окно:

Graphic

Название – введите название шаблона.

Категории – выберите группы, к которым будет относиться шаблон.

Описание – введите описание шаблона.

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

Нажмите кнопку Сохранить. Откроется окно:

Graphic

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

Откройте вкладку Параметры. Откроется окно:

Graphic

Выберите один или несколько приборов.

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

Нажмите кнопку Сохранить. Откроется окно со списком шаблонов.

Запись набора управляемых параметров (конфигурации) в прибор (₽)

В главном окне OwenCloud выберите прибор и откройте вкладку Конфигурации / Текущие данные. Откроется окно, в котором отображаются значения текущей конфигурации:

Graphic

При необходимости уставите новые значения параметров, нажав кнопку Записать.

Откройте вкладку Конфигурации / Все конфигурации. Откроется окно:

Graphic

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

Цветовая индикация:

  • Желтый фон строки – строки с отличающимися значениями параметров.

  • Зеленый фон строки – параметр отсутствует в одной из сравниваемых конфигураций.

  • Красным выделено отличающееся значение, установленное в приборе на текущий момент.

  • Зеленым выделено отличающееся значение, ранее установленное в приборе.

Количество конфигураций доступных пользователю определяется тарифным планом (Просмотр информации о тарифе и смена тарифного плана).

Пользовательские программы (₽)

Функционал пользовательских программ предоставляется в бета-версии.

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

Пользователю доступно: 

Доступность просмотра, создания, редактирования и количество пользовательских программ определяется:

Просмотр списка пользовательских программ

В разделе Администрирование откройте вкладку Программы. Откроется окно:

Graphic

В списке пользовательских программ отображается следующая информация:

  • Название

    — название программы;
  • Прибор

    — названия приборов, параметры которых содержит программа;
  • Категория

    — категории, в которые входит программа;
  • Статус

    — статус выполнения программы. Возможные варианты:
    • Остановлен

      GraphicПрограмма доступна для запуска
      GraphicПрограмма недоступна для запуска:
      • последняя компиляция невыполнена;

      • ограничение по тарифному плану.

    • В работе

      GraphicПрограмма выполняется успешно. Доступна кнопка «Остановить».
    • Ошибка

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

Для просмотра и редактирования программы нажмите на название программы:

Graphic

Создание и компилирование программ

В разделе Администрирование откройте вкладку Программы. Откроется окно:

Graphic

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

  • Используйте язык программирования Object Pascal. Поддержаны модули:

    • SysUtils. Из соображений безопасности не поддержана работа с файлами, установление сетевых соединений;

    • DateUtils

  • Поддержаны системные переменные:

  • Учитывайте ограничения имени переменной (зарезервированные слова Object pascal и модификаторы);

  • При написании программы не изменяйте сигнатуру функции;

  • Запрещается использовать циклические условия while…do,  for…to, repeat...until;

  • Запись производится циклически с периодом 1 минута;

  • Запись значения из программы является приоритетной, если произошел обрыв связи с прибором или значение параметра было изменено извне, сервис выполнит запись ещё раз через минуту;

  • Отключение опроса параметров (снятие флагов «Оперативный», «Конфигурационный», «Управляемый»), удаление параметра или прибора из OwenCloud приведет к автоматической остановке выполнения программы и появлению статуса Ошибка;

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

Для создания пользовательской программы нажмите кнопку Добавить программу. Откроется окно:

Graphic

Наименование – введите название пользовательской программы.

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

Нажмите кнопку Продолжить. Откроется окно редактора программы:

Graphic

Добавьте переменные и/или константы. Поддержаны следующие виды переменных:

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

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

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

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

Нажмите кнопку Добавить и выберите переменную или константу для добавления. Возможные варианты:

  • входная переменная. Откроется окно:

    Graphic
    • Имя — введите название переменной;

    • Тип — отображается тип переменной;

    • Параметр — нажмите на кнопку Graphicи выберите параметр для переменной. Для переменных типа «Вход» отображаются параметры, которые имеют хотя бы один из типов: «Оперативный», «Конфигурационный» или «Управляемый»;

    • Описание — при необходимости добавьте описание переменной.

  • выходная переменная. Откроется окно:

    Graphic
    • Имя — введите название переменной;

    • Тип — отображается тип переменной;

    • Параметр — нажмите на кнопку Graphic и выберите параметр для переменной. Для переменных типа «Выход» отображаются параметры, которые имеют хотя бы один из типов: «Оперативный», «Конфигурационный» или «Управляемый»;

    • Описание — при необходимости добавьте описание переменной.

  • глобальная переменная. Откроется окно:

    Graphic
    • Имя — введите название переменной;

    • Тип — отображается тип переменной;

    • Формат — выберите формат переменной. Возможные варианты: INT, SINT, DINT, UINT, UDINT, ULINT, RAEL, LREAL, BOOL, STRING, BYTE, WORD, DWORD, LWORD;

    • Описание — при необходимости добавьте описание переменной.

  • константа. Откроется окно:

    Graphic
    • Имя — введите название переменной;

    • Тип — отображается тип переменной;

    • Формат — выберите формат переменной. Возможные варианты: INT, SINT, DINT, UINT, UDINT, ULINT, RAEL, LREAL, BOOL, STRING, BYTE, WORD, DWORD, LWORD;

    • Значение — введите значение переменной;

    • Описание — при необходимости добавьте описание переменной.

Запустите компиляцию программы и дождитесь успешного завершения процесса. При возникновении ошибки компилятор выдаст соответствующее сообщение.

Запуск и остановка пользовательской программы

Запуск и остановка пользовательской программы доступна пользователям с ролью «Управляющий программами».

В главном окне OwenCloud выберите пользовательскую программу. Откроется окно:

Graphic

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

При необходимости запустите/остановите выполнение или перейдите в настройки программы.

Остановка программы производится по нажатию кнопки Запуск / Остановка или автоматически. Автоматическая остановка производится в следующих случаях:

  • Пользовательская программа приводит к нагрузке системы и/или не отвечает критериям безопасности;

  • При смене тарифного плана с наименьшим количеством пользовательских программ, запущенные программы сверх тарифного плана будут автоматически остановлены;

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

При автоматической остановке программы производится отправка уведомлений на электронную почту пользователям компании с ролью «Управляющий программами» и «Управляющий командами».

Просмотр журнала изменений статуса программы

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

В главном окне OwenCloud выберите пользовательскую программу и откройте вкладку Журнал. Откроется окно:

Graphic

Журнал содержит следующую информацию:

  • Дата и время — дата и время (UTC+3) изменения статуса программы;

  • Статус — статус программы. Возможные значения: запуск, остановка;

  • Инициатор — имя учетной записи, под которой изменился статус выполнения программы;

  • Комментарий — комментарии, которые были указаны при изменении статуса выполнения программы.

Просмотр журнала записи выходных параметров

В главном окне OwenCloud выберите пользовательскую программу и откройте вкладку Журнал записи параметров. Откроется окно:

Graphic

В журнале записи параметров отображается следующая информация:

  • Дата и время

    — дата и время (UTC+3) выполнения изменений параметров.
  • Имя переменной

    — название переменной в программе.
  • Параметр

    — измененный параметр. Формат: <название параметра>| <код параметра>.
  • Прибор

    — название прибора, которому принадлежит параметр.
  • Записываемое значение

    — значение параметра, записываемое программой в прибор.
  • Статус команды

    — статус отправленной команды. Возможные значения: в работе, ошибка, выполнено.

Примеры пользовательских программ

Запись по изменению

Запись значения в переменные в зависимости от значения других переменных осуществляется с помощью оператора If.

Полная конструкция:

If <условие> then // Если <условие> равно true, то begin [действия] end else    // иначе begin [действия] end

В данной конструкции может не использоваться:

  • else, если по алгоритму программы else не требуется;

  • блок begin … end, если выполняется только одно действие

Пример 1

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

Описание: Если температура больше 28 градусов, необходимо включение вентилятора. Если меньше 28, вентилятор отключается.

Код программы:

begin If (temp >= 28) then vent := 1 else  vent := 0; end
Graphic

Пример 2

Двухпозиционное управление исполнительным механизмом.

Описание: При увеличении температуры до 28 градусов, вентилятор включается, температура начинает уменьшаться. При уменьшении температуры до 23 градусов вентилятор отключается, температура постепенно увеличивается.

Код программы:

procedure UserFunction; cdecl; export; begin If (temp >= 28) then vent := 1; if (temp <= 23) then vent := 0; end;
Graphic
Запись по времени

Запись значений в определенное календарное время. Составление расписания по дням недели. Запись значений на определенное время по таймеру.

Пример 1

Описание: Вентилятор находится во включенном состоянии в рабочее время с 9:00 до 18:00 и в отключенном состоянии с 18:00 до 9:00.

Код программы:

var hh_sys, min_sys, ss_sys, ms_sys : word; work: boolean; procedure UserFunction; cdecl; export; begin DecodeTime(Time, hh_sys, min_sys, ss_sys, ms_sys); work := (hh_sys >= 9) and (hh_sys <= 17); If (work) then vent := 1 else vent := 0; end;
Graphic

Пример 2

Добавим к прошлому примеру проверку на выходные дни.

Описание: Вентилятор находится во включенном состоянии в рабочее время с 9:00 до 18:00 и в отключенном состоянии с 18:00 до 9:00 за исключением субботы и воскресенья каждой недели.

Код программы:

var hh_sys, min_sys, ss_sys, ms_sys : word; work, weekend : boolean; procedure UserFunction; cdecl; export; begin weekend := (DayOfTheWeek(now) = DaySaturday) or (DayOfTheWeek(now) = DaySunday); If (not(weekend)) then begin DecodeTime(Time, hh_sys, min_sys, ss_sys, ms_sys); work := (hh_sys >= 9) and (hh_sys <= 17); If (work) then vent := 1  else vent := 0; end; end;
Graphic

Работа с системными переменными

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

Пример 1

Добавим валидацию на код ошибки для одного из предыдущих примеров.

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

Код программы:

procedure UserFunction; cdecl; export; begin If not(temp_fault = 255) then If (temp >= 28) then vent := 1 else    vent := 0 else vent := 0; end;
Graphic

Пример 2

Допустим используются два шлюза ПМ210, к которым по интерфейсу RS-485 подключены опрашиваемые приборы. Рассмотрим случай, когда теряется связь не с приборами за шлюзом (как в прошлом примере), а с самим шлюзом ПМ210.

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

Код программы:

var user_time, data_time_gmt : TDateTime; procedure UserFunction; cdecl; export; begin user_time := now; data_time_gmt  :=  IncHour(UnixToDateTime(temp_lastTime), 3); If MinutesBetween(user_time, data_time_gmt) >= 5 then begin vent := 0; end else If (temp >= 28) then vent := 1 else    vent := 0 end;
Graphic