Алгоритм работы программного модуля



 

Обобщенный алгоритм работы программного модуля мехатронной системы станка с ЧПУ показан на рисунке 6.

 

Рисунок 6 - Алгоритм работы программы

 

Первым этапом работы с программным модулем является ввод исходных данных. Исходные данные должны включать геометрические свойства изделия, заготовки, инструмента, особенности технологии обработки, конструктивные особенности оснастки и так далее [4, 5, 6, 7, 8, 9, 10]. Все эти параметры должны вводиться в удобной для пользователя форме. Каждый из этих параметров должен вводиться отдельно друг от друга, но иметь определенные связи между собой. Связи обеспечивают создание ограничений на вводимые данные.

Сразу после ввода данных программа запускается на расчет траекторий движения инструмента. Этот процесс должен быть максимально автоматизирован, и иметь определенные настраиваемые параметры, чтобы быть достаточно универсальным.

Траектории движений инструмента сохраняются в виде понятном только программному модулю. Чтобы заставить пакет 3D моделирования читать эти данные, их необходимо преобразовать в вид, понятный этому пакету. Затем эти данные запускаются на выполнение пакетом 3D моделирования.

В этом пакете вначале отрисовываются все основные элементы станка, находящиеся в зоне обработки, вся оснастка, рекомендованная к применению, а также инструмент и заготовка. Далее пакет, имитируя все перемещения инструмента относительно заготовки, осуществляет вычитание одного тела из другого. Таким образом, формируется наиболее приближенная к действительности 3D модель детали. С этой моделью можно производить целый ряд действий: промерить все основные размеры, оценить топологию построения поверхностей, произвести контроль зарезов оснастки, элементов станка и заготовки во время всех технологических переходов.

По результатам этой проверки принимается решение по правке исходных данных (величины подходов, отходов, врезаний, вылета заготовки, замена оснастки и инструмента). Этот процесс повторяется до тех пор, пока не достигается оптимальный результат, который удовлетворяет всем требованиям к данному изделию.

Когда пользователь данного программного продукта принимает решение о завершении правки исходных данных, он приступает в процессу постпроцессирования. Он заключается в преобразовании всей накопленной информации в программный код системы ЧПУ.

Этот программный код записывается в файл, который без дополнительных доработок может быть передан на станок.

Такой подход позволяет достаточно хорошо прорабатывать каждую программу для системы с ЧПУ и наглядно отслеживать весь процесс обработки, не прибегая к пробным деталям.

За счет использования стороннего пакета 3D моделирования можно значительно упростить создание программного модуля, за счет исключения из программного кода акселераторов 3D графики, заменив их неявным использованием уже готовых функций пакета 3D моделирования [25].

Так же пакет 3D моделирования обладает рядом полезных функций анализа моделей, которые позволяют проводить дополнительную проверку геометрических свойств изделия, а также функций, упрощающих создание сопутствующей документации.

 

Выбор программных средств реализации системы

 

В соответствии с функциональной моделью программный модуль состоит из двух частей: модуля расчета и модуля визуализации.

Для создания модуля расчета лучше всего подойдет язык программирования Delphi.

Delphi – это среда быстрой разработки, в которой в качестве языка программирования используется язык Delphi. Язык Delphi – строго типизированный объектно-ориентированный язык, в основе которого лежит хорошо знакомый программистам Object Pascal [23].

Бурное развитие вычислительной техники, потребность в эффективных средствах разработки программного обеспечения привели к появлению систем программирования, ориентированных на так называемую "быструю разработку", среди которых можно выделить Borland Delphi и Microsoft Visual Basic. В основе систем быстрой разработки (RAD-систем, Rapid Application Development – среда быстрой разработки приложений) лежит технология визуального проектирования и событийного программирования, суть которой заключается в том, что среда разработки берет на себя большую часть рутинной работы, оставляя программисту работу по конструированию диалоговых окон и функций обработки событий. Производительность программиста при использовании RAD-систем возрастает в несколько раз.

Изначально среда разработки была предназначена исключительно для разработки приложений Microsoft Windows, затем был реализован также для платформ Linux (как Kylix), однако после выпуска в 2002 году Kylix 3 его разработка была прекращена, и, вскоре после этого, было объявлено о поддержке MicrosoftNET.

Delphi – результат развития языка Турбо Паскаль, который, в свою очередь, развился из языка Паскаль. Паскаль был полностью процедурным языком, Турбо Паскаль, начиная с версии "5.5", добавил в Паскаль объектно-ориентированные свойства, а в Object Pascal – динамическую идентификацию типа данных с возможностью доступа к метаданным классов (то есть к описанию классов и их членов) в компилируемом коде, также называемом интроспекцией. Данная технология получила обозначение RTTI.

Также отличительным свойством Object Pascal от "С++" является то, что объекты по умолчанию располагаются в динамической памяти. Однако можно переопределить виртуальные методы NewInstance и FreeInstance класса TObject. Таким образом, абсолютно любой класс может осуществить возможность расположения системных и исполняемых файлов в любом удобном месте. Соответственно организуется и "многокучность" [11].

Система ЧПУ станка Walter CIP6 создана фирмой Siemens. Фирма Siemens является одним из ведущих производителей систем ЧПУ, занимая по объему продаж первое место в Европе и второе в мире. Эти показатели были достигнуты благодаря не только знаменитому немецкому качеству, но и аппаратным и технологическим возможностям систем управления [26].

Сегодня фирма Siemens предлагает две группы УЧПУ:

- семейство SINUMERIK 802C, 802S, 802D, которое ориентировано на применение в простых токарных и фрезерных станках (эти системы ЧПУ ограничены по количеству осей и имеют оптимальные функциональные возможности, соответствующие их назначению);

- семейство SINUMERIK 810D, 840D (SINUMERIK 810D – для станков с небольшими рабочими усилиями, SINUMERIK 840D – наиболее распространенное базовое модульное ЧПУ для широкого круга станков и технологических задач);

ЧПУ SINUMERIK 810D, 840D представляют собой интегрированные мультипроцессорные системы, в которых нельзя выделить ЧПУ и приводы в самостоятельные устройства. Пульт оператора состоит из следующих частей:

- MМС-процессора (Human Machine Communication), который представляет собой персональный компьютер ММС100.2 (Intel 486, MS-DOS) или ММС103 (Intel Pentium, Windows 95);

- дисплея, который может быть цветным или монохромным (10,4" TFT плоский экран).

Кроме того, пульт может быть оснащен полноразмерной клавиатурой, дисководом, адаптером подключения к сети Ethernet. Весь интерфейс полностью русифицирован. На ММС-процессоры можно установить дополнительное программное обеспечение. Это позволяет произвести объединение рабочих мест проектировщика (конструктора-технолога) и станочника-оператора.

Имеющиеся сегодня возможности позволяют говорить о действительном программировании, а не о кодировании перемещений, как это было раньше. Базовый набор технологических функций ЧПУ позволяет использовать его с широкой гаммой станков (токарные, фрезерные, шлифовальные и т.п. станки и обрабатывающие центры). Целый ряд высокоуровневых функций обеспечивает такие возможности как:

- функции позволяющие создавать плавные непрерывные кривые (в системе возможно использование трех видов сплайнов и кривых, заданных с помощью полиномов третьего порядка);

- изменение величины подачи по заданному закону в пределах одного кадра;

- автоматическое предотвращение зарезов;

- преобразование рабочей системы координат в пространстве;

- ориентация инструмента относительно плоскости обработки (при наличии на станке поворотной инструментальной головы при условии 2,5D-обработки значительно упрощается обработка наклонных поверхностей);

- ориентация инструмента относительно криволинейных поверхностей;

- задание запрещенных для перемещения зон на станке;

- создание программных конструкций, аналогичных языкам высокого уровня;

- вызов внешних подпрограмм при возникновении аварийных ситуаций (в случае возникновения нештатных ситуаций, например, при поломке инструмента, автоматически может быть вызвана специальная подпрограмма, внутри которой организуются все необходимые действия по устранению ситуации).

Язык программирования для ЧПУ содержит много элементов из языков программирования высокого уровня (больше всего он напоминает Паскаль). Программист может создавать переменные различных типов, использовать команды условных и безусловных переходов, арифметические и логические операции, циклы, выполняемые по условиям (WHILE – ENDWHILE; REPEAT – UNTIL; FOR – ENDFOR). Система предоставляет доступ к внутренним переменным (например, к текущей памяти положения, к значениям остатков пути внутри кадра и т.д.).

Имея эти возможности, можно создавать программы, построенные по принципу групповой технологии, для ввода новой детали необходимо просто заполнить таблицу внутри программы [12]. Это существенно облегчает работу оператора (простой запуск с промежуточного инструмента или технологического перехода).

Модуль визуализации слишком сложен для самостоятельного создания поэтому целесообразно воспользоваться стандартными средствами какой-нибудь CAD-системы. Самой удобной для этих целей является система Designer Modeling компании CoCreate. Отличительной особенностью данной системы является развитый набор функций для автоматизации процесса разработки моделей с использованием внешних макро команд, записанных во внешний файл.

В качестве языка макро команд система Designer Modeling использует язык LISP.

Лисп (LISP, от английского Processing language – "обработка списков") – семейство языков программирования, программы и данные в которых представляются системами линейных списков символов. Лисп является вторым в истории (после Фортрана) высокоуровневым языком программирования, который используется по сей день. Создатель Лиспа Джон Маккарти занимался исследованиями в области искусственного интеллекта и созданный им язык по сию пору является одним из основных средств моделирования различных аспектов искусственного интеллекта [23].

Традиционный Лисп имеет динамическую систему типов. Язык является функциональным, но многие поздние версии обладают также чертами императивности, к тому же, имея полноценные средства символьной обработки, становится возможным реализовать объектную ориентированность, примером такой реализации является платформа CLOS.

Язык Лисп, наряду с языком Ada, прошел процесс фундаментальной стандартизации для использования в военном деле и промышленности, в результате чего появился стандарт Common Lisp. Его реализации существуют для большинства платформ.

Одной из базовых идей языка Lisp является представление каждого символа как узла многокоординатной символьной сети; при этом координаты, свойства, уровни сети записаны в так называемых слотах символа.

Основной механизм Лиспа – инкапсулированная в список определяющая голова списка и подключённый к ней хвост списка, который рекурсивно также может быть списком. Лисп-машина способна воспринимать каждый поступающий на неё список на самом абстрактном уровне, например как мета-Лисп-машину, модифицирующую воспринимающую машину. В такой динамичной, высокоабстрактной среде можно реализовать как строго-научные системы, так и неисчислимое множество программистских трюков и генераторов всевозможных машин.

Любая программа на Лиспе состоит из последовательности выражений (форм). Результат работы программы состоит в вычислении этих выражений. Все выражения записываются в виде списков – одной из основных структур Лиспа, поэтому они могут легко быть созданы посредством самого языка. Это позволяет создавать программы, изменяющие другие программы или макросы, позволяющие существенно расширить возможности языка.

Внешне исходный код программы на Лиспе отличается обилием круглых скобок; редактирование программ значительно упрощается использованием текстового редактора, поддерживающего автоматическое выравнивание кода, подсветку соответствующих пар скобок и такие специальные команды, как "закрыть все открытые скобки", "перейти через список вправо" и т. д.

Символьная природа языка (то есть отсутствие в символьном пространстве традиционной метрической геометрии расстояний, последовательностей и т.д.) позволяет легко и продуктивно распараллеливать Лисп-процессы. Что нашло использование в сверхмощных телекоммуникационных, сетевых Лисп-системах.

Первые области применения Лиспа были связаны с символьной обработкой данных и процессами принятия решений.

Наиболее популярный сегодня диалект Коммон Лисп является универсальным языком программирования. Он широко используется в самых разных проектах: интернет-серверы и службы, серверы приложений и клиенты, взаимодействующие с реляционными и объектными базами данных, научные расчёты и игровые программы.

Одно из направлений использования языка Lisp – его использование в качестве скриптового языка, автоматизирующего работу в ряде прикладных программ.

Сферы применения Лиспа многообразны: наука и промышленность, образование и медицина, от декодирования генома человека до системы проектирования авиалайнеров.

 


Дата добавления: 2019-07-15; просмотров: 424; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!