LinuxCNC є модульною та гнучкою системою. Ці властивості змушують багатьох вважати її заплутаною сумішшю дрібниць і дивуватися, чому вона така. Ця сторінка намагається відповісти на це питання, перш ніж ви поринете в суть справи.
LinuxCNC розпочав свою діяльність у Національному інституті стандартів і технологій США. Він розвивався, використовуючи UNIX як операційну систему. UNIX зробив його особливим. Серед перших розробників UNIX сформувався набір ідей щодо написання коду, який деякі називають «способом UNIX». Ці перші автори LinuxCNC дотримувалися цих способів.
Ерік С. Реймонд у своїй книзі «Мистецтво програмування UNIX» підсумовує філософію UNIX як широко використовувану інженерну філософію «Keep it Simple, Stupid» (принцип KISS). Далі він описує, як, на його думку, ця загальна філософія застосовується як культурна норма UNIX, хоча, що не дивно, в реальній практиці UNIX неважко знайти серйозні порушення більшості з наведених нижче принципів:
-
Правило модульності: Пишіть прості частини, з’єднані зрозумілими інтерфейсами.
-
Правило ясності: Ясність краща за кмітливість.
-
Правило композиції: Проєктуйте програми так, щоб вони були пов’язані з іншими програмами.
-
Правило розділення: Відокремте політику від механізму; відокремте інтерфейси від двигунів. примітка: [Знайдено за посиланням: https://en.wikipedia.org/wiki/Separation_of_mechanism_and_policy, 2022-11-13]
Пан Реймонд запропонував ще кілька правил, але ці чотири описують основні характеристики системи керування рухом LinuxCNC.
Правило Модульності є надзвичайно важливим. У цих посібниках ви знайдете згадки про інтерпретатор, планувальник завдань, рух або HAL. Кожен з них є модулем або набором модулів. Саме модульність дозволяє вам з’єднувати між собою лише ті частини, які необхідні для роботи вашої машини.
Правило ясність є надзвичайно важливим. LinuxCNC є проектом, що постійно розвивається — він не є завершеним і ніколи не буде таким. Він є достатньо досконалим, щоб працювати на більшості машин, на яких ми хочемо його використовувати. Значна частина цього прогресу досягається завдяки тому, що багато користувачів та розробників коду мають можливість переглядати роботу інших та розвивати те, що вони вже зробили.
Правило Композиції дозволяє нам побудувати передбачувану систему управління з багатьох доступних модулів, зробивши їх сумісними. Ми досягаємо сумісності, встановлюючи стандартні інтерфейси для наборів модулів і дотримуючись цих стандартів.
Правило Розділення вимагає, щоб ми створювали окремі частини, які виконують невеликі завдання. Завдяки розділенню функцій налагодження стає набагато простішим, а замінні модулі можна легко додавати до системи та порівнювати.
Що означає підхід UNIX для вас як користувача LinuxCNC? Це означає, що ви можете вибирати, як використовувати систему. Багато з цих виборів є частиною інтеграції машини, але багато з них також впливають на те, як ви будете використовувати свою машину. Під час читання ви знайдете багато місць, де вам доведеться робити порівняння. Врешті-решт ви зробите вибір: «Я буду використовувати цей інтерфейс, а не той» або «Я буду писати зміщення деталей таким чином, а не іншим». У цих посібниках ми описуємо весь спектр можливостей, доступних на даний момент.
Коли ви починаєте свою подорож у LinuxCNC, ми пропонуємо два застереження: виноска: [Посилання: https://en.wikipedia.org/wiki/Unix_philosophy, 07/06/2008]
-
Перефразуючи слова Дуга Гвіна про UNIX: «LinuxCNC не був розроблений для того, щоб заважати своїм користувачам робити дурниці, оскільки це також завадило б їм робити розумні речі»
-
Так само можна сказати і про слова Стівена Кінга: «LinuxCNC зручний у використанні. Він просто невибірковий щодо того, з якими користувачами він дружній.»
Серія відеороликів на YouTube надає безліч доказів того, що перехід на LinuxCNC можливий незалежно від того, якою є ваша звичайна операційна система. З огляду на це, з появою адитивних технологій, таких як 3D-друк, широка ІТ-спільнота виявляє все більший інтерес до обробки на верстатах з ЧПК, і вам має бути можливо знайти когось із відповідними навичками/обладнанням поблизу, щоб спільно подолати початкові перешкоди.