Навигация:
Главная страница
|
Q1. Что это за язык
Рефлекс и зачем он нужен?
Q2. Какие цели преследовались при
создании языка Рефлекс?
Q3. На что похож язык Рефлекс?
Q4. В чем отличие языка Рефлекс от
языка Си? Почему он называется процесс-ориентированным
языком?
Q5. Какова история создания языка Рефлекс
и его генеалогия?
Q6. В каких практических задачах
использовался язык Рефлекс?
Q7. Какие основные отличия языка
Рефлекс от языков стандарта МЭК 61131-3? Что
нового даст мне Рефлекс, кроме русских букв
в идентификаторах?
Q8. Как я могу "прикрутить"
Рефлекс к своему контроллеру (система
исполнения, компилятор, ...)?
A1. Язык Рефлекс,
известный также под именем
"Си с процессами", — это язык программирования
в процесс-ориентированном стиле,
предназначенный для описания управляющих алгоритмов. Область
его использования — промышленная
автоматизация и робототехника: системы,
предполагающие
активное взаимодействие с внешней средой,
технологическим оборудованием,
физическими процессами через датчики и
органы управления.
А2.
Базовые цели, которые
ставились при разработке языка, — это
его адекватность задачам
управления, легкое изучение
пользователем, комфортные
программирование и сопровождение
уже созданных программ.
А3.
Язык
по синтаксису очень похож на язык Си, что
обеспечивает простоту его изучения
большинством практикующих программистов.
Язык имеет англоязычный и русскоязычный
синтаксис, а также допускает
идентификаторы на русском языке, и это
делает его крайне привлекательным для
отечественных пользователей.
А4. В
отличие от языка Си, где программы строятся
как иерархия функций, базовое понятие языка
Рефлекс — процесс. Программа на языке
Рефлекс — это множество параллельно
исполняемых процессов, которые могут
запускать друг друга, останавливать и
контролировать текущее состояние. В языке
предусмотрены операции с временными
интервалами и средства описания связей с
датчиками и управляющими органами. Разнообразие
специфических приемов при создании
программ и методы структуризации алгоритма
позволяют говорить в случае языка Рефлекс
об особом стиле программирования —
процесс-ориентированном программировании.
А5.
Рефлекс — это развитие проекта СПАРМ (средство
программирования алгоритмов работы
микроконтроллеров, авторы Зюбин В.Е.,
Карлсон Н.Н. 1988-1990 гг). Год создания
настоящей версии языка Рефлекс — 1998 (Зюбин
В.Е. с участием Петухова А.Д., Данчина Д.Ю.).
Год ее реализации (создание транслятора) —
2002 год.
В основу языка Рефлекс легли идеи,
почерпнутые из языков ЯРУС, Си, QuickStep, СПАРМ
и ЯРУС-П (ЯРУС на Паскале, проект 1985-86 гг, так
и не оконченный).
Генеалогическое дерево языка
Рефлекс условно можно изобразить так:
(ЯРУС+Паскаль) --» ЯРУС-П (1986)
(ЯРУС-П+ЯРУС+Си) --» СПАРМ (1990)
(СПАРМ + QuickStep) --» Рефлекс (1998)
Разумеется, что на Рефлекс
оказывали влияние и другие языки, те же
языки МЭК 61131-3.
А6. Язык
Рефлекс прошел серьезное испытание на
реальных промышленных объектах:
- 1989-1992 —
применялся при автоматизации
электроавтоматики станков ЧПУ (СПАРМ,
адаптация на х86 + VME),
- 1994-1997 —
применялся для автоматизации установок
выращивания монокремния методом
Чохральского 221УА100 (СПАРМ, адаптация на
мультипроцессорной системе Intel 196 + Multibus)
- 2002-2005 —
автоматизация установок выращивания
монокремния методом Чохральского 221УМК090
(Рефлекс, адаптация на MicroPC+UNIO)
Задачи включали
комплексное управление газо-вакуумными
подсистемами, подсистемами прецизионного
перемещения, силовым оборудованием
термосистемы, системами противоаварийной
защиты, при использовании типового для
задач управления алгоритмического
обеспечения: ПИД- и адаптивное
регулирование, логическое управление,
событийные стратегии.
A7.
Если говорить о сравнении языка Рефлекс и
языков МЭК 61131-3, то функционально язык
покрывает пару SFC+ST. Кстати, среди трех
наиболее важных свойств языка
программистами постоянно упоминается его
русскоязычность (англоязычный
синтаксис также возможен).
Основные
преимущества языка Рефлекс (как языка):
- Си-подобность = легкость
изучения для Си-программистов,
минимизация смешаноязыкового
программирования
- Более удобные и надежные
средства для управления потоками команд (SFC
он ближе к сетям Петри со всеми
сложностями вокруг фишек, проблемой
конвергенции потока управления и т.д.)
- Однородность представления
(чисто текстовый вид и все плюсы
текстового представления: потенциально
высокая переносимость, модифицируемость
текста и т.д.)
Плюсы текущей
реализации языка (транслятора языка):
- Полный контроль
пользователя над исходными текстами,
расширяемость
- Повышенная переносимость
программ (адаптацию языка на платформе
может делать пользователь)
- Минимальные требования к
целевой платформе... (шесть байтов на
процесс, образы регистров УСО(~N*3),
переменные, стек глубиной в два call-а без
параметров)
Низкие требования к
ресурсам делает язык Рефлекс особенно
привлекательным для реализации на
мелкосерийных программируемых логических
контроллерах и встроенных системах
управления.
A8.
Системы исполнения не требуется, на выходе
получаются StandAlone (системо-независимые)
приложения. Разумеется, при этом не
исключена возможность исполнения под операционной системой.
Транслятор языка доступен по
запросу, исполняется из командной строки ОС Windows/MS DOS, выходные файлы транслятор
генерирует на языке Си. Системные
библиотеки открыты, системо-зависимых
функций, которые потребуется адаптировать к
платформе, — от пяти до пятнадцати (зависит
от конкретной ситуации). В самом простом
случае адаптация сводится к тому, чтобы:
- организовать вызов функции
ControlLoop() с требуемой частотой,
- написать функцию считывания
байта/слова из модулей ввода/вывода,
- написать функцию записи
байта/слова в модули ввода/вывода.
|
Полезные
ссылки:
Статьи по
языку Рефлекс на сайте softcraft.ru
Гостевая книга:
Посмотреть записи
Написать
|