Инициализация конечного автомата после сбоя, теория и практика |
Здравствуйте, гость ( Вход | Регистрация )
Инициализация конечного автомата после сбоя, теория и практика |
Litkevich Yuriy |
27.10.2015, 12:47
Сообщение
#1
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
оговорка: использую Qt и её QStateMachine, но интересует и абстрактная система.
Дано: - Имеется оборудование с насосами, - имеется средство двусторонней связи оборудования с компьютером и - ПО управляющее этим оборудованием. Программно реализован конечный автомат управления насосами. Бывают ситуации, когда нужно инициализировать конечный автомат в зависимости от фактического текущего состояния оборудования, например, после аварийного завершения ПО. Т.е. ПО стартует и должно определить в каком состоянии должен находится автомат, на основе сигналов с оборудования. Для простоты предположим, что комбинация сигналов однозначно определяет текущее состояние автомата. В практике программирования автоматов обычно из одного состояния в другое можно перейти только по событию, в частности в QStateMachine реализовано так же. Проблема: Т.к. физическая система находится в неком стабильном состоянии, то и событий в ней не происходит. Как заставить автомат перейти в некое состояние минуя, возможно, многие другие? Есть ли у кого-нибудь опыт/идеи как это сделать? Сообщение отредактировал Litkevich Yuriy - 27.10.2015, 12:47 |
|
|
Litkevich Yuriy |
28.10.2015, 19:53
Сообщение
#2
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
нельзя работу физической системы прерывать, там процесс измерительный длится несколько часов и её перезапуск - дорогое удовольствие.
Отчасти можно сказать, что программа на ПК - вспомогательный "управитель", само измерение может быть произведено без его помощи. Поэтому и хочется, чтобы запуск программы не переводил физическую систему в исходное состояние. Сообщение отредактировал Litkevich Yuriy - 28.10.2015, 19:56 |
|
|
Текстовая версия | Сейчас: 25.11.2024, 13:14 |