Работа с макросами
Работа с макросами
Всем привет.
Коллеги помогите с легким вопросом, что-то отупел совсем.
В макросе надо сделать следующее: читаем 2 реле: М75 и М75, потом если одно из них True, то замкнуть $0.4, если нет то не замыкаем $0.4. Как только с операторами IF не игрался, панель ошибку при компиляции выдают. Букварь, что-то подобный пример не описывает, там есть только со переменными типа word только.
Коллеги помогите с легким вопросом, что-то отупел совсем.
В макросе надо сделать следующее: читаем 2 реле: М75 и М75, потом если одно из них True, то замкнуть $0.4, если нет то не замыкаем $0.4. Как только с операторами IF не игрался, панель ошибку при компиляции выдают. Букварь, что-то подобный пример не описывает, там есть только со переменными типа word только.
Re: Работа с макросами
Вы хоть пример кода выложите, что делаете и когда ошибка возникает.
Re: Работа с макросами
Ах да, ну вот например:
IF {SE_LOS}5@M77 == ON
BITON $0.4
ELSE
BITOFF $0.4
ENDIF
Вот так работает.
А мне надо добавить еще одно реле M78 и создать условие OR между ними.
Всяко пробовал, при компиляции ошибка в этой линии.
Например, вот так пробовал:
IF ({SE_LOS}5@M77 | {SE_LOS}5@M77) == ON
BITON $0.4
ELSE
BITOFF $0.4
ENDIF
Ошибка в линии IF.... Как это сделать правильно с OR и AND до кучи...
Re: Работа с макросами
Ошибка синтаксическая? Или компилятор не говорит?
Точно М77 ? Писали же М78IF ({SE_LOS}5@M77 | {SE_LOS}5@M77) == ON
Re: Работа с макросами
В общем удалось только такую конструкцию построить:
IF {SE_LOS}5@M77 == OFF
IF {SE_LOS}5@M78 == OFF
BITOFF $0.4
ENDIF
ENDIF
IF {SE_LOS}5@M77 == ON
BITON $0.4
ENDIF
IF {SE_LOS}5@M78 == ON
BITON $0.4
ENDIF
Мне кажется, что это как-то более изящно можно сделать, я про условие OR?
IF {SE_LOS}5@M77 == OFF
IF {SE_LOS}5@M78 == OFF
BITOFF $0.4
ENDIF
ENDIF
IF {SE_LOS}5@M77 == ON
BITON $0.4
ENDIF
IF {SE_LOS}5@M78 == ON
BITON $0.4
ENDIF
Мне кажется, что это как-то более изящно можно сделать, я про условие OR?
Re: Работа с макросами
Может до условия сделать OR , а условием проверять на True или False результат?