- •Устройства программного управления
- •Глава 1. Классификация систем управления 17
- •Глава 2. Общие принципы построения систем чпу 55
- •Глава 3. Задачи управления 121
- •Глава 4. Технологии разработки программного обеспечения систем управления 178
- •Глава 5. Документы пользователя систем чпу 231
- •Глава 1.
- •1.1. Современный мировой уровень архитектурных решений в области чпу
- •1.1.1. Системы cnc и pcnc-1
- •1.1.2. Системы pcnc-2
- •1.1.3. Система pcnc-3
- •1.1.4. Системы pcnc-4
- •1.2. Интеграция на основе открытого управления и стандарта орс
- •1.2.1. Представление об открытом управлении
- •1 .2.2. Системы scada
- •1.2.3. Стандарт орс
- •1.3. Интеграция на основе комплекса производственных стандартов step (Standard for the Exchange of Product model data)
- •1.3.1. Обзор комплекса производственных стандартов step
- •1.3.2. Step-nc
- •1.3.3. Использование в интерфейсе систем чпу языков express и xml
- •Глава 2. Общие принципы построения систем чпу
- •2.1. Архитектура систем pcnc
- •2.1.1. Признаки нового поколения систем чпу
- •2.1.2. Модульная архитектура систем чпу на прикладном уровне
- •2.1.3. Открытая архитектура систем управления
- •2.1.4. Виртуальная модель pc-подсистемы чпу
- •2.2. Проблема реального времени в системах управления
- •2.2.1. Постановка задачи
- •2.2.2. Реальное время в системе управления
- •2.2.3. Базовые понятия операционной системы реального времени
- •2.2.4. Использование в системах управления операционной системы Windows nt
- •2.2.5. Стратегия диспетчеризации на базе расширения rtx (Real Time extension)
- •2.2.6. Принцип разбиения потоков (threads)
- •2.3. Проблемы управления электроавтоматикой
- •2.3.1. Классификация систем управления электроавтоматикой
- •2.3.2. Система понятий, используемых при организации системы управления
- •2.3.3. Структура проекта системы управления электроавтоматикой (клиентская часть)
- •2.3.4. Альтернативные структуры проекта в клиентской части
- •2 Рис. 45. Диаграмма периодической работы .3.6. Объектный подход при управлении электроавтоматикой
- •2.3.7. Особенности управления электроавтоматикой станков с чпу
- •2.4. Построение межмодульной коммуникационной среды
- •2.4.1. Базовые функции коммуникационной среды
- •2.4.2. Клиент-серверные транзакции при запросе данных
- •2.4.3. Виртуальная структура объектно-ориентированной магистрали
- •2.4.4. Организация коммуникационной среды в виде открытой модульной системы
- •2.5. Принципы построения удаленных терминалов чпу
- •2.5.1. Удаленный терминал в системе управления
- •2.5.2. Информационные технологии, используемые при создании удаленного терминала
- •2.5.3. Библиотеки классов Java, используемые при создании апплетов
- •2.5.4. Инструментарий разработки удаленного терминала
- •2 .5.5. Специфика удаленного терминала системы управления
- •2.6. Особенности архитектуры систем чпу, поддерживающих стандарт iso 14649 step-nc
- •2.6.1. Традиционное программирование станков с чпу и стандарт step-nc
- •2.6.2. Язык express
- •2.6.3. Процессы и ресурсы в step-nc
- •2.6.4. Смешанная архитектура
- •3.1. Реализация геометрической задачи
- •3.1.1. Интерпретатор управляющих программ
- •3 .1.2. Интерполятор
- •3.2. Реализация логической задачи управления
- •3.2.1. Формализм описания циклов электроавтоматики
- •3.2.2. Инструментальная поддержка визуального программирования циклов электроавтоматики
- •3.3. Управление электроавтоматикой станков с чпу по типу виртуальных контроллеров SoftPlc
- •3.3.1. Объектно-ориентированный подход при организации математического обеспечения виртуальных контроллеров
- •3.3.2. Архитектура виртуального контроллера
- •3.3.3. Программная реализация виртуального контроллера
- •3.4. Реализация терминальной задачи
- •3.4.1. Интерпретатор диалога оператора в Windows-интерфейсе
- •3.4.2. Специфика построения редактора управляющих программ в коде iso-7bit (в составе терминальной задачи)
- •3.4.3. Редактор-отладчик управляющих программ на языке высокого уровня (в составе терминальной задачи)
- •3.5. Реализация диагностической задачи управления
- •3.5.1. Понятийный аппарат диагностического процесса
- •3.5.2. Структура подсистемы диагностики
- •3.5.3. Реализация логического анализатора
- •3.5.4. Реализация осциллографа
- •Глава 4.
- •4.1. Технология объектно-ориентированного программирования
- •4.1.1. Сравнение технологий программирования
- •4.1.2. Базовые понятия объектно-ориентированного подхода
- •4.1.3. Методические рекомендации по выбору объектов в системе управления
- •4.1.4. Структура программного обеспечения системы управления
- •4 .1.5. Инструментальная поддержка объектно-ориентированного проектирования и формализм Буча
- •4.2. Специфика объектно-ориентированного программирования
- •4.2.1. Элементы абстрактной модели системы pcnc
- •4.2.2. Объектно-ориентированная модель модуля системы pcnc
- •4.2.3. Объектно-ориентированная модель отображения данных
- •4 Рис. 122. Диаграмма объектов, реализующих механизм отображения за границами потока .3. Методологические аспекты построения открытых систем чпу
- •4.3.1. Понятийный аппарат открытых систем чпу
- •4.3.2. Представление о системе pcnc как об открытой системе управления
- •4.3.3. Построение систем чпу по типу открытого языкового процессора
- •4.3.4. Стандартные средства поддержания открытой архитектуры
- •4.3.5. Использование стандартных инструментальных средств поддержания открытой архитектуры
- •4.3.7. Формирование окружения разработки
- •4.4. Технология компонентной организации программного обеспечения
- •4.4.1. Базовые понятия
- •4.4.2. Иллюстрация компонентного подхода на примере контроллера привода подачи
- •4.4.3. Классификация сом-интерфейсов и сом-серверов
- •4.4.4. Область использования сом
- •4.4.5. Инструментальная поддержка компонентного проектирования
- •4.4.6. Пример реализации atl сом-сервера
- •Глава 5.
- •5.1. Структура руководства по программированию
- •5.1.1. Фазовое пространство технологической машины
- •5.1.2. Повышение языкового уровня управляющих программ
- •5.1.3. Функциональные возможности системы управления, отражаемые в версии управляющей программы
- •5.2. Конфигурация систем чпу
- •5.2.1. Представление параметров конфигурации в системе чпу
- •5.3.2. Координатные оси и координатные системы
- •5.3.3. Траектории движения (типы интерполяции)
- •5.3.4. Группирование координатных осей (g581, g580)
- •5.3.5. Управление шпинделем
- •5.4. Методика разработки управляющей программы чпу соответственно стандарту iso 14649 step-nc
- •5.4.1. Инструментальная система xml Spy
- •5.4.2. Схемы управляющей программы в стандарте step-nc
2.3.3. Структура проекта системы управления электроавтоматикой (клиентская часть)
Проект содержит все необходимые компоненты программы управления электроавтоматикой и сохраняется в файле стем же именем. Он содержит следующие разделы: программные блоки POUs (Program Organization Units), типы данных, элементы визуализации, ресурсы и библиотеки.
Блок POU является структурной единицей программы. В состав POU входят функции, функциональные блоки и программы, которые могут быть дополнены действиями. Каждый POU состоит из двух частей: декларации и тела. Тело представляет собой программу контроллера, написанную на одном из языков стандарта IEC 61131 -3: IL (Instruction List), ST (Structured Text), SFC (Sequential Function Chart), FBD (Functional Block Diagram), LD (Ladder Diagram). Для использования подобным образом построенных POUs, в проект необходимо включить стандартную библиотеку. Допустимо, когда одни POUs вызывают другие.
Функция является таким POU, который, будучи обработанным, выдает в качестве результата всего лишь один элемент данных (возможно, из нескольких таких частей, как поля и структуры). В текстовых языках функция может быть оператором в выражении, и при своем объявлении должна получить тип. Это значит, что после имени функции последуют двоеточие и тип. Функции придается результат, т.е. имя функции используется в качестве выходной переменной.
Функция не имеет внутренних условий. Таким образом, при ее вызове с одними и теми же аргументами (входными параметрами), всегда получим один и тот же результат.
Функциональный блок - это такой POU, который выдает во время работы один или более результатов. В отличие от функции он не возвращает значения. Можно создавать репродукции, т. е. экземпляры функциональных блоков. Каждый экземпляр имеет свой собственный идентификатор (имя), а также и структуру данных, располагающую входами, выходами и внутренними переменными. Экземпляры декларируются локально или глобально, между тем как имя функционального блока указывает на тип идентификатора. Функциональные блоки всегда вызываются через экземпляры. Только входные и выходные параметры экземпляра доступны извне, но не внутренние переменные.
Декларационная часть функциональных блоков и программ может содержать декларации экземпляров. Доступ к реализации функционального блока в POU, где он был продекларирован, ограничен пока декларация не будет глобальной. Имя экземпляра может быть использовано в качестве входа в функцию или функциональный блок.
Доступ к входным и выходным переменным функционального блока со стороны другого POU возможен путем создания экземпляра и специфицирования желаемой переменной на основе следующего синтаксиса:
<Имя экземпляра>.<Имя переменной>
Программа представляет собой POU, который во время выполнения операций возвращает несколько значений. В пределах проекта программы глобально распознаваемы. Все значения переменных удерживаются с момента последнего цикла работы программы до начала следующего цикла. Вызов программы в рамках функции запрещен. Не существует экземпляров программы. Если
POU вызывает программу и в процессе ее работы значения переменных изменяются, эти значения удерживаются к новому вызову программы, даже если в этом новом цикле программа вызвана из другого POU. В этом состоит различие с вызовом функционального блока, для которого изменяются только значения в конкретном экземпляре функционального блока и имеют смысл, когда вызывается тот же экземпляр.
Действия могут быть определены по отношению к функциональным блокам и программам. Они расширяют возможности программирования и могут использовать другой язык. Действие использует данные из тех функциональных блоков и программ, которым оно принадлежит. Действие имеет имя и использует те же входные и выходные переменные и локальные переменные, какие использует обычный экземпляр.
Разработчик может включить в свой проект серию библиотек, которые позволяют использовать POUs, типы данных и глобальные переменные так, как если бы они были определены разработчиком.
Помимо стандартных типов пользователь может определить свои собственные. Могут быть созданы структуры, перечисленные типы и ссылки.
