andr писал(а):
Не поленился поискать в руководстве CoDeSys (правда старое):
Вложение:
test10-06.PNG [ 15.12 КБ | Просмотров: 16414 ]
Появились еще пожелания пользователя
(еще кое-что сильно хочется).
Предложение № 1 (151005).
Очень простое, но выводит Дракон в новый класс блок-схем.
Добавить к существующему множеству иконок
простую
короткую поперечную черту - по образцу выше приведенной схемы test10-06.PNG,
а также ниже приведенных схем
Вложение:
test10-03.PNG [ 34.32 КБ | Просмотров: 16414 ]
Вложение:
test10-04.PNG [ 10.25 КБ | Просмотров: 16414 ]
Это иносказательная форма изображения для диаграмм сетей Петри
[url]https://ru.wikipedia.org/wiki/Сети_Петри[/url]
Вложение:
test12-01.png [ 77.02 КБ | Просмотров: 16414 ]
Вложение:
test12-02.png [ 9.08 КБ | Просмотров: 16414 ]
При этом:
1.
Поперечные полоски (они бывают толстыми черными штрихами разной длины) заменятся на схемах типа SFC на прямоугольные блоки:
-- это выполняемые действия, работы и т.п. - примерно соответствуют блокам обычных блок-схем;
-- они могут иметь параметр длительности, что и нужно (но в общем случае не обязательно).
2.
Круглые позиции заменяются на схемах типа SFC на короткие поперечные штрихи:
-- это различные события и состояния;
-- в данном случае используется подкласс двоичных переменных состояний и событий:
использовать круглые черные фишки в составе кругов не обязательно;
-- но при необходимости разметки состояний их можно как-то помечать:
в составе схем типа SFC это не применяется, как на обычных логических схемах
(а может быть и делается как-то).
--------------------------
Здесь возможная такая связь с обычными блок-схемами типа, например:
Вложение:
test0-Терминаторы-02.PNG [ 18.44 КБ | Просмотров: 16414 ]
Вложение:
test12-03seq.png [ 13.4 КБ | Просмотров: 16414 ]
Обычные блоки операторов команд Zi в потоке управления - это неявные полюсники.
Это двухполюсники потока управления в данном случае:
Zi = ->Zi-> = -Zi-.
Внутри их содержатся явные полюсники потока управления (структурная формула):
Zi = (xi-Fi-yi) = xi-Fi-yi
где xi, yi = 0,1 - двоичные (например, нуль-единичные) переменные;
Fi - некоторая функций, например вызова подпрограммы и ожидания возврата из подпрограммы
(под-алгоритма).
Для модельных представлений - это длительность выполняемой работы:
задержка (delay) передачи управления Fi = D(mi),
где mi - величина задержки.
Для пары последовательно связанных операторов команд
Zi-Zk = (xi-Fi-yi)-(xk-Fk-yk) = xi-Fi-yi-xk-Fk-yk = xi-Fi-xk-Fk-yk
т.к. для двух связанных смежных полюсов yk-xk выполняется соотношение xk = yk.
При этом на блок схемах типа SFC:
-- функциональные компоненты работ Fi, Fk (функциональные преобразователи) будут представлены прямоугольными блоками;
-- полюса xi, xk, yk явных полюсников будут представлены поперечными штрихами.
Указанные схемные представления типа SFC полезны для разных целей.
В частности для событийно-ориентированных фрагментов программ (в разных формах представления).
Например, с операторами ожидания событий типа:
wait(yi) = wait(xk) ~ wait(xk=1)
=================================
Детские приложенияВ частности, операторы такого типа широко используются
в учебном конструкторе мультимедийных игр и презентация Scratch
для управления визуальными объектами - спрайтами, для взаимодействия между ними и со средой.
Есть вариации представления событий - обозначения указанного выше типа и другие.
Это, по существу,
предельно упрощенная (начальная) форма объектно-ориентированного программирования
(в какой-то там событийно ориентированной форме).
Есть аналоги программных объектов с простыми аналогами их свойств и методов в составе их скриптов.
Но без прочих удобств - без объектов-классов
(для создания, обслуживания и ликвидации объектов-спрайтов),
без наследования, полиморфизма и т.п.
Но возможно ручное копирование спрайтов с их скриптами:
с персональными именами и ручным редактированием (при необходимости) - удобно,
особенно для сложных объектов (по рисунку и скриптам).
В новой версии (Scraych 2.0) есть (по непроверенным слухам - не пробовал)
векторная графика, клонирование спрайтов (что-то типа тиражирования, видимо) и что-то там еще.
Детишки младших классов успешно параллелятся (он они про то не знают),
со своими зайчиками и лисичками, рыбками в пруду и т.п.
Здесь могут быть полезны блок-схемы параллельных (и последовательных) алгоритмов
с выделением событий короткими поперечными штрихами.
Язык Scratch используется для программирования учебно-игровых
робототехнических лего-комплектов для образовательной робототехники
Кстати говоря, в данном случае
не обязательно полностью переходить от классической формы блок-схем
к схемам типа SFC.
Достаточно только выборочно вводить поперечные штрихи - в местах генерации событий.
Но и полностью будут покрываются, видимо (надо проверять),
возможности применения схем типа SFC средствами Фабулы:
в программировании промышленных микроконтроллеров
(в общих концептуальных рамках методологии Дракона).
Продолжение следует