Страница 1 из 1

Реализация halui.program.stop

Добавлено: 08 окт 2019, 16:17
doctorzx
как реализовать "стоп программы", после ошибки выбора инструмента и от внешней кнопки?

net T_error toolError.trigger <= halui.program.stop <= classicladder.0.out-03 # при не правильном выборе инструмента ладдер
остановит программу и выдаст ошибку

net abort halui.program.stop
net abort <= hm2_5i25.0.7i77.0.0.input-2 внешняя кнопка "стоп программы"
net abort halui.program.stop

по отдельности, работает кнопка "стоп программы" и эррор инструмента. А вместе, машина ругается что halui.program.stop уже занят. Да и логично что halui.program.stop не может быть одновременно входом и выходом.

Re: Реализация halui.program.stop

Добавлено: 09 окт 2019, 23:59
merkwurdigliebe
можно объединить логическим ИЛИ

Код: Выделить всё

loadrt or2 names=program_stop
addf program_stop servo-thread
net T_error program_stop.in0 <= classicladder.0.out-03
net stop_button program_stop.in1 <= hm2_5i25.0.7i77.0.0.input-2
net abort halui.program.stop <= program_stop.out

Re: Реализация halui.program.stop

Добавлено: 03 дек 2019, 16:03
doctorzx
Or2 уже используется в ориентации шп. Ругается на новое ИЛИ
"exit value:1"
"insmod for or2 failed, returned - 1"
Как использовать 2 or2. Каждое нужно прописывать в loadrt и addf?

Re: Реализация halui.program.stop

Добавлено: 03 дек 2019, 18:33
nkp

Код: Выделить всё

loadrt or2  count=2
addf or.0   servo-thread
addf or.1   servo-thread
======================
получаем or.0 и or.1
----------------------
то есть - в count= ставим количество экземпляров компонента
а вот функцию(и) загружаем для каждого отдельной строкой