PnCconf wurde entwickelt, um Konfigurationen zu erstellen, die bestimmte Mesa Anything I/O Produkte verwenden.

It can configure closed loop servo systems or hardware stepper systems. It uses a similar wizard approach as StepConf (used for software stepping, parallel port driven systems).

PnCconf befindet sich noch im Entwicklungsstadium (Beta), daher gibt es noch einige Bugs und fehlende Funktionen. Bitte melden Sie Fehler und Vorschläge auf der LinuxCNC Forumsseite oder über die Mailing-Liste.

Bei der Verwendung von PnCconf gibt es zwei Denkansätze:

One is to use PnCconf to always configure your system - if you decide to change options, reload PnCconf and allow it to configure the new options. This will work well if your machine is fairly standard and you can use custom files to add non standard features. PnCconf tries to work with you in this regard.

The other is to use PnCconf to build a config that is close to what you want and then hand edit everything to tailor it to your needs. This would be the choice if you need extensive modifications beyond PnCconf’s scope or just want to tinker with / learn about LinuxCNC.

Mit den Schaltflächen "Vor", "Zurück" und "Abbrechen" können Sie durch die Seiten des Assistenten navigieren. Außerdem gibt es eine Hilfeschaltfläche, die einige Informationen zu den Seiten, Diagrammen und einer Ausgabeseite enthält.

Tipp
Die Hilfeseite von PnCconf sollte die aktuellsten Informationen und zusätzliche Details enthalten.

1. Schritt für Schritt Anleitung

PnCconf Konfigurations-Assistent
Abbildung 1. PnCconf Startfenster

2. Erstellen oder bearbeiten

This allows you to select a previously saved configuration or create a new one. If you pick Modify a configuration and then press Next a file selection box will show. PnCconf preselects your last saved file. Choose the config you wish to edit. If you made any changes to the main HAL or INI files PnCconf will over write those files and those changes will be lost. Some files will not be over written and PnCconf places a note in those files. It also allows you to select desktop shortcut / launcher options. A desktop shortcut will place a folder icon on the desktop that points to your new configuration files. Otherwise you would have to look in your home folder under linuxcnc/configs.

A Desktop launcher will add an icon to the desktop for starting your config directly. You can also launch it from the main menu by using the Configuration Selector LinuxCNC found in CNC menu and selecting your config name.

3. Grundlegende Informationen zur Maschine

PnCconf grundlegende Maschineninformationen
Abbildung 2. PnCconf Basic
Maschinengrundlagen

If you use a name with spaces PnCconf will replace the spaces with underscore (as a loose rule Linux doesn’t like spaces in names) Pick an axis configuration - this selects what type of machine you are building and what axes are available. The Machine units selector allows data entry of metric or imperial units in the following pages.

Tipp
Standardwerte werden bei der Verwendung in metrisch nicht konvertiert, stellen Sie also sicher, dass es sich um vernünftige Werte handelt!
Reaktionszeit des Computers

The servo period sets the heart beat of the system. Latency refers to the amount of time the computer can be longer then that period. Just like a railroad, LinuxCNC requires everything on a very tight and consistent time line or bad things happen. LinuxCNC requires and uses a real time operating system, which just means it has a low latency ( lateness ) response time when LinuxCNC requires its calculations and when doing LinuxCNCs calculations it cannot be interrupted by lower priority requests (such as user input to screen buttons or drawing etc).

Testing the latency is very important and a key thing to check early. Luckily by using the Mesa card to do the work that requires the fastest response time (encoder counting and PWM generation) we can endure a lot more latency then if we used the parallel port for these things. The standard test in LinuxCNC is checking the BASE period latency (even though we are not using a base period). If you press the test base period jitter button, this launches the latency test window ( you can also load this directly from the applications/cnc panel ). The test mentions to run it for a few minutes but the longer the better. Consider 15 minutes a bare minimum and overnight even better. At this time use the computer to load things, use the net, use USB etc we want to know the worst case latency and to find out if any particular activity hurts our latency. We need to look at base period jitter. Anything under 20000 is excellent - you could even do fast software stepping with the machine 20000 - 50000 is still good for software stepping and fine for us. 50000 - 100000 is really not that great but could still be used with hardware cards doing the fast response stuff. So anything under 100000 is usable to us. If the latency is disappointing or you get a bad hiccup periodically you may still be able to improve it.

Tipp
There is a user compiled list of equipment and the latency obtained on the LinuxCNC wiki: https://wiki.linuxcnc.org/cgi-bin/wiki.pl?Latency-Test Please consider adding your info to the list. Also on that page are links to info about fixing some latency problems.

Now we are happy with the latency and must pick a servo period. In most cases a servo period of 1000000 ns is fine (that gives a 1 kHz servo calculation rate - 1000 calculations a second). If you are building a closed loop servo system that controls torque (current) rather then velocity (voltage) a faster rate would be better - something like 200000 (5 kHz calculation rate). The problem with lowering the servo rate is that it leaves less time available for the computer to do other things besides LinuxCNC’s calculations. Typically the display (GUI) becomes less responsive. You must decide on a balance. Keep in mind that if you tune your closed loop servo system then change the servo period you probably will need to tune them again.

E/A-Steueranschlüsse/Karten (engl. I/O Control Ports/Boards)

PnCconf is capable of configuring machines that have up to two Mesa boards and three parallel ports. Parallel ports can only be used for simple low speed (servo rate) I/O.

Mesa

You must choose at least one Mesa board as PnCconf will not configure the parallel ports to count encoders or output step or PWM signals. The mesa cards available in the selection box are based on what PnCconf finds for firmware on the systems. There are options to add custom firmware and/or blacklist (ignore) some firmware or boards using a preference file. If no firmware is found PnCconf will show a warning and use internal sample firmware - no testing will be possible. One point to note is that if you choose two PCI Mesa cards there currently is no way to predict which card is 0 and which is 1 - you must test - moving the cards could change their order. If you configure with two cards both cards must be installed for tests to function.

Parallelport

Up to 3 parallel ports (referred to as parports) can be used as simple I/O. You must set the address of the parport. You can either enter the Linux parallel port numbering system (0,1,or 2) or enter the actual address. The address for an on board parport is often 0x0278 or 0x0378 (written in hexadecimal) but can be found in the BIOS page. The BIOS page is found when you first start your computer you must press a key to enter it (such as F2). On the BIOS page you can find the parallel port address and set the mode such as SPP, EPP, etc on some computers this info is displayed for a few seconds during start up. For PCI parallel port cards the address can be found by pressing the parport address search button. This pops up the help output page with a list of all the PCI devices that can be found. In there should be a reference to a parallel port device with a list of addresses. One of those addresses should work. Not all PCI parallel ports work properly. Either type can be selected as in (maximum amount of input pins) or out (maximum amount of output pins).

GUI-Frontend-Liste

Dies legt die grafischen Bildschirme fest, die LinuxCNC verwenden wird. Jeder von ihnen hat verschiedene Optionen.

ACHSE
  • Vollständig unterstützt Drehmaschinen.

  • ist das am weitesten entwickelte und am häufigsten verwendete Frontend

  • ist für die Verwendung mit Maus und Tastatur konzipiert

  • basiert auf tkinter und integriert daher unkompliziert mit PyVCP (Python-basierte virtuelle Kontrollfelder).

  • hat ein grafisches 3D-Fenster.

  • ermöglicht die Integration von VCP auf der Seiten- oder in der mittleren Registerkarte

TkLinuxCNC
  • kontrastreicher hellblauer Bildschirm

  • separates Grafikfenster

  • keine VCP-Integration

Touchy
  • Touchy wurde für die Verwendung mit einem Touchscreen, einigen minimalen physischen Schaltern und einem MPG-Rad konzipiert.

  • erfordert Zyklus-Start-, Abbruch- und Einzelschritt-Signale und -Tasten

  • Außerdem muss das Handrad-Jogging mit gemeinsamer Achse ausgewählt werden.

  • ist GTK-basiert und integriert daher GladeVCP (virtuelle Kontrollfelder) auf unkompiziere Weise.

  • ermöglicht die Integration von VCP-Panels in die mittlere Registerkarte

  • hat kein grafisches Fenster

  • Das Aussehen kann mit benutzerdefinierten Designs geändert werden

QtPlasmaC
  • voll funktionsfähige Plasmac-Konfiguration auf der Grundlage der QtVCP-Infrastruktur.

  • Maus-/Tastaturbedienung oder Touchscreen-Bedienung

  • keine VCP-Integration

4. Externe Konfiguration

Auf dieser Seite können Sie externe Steuerungen auswählen, z. B. für Jogging oder Overrides.

Externe Steuerelemente
Abbildung 3. Externe Steuerelemente

If you select a Joystick for jogging, You will need it always connected for LinuxCNC to load. To use the analog sticks for useful jogging you probably need to add some custom HAL code. MPG jogging requires a pulse generator connected to a MESA encoder counter. Override controls can either use a pulse generator (MPG) or switches (such as a rotary dial). External buttons might be used with a switch based OEM joystick.

Joystick-Joggen

Requires a custom device rule to be installed in the system. This is a file that LinuxCNC uses to connect to Linux’s device list. PnCconf will help to prepare this file.

  • Suche nach Geräteregeln durchsucht das System nach Regeln. Sie können diese Funktion verwenden, um den Namen von Geräten zu finden, die Sie bereits mit PnCconf erstellt haben.

  • Mit Add a device rule können Sie ein neues Gerät konfigurieren, indem Sie den Aufforderungen folgen. Sie müssen Ihr Gerät zur Verfügung haben.

  • Mit test device können Sie ein Gerät laden, dessen Pin-Namen sehen und seine Funktionen mit halmeter überprüfen.

Joystick-Jogging verwendet die Komponenten HALUI und hal_input.

Externe Tasten

allows jogging the axis with simple buttons at a specified jog rate. Probably best for rapid jogging.

Handrad (engl. MPG) Jogging

Ermöglicht die Verwendung eines Handrads (manuellen Impulsgebers, MPG), um die Achsen der Maschine zu bewegen.

MPG’s are often found on commercial grade machines. They output quadrature pulses that can be counted with a MESA encoder counter. PnCconf allows for an MPG per axis or one MPG shared with all axis. It allows for selection of jog speeds using switches or a single speed.

The selectable increments option uses the mux16 component. This component has options such as debounce and gray code to help filter the raw switch input.

Neufestlegungen (engl. overrides)

PnCconf ermöglicht die Neufestsetzung von Vorschubgeschwindigkeiten und/oder Spindeldrehzahlen über ein Handrad (MPG) oder Schalter (z. B. Drehschalter).

5. GUI-Konfiguration

Hier können Sie die Standardeinstellungen für die Bildschirme, fügen Sie virtuelle Bedienfelder (VCP), und stellen Sie einige LinuxCNC Optionen.

GUI-Konfiguration
Abbildung 4. GUI-Konfiguration
Front-End GUI-Optionen

Die Standardoptionen ermöglichen die Auswahl allgemeiner Standardeinstellungen für jeden Anzeigebildschirm.

AXIS defaults are options specific to AXIS. If you choose size, position or force maximize options then PnCconf will ask if it is alright to overwrite a preference file (.axisrc). Unless you have manually added commands to this file it is fine to allow it. Position and force max can be used to move AXIS to a second monitor if the system is capable.

Touchy defaults are options specific to Touchy. Most of Touchy’s options can be changed while Touchy is running using the preference page. Touchy uses GTK to draw its screen, and GTK supports themes. Themes controls the basic look and feel of a program. You can download themes from the net or edit them yourself. There are a list of the current themes on the computer that you can pick from. To help some of the text to stand out PnCconf allows you to override the Themes’s defaults. The position and force max options can be used to move Touchy to a second monitor if the system is capable.

QtPlasmaC-Optionen sind spezifisch für QtPlasmac, alle allgemeinen Optionen, die nicht benötigt werden, sind deaktiviert. Wenn QtPlasmac ausgewählt wird, ist der folgende Bildschirm ein Bildschirm zur Einstellung der Benutzertasten, der spezifisch für QtPlasmaC ist, und die VCP-Optionen sind nicht verfügbar.

VCP Optionen

Virtual Control Panels allow one to add custom controls and displays to the screen. AXIS and Touchy can integrate these controls inside the screen in designated positions. There are two kinds of VCPs - PyVCP which uses Tkinter to draw the screen and GladeVCP that uses GTK to draw the screen.

PyVCP

PyVCPs screen XML file can only be hand built. PyVCPs fit naturally in with AXIS as they both use TKinter.

Es werden HAL-Pins erstellt, an die sich der Benutzer in seiner eigenen HAL-Datei anschließen kann. Es gibt ein Beispiel für ein Spindeldisplay, das der Benutzer unverändert verwenden oder darauf aufbauen kann. Sie können eine leere Datei auswählen, zu der Sie später Ihre Steuerelemente Widgets hinzufügen können, oder Sie wählen ein Beispiel für eine Spindelanzeige zur Anzahl der Spindeldrehzahl und zur Anzeige, ob die Spindel die gewünschte Drehzahl erreicht hat.

PnCconf verbindet die richtigen HAL-Pins der Spindelanzeige für Sie. Wenn Sie AXIS verwenden, wird das Panel auf der rechten Seite integriert. Wenn Sie AXIS nicht verwenden, wird das Panel separat stand-alone vom Front-End-Bildschirm angezeigt.

You can use the geometry options to size and move the panel, for instance to move it to a second screen if the system is capable. If you press the Display sample panel button the size and placement options will be honored.

GladeVCP

GladeVCPs passen natürlich in den Touchy-Bildschirm, da beide GTK verwenden, um sie zu zeichnen, aber durch die Änderung von GladeVCPs Thema kann es möglich werden, dies optisch ziemlich gut in AXIS zu integrieren (versuchen Sie Redmond).

Es verwendet einen grafischen Editor, um seine XML-Dateien zu erstellen. Es werden HAL-Pins erstellt, mit denen sich der Benutzer innerhalb seiner eigenen HAL-Datei verbinden kann.

GladeVCP ermöglicht auch eine viel anspruchsvollere (und kompliziertere) Programmierinteraktion, die PnCconf derzeit nicht nutzt (siehe GLADE VCP im Handbuch).

PnCconf verfügt über Beispielpanels, die der Benutzer unverändert verwenden oder auf denen er aufbauen kann. Mit GladeVCP können Sie in PnCconf verschiedene Optionen für Ihre Beispielanzeige auswählen.

Wählen Sie unter "Beispieloptionen" die gewünschten Optionen aus. Die Nulltasten verwenden HALUI-Befehle, die Sie später im HALUI-Abschnitt bearbeiten können.

Auto Z Touch-Off erfordert auch das klassische Leiter-Touch-Off-Programm und einen ausgewählten Sondeneingang. Es erfordert eine leitfähige Touch-Off-Platte und ein geerdetes leitfähiges Werkzeug. Eine Idee, wie es funktioniert, finden Sie unter:

Unter „Anzeigeoptionen“ können Größe, Position und max. Kraft auf einem „eigenständigen“ Panel verwendet werden, um beispielsweise den Bildschirm auf einem zweiten Monitor zu platzieren, wenn das System dazu in der Lage ist.

Sie können ein GTK-Thema auswählen, welches das grundlegende Erscheinungsbild des Panels festlegt. Normalerweise möchten Sie, dass dies mit dem Front-End-Bildschirm übereinstimmt. Diese Optionen werden verwendet, wenn Sie auf die Schaltfläche "Beispiel anzeigen" klicken. Mit GladeVCP können Sie je nach Front-End-Bildschirm auswählen, wo das Panel angezeigt werden soll.

Bei AXIS kann er in der Mitte oder auf der rechten Seite stehen, bei Touchy in der Mitte.

Standardeinstellungen und Optionen
  • Referenzfahrt vor Manueller Dateneingabe / Ausführung erforderlich machen

    • Wenn Sie möchten, dass die Maschine vor der Referenzfahrt bewegt werden kann, deaktivieren Sie dieses Kontrollkästchen.

  • Popup-Tool-Eingabeaufforderung

    • Wählen Sie zwischen einer Bildschirmabfrage für Werkzeugwechsel oder dem Export von Standardsignalnamen für eine benutzerdefinierte Werkzeugwechsler-HAL-Datei

  • Lassen Sie die Spindel während des Werkzeugwechsels eingeschaltet:

    • Verwendet für Drehbänke

  • Individuelle manuelle Referenzfahrt erzwingen

  • Spindel vor dem Werkzeugwechsel nach oben fahren

  • Wiederherstellung der Gelenkposition nach Abschaltung

    • Verwendet für nichttriviale kinematische Maschinen

  • Werkzeugwechsler mit zufälliger (engl. random) Position

    • Wird für Werkzeugwechsler verwendet, die das Werkzeug nicht in dieselbe Tasche zurückbringen. Um Werkzeugwechsler zu unterstützen, müssen Sie einen eigenen HAL-Code hinzufügen.

6. Mesa-Konfiguration

Die Mesa-Konfigurationsseiten erlauben es, verschiedene Firmwares zu verwenden. Auf der Basisseite haben Sie eine Mesa-Karte ausgewählt. Hier wählen Sie die verfügbare Firmware aus und bestimmen, welche und wie viele Komponenten verfügbar sind.

Mesa Board Konfiguration
Abbildung 5. Mesa Board Konfiguration

Parport address is used only with Mesa parport card, the 7i43. An on board parallel port usually uses 0x278 or 0x378 though you should be able to find the address from the BIOS page. The 7i43 requires the parallel port to use the EPP mode, again set in the BIOS page. If using a PCI parallel port the address can be searched for by using the search button on the basic page.

Anmerkung
Viele PCI-Karten unterstützen das EPP-Protokoll nicht richtig.

PDM PWM and 3PWM base frequency sets the balance between ripple and linearity. If using Mesa daughter boards the docs for the board should give recommendations.

Wichtig
Es ist wichtig, diese zu beachten, um Schäden zu vermeiden und die beste Leistung zu erzielen.
Der 7i33 benötigt PDM und eine PDM-Basisfrequenz von 6 MHz
Der 7i29 benötigt PWM und eine PWM-Basisfrequenz von 20 kHz
Das 7i30 erfordert PWM und eine PWM-Basisfrequenz von 20 kHz
Das 7i40 erfordert PWM und eine PWM-Basisfrequenz von 50 kHz
Das 7i48 benötigt UDM und eine PWM-Basisfrequenz von 24 kHz
Watchdog-Zeitüberschreitung

is used to set how long the MESA board will wait before killing outputs if communication is interrupted from the computer. Please remember Mesa uses active low outputs meaning that when the output pin is on, it is low (approx 0 volts) and if it is off the output in high (approx 5 volts) make sure your equipment is safe when in the off (watchdog bitten) state.

Anzahl der Codierer/PWM-Generatoren/STEP-Generatoren

Sie können die Anzahl der verfügbaren Komponenten auswählen, indem Sie nicht verwendete Komponenten abwählen. Nicht alle Komponententypen sind mit jeder Firmware verfügbar.

Choosing less then the maximum number of components allows one to gain more GPIO pins. If using daughter boards keep in mind you must not deselect pins that the card uses. For instance some firmware supports two 7i33 cards, If you only have one you may deselect enough components to utilize the connector that supported the second 7i33. Components are deselected numerically by the highest number first then down with out skipping a number. If by doing this the components are not where you want them then you must use a different firmware. The firmware dictates where, what and the max amounts of the components. Custom firmware is possible, ask nicely when contacting the LinuxCNC developers and Mesa. Using custom firmware in PnCconf requires special procedures and is not always possible - though I try to make PnCconf as flexible as possible.

After choosing all these options press the Accept Component Changes button and PnCconf will update the I/O setup pages. Only I/O tabs will be shown for available connectors, depending on the Mesa board.

7. Mesa I/O-Einrichtung

Die Registerkarten werden zur Konfiguration der Eingangs- und Ausgangspins der Mesa-Karten verwendet. Mit PnCconf können Sie benutzerdefinierte Signalnamen zur Verwendung in benutzerdefinierten HAL-Dateien erstellen.

Mesa I/O C2 Einrichtung
Abbildung 6. Mesa I/O C2 Einrichtung

Auf dieser Registerkarte mit dieser Firmware sind die Komponenten für eine 7i33 Tochterplatine eingestellt, die normalerweise mit Servos mit geschlossenem Regelkreis verwendet wird. Beachten Sie, dass die Komponentennummern der Encoderzähler und PWM-Treiber nicht in numerischer Reihenfolge sind. Dies entspricht den Anforderungen für die Tochterkarte.

Mesa I/O C3 Einrichtung
Abbildung 7. Mesa I/O C3 Einrichtung

Auf dieser Registerkarte sind alle Pins GPIO. Beachten Sie die 3-stelligen Nummern - sie entsprechen der HAL-Pin-Nummer. GPIO-Pins können als Eingang oder Ausgang gewählt werden und können invertiert werden.

Mesa I/O C4 Einrichtung
Abbildung 8. Mesa I/O C4 Einrichtung

On this tab there are a mix of step generators and GPIO. Step generators output and direction pins can be inverted. Note that inverting a Step Gen-A pin (the step output pin) changes the step timing. It should match what your controller expects.

8. Konfiguration des parallelen Anschlusses

Konfiguration des parallelen Anschlusses

Der Parallelport kann für einfache E/A verwendet werden, ähnlich wie die GPIO-Pins von Mesa’s.

9. Konfiguration der Achsen

Konfiguration des Achsantriebs
Abbildung 9. Konfiguration des Achsantriebs

Diese Seite ermöglicht das Konfigurieren und Testen der Motor- und/oder Encoderkombination. Bei Verwendung eines Servomotors ist ein Open-Loop-Test verfügbar, bei Verwendung eines Schrittmotors ein Tuning-Test.

Open-Loop-Test

An open loop test is important as it confirms the direction of the motor and encoder. The motor should move the axis in the positive direction when the positive button is pushed and also the encoder should count in the positive direction. The axis movement should follow the Machinery’s Handbook
["axis nomenclature" in the chapter "Numerical Control" in the "Machinery’s Handbook" published by Industrial Press.]
standards or AXIS graphical display will not make much sense. Hopefully the help page and diagrams can help figure this out. Note that axis directions are based on TOOL movement not table movement. There is no acceleration ramping with the open loop test so start with lower DAC numbers. By moving the axis a known distance one can confirm the encoder scaling. The encoder should count even without the amp enabled depending on how power is supplied to the encoder.

Warnung
Wenn Motor und Encoder die Zählrichtung nicht übereinstimmen, läuft das Servo bei PID-Regelung weg.

Da die PID-Einstellungen derzeit nicht in PnCconf getestet werden können, sind die Einstellungen eigentlich für die erneute Bearbeitung einer Konfiguration gedacht - geben Sie Ihre getesteten PID-Einstellungen ein.

DAC-Skala

DAC-Skalierung, maximaler Ausgang und Offset werden verwendet, um den DAC-Ausgang anzupassen.

DAC berechnen

Diese beiden Werte sind die Skalierungs- und Offsetfaktoren für die Achsenausgabe an die Motorverstärker. Der zweite Wert (Offset) wird von der berechneten Ausgabe (in Volt) subtrahiert und durch den ersten Wert (Skalierungsfaktor) geteilt, bevor er in die D/A-Wandler geschrieben wird. Die Einheiten für den Skalenwert sind in echten Volt pro DAC-Ausgangsspannung. Die Einheiten für den Offset-Wert sind in Volt. Diese können zur Linearisierung eines DAC verwendet werden.

Specifically, when writing outputs, the LinuxCNC first converts the desired output in quasi-SI units to raw actuator values, e.g., volts for an amplifier DAC. This scaling looks like: The value for scale can be obtained analytically by doing a unit analysis, i.e., units are [output SI units]/[actuator units]. For example, on a machine with a velocity mode amplifier such that 1 volt results in 250 mm/sec velocity. Note that the units of the offset are in machine units, e.g., mm/sec, and they are pre-subtracted from the sensor readings. The value for this offset is obtained by finding the value of your output which yields 0.0 for the actuator output. If the DAC is linearized, this offset is normally 0.0.

Skalierung und Offset können auch zur Linearisierung des DAC verwendet werden, so dass sich Werte sich ergeben als Kombination von Verstärkerverstärkung, Nichtlinearität des DAC, DAC-Einheiten usw. . Gehen Sie dazu wie folgt vor:

  • Erstellen Sie eine Kalibrierungstabelle für den Ausgang, indem Sie den DAC mit einer gewünschten Spannung betreiben und das Ergebnis messen:

Tabelle 1. Messungen der Ausgangsspannung
Roh Gemessen

-10

-9.93

-9

-8.83

0

-0.96

1

-0.03

9

9.87

10

10.07

  • Führen Sie eine lineare Anpassung nach dem Prinzip der kleinsten Quadrate durch, um die Koeffizienten a und b so zu ermitteln, dass meas=a*raw+b

  • Beachten Sie, dass wir eine Rohausgabe wünschen, bei der das gemessene Ergebnis mit der befohlenen Ausgabe identisch ist. Das bedeutet

    • cmd=a*raw+b

    • raw=(cmd-b)/a

  • Folglich können die Koeffizienten a und b aus der linearen Anpassung direkt als Skala und Offset für den Regler verwendet werden.

    MAX OUTPUT

    The maximum value for the output of the PID compensation that is written to the motor amplifier, in volts. The computed output value is clamped to this limit. The limit is applied before scaling to raw output units. The value is applied symmetrically to both the plus and the minus side.

    Tuning-Test

    The tuning test unfortunately only works with stepper based systems. Again confirm the directions on the axis is correct. Then test the system by running the axis back and forth, If the acceleration or max speed is too high you will lose steps. While jogging, Keep in mind it can take a while for an axis with low acceleration to stop. Limit switches are not functional during this test. You can set a pause time so each end of the test movement. This would allow you to set up and read a dial indicator to see if you are losing steps.

    Schrittmotor (Stepper-)Timing

    Stepper timing needs to be tailored to the step controller’s requirements. PnCconf supplies some default controller timing or allows custom timing settings. See https://wiki.linuxcnc.org/cgi-bin/wiki.pl?Stepper_Drive_Timing for some more known timing numbers (feel free to add ones you have figured out). If in doubt use large numbers such as 5000 this will only limit max speed.

    Bürstenlose Motorsteuerung

    These options are used to allow low level control of brushless motors using special firmware and daughter boards. It also allows conversion of HALL sensors from one manufacturer to another. It is only partially supported and will require one to finish the HAL connections. Contact the mail-list or forum for more help.

Berechnung der Achsenskala
Abbildung 10. Berechnung der Achsenskala

The scale settings can be directly entered or one can use the calculate scale button to assist. Use the check boxes to select appropriate calculations. Note that pulley teeth requires the number of teeth not the gear ratio. Worm turn ratio is just the opposite it requires the gear ratio. If your happy with the scale press apply otherwise push cancel and enter the scale directly.

Konfiguration der Achsen
Abbildung 11. Konfiguration der Achsen

Also refer to the diagram tab for two examples of home and limit switches. These are two examples of many different ways to set homing and limits.

Wichtig
Es ist sehr wichtig, dass sich die Achse zu Beginn in die richtige Richtung bewegt, da es sonst sehr schwierig ist, die Referenzfahrt zu richtig durchzuführen!

Denken Sie daran, dass sich positive und negative Richtungen auf das WERKZEUG und nicht auf den Tisch beziehen, wie im Maschinenhandbuch beschrieben.

Bei einer typischen Knie- oder Bettfräse
  • Wenn sich die TABLE nach außen bewegt, ist das die positive Y-Richtung

  • Wenn sich die TABLE nach links bewegt, ist das die positive X-Richtung

  • Wenn sich die TABLE nach unten bewegt, ist das die positive Z-Richtung

  • Wenn sich der KOPF nach oben bewegt, ist das die positive Z-Richtung

Bei einer typischen Drehmaschine
  • wenn sich das WERKZEUG nach rechts, weg vom Futter, bewegt

  • das ist die positive Z-Richtung

  • wenn sich das WERKZEUG auf den Bediener zubewegt

  • das ist die positive X-Richtung. Einige Drehmaschinen haben eine entgegengesetzte X-Richtung (z.B. Werkzeug auf der Rückseite), das funktioniert gut, aber die grafische Achsen-Anzeige kann nicht so eingestellt werden, dass sie dies widerspiegelt.

Bei der Verwendung von Referenzfahrt- und / oder Endschaltererwartet LinuxCNC die HAL-Signale wahr zu sein, wenn der Schalter gedrückt wird / ausgelöst. Wenn das Signal falsch ist für einen Endschalter dann LinuxCNC wird denken, die Maschine sei die ganze Zeit bereits am Ende der Grenze. Wenn die Referenzfahrt-Schalter Suchlogik falsch ist, wird LinuxCNC den Referenzpunkt scheinbar in der falschen Richtung suchen. Was aber tatsächlich geschieht, ist dass LinuxCNC verusucht, dem mutmaßlich bereits ausgelösten Referenzpunkt-Schalter auszuweichen.

Entscheiden Sie sich für die Position des Endschalters

Endschalter dienen als Backup für Software-Grenzen, falls etwas Elektrisches schief geht, z. B. ein Servo durchdreht. Die Endschalter sollten so platziert werden, dass die Maschine nicht auf das physikalische Ende der Achsenbewegung trifft. Denken Sie daran, dass die Achse bei einer schnellen Bewegung an der Kontaktstelle vorbeilaufen wird. Endschalter sollten active low an der Maschine sein. z.B. fließt die ganze Zeit Strom durch die Schalter - ein Stromausfall (offener Schalter) löst aus. Man kann sie zwar auch anders herum verdrahten, aber das ist ausfallsicher. Dies muss möglicherweise invertiert werden, so dass das HAL-Signal in LinuxCNC in active high - ein TRUE bedeutet der Schalter ausgelöst wurde. Beim Starten von LinuxCNC, wenn Sie eine On-Limit-Warnung zu bekommen, und die Achse ist NICHT Auslösen des Schalters, Invertieren des Signals ist wahrscheinlich die Lösung. (Verwenden Sie HALMETER, um die entsprechenden HAL-Signal zB joint.0.pos-lim-sw-in X-Achse positive Endschalter zu überprüfen)

Entscheiden Sie sich für den Standort des Referenzpunktschalters

Wenn Sie Endschalter verwenden, können Sie auch einen als Referenzschalter verwenden. Ein separater Referenzpunktschalter ist nützlich, wenn Sie eine lange Achse haben, die in der Regel weit von den Endschaltern entfernt ist, oder wenn das Bewegen der Achse zu den Enden Probleme mit der Beeinträchtigung des Materials mit sich bringt. Hinweis, bei einer langen Welle in einer Drehmaschine ist es schwierig, die Endpunkte anzufahren, ohne dass das Werkzeug die Welle berührt. Wenn Sie einen Drehgeber mit Index haben, dient der Referenzpunktschalter als Referenzpunkt und der Index ist der tatsächliche Referenzpunkt.

Entscheiden Sie sich für die Lage des Maschinen-Ursprungs (engl. MACHINE ORIGIN)

Der MACHINE ORIGIN dient bei LinuxCNC für alle Benutzer-Koordinatensysteme als Referenz. Ich kann mir kaum vorstellen, warum es an einer bestimmten Stelle sein muss. Es gibt nur ein paar G-Codes, um auf die MACHINE COORDINATE System zugreifen können.( G53, G30 und G28 ) Zusammen mit Werkzeugwechsel-at-G30 Option mit dem Ursprung an der Werkzeugwechselposition kann die praktisch sein. Aus Konvention ist es am einfachsten, den ORIGIN am Referenzpunkt zu haben.

Entscheiden Sie sich für den (endgültigen) Referenzunkt (engl. HOME POSITION)

dies platziert nur den Schlitten an einer konsistenten und bequemen Position nachdem LinuxCNC herausfindet, wo derORIGIN ist.

Messen / Berechnen der positiven / negativen Achsabstände

Fahren Sie die Achse zum Ursprung. Markieren Sie eine Referenz auf dem beweglichen Schlitten und dem unbeweglichen Träger (so dass sie in einer Linie liegen) und fahren Sie die Maschine bis zum Ende der Grenzen. Messen Sie den Abstand zwischen den Markierungen, der einer der Verfahrwege ist. Bewegen Sie den Tisch an das andere Ende des Verfahrwegs. Messen Sie die Markierungen erneut. Das ist der andere Verfahrweg. Wenn sich der URSPRUNG an einer der Begrenzungen befindet, ist dieser Verfahrweg gleich Null.

(Maschinen-)URSPRUNG

Der Ursprung ist der MASCHINENNullpunkt. (nicht der Nullpunkt Sie Ihre Cutter / Material auf). LinuxCNC verwendet diesen Punkt, um alles andere von Referenz. Es sollte innerhalb der Software Grenzen sein. LinuxCNC verwendet die Referenzpunkt (engl. home)-Schalter-Position, um die Ursprungs-Position zu bestimmen (bei Verwendung von Home-Schalter oder muss manuell eingestellt werden, wenn nicht mit Home-Schalter.

Verfahrweg

Dies ist die maximale Entfernung, die eine Achse in jede Richtung fahren kann. Dies kann, muss aber nicht, direkt vom Ursprung bis zum Endschalter gemessen werden. Die positiven und negativen Verfahrwege sollten sich zum Gesamtverfahrweg addieren.

POSITIVER VERFAHRWEG

Dies ist die Entfernung, die auf einer Achse vom Ursprung bis zum positiven Verfahrweg oder dem gesamten Verfahrweg minus dem negativen Verfahrweg zurücklegt wird. Sie würden diesen Wert auf Null setzen, wenn der Ursprung an der positiven Grenze positioniert ist. Der Wert wird immer Null oder eine positive Zahl sein.

NEGATIVER VERFAHRWEG (engl. travel distance)

Dies ist die Entfernung, die auf einer Achse vom Ursprung bis zum negativen Verfahrweg zurücklegt werden kann oder der gesamte Verfahrweg minus dem positiven Verfahrweg. Sie würden diesen Wert auf Null setzen, wenn der Ursprung an der negativen Grenze positioniert ist. Dieser Wert ist immer Null oder eine negative Zahl. Wenn Sie vergessen, diesen Wert negativ zu setzen, wird dies von PnCconf intern erledigt.

(Letzlicher) REFERENZPUNKT (engl. home position)

Dies ist die Position, an der die Startsequenz enden wird. Sie bezieht sich auf den Ursprung, kann also negativ oder positiv sein, je nachdem, auf welcher Seite des Ursprungs sie sich befindet. Wenn Sie sich an der (endgültigen) Ausgangsposition befinden und sich in positiver Richtung bewegen müssen, um zum Ursprung zu gelangen, wird die Zahl negativ sein.

Referenzpunkt-Schalter Position

Dies ist der Abstand zwischen dem Home-Schalter und dem Ursprung (engl. origin). Sie kann negativ oder positiv sein, je nachdem, auf welcher Seite des Ursprungs sie sich befindet. Wenn Sie sich an der Position des Home-Schalters in positiver Richtung bewegen müssen, um zum Ursprung zu gelangen, ist die Zahl negativ. Wenn Sie diesen Wert auf Null setzen, befindet sich der Ursprung an der Position des Endschalters (plus Entfernung zum Index, falls verwendet).

Referenzpunkt Suchgeschwindigket (engl. home search velocity)

Geschwindigkeit bei der Suche nach dem Kursziel in Einheiten pro Minute.

Referenzpunkt-Suchrichtung (engl. home search direction)

Legt die Suchrichtung des Referenzschalters entweder negativ (d. h. in Richtung des negativen Endschalters) oder positiv (d. h. in Richtung des positiven Endschalters) fest.

Referenzpunkt Latch Geschwindigkeit

Feinfühlige Home-Suchgeschwindigkeit in Einheiten pro Minute.

Referenzpunktsuche minimale Geschwindigkeit (engl. Home Final Velocity)

Geschwindigkeit von der latch-Position zur (endgültigen) Ausgangsposition in Einheiten pro Minute. Für maximale Eilgeschwindigkeit auf 0 setzen.

Referenzpunkt der Verriegelungsrichtung

Ermöglicht die Einstellung der Verriegelungsrichtung auf die gleiche oder entgegengesetzte Richtung wie die Suchrichtung.

Encoder-Index für Referenzpunkt verwenden

LinuxCNC sucht während der Latch-Phase der Referenzfahrt nach einem Encoder-Indeximpuls.

Kompensationsdatei verwenden

Ermöglicht die Angabe eines Komp-Dateinamens und -typs. Ermöglicht eine anspruchsvolle Kompensation. Siehe den<sub:ini:sec:axis-letter,Achsen-Abschnitt>> des INI Kapitels.

Verwenden des Umkehrspiel-Ausgleichs

Ermöglicht die Einstellung einer einfachen Kompensation des Umkehrspiels. Kann nicht mit Kompensationsdatei verwendet werden. Siehe den <sub:ini:sec:axis-letter,Achsen-Abschnitt>> des INI Kapitels.

AXIS-Hilfsdiagramm
Abbildung 12. AXIS-Hilfsdiagramm

Das Diagramm soll helfen, ein Beispiel für Endschalter und Standard-Achsbewegungsrichtungen zu demonstrieren. In diesem Beispiel wurde die Z-Achse mit zwei Endschaltern versehen, wobei der positive Schalter als Home-Schalter verwendet wird. Der Maschinen-Ursprung (Nullpunkt, engl. machine origin) befindet sich am negativen Endschalter. Die linke Kante des Schlittens ist der negative Grenzwert und die rechte der positive Grenzwert. Die ENDGÜLTIGE HOME-POSITION soll 4 Zoll vom ORIGIN auf der positiven Seite entfernt sein. Wenn der Schlitten an die positive Grenze bewegt würde, würden wir 10 Zoll zwischen der negativen Grenze und dem negativen Auslösestift messen.

10. Spindel-Konfiguration

Wenn Sie Spindelsignale auswählen, ist diese Seite zur Konfiguration der Spindelsteuerung verfügbar.

Tipp
Viele der Optionen auf dieser Seite werden nur angezeigt, wenn auf den vorherigen Seiten die richtige Option ausgewählt wurde!
Spindel-Konfiguration
Abbildung 13. Spindelmotor/Encoder-Konfiguration

Diese Seite ähnelt der Seite zur Konfiguration der Achsenmotoren.

Es gibt einige Unterschiede:

  • Sofern man sich nicht für eine schrittgetriebene Spindel entschieden hat, gibt es keine Beschleunigungs- oder Geschwindigkeitsbegrenzung.

  • Es gibt keine Unterstützung für Gangschaltungen oder Bereiche.

  • Wenn Sie eine VCP-Spindelanzeigeoption gewählt haben, können die Skala für die Spindeldrehzahl und die Filtereinstellungen angezeigt werden.

  • Spindle-at-Speed ermöglicht LinuxCNC zu warten, bis die Spindel auf die gewünschte Geschwindigkeit vor dem Bewegen der Achse ist. Dies ist besonders praktisch auf Drehmaschinen mit konstantem Oberflächenvorschub und große Geschwindigkeit Durchmesseränderungen. Es erfordert entweder Encoder-Feedback oder eine digitale Spindel-at-Speed-Signal in der Regel zu einem VFD-Antrieb verbunden.

  • Wenn Sie eine Encoder-Rückmeldung verwenden, können Sie eine Skaleneinstellung für die Spindeldrehzahl wählen, die angibt, wie nahe die tatsächliche Drehzahl an der geforderten Drehzahl liegen muss, damit sie als gleichbleibende Drehzahl gilt.

  • Bei Verwendung von Encoder-Feedback kann die VCP-Drehzahlanzeige unregelmäßig sein - die Filtereinstellung kann zur Glättung der Anzeige verwendet werden. Die Geberskala muss für die verwendete Geberzahl/Getriebe eingestellt werden.

  • Wenn Sie einen einzelnen Eingang für einen Spindel-Drehgeber verwenden, müssen Sie die Zeile: setp hm2_7i43.0.encoder.00.counter-mode 1 (wobei Sie den Namen der Karte und die Nummer des Drehgebers entsprechend Ihren Anforderungen ändern) in eine benutzerdefinierte HAL-Datei einfügen. Weitere Informationen zum Zählermodus finden Sie im Abschnitt <sec:hm2-encoder,Encoder>> in Hostmot2.

11. Weitere Optionen für Fortgeschrittene

Dies ermöglicht die Einstellung von HALUI-Befehlen und das Laden von ClassicLadder- und Beispiel-SPS-Programme. Wenn Sie GladeVCP-Optionen ausgewählt haben, z. B. zum Nullstellen der Achse, werden Befehle angezeigt. Im Kapitel HALUI finden Sie weitere Informationen zur Verwendung benutzerdefinierter halcmds. Es gibt mehrere Optionen für Kontaktplanprogramme. Das Notaus (engl. E-stop)-Programm ermöglicht es einem externen Notaus-Schalter oder dem GUI-Frontend, ein Notaus auszulösen. Es verfügt auch über ein zeitgesteuertes Schmiermittelpumpensignal. Das Z-Auto-Touch-Off-Programm verfügt über eine Touch-Off-Platte, die GladeVCP-Touch-Off-Taste und spezielle HALUI-Befehle, um den aktuellen Benutzerursprung auf Null zu setzen und schnell zu löschen. Das serielle Modbus-Programm ist im Grunde eine leere Programmvorlage, die ClassicLadder für seriellen Modbus einrichtet. Siehe das Kapitel <cha:classicladder,ClassicLadder>> im Handbuch.

PnCconf erweiterte Optionen
Abbildung 14. PnCconf, erweiterte Optionen

12. HAL-Komponenten

Auf dieser Seite können Sie zusätzliche HAL-Komponenten hinzufügen, die Sie für benutzerdefinierte HAL-Dateien benötigen. Auf diese Weise sollte man die Haupt-HAL-Datei nicht von Hand bearbeiten müssen, aber dennoch die vom Benutzer benötigten Komponenten bei der Konfiguration berücksichtigen.

HAL-Komponenten
Abbildung 15. HAL-Komponenten

Die erste Auswahl sind Komponenten, die PnCconf intern verwendet. Sie können pncconf so konfigurieren, dass zusätzliche Instanzen der Komponenten für Ihre eigene HAL-Datei geladen werden.

Wählen Sie die Anzahl der Instanzen, die Ihre benutzerdefinierte Datei benötigt, PnCconf fügt die benötigten Instanzen danach hinzu.

Das heißt, wenn Sie 2 benötigen und PnCconf 1 benötigt, wird PnCconf 3 Instanzen laden und die letzte verwenden.

Benutzerdefinierte Komponenten-Befehle

Mit dieser Auswahl können Sie HAL-Komponenten laden, die PnCconf nicht verwendet. Fügen Sie den Befehl loadrt oder loadusr unter der Überschrift loading command hinzu. Fügen Sie den Befehl addf unter der Überschrift Thread-Befehl hinzu. Die Komponenten werden dem Thread zwischen dem Lesen von Eingaben und dem Schreiben von Ausgaben in der Reihenfolge hinzugefügt, in der Sie sie im Befehl "thread" schreiben.

13. PnCconf für Fortgeschrittene

PnCconf ist bestrebt, flexible Anpassungen durch den Benutzer zu ermöglichen. PnCconf unterstützt benutzerdefinierte Signalnamen, benutzerdefiniertes Laden von Komponenten, benutzerdefinierte HAL-Dateien und benutzerdefinierte Firmware.

Es gibt auch Signalnamen, die PnCconf immer bereitstellt, unabhängig von den gewählten Optionen für benutzerdefinierte HAL-Dateien. Mit etwas Überlegung sollten die meisten Anpassungen funktionieren, auch wenn Sie später andere Optionen in PNCconf wählen.

Wenn die Anpassungen den Rahmen von PnCconf’s Rahmenwerk sprengen, können Sie PnCconf verwenden, um eine Basiskonfiguration zu erstellen, oder Sie verwenden eine der LinuxCNC’s Beispielkonfigurationen und editieren sie von Hand zu dem, was Sie wollen.

Benutzerdefinierte Signalnamen

Wenn Sie eine Komponente mit etwas in einer benutzerdefinierten HAL-Datei verbinden möchten, geben Sie einen eindeutigen Signalnamen in das Kombinationsfeld ein. Bestimmte Komponenten fügen Endungen an Ihren benutzerdefinierten Signalnamen an:

Kodierer fügen hinzu < customname > +:

  • Position

  • count (engl für Zähler)

  • Geschwindigkeit

  • Index-Aktivierung

  • reset

Schrittmotoren fügen hinzu:

  • aktivieren

  • Zähler

  • Positionsbefehl

  • position-fb

  • velocity-fb

Pulsweitenmodulationen (PWM, für Servos) fügen hinzu:

  • aktivieren

  • Wert

GPIO-Pins werden einfach mit dem eingegebenen Signalnamen verbunden

Auf diese Weise kann man sich mit diesen Signalen in den benutzerdefinierten HAL-Dateien verbinden und hat trotzdem die Möglichkeit, sie später zu verschieben.

Benutzerdefinierte Signalnamen

Die Seite mit HAL Komponenten kann verwendet werden, um Komponenten zu laden, die ein Benutzer für die Anpassung benötigt.

Laden der benutzerdefinierten Firmware

PnCconf sucht auf dem System nach Firmware und sucht dann nach der XML-Datei, die es in das konvertieren kann, was es versteht. Diese XML-Dateien werden nur für offiziell freigegebene Firmware vom LinuxCNC-Team bereitgestellt. Um benutzerdefinierte Firmware zu verwenden, muss man sie in ein Array konvertieren, das PnCconf versteht, und den Dateipfad zu PnCconf’s Einstellungsdatei hinzufügen. Standardmäßig sucht dieser Pfad auf dem Desktop nach einem Ordner namens custom_firmware und einer Datei namens firmware.py.

Die versteckte Einstellungsdatei befindet sich in der Home-Datei des Benutzers, heißt .pncconf-preferences und erfordert, dass Sie in Ihrem Dateimanager die Option "Versteckte Dateien anzeigen" wählen, um sie zu sehen und zu bearbeiten, oder Sie verwenden auf der Kommandozeile "ls" mit der Option "-a". Der Inhalt dieser Datei kann eingesehen werden, wenn Sie PnCconf zum ersten Mal laden - drücken Sie die Hilfetaste und sehen Sie sich die Ausgabeseite an.

Fragen Sie in der LinuxCNC Mailing-Liste oder im Forum nach Informationen über die Konvertierung von kundenspezifischer Firmware. Nicht jede Firmware kann mit PnCconf verwendet werden.

Benutzerdefinierte HAL-Dateien

Es gibt vier benutzerdefinierte Dateien, die Sie verwenden können, um HAL-Befehle hinzuzufügen:

  • custom.hal ist für HAL-Befehle, die nicht nach dem Laden des GUI-Frontends ausgeführt werden müssen. Es wird diese erst nach der HAL-Datei mit dem Konfigurationsnamen ausgeführt.

  • custom_postgui.hal ist für Befehle gedacht, die ausgeführt werden müssen, nachdem AXIS geladen wurde oder eine eigenständige PyVCP-Anzeige geladen wurde.

  • custom_gvcp.hal ist für Befehle, die ausgeführt werden müssen, nachdem GladeVCP geladen wurde.

  • shutdown.hal ist für Befehle, die ausgeführt werden, wenn LinuxCNC kontrolliert herunterfährt.