Struct in Array in dat file speichern

  • Hallo Leute,


    ich habe in einem Dat File eine Struct mit einigen POS variablen angelegt und davon ein Array erzeugt. Soweit so gut, innerhalb der dazugehörigen SRC Datei kann ich auch auf die Inhalte zugreifen und Zuweisungen machen. Nun möchte ich aber im DAT File die Werte mit 0 initialisieren und anschließende Positionen dauerhaft speicher. Dabei bekomme ich die Fehlermeldung


    Unerwartetes Zeichen '.' gefunden.




    HSB2Orb.png

  • Schritt für Schritt zum Roboterprofi!
  • Weis nicht genau was du vor hast aber bei mir sehen gespeicherte Base Punkte so aus....


    ; Base der Abstapel Positionen Station 1 - 3 definieren
    DECL GLOBAL POS AbstapelBase_Cn[3]
    AbstapelBase_Cn[1]={X -587.730,Y -1429.57,Z -2192.14,A 90.1400,B 89.1500,C 32.5200,S 2,T 8}
    AbstapelBase_Cn[2]={X -1673.83,Y 715.570,Z -2187.30,A 47.5300,B 88.5300,C 152.270,S 2,T 9}
    AbstapelBase_Cn[3]={X -578.570,Y 2865.14,Z -2185.01,A -105.980,B 83.3600,C 175.490,S 2,T 9}

    DECL GLOBAL POS AbstapelBase_Cx[3]
    AbstapelBase_Cx[1]={X -1854.22,Y -1429.72,Z -2192.95,A 94.6400,B 87.7600,C 163.440,S 2,T 8}
    AbstapelBase_Cx[2]={X -2744.40,Y 720.130,Z -2186.11,A -44.6600,B 87.7300,C -160.780,S 2,T 9}
    AbstapelBase_Cx[3]={X -1847.37,Y 1429.03,Z -2190.79,A 168.900,B 88.7700,C -5.65000,S 2,T 9}

    DECL GLOBAL POS AbstapelBase_Cy[3]
    AbstapelBase_Cy[1]={X -591.800,Y -2868.76,Z -2197.12,A 87.4100,B 83.7400,C 167.520,S 2,T 8}
    AbstapelBase_Cy[2]={X -1676.28,Y -716.800,Z -2192.96,A 97.9300,B 87.7600,C 163.360,S 2,T 8}
    AbstapelBase_Cy[3]={X -579.620,Y 1424.82,Z -2189.47,A 87.9300,B 88.5300,C 152.270,S 2,T 1}

  • Hm Ok das ist wohl die Erklärung dafür.


    Ich habe ein Programm zum Teachen von Bases gemacht, dabei wird die Basenummer als Parameter übergeben und ich wollte dann die Nummer als Index zum Zugriff in das Array nutzen.

    Aber man kann das ganze auch "umdrehen" und wie in deinem Beispiel machen, gute Idee. :)

  • wo sind die Klammern um die Positionsdaten?


    STRUC BaseTeachPoints POS OriginXY, OriginZ, XAxisXY, XAxisZ, YAxisXY, YAxisZ
    DECL BaseTeachPoints ListBaseTeachPoints[8]
    ListBaseTeachPoints[1].OriginXY = {X 0,Y 0,Z 0,A 0,B 0,C 0}

  • natuerlich.... jede ListBaseTeachPoints Element ist eine STRUC und deshalb braucht {}.

    und da drin sind weitere STRUCs und die auch brauchen {} und Namen

    das ganze is geschachtelt und in einer Zeile zo schreiben.


    und beachte - das war nur ein Arrayelement.


    und warum POS? wehn kein S,T ist benutzt FRAME soll reichen

    Code
    STRUC BaseTeachPoints POS OriginXY, OriginZ, XAxisXY, XAxisZ, YAxisXY, YAxisZ
    DECL BaseTeachPoints ListBaseTeachPoints[8]
    ListBaseTeachPoints[1] = {OriginXY {X 0,Y 0,Z 0,A 0,B 0,C 0}, OriginZ {X 0,Y 0,Z 0,A 0,B 0,C 0},XAxisXY {X 0,Y 0,Z 0,A 0,B 0,C 0}, XAxisZ {X 0,Y 0,Z 0,A 0,B 0,C 0}, YAxisXY {X 0,Y 0,Z 0,A 0,B 0,C 0}, YAxisZ {X 0,Y 0,Z 0,A 0,B 0,C 0}}
    ListBaseTeachPoints[2] = {OriginXY {X 0,Y 0,Z 0,A 0,B 0,C 0}, OriginZ {X 0,Y 0,Z 0,A 0,B 0,C 0},XAxisXY {X 0,Y 0,Z 0,A 0,B 0,C 0}, XAxisZ {X 0,Y 0,Z 0,A 0,B 0,C 0}, YAxisXY {X 0,Y 0,Z 0,A 0,B 0,C 0}, YAxisZ {X 0,Y 0,Z 0,A 0,B 0,C 0}}
    ListBaseTeachPoints[3] = {OriginXY {X 0,Y 0,Z 0,A 0,B 0,C 0}, OriginZ {X 0,Y 0,Z 0,A 0,B 0,C 0},XAxisXY {X 0,Y 0,Z 0,A 0,B 0,C 0}, XAxisZ {X 0,Y 0,Z 0,A 0,B 0,C 0}, YAxisXY {X 0,Y 0,Z 0,A 0,B 0,C 0}, YAxisZ {X 0,Y 0,Z 0,A 0,B 0,C 0}}
    ListBaseTeachPoints[4] = {OriginXY {X 0,Y 0,Z 0,A 0,B 0,C 0}, OriginZ {X 0,Y 0,Z 0,A 0,B 0,C 0},XAxisXY {X 0,Y 0,Z 0,A 0,B 0,C 0}, XAxisZ {X 0,Y 0,Z 0,A 0,B 0,C 0}, YAxisXY {X 0,Y 0,Z 0,A 0,B 0,C 0}, YAxisZ {X 0,Y 0,Z 0,A 0,B 0,C 0}}
    ListBaseTeachPoints[5] = {OriginXY {X 0,Y 0,Z 0,A 0,B 0,C 0}, OriginZ {X 0,Y 0,Z 0,A 0,B 0,C 0},XAxisXY {X 0,Y 0,Z 0,A 0,B 0,C 0}, XAxisZ {X 0,Y 0,Z 0,A 0,B 0,C 0}, YAxisXY {X 0,Y 0,Z 0,A 0,B 0,C 0}, YAxisZ {X 0,Y 0,Z 0,A 0,B 0,C 0}}
    ListBaseTeachPoints[6] = {OriginXY {X 0,Y 0,Z 0,A 0,B 0,C 0}, OriginZ {X 0,Y 0,Z 0,A 0,B 0,C 0},XAxisXY {X 0,Y 0,Z 0,A 0,B 0,C 0}, XAxisZ {X 0,Y 0,Z 0,A 0,B 0,C 0}, YAxisXY {X 0,Y 0,Z 0,A 0,B 0,C 0}, YAxisZ {X 0,Y 0,Z 0,A 0,B 0,C 0}}
    ListBaseTeachPoints[7] = {OriginXY {X 0,Y 0,Z 0,A 0,B 0,C 0}, OriginZ {X 0,Y 0,Z 0,A 0,B 0,C 0},XAxisXY {X 0,Y 0,Z 0,A 0,B 0,C 0}, XAxisZ {X 0,Y 0,Z 0,A 0,B 0,C 0}, YAxisXY {X 0,Y 0,Z 0,A 0,B 0,C 0}, YAxisZ {X 0,Y 0,Z 0,A 0,B 0,C 0}}
    ListBaseTeachPoints[8] = {OriginXY {X 0,Y 0,Z 0,A 0,B 0,C 0}, OriginZ {X 0,Y 0,Z 0,A 0,B 0,C 0},XAxisXY {X 0,Y 0,Z 0,A 0,B 0,C 0}, XAxisZ {X 0,Y 0,Z 0,A 0,B 0,C 0}, YAxisXY {X 0,Y 0,Z 0,A 0,B 0,C 0}, YAxisZ {X 0,Y 0,Z 0,A 0,B 0,C 0}}

    Einmal editiert, zuletzt von panic mode ()

Erstelle ein Benutzerkonto oder melde dich an um zu kommentieren

Du musst ein Benutzerkonto haben um einen Kommentar hinterlassen zu können

Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Geht einfach!
Neues Benutzerkonto erstellen
Anmelden
Du hast bereits ein Benutzerkonto? Melde dich hier an.
Jetzt anmelden