CODESYS форум

Добро пожаловать на официальный форум CODESYS
Deutsche Version English version russian version 
Текущее время: Чт июн 29, 2017 6:25 am

Часовой пояс: UTC+01:00




Начать новую тему  Ответить на тему  [ 10 сообщений ] 
Автор Сообщение
СообщениеДобавлено: Вс дек 06, 2015 7:54 pm 
Не в сети

Зарегистрирован: Ср ноя 25, 2015 4:46 pm
Сообщения: 7
Видимо, я плохо понял правила вычисления следующего активного шага. Проблемы возникли, когда я сделал в SFC шаг, "нарисованный" на SFC же.
Пример выглядит так: всего два шага с пререходами по TRUE. Второй шаг -- написан на SFC и состоит также из двух шагов с переходами по TRUE.
Как-то так:
Код:
OUT1
OUT2     
    in1
    in2



Порядок выполнения шагов был для меня неожиданностью:
OUT1->in1->OUT1->in2->->OUT1...

Из документации я вынес, что вычисление следующего активного шага происходит на основе условий перехода.

Казалось бы, все должно зациклиться внутри второго шага,
in1->in2->in1->.... Ведь переход in2->in1 всегда разрешен.

В то же время, из шага OUT2 выход также разрешен, и должен бы произойти на очередном такте. Так что в поведении системы есть логика :)

Но в общем, очевидно что я не понимаю чего-то важного про SFC. Возможно, даже чего-то простого.

Каково формальное правило перехода из внутреннего шага в моем примере, которое объясняет происходящее?

Спасибо.


Вернуться к началу
СообщениеДобавлено: Вт дек 08, 2015 12:08 pm 
Не в сети

Зарегистрирован: Пт окт 02, 2015 2:05 pm
Сообщения: 45
А можно привести скриншоты всех участвующих POU? А то по описанию не все понятно.


Вернуться к началу
СообщениеДобавлено: Вт дек 08, 2015 12:30 pm 
Не в сети

Зарегистрирован: Ср ноя 25, 2015 4:46 pm
Сообщения: 7
CDSMaks писал(а):
А можно привести скриншоты всех участвующих POU? А то по описанию не все понятно.

Конечно:


Вложения:
2015-12-08_142646.png
2015-12-08_142646.png [ 17.76 КБ | 3664 просмотра ]
Вернуться к началу
СообщениеДобавлено: Вт дек 08, 2015 1:00 pm 
Не в сети

Зарегистрирован: Пт окт 02, 2015 2:05 pm
Сообщения: 45
Подчиненный шаг всегда выполняется только то время, которое активен шаг-родитель. (Это если не брать stored action). Если выход из шага родителя TRUE, то в подчиненном шаге успеет выполнится только один текущий шаг, на котором стоит курсор.
В вашем случае Out1->Out2->In1(т.к. выход из шага true, то курсор перемещается на In2, но не выполняется)->Out1->Out2->In2-> и по-кругу.


Вернуться к началу
СообщениеДобавлено: Вт дек 08, 2015 3:30 pm 
Не в сети

Зарегистрирован: Ср ноя 25, 2015 4:46 pm
Сообщения: 7
CDSMaks писал(а):
Подчиненный шаг всегда выполняется только то время, которое активен шаг-родитель.


А это описано где-то? Я что-то даже в МЭКовском стандарте не вижу подробностей о вложенных SFC шагах((


Вернуться к началу
СообщениеДобавлено: Ср дек 09, 2015 12:52 pm 
Не в сети

Зарегистрирован: Пт окт 02, 2015 2:05 pm
Сообщения: 45
Вот, например, с сайта beckhoff, описание классификаторов:
https://infosys.beckhoff.com/english.ph ... 53899.html

Встроенное в шаг действие классифицируется как non-stored, правда без еще одного завершающего выполнения.


Вернуться к началу
СообщениеДобавлено: Чт дек 10, 2015 9:49 am 
Не в сети

Зарегистрирован: Ср ноя 25, 2015 4:46 pm
Сообщения: 7
Это все-таки про экшены.

Для меня очень неочевидным оказалось то, что при вложенные SFC шаги не получают тактов, потому что их содержащий внешний шаг теряет маркер.
Это больше претензии к стандарту, на самом деле.


Вернуться к началу
СообщениеДобавлено: Чт дек 10, 2015 12:09 pm 
Не в сети

Зарегистрирован: Пт окт 02, 2015 2:05 pm
Сообщения: 45
Rapucha писал(а):
Это все-таки про экшены.

Для меня очень неочевидным оказалось то, что при вложенные SFC шаги не получают тактов, потому что их содержащий внешний шаг теряет маркер.
Это больше претензии к стандарту, на самом деле.


А все, что вкладывается, это же и есть actions. Только они называются Step actions, в отличие от IEC actions и они расширяют стандарт МЭК. Т.е. с ними так и надо работать, входной (аналог pulse action), вложенный (аналог non-stored action, без еще одного выполнения на выходе) и выходной.
Вот, что про вложенный (или main) action пишет помощь CODESYS:
Цитата:
CODESYS executes this action when the step is active and any entry actions have already been processed. However, as opposed to IEC actions (see above), these step actions a are not executed a second time when the step is deactivated. In addition, you cannot use qualifiers here.
You add an action to a step with the Main action element property (1). It is marked with a red triangle in the upper right corner of the step box.


Вернуться к началу
СообщениеДобавлено: Пн дек 21, 2015 11:45 pm 
Не в сети

Зарегистрирован: Ср ноя 25, 2015 4:46 pm
Сообщения: 7
CDSMaks писал(а):
Вот, что про вложенный (или main) action пишет помощь CODESYS:
Цитата:
CODESYS executes this action when the step is active and any entry actions have already been processed. However, as opposed to IEC actions (see above), these step actions a are not executed a second time when the step is deactivated. In addition, you cannot use qualifiers here.
You add an action to a step with the Main action element property (1). It is marked with a red triangle in the upper right corner of the step box.

Хм, а где это он такое пишет?.. это, наверное, 3.5?

Ну и потом, всё-таки МЭК прямо разрешает писать шаг SFC на SFC. и, кажется, не делает таких уточнений.


Вернуться к началу
СообщениеДобавлено: Вт дек 22, 2015 12:28 pm 
Не в сети

Зарегистрирован: Пт окт 02, 2015 2:05 pm
Сообщения: 45
Rapucha писал(а):
Хм, а где это он такое пишет?.. это, наверное, 3.5?


Да, 3.5.
В 2.3 шаг с action внутри называется simplified. Там вообще более ограниченный редактор. В 3.5 нет разделения шагов по типам, для любого шага можно и вложенный action и IEC action добавлять.


Вернуться к началу
Показать сообщения за:  Поле сортировки  
Начать новую тему  Ответить на тему  [ 10 сообщений ] 

Часовой пояс: UTC+01:00


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Limited
Русская поддержка phpBB