Вопрос в создании блока.
Внутри блока пишу одну строку включить выход OUT.
В программе вставляю экземпляр этого блока
На вход EN блока подключаю М0,0 на выход OUT подключаю Q0,0
Выход OUT не включится пока на EN не попадет сигнал с M0,0
При попадании сигнала на EN выход OUT включается.
После этого даже если мы снимаем сигнал с EN выход так и останется включенным.
ВПОРОС.
Что нужно поменять в коде блока чтобы выход выключался вместе с EN
Создание функционального блока
-
- Site Admin
- Posts: 3992
- Joined: Thu Feb 16, 2006 3:25 pm
- Location: Russia
Re: Создание функционального блока
Во первых - в настройках процессора активируй Таймерный Меркер по адресу МВ0 и впредь используй это определение МВ0 как аксиому.
Вход EN разрешает вызов функции или процедуры, но не влияет на результаты вызываемой функции.
Если ты функцию по обработке значения входа не вызываешь, то значения внутри функции не меняются = она же не вызвана на исполнение.
Вход EN разрешает вызов функции или процедуры, но не влияет на результаты вызываемой функции.
Если ты функцию по обработке значения входа не вызываешь, то значения внутри функции не меняются = она же не вызвана на исполнение.
-
- Posts: 878
- Joined: Tue Dec 26, 2006 5:21 am
- Location: Russia
Re: Создание функционального блока
Может проблема в слове "включаю"?
Если есть слово "включить", то должно быть слово "выключить".
Ну, типа, set-reset.
Если есть слово "включить", то должно быть слово "выключить".
Ну, типа, set-reset.
-
- Posts: 2
- Joined: Wed Mar 14, 2018 2:25 pm
Re: Создание функционального блока
Нет моя проблема в любопытстве.Dfcz wrote:Может проблема в слове "включаю"?
Если есть слово "включить", то должно быть слово "выключить".
Ну, типа, set-reset.
У блока есть вход EN и выход ENO
В документации на сименс нашел как управлять этим ENO.
А про вход EN написано что ону булев. Ну раз он булев то КАК его можно прочитать???
-
- Posts: 374
- Joined: Wed Oct 13, 2010 8:44 am
- Location: Russian Federation
Re: Создание функционального блока
Дело в том, что если твой код исполняется, то EN=1, всегда. Если же EN=0, то твой код не будет исполняться и не сможет проверить его состояние.gawgaw2 wrote:А про вход EN написано что ону булев. Ну раз он булев то КАК его можно прочитать???
В общем же, при вызове блока состояние EN копируется в статусный бит BR, который можно проверить несколькими способами:
1. L STW. BR будет скопирован в 8 бит аккумулятора.
2. Использовать инструкции JBI / JNBI.