Цитата Сообщение от gtfox Посмотреть сообщение
Вот поэтому я и не хотел заводить разговор о параллельности
Фон Неймана никто не отменял, несмотря на прерывания
Причем тут прерывания? Уже существуют ПЛК под CoDeSys Control c несколькими процессорами и физически параллельными вычислениями в МЭК языках. ОС РВ уже норма для ПЛК. Фон Нейманы освоили бригадный метод
Цитата Сообщение от gtfox Посмотреть сообщение
Не очень понял конечно, какой такой готовый механизм синхронизации... Это, если в 1 ветви 1 шаг, а в параллельной 10, то 1-я ветвь будет ждать завершения соседних 10-ти...
В современных ПЛК широко применяется реальная многозадачность. Она сильно упрощает жизнь. Механизмы мьютексов, событий и исключений придуманы не зря. Синхронизация процессов не такое простое дело. Если отказаться от нормальной многозадачности, сделать шаг назад в эволюции ПЛК, то такой простой механизм синхронизации будет исправно работать.
Цитата Сообщение от gtfox Посмотреть сообщение
Если в SFC сделать 2 параллельных шага, в одном шаге будет выполнятся быстрый код, в другом долгий код.
Вопрос: Не используя событийных задач с высшим приоритетом, чему будет равен цикл ПЛК (быстрому или долгому коду)?
Параллельные ветви SFC никак не решают проблемы РВ. И switch тут тоже ничем не помогает.
Используя менеджер задач CoDeSys, сделаем циклические задачи с разными приоритетами и временами цикла. 5 движений мышкой и проблема надежно решена. Все системные проблемы решает планировщик рантайм. Этим не должен ломать голову прикладной программист.
Цитата Сообщение от gtfox Посмотреть сообщение
+ Ничто не мешает нам использовать событийные задачи с высшим приоритетом в "switch-технологии"
Как?
Цитата Сообщение от gtfox Посмотреть сообщение
Не совсем "суперкувалду", а один из работающих вариантов реализации автоматного подхода
Я на учебных курсах по программированию ПЛК показываю свич технологию. Хотелось бы дать четкие критерии, когда ее стоит применять, а когда нет. Вы можете описать недостатки switch технологии и задачи, для которых она не подходит?
Цитата Сообщение от gtfox Посмотреть сообщение
Язык Рефлекс - замечательная вещь
Если бы с него можно было в ST код генерить - было бы замечательно, однако я не нашел.
См. тут. http://reflex-language.narod.ru/arti...nd-S-STenh.pdf

Обсуждая подобные темы в ветке по CoDeSys возникает законный вопрос: что из предлагаемого имело бы смысл поддержать в данном комплексе?

С Рефлексом все четко. Весь необходимый функционал есть в рантайме. Нужно ввести в ST несколько ключевых. Вполне реально написать плагин и получим поддержку Рефлекса в CoDeSys.

Со свичем не так очевидно. Добавили UML диаграммы в CoDeSys Professional Edition. Автоматный подход реализован графически, изящно, живой обратной связью при отладке. Никаких конвертеров и промежуточных ST или C кодов. Что плохо?