crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )


  Ответ в Инициализация конечного автомата после сбоя
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
Теги
Выровнять по центру
Ссылка на тему
Ссылка на сообщение
Скрытый текст
Сокращение
Код с подсветкой
Offtopic
 
Удалить форматирование
Спец. элементы
Шрифт
Размер
 
Цвет шрифта
 
Отменить ввод
Вернуть ввод
Полужирный
Курсив
Подчеркнутый
 
 
Смайлики
Вставить изображение
Вставить адрес электронной почты
Цитата
Код
Раскрывающийся текст
 
Увеличить отступ
По левому краю
По центру
По правому краю
Вставить список
Вставить список

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
ahalaj Дата 3.11.2015, 13:50
 
Цитата(Iron Bug @ 3.11.2015, 10:51) *
я без названия проектов сразу скажу, что это точно не железо и не автоматизация. а чистое программирование, без привязки к реальной жизни. потому что в реальной жизни подобные вещи работать не смогут.
это я и называю сферическим программированием в вакууме. там нет физики процесса, там только фантазии программистов.

Железо, самое настоящее железное железо.
lanz Дата 3.11.2015, 12:30
  http://doc.qt.io/qt-5/qstate.html#setInitialState
Не?
Iron Bug Дата 3.11.2015, 10:51
  я без названия проектов сразу скажу, что это точно не железо и не автоматизация. а чистое программирование, без привязки к реальной жизни. потому что в реальной жизни подобные вещи работать не смогут.
это я и называю сферическим программированием в вакууме. там нет физики процесса, там только фантазии программистов.
ahalaj Дата 3.11.2015, 1:55
 
Цитата(Iron Bug @ 2.11.2015, 13:25) *
по-моему, это как раз примеры сферического программирования в вакууме. то есть, чисто софтварные теоретические навороты.
с железом всё куда сложнее и его не получится впихнуть в такую идеальную систему, где всё строго упорядочено. поэтому для реальных систем заранее готовых библиотек не бывает. можно что-то взять за основу, но дорабатывать под свою специфику всё равно придётся.

Позвольте. Я же сказал что

Цитата(ahalaj @ 1.11.2015, 12:35) *
к тому же Simple State Machine реально работает, я лично видел использование в нескольких проектах (не моих и без исходников, найдено было путём реверсинга тех самых проектов


Так что это не "примеры сферического программирования в вакууме", это реально работает. В довольно коммерческих проектах. Называть их не могу -- коммерческая тайна.
Iron Bug Дата 2.11.2015, 13:25
  по-моему, это как раз примеры сферического программирования в вакууме. то есть, чисто софтварные теоретические навороты.
с железом всё куда сложнее и его не получится впихнуть в такую идеальную систему, где всё строго упорядочено. поэтому для реальных систем заранее готовых библиотек не бывает. можно что-то взять за основу, но дорабатывать под свою специфику всё равно придётся.
ahalaj Дата 1.11.2015, 12:35
 
Цитата(Iron Bug @ 31.10.2015, 13:18) *
...
тебе лучше поискать другую реализацию или вообще самому написать то, что тебе нужно.

Насчёт "самому написать то, что тебе нужно". Я думаю что это или это (у второго уши растут из первого) вполне можно использовать чтобы уловить основной принцип. Хотя это и на C#, но в качестве отправной точки IMHO вполне подойдёт. И наверное реализация Simple State Machine поменьше чем QStateMachine, и к тому же Simple State Machine реально работает, я лично видел использование в нескольких проектах (не моих и без исходников, найдено было путём реверсинга тех самых проектов, сейчас просто вспомнилось в процессе чтения этого треда).
Iron Bug Дата 31.10.2015, 13:18
  я работала конечными автоматами в промышленной автоматизации. обычно система сначала приводится в некое начальное состояние, а потом она переходит из одного состояния в другое, а программа их отслеживает и управляет автоматикой. мы для таких вещей сами писали код на плюсах, он несложный.
очевидно, в случае с QStateMachine это проблемы реализации. видимо, код писали теоретики, которые никогда не работали с железом. в нормальной реализации автомат всегда можно привести в любое его состояние, потому что в реальной жизни в системах случаются сбои и периодически приходится запускать управление из произвольного состояния оборудования. может, тебе лучше поискать другую реализацию или вообще самому написать то, что тебе нужно.
Litkevich Yuriy Дата 29.10.2015, 13:18
  Дело не в том какой автомат мне нужен, а в:
Цитата(Litkevich Yuriy @ 27.10.2015, 14:47) *
В практике программирования автоматов обычно из одного состояния в другое можно перейти только по событию, в частности в QStateMachine реализовано так же.

Проблема:
Т.к. физическая система находится в неком стабильном состоянии, то и событий в ней не происходит.
Как заставить автомат перейти в некое состояние минуя, возможно, многие другие?

Т.е. пытаться искусственно генерить цепочку событий?
Iron Bug Дата 29.10.2015, 10:01
  ну, тогда гипотетически тебе нужен автомат с N-факториал состояниями, где N - количество возможных положений всех устройств. но в этом случае сама суть конечного автомата будет дискредитирована. он на то и конечный, чтобы от N! избавиться. впрочем, если там не слишком много устройств, то, может, это и реализуемо. но обычно всё-таки система имеет начальное состояние и работа начинается с него.
Litkevich Yuriy Дата 28.10.2015, 19:53
  нельзя работу физической системы прерывать, там процесс измерительный длится несколько часов и её перезапуск - дорогое удовольствие.
Отчасти можно сказать, что программа на ПК - вспомогательный "управитель", само измерение может быть произведено без его помощи.
Поэтому и хочется, чтобы запуск программы не переводил физическую систему в исходное состояние.
Просмотр темы полностью (откроется в новом окне)
RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 10.7.2025, 11:31