Вопрос по логике SFC

Модератор: AND

Вопрос по логике SFC

Сообщение EricFlat » 11 июл 2018, 00:28

Добрый день. В симуляторе запутался с SFC.
Пытаюсь реализовать следующую логику.

При активном sensCylClamp1_closed выжидается пауза 1сек, после чего:

(если активен sensCylBlade1_left, то происходит cutR до сигнала sensCylBlade1_right)
или
(если активен sensCylBlade1_right, то происходит cutL до сигнала sensCylBlade1_left)

после чего снова пауза 1сек и переход к следующему шагу.


Как происходит в симуляторе.
До close_clamp все выполняется корректно.
При активных sensCylClamp1_closed и sensCylBlade1_right сразу активируется шаг pause2 и стартует счетчик T12. После выжидания T12 следующие шаги выполняются без проблем. T11 не стартует вовсе.

UPD: решил просто упростив SFC и заложив вышеописанную логику в 1 шаг.
Вложения
Снимок.JPG
Снимок.JPG (155.89 KIB) Просмотров: 157
Последний раз редактировалось EricFlat 12 июл 2018, 11:54, всего редактировалось 1 раз.
EricFlat
 
Сообщений: 31
Зарегистрирован: 18 июл 2016, 15:17

Re: Вопрос по логике SFC

Сообщение bayk » 11 июл 2018, 00:58

Я не в sfc не работал, но по ld диаграмме какой-то бред, а не логика. Почему таймера висят на m1000 ??? Их никто не сбрасывает. Задержка выполнения странная. И вообще тут что-то все странное. Хотя может это какая-то фишка sfc?
bayk
 
Сообщений: 161
Зарегистрирован: 30 май 2015, 22:20

Re: Вопрос по логике SFC

Сообщение EricFlat » 11 июл 2018, 09:29

bayk писал(а):Я не в sfc не работал, но по ld диаграмме какой-то бред, а не логика. Почему таймера висят на m1000 ??? Их никто не сбрасывает. Задержка выполнения странная. И вообще тут что-то все странное. Хотя может это какая-то фишка sfc?


В SFC таймерам все равно на чем висеть, ветка выполняется только тогда, когда активируется соответствующий шаг. Убрал M1000 с таймеров. Результат не изменился. Таймер на Pause2 работает исправно.
EricFlat
 
Сообщений: 31
Зарегистрирован: 18 июл 2016, 15:17

Re: Вопрос по логике SFC

Сообщение Павел51 » 11 июл 2018, 10:26

Вы сильно ошибаетесь говоря что таймеру все равно на чем висеть и чем сбрасываться.. Маркер М1000 выполняется один раз при включении питания ПЛС и не может выполняться в шаговой программе.. А это азы программирования этих ПЛС. Читайте назначение специализированных маркеров.У вас всё получится, надо только правильно всё пониимать и делать.

Функции маркеров М1000-1002 примерно одинаковы, и их нельзя использовать как вы использиете.


Что вы там наваяли нового не видно, далеко наверно.
Последний раз редактировалось Павел51 11 июл 2018, 14:56, всего редактировалось 3 раз(а).
Павел51
 
Сообщений: 349
Зарегистрирован: 27 дек 2013, 18:01

Re: Вопрос по логике SFC

Сообщение EricFlat » 11 июл 2018, 10:39

Павел51 писал(а):Вы сильно ошибаетесь говоря что таймеру все равно на чем висеть и чем сбрасываться.. Маркер М1000 выполняется один раз при включении питания ПЛС и не может выполняться в шаговой программе.. А это азы программирования этих ПЛС. Читайте назначение специализированных маркеров.У вас всё получится, надо только правильно всё пониимать и делать.


Нет, это вы ошибаетесь. Маркер M1002 выполняется один раз при старте, а M1000 выполняется в режиме RUN ПЛК. В шаговой программе этот маркер отлично себя чувствует, но в одном вы правы, он избыточен. Я его прописываю лишь для того, чтобы ветка была не такой длинной на экране. И, как я и описал выше, без этого маркера картина не изменилась.

Может у нас с вами какое-то недопонимание возникло? Я использую симулятор контроллера SS2 и ISP 3.04
EricFlat
 
Сообщений: 31
Зарегистрирован: 18 июл 2016, 15:17

Re: Вопрос по логике SFC

Сообщение tvent » 12 июл 2018, 11:00

Лет 6-7 назад пробовал писать на SFC в WPLSoft, потом в ISPSoft... муторно.
ИМХО, Шаговое реле ( STL) в LD - проще и удобней.
tvent
 
Сообщений: 544
Зарегистрирован: 11 янв 2011, 18:02

Re: Вопрос по логике SFC

Сообщение EricFlat » 12 июл 2018, 11:53

Павел51 писал(а):Вы сильно ошибаетесь говоря что таймеру все равно на чем висеть и чем сбрасываться.. Маркер М1000 выполняется один раз при включении питания ПЛС и не может выполняться в шаговой программе.. А это азы программирования этих ПЛС. Читайте назначение специализированных маркеров.У вас всё получится, надо только правильно всё пониимать и делать.

Функции маркеров М1000-1002 примерно одинаковы, и их нельзя использовать как вы использиете.


Что вы там наваяли нового не видно, далеко наверно.


Честно, я не понимаю о чем вы говорите. Привязались к M1000 по какой-то причине. Дайте тогда ссылку на то, что его нельзя использовать в SFC. Это обычный контакт, работающий в ране. Таймер в SFC сбрасывается при деактивации шага, в котором он используется.
А если вам интересно, что я "там наваял", то вот, я "наваял" работающую схему, убрав ветку.
Вложения
Снимок2.JPG
Снимок2.JPG (75.98 KIB) Просмотров: 104
EricFlat
 
Сообщений: 31
Зарегистрирован: 18 июл 2016, 15:17

Re: Вопрос по логике SFC

Сообщение Павел51 » 12 июл 2018, 12:17

И что, вы каждый раз дергаете в каждом цикле каким то образом RUN для исполнения?
На LD ваша программа займет три строки без всяких функциональных блоков и циклов.
Пишу обычно тоже под WPLSoft в STL, более просто и понятно. Мануал старый вменяемый есть.
Павел51
 
Сообщений: 349
Зарегистрирован: 27 дек 2013, 18:01

Re: Вопрос по логике SFC

Сообщение EricFlat » 12 июл 2018, 14:23

Павел51 писал(а):И что, вы каждый раз дергаете в каждом цикле каким то образом RUN для исполнения?
На LD ваша программа займет три строки без всяких функциональных блоков и циклов.
Пишу обычно тоже под WPLSoft в STL, более просто и понятно. Мануал старый вменяемый есть.


Что значит "дергаете"? M1000 это read only контакт состояния. Я его никаким образом, даже если бы хотел, изменить не могу.
Мне на LD это программировать не нужно. Вопрос был именно по SFC.
EricFlat
 
Сообщений: 31
Зарегистрирован: 18 июл 2016, 15:17


Вернуться в Программируемые контроллеры

Кто сейчас на форуме

Сейчас этот форум просматривают: Андрей, bayk, Ryzhij и гости: 3