Компьютерные методы исследования с визуализацией движений механизмов и процессов обработки вещества (материала)
Чаще всего для отображения результатов исследования ЭК используются различные графические зависимости (частотные характеристики, корневые показатели, переходные характеристики и т. д.), которые не отражают наглядно суть процесса, происходящего в объекте, а позволяют судить о работоспособности системы только по косвенным признакам, таким как устойчивость, колебательность, чувствительность, время переходного процесса и т. п.
Эффективность проектирования повышается, если при исследовании применяется визуализация динамических процессов в ЭК.
Независимо от разбиения конкретной автоматизированной системы управления на подсистемы для каждой из них выполняется внешнее и внутреннее проектирование (макро - и микропроектирование). На стадии макропроектирования разрабатывается обобщенная модель процесса функционирования, позволяющая разработчику получить ответы на вопросы об эффективности различных алгоритмов управления объектом при его взаимодействии с внешней средой.
Для работы на этапе макропроектирования программная система должна иметь библиотеку модулей, отражающих конфигурацию и свойства типовых элементов электромеханических комплексов и эмулятор программируемого контроллера (ЭПК), функциональным назначением которого является непосредственно реализация алгоритма управления.
Развивая блочно-модульную идеологию построения средств и систем управления до уровня механизмов, агрегатов и комплексов, можно выделить группы оборудования [8], для которых характерны общие функциональные задачи управления в технологическом процессе (функциональные модули). Соответственно можно подготовить программные модели модулей и программные блоки, решающие задачу управления этими модулями. Из таких модулей можно формировать блоки-комплексы, а следовательно, обеспечивать экономичную технологию проектирования компьютерных систем управления любыми ЭК.
В результате использования блочно-модульного подхода к проектированию определяется объектно-ориентированная модель программного обеспечения и все основные объекты (включая данные и основные операции), требуемые для выполнения системных функций, а также следующие компоненты модели: диаграммы классов, содержащие ключевые классы предметной области;
Спецификации классов, описывающие семантику классов, их отношения, атрибуты и ключевые операции;
Диаграммы, изображающие взаимодействие объектов при выполнении системных функций;
Схемы организации функционирования электромеханических комплексов, классификации/детализации и схемы потоков данных с использованием связей родитель—потомок с различными основаниями классификации;
Словарь данных, в котором перечислены все основные сущности, относящиеся к предметной области, включая классы, отношения и атрибуты.
Организационная структура отображает сложившуюся модель функционирования комплекса. При декомпозиции выделяются функциональные подсистемы, определяемые типовыми решаемыми задачами.
Существующие математические пакеты в полной мере не решают поставленную задачу.
В основе предлагаемой методики визуализации динамических процессов, происходящих в ЭК, лежит одновременное решение дифференциальных уравнений, а следовательно, динамическое изменение в пространстве или плоскости положения графических примитивов (точек, линий, окружностей, прямоугольников и др.), отображающих движения механизмов оборудования, входящего в состав ЭК (табл. 6.7). Визуализация более сложных технологических объектов производится с использованием совокупности простейших графических примитивов.
Основная проблема, которая возникает при визуализации, — это время решения и объем информации о перемещении. Время решения зависит от порядка дифференциальных уравнений, которыми описывается СУ технологическим объектом. Однако если учесть, что СУ на первой стадии проектирования отлажена, т. е. настроены все ее контуры (рассчитаны регуляторы), то описание системы можно свести к описанию звеньев первого, второго порядков — передаточным функциям замкнутых внешних контуров — и математическому описанию свойств обрабатываемого материала. Это позволит повысить быстродействие в получении выходной координаты, характеризующей исполнительный орган, а следовательно, уменьшить объем информации о перемещении. Но упрощение математического описания потеряет всякий смысл, если частоты процессора компьютера приближаются к значению, при котором все расчеты будут выполняться в реальном времени. Поэтому основной задачей в этом случае является формирование графических примитивов и их динамическое отображение в зависимости от результатов математического моделирования.
Для решения поставленных задач применим математический пакет MATLAB, дописав недостающие функции (программные единицы).
Существует несколько способов взаимодействия системы MATLAB с внешними программами:
• запись расширения MATLAB на обычных языках программирования, таких как C/C++, Fortran и т. п.;
• вызов вычислительного ядра MATLAB из своей программы и получение результата вычислений из среды MATLAB в свою программу. В этом случае MATLAB выступает как своего рода вычислительный сервер для внешней программы;
Графические примитивы |
Вид визуализации |
Характеристика исполнительных механизмов и приводов |
Рабочий орган или обрабатываемое вещество |
Группы оборудования [8| |
|||
Точка на плоскости |
..... I |
Один механизм и привод |
Пресс, штамп, молот, кабина лифта, нож |
3, 8 |
|||
Точка в пространстве |
»• і |
Три и более механизмов и приводов |
Схват, ковш, крюк, нож |
7, 8, 10 |
|||
Линия на плоскости |
Один механизм и привод |
Транспортерная и конвейерная ленты, рольганг |
6, 8 |
||||
Окружность на плоскости с постоянным радиусом |
То же |
Валок, пила, вал, барабанные ножницы |
4, 6 |
||||
Окружность на плоскости с изменяющимся радиусом |
—(| |
» |
Валок, вал |
6 |
|||
Прямоугольник на плоскости или утолщенная линия |
И— |
—ь |
Заготовка металлическая, картой, пластмасса |
3, 4, 6, 8 |
• управление средой MATLAB при помощи команд DDE (Dynamic Data Exchange) или ActiveX (OLE) Automation;
• простой обмен данными со средой MATLAB через МАТ-файлы, структура которых описана в документации к системе.
Для того чтобы написать модуль, расширяющий набор функций MATLAB, нужно создать обычную динамическую библиотеку (DLL) для Microsoft Windows со специальным набором функций (интерфейсом). Для этого используют систему программирования Borland С++ Builder версия 6.0, которая является одной из систем программирования для разработок, ориентированных на концепцию визуально-событийного программирования. Эта система позволяет разрабатывать 32-разрядные приложения для операционных систем Windows, а также корректировать производные классы, функцию WinMain и т. п., что при профессиональном подходе уменьшает вероятность ошибок в программе. Сама программа при этом имеет меньший код по сравнению с другими системами программирования вследствие специфики языка С.
В документации к системе MATLAB для подобных расширений употребляется термин МЕХ-файл (Matlab Extension). Специально назначать МЕХ в качестве расширения имени файла необязательно, MATLAB может прекрасно работать и с стандартным расширением подобных динамических библиотек — DLL.
Папка matlabextern на диске, где установлена система, содержит все необходимые файлы-заголовки для программ на языке С (каталог matlab externinclude), а также несколько примеров модулей (matlabexternexamples), реализующих некоторые расширения системы, приведенные целиком в виде исходных текстов программ на языке С.
Кроме того, имеется папка matlabexternsrc, в которой приведен исходный текст некоторых вспомогательных функций, весьма облегчающий отладку модулей расширения MATLAB.
В М ЕХ-файлах для обмена параметрами всех типов с вычислительной средой MATLAB используется одна структура — mxArray (Matlab Extension Array).
Программный интерфейс создаваемой динамической библиотеки достаточно прост. В нем экспортируется единственная функция с двумя параметрами — входным и выходным массивами структур mxArray.
Прототип интерфейсной функции объявлен в заголовочном файле matlabexternincludemex. h.
Приведем порядок создания dll-файла в Borland С++ Builder версия 6.0, вызываемого из MATLAB.
1. File New
Откроется диалог New вкладка Projects:
А) выбираем тип создаваемого проекта: Win32 Dynamic-Link Library
Б) заполняем Project Name: {progl}
Location: {указываем путь к нужной директории}
2. File New
Откроется диалог New вкладка Files:
А) выбираем тип создаваемого файла: С++ source file
Б) заполняем File Name: {progl}
3. Скопировать в директорию проекта файл matlab. lib (прилагается)
4. Добавить скопированный файл к проекту:
Project —> Add ToProject Files matlab. lib 5. Работа с С++-ым файлом, входящим в проект: обязательно включить следующие хедера: #include <windows> #include <mex. h> #include <matrix. h>
(Далее идет текст нужной программы (функции))
6. Добавить к проекту файл {progl. def}:
А) File New: откроется диалог New вкладка Files:
Б) выбираем тип создаваемого файла: text Files с) заполняем File Name: {progl. def]
7. Открыть {progl. def) и заполнить его: LIBRARY «{progl}»
EXPORTS mexFunction
8. Tool Options Вкладка «Directories» включить путь: C:MATLABexterninclude
9. Project -> Settings: Output file name: {progl. dll}
10. F7 (Build) -> создастся файл {progl. dll}
11. Открываем MATLAB
12. File —> Set Path: указываем путь к созданному dll-файлу
13. С командной строчки MATLAB: »{progl} а выполнится нужный С-н--ный код.
Если для исследования ЭК применяется подсистема моделирования динамических процессов MATLAB Simulink, то для создания нужного блока целесообразно применять технологию S-функций (Simulink-функции). С помощью языков программирования (С, С++, Ada или Fortran) пользователь может создавать описание сколь угодно сложных блоков (например, блоков, обеспечивающих взаимодействие системы Simulink с аппаратными средствами; блоков на основе математических уравнений; блоков, реализующих анимационные возможности) и включать их в Simulink-модель, при этом блоки ничем не будут отличаться от стандартных библиотечных блоков системы Simulink. Создаваемые таким образом блоки могут реализовывать непрерывные, дискретные или гибридные (дискретно-непрерывные) модели.
Ti |
Ножницы |
Ножницы
U„. = 0,5 м/с |
І>л. = 0.0 м/с
?1г. = 2500, мм = 1500, мм = 25, мм |
'л, = 2115, мм j}t = 150ij, мм dK =25, мм
Ш |
Ножницы |
Ножницы
•Црси. = 1,42 м/с |
Hp = 1,42, м/Г
Т
JV = 2500, мм hn. = 1500, мм d^ = 25, мм
Ana |
Р Ножницы |
^ Ножницы
Iw = 1.42 м/с |
Увил 1,0 м/с
* |
Ifrn. = 1500," |
L = 500, |
:ij, мм |
W
Л = 2500, мм = 1500, мм d*. = 25, мм
Рис. 6.27. Динамические картинки, полученные при исследовании динамики процесса резания металла:
А — поступление листа на рольганг перед ножницами: б — остановка листа для выравнивания у борта рольганга, выравнивание листа, установка листа для реза переднего конца; в — окончание реза переднего конца; г — установка листа на мерный рез при перемещении по рольгангам: д — окончание реза листа с включением рольгангов качающегося и за ножницами; е — включение рольганга перед ножницами для транспортирования второй части листа для реза заднею конца, остановка второй части листа для отрезания заднего конца, окончание процесса; и. — скорость листа; і' — скорость рольганга
Созданные на языках С, С++, Ada или Fortran S-функции компилируются в исполняемые файлы с расширением *.dll. Подробно методика создания S-функ - ций изложена в [19, 61].
В качестве примера рассмотрим компьютерное исследование системы управления ножницами с катящимся резом, математическая модель которой показана на рис. 6.16.
Система автоматизации участка ножниц поперечного резания реализует управление последовательным линейным технологическим процессом в рамках комплексной автоматизированной системы управления листовым прокатным станом в соответствии с графиком перемещения листа металла [8].
Компьютерные исследования системы управления ножницами с катящимся резом проводятся в два этапа.
На первом этапе исследования разработанные программное обеспечение и математическая модель обеспечивают построение переходных процессов при различных управляющих воздействиях, что позволяет отстроить систему управления оптимальным образом.
На втором этапе компьютерных исследований отрабатываются различные алгоритмы управления с визуализацией динамических процессов. При этом переходят к упрощенным структурной схеме и ее математическому описанию, что возможно, так как на первом этапе компьютерных исследований была произведена настройка системы управления. Порядок системы дифференциальных уравнений, описывающих упрощенную структурную схему, будет ниже.
При визуализации лист металла представляется в виде параллепипеда с соответствующими размерами (класс Metal), ножницы — в виде сектора круга (класса CecNoj) (рис. 6.26).
Обеспечив программу возможностью управления координатами в соответствии с моделью, приведенной на рис. 6.16, и графиком перемещения листа [8], а также ограничителями движения листа и другими элементами, на экране дисплея при исследовании можно получить динамические картинки, изображенные на рис. 6.27.
Таким образом, используя предложенную методику исследования технологических комплексов, можно отрабатывать различные режимы их работы в реальном времени.