SWITCH-технология.Алгоритмизация и программирование задач.

SWITCH-технология.Алгоритмизация и программирование задач.

SWITCH-технология. Алгоритмизация и программирование задач логического управления

Излагается технология алгоритмизации и программирования задач логического управления на основе теории автоматов. Центральным понятием разрабатываемого подхода является понятие "состояние". Обоснован выбор графов переходов в качестве языка спецификаций. Предложено использовать многозначное кодирование и конструкции, аналогичные конструкции switch языка СИ, для программной реализации автоматов. Применение пентады (состояние - независимость от глубокой предыстории – система взаимосвязанных графов переходов - многозначное кодирование – конструкция switch) обеспечивает наглядность, структурность, вызываемость, вложенность, иерархичность, управляемость и наблюдаемость программ, а также их изоморфизм (изобразительную эквивалентность) со спецификациями, по которым они формально строятся. Это позволяет Заказчику, Технологу (Проектанту), Разработчику, Программисту и Оператору однозначно понимать друг друга, разделять работу и ответственность, легко и корректно вносить изменения. Изложены методы программирования рассматриваемого класса задач на алгоритмических языках высокого уровня, ассемблерах, языках инструкций, функциональных и лестничных схем, используемых в промышленных (управляющих) компьютерах и программируемых логических контроллерах. Книга предназначена для специалистов в области информатики, вычислительной техники и систем управления.

Издание осуществлено за счет финансовой поддержки Российского фонда фундаментальных исследований по проекту N 96-01-14066.

Об авторе:

Шалыто Анатолий Абрамович, д.т.н., профессор, ученый секретарь ФГУП "НПО "Аврора", заведующий кафедрой информационных систем СПб ГИТМО


Автор:  Шалыто А.А.
Издательство:  СПб.: Наука,1998. 628 с.
УДК:  681.3.06:62-507
Оглавление: 

Введение

Глава 1. Языки описания алгоритмов логического управления

  • 1.1. Классические языки логического управления
  • 1.2. Нетрадиционные языки описания алгоритмов логического управления
  • 1.3. Графы переходов как язык спецификаций

Глава 2. Архитектурное проектирование систем логического управления

  • 2.1. Объекты и системы логического управления
  • 2.2. Модели управляющих автоматов
  • 2.3. Выбор языка спецификаций
    • 2.3.1. Функциональные схемы
    • 2.3.2. Граф-схемы алгоритмов
    • 2.3.3. Графы переходов

Глава 3. Структурные модели и кодирование состояний автоматов

  • 3.1. Комбинационные автоматы
  • 3.2. Последовательностные автоматы
  • 3.3. Кодирование состояний автоматов

Глава 4. Алгоритмические модели автоматов

  • 4.1. Системы булевых формул (СБФ)
    • 4.1.1. Построение СБФ при логарифмическом кодировании
    • 4.1.2. Построение СБФ при унитарном кодировании
    • 4.1.3. Построение СБФ при двоичном кодировании
  • 4.2. Функциональные схемы
    • 4.2.1. Триггерные схемы и их использование
    • 4.2.2. Анализ функциональных схем
    • 4.2.3. Реализация графов переходов схемами из мультиплексоров
  • 4.3. Граф-схемы алгоритмов (ГСА)
    • 4.3.1. Реализация булевых формул ГСА
    • 4.3.2. Реализация булевых формул структурированными ГСА
    • 4.3.3. Реализация автоматов с памятью ГСА
    • 4.3.4. Верификация ГСА
    • 4.3.5. Внесение изменений в ГСА, вычисляющие булевы формулы
  • 4.4. Графы переходов (ГП)
    • 4.4.1. Реализация булевых функций автоматами
    • 4.4.2. О взаимосвязи числа вершин и сложности формул в ГП
    • 4.4.3. Преобразование автоматов Мили в автоматы Мура
    • 4.4.4. Об эквивалентности автоматов Мили первого и второго рода
    • 4.4.5. Минимизация числа состояний автоматов Мили
    • 4.4.6. Настраиваемые графы переходов
    • 4.4.7. Реализация алгоритмов управления совокупностью автоматов
    • 4.4.8. Анализ поведения совокупности графов переходов
    • 4.4.9. Методика построения графа переходов управляющего автомата, реализуемого программно

Глава 5. Программная реализация управляющих автоматов и моделей объектов управления

  • 5.1. Программные модели автоматов
    • 5.1.1. Применение конструкции switch
    • 5.1.2. Использование конструкции switch при реализации автоматов Мура
    • 5.1.3. Использование конструкции switch при реализации автоматов Мили
  • 5.2. Функциональные элементы задержки
    • 5.2.1. Переходные процессы в одноконтурных схемах
    • 5.2.2. Модели функциональных элементов задержки
    • 5.2.3. Программная реализация функциональных элементов задержки
  • 5.3. Программная реализация моделей объектов управления
  • 5.4. Примеры программной реализации алгоритмов логического управления
    • 5.4.1. Примеры построения графов переходов
    • 5.4.2. Сравнение вариантов программной реализации алгоритмов логического управления
    • 5.4.3. Реализация алгоритма управления системой воздуха среднего давления
    • 5.4.4. Реализация логико-вычислительных алгоритмов
  • 5.5. Сертификация программ, реализующих одиночные автоматы
  • 5.6. Исследование функциональных возможностей автоматов и систем автоматов

Глава 6. Использование конструкции switch для реализации граф-схем
алгоритмов

  • 6.1. Реализация автоматных ГСА без внутренних обратных связей и промежуточных переменных
  • 6.2. Реализация автоматных ГСА без внутренних обратных связей при наличии промежуточных переменных
  • 6.3. Реализация автоматных ГСА с внутренними обратными связями без промежуточных переменных
  • 6.4. Реализация автоматных ГСА с внутренними обратными связями и промежуточными переменными
  • 6.5. Метод структурирования автоматных ГСА
  • 6.6. Реализация логико-вычислительных ГСА

Глава 7. Оптимизация программ

Глава 8. Организация взаимодействия в системе графов переходов

  • 8.1. Параллельная декомпозиция. Головной и вызываемые графы
  • 8.2. Последовательная декомпозиция
  • 8.3. Организация циклических структур
  • 8.4. Формульная декомпозиция
  • 8.5. Объединение графов переходов в систему
  • 8.6. Содержательная декомпозиция
  • 8.7. Взаимодействие процессов
    • 8.7.1. Переключение активности процессов
    • 8.7.2. Графы переходов с "перелетами"
    • 8.7.3. Выбор процессов

Глава 9. Иерархия моделей автоматов

Глава 10. Таблицы решений и графы переходов

  • 10.1. Основные определения
  • 10.2. Реализация непротиворечивых неполных таблиц решений с одним столбцом значений
  • 10.3. Доопределение нулями
  • 10.4. Доопределение единицами
  • 10.5. Безразличное доопределение
  • 10.6. Доопределение с сохранением значений выходной переменной
  • 10.7. Доопределение с инвертированием значений выходной переменной
  • 10.8. Сложное доопределение
  • 10.9. Учет дополнительных условий и ограничений
  • 10.10.Реализация противоречивых таблиц решений

Глава 11. Сети Петри, графы операций и графы переходов

  • 11.1. Сети Петри и графы операций. Основные определения
  • 11.2. Новые методы реализации графов операций
  • 11.3. Области использования моделей описания параллельных процессов
  • 11.4. Примеры реализации алгоритмов логического управления с параллелизмом
    • 11.4.1. Алгоритмы с параллельными процессами и синхронизацией этапов
    • 11.4.2. Событийные алгоритмы управления двумя клапанами
    • 11.4.3. Временные алгоритмы управления двумя клапанами
  • 11.5. Особенности реализации логико-вычислительных алгоритмов

Глава 12. Язык "Графсет" и графы переходов

  • 12.1. Язык Графсет. Основные понятия
  • 12.2. Реализация языка Графсет
  • 12.3. Реализация параллельных процессов системой графов переходов
  • 12.4. Простые и расширенные диаграммы "Графсет". Вызываемые, расширенные, вложенные и иерархические автоматы

Глава 13. Применение граф-схем алгоритмов и графов переходов при программной реализации

  • 13.1. Граф-схемы алгоритмов. Основные проблемы
  • 13.2. Графы переходов. Расширение понятий
  • 13.3. Метод построения читаемых графов переходов по ГСА с обратными связями
  • 13.4. Построение читаемых ГСА без внутренних обратных связей по графам переходов без умолчаний
    • 13.4.1. Реализация автоматов без выходного преобразователя с принудительным кодированием состояний
    • 13.4.2. Реализация автоматов без выходного преобразователя с принудительно-свободным кодированием состояний
    • 13.4.3. Реализация автоматов Мура с двоичным логарифмическим кодированием состояний
    • 13.4.4. Реализация автоматов Мура с двоичным кодированием состояний
    • 13.4.5. Реализация автоматов Мура с многозначным кодированием состояний
    • 13.4.6. Реализация автоматов Мили с многозначным кодированием состояний
    • 13.4.7. Реализация смешанных автоматов с многозначным кодированием состояний
  • 13.5. Сравнение предлагаемого подхода с методом построения структурированных ГСА по Ашкрофту и Манне
  • 13.6. Программирование графов переходов и ГСА с многозначным кодированием состояний в базисе языков высокого уровня
  • 13.7. Программирование ГСА с внутренними обратными связями в базисе языков высокого уровня
  • 13.8. Программная реализация ГСА

Глава 14. Программная реализация управляющих автоматов в базисе языков
инструкций

  • 14.1. Реализация автоматов без памяти
    • 14.1.1. Программирование граф-схем алгоритмов
    • 14.1.2. Реализация булевых формул операторными программами
    • 14.1.3. Реализация булевых формул операторно-бинарными программами
  • 14.2. Реализация автоматов с памятью
    • 14.2.1 Использование для кодирования состояний двоичных переменных
    • 14.2.2. Использование двоичного кодирования состояний
    • 14.2.3. Использование многозначного кодирования состояний
  • 14.3. Реализация управляющих автоматов
    • 14.3.1. Использование таймеров
    • 14.3.2. Использование импульсной переменной для реализации функциональных элементов задержки
    • 14.3.3. Использование команд "NEXT"
  • 14.4. Реализация однотипных алгоритмов
  • 14.5. Реализация логико-вычислительных алгоритмов
  • 14.6. Автоматизация программирования
  • 14.7. Стековые реализации булевых формул на языке инструкций
    • 14.7.1. Лестничная стековая реализация
    • 14.7.2. Стековая реализация на основе обратной польской записи

Глава 15. Программная реализация автоматов в базисе языков ассемблер

  • 15.1. Реализация автоматов без памяти
    • 15.1.1. Программирование ГСА
    • 15.1.2. Построение операторных программ
    • 15.1.3. Построение бинарных программ
    • 15.1.4. Сравнение сложности реализации булевых формул программами в базисе алгоритмических языков низкого уровня
  • 15.2. Программирование автоматов с памятью
    • 15.2.1. Использование принудительного кодирования состояний
    • 15.2.2. Применение принудительно-свободного кодирования
    • 15.3.3. Применение двоичного и многозначного кодирования
  • 15.3. Сравнение языков ALPro и ассемблер

Глава 16. Программная реализация управляющих автоматов, заданных системами булевых формул

  • 16.1. Построение графов переходов для анализа поведения автоматов с памятью, заданных СБФ
  • 16.2. Методы построения СБФ по графам переходов для программной реализации автоматов с память
    • 16.2.1. Использование принудительного кодирования
    • 16.2.2. Запись условий изменений значений переменных и их сохранения
    • 16.2.3. Использование принудительно-свободного кодирования
    • 16.2.4. Использование двоичного кодирования в автоматах Мура
    • 16.2.5. Реализация автоматов Мили
    • 16.2.6. Использование неклассических моделей автоматов
  • 16.3. Реализация управляющих автоматов
  • 16.4. Две трактовки автоматов с памятью, заданных СБФ

Глава 17. Программная реализация управляющих автоматов в базисе функциональных блоков

  • 17.1. Анализ (чтение) функциональных схем
  • 17.2. Синтез функциональных схем
    • 17.2.1. Построение функциональных схем с обратными связями
    • 17.2.2. Построение функциональных схем, использующих триггеры
    • 17.2.3. Реализация управляющих автоматов
    • 17.2.4. Изоморфная реализация графов переходов функциональными схемами

Глава 18. Программная реализация управляющих автоматов в базисе лестничных схем

  • 18.1. Построение комбинационных лестничных схем
  • 18.2. Анализ лестничных схем
  • 18.3. Методы реализации автоматов
    • 18.3.1. Построение лестничных схем по ГСА
    • 18.3.2. Синтез лестничных схем по СБФ, построенным по графам переходов
    • 18.3.3. Построение лестничных схем непосредственно по графам переходов
  • 18.4. Реализация управляющих автоматов лестничными схемами
  • 18.5. Устранение генерации в лестничных схемах
  • 18.6. Метод программной реализации автоматов по объединенной булевой формуле - метод независимых фрагментов

Глава 19. SWITCH-технология. Функциональное программирование без программистов

  • 19.1. Предшествующие результаты
  • 19.2. Основные положения
  • 19.3. Стандарт IEC 1131 и SWITCH-технология
  • 19.4. Технология автоматизации фирмы "Сименс" и SWITCH-технология
  • 19.5. Системы управления реального времени и SWITCH-технология
  • 19.6. SWITCH-технология, программирование, автоматы, цепи Маркова

Заключение

Приложение 1. Методы программной реализации булевых функций на примере функции "голосование два и более из трех"

Приложение 2. Методы программной реализации систем булевых функций на примере "одноразрядного сумматора"

Приложение 3. Интерпретатор таблицы переходов и выходов абстрактного автомата Мура

Приложение 4. Пример программной реализации функциональных элементов задержки

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

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

Приложение 7. Использование функций языка СИ при реализации автоматов

Приложение 8. Использование объектно-ориентированного программирования при реализации автоматов

Приложение 9. Использование языка "Форт" при реализации автоматов

Приложение 10. Синхронизация генератора с шинами главного распределительного щита

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

Приложение 12. Пример построения графа переходов управляющего Автомата

Приложение 13. Состояния и SWITCH-технология

Используемые сокращения

Предметный указатель


Рецензии:  Возрождение автоматов / Новый поворот

Возврат к списку

Книги специалистов Научно-производственного объединения Аврора (автоматика системы управления)

Интеллектуальные решения для кораблей и судов

Книги сотрудников (мобильная версия)

Полная версия