Siemens
Siemens

Digital Industries, Motion Control, Machine Tool Systems

Nullpunkt setzten / auslesen über slCapTest Variablen, PC <<>> 840D slCapTest

Beitrag 14.06.2022, 11:51 Uhr
dev-hm
dev-hm
Level 1 = Community-Lehrling
*
Gruppe: Mitglied
Mitglied seit: 31.08.2020
Beiträge: 7
Moin,

ich bin nicht vom Fach sondern Software-Entwickler.

Aktuell versuche ich die Nullpunkte (G500-G57) über das "slCapTest" Tool vom PC aus zu lesen bzw. zu schreiben (dieses tool wird mit installiert wenn man die Sinumerik Operate installiert - und es hat mir bis jetzt immer gut geholfen bei z.b.für eine Werkzeug Korrektur -> GUD Variable beschreiben -> im Macro diese Variable auslesen und dann den Wert z.b. in $TC_DP3[1, 1] schreiben (Tool 1 Geometry Length).

Hier scheiter ich aber da ich nicht vom Fach bin.
Die Siemens Doku hilft mir an der Stelle auch nicht weiter da ich zu viel Maschinen spezifisches nicht verstehe.

Laut der Doku und einem Kollegen, habe ich rausgefunden, dass ich wohl über "/Channel/UserFrame/linShift[u1,1]" das "G500" für erste Achse (X?) auslesen bzw. schreiben zu können.

Ansprechen der ersten 3 Achsen für G500 über Variablen von extern (PC):
"/Channel/UserFrame/linShift[u1,1]"
"/Channel/UserFrame/linShift[u1,2]"
"/Channel/UserFrame/linShift[u1,3]"

Hier liefert mir das Tool immer "-0" als Wert zurück wenn ich es lesen möchte.
Versuche ich die "1" reinzuschrieben kommt kein fehler, aber das erneute auslesen bringt dann wieder im Wert "-0".

Hat hier schonmal wer G500-G57 vom PC aus geschrieben bzw. gelesen und hat n paar infos damit ich hier weiter komme ?

Vielen Dank!!
Bin für jede Hilfe/Info Dankbar!
   
Beitrag 20.06.2022, 11:18 Uhr
CaptainFu
CaptainFu
Level 1 = Community-Lehrling
*
Gruppe: Mitglied
Mitglied seit: 09.09.2019
Beiträge: 49
Hi, also der Index für "/Channel/UserFrame/linShift[n]" setzt sich für diese BTSS Variable wie folgt zusammen:

n = FrameIndex * (numGeoAxes + numAuxAxes) + Achsnummer

d.h. FrameIndex für G54 = 1,
numGeoAxes = Anzahl der Geometrieachsen, z.B. X, Y, Z , wären dann 3,
numAuxAxes = Anzahl der Zusatzachsen, bei mir im Beispiel 11,
Achsnummer = 1, wäre bei mir die X Achse.
Das Ganze immer im entsprechenden Kanal.

Ergibt dann 1 * (3 +11) + 1 = 15, also wäre das bei mir für die erste Achse "/Channel/UserFrame/linShift[15]"

siehe Bild.

Wie sich solche Indexe zusammensetzen findet man z.B. im Siemens 840d Listenhandbuch unter NC-Variable und Nahtstellensignale.








QUOTE (dev-hm @ 14.06.2022, 13:51 Uhr) *
Moin,

ich bin nicht vom Fach sondern Software-Entwickler.

Aktuell versuche ich die Nullpunkte (G500-G57) über das "slCapTest" Tool vom PC aus zu lesen bzw. zu schreiben (dieses tool wird mit installiert wenn man die Sinumerik Operate installiert - und es hat mir bis jetzt immer gut geholfen bei z.b.für eine Werkzeug Korrektur -> GUD Variable beschreiben -> im Macro diese Variable auslesen und dann den Wert z.b. in $TC_DP3[1, 1] schreiben (Tool 1 Geometry Length).

Hier scheiter ich aber da ich nicht vom Fach bin.
Die Siemens Doku hilft mir an der Stelle auch nicht weiter da ich zu viel Maschinen spezifisches nicht verstehe.

Laut der Doku und einem Kollegen, habe ich rausgefunden, dass ich wohl über "/Channel/UserFrame/linShift[u1,1]" das "G500" für erste Achse (X?) auslesen bzw. schreiben zu können.

Ansprechen der ersten 3 Achsen für G500 über Variablen von extern (PC):
"/Channel/UserFrame/linShift[u1,1]"
"/Channel/UserFrame/linShift[u1,2]"
"/Channel/UserFrame/linShift[u1,3]"

Hier liefert mir das Tool immer "-0" als Wert zurück wenn ich es lesen möchte.
Versuche ich die "1" reinzuschrieben kommt kein fehler, aber das erneute auslesen bringt dann wieder im Wert "-0".

Hat hier schonmal wer G500-G57 vom PC aus geschrieben bzw. gelesen und hat n paar infos damit ich hier weiter komme ?

Vielen Dank!!
Bin für jede Hilfe/Info Dankbar!

Angehängte Datei(en)
Angehängte Datei  CapTest.png ( 8.71KB ) Anzahl der Downloads: 29
Angehängte Datei  CapTest.png ( 8.71KB ) Anzahl der Downloads: 15
 
   
Beitrag 23.08.2022, 11:28 Uhr
dev-hm
dev-hm
Level 1 = Community-Lehrling
*
Gruppe: Mitglied
Mitglied seit: 31.08.2020
Beiträge: 7
Hi,

also ich hab die Zusammensetzung der Indexe verstanden und habe es jetzt auch geschafft die entsprechenden Nullpunkte auslesen zu können.
Sowohl am Sinutrain Simulator als auch auf einer echten 840D.

Nur klappt das Schreiben der Nullpunkte leider nicht.
Wenn ich die Werte versuche zu schreiben, bekomme ich keinen Fehler aber die Werte werden einfach nicht auf der Maschine hinterlegt.
Beim erneuten auslesen wird dann der alte Wert zurück gegeben.

Hier stellt sich mir jetzt die Frage ob denn irgendwelche Besonderheiten zum Schreiben über die BTSS Variable(n) der Nullpunkte berücksichtigt werden müssen ?
Wie z.b. Zustand der Maschine oder irgendetwas anderes ?
Laut der Doku sind diese Variablen "RW" also man sollte sie lesen und schreiben können.

Hätte denn jemand ne Idee oder noch Informationen die man dazu teilen kann.

Danke & Gruß!

QUOTE (CaptainFu @ 20.06.2022, 13:18 Uhr) *
Hi, also der Index für "/Channel/UserFrame/linShift[n]" setzt sich für diese BTSS Variable wie folgt zusammen:

n = FrameIndex * (numGeoAxes + numAuxAxes) + Achsnummer

d.h. FrameIndex für G54 = 1,
numGeoAxes = Anzahl der Geometrieachsen, z.B. X, Y, Z , wären dann 3,
numAuxAxes = Anzahl der Zusatzachsen, bei mir im Beispiel 11,
Achsnummer = 1, wäre bei mir die X Achse.
Das Ganze immer im entsprechenden Kanal.

Ergibt dann 1 * (3 +11) + 1 = 15, also wäre das bei mir für die erste Achse "/Channel/UserFrame/linShift[15]"

siehe Bild.

Wie sich solche Indexe zusammensetzen findet man z.B. im Siemens 840d Listenhandbuch unter NC-Variable und Nahtstellensignale.
   
1 Besucher lesen dieses Thema (Gäste: 1)
0 Mitglieder: