23. Mai 2019, 02:52:47
Roboterforum.de - Die Industrieroboter- Anwender und Experten Community

[offen] Signal nach Namen im System suchen


normal_post Autor Thema: [offen] Signal nach Namen im System suchen  (Gelesen 398 mal)

0 Mitglieder und 1 Gast betrachten dieses Thema.

30. Januar 2019, 09:53:55
Gelesen 398 mal
Offline

IsSchoGuat


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
« Letzte Änderung: 10. März 2019, 18:47:48 von Moderator_ »
  • gefällt mir    Danke

Heute um 02:52:47
Antwort #1

Werbung

Gast

30. Januar 2019, 11:36:45
Antwort #1
Offline

Micky


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
  • gefällt mir    Danke
Probleme kann man niemals mit derselben Denkweise lösen, durch die sie entstanden sind. (Albert Einstein)

30. Januar 2019, 12:09:51
Antwort #2
Offline

IsSchoGuat


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......
« Letzte Änderung: 30. Januar 2019, 12:35:44 von IsSchoGuat »
  • gefällt mir    Danke

30. Januar 2019, 13:06:36
Antwort #3
Offline

Micky


Hallo,

anbei das funktionierende Beispiel mit AliasIO:  ;)

  PROC GripperOp(SIG_ACTION myAction,num action)
    VAR signaldo doForward;
    VAR signaldo doBackward;

    AliasIO myAction.doForwards,doForward;
    AliasIO myAction.doBackwards,doBackward;

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


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

30. Januar 2019, 13:19:54
Antwort #4
Offline

IsSchoGuat


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:
« Letzte Änderung: 30. Januar 2019, 13:22:24 von IsSchoGuat »
  • gefällt mir    Danke

Heute um 02:52:47
Antwort #5

Werbung

Gast


Teile per facebook Teile per linkedin Teile per pinterest Teile per reddit Teile per twitter
 

über das Roboterforum

Nutzungsbedingungen Impressum Datenschutzerklärung

Sponsoren des Roboterforums

ROBTEC GmbH