DRAKON.SU
https://forum.drakon.su/

Алексей Муравицкий и прог-е бортовых компьютеров для космоса
https://forum.drakon.su/viewtopic.php?f=211&t=6781
Страница 1 из 1

Автор:  Владимир Паронджанов [ Понедельник, 10 Февраль, 2020 14:02 ]
Заголовок сообщения:  Алексей Муравицкий и прог-е бортовых компьютеров для космоса

Алексей Муравицкий и программирование
бортовых управляющих компьютеров
для космических ракет


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

Например, бортовой компьютер AP101 на орбитальном корабле (orbiter) проекта Space Shuttle (Спейс Шаттл) работал в цикле 50 миллисекунд.

У нас на Буране компьютер Бисер-4 имел цикл чуть поменьше 32,8 миллисекунды.

Что это значит? Временная ось делится на отрезки (такты) длительностью 50 мс (для orbiter) или 32,8 мс для Бурана.

В свою очередь такт 50 мс делится на части, например 10 мс (работает операционная система реального вреени) + 3 мс (работает программа автомат стабилизации летательного аппарата) + 2мс (бортовая система 1) + 2,5 мс (бортовая система 2) и т.д.

Рассмотрим отрезок 2 мс, выделенный для системы АБС, которая работает в течение всего полета космического челнока Space Shuttle. Она работает в каждом такте и прерывается на 48 мс. (50мс–2мс=48мс). Затем запускается на 2 мс в следующем такте, снова прерывается на 48 мс и т.д.

Некоторые системы (например, автомат стабилизации ракеты) делают одно и то же в течение своих 2 мс в течение всего полета.

Но другие системы работают по-другому. Например, в течение первых 800 тактов они решают одну задачу, в течение следующей 1000 тактов — другую задачу и т.д.

Как записать алгоритм для таких систем?

Автор:  Владимир Паронджанов [ Понедельник, 10 Февраль, 2020 14:19 ]
Заголовок сообщения:  Re: Алексей Муравицкий и прог-е бортовых компьютеров для кос

Как записать алгоритм для таких систем?[

Есть два способа записи алгоритма.

1 способ —
обычный, который, например, используется в языке ДРАКОН. Он описывает все функции бортовой системы АБС, которые она выполняет в течение всего полета.

2 способ — совершенно иной.
Описывается алгоритм системы АБС, который начинает работу в НАЧАЛЬНЫЙ момент 2-миллисекундного отрезка
и заканчивает работу в КОНЕЧНЫЙ момент 2-миллисекундного отрезка.

Однако это УНИВЕРСАЛЬНЫЙ алгоритм системы АБС, который умеет перестраиваться (с помощью икон Вопрос или Переключатель) и обеспечивает всю работу системы АБС в течение всего полета.

Каким образом на языке ДРАКОН можно изобразить 2-й способ программирования?

Автор:  Владимир Паронджанов [ Понедельник, 10 Февраль, 2020 14:37 ]
Заголовок сообщения:  Re: Алексей Муравицкий и прог-е бортовых компьютеров для кос

Каким образом на языке ДРАКОН можно изобразить 2-й способ программирования?

Это новый способ, который я не стал описывать в своих книгах.

Почему?
Я посчитал, что это экзотический способ, используемый в космонавтике, и малоинтересный для обычных пользователей.

Но Алексей Муравицкий настоятельно подчеркивает, что программируемый логический контроллер работает в цикле и для этого нужно иметь удобное средство в языке ДРАКОН.

Учитывая мнение Алексея Муравицкого, я решил рассказать, как аналогичная задача решается в космонавтике.
Может быть, она пригодится для программирования ПЛК.

Как описать циклическую работу в режиме разделения времени?

Автор:  Владимир Паронджанов [ Понедельник, 10 Февраль, 2020 14:55 ]
Заголовок сообщения:  Re: Алексей Муравицкий и прог-е бортовых компьютеров для кос

Как описать циклическую работу в режиме разделения времени?

Для этого используется икона "Циклический заголовок".
Вложение:
Циклическое начало.png
Циклическое начало.png [ 5.17 КБ | Просмотров: 6841 ]


Имеется в виду, что внешними средствами организуется циклическая работа алгоритма.

1. Алгоритм начинает работать с иконы "Циклический заголовок" и заканчивает работать в иконе Конец.

2. После этого внешними средствами алгоритм снова запускается, начиная с иконы "Циклический заголовок" и т.д.

===================================

Впервые икона "Циклический заголовок" была опубликована в моей статье в журнале Программирование 1995, №3. — С. 45-62.

Посмотреть можно в английском переводе:
https://drakon.su/_media/video_i_prezen ... yntax_.pdf
viewtopic.php?p=102438#p102438

См. стр. 143, Fig. 1 пункт 2.

Автор:  А_МУР [ Понедельник, 10 Февраль, 2020 15:23 ]
Заголовок сообщения:  Re: Алексей Муравицкий и прог-е бортовых компьютеров для кос

Из описания выше, бортовых контроллеров, можно сказать, что их работа абсолютно идентична промышленному ПЛК! Все тоже самое цикл программы у промышленного ПЛК настраивается при программировании и может быть от 1 мсек до 1000 мсек, по умолчанию на ОВЕНах 20мсек

Автор:  А_МУР [ Понедельник, 10 Февраль, 2020 15:24 ]
Заголовок сообщения:  Re: Алексей Муравицкий и прог-е бортовых компьютеров для кос

Владимир Паронджанов писал(а):
Как описать циклическую работу в режиме разделения времени?

Для этого используется икона "Циклический заголовок".
Вложение:
Циклическое начало.png


Имеется в виду, что внешними средствами организуется циклическая работа алгоритма.

1. Алгоритм начинает работать с иконы "Циклический заголовок" и заканчивает работать в иконе Конец.

2. После этого внешними средствами алгоритм снова запускается, начиная с иконы "Циклический заголовок" и т.д.

===================================

Впервые икона "Циклический заголовок" была опубликована в моей статье в журнале Программирование 1995, №3. — С. 45-62.

Посмотреть можно в английском переводе:
https://drakon.su/_media/video_i_prezen ... yntax_.pdf
viewtopic.php?p=102438#p102438

См. стр. 143, Fig. 1 пункт 2.


А как же тогда выглядит схема с такой иконой?

Автор:  Владимир Паронджанов [ Понедельник, 10 Февраль, 2020 15:34 ]
Заголовок сообщения:  Re: Алексей Муравицкий и прог-е бортовых компьютеров для кос

А_МУР писал(а):
А как же тогда выглядит схема с такой иконой?

Она выглядит как самая обычная дракон-схема.
Единственное отличие — икона Заголовок заменяется на икону "Циклический заголовок".

Но содержание этой дракон-схемы иное. Отличие в том, что все процессы в дракон-схеме (по самому длинному маршруту) должны закончиться за заданное время такта, например, за 2мс или 3 мс.

Автор:  А_МУР [ Понедельник, 10 Февраль, 2020 15:38 ]
Заголовок сообщения:  Re: Алексей Муравицкий и прог-е бортовых компьютеров для кос

Владимир Паронджанов писал(а):
Каким образом на языке ДРАКОН можно изобразить 2-й способ программирования?

Это новый способ, который я не стал описывать в своих книгах.

Почему?
Я посчитал, что это экзотический способ, используемый в космонавтике, и малоинтересный для обычных пользователей.

Но Алексей Муравицкий настоятельно подчеркивает, что программируемый логический контроллер работает в цикле и для этого нужно иметь удобное средство в языке ДРАКОН.

Учитывая мнение Алексея Муравицкого, я решил рассказать, как аналогичная задача решается в космонавтике.
Может быть, она пригодится для программирования ПЛК.

Как описать циклическую работу в режиме разделения времени?

Вы абсолютно правы, чего то не хватает в описанной в книгах теории.

Автор:  А_МУР [ Понедельник, 10 Февраль, 2020 15:40 ]
Заголовок сообщения:  Re: Алексей Муравицкий и прог-е бортовых компьютеров для кос

Владимир Паронджанов писал(а):
Алексей Муравицкий и программирование
бортовых управляющих компьютеров
для космических ракет


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

Например, бортовой компьютер AP101 на орбитальном корабле (orbiter) проекта Спейс Шаттл работал в цикле 50 миллисекунд.

У нас на Буране компьютер Бисер-4 имел цикл чуть поменьше 32,8 миллисекунды.

Что это значит? Временная ось делится на отрезки (такты) длительностью 50 мс (для орбитера) или 32,8 мс для Бурана.

В свою очередь такт 50 мс делится на части, например 10 мс (работает операционная система) + 3 мс (работает программа автомат стабилизации) + 2мс (бортовая система 1) + 2,5 мс (бортовая система 2) и т.д.

Рассмотрим отрезок 2 мс, выделенный для системы АБС, которая работает в течение всего полета. Она работает в каждом такте и прерывается на 48 мс. Затем запускается на 2 мс в следующем такте, снова прерывается на 48 мс и т.д.

Некоторые системы (например, автомат стабилизации ракеты) делают одно и то же в течение своих 2 мс в течение всего полета.

Но другие системы работают по-другому. Например, в течение первых 800 тактов они решают одну задачу, в течение следующей 1000 тактов — другую задачу и т.д.

Как записать алгоритм для таких систем?

В промышленных ПЛК тоже существует разделение общего цикла на задачи.

Автор:  LKom [ Среда, 12 Февраль, 2020 12:03 ]
Заголовок сообщения:  Re: Алексей Муравицкий и прог-е бортовых компьютеров для кос

Владимир Паронджанов писал(а):
Как описать циклическую работу в режиме разделения времени?

Для этого используется икона "Циклический заголовок".
Изображение

Имеется в виду, что внешними средствами организуется циклическая работа алгоритма.

1. Алгоритм начинает работать с иконы "Циклический заголовок" и заканчивает работать в иконе Конец.

2. После этого внешними средствами алгоритм снова запускается, начиная с иконы "Циклический заголовок" и т.д.

===================================

Впервые икона "Циклический заголовок" была опубликована в моей статье в журнале Программирование 1995, №3. — С. 45-62.

Посмотреть можно в английском переводе:
https://drakon.su/_media/video_i_prezen ... yntax_.pdf
viewtopic.php?p=102438#p102438

См. стр. 143, Fig. 1 пункт 2.

Необходимости в иконе "Циклический заголовок" нет.
Смотрите:

Вложение:
ЦиклическиеАлгоритмы.png
ЦиклическиеАлгоритмы.png [ 10.25 КБ | Просмотров: 6786 ]

Автор:  Владимир Паронджанов [ Среда, 12 Февраль, 2020 12:55 ]
Заголовок сообщения:  Re: Алексей Муравицкий и прог-е бортовых компьютеров для кос

LKom, спасибо за ваше мнение.

Мне кажется, надо послушать специалистов по ПЛК, мнение которых будет решающим.

Автор:  LKom [ Среда, 12 Февраль, 2020 15:52 ]
Заголовок сообщения:  Re: Алексей Муравицкий и прог-е бортовых компьютеров для кос

Владимир Паронджанов писал(а):
LKom, спасибо за ваше мнение.

Мне кажется, надо послушать специалистов по ПЛК, мнение которых будет решающим.

Полагаю, что у специалиста, а именно так к Вам обращаются, должно иметься собственное обоснованное мнение.

Печально, когда специалист высказывает средне статистическое мнение.

Автор:  Alexey_Donskoy [ Среда, 12 Февраль, 2020 15:57 ]
Заголовок сообщения:  Re: Алексей Муравицкий и прог-е бортовых компьютеров для кос

LKom писал(а):
Необходимости в иконе "Циклический заголовок" нет.
Согласен, необходимости нет.
Но только вовсе не из-за приведённого "силуэта". Ибо такое построение алгоритма методически неверно!
Почему? Потому что нельзя смешивать системный уровень с прикладным.

Системный уровень - это внешнее окружение, из которого вызывается данный код как процедура.
В общем случае разработчик кода этой процедуры может даже не знать, с какой периодичностью система вызывает процедуру.
В крайнем случае это может быть однократный вызов (старт приложения и выход из приложения).
Другими словами, разработчику алгоритма данной процедуры не обязательно видеть в заголовке разницу между однократным и циклическим вызовом.

Однако иногда разработчику важны некоторые нюансы вызова процедуры из внешнего окружения, а именно, реентерабелен ли код его процедуры.
Вот здесь некое отличие в заголовке будет вполне целесообразным. Над этим следует подумать.

Другие особенности прикладного кода для ПЛК (например, знание периода рабочего цикла для расчёта временных условий) решаются другими средствами и никак не отображаются в заголовке.

Автор:  Дмитрий Бардынин [ Среда, 12 Февраль, 2020 18:42 ]
Заголовок сообщения:  Re: Алексей Муравицкий и прог-е бортовых компьютеров для кос

В DrakonBar мы отображаем свойство заголовка диаграммы в виде признака: Циклическая, Вступительная, Пусковая. Достаточно удобно. Особенно удобно переключать признак Циклическая или Вступительная на разные диаграммы - они автоматически становятся главными, и так можно оперативно менять свойства получаемых программ. И мне кажется, что в нашем случае стоит отображать цикличность еще и графически, но пока это не сделано.

Автор:  Alexey_Donskoy [ Среда, 12 Февраль, 2020 18:56 ]
Заголовок сообщения:  Re: Алексей Муравицкий и прог-е бортовых компьютеров для кос

Дмитрий Бардынин писал(а):
В DrakonBar мы отображаем свойство заголовка диаграммы в виде признака: Циклическая, Вступительная, Пусковая. Достаточно удобно. Особенно удобно переключать признак Циклическая или Вступительная на разные диаграммы - они автоматически становятся главными, и так можно оперативно менять свойства получаемых программ.
О, если это поддержано системой, то да, есть смысл. Удобно.
Но, повторю, это всё равно получается некоторое смешение уровней. Системно-зависимая штука, которая к собственно изображаемому алгоритму отношения не имеет.
Да и в разных системах могут быть разные наборы свойств алгоритмов.
У меня, например, "Полный сброс" (возврат к заводским настройкам), "Холодный старт", "Горячий старт", "До начала основного технологического цикла", "В конце основного технологического цикла", а ещё принадлежность конкретному потоку ("Быстрый расчёт", "Медленный расчёт") или по приоритетам. В общем, сугубая зависимость от системы.
Потому в синтаксис графического языка тащить это не стоит.

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/