Krampus CNC-Steuerung

Version 5.1
1.) Vorwort
2.) Allgemeines
   Not-Aus-Schalter
   Systemvoraussetzung
   Bekannte Bugs
   Screenshot
3.) Programmübersicht
   Startbildschirm
   Dateimodus
   Programmieren
   Pr�fen
   Simulation
   Referenzfahrt
   Antasten
   Berechnungshilfe
   Automatikmodus
   Parameter
   Uhr
4.) Programmierbefehle
5.) Anschluß der SMC
6.) Fehlercodes
7.) Kontakt

Vorwort

Diese Software habe ich in erster Linie f�r mich selbst geschrieben, um die Funktion einer CNC-Maschine kennen zu lernen. Und ich habe dadurch auch das Programmieren gelernt. Sicherlich stecken sehr viele Fehler in dieser Software. Damit kann ich aber leben. Denn ich kann sie ja selber �ndern ;-) Dabei bin ich aber oft auf die Hilfe anderer angewiesen. Aus diesem Grund m�chte ich mich hier erst mal bei den Leuten der Newsgroup comp.lang.pascal.borland f�r die Hilfe bedanken. Da ich im Internet auch einige Leute getroffen habe, die sich mit �hnlichen Sachen besch�ftigen und mir gerne ihr Wissen zur Verf�gung gestellt haben, habe ich mich schon vor einiger Zeit entschlossen, diese Software frei zur Verf�gung zu stellen. Auch wenn es keine Profisoftware ist, so mag sie doch dem einen oder anderen gute Dienste leisten. So ganz umsonst soll sie aber nicht sein ;-) Als Gegenleistung m�chte ich gerne Erfahrungsberichte. Vielleicht wird die Software dann noch besser. In diesem Zuge m�chte ich auch auf den Eagle-SMC-Converter hinweisen, den mir Gerhard Strini zur Verf�gung gestellt hat. Diesen finden Sie ebenfalls auf meiner Internetseite.

Wichtiger Hinweis:
Ich �bernehme keinerlei Haftung f�r eventuelle Sch�den an Hardware und Software

Allgemeines

Das Programm wird nur mit der Tastatur bedient. Eine Maus kann nicht verwendet werden. In der Men�zeile sind alle Funktionen gelistet. Der Joystick ist nur in der Ansicht "Antasten" verwendbar.

�ltere Versionen dieser Steuerung hatten noch ganz andere Fahrbefehle. Da ich diese Befehle nicht mehr f�r tauglich halte, habe ich die Programmbefehle komplett umgestellt. Die neuen Befehle lehnen sich stark an die �blichen G-Befehle an. Wer �ltere Versionen der Steuerung benutzt, kann von mir ein Umwandlungsprogramm in die neuen Befehle haben. Einfach mal kurz ein Email schreiben.

Die Frage nach der Drehmaschine...
Die Steuerung ist eigentlich f�r eine Graviermaschine gedacht gewesen. Danach habe ich die Z-Achse doch noch richtig mit eingebaut. Nat�rlich kann man die Steuerung auch f�r eine Drehmaschine verwenden. Man mu� dann einfach nur eine Achse weglassen. Allerdings ist es dann halt nicht weit her mit der Simulation.

Not-Aus-Schalter

Die Software verf�gt �ber einen Software-Not-Aus und Software-Endschalter. Es wird dringend angeraten, den Harware-Endschalter ebenfalls mit anzuschliessen. Siehe Anschlie�en der SMC

Systemvoraussetzungen

Prozessor ab 80286 (nicht getestet auf Rechnern schneller als 600 MHz)
Arbeitspeicher350 kB unterer Arbeitsspeicher
Festplattenspeicher150 kB
GrafikkarteStandard VGA mit mindestens 16 Farben
Betriebssystem ab MS-DOS 5.0
Windows 98 im DOS-Fenster (Andere habe ich nicht probiert)
Linux mit DOSemu (Wer hier den LPT zum laufen gebracht hat, bitte melden)
SteuerungskarteSMC 800
Anschl�sse1x Parallel

Bekannte Fehlfunktionen

  • Gelegentlich kommt es vor, da� nach dem Programmstart der Schalteingang der SMC nicht frei ist. Danach bleibt nur noch eine Referenzfahrt. Es ist aber sowieso ratsam zuerst eine Referenzfahrt zu machen, da man oft mal nicht weis, ob vorher vielleicht der Notaus bet�tigt wurde.
  • Die Vorschau im Dateimodus zeichnet gelegentlich �ber den Bereich hinaus
  • Game-Controller wird zwar erkannt, digitaler Joystick funktioniert aber dennoch nicht
  • Pr�fung findet fehlende Koordinaten nicht zuverl�ssig
  • Es k�nnen keine Daten von anderen Laufwerken gelesen werden
  • Es k�nnen keine Vollkreise werden. Da Start- und Endwinkel dabei gleich sind, gibt's irgendwo eine Division durch 0. Dann st�rzt das Programm ab.
Wenn sie weiter Fehler in der Software finden, schreiben Sie mir doch bitte eine Email.

Screenshots

Startbildschirm

Simulationsmodus

Automatikmodus



Programm�bersicht

Systemstart

Bei Programmstart werden die Parameterdatei und die letzten gespeicherten Maschinenwerte geladen. Ist beides oder auch nur ein Teil nicht vorhanden (z.B. beim ersten Start), so werden die n�tigen Dateien neu angelegt. Au�erdem wird eine Datei namens "programm.tmp" erzeugt und geladen. Sie besteht lediglich aus einer Zeile ";leere Programmzeile". Das soll verhindern, daß Programmteile gestartet werden, ohne eine CNC-Datei zur Verf�gung zu haben. Diese Datei erscheint aber nicht im Dateimodus, da dort ein Filter sitzt, der nur *.cnc Dateien anzeugt.
Beim Beenden der Software werden die letzten Maschinenwerte in eine Datei namens "kcnc51.dat" gespeichert. Die Parameter findet man in "kcnc51.par"
Nach dem ersten Start der CNC-Steuerung befinden sich folgende Dateien auf ihrer Festplatte:
kcnc51.exe, kcnc51.par, kcnc51.dat, hinweis.txt, programm.tmp und gelegentlich editor.tmp
Achtung! Wir die CNC-Steuerung unter Windows oder mittels einer Batch-Datei gestartet, so mu� darauf geachtet werden, da� das Startverzeichnis diese Dateien enth�lt.

Dateimodus

Der Dateimodus ist die zentrale Stelle zum Laden der Dateien f�r Pr�fung, Simulation, Automatik und Programmieren. Bevor man eine Datei nutzen kann, mu� sie hier geladen werden. An anderer Stelle gibt es keine M�glichkeit mehr. Die Funktionen sind sehr begrenzt. Man kann die Dateien mit den Pfeiltasten ausw�hlen. Danach besteht nur M�glichkeit einer Vorschau, die eigentlich eine Kombination aus Pr�fung und Schnellsimulation ist. Um nun mit der gew�hlten Datei arbeiten zu k�nnen, mu� sie mit der [Enter]-Taste ins Programm geladen werden. Die ausgew�hlte Datei ist nun im Werte-Fenster zu sehen und ist in allen Programmteilen verf�gbar. Wird ein Verzeichnis gew�hlt, so kommt man ebenfalls mit der [Enter]-Taste dort hinein.
Hinweis: Ein Punkt [.] bedeutet, sie bleiben im aktuellen Verzeichnis. Zwei Punkte [..] bedeutet Sie springen ein Verzeichnis h�her.
Achtung: Es werden nur Dateien mit der Endung .cnc angezeigt.
Vorschau: Linien in weis deuten auf Fahrwege unterhalb Z<=0, gr�ne Linien auf Z>0.

Programmieren

Die Ansicht "Programmieren" wird wie ein Texteditor verwendet. Wird eine neue Datei erstellt, so wird diese beim Speichern in das aktuell im Dateimodus ausgew�hlte Verzeichnis gespeichert.
Wird keine neue Datei angelegt, so startet der Programmeditor am Anfang des geladenen Programms.
Neu angelegte Dateien bekommen automatisch die Dateiendung ".cnc"
Beim Befehl "Zeile l�schen" wird die aktuell ausgew�hlte Zeile gel�scht. Bei "Zeile einf�gen" wir eine Zeile nach der aktuell ausgew�hlten Zeile eingef�gt.
Achtung: Die Datei wird nicht automatisch gespeichert. Also aufpassen beim �ndern von Dateien!

Pr�fen

Die zu pr�fende Datei mu� vorher im Dateimodus ausgew�hlt werden. Ansonsten wird die Datei gepr�ft, die unter in der Werteanzeige steht. Die Datei wird nun auf Satzfehler im Programm untersucht. Es werden allerdings nur ung�ltige Koordinatenangaben gefunden. Fehlerhafte Zeilen werden mit einem Kommentarzeiche ausgeblendet und zu besseren Lesbarkeit zus�tzlich noch mit "F-->" gekennzeichnet.
Achtung: Es werden keine falsch eingegebenen Werte gefunden!

Simulation

Die Simulation stellt eine komplette Maschine f�r sich dar. Alle Koordinaten werden angezeigt, Verweilzeit wird ausgef�hrt. Allerdings wird nicht zwischen Arbeits- und Eilgang unterschieden.
Hinweis: Linien in weis deuten auf Fahrwege unterhalb Z<=0, gr�ne Linien auf Z>0.

Referenzfahrt

Achtung: Referenzrichtung in den Parametern beachten
Die Maschine wird zum Referenzschalter gefahren. Wird der nun bet�tigt, so f�hrt die Achse wieder ein St�ck davon weg. Somit kann der eine Schalteingang der SMC wieder als Notaus-Schalter bzw. Hardware-Endschalter verwendet werden.

Antasten

Angetastet wird mittels Zahlenblock der Tastatur oder Joystick.
Der Weg pro Tastendruck kann in den Parametern eingestellt werden.
Der Joystick wird durch dr�cken beider Feuertasten angeschaltet.

Berechnungshilfe

Hier finden Sie Berechnungshilfen f�r die Parameter. Jede Eingabe mu� mit [Enter] best�tigt werden. Erst dann kann die Ansicht wieder beendet werden.

Automatikmodus

Achtung: Referenzrichtung in den Parametern beachten
Vorschau: Linien in weis deuten auf Fahrwege unterhalb Z<=0, gr�ne Linien auf Z>0.
Rote Linien Zeigen den Fahrweg, der gerade bearbeitet wird.
Hinweis: Der Not-Aus-Schalter kann nicht mehr freigegeben werden. Es mu� zuerst die Automatik verlassen werden. Dann ist der Notaus wieder frei.

Parameter

Kurzzeichen Jeder Parametereinstellung muß ein Kurzzeichen gegeben werden.
Anhand des Kurzzeichens w�hlt das Programm die Einstellungen.
Arbeitsfrequenz Gibt die Schrittfrequenz bei Fahrbefehl "G01" an.
Maximaler Wert ist 5000
Der Vorschub errechnet sich folgenderma�en:
Vorschub = Frequenz * Spindelsteigung / Motorschrittzahl
oder
Vorschub = Frequenz / Faktor
Eilfrequenz Gibt die Schrittfrequenz bei Fahrbefehl "G00" an.
Maximaler Wert ist 5000

Beispiel: Spindelsteigung 3mm , 200 Schritte/Umdrehung
max. Vorschub = 5000 1/s * 3 mm / 200 max. Vorschub = 75 mm/s
Beschleunigung Gibt die Beschleunigungsrampe an.
Maximaler Wert ist 5000
Bremsen Gibt die Bremsrampe an.
Maximaler Wert ist 5000
Antastweg Weg pro Tastendruck in der Ansicht "Antasten"
Die Angabe ist in 1/100 mm
Referenzrichtung Je nach Aufbau der Maschine kann es sein, da� man mal die Motordrehrichtung �ndern mu�. Hier kann jede Achse "umgepolt" werden.
M�gliche Eingaben sind "0" und "1"
Faktor Da man seinen Fahrweg im mm programmieren will, mu� dieser f�r die Maschine in Schritte umgerechnet werden.
Faktor = Motorschrittzahl / Spindelsteigung
Soft Heir wird der Softwareendschalter festgelegt. Eingegeben wird der maximale Fahrweg in jeder Achse.
Die Eingabe erfolgt in mm.
Beschreibung Jeder Einstellung kann eine lesbare Kurzbeschreibung zugef�gt werden.
LPT Hier sollte der benutzte LPT ausgew�hlt werden. Da aber �ltere Rechner verschiedene Hardwareadressen haben, funtioniert diese Einstellung nicht. Kommt vielleicht beim n�chsten Update.

Uhr

Die Uhr macht das, was eine Uhr machen soll. Sie zeigt die Zeit an.
In dieser Spezialsoftware sogar das Datum ;-)


Programmierbefehle

Allgemeines
Jede Programmzeile besteht aus einem Fahrbefehl und Koordinatenangaben bzw. Werten. Zwischen jeder Koordinatenangabe MUSS ein Leerzeichen stehen. Die Werte hinter den Koordinaten sollten ohne Leerzeichen angeschlossen werden. Zahlen k�nnen mit [komma] oder mit [punkt] eingegeben werden.
Ausnahme sind die "M"-Befehle. Sie verwenden keinerlei Zusatzangaben.
 
';' Kommentarzeile
Beispiel: ;Diese Zeile wird nicht beachtet
Beginnt eine Programmzeile mit einem [strichpunkt], so wird sie einfach �berlesen. Kommentarzeichen am Ende einer Programmzeile sind nicht erlaubt und f�hren zu Fehlern.

G01 Lineare Bewegung
Beispiel: G01 X26.3 Y73.9 Z-1.3
Dieser Befehl f�hrt eine geradlinige Bewegung mit Arbeitsfrequenz innerhalb aller Achsen aus. Werden Koordinatenangaben weggelassen, so werden die aktuellen Achsenpositionen der fehlenden Koordinaten verwendet. Es mu� aber mindestens eine Koordinate definiert werden.
 
G00 Lineare Bewegung im Eilgang
Beispiel: G00 X0 Y0 Z10
Dieser Befehl ist geanu wie G01. Allerdings wird im Eilgang gefahren.

G02 Kreisbogen im Uhrzeigersinn
Beispiel: G02 X185.36 Y135.36 I150 K100
Es wird ein Kreisbogen von der aktuellen Position bis zum angegebenen Endpunkt gefahren. Der Radius errechnet sich aus dem Radiusmittelpunkt.
X = Endpunkt absolut des Bogens auf der X-Achse
Y = Endpunkt absolut des Bogens auf der Y-Achse
I = Radiusmittelpunkt absolut auf der X-Achse
K = Radiusmittelpunkt absolut auf der Y-Achse
Die Z-Achse darf dabei nicht verwendet werden!
 
G03 Kreisbogen gegen Uhrzeigersinn
Beispiel: G03 X30.87 Y146.19 I50 K100
Beschreibung wie G02
 
F01 Vorschubgeschwindigkeit
Beispiel: F01 1.0
Die Vorschubgeschwindigkeit wird in mm/s angegeben.
 
G04 Verweilzeit
Beispiel: G04 200
Die Verweilzeit wird in 1/100 Sekunden angegeben. Im Beispiel wird eine Verweilzeit von 2 Sekunden erzeugt. Allerdings ist zu beachten, dass die angebene Verweilzeit mit der Geschwindigkeit verschiedener Computer etwas variieren kann. Vorher also erst mal testen.
 
M00 Pause
Beispiel: M00
Dieser Befehl unterbricht das Programm. Er muss per Hand mit [ESC] frei gegeben werden.

M03 Spindelmotor einschalten
Beispiel: M03

 
M05 Spindelmotor ausschalten
Beispiel: M05

 
Beispiel
;Beispielprogramm
;programmstart
G00 X50 Y100 Z0
F01 5.0 G01 X100
M03
G01 Z-0.5
G03 X96.19 Y119.13 I50 K100
G03 X85.36 Y135.36 I50 K100
G03 X69.13 Y146.19 I50 K100
G03 X50 Y150 I50 K100
G04 500
G03 X30.87 Y146.19 I50 K100
G03 X14.64 Y135.36 I50 K100
G03 X3.81 Y119.13 I50 K100
G01 Z1
G03 X0 Y100 I50 K100
G03 X3.81 Y80.87 I50 K100
G03 X14.64 Y64.64 I50 K100
G03 X30.87 Y53.81 I50 K100
G03 X50 Y50 I50 K100
G03 X69.13 Y53.81 I50 K100
G03 X85.36 Y64.64 I50 K100
G03 X96.19 Y80.87 I50 K100
G03 X100 Y100 I50 K100
G01 X100
M05
;programmende

Anschlie�en der SMC

Der Anschlu� der Motoren sollte keine Schwierigkeiten machen.
Alle Schalter von allen Achsen m�ssen parallel geschalten werden.
Beispiel f�r eine Achse:
Notausschalter wird separat irgendwo befestigt.
Endlagenschalter am Anfang und am Ende des Schlittens.
Ein Endschalter dient als Referenzschalter.

Fehlercodes

Nummer Kurzbeschreibung Bemerkung
0System i.O. Ist eigentlich kein Fehler und sollte Dauerzustand sein
1Treiberdatei fehlt kommt in Version 5.1 nicht vor
2Treiberversion kommt in Version 5.1 nicht vor
3Treiber defekt kommt in Version 5.1 nicht vor
4T-reset gescheitert Das Programm hat sich aufgeh�ngt und mu� neu gestartet werden
5Parameterdat fehlt Die Parameterdatei fehlt. Kommt das beim Programmstart vor, so wird automatisch eine neue Parameterdatei erzeugt. Diese beinhaltet Standardwerte. Bitte sofort anpassen
6Parameterdat beschd. Die Parameterdatei ist besch�digt. Hier hilft nur noch das L�schen der Datei. Beim n�chsten Programmstart wird dann automatisch eine neue erzeugt. Ratsam ist eine Sicherung der Datei.
10Funktionsaufruf Das Programm hat sich aufgeh�ngt und mu� neu gestartet werden
11Soft-Interupt aktiv kommt in Version 5.1 nicht vor
12Break Fehler Das Programm hat sich aufgeh�ngt und mu� neu gestartet werden
13In Bewegung Fehler Das Programm hat sich aufgeh�ngt und mu� neu gestartet werden
14Software Endschalter Die Maschine hat den in den Parametern festgesetzten Software-Endschalter erreicht.
15Software Ende setzen Der Wert f�r den Software-Endschalter ist ung�ltig
16Hardware Endschalter Die Maschine ist auf den Hardware-Endschalter gelaufen. Hier hilft nur noch eine Referenzfahrt
17In Bearb. Hard End. kommt in Version 5.1 nicht vor. (Nur f�r Roboter)
18Referenzfahrt Fehler Die Maschine kann den Referenzpunkt nicht anfahren. Referenzrichtung in der Parameterdatei �berpr�fen!
19Handbewegung Fehler kommt in Version 5.1 nicht vor. (Nur f�r Roboter)
20Stop Fehler kommt in Version 5.1 nicht vor. (Nur f�r Roboter)
21Teach In Fehler kommt in Version 5.1 nicht vor. (Nur f�r Roboter)
22Kreis Fehler Die Kreisberechnung kann nicht gemacht werden. I- und K-Werte �berpr�fen!
26Geschwindigkeit Ung�ltiger Wert f�r Frequenzen
32Bitnummer Fehler Das Programm hat sich aufgeh�ngt und mu� neu gestartet werden
33Portnummer Fehler Das Programm hat sich aufgeh�ngt und mu� neu gestartet werden
34Beweg. Ausgabeport kommt in Version 5.1 nicht vor. (Nur f�r Roboter)
35Geheimcode Fehler kommt in Version 5.1 nicht vor
40Dat nicht gefunden Datei wurde nicht gefunden. Bitte im Dateimodus ausw�hlen!
41LW nicht bereit Laufwerk ist nicht bereit
42Dat ist vorhanden Datei ist schon vorhanden. Bitte unter einem anderen Namen speichern
43Dateiname falsch Ung�ltiger Dateiname
50unbek. Fahrbefehl Fahrbefehl nicht bekannt.
51X Koordinate Fehlender oder ung�ltiger Wert f�r die X Koordinate
52Y Koordinate Fehlender oder ung�ltiger Wert f�r die Y Koordinate
53Z Koordinate Fehlender oder ung�ltiger Wert f�r die Z Koordinate
54I Koordinate Fehlender oder ung�ltiger Wert f�r die I Koordinate
55K Koordinate Fehlender oder ung�ltiger Wert f�r die K Koordinate
56Verweilzeit Fehlender oder ung�ltiger Wert f�r die Verweilzeit
60Norm-Frequenzwert Fehlender oder ung�ltiger Wert f�r den Arbeits-Frequenzwert
61Eil-Frequenzwert Fehlender oder ung�ltiger Wert f�r den Eil-Frequenzwert
62Referenz Achsen Zeit�berschreitung beim Anfahren der Referenzpunkte. Programmneustart n�tig!
66Soft Endschalter X Software-Endschalter der X-Achse erreicht
67Soft Endschalter Y Software-Endschalter der Y-Achse erreicht
68Soft Endschalter Z Software-Endschalter der Z-Achse erreicht
69Programmierfehler Programmierfehler. Bitte Leerzeichen beachten
70Stromvers. allgem kommt in Version 5.1 nicht vor
71Stromver. Schalter kommt in Version 5.1 nicht vor
72Stromvers. X Achse kommt in Version 5.1 nicht vor. (Nur f�r Roboter)
73Stromvers. Y Achse kommt in Version 5.1 nicht vor. (Nur f�r Roboter)
74Stromvers. Z Achse kommt in Version 5.1 nicht vor. (Nur f�r Roboter)
75Schl�sselschalter kommt in Version 5.1 nicht vor. (Nur f�r Roboter)
80NOT-AUS Software Software NOT-AUS wurde bet�tigt
81NOT-AUS Hardware Hardware NOT-AUS wurde bet�tigt
82X Endschalter Soft siehe Soft Endschalter X
83Y Endschalter Soft siehe Soft Endschalter Y
84Z Endschalter Soft siehe Soft Endschalter Z
85X Endschalter Hard Hardware-Endschalter der X-Achse wurde ausgel�st
86Y Endschalter Hard Hardware-Endschalter der Y-Achse wurde ausgel�st
87Z Endschalter Hard Hardware-Endschalter der Z-Achse wurde ausgel�st
99unbekannter Fehler Sagt doch schon alles, oder?