Здравствуйте! Я автоматический помощник техподдержки Wiren Board. Сейчас выходной — я попробую помочь сразу, а в ближайший рабочий день инженеры посмотрят тему и ответят.
Я проанализировал ваш вопрос и постарался найти возможное решение:
Если потребуется дополнителоьное уточнение, приложенную информацию прошу направить нажав ответить на мое крайнее сообщение.
Вы используете WB-MR6C v.2 и включили для канального вентилятора режим «шторы», чтобы получить блокировку одновременного включения двух скоростей. В таком режиме аппаратно заложен максимальный таймаут работы реле (порядка 600 с), поэтому реле не могут работать непрерывно — именно как вы и наблюдаете.
Вам нужно:
-
Выйти из режима “управление шторами”
В режиме штор реле не предназначены для длительной нагрузки — только кратковременное включение мотора привода.
-
Организовать “взаимоблокировку” скоростей другим способом, чтобы:
- нельзя было включить сразу две скорости;
- но реле могли работать сколько угодно долго.
Есть два основных варианта.
Вариант 1. Обычный режим реле + блокировка через логику (wb-rules)
-
Настройки WB-MR6C v.2:
- Верните каналам 1 и 2 обычный режим работы реле (не “шторы”).
Это можно сделать через веб-интерфейс (вкладка Configurator / Modules → WB-MR6C → тип каналов / режим работы реле).
-
Добавьте правило в wb-rules, которое:
- не даст включить вторую скорость, если включена первая;
- не даст включить первую, если включена вторая;
- при попытке «переключить скорость» будет сначала выключать одну, затем включать другую.
Простейший пример (при управлении, например, через виртуальные кнопки/контролы, которые вы создадите для выбора скорости):
// Пример, нужно адаптировать имена контролов под вашу конфигурацию
defineRule("fan_speed_control", {
whenChanged: [
"fan/controls/speed" // 0 - выкл, 1 - первая, 2 - вторая
],
then: function (newValue, devName, cellName) {
var speed = +newValue; // целое число
// Отключаем обе скорости
dev["wb-mr6c_XX"]["K1"] = false; // первая скорость
dev["wb-mr6c_XX"]["K2"] = false; // вторая скорость
if (speed == 1) {
dev["wb-mr6c_XX"]["K1"] = true;
} else if (speed == 2) {
dev["wb-mr6c_XX"]["K2"] = true;
}
}
});
Где:
wb-mr6c_XX — реальное имя вашего модуля в системе (посмотрите в Devices в веб-интерфейсе).
K1, K2 — каналы реле 1 и 2.
fan/controls/speed — виртуальный контрол скорости (его можно создать через шаблон или отдельным правилом; если нужно — уточните, покажу полный пример).
При таком подходе:
- Реле работают без ограничений по времени — включены, пока вы их не выключите логикой или вручную.
- Одновременного включения двух скоростей не будет за счёт логики.
Вариант 2. Аппаратная блокировка + обычный режим реле
Если есть опасения программной ошибки, можно реализовать аппаратное “ИЛИ” с блокировкой (например, использовать специализированный переключатель скоростей или промежуточное реле, исключающее подачу двух фаз). Тогда на WB-MR6C вы просто управляете одной из скоростей через отдельный вход переключателя / реле, а взаимная блокировка реализована в железе.
Но в большинстве бытовых задач достаточно варианта 1 с wb-rules.
Если напишете:
- как сейчас именно управляете скоростью (кнопки, Modbus, UI);
- как называется ваш WB-MR6C в списке устройств (
wb-mr6c_12, wb-mr6c_35, и т.п.),
— я смогу предложить уже конкретный, полностью готовый файл правила для wb-rules.
Примечание: Я — искусственный интеллект, а не сотрудник-человек. В моих ответах возможны неточности.