Signal nach Namen im System suchen

  • Hallo,


    Kann mir bitte jemand helfen ich stehe auf der Leitung.....
    Ich möchte gerne ein Signal mit dem Namen suchen
    Habe es mit


    var signaldo doTest;


    GetSysData doTest\ObjectName:="do_meinSignal";


    probiert so funktioniert es leider nicht da getSysData eine Persistente wünscht.gibt es da eine andere Möglichkeit?


    Danke

    Einmal editiert, zuletzt von Moderator_ ()

  • ANZEIGE
  • Hallo,


    GetSysData wird verwendet um das aktuelle Tool, Werkobjekt oder die Lastdaten auszulesen.


    Zum Verbinden von Signalen kann die Instruktion 'AliasIO' oder alternativ auch die Instruktion 'GetDataVal' verwendet werden.


    mfg
    Micky

    Probleme kann man niemals mit derselben Denkweise lösen, durch die sie entstanden sind. (Albert Einstein)

  • Hallo Micky,


    Da hast du natürlich recht ist aber leider nicht das wonach ich Suche.
    ich möchte die entsprechenden Ventile die ich z.b am greifer habe in einem record speichern,
    das geht jedoch leider nicht daher der Name des Ausgangsignals als string.
    Danach möchte ich das Signal nicht direkt über den Signalnamen aufrufen sondern über den Signalnamen.....



    Funktioniert aber leider so nicht


    zb.


    MODULE Module1()

    RECORD SIG_ACTION
    string doForwards;
    string doBackwards;
    ENDRECORD

    VAR SIG_ACTION gripper_VERT1:=["do_SchieberVERT_Vor","do_SchieberVERT_Zurueck"];
    VAR SIG_ACTION gripper_HOR1:=["do_SchieberHOR_Vor","do_SchieberHOR_Zurueck"];
    VAR SIG_ACTION gripper_VERT2:=["do_SchieberVERT_Vor2","do_SchieberVERT_Zurueck2"];
    VAR SIG_ACTION gripper_HOR2:=["do_SchieberHOR_Vor2","do_SchieberHOR_Zurueck2"];
    VAR SIG_ACTION gripper_VERT3:=["do_SchieberVERT_Vor3","do_SchieberVERT_Zurueck3"];
    VAR SIG_ACTION gripper_HOR3:=["do_SchieberHOR_Vor3","do_SchieberHOR_Zurueck3"];


    .......




    VAR num forwards:=1;
    VAR num backwards:=2;

    var signaldo doForward;
    var signaldo doBackward;




    PROC GripperOp(SIG_ACTION myAction, num action)


    GetSysData doForward\ObjectName:=myAction.doForwards;
    GetSysData doBackward\ObjectName:=myAction.doBackwards;


    TEST action
    CASE forwards:
    SetDO doForward , 1;
    SetDO doBackward,0;
    CASE backwards:
    SetDO doBackward,1;
    SetDO doForward, 0;
    DEFAULT:
    ENDTEST
    ENDPROC


    PROC myMain()
    WaitTime 2;
    GripperOp gripper_VERT1,forwards;
    WaitTime 2;
    GripperOp gripper_VERT1,backwards;

    ENDPROC


    so ungefähr......

    Einmal editiert, zuletzt von IsSchoGuat ()

  • Hallo,


    anbei das funktionierende Beispiel mit AliasIO: ;)



    Mfg
    Micky

    Probleme kann man niemals mit derselben Denkweise lösen, durch die sie entstanden sind. (Albert Einstein)

  • Hallo Micky,


    Vielen Danke das hatte ich schon probiert und habe dummerweise die Schreibweise verdreht....


    ALIASIO doForward, myAction.doForwards; --> dann ging es einfach nicht


    Aber jetzt hat es den gewünschten Effekt.


    Und dann steht es auch noch in der Beschreibung wie Dumm von mir.. hab ich überlesen


    AliasIO FromSignal ToSignal
    FromSignal
    Datentyp: signalxx oder string



    :danke:

    Einmal editiert, zuletzt von IsSchoGuat ()

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