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 [ 5.17 КБ | Просмотров: 6490 ] Имеется в виду, что внешними средствами организуется циклическая работа алгоритма. 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 [ 10.25 КБ | Просмотров: 6435 ] |
Автор: | Владимир Паронджанов [ Среда, 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/ |