DRAKON.SU

Текущее время: Среда, 24 Апрель, 2024 14:49

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 31 ]  На страницу Пред.  1, 2
Автор Сообщение
СообщениеДобавлено: Суббота, 06 Февраль, 2010 17:38 

Зарегистрирован: Воскресенье, 04 Ноябрь, 2007 23:01
Сообщения: 511
Добавлены описания алгоритмов в исходное сообщение про часы. Рассмотрены ограничения и ошибки. Вместо последовательных развилок применён переключатель.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 06 Февраль, 2010 18:39 

Зарегистрирован: Воскресенье, 06 Апрель, 2008 14:43
Сообщения: 1657
Все, крайне не понятно.

В Драконе, по Паронджанову, "Таймер" запускается с нуля без всякой установки на какой либо период (у Вас на 1 минуту). "Таймер" не создает прерывание. Значение таймера обрабатывается "Синхронизатором по таймеру", сигнал от которого разрешает продолжение процесса.

В 3-й ветке имеем выход на "Конец", тогда зачем нужны все действия в ней?

Имеем здесь вольную трактовка Дракона.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 06 Февраль, 2010 20:27 

Зарегистрирован: Понедельник, 09 Ноябрь, 2009 17:29
Сообщения: 904
Откуда: Россия, Питер
Геннадий Тышов писал(а):
..."Таймер" запускается с нуля без всякой установки на какой либо период (у Вас на 1 минуту). "Таймер" не создает прерывание.

Демонстрационная версия программы позволяет осуществлять разгон и торможение двигателя с постоянным ускорением, а также вращение на постоянной скорости в полношаговом или полушаговом режиме. Эта программа содержит весь необходимый набор функций и может быть использована как базовая для написания специализированных программ. Поэтому имеет смысл рассмотреть ее структуру более подробно.

Главной задачей программы является формирование импульсных последовательностей для 4-х обмоток двигателя. Поскольку для этих последовательностей временные соотношения являются критичными, формирование выполняется в обработчике прерывания таймера 0. Можно сказать, основную работу программа делает именно в этом обработчике. Блок-схема обработчика приведена на рис. 31.
А всё таки таймер прерывания создаёт : )


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 06 Февраль, 2010 21:37 
Аватара пользователя

Зарегистрирован: Суббота, 29 Март, 2008 19:27
Сообщения: 1098
Откуда: Россия, Чебоксары
Блин, ну вы как маленькие!
Есть варианты организации алгоритма по прерыванию от таймера, есть с ожиданием (как вариант синхронизации).
Вообще говоря, механизм синхронизации не отражается в маршрутном языке. Скорее, это плохо, нежели хорошо. Не тот момент, от которого следовало бы абстрагироваться, имхо.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 06 Февраль, 2010 22:25 

Зарегистрирован: Понедельник, 09 Ноябрь, 2009 17:29
Сообщения: 904
Откуда: Россия, Питер
Рэйлвэй Каген писал(а):
Добавлены описания алгоритмов в исходное сообщение про часы. Рассмотрены ограничения и ошибки. Вместо последовательных развилок применён переключатель.

Рисунок «часы-2.png».

А если в схеме будет несколько ветвей, которые могут быть прерваны по таймеру?
Ильченко Эдуард писал(а):
Учитывая, что в общем случае на этапе проектирования неизвестно какая ветка будет прервана таймером, то нет смысла прописывать в иконе «Ловушка» имя прерываемого процесса.

Непонятно, зачем в обработчике прерывания каждый раз устанавливать период срабатывания таймера. Ну, разве что из-за физических особенностей таймера.

Мне как-то неуклюже смотрится последовательность икон «ВОЗВРАТ ИмяВетки» и «Завершить». Так возврат или завершить?

Икона «Конец» как-то ассоциируется с завершением программы, а не различных её участков, многократно и в произвольное время.

Конечно, можно «условиться» о чём угодно и это будет работать. Но хотелось бы ясности.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 06 Февраль, 2010 22:29 

Зарегистрирован: Воскресенье, 06 Апрель, 2008 14:43
Сообщения: 1657
Ильченко Эдуард и Alexey_Donskoy, Вы говорите о таймере в железе. А в языке Дракон кроме иконы "Таймер", есть еще аналогичные таймеру в железе иконы "Пауза" и "Период".

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 07 Февраль, 2010 13:39 

Зарегистрирован: Воскресенье, 04 Ноябрь, 2007 23:01
Сообщения: 511
Ильченко Эдуард писал(а):
А если в схеме будет несколько ветвей, которые могут быть прерваны по таймеру?
Просто укажите в ловушке список ветвей.


Ильченко Эдуард писал(а):
Так возврат или завершить?
Геннадий Тышов писал(а):
В 3-й ветке имеем выход на "Конец", тогда зачем нужны все действия в ней?
сделано на основе п.1. из сообщения В.Д.Паронджанова


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 07 Февраль, 2010 16:15 

Зарегистрирован: Понедельник, 09 Ноябрь, 2009 17:29
Сообщения: 904
Откуда: Россия, Питер
Рэйлвэй Каген писал(а):
Ильченко Эдуард писал(а):
Так возврат или завершить?
Геннадий Тышов писал(а):
В 3-й ветке имеем выход на "Конец", тогда зачем нужны все действия в ней?
сделано на основе п.1. из сообщения В.Д.Паронджанова

Владимир Паронджанов писал(а):
1. :arrow: В иконе "полка" на верхнем этаже пишем ключевое слово Выход. На нижнем этаже пишем
имя вызывающей процедуры. (При этом управление передается на два или больше уровней наверх). Транслятор передает управление немедленно.
На дракон-схеме добавляются икона АДРЕС "Завершение" и икона ИМЯ ВЕТКИ "Завершение".
Благодаря этому соблюдается правило:
Дракон-схема имеет только один выход.
Дракон-схема имеет только один выход. Т.е целиком схема, а не её части.

Мне кажется странной ситуация, когда по иконе «Конец» управление передаётся в середину схемы.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 07 Февраль, 2010 16:32 

Зарегистрирован: Воскресенье, 04 Ноябрь, 2007 23:01
Сообщения: 511
Управление передаётся полкой.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 07 Февраль, 2010 16:50 

Зарегистрирован: Воскресенье, 04 Ноябрь, 2007 23:01
Сообщения: 511
Геннадий Тышов писал(а):
В Драконе, по Паронджанову..

"Как улучшить работу ума..", с.167
Вложение:
таймер.PNG
таймер.PNG [ 19.29 КБ | Просмотров: 10308 ]
Если называть вещи своими именами, то это не таймер, а часы реального времени - RTC (англ.). Как видите, даже небольшая двусмысленность легко приводит к непониманию. Если не ошибаюсь, в "Почему мудрец похож на обезьяну.. " (Рипол классик, 2007) вышеприведённое пояснение к указанным операторам отсутствует.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 08 Февраль, 2010 10:43 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5851
Откуда: Москва
Ильченко Эдуард писал(а):
Владимир Паронджанов писал(а):
1. :arrow: В иконе "полка" на верхнем этаже пишем ключевое слово Выход. На нижнем этаже пишем
имя вызывающей процедуры. (При этом управление передается на два или больше уровней наверх). Транслятор передает управление немедленно.
На дракон-схеме добавляются икона АДРЕС "Завершение" и икона ИМЯ ВЕТКИ "Завершение".
Благодаря этому соблюдается правило:
Дракон-схема имеет только один выход.

Уважаемый Эдуард!

Если позволите, я хотел бы дать разъяснение по поводу иконы "Полка".

1. То, что сказано в цитате -- это один из возможных примеров использования Полки.
Но не единственный.

2. В общем виде Полку можно пояснить так. На верхнем этаже пишется что-то одно.
На нижнем этаже -- что-то другое.

3. Приведу еще один пример использования Полки (см. рис. 81 Как улучшить работу ума).

4. Приведу цитату
Цитата:
используется икона “полка” (рис. 1, икона И10), на верхнем этаже
которой пишут зарезервированное предложение “Установить признак”
или “Снять признак”. На нижнем этаже указывают идентификатор признака.

Операторы языка ДРАКОН означают, что логической переменной
“Норма.насоса” присваивается значение “1” и “0” соответственно.
Еще один пример использования иконы “полка” показан на рис. 81.

См. стр. 160 Как улучшить работу ума

5. Обобщение. На верхнем этаже Полки пишут ключевое слово
(нужно указать перечень ключевых слов и их семантику).
На нижнем этаже -- значение, соответствующее ключевому слову.

6. Указанное мной обобщение не является жестким.
Мне известны случаи (даже на этом форуме),
когда на врхнем этаже пишут имя переменной,
а на нижнем -- ее значение. В этом случае Полка используется
как оператор присваивания.

7. Возможно, Вы скажете, что пункт 6 противоречит пункту 5.
Да, противоречит.

8. Я отстраняюсь от этого противоречия. Каким образом?
Очень просто. Я жестко задаю только ВИЗУАЛЬНЫЙ СИНТАКСИС Дракона.
То есть схему слепыш, из которой полностью удалены буквы и цифры.
это значит, что ТЕКСТОВЫЙ синтаксис дракона не определен.

9. Конечно, в конечном итоге текстовый синтаксис надо определить.
Я считаю, что умные люди (авторы, например, Вы) определят его, как посчитают нужным.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 31 ]  На страницу Пред.  1, 2

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 7


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
cron
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2008-2024, участники конференции «DRAKON.SU», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB