Ein Datenfeld im Record erzeugen

  • Hallo,
    stehe wieder mal vor einem Problem. :wallbash:
    Ich will in einem Record ein Datenfeld von Typ num deklarieren. Leider geht das bei mir nicht.
    Hier der Typ Record:


    RECORD recordBearbStatus
    string sStatusGesamt;
    string sAktTypAuftrag;
    string sAktTypImGrf;
    symnum nAktStation;
    num nAktTeil;
    num nTeile{6};
    ENDRECORD


    Beim Datenfeld nTeile kommt immer eine Fehlermeldung.
    Kann mir jemdand da helfen? Ist es überhaupt möglich ein Datenfeld im Record zu erzeugen? In der Doku habe ich nichts in der Richtung gelesen. Eine andere Lösung wäre noch ein Record im Record zu erzeugen. Das geht aber das ist für mich nicht die beste Lösung. Es sei den man kann die einzelne Elemente im Record über einen Index ansprechen und nicht über den . Operanten.
    Danke im voraus Paulaner

    Für seine Arbeit muß man Zustimmung suchen, aber niemals Beifall.<br />Zitat: Charles-Louis Baron de Montesquieu

  • ANZEIGE
  • Hi Paulaner,


    Arrays in Records sind nicht erlaubt...
    Hier die Syntax aus der Doku dazu:


    <record definition> ::=
    RECORD <identifier>
    <record component list>
    ENDRECORD


    <record component list> ::=
    <record component definition> |
    <record component definition> <record component list>


    <record component definition> ::=
    <data type> <record component name> ’;’


    <data type> ::= <identifier>


    Steht zwar nicht explizit drin, aber ich gehe auch davon aus, dass:
    <record component name> ::= <identifier>


    Lange Rede - kurzer Sinn: nix Array.


    Wenn du die Records in einem Array verwaltest/verwalten mußt, könnte man das z.B. mit einem "externen" zweidimensionalen Array umgehen:


    Vielleicht bringt's dir ja was...
    Gruß
    rmac

    Einmal editiert, zuletzt von rmac ()

  • Hi rmac,
    tja schade das sowas nicht möglich ist. Würde mal gerne wissen warum Arrays im einem Record, in Rapid nicht gehen!
    Das Problem habe ich mit einem zusätzlichen Record gelöst. Ist nicht die gewollte Lösung aber es geht auch so. Und es ist alles in einem verpackt.


    !******************************************************************
    !* definition von record (Struktur) für den Werkstückträgerstatus *
    !* record muss immer am anfang vom modul stehen.ladefehler! *
    !******************************************************************
    RECORD recordWtStatus
    symnum Platz1;
    symnum Platz2;
    symnum Platz3;
    symnum Platz4;
    symnum Platz5;
    symnum Platz6;
    ENDRECORD
    !******************************************************************
    !* definition von record (Struktur) für den Gesamtstatus vom Robi *
    !******************************************************************
    RECORD recordBearbStatus
    string sStatusGesamt;
    string sAktTypAuftrag;
    string sAktTypImGrf;
    symnum nAktStation;
    num nAktTeil;
    recordWTStatus PlatzNr;
    ENDRECORD


    Danke für deine Hilfe.
    Paulaner

    Für seine Arbeit muß man Zustimmung suchen, aber niemals Beifall.<br />Zitat: Charles-Louis Baron de Montesquieu

  • Hi Paulaner,



    tja schade das sowas nicht möglich ist. Würde mal gerne wissen warum Arrays im einem Record, in Rapid nicht gehen!


    Keine Ahnung warum die das nicht eingebaut haben....könnte man sicherlich häufiger mal gebrauchen.
    Da fallen mir auch noch andere Punkte ein, die in RAPID verbesserungswürdig sind,
    z.B. geschachtelte Unterprogramme u.dgl.


    Andererseits: wenn ich die "sprachlichen" Möglichkeiten von RAPID mit KUKA's KRL vergleiche, dann ist
    RAPID die Highend-Luxus-Variante, geradzu ein Programmierer-Paradies.... :cool027:
    *seufz*


    kann man nichts machen...
    Gruß
    rmac

  • Hi,
    mit dem Vergleich hast du auf jeden fall Recht. Trotzdem schade das ein Datenfeld im Record nicht möglich ist. Aber dafür gibt es viele andere Möglichkeiten bei Rapid.
    Man muss halt damit leben. :uglyhammer_2:
    Gruß Paulaner

    Für seine Arbeit muß man Zustimmung suchen, aber niemals Beifall.<br />Zitat: Charles-Louis Baron de Montesquieu

Hilfe und Support für ABB Roboter Programmierung, Konfiguration, Inbetriebnahme finden Sie hier im ABB Roboter Forum. ABB Rapid Programmierung ist einfach, die Roboterforum Community hilft sehr gerne.

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