Gate control: различия между версиями

Материал из Wiren Board
(Перенаправление на Wb-equipment-selection)
Метка: новое перенаправление
 
(не показано 8 промежуточных версий 2 участников)
Строка 1: Строка 1:
#REDIRECT [[wb-equipment-selection]]
Ворота, роллеты, шлагбаумы и прочие способы что-то закрыть.
Ворота, роллеты, шлагбаумы и прочие способы что-то закрыть.
= зачем =
= зачем =
= Что контролировать=
= Что контролировать=
Для нас важно два момента:
Для нас важно три момента:
* Значть что ворота закрыты  
* Значть что ворота закрыты  
* Знать что ворота открыты
* Знать что ворота открыты
* Контролировать примежуток времени между двумя состояниями, чтобы отследить состояние "авария" (застряли, сработал предохранитель).
* Контролировать примежуток времени между двумя состояниями, чтобы отследить состояние "авария" (застряли, сработал предохранитель).
Как можно реализовать контроль?
Для состояния "Открыто" и "Закрыто" - подключиться к штатным концевикам привода. Благо на используемом - они выведены на клеммы для подключения дополнительных внешних.
В неактивном состоянии на клеммах ~12 вольт. Сработавший концвик замыкает клемму на землю привода. [https://wirenboard.com/wiki/WBIO-DI-WD-14_I/O_Module| WBIO-DI-WD-14] имеет гальванически развязанную землю - поэтому можно не беспокоиться о напряжении и привязать '''iGnd''' модуля к земле '''платы управления'''привода.
Но привод не имеет выхода "В работе". Что делать? Вариант поставить токовый трансформатор на провод двигателя (или провод питания всего привода) рассматривался. И даже был опробован. И да, имеет право на жизнь. Но гораздо удобней использовать выход на "сигнальную лампу".
В используемом приводе - на лмпу подается сетевое напряжение с помощью реле.
= Вариант для страницы о подборе оборудования =
Ворота с электроприводом имеют свой модуль управления, в котором предусмотрены дискретные входы для управления открытием и закрытием ворот. Эти входы можно использовать для управления воротами с помощью Wiren Board. В качестве источников управляющих сигналов можно использовать модули реле WB-MR6C v.3, WB-MRM2-mini и др. К ним можно подключить сигналы с датчиков положения ворот и вывести сигналы управления.
Для контроля работоспособности электропривода можно использовать токовый трансформатор или программно контролировать промежуток времени между крайними положениями ворот.
Более подробную информацию можно найти в статье Управление воротами.


= как контролировать =
= как контролировать =
Сразу условимся: Внутрь схемы привода не лезем и ничего не изменяем.
Вариантов два
= как управлять =
= как управлять =
''Заготовка скрипта. Кажется - все предусмотрел'''
<syntaxhighlight lang="ecmascript">
//gate_control.js 
//'use strict';
var gate_name = "gate1"; // CHANGE_ME! имя устройства. Выводится в заголовок окна и служит для разделения устройств
log.info("Gate_"+gate_name+"START######################"); //Это лог.
var buttonOpen = "wb-mio-gpio_157:2/IN14"; // CHANGE_ME! Кнопка "открыть"
var buttonClose = "wb-mio-gpio_157:2/IN13"; // CHANGE_ME! Кнопка "Закрыть"
var limit_Open_input = "wb-mio-gpio_157:2/IN12"; // CHANGE_ME! Вход с концевика "Открыто"
var limit_Open_NC = true; // CHANGE_ME! концевик "Открыто" Нормально замкнут (когда сработал, полностью открыто).
var limit_Close_input = "wb-mio-gpio_157:2/IN11"; // CHANGE_ME! Вход с концевика "Закрыто"
var limit_Close_NC = true; // CHANGE_ME! концевик "Закрыто" Нормально замкнут (когда сработал, полностью закрыто).
var gate_action_input = "wb-mio-gpio_157:2/IN10"; // CHANGE_ME! Вход активности ворот
var gate_action_NC = true; // CHANGE_ME! "false" когда привод активен
var gate_open_output = "wb-mio-gpio_157:1/K5"; // CHANGE_ME! Выход "Открыть ворота"
var gate_close_output = "wb-mio-gpio_157:1/K6"; // CHANGE_ME! Выход "Закрыть ворота"
var ps = new PersistentStorage("storage_gate_"+gate_name, {global: true});// Определим объект-хранилище.
//Элементы виртуального устройства
//управления
var deviceCells = {
"GateOpen" : {
    type : "pushbutton",
    value : false,
    order: 1
  },
  "GateClose" : {
    type : "pushbutton",
    value : false,
    order: 2
  },
  "isOpen": {
    type : "switch",
    value : false,
    order: 4
  },
  "isClosed": {
    type : "switch",
    value : false,
    order: 5
  },
  //Привод сейчас работает
  "isAction": {
    type : "switch",
    value : false,
    order: 3
  },
 
};
//Создадим виртуальное устройство и добавим в него элементы
  defineVirtualDevice("Gate_"+gate_name, {
    title:"Gate_"+gate_name,
    cells: deviceCells
  });
//Правило _Изменение_ limit_Close_input
defineRule("GateStartOpen", { //название правила
whenChanged: limit_Close_input ,
  then: function (newValue, devName, cellName) { //выполняй следующие действия
   
  }
});
//Правило На _начало_ открытия
defineRule("GateStartClose", { //название правила
whenChanged: limit_Close_input,
  then: function (newValue, devName, cellName) { //выполняй следующие действия
   
  }
});
</syntaxhighlight>

Текущая версия на 11:07, 9 сентября 2022

Перенаправление на:

Ворота, роллеты, шлагбаумы и прочие способы что-то закрыть.

зачем

Что контролировать

Для нас важно три момента:

  • Значть что ворота закрыты
  • Знать что ворота открыты
  • Контролировать примежуток времени между двумя состояниями, чтобы отследить состояние "авария" (застряли, сработал предохранитель).

Как можно реализовать контроль? Для состояния "Открыто" и "Закрыто" - подключиться к штатным концевикам привода. Благо на используемом - они выведены на клеммы для подключения дополнительных внешних. В неактивном состоянии на клеммах ~12 вольт. Сработавший концвик замыкает клемму на землю привода. WBIO-DI-WD-14 имеет гальванически развязанную землю - поэтому можно не беспокоиться о напряжении и привязать iGnd модуля к земле платы управленияпривода. Но привод не имеет выхода "В работе". Что делать? Вариант поставить токовый трансформатор на провод двигателя (или провод питания всего привода) рассматривался. И даже был опробован. И да, имеет право на жизнь. Но гораздо удобней использовать выход на "сигнальную лампу". В используемом приводе - на лмпу подается сетевое напряжение с помощью реле.

Вариант для страницы о подборе оборудования

Ворота с электроприводом имеют свой модуль управления, в котором предусмотрены дискретные входы для управления открытием и закрытием ворот. Эти входы можно использовать для управления воротами с помощью Wiren Board. В качестве источников управляющих сигналов можно использовать модули реле WB-MR6C v.3, WB-MRM2-mini и др. К ним можно подключить сигналы с датчиков положения ворот и вывести сигналы управления.

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

Более подробную информацию можно найти в статье Управление воротами.

как контролировать

Сразу условимся: Внутрь схемы привода не лезем и ничего не изменяем.

Вариантов два

как управлять

Заготовка скрипта. Кажется - все предусмотрел'

//gate_control.js  
//'use strict'; 
var gate_name = "gate1"; // CHANGE_ME! имя устройства. Выводится в заголовок окна и служит для разделения устройств
log.info("Gate_"+gate_name+"START######################"); //Это лог.

var buttonOpen = "wb-mio-gpio_157:2/IN14"; // CHANGE_ME! Кнопка "открыть"
var buttonClose = "wb-mio-gpio_157:2/IN13"; // CHANGE_ME! Кнопка "Закрыть"


var limit_Open_input = "wb-mio-gpio_157:2/IN12"; // CHANGE_ME! Вход с концевика "Открыто"
var limit_Open_NC = true; // CHANGE_ME! концевик "Открыто" Нормально замкнут (когда сработал, полностью открыто).
var limit_Close_input = "wb-mio-gpio_157:2/IN11"; // CHANGE_ME! Вход с концевика "Закрыто"
var limit_Close_NC = true; // CHANGE_ME! концевик "Закрыто" Нормально замкнут (когда сработал, полностью закрыто).

var gate_action_input = "wb-mio-gpio_157:2/IN10"; // CHANGE_ME! Вход активности ворот
var gate_action_NC = true; // CHANGE_ME! "false" когда привод активен

var gate_open_output = "wb-mio-gpio_157:1/K5"; // CHANGE_ME! Выход "Открыть ворота"
var gate_close_output = "wb-mio-gpio_157:1/K6"; // CHANGE_ME! Выход "Закрыть ворота"




var ps = new PersistentStorage("storage_gate_"+gate_name, {global: true});// Определим объект-хранилище.



//Элементы виртуального устройства
//управления
var deviceCells = { 
"GateOpen" : {
    type : "pushbutton",
    value : false,
    order: 1
  },
  "GateClose" : {
    type : "pushbutton",
    value : false,
    order: 2
  },
  "isOpen": {
    type : "switch",
    value : false,
    order: 4
  },
  "isClosed": {
    type : "switch",
    value : false,
    order: 5
  },
  //Привод сейчас работает
  "isAction": {
    type : "switch",
    value : false,
    order: 3
  },

  
};


//Создадим виртуальное устройство и добавим в него элементы 
  defineVirtualDevice("Gate_"+gate_name, {
    title:"Gate_"+gate_name,
    cells: deviceCells
  });

//Правило _Изменение_ limit_Close_input
defineRule("GateStartOpen", { //название правила 
whenChanged: limit_Close_input , 
  then: function (newValue, devName, cellName) { //выполняй следующие действия
    
  }
});

//Правило На _начало_ открытия
defineRule("GateStartClose", { //название правила 
whenChanged: limit_Close_input, 
  then: function (newValue, devName, cellName) { //выполняй следующие действия
    
  }
});