Werkstückliste

Ab BESgrav Version 3.08 stehen in der Werkstückliste Variablen zur Verfügung,
Befehle zum Abtasten der Materialoberfläche sind auch neu dazu gekommen.

1. Variable/Rechnen

1.1 Aufbau eines Variablennamens
Eine Variable besteht aus einem Buchstaben gefolgt von weiteren Buchstaben oder Ziffern. Bis zu 30 Zeichen sind als Variablennamen möglich. Als erstes Zeichen kann auch der Unterstrich stehen (_). Dieser ist jedoch für die Zukunft im Zusammenhang mit Unterprogrammtechnik und lokalen Variablen reserviert.
Klein- und Großbuchstaben werden nicht unterschieden. D. h. es ist gleichgültig, ob Sie einen Variablennamen in Klein- oder Großbuchstaben schreiben.
Beispiele für gültige Variablen:
ABC
A3344
LangerWeg

Befehls- oder Funktionsnamen können jedoch nicht als Variablennamen verwendet werden ! So ist OFFSET oder SIN nicht als Variablennamen zulässig.
 

1.2 Wertebereich
In einer Variablen werden Gleitkommazahlen mit dem Gültigkeitsbereich von 8.43E-37  bis 3.37E+38 gespeichert.

1.3 Anlegen einer Variablen
Mit der ersten Verwendung eines Namens auf der linken Seite eines Ausdruckes (einer Rechenanweisung) legen Sie automatisch eine neue Variable an. Eine gesonderte Vereinbarung ist nicht erforderlich. Das bedeutet jedoch, dass Sie sich bei den Variablennamen auf der linken Seite nicht verschreiben dürfen. Denn bei einem anders lautendem Namen wird sofort eine neue Variable angelegt.

1.4 Rechnen mit Variablen
Als Rechenarten stehen die Grundrechenarten einschließlich Klammern, Standardfunktionen wie die Winkelfunktionen, und Sonderfunktionen zur Verfügung. Pro Zeile darf eine Zuweisung stehen. Links die Zielvariable gefolgt von einem Gleichheitszeichen und rechts der Ausdruck.
Z. B.:
A3344 = ABC + 33
Gültige Operationszeichen für die Grundrechenarten sind
+ für Addition
- für Subtraktion
* für Multiplikation
/ für Division

Die Berechnung innerhalb eines Ausdruckes erfolgt mit Vorrang für Multiplikation und Division. Wollen Sie diesen Vorrang durchbrechen, müssen Sie Klammern verwenden. z. B.
A3344 = (ABC + 3.3) * 5
Hier wird zunächst die Variablen ABC um 3.3 erhöht. Anschließend erfolgt die Multiplikation mit 5.

Noch ein wichtiger Hinweis: Sie müssen die als Dezimalpunkt einen Punkt eingeben und kein Komma. Das Komma ist zum Abtrennen der Parameter bei Funktionsaufrufen reserviert.

1.5 Funktionen

1.5.1 Standardfunktionen
Standardfunktionen wie sie auch in der DPL definiert sind
Winkelfunktionen SIN, COS, TAN, ARCSIN, ARCCOS, ARCTAN
sowie ATAN2 für Bilden eines Winkels aus X- und Y-Komponente.

ABS    Absolutbetrag einer Zahl (Vorzeichen wird weggenommen
SQRT   Wurzel aus einer Zahl
EXP    Natürliche Exponentialfunktion
LN     Natürlicher Algorithmus
SQR    Quadrieren einer Zahl
SIGN   Vorzeichen einer Zahl (aus positiven Zahlen wird +1, aus negativen wird -1)
TRUNC  Ganzzahliger Anteil einer Zahl
ROUND  Zahl gerundet auf ganze Zahl

1.5.2 Sonderfunktionen der Werkstückliste:
Auslesen der Werkstückbezugspunktes:
ReadPRPX
ReadPRPY
ReadPRPZ
ReadPRPA
ReadPRPB
ReadPRPC
ReadPRPU
ReadPRPV

Gelesen wird jeweils der Werkstückbezugspunkt einschließlich Offset  aus der Handsteuerung
z. B.
XBezug = ReadPRPX
YBezug = ReadPRPZ

Ebenfalls gehören zu den Sonderfunktionen die Tastfunktionen
SENZV
SENZABSV
SENZV3
SENZABSV3
Erklärung hierzu unter 2.2

Auslesen der X/Y-Position des höchsten  Punktes aus dem Oberflächendialog:
ReadSurfaceHX
ReadSurfaceHY
Verwendung: Materialoberflächenbestimmung einer abgetasteten Freiformfläche.
 

Parameter einer Funktion müssen in runden Klammern geschrieben werden. Mehrere Parameter werden durch Komma getrennt.
z. B.
S = SIN(30)
Strecke = SQRT( SQR(XTeil) + SQR(YTeil)  )

Sie müssen ebenfalls Parameter durch Komma trennen, wenn Sie bei einem Werkstücklistenbefehl wie "Offset" einen Variablennamen statt Zahlen angeben.
Z. B.
Offset  X_Abstand, Y_Abstand, ZWert, Drehung
 
 
 

2.0 Befehle zum Tasten

2.1 Tasten und sofortiges Korrigieren des Werkstückbezugspunktes
Die bisher schon in der Werkstückliste enthaltenen Befehle SENZ und SENZABS bleiben unverändert erhalten. Sie sind in der Bedienungsanleitung bzw. in der Online-Hilfe beschrieben.
 

2.2 Tasten per Funktion, kein sofortiges Korrigieren des Werkstückbezugspunktes
2.2.1 Tasten relativ zum Werkstückbezugspunkt
Hierfür stehen die Funktionsaufrufe SENZV und  SENZV3 zur Verfügung. Bei beiden Funktionen wird der Tastpunkt als Parameter bezogen auf den Werkstückbezugspunkt übergeben.  Bei der Funktion SENZV3 kommt der Startpunkt für das Tasten hinzu.
Das Ergebnis wird einer Variablen zugewiesen.
Mit der Zeile
ZWert = SENZV(100, 30.5)
wird an Position X=100 Y=30.5 eine Tastung durchgeführt. Die beiden Werte beziehen sich auf den Werkstückbezugspunkt. Das Ergebnis wird in der Variablen ZWert abgelegt. Hier steht die Differenz zum Werkstückbezugspunkt in Z. Dieser Wert kann mit dem Offset-Befehl genutzt werden.
Ein Beispiel für die Verwendung des Befehls SENZV finden Sie in der Datei Tasten_Offset.WSL.

Mit der Zeile
ZWert = SENZV3(100, 30.5, 80)
wird die gleiche Tastung ausgeführt. Jedoch wird der Taster unabhängig von der Dialogeinstellung für Startpunkt in Z auf den Wert 80 mm (bezogen auf Maschinen-Null) verfahren.

2.2.2 Tasten bezogen auf Maschinennullpunkt
Zum Tasten bezogen auf dem Maschinennullpunkt stehen die Funktionsaufrufe SENZABSV und SENZABSV3 zur Verfügung. Bei diesen beiden Funktionen geben Sie den Tastpunkt in X/Y bezogen auf den Maschinennullpunkt an. Bei der Funktion SENZABSV3 kommt der Startpunkt in Z für das Tasten hinzu.
Das Ergebnis des Abtastvorganges wird einer Variablen zugewiesen.
Mit der Zeile
ZWert  =  SENZABSV(200.3,  85.8)
wird an Position 200.3 in X und 85.8 in Y bezogen auf den Maschinennullpunkt getastet. Das Ergebnis wird der Variablen ZWert  zugewiesen. Das Tastergebnis bezieht sich ebenfalls wieder auf dem Maschinennullpunkt.
Ein Beispiel für die Verwendung des Befehls SENZV finden Sie in der Datei Tasten_Absolut.WSL.

2.3 Kantentasten
2.3.1 Tasten von Ovalen (ab 3.27, BES/C-Steuerung, Sondersoftware)
Befehl: SensingEdgesA
Parameter: Ebenennummer, kugeltiefer, [Max-Tastweg in X/Y]
Zurück: Gesetzte Variable  x_distance, y_distance und rotation
Mit diesem Befehl können Sie den Werkstückbezugspunkt und die Rotation anhand von 3 (oder mehr) tastbaren ovalen Durchbrüchen bestimmen. Rechteckige
Durchbrüche sind ebenfalls tastbar.

Der Bediener muss die Tastpunkte per Marke festlegen.

Zu diesem Befehl gibt es eine gesonderte Beschreibung.
 

2.3.2 Universaltastzyklus (ab 3.33, BES/C-Steuerung, Sondersoftware)
Befehl:     SensingEdgesU
Parameter: Ebenennummer der Tastkonturen, Ebenennummer der Tastlinien, kugeltiefer,  [Max-Tastweg in X/Y]
Zurück: Gesetzte Variable x_distance, y_distance und rotation

Mit diesem Befehl können Sie den Werkstückbezugspunkt und die Rotation anhand von 3 fast beliebigen Durchbrüchen bestimmen. Der Bediener muß die Tastpunkte per Marke festlegen und zusätzlich den Taststartpunkt und die Richtung per Vektor bestimmen.

Zu diesem Befehl gibt es eine gesonderte Beschreibung.
 

2.4 Kalibrierung des Kantentasters in X/Y (ab 3.33, BES/C-Steuerung)
Ein Kantentaster muss kalibriert werden. D. h. es müssen die Abweichung in allen 3 Achsen kompensiert werden. Die Abweichung in Z gegenüber dem Referenzwerkzeug wird in der Handsteuerung eingestellt.
Die Abweichungen in X und Y mussten Sie bisher durch Tasten einer Bohrung im Kantentasten-Teil ermitteln.  Sie mussten dann die Korrekturwerte ausrechnen und von Hand im entsprechenden Dialog eintragen.
Mit dem neuen Kalibrier-Befehl der Werkstückliste wird dieser Vorgang jetzt automatisiert. Zum Kalibrieren ist ein zylindrisches Loch erforderlich. Die Lage dieses Loches muss exakt bekannt sein. Die höchste Genauigkeit erreicht man sicherlich, wenn das Loch auf der Maschine selbst erstellt wird. Der Durchmesser sollte größer dem doppelten Durchmesser der Tastkugel sein.

2.4.1 Kalibrier-Aufruf
Befehl: CaliViaHole

Parameter:

Zurück: Es werden Variable gesetzt: Mit dem Befehl CaliViaHole wird ein zylindrisches Loch in beiden Achsen getastet. Die Sollpostion des Loches wird in X/Y und Z vorgegeben. Ebenfalls wird der Durchmesser per Parameter gesetzt. Sie können einen maximaler Tastweg optional angeben.
Die Sollposition in X/Y und Z wird in Maschinenkoordinaten angegeben !
BESgrav führt je 2 Tastungen in beiden Achsen aus. Aus diesen Tastungen wird die Ist-Mitte des Loches bestimmt. Diese Berechnung ist unabhängig vom Kugeldurchmesser des Taststiftes. Als Ergebnis erhalten Sie den Mittelpunkt in den Variablen Center_x bzw. Center_y.
Zur Korrektur der Position des Tasters erhalten Sie zusätzlich die Abweichung der Lochmitte von der Sollposition in den Variablen DiffTouchProbe_x und DiffTouchProbe_y.  Diese Werte können Sie mit dem Befehl AddToCaliValues auf die vorhandene Tastereinstellung draufaddieren.

Damit ist es möglich mit mehreren Kalibrier-Aufrufen in der Werkstückliste eine sehr genaue Kalibrierung vorzunehmen. Denn bei jedem Durchlauf ist die Abweichung von Soll zu Ist geringer und es wird die Mitte des Loches, mit den idealen Tastbedingungen, immer besser getroffen.

Für 3 Durchläufe würde sich folgende Werkstückliste ergeben:
CaliViaHole 150,  580,  55,  30,  20
AddToCaliValues   DiffTouchProbe_x,  DiffTouchProbe_y
CaliViaHole 150,  580,  55,  30,  20
AddToCaliValues   DiffTouchProbe_x,  DiffTouchProbe_y
CaliViaHole 150,  580,  55,  30,  20
AddToCaliValues   DiffTouchProbe_x,  DiffTouchProbe_y
SenZIn

Wenn der Durchmesser des Loches exakt erstellt wurde wird durch die Kalibrierung auch ein korrekter Kugeldurchmesser ermittelt. Mit dem Befehl SetSphereDiameter können Sie diesen Durchmesser in Ihren Einstellungen für Kantentasten setzen.
 

2.4.2 AddToCaliValues
Parameter:

Die Werte aus den Parametern werden auf Taster-Abstand in X bzw. in Y aufaddiert.
 

2.4.3 SetSphereDiameter
Parameter:

Mit diesem Befehl setzen Sie in der Tastereinstellung einen neuen Durchmesser.
 
 

2.5 Ausfahren/Einfahren des Tasters
Beim ersten Aufruf der SENZxxx-Funktionen wird der Taster ausgefahren. Gegenüber den SENZ und SENZABS-Befehlen bleibt der Taster nach dem Tasten ausgefahren. Wenn Sie nicht den Befehl SENZIN programmieren,  wird der Taster automatisch beim ersten Engrave-Befehl. wieder eingefahren.

2.5.1 Befehl zum Einfahren des Tasters
Hierzu steht der Befehl SENZIN zur Verfügung. Keine Parameter.
 

 
3.0 Sonstige Befehle

3.1 Darstellung von Variablen
Um Zwischenergebnisse darzustellen steht Ihnen der DEBUG-Befehl zur Verfügung. Sinnvoll ist die Verwendung dieses Befehls auch nach dem Tasten von Materialoberflächen. So können Sie die Tastwerte auf Plausibilität prüfen, bevor der Fräsvorgang gestartet wird.

Die Werte und Texte werden in einer Windows-Message-Box dargestellt. Die Werkstückliste wird erst dann weiter abgearbeitet, wenn Sie die Messagebox bestätigen. Ein Abbruch der Werkstückliste ist in diesem Zustand ebenfalls möglich.

Als Parameter kommt vorab eine Zahl. Diese Zahl dient für zukünftige Erweiterungen im Bereich Protokollierung auf Datei. Sie sollten hier immer die Zahl 0 einsetzen. Anschließend kommt eine Anzahl von Texten in "" oder/und Variablen. Die Anzahl ist lediglich über die maximal zulässige Zeilenlänge von 1000 Zeichen begrenzt.
Beispiel:
Debug 0  "ZWert1=", ZWert1, "  ZWert2=", ZWert2
Hier werden die beiden Variablen ZWert1 und ZWert2 einmal als Text und einmal als Zahl in eine Messagebox dargestellt.

Möchten Sie die Darstellung in der Messagebox mehrzeilig haben, so können Sie im Textteil ein \n einfügen. Für obiges Beispiel sähe das so aus:
Debug 0  "ZWert1=", ZWert1, "\nZWert2=", ZWert2
 
 

3.2 Maßstab
In der Werkstückliste gilt für die Längenangaben der Maßstab aus dem Dialogfenster Optionen/Voreinstellungen. Unabhängig davon können Sie auf einen anderen Maßstab umschalten.

3.2.1 Setzen des Inch-Maßstabes
Nach Aufruf von SETINCH müssen Sie alle folgenden Parameter in Inch eingeben. Das gilt für Längenwerte.
Winkel und Faktoren sind nicht betroffen.

3.2.2 Setzen des Millimeter-Maßstabes
Nach Aufruf von SETMM müssen Sie alle folgenden Parameter in Millimeter eingeben. Das gilt für Längenwerte.
Winkel und Faktoren sind nicht betroffen.
 

3.3 Offset-Befehl
Der Offset-Befehl hat ab Version 3.27 einen optionalen vierten Parameter erhalten. Und zwar die Drehung des Werkstückes.
Wenn Sie eine Werkstückdrehung angeben wollen, müssen Sie auch den Z-Offset mit vorgeben.
Zum Beispiel:
Offset  22  55  0  1.4

Drehung um 1.4 Grad bei Offset 22/55. Der Z-Offset ist mit 0 angegeben. D.h. der Z-Wert bleibt unverändert.

3.4 Tasterkontrolle
In der Steuerung BES/C wirkt der Schaltkontakt eines Oberflächen- bzw. Kantentasters im Ruhezustand als Stoppkontakt. D.h. auch wenn nicht gerade eine Tastung läuft, wird der Kontakt fortlaufend von der Steuerung abgefragt. Wenn der Kontakt durch Fehlbedienung oder Fehlfunktion aktiviert wird, wird ein Stopp an der Steuerung ausgelöst. Als Diagnose kommt: 591.
Diese Funktion ist ab Version 3.17 in der BES/C-Steuerung enthalten. Die Funktion muss über den Parametersatz aktiviert werden.

3.4.1 Ein/Ausschalten Schaltkontakt als Stoppkontakt
Mit dem Befehl SenZCheckAktiv können Sie die Überwachung des  Schaltkontaktes eines Oberflächen- bzw. Kantentasters ein- und ausschalten.

Mit
SenZCheckAktiv  1
schalten Sie die Stoppkontakt-Funktion aktiv. Das ist die Voreinstellung wenn die Funktion per Parameter freigeschaltet wurde.
mit
SenZCheckAktiv  0
schalten Sie die Funktion inaktiv. D. h. Sie können den Taster komplett demontieren und es wird kein Stopp ausgelöst.

BESgrav ab 3.33E, BES/C- /S4 -Firmware ab 3.21.
 
 

3.4.2 Taster ausschwenken
Zum Ausschwenken des Tasters wird von BESgrav die SPS SENZOUT aufgerufen. Hier tragen Sie die Befehle für den Ausschwenkvorgang ein. Im einfachsten Fall, Handmontage, steht hier lediglich ein Message-Befehl.
Ab BESgrav Version 3.33C werden in der SENZOUT-SPS 3 Variablen mit der Ausschwenkposition gesetzt:
sen_pos_x
sen_pos_y
sen_pos_z

Diese Variablen können in einem Debug-Befehl zum Anzeigen der Ausschwenkposition verwendet werden.
z.B.:
Debug 0, "Taster  m o n t i e r e n\nx= ", sen_pos_x, " y=", sen_pos_y, " z=", sen_pos_z

 

3.5 Ausführung eines Windows-Programmes
Mit dem Befehl EXECUTE können Sie ein beliebiges Windows-Programm ausführen. Sie können wählen, ob BESgrav wartet, bis das Programm beendet  wurde oder sofort im Ablauf weitermacht.
Das geschieht mit den Optionen /W für Warten bis Windowsprogramm beendet bzw. /I für sofortiges Fortfahren in BESgrav. Wenn Sie keine Option eingesetzt haben, gilt /W, also Warten bis das aufgerufene Windowsprogramm beendet ist.
Der gesamte Rest der SPS-Zeile wird als Kommando aufgerufen.
Z. B. würde die SPS-Zeile bei einem Editor-Aufruf so aussehen:
EXECUTE   /W   C:\WinNT\System32\notepad.exe   Text.txt
Aufrufen des Notepad-Editors mit der Datei Text.TXT. BESgrav anhalten bis Sie den Notepad beendet haben.