585.698 aktive Mitglieder*
3.269 Besucher online*
Kostenfrei registrieren
Anmelden Registrieren
HEIDENHAIN Forum

Q-Parameter, SYSREAD Abfrage

Beitrag 01.03.2017, 18:31 Uhr
trixo
trixo
Level 1 = Community-Lehrling
*
Gruppe: Mitglied
Mitglied seit: 03.05.2016
Beiträge: 23

Hallo liebe Community,

ich arbeite derzeit an einer SAMAG TFZ-3L-1500 ( Tiefbohrwerk ) mit iTNC530 und mit Rundtisch und schwenkbarer A-Achse.
Um möglichst wenig Verfahrwege bei 4-seitiger Bearbeitung zu haben, versuche ich mich momentan an einem Unterprogramm welches über die Notwendigkeit eines Verfahrens auf einen Sicherheitsabstand zum Schwenken der Achsen entscheiden soll.

Ziel ist, dass bei Tischstellung 0°, 90°, 180° und 270° und A-Achse = 0° kein Sicherheitsabstand angefahren werden soll,
bei allen anderen Winkelstellung hingegen schon.

Bisher sieht mein Programm aus wie folgt :

CODE
0  BEGIN PGM Rotation MM
1  CALL LBL 1
2  LBL 5
3  FN 1: Q1700 =+360 + +Q1700
4  CALL LBL 4
5  LBL 2
6  CALL PGM TNC:\Sicherheit.h
7  CALL LBL 3
8  LBL 1
9  FN 18: SYSREAD Q1700 = ID210 NR5 IDX2
10 FN 18: SYSREAD Q1701 = ID270 NR1 IDX5
11 FN 18: SYSREAD Q1702 = ID210 NR5 IDX1
12 FN 18: SYSREAD Q1703 = ID270 NR1 IDX4
13 FN 1: Q1704 =+Q1701 + +0.005
14 FN 2: Q1705 =+Q1701 - +0.005
15 FN 1: Q1706 =+Q1703 + +0.005
16 FN 2: Q1707 =+Q1703 - +0.005
17 FN 12: IF +Q1700 LT +0 GOTO LBL 5
18 LBL 4
19 FN 12: IF +Q1700 LT +Q1705 GOTO LBL 2
20 FN 11: IF +Q1700 GT +Q1704 GOTO LBL 2
21 FN 12: IF +Q1702 LT +Q1707 GOTO LBL 2
22 FN 11: IF +Q1702 GT +Q1706 GOTO LBL 2
23 CALL LBL 3
24 LBL 3
25 END PGM Rotation MM


Weiter komme ich irgendwie nicht, ist der Ansatz evtl. schon falsch ?

Vielen Dank schonmal für eure Hilfe.
TOP    
Beitrag 01.03.2017, 20:50 Uhr
Darkobert
Darkobert
Level 2 = Community-Facharbeiter
**
Gruppe: Mitglied
Mitglied seit: 13.04.2013
Beiträge: 99

Hi,

Ich habe es jetzt nicht groß ausprobiert, aber vielleicht reicht diese simple abfrage ja schon aus.

4 LBL 3
5 FN 18: SYSREAD Q1 = ID270 NR1 IDX5
6 FN 10: IF +Q1 NE +90 GOTO LBL 2
7 FN 10: IF +Q1 NE +180 GOTO LBL 2
8 FN 10: IF +Q1 NE +270 GOTO LBL 2
9 FN 10: IF +Q1 NE +0 GOTO LBL 2
10 FN 18: SYSREAD Q2 = ID270 NR1 IDX4
11 FN 10: IF +Q2 NE +0 GOTO LBL 2
12 LBL 0

und in Label 2 dann der Programmaufruf für die fahrt zum Sicherheitsabstand.
Ich hoffe mal das passt so ein bisschen für das was du willst. wacko.gif
TOP    
Beitrag 01.03.2017, 21:07 Uhr
trixo
trixo
Level 1 = Community-Lehrling
*
Gruppe: Mitglied
Mitglied seit: 03.05.2016
Beiträge: 23

Hi,
danke für die Antwort, aber leider reicht das so nicht.

Die +- 0,005 müssen auf jeden Fall rein, da der ausgelesene IST-Wert immer mit Nachkommastellen ausgegeben wird ( zb. 0.0005 ).
Und die IST Position muss mit der nächsten SOLL Position verglichen werden.

Bei deinem Beispiel wird ja nur der IST Wert abgefragt.

So sieht mein Programm vor und nach der Abfrage aus :

CODE
20 PLANE RESET STAY
21;
22 CYCL DEF 7.0 NULLPUNKT
23 CYCL DEF 7.1  X-750.496
24 CYCL DEF 7.2  Y+154.523
25 CYCL DEF 7.3  Z-1138.05
26;
27 PLANE AXIAL  A-12  B-90 STAY
28 CALL PGM TNC:\Rotation.h
29;
30 CYCL DEF 304 Schwenkung A ~
    Q1404=+Q120;Winkel Schwenkpositi ~
    Q1410=+5000;Vorschub Schwenken
31 L  B+Q121 R0 F1000 M126 M31
32 L  X+0  Y+0 R0 FMAX
33 L  Z+100 R0 FMAX M3 M7
TOP    
Beitrag 01.03.2017, 22:36 Uhr
trixo
trixo
Level 1 = Community-Lehrling
*
Gruppe: Mitglied
Mitglied seit: 03.05.2016
Beiträge: 23

Ich glaub ich fang nochmal neu an, die Reihenfolge scheint mir iwie unlogisch

CODE
1 BEGIN PGM Rotation MM
2 FN 18: SYSREAD Q1700 = ID210 NR5 IDX2
3 FN 18: SYSREAD Q1701 = ID270 NR1 IDX5
4 FN 18: SYSREAD Q1702 = ID210 NR5 IDX1
5 FN 18: SYSREAD Q1703 = ID270 NR1 IDX4
6 FN 12: IF +Q1700 LT +0 GOTO LBL 1
7 CALL LBL 2
8 LBL 1
9 FN 1: Q1700 =+360 + +Q1700
10 CALL LBL 2
11 LBL 2
12 FN 10: IF +Q1700 NE +0 GOTO LBL 3
13 CALL LBL 7
14 LBL 3
15 FN 10: IF +Q1700 NE +90 GOTO LBL 4
16 CALL LBL 7
17 LBL 4
18 FN 10: IF +Q1700 NE +180 GOTO LBL 5
19 CALL LBL 7
20 LBL 5
21 FN 10: IF +Q1700 NE +270 GOTO LBL 6
22 CALL LBL 7
23 LBL 6
24 CALL PGM TNC:\Sicherheit.h
25 CALL LBL 8
26 LBL 7
27 FN 1: Q1704 =+Q1701 + +0.005
28 FN 2: Q1705 =+Q1701 - +0.005
29 FN 1: Q1706 =+Q1703 + +0.005
30 FN 2: Q1707 =+Q1703 - +0.005
31 FN 12: IF +Q1700 LT +Q1705 GOTO LBL 6
32 FN 11: IF +Q1700 GT +Q1704 GOTO LBL 6
33 FN 12: IF +Q1702 LT +Q1707 GOTO LBL 6
34 FN 11: IF +Q1702 GT +Q1706 GOTO LBL 6
35 CALL LBL 8
36 LBL 8
37 END PGM Rotation MM


Da müsste ich jetzt nur noch die A-Achse mit reinbekommen.
Oder sieht jmd. da jetzt auf Anhieb einen Fehler, kann es gerade leider nicht mehr ausprobieren, hab gerade Feierabend gemacht.
TOP    
Beitrag 02.03.2017, 00:30 Uhr
cgTNC
cgTNC
Level 7 = Community-Professor
*******
Gruppe: Mitglied
Mitglied seit: 21.11.2010
Beiträge: 1.341

Versuch es mal so:

BEGIN PGM Rotation MM
FN 18: SYSREAD Q1700 = ID210 NR5 IDX2
FN 18: SYSREAD Q1701 = ID270 NR1 IDX5
FN 18: SYSREAD Q1702 = ID210 NR5 IDX1
FN 18: SYSREAD Q1703 = ID270 NR1 IDX4
FN 11: IF +Q1700 GT -0.001 GOTO LBL 1
FN 1: Q1700 =+360 + +Q1700
LBL 1
FN 10: IF +Q1702 NE +0 GOTO LBL 3
FN 9: IF +Q1700 EQU +0 GOTO LBL 2
FN 9: IF +Q1700 EQU +90 GOTO LBL 2
FN 9: IF +Q1700 EQU +180 GOTO LBL 2
FN 9: IF +Q1700 EQU +270 GOTO LBL 2
FN 9: IF +1 EQU +1 GOTO LBL 3
LBL 2
FN 1: Q1704 =+Q1701 + +0.005
FN 2: Q1705 =+Q1701 - +0.005
FN 1: Q1706 =+Q1703 + +0.005
FN 2: Q1707 =+Q1703 - +0.005
FN 12: IF +Q1700 LT +Q1705 GOTO LBL 3
FN 11: IF +Q1700 GT +Q1704 GOTO LBL 3
FN 12: IF +Q1702 LT +Q1707 GOTO LBL 3
FN 11: IF +Q1702 GT +Q1706 GOTO LBL 3
FN 9: IF +1 EQU +1 GOTO LBL 4
LBL 3
CALL PGM TNC:\Sicherheit.h
LBL 4
END PGM Rotation MM

Gruß
cgTNC

Der Beitrag wurde von cgTNC bearbeitet: 02.03.2017, 00:44 Uhr
TOP    
Beitrag 02.03.2017, 01:10 Uhr
trixo
trixo
Level 1 = Community-Lehrling
*
Gruppe: Mitglied
Mitglied seit: 03.05.2016
Beiträge: 23

Hey,
danke für deine Mühe.
Sieht auf den ersten Blick sehr gut aus.
Mit der A-Achse müsste auch passen, da der Zyklus so schwenkt, dass die WZ-Spitze den gleichen Abstand beibehält.

Werd ich morgen direkt mal ausprobieren und berichten :)

Spart halt echt ne Menge Zeit, wenn man bei zb. 200 Löchern sich 70mal Sicherheitsabstand anfahren spart.

LG trixo

Der Beitrag wurde von trixo bearbeitet: 02.03.2017, 01:11 Uhr
TOP    
Beitrag 02.03.2017, 06:55 Uhr
Hexogen
Hexogen
Level 7 = Community-Professor
*******
Gruppe: Mitglied
Mitglied seit: 29.09.2004
Beiträge: 1.813

Hey wieso überhaupt auf + und - abfragen?
Es reicht eine Abfrage mit Absolutmaß ... ABS(Q...)


--------------------
Schaut doch mal rein:
Mein Youtube Kanal


Anwendungen, Zyklen, CAD/CAM





-----------------------------------------------------------------------------------------------------------------------------
TOP    
Beitrag 02.03.2017, 15:38 Uhr
trixo
trixo
Level 1 = Community-Lehrling
*
Gruppe: Mitglied
Mitglied seit: 03.05.2016
Beiträge: 23

QUOTE (Hexogen @ 02.03.2017, 05:55 Uhr) *
Hey wieso überhaupt auf + und - abfragen?
Es reicht eine Abfrage mit Absolutmaß ... ABS(Q...)


Hi,

ABS(0.0005) bleibt 0.0005 und ist dann bei der Abfrage ungleich 0, würde also auf Sicherheitsabstand verfahren obwohl er nicht soll.
Oder täusche ich mich hier ?

Hab das PGM von cgTNC nochmal überarbeitet und die SYSREAD-Abfrage der 3D-ROT durch Q120 und Q121 ersetzt, da auf einmal
PLANE AXIAL A0 B180 z.B. jetzt als A180 B0 C180 in der 3D-ROT erscheint.

CODE
0  BEGIN PGM Test MM
1  FN 0: Q1700 =+Q121
2  FN 18: SYSREAD Q1701 = ID270 NR1 IDX5
3  FN 0: Q1702 =+Q120
4  FN 18: SYSREAD Q1703 = ID270 NR1 IDX4
5  FN 11: IF +Q1700 GT -0.001 GOTO LBL 1
6  FN 1: Q1700 =+360 + +Q1700
7  LBL 1
8  FN 10: IF +Q1702 NE +0 GOTO LBL 3
9  FN 9: IF +Q1700 EQU +0 GOTO LBL 2
10  FN 9: IF +Q1700 EQU +90 GOTO LBL 2
11 FN 9: IF +Q1700 EQU +180 GOTO LBL 2
12 FN 9: IF +Q1700 EQU +270 GOTO LBL 2
13 FN 9: IF +1 EQU +1 GOTO LBL 3
14 LBL 2
15 FN 1: Q1704 =+Q1701 + +0.005
16 FN 2: Q1705 =+Q1701 - +0.005
17 FN 1: Q1706 =+Q1703 + +0.005
18 FN 2: Q1707 =+Q1703 - +0.005
19 FN 12: IF +Q1700 LT +Q1705 GOTO LBL 3
20 FN 11: IF +Q1700 GT +Q1704 GOTO LBL 3
21 FN 12: IF +Q1702 LT +Q1707 GOTO LBL 3
22 FN 11: IF +Q1702 GT +Q1706 GOTO LBL 3
23 FN 9: IF +1 EQU +1 GOTO LBL 4
24 LBL 3
25 CALL PGM TNC:\Sicherheit.h
26 LBL 4
27 END PGM Test MM


Hab eben mal ein paar Winkelkombinationen ausprobiert und es scheint zu klappen.
Wenn ich wieder ein Teil mit vielen unterschiedlichen Winkeln drauf hab gibts den ersten richtigen Testlauf.

Vielen Dank für eure Hilfe
Gruß trixo
TOP    



1 Besucher lesen dieses Thema (Gäste: 1)
0 Mitglieder: