Добрый день.
wb-2207 (as stable), target wb6/stretch
Появилась необходимость запрограммировать небольшую систему на WB, c JS никогда не работал.
Пытаюсь написать правило, которое проверяет физические входа (в примере ниже пока что виртуальные) и выдает true/false на физический выход. Загвоздка в том, что необходимо сделать правило либо как ежесекундый цикл сканирования, либо через whenChanged, но чтобы отслеживание по изменению было по всем входящим условиям. В обоих вариантах сталкиваюсь с проблемой синтаксиса. С вариантом WhenChanged пытаюсь прописать несколько тегов, безуспешно.
Прошу совета, я слишком привык к языкам 61131-3, с JS мучаюсь на элементарных задачах.
defineRule("CommonFault", {
//whenChanged: "VInputs/DI1_CommonFault" + "VInputs/DI2_VoltageStatus" ,
when: cron("@every 3s")
// then: function (newValue, devName, cellName) {
then: function() {
if (dev["VInputs/DI1_CommonFault"]==true && dev["VInputs/DI2_VoltageStatus"]==false) {
dev["VInputs/DO1_Output"] = true;
}
//dev["VInputs/DO1_Output"]=1;
log("devName:{}, cellName:{}, newValue:{}", devName, cellName, newValue)
}
});