HEIDENHAIN
HEIDENHAIN

Steuerungen, Messgeräte & Positionsanzeigen

TNC640 String-Parameter

Beitrag 11.08.2020, 20:29 Uhr
Joe_Mama
Level 1 = Community-Lehrling
*
Erstmal hallo zusammen.
Mit der Sufu wurde ich leider nicht fündig.

Ich bin begeisterter Programmierer und Bediener und arbeite unheimlich Gern mit Q-Parametern.
Ich lese und höre in letzter Zeit immer wieder von "String-Parameter".
Nun zu meiner Frage, kann mir jemand kurz und knackig erklären was das genau ist und was man damit tut?

Schon mal danke im vorraus und frohes Schaffen!
   
Beitrag 12.08.2020, 06:39 Uhr
CNCFr
Level 7 = Community-Professor
*******
QUOTE (Joe_Mama @ 11.08.2020, 21:29 Uhr) *
Mit der Sufu wurde ich leider nicht fündig.

Ich würde an deiner Stelle mal damit anfangen:
https://de.wikipedia.org/wiki/Zeichenkette
   
Beitrag 12.08.2020, 09:37 Uhr
Joe_Mama
Level 1 = Community-Lehrling
*
Schon mal Dankeschön für die Antwort.

Das Bedeutet im Klartext das ein String(?) Dafür genutzt wird um Texte zu speichern, sortieren und editieren.
Mir fällt auf Anhieb jetzt keine sinnige Verwendung dafür ein.
   
Beitrag 12.08.2020, 12:10 Uhr
CNCFr
Level 7 = Community-Professor
*******
QUOTE (Joe_Mama @ 12.08.2020, 10:37 Uhr) *
Mir fällt auf Anhieb jetzt keine sinnige Verwendung dafür ein.

Das wird sich - wie häufig beim Programmieren - ändern, wenn du damit arbeitest und die Möglichkeiten erkennst.
Nehmen wir ein Beispiel:
Du willst ein Unterprogramm schreiben, das Alarme ausgeben soll. Dann ist es sinnvoll den Alarmtext als String-Parameter zu übergeben, damit das Unterprogramm unabhängig vom Alarm(text) allgemein verwendet werden kann.
Der Alarmtext selbst setzt sich vielleicht aus mehreren Komponenten zusammen, z.B. "Fehler in der Achse X bei Position 120 mm".
Der Achsbezeichner sollte aber variabel sein (X, Y Z usw.). Die Position (120 mm) ist selbstverständlich auch variabel, und wenn du die ausgeben willst, wirst du aus dem steuerungsinternen Zahlenwert eine Zeichenkette (einen String) bilden müssen, der aus den einzelnen Ziffern und ggfs. Komma und Vorzeichen besteht. Aus diesen Bestandteilen kannst du dann durch Verkettung den Gesamtstring für die Fehlerausgabe zusammenbauen und an das Unterprogramm übergeben.
Man kann Strings sortieren (z.B. alphabetisch) oder man kann in Strings suchen.
Man kann z.B. ein NC-Programm oder ein Programm in einer anderen Programmiersprache als eine Ansammlung von Strings (= Zeilen) interpretieren und einen solchen String analysieren Man untersucht z.B. ob und welche M- oder G-Codes oder welche Achspostionen in dem String enthalten sind um daraus (intern) die entsprechenden Kommandos für die Steuerung abzuleiten.
   
Beitrag 12.08.2020, 12:21 Uhr
x90cr
Level 7 = Community-Professor
*******
QUOTE (Joe_Mama @ 12.08.2020, 09:37 Uhr) *
Schon mal Dankeschön für die Antwort.

Das Bedeutet im Klartext das ein String(?) Dafür genutzt wird um Texte zu speichern, sortieren und editieren.
Mir fällt auf Anhieb jetzt keine sinnige Verwendung dafür ein.



Ich Nutze es um mit -screen Variable Dialoge zu erzeugen, mit SQL Texte aus Tabellen zu lesen/schreiben.
Man dann damit auch Programme und andere Dateien schreiben.


--------------------
!! Mein alter Nickname: canon !!

Beginnt man das System zu hinterfragen, so erkennt man deutlich, dass die „Wahrheit“ zumeist entgegengesetzt des scheinbaren zu finden ist.
  • Wenn wir uns heute keine Zeit für unsere Gesundheit nehmen, werden wir uns später viel Zeit für unsere Krankheiten nehmen müssen.
  • Wenn es klemmt - wende Gewalt an. Wenn es kaputt geht, hätte es sowieso erneuert werden müssen.
   
Beitrag 18.08.2020, 10:21 Uhr
GaryX1001
Level 2 = Community-Facharbeiter
**
QUOTE (CNCFr @ 12.08.2020, 13:10 Uhr) *
Das wird sich - wie häufig beim Programmieren - ändern, wenn du damit arbeitest und die Möglichkeiten erkennst.
Nehmen wir ein Beispiel:
Du willst ein Unterprogramm schreiben, das Alarme ausgeben soll. Dann ist es sinnvoll den Alarmtext als String-Parameter zu übergeben, damit das Unterprogramm unabhängig vom Alarm(text) allgemein verwendet werden kann.
Der Alarmtext selbst setzt sich vielleicht aus mehreren Komponenten zusammen, z.B. "Fehler in der Achse X bei Position 120 mm".
Der Achsbezeichner sollte aber variabel sein (X, Y Z usw.). Die Position (120 mm) ist selbstverständlich auch variabel, und wenn du die ausgeben willst, wirst du aus dem steuerungsinternen Zahlenwert eine Zeichenkette (einen String) bilden müssen, der aus den einzelnen Ziffern und ggfs. Komma und Vorzeichen besteht. Aus diesen Bestandteilen kannst du dann durch Verkettung den Gesamtstring für die Fehlerausgabe zusammenbauen und an das Unterprogramm übergeben.
Man kann Strings sortieren (z.B. alphabetisch) oder man kann in Strings suchen.
Man kann z.B. ein NC-Programm oder ein Programm in einer anderen Programmiersprache als eine Ansammlung von Strings (= Zeilen) interpretieren und einen solchen String analysieren Man untersucht z.B. ob und welche M- oder G-Codes oder welche Achspostionen in dem String enthalten sind um daraus (intern) die entsprechenden Kommandos für die Steuerung abzuleiten.


Ich hätte die String Parameter für sehr sinnvoll gehalten, wenn ich sie da einsetzen könnte, wo ich sie bräuchte,
z.B. um einen Filenamen für Tabellen anzugeben. Ich habe mir eine tolle Routine geschrieben, die automatisch Werkzeuge, Drehzahlen und Vorschübe zum fertigen von Gewinden auswählt (Bohren, Ansenken, Formen/Schneiden) und nur mit Q-Parameter für Gewindegröße gestartet wird. Leider muss ich den Pfad zur Tabelle der Gewindepositionen jedesmal von Hand ändern, da dass mit einem QS-Parameter nicht funktioniert.


--------------------
DMU 75
---------------------------------------------------
Heidenhain TNC 640 - Software 340594 #09
   
Beitrag 18.08.2020, 19:53 Uhr
schwindl
Level 7 = Community-Professor
*******
QUOTE (GaryX1001 @ 18.08.2020, 11:21 Uhr) *
Ich hätte die String Parameter für sehr sinnvoll gehalten, wenn ich sie da einsetzen könnte, wo ich sie bräuchte,
z.B. um einen Filenamen für Tabellen anzugeben. Ich habe mir eine tolle Routine geschrieben, die automatisch Werkzeuge, Drehzahlen und Vorschübe zum fertigen von Gewinden auswählt (Bohren, Ansenken, Formen/Schneiden) und nur mit Q-Parameter für Gewindegröße gestartet wird. Leider muss ich den Pfad zur Tabelle der Gewindepositionen jedesmal von Hand ändern, da dass mit einem QS-Parameter nicht funktioniert.

Hallo,
da sollte es doch eine Möglichkeit geben.

Zeig mal her, was Du wie realisiert haben willst.


--------------------
Gruß
Schwindl
   
1 Besucher lesen dieses Thema (Gäste: 1)
0 Mitglieder: