LinuxCNC ist modular und flexibel. Diese Eigenschaften führen dazu, dass viele es als ein verwirrendes Durcheinander von kleinen Dingen sehen und sich fragen, warum es so ist, wie es ist. Diese Seite versucht, diese Frage zu beantworten, bevor Sie in das Dickicht der Dinge zu bekommen.

LinuxCNC begann am National Institute of Standards and Technology in den USA. Es wuchs mit Unix als Betriebssystem auf. Unix machte es anders. Unter den frühen Unix-Entwicklern wuchs eine Reihe von Ideen für das Schreiben von Code, die einige als den Unix-Weg bezeichnen. Diese frühen LinuxCNC-Autoren folgten diesen Wegen.

Eric S. Raymond fasst in seinem Buch The Art of Unix Programming die Unix-Philosophie als die weit verbreitete technische Philosophie "Keep it Simple, Stupid" (KISS-Prinzip) zusammen. Er beschreibt dann, wie diese allgemeine Philosophie seiner Meinung nach als kulturelle Unix-Norm angewandt wird, obwohl es nicht überraschend ist, dass man in der tatsächlichen Unix-Praxis schwerwiegende Verstöße gegen die meisten der folgenden Punkte finden kann:

  • Regel der Modularität: Schreibe einfache Teile, die durch saubere Schnittstellen verbunden sind.

  • Regel der Klarheit: Klarheit ist besser als Cleverness.

  • Regel der Komposition: Entwerfen Sie Programme so, dass sie mit anderen Programmen verbunden sind.

  • Trennungsgrundsatz: Trenne die formalisierte Prinzipien (engl. policy) vom Mechanismus; trenne die Schnittstellen von den Motoren.
    [Gefunden bei link:http://en.wikipedia.org/wiki/Separation_of_mechanism_and_policy, 2022-11-13]

Herr Raymond bot einige weitere Regeln an, aber diese vier beschreiben wesentliche Merkmale des LinuxCNC Motion Control Systems.

Die Modularitätsregel ist entscheidend. In diesen Handbüchern wird immer wieder vom Interpreter, Taskplaner, Motion oder HAL gesprochen. Jedes dieser Elemente ist ein Modul oder eine Sammlung von Modulen. Es ist die Modularität, die es Ihnen ermöglicht, genau die Teile zusammenzufügen, die Sie zum Betrieb Ihrer Maschine benötigen.

Die Clarity Regel ist wesentlich. An LinuxCNC wird weiter gearbeitet - es ist nicht fertig, und wird es niemals sein. Es ist vollständig genug, um die meisten Maschinen zu laufen, auf den wir wollen, dass es läuft. Ein großer Teil dieses Fortschritts wurde erreicht, weil viele Benutzer und Code-Entwickler in der Lage sind, sich die Arbeit anderer anzusehen und auf dem aufzubauen, was sie getan haben.

Die Zusammensetzungs-Regel ermöglicht es uns, aus den vielen verfügbaren Modulen ein vorhersehbares Steuerungssystem zu erstellen, indem wir sie miteinander verbinden können. Wir erreichen die Anschlussfähigkeit, indem wir Standardschnittstellen zu Modulgruppen einrichten und diesen Standards folgen.

Die Trennungsregel verlangt, dass wir verschiedene Teile erstellen, die kleine Dinge tun. Durch die Trennung von Funktionen ist die Fehlersuche viel einfacher, und Ersatzmodule können in das System eingefügt und leicht verglichen werden.

Was bedeutet der Unix-Weg für Sie als Benutzer von LinuxCNC. Es bedeutet, dass Sie in der Lage sind, Entscheidungen darüber zu treffen, wie Sie das System verwenden werden. Viele dieser Entscheidungen sind ein Teil der Maschinenintegration, aber viele beeinflussen auch die Art und Weise, wie Sie Ihre Maschine benutzen werden. Beim Lesen werden Sie viele Stellen finden, an denen Sie Vergleiche anstellen müssen. Schließlich werden Sie sich entscheiden: "Ich verwende lieber diese Schnittstelle als jene" oder "Ich schreibe Teileverschiebungen lieber auf diese Weise als auf jene".

Wie Sie Ihre Reise in die Verwendung von LinuxCNC beginnen, bieten wir zwei warnende Hinweise:
[Gefunden auf link:https://en.wikipedia.org/wiki/Unix_philosophy, 07/06/2008]

  • Um es mit den Worten von Doug Gwyn über UNIX zu sagen: "LinuxCNC wurde nicht entwickelt, um seine Benutzer davon abzuhalten, dumme Dinge zu tun, denn das würde sie auch davon abhalten, kluge Dinge zu tun."

  • Auch die Worte von Steven King: "LinuxCNC ist benutzerfreundlich. Es ist nur nicht freizügig, mit welchen Benutzern es freundlich ist."

Eine Reihe von Videos auf YouTube zeigen, dass ein Umstieg auf LinuxCNC möglich ist, unabhängig davon, welches Betriebssystem Sie benutzen. Das heißt, mit dem Aufkommen der additiven Fertigung wie 3D-Druck gibt es ein zunehmendes Interesse von der breiteren IT-Gemeinschaft in CNC-Bearbeitung und es sollte möglich sein, jemanden mit komplementären Fähigkeiten / Ausrüstung in Ihrer Nähe zu finden, um gemeinsam die anfänglichen Hürden zu überwinden.