584.866 aktive Mitglieder*
5.033 Besucher online*
Kostenfrei registrieren
Anmelden Registrieren
HEIDENHAIN Forum

Zyklus 450 mit Parametern verwalten

Beitrag 08.12.2017, 07:33 Uhr
x90cr
x90cr
Level 7 = Community-Professor
*******
Gruppe: Mitglied
Mitglied seit: 09.02.2005
Beiträge: 2.444

Ich möchte vor jeder Kinematik Vermessung die aktuellen Werte mit Zyklus 450 unter dem aktuellen Datum und Uhrzeit speichern. Soweit kein Problem. Da der Speicher aber nur 16 Plätze hat, möchte ich das immer der älteste Eintrag gelöscht wird um ihn neu zu Beschreiben. Wie könnte ich das am besten lösen?


--------------------
!! 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.
TOP    
Beitrag 08.12.2017, 07:56 Uhr
schwindl
schwindl
Level 7 = Community-Professor
*******
Gruppe: Mitglied
Mitglied seit: 18.09.2008
Beiträge: 2.311

QUOTE (x90cr @ 08.12.2017, 08:33 Uhr) *
Ich möchte vor jeder Kinematik Vermessung die aktuellen Werte mit Zyklus 450 unter dem aktuellen Datum und Uhrzeit speichern. Soweit kein Problem. Da der Speicher aber nur 16 Plätze hat, möchte ich das immer der älteste Eintrag gelöscht wird um ihn neu zu Beschreiben. Wie könnte ich das am besten lösen?

Hallo,
wenn du mit QS-Parametern im 450 arbeitest, dann musst Du zum Löschen den gleichen Text eingeben, wie du beim beschreiben gehabt hast. Die Benennung erfährst Du im Protikoll:
Angehängte Datei  protokoll.png ( 136.27KB ) Anzahl der Downloads: 39


Maximal 16 Datensätze:
Angehängte Datei  protokoll.png ( 136.27KB ) Anzahl der Downloads: 39


Löschen der Datensätze:
Angehängte Datei  delete.png ( 120.04KB ) Anzahl der Downloads: 26


Gelöschte Datensätze:
Angehängte Datei  deleted.png ( 163.45KB ) Anzahl der Downloads: 28


Wenn Du immer den letzten Löschen willst, dann empfehle ich Dir eine Tabelle wo Du Dir die Bezeichnungen der letzten gespeicherten Tabellen wegspeicherst. Wenn Du dann die letzte löschen willst, dann lese den Namen aus der Tabelle aus und lösche ihn.
Dann musst Du alle Daten eins nach unten schieben und so weiter.

Alternativ könntest Du Dir auch das Protokoll TCHPRAUTO mit FILEMOVE mit einem neuen Namen versehen.
Angehängte Datei(en)
Angehängte Datei  full.png ( 174.23KB ) Anzahl der Downloads: 21
 


--------------------
Gruß
Schwindl
TOP    
Beitrag 08.12.2017, 08:45 Uhr
x90cr
x90cr
Level 7 = Community-Professor
*******
Gruppe: Mitglied
Mitglied seit: 09.02.2005
Beiträge: 2.444

Über eine zusätzliche Tabelle wird das wohl am sinnvollsten. Da komme ich an SQL nicht vorbei. Das muss ich Zuhause in Ruhe machen.


--------------------
!! 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.
TOP    
Beitrag 08.12.2017, 08:46 Uhr
x90cr
x90cr
Level 7 = Community-Professor
*******
Gruppe: Mitglied
Mitglied seit: 09.02.2005
Beiträge: 2.444

Kann man das zusätzliche bestätigen des Löschens mit Zyklus 450 im Programmlauf unterdrücken?


--------------------
!! 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.
TOP    
Beitrag 08.12.2017, 12:09 Uhr
cgTNC
cgTNC
Level 7 = Community-Professor
*******
Gruppe: Mitglied
Mitglied seit: 21.11.2010
Beiträge: 1.341

Vielleicht hilft auch einfach ein Zähler, der nie 16 wird, sondern wieder bei Null anfängt.
Ungefähr so:
Q1 = (Q1 + 1) % 16

Gruß
cgTNC
TOP    
Beitrag 08.12.2017, 16:50 Uhr
x90cr
x90cr
Level 7 = Community-Professor
*******
Gruppe: Mitglied
Mitglied seit: 09.02.2005
Beiträge: 2.444

QUOTE (cgTNC @ 08.12.2017, 12:09 Uhr) *
Vielleicht hilft auch einfach ein Zähler, der nie 16 wird, sondern wieder bei Null anfängt.
Ungefähr so:
Q1 = (Q1 + 1) % 16

Gruß
cgTNC



Dannn könnte ich die Sicherungen auch nur durch Nummerieren, was ein späters wiederfinden erschwert.
Außerdem müsste der Zähler dann auch dauerhaft gespeichert werden. Bei QR besteht aber immer noch das Risiko das da mal jemand was überschreibt.


--------------------
!! 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.
TOP    
Beitrag 08.12.2017, 20:46 Uhr
schwindl
schwindl
Level 7 = Community-Professor
*******
Gruppe: Mitglied
Mitglied seit: 18.09.2008
Beiträge: 2.311

Ich denke, dass einfachste und sicherste ist, dass Du das Messprotokoll mit Datum und Uhrzeit wegsicherst. Solltest Du was brauchen, dann musst Du Dir die Werte halt händisch raussuchen.


--------------------
Gruß
Schwindl
TOP    
Beitrag 08.12.2017, 23:45 Uhr
x90cr
x90cr
Level 7 = Community-Professor
*******
Gruppe: Mitglied
Mitglied seit: 09.02.2005
Beiträge: 2.444

Ich hab´s soweit fertig.
In der Demo läuft es soweit.
Die Kinematik wird nur gesichert wenn man im Zyklus 451 im Modus 1 die bestehende überschreibt.
Es werden nur 10 Speicherplätze verarbeitet, damit man noch 6 selbst belegen kann.

CODE
0  BEGIN PGM KINEMATIK_VERMESSUNG MM
1;--------------------------------------------
2;!!!Achtung Preset 3 wird ueberschrieben!!!
3;Nach der Vermessung wird das vorherige Preset
4;wieder ausgewaehlt.
5;
6;Messkugel Aufbau siehe Bild
7;
8;Taster manuell mittig und ca. 20 mm ueber die
9;Messkugel vorpositionieren!!!
10;
11;
12 FN 0: Q0 =+0
13;Kinematik pruefen = 0 / optimieren = 1
14;
15;
16;--------------------------------------------
17;!!!Ab hier keine Aenderungen vornehmen!!!
18;
19 FN 18: SYSREAD Q1 = ID530 NR1;aktuelles Preset auslesen
20 CYCL DEF 247 BEZUGSPUNKT SETZEN ~
    Q339=+3  ;BEZUGSPUNKT-NUMMER
21;
22;
23 QS0 = SYSSTR( ID321 NR0 )
24 QS1 = SUBSTR( SRC_QS0 BEG0 LEN6 ) || SUBSTR( SRC_QS0 BEG8 LEN5 ) || "." || SUBSTR( SRC_QS0 BEG14 LEN2 )
25 QS2 = "TNC:\Spinner_U5_1530\Kinematik_Protokolle\" || QS1 || ".html"
26;
27;
28 FN 17: SYSWRITE ID 13 NR3 =+1;Fehlermeldung unterdruecken
29 FUNCTION FILEDELETE "TCHPRAUTO.html"
30 LBL 1
31;
32 FN 17: SYSWRITE ID 13 NR3 =+0
33 FN 9: IF +Q0 EQU +0 GOTO LBL "Start"
34 FN 10: IF +Q0 NE +1 GOTO LBL "Ende"
35;
36 SQL Q2 "CREATE SYNONYM TABELLE1 FOR 'TNC:\Spinner_U5_1530\Kinematik.tab'"
37 SQL BIND QS11 "TABELLE1.Speicherplatz1"
38 SQL BIND QS12 "TABELLE1.Speicherplatz2"
39 SQL BIND QS13 "TABELLE1.Speicherplatz3"
40 SQL BIND QS14 "TABELLE1.Speicherplatz4"
41 SQL BIND QS15 "TABELLE1.Speicherplatz5"
42 SQL BIND QS16 "TABELLE1.Speicherplatz6"
43 SQL BIND QS17 "TABELLE1.Speicherplatz7"
44 SQL BIND QS18 "TABELLE1.Speicherplatz8"
45 SQL BIND QS19 "TABELLE1.Speicherplatz9"
46 SQL BIND QS20 "TABELLE1.Speicherplatz10"
47 SQL Q3 "SELECT Speicherplatz1,Speicherplatz2,Speicherplatz3,Speicherplatz4,Speicherplatz5,Speic
herplatz6,Speicherplatz7,Speicherplatz8,Speicherplatz9,Speicherplatz10 FROM TABELLE1 WHERE NR==0"
48 SQL FETCH Q2 HANDLE Q3
49;
50 QS10 = QS11
51;
52 QS11 = QS12
53 QS12 = QS13
54 QS13 = QS14
55 QS14 = QS15
56 QS15 = QS16
57 QS16 = QS17
58 QS17 = QS18
59 QS18 = QS19
60 QS19 = QS20
61 QS20 = QS1
62;
63 TCH PROBE 450 KINEMATIK SICHERN ~
    Q410=+3  ;MODUS ~
    QS409= QS10  ;SPEICHERBEZEICHNUNG
64;
65 SQL UPDATE Q2 HANDLE Q3
66 SQL COMMIT Q2 HANDLE Q3
67 SQL BIND QS11
68 SQL BIND QS12
69 SQL BIND QS13
70 SQL BIND QS14
71 SQL BIND QS15
72 SQL BIND QS16
73 SQL BIND QS17
74 SQL BIND QS18
75 SQL BIND QS19
76 SQL BIND QS20
77 SQL Q2 "DROP SYNONYM TABELLE1"
78;
79 TCH PROBE 450 KINEMATIK SICHERN ~
    Q410=+0  ;MODUS ~
    QS409= QS1;SPEICHERBEZEICHNUNG
80;
81 LBL "Start"
82 TCH PROBE 451 KINEMATIK VERMESSEN ~
    Q406=+Q0 ;MODUS ~
    Q407=+12.5;KUGELRADIUS ~
    Q320=+20 ;SICHERHEITS-ABST. ~
    Q408=+0  ;RUECKZUGSHOEHE ~
    Q253=+750;VORSCHUB VORPOS. ~
    Q380=+0  ;BEZUGSWINKEL ~
    Q411=+0  ;STARTWINKEL A-ACHSE ~
    Q412=+0  ;ENDWINKEL A-ACHSE ~
    Q413=+0  ;ANSTELLW. A-ACHSE ~
    Q414=+0  ;MESSPUNKTE A-ACHSE ~
    Q415=+45 ;STARTWINKEL B-ACHSE ~
    Q416=+90 ;ENDWINKEL B-ACHSE ~
    Q417=+90 ;ANSTELLW. B-ACHSE ~
    Q418=+2  ;MESSPUNKTE B-ACHSE ~
    Q419=+90 ;STARTWINKEL C-ACHSE ~
    Q420=-90 ;ENDWINKEL C-ACHSE ~
    Q421=+0  ;ANSTELLW. C-ACHSE ~
    Q422=+2  ;MESSPUNKTE C-ACHSE ~
    Q423=+4  ;ANZAHL ANTASTUNGEN ~
    Q431=+1  ;PRESET SETZEN ~
    Q432=+0  ;WINKELBEREICH LOSE
83;
84;
85 FUNCTION FILECOPY "TCHPRAUTO.html" TO QS2
86 FUNCTION FILEDELETE "TCHPRAUTO.html"
87 LBL "Ende"
88;
89;zuvor verwendetes Preset wieder auswaehlen
90 CYCL DEF 247 BEZUGSPUNKT SETZEN ~
    Q339=+Q1 ;BEZUGSPUNKT-NUMMER
91 M30
92 END PGM KINEMATIK_VERMESSUNG MM


Der Beitrag wurde von x90cr bearbeitet: 08.12.2017, 23:47 Uhr
Angehängte Datei(en)
Angehängte Datei  Kinematik.rar ( 2.08KB ) Anzahl der Downloads: 8
 


--------------------
!! 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.
TOP    



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