
- •Устройства программного управления
- •Глава 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. Редактор-отладчик управляющих программ на языке высокого уровня (в составе терминальной задачи)
2 Рис. 45. Диаграмма периодической работы .3.6. Объектный подход при управлении электроавтоматикой
Рассмотрим этот подход в той форме, в какой он рекомендован фирмой AutomationX (США). Идея объектной ориентации состоит в попытке построить программные решения, приспособленные к многократному использованию. Для достижения этой цели программисту предлагаются три ключевых решения:
Объединение функций и данных, которое позволяет разработать специфическую функцию и метод присоединения данных к функции.
Инкапсуляция, которая позволяет разработчику класса спрятать от конечного пользователя структуры данных, предъявляя только необходимые функции. Обычный пользователь может использовать только те функции (иногда и данные), которые объявлены разработчиком класса как public.
Наследуемая объектная функциональность. После создания объектов они существуют как экземпляры класса, наследуя структуру данных и функциональность класса. Пользователи включают объекты в собственные приложения, сопоставляя, таким образом, данным некий интеллект, как это определено в классах. Этот процесс называется встраиванием объектов (Object Embedding).
Существующие классы объединены в стандартные библиотеки, которые вполне исчерпывают потребности при автоматизации промышленных процессов. Кроме того, AutomationX Web Site содержит каталог классов, которые при необходимости могут быть перегружены. Другим эффективным методом является модификация существующих классов.
Объектный подход позволяет разработчику объединить в шаблоне класса самыеразнообразныекомпоненты, необходимые при решении проблем автоматизации, в том числе управление, визуализация, извещение об ошибках, накопление трендов, моделирование, доступ к базе данных, документирование.
Последовательность разработки реального приложения в контексте объектной ориентации состоит в разработке классов или использовании готовых. Если класс создается заново, то это делается в следующей последовательности: определяют серверные и клиентские данные; разрабатывают функциональность класса, создают и параметризуют объекты, связывают объекты в контексте программы.
На первом шаге процесса проектирования необходимо создать представительный набор данных, которые будут повторяться в экземплярах классов (в объектах). Этот набор делится на два раздела-раздел сервера (для управления) и раздел клиента (для визуализации). Переменные в секции сервера принадлежат обычным типам (BOOL, INT, REAL, STRING, и т.д.). Переменные в секции клиента могут принадлежать специальным типам, таким как FONT, COLOR, P1XELMAP и т.д.
Между клиентскими и серверными данными существует большая разница. Элементы серверных данных уникальны и постоянны в физической памяти. Элементы клиентских данных существуют при визуализации объекта во время сессии редактора. Они дублируются в каждом экземпляре в период визуализации на экране. Функции клиентской групп ы имеют доступ к данным клиента и сервера. Функции серверной группы не должны иметь доступа к данным клиентской группы. Клиентские и серверные данные класса представлены на рис. 46.
С
ледующий
шаг состоит в наполнении классов
функциональностью. Для этих целей
используют библиотечные классы Core
Classes,
которые
являются основными элементами
AutomationX.
Все базовые классы, функциональные
блоки и элементы структурированного
текста языка ST
могут быть включены в класс в рамках
сессии редактора, процессы системы при
этом приобретают соответствующие
функции.
Определенный набор библиотечных классов служит для сбора и оценки данных, а также производственной логистики. Для функциональности за пределами стандарта IEC-классов могут добавляться С++ коды. Это необходимо в тех случаях, когда разрабатываемые алгоритмы сложны или разработчик класса хочет защитить собственное ноу-хау. Законченный класс состоит из группы файлов, которые организованы в виде библиотеки класса в директории AutomationX.
Следующий шаг состоит в присвоении новому классу уникального имени. Это имя может быть изменено в любое время. После этого необходимо разработать экземпляр класса, что делается простым его выбором в библиотеке AutomationX. При этом создается автономная копия выбранного класса, или объект. Поведение объекта определяется параметрами, которые задает разработчик класса. После параметризации процесс разработки завершается, верифицируется, готовый файл сохраняется.
Теперь необходимо связать объекты с реальной программой. Необходимо иметь в виду, что встраивание объектов позволяет комбинировать существующие объекты с библиотечными, с функциональными блоками, текстовыми элементами и т.д., выстраивая при этом некоторый сложный класс.