Аннотация: Описано принципы моделирования станочного оборудования с использованием высокоуровневых языков программирования и объектно-ориентированой методологии, выполнено моделирование токарно-винторезного станка 16К20.
Ключевые слова: машиностроение, програмирование.
Технічні науки
УДК 621.9.06
Пуховський Євген Степанович
доктор технічних наук, професор
Національний технічний університет України
«Київський політехнічний інститут ім. Ігоря Сікорського»
Кучук Олександр Олександрович
студент
Національний технічний університет України
«Київський політехнічний інститут ім. Ігоря Сікорського»
Пуховський Евгений Степанович
доктор технических наук, профессор
Национальный технический университет Украины
«Киевский политехнический институт им. Игоря Сикорского»
Кучук Александр Александрович
cтудент
Национальный технический университет Украины
«Киевский политехнический институт им. Игоря Сикорского»
Pukhovskyy Yevhen
doctor of technical science, professor
National Technical University of Ukraine
«Igor Sikorsky Kyiv Polytechnic Institute»
Kuchuk Olexandr
student
National Technical University of Ukraine
«Igor Sikorsky Kyiv Polytechnic Institute»
МОДЕЛЮВАННЯ ВЕРСТАТНОГО ОБЛАДНАННЯ З ВИКОРИСТАННЯМ ВИСОКОРІВНЕВИХ МОВ ПРОГРАМУВАННЯ ДЛЯ ТЕХНІКО-ЕКОНОМІЧНОГО АНАЛІЗУ
МОДЕЛИРОВАНИЕ СТАНОЧНОГО ОБОРУДОВАНИЯ С ИСПОЛЬЗОВАНИЕМ ВЫСОКОУРОВНЕВЫХ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ ДЛЯ ТЕХНИКО-ЭКОНОМИЧЕСКОГО АНАЛИЗА
THEORETICAL BASIS OF THE SOFTWARE FOR DESIGN GROUPING USING OBJECT-ORIENTED METHODOLOGY
Анотація: Описано принципи моделювання верстатного обладнання з використанням високорівневих мов програмуваннята та об’єктно-оріентованої методології, виконано моделювання токарно-гвинторізного верстату 16К20.
Ключові слова: машинобудування, програмування.
Аннотация: Описано принципы моделирования станочного оборудования с использованием высокоуровневых языков программирования и объектно-ориентированой методологии, выполнено моделирование токарно-винторезного станка 16К20.
Ключевые слова: машиностроение, програмирование.
Summary: The principles of simulation of machine tools using high-level programming languages and object-oriented methodology are described, modeling of the 16K20 screw-cutting lathe.
Key words: mashinebuilding, programming.
На сьогодні рівень розвитку обчислювальної техніки дає можливість широко використовувати її досягнення у всіх областях науки та техніки. Сучасні програмні засоби дозволяють автоматизувати великий об’єм математичних обчислень та моделювати процеси та системи будь-якої складності. Саме моделювання роботи машинобудівного підприємства з використанням ЕОМ та сучасних програмних продуктів дає можливість проектувальникам аналізувати та оцінити доцільність та можливість втілення того чи іншого рішення, провести порівняння або дослідження роботи у критичних умовах. З економічної точки зору, моделювання з використанням ЕОМ відкриває можливість планування на великі терміни з урахуванням великого числа факторів мінімізуючи вплив людського фактору.[1] Також, системи моделювання та проектування підприємств відкривають великий потенціал накопичення організаційно-проектних рішень та централізацію доступу до останніх.
Для наглядності та демонстрації переваг такого підходу до проектування реалізуємо моделювання верстату мовою програмування Python з використанням об’єктно-оріентованої методології програмування[2]. Згідно з данною методологією кожен верстат має бути представлений екземпляром окремого классу котрий буде інкапсулювати у собі атрибути та методи, що відповідають його характеристикам, діям, котрі можна виконувати з ним та способам взаємодії з ним. Для оптимізації процессу моделювання має бути підготовлена спеціальна база данних(бібліотека), котра буде зберігати класи основних та найпоширеніших моделей верстатів, а також абстрактні класи для того щоб максимально швидко моделювати відсутні верстати використовуючи механізм, що у термінах об’єктно-оріентованого програмування називається наслідування. Прикладом буде токарно-гвинторізний верстат 16К20.
Спочатку реалізується класс верстату та метод __init__():
class Lathe16K20:
def __init__(self, height, width, long, power, spindle_position):
self.height = height
self.width = width
self.long = long
self.power = power
self.spindle_position = spindle_position
Вище реалізовано клас верстату 16К20 з основними атрибутами(для наочності), тепер для ініціалізації екземпляру верстату потрібно вказати назву екземпляру, назву класу та усі аргументи функції __init__() у порядку вказаному у функції, так як це порядкові аргументи.
Ініціалізація екземпляру:
lathe1=Lathe16K20(1500, 800, 5000, 2.2, ‘horizontal’)
Також для спеціалізації та уточнення характеристик верстату є можливість додавання окремих атрибутів конкретному екземпляру без внесення змін у клас верстату на випадок якщо верстат має якісь локальні модифікації чи удосконалення:
lathe1.rotation_frequency = 8000
Для підвищення зручності моделювання та використання моделей атрибутам екземпляра можна присвоювати масиви даних або іменовані масиви, наприклад, для відображення позиції супорта верстата можна присвоїти атрибуту сlipper_position іменований масив з вертикальною та горизонтальною координатами:
lathe1.clipper_position = {‘y_coordinate’:200, ‘z_coordinate’:80}
Для моделювання методів, тобто дій які можна виконувати з верстатом потрібно реалізувати окрему функцію, наприклад переміщення супорта вздовж горизонтальної осі у відносних координатах:
class Lathe16K20:
. . .
def relative_displacement(direction, value):
if direction == ‘+’:
self. clipper_position[y_coordinate]=+value
return self
if direction == ‘-’:
self. clipper_position[y_coordinate]=-value
return self
Методу передаються два аргументи, напрям та значення переміщення і в залежності від цього метод relative_displacement змінює атрибут екземпляру.
Так виконується моделювання верстату. Звичайно, отримана модель не описує повністю реальний верстат, але саме це демонструє гнучкість такого підходу, можна наділити екземпляр лише тими властивостями які важливі та необхідні для конкретного розрахунку і не витрачати час на моделювання властивостей які не є суттєвими.
Висновки:
Описано спосіб моделювання верстатів з використанням високорівневої мови програмування Python та об’єктно-оріентованої методології, виконано ночне моделювання та описані переваги такого підходу.
Література: