Krampus CNC-SteuerungVersion 5.1![]() |
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) |
Arbeitspeicher | 350 kB unterer Arbeitsspeicher | Festplattenspeicher | 150 kB |
Grafikkarte | Standard 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) |
Steuerungskarte | SMC 800 |
Anschlüsse | 1x Parallel |
Bekannte Fehlfunktionen |
|
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 ;-) |
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 |
0 | System i.O. | Ist eigentlich kein Fehler und sollte Dauerzustand sein |
1 | Treiberdatei fehlt | kommt in Version 5.1 nicht vor |
2 | Treiberversion | kommt in Version 5.1 nicht vor |
3 | Treiber defekt | kommt in Version 5.1 nicht vor |
4 | T-reset gescheitert | Das Programm hat sich aufgehängt und muß neu gestartet werden |
5 | Parameterdat fehlt | Die Parameterdatei fehlt. Kommt das beim Programmstart vor, so wird automatisch eine neue Parameterdatei erzeugt. Diese beinhaltet Standardwerte. Bitte sofort anpassen |
6 | Parameterdat 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. |
10 | Funktionsaufruf | Das Programm hat sich aufgehängt und muß neu gestartet werden |
11 | Soft-Interupt aktiv | kommt in Version 5.1 nicht vor |
12 | Break Fehler | Das Programm hat sich aufgehängt und muß neu gestartet werden |
13 | In Bewegung Fehler | Das Programm hat sich aufgehängt und muß neu gestartet werden |
14 | Software Endschalter | Die Maschine hat den in den Parametern festgesetzten Software-Endschalter erreicht. |
15 | Software Ende setzen | Der Wert für den Software-Endschalter ist ungültig |
16 | Hardware Endschalter | Die Maschine ist auf den Hardware-Endschalter gelaufen. Hier hilft nur noch eine Referenzfahrt |
17 | In Bearb. Hard End. | kommt in Version 5.1 nicht vor. (Nur für Roboter) |
18 | Referenzfahrt Fehler | Die Maschine kann den Referenzpunkt nicht anfahren. Referenzrichtung in der Parameterdatei überprüfen! |
19 | Handbewegung Fehler | kommt in Version 5.1 nicht vor. (Nur für Roboter) |
20 | Stop Fehler | kommt in Version 5.1 nicht vor. (Nur für Roboter) |
21 | Teach In Fehler | kommt in Version 5.1 nicht vor. (Nur für Roboter) |
22 | Kreis Fehler | Die Kreisberechnung kann nicht gemacht werden. I- und K-Werte überprüfen! |
26 | Geschwindigkeit | Ungültiger Wert für Frequenzen |
32 | Bitnummer Fehler | Das Programm hat sich aufgehängt und muß neu gestartet werden |
33 | Portnummer Fehler | Das Programm hat sich aufgehängt und muß neu gestartet werden |
34 | Beweg. Ausgabeport | kommt in Version 5.1 nicht vor. (Nur für Roboter) |
35 | Geheimcode Fehler | kommt in Version 5.1 nicht vor |
40 | Dat nicht gefunden | Datei wurde nicht gefunden. Bitte im Dateimodus auswählen! |
41 | LW nicht bereit | Laufwerk ist nicht bereit |
42 | Dat ist vorhanden | Datei ist schon vorhanden. Bitte unter einem anderen Namen speichern |
43 | Dateiname falsch | Ungültiger Dateiname |
50 | unbek. Fahrbefehl | Fahrbefehl nicht bekannt. |
51 | X Koordinate | Fehlender oder ungültiger Wert für die X Koordinate |
52 | Y Koordinate | Fehlender oder ungültiger Wert für die Y Koordinate |
53 | Z Koordinate | Fehlender oder ungültiger Wert für die Z Koordinate |
54 | I Koordinate | Fehlender oder ungültiger Wert für die I Koordinate |
55 | K Koordinate | Fehlender oder ungültiger Wert für die K Koordinate |
56 | Verweilzeit | Fehlender oder ungültiger Wert für die Verweilzeit |
60 | Norm-Frequenzwert | Fehlender oder ungültiger Wert für den Arbeits-Frequenzwert |
61 | Eil-Frequenzwert | Fehlender oder ungültiger Wert für den Eil-Frequenzwert |
62 | Referenz Achsen | Zeitüberschreitung beim Anfahren der Referenzpunkte. Programmneustart nötig! |
66 | Soft Endschalter X | Software-Endschalter der X-Achse erreicht |
67 | Soft Endschalter Y | Software-Endschalter der Y-Achse erreicht |
68 | Soft Endschalter Z | Software-Endschalter der Z-Achse erreicht |
69 | Programmierfehler | Programmierfehler. Bitte Leerzeichen beachten |
70 | Stromvers. allgem | kommt in Version 5.1 nicht vor |
71 | Stromver. Schalter | kommt in Version 5.1 nicht vor |
72 | Stromvers. X Achse | kommt in Version 5.1 nicht vor. (Nur für Roboter) |
73 | Stromvers. Y Achse | kommt in Version 5.1 nicht vor. (Nur für Roboter) |
74 | Stromvers. Z Achse | kommt in Version 5.1 nicht vor. (Nur für Roboter) |
75 | Schlüsselschalter | kommt in Version 5.1 nicht vor. (Nur für Roboter) |
80 | NOT-AUS Software | Software NOT-AUS wurde betätigt |
81 | NOT-AUS Hardware | Hardware NOT-AUS wurde betätigt |
82 | X Endschalter Soft | siehe Soft Endschalter X |
83 | Y Endschalter Soft | siehe Soft Endschalter Y |
84 | Z Endschalter Soft | siehe Soft Endschalter Z |
85 | X Endschalter Hard | Hardware-Endschalter der X-Achse wurde ausgelöst |
86 | Y Endschalter Hard | Hardware-Endschalter der Y-Achse wurde ausgelöst |
87 | Z Endschalter Hard | Hardware-Endschalter der Z-Achse wurde ausgelöst |
99 | unbekannter Fehler | Sagt doch schon alles, oder? |
Kontakt |
Die beste Möglichkeit, mich zu erreichen ist per Email unter
martin@krampusweb.de Ich freue mich über Kritik genauso wie über Lob. Sofern es meine Programmierfähigkeiten zulassen, werde ich gerne Ihre Anregungen in das Programm mit aufnehmen. Updates, Beschreibungen und Tools finden Sie auf meiner Homepage www.krampusweb.de |