Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 20

Thema: Array an FB übergeben

  1. #1
    Registriert seit
    25.02.2008
    Ort
    Bayern
    Beiträge
    611
    Danke
    64
    Erhielt 27 Danke für 23 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Leute,

    aus einer Funktion erhalte ich ein Array [0..3] als OUT.
    Dieses möchte ich einer zweiten Funktion übergeben, ohne jedes Element separat transferieren zu müssen.

    Beispiel: ROTZ ist ein OUT - Array [0..3] des FB #Drehung und soll an das IN - Array [0..3] des FB #RDG_Aufbau übergeben werden
    CALL #Drehung
    PHI :="Interface".Winkel_Drehen
    PHI0:=0.000000e+000
    ROTZ:=



    CALL #RDG_Aufbau
    POS1 :=
    ROT1 :=
    POS2 :=
    ROT2 :=
    POS12:=
    ROT12:=
    Gruß
    Sailor
    Always look on the bright side of life
    Zitieren Zitieren Array an FB übergeben  

  2. #2
    Registriert seit
    11.09.2007
    Ort
    Suedwestpfalz
    Beiträge
    917
    Danke
    81
    Erhielt 209 Danke für 192 Beiträge

    Standard

    Und wo ist jetzt das Problem?
    Das Grauen lauert in der Zwischenablage !!

  3. #3
    Registriert seit
    08.08.2007
    Ort
    Dresden
    Beiträge
    9.648
    Danke
    1.059
    Erhielt 2.046 Danke für 1.627 Beiträge

    Standard

    ich find ROTZ eine ziemlich witzige Variablendeklaration - Mut zur Lücke!
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  4. #4
    Registriert seit
    22.11.2006
    Ort
    CH
    Beiträge
    3.619
    Danke
    776
    Erhielt 647 Danke für 493 Beiträge

    Standard

    z.b so

    Zitat Zitat von sailor Beitrag anzeigen
    CALL #Drehung
    PHI :="Interface".Winkel_Drehen
    PHI0:=0.000000e+000
    ROTZ:=

    CALL #RDG_Aufbau
    POS1 :=
    #Drehung.ROTZ
    ROT1 :=
    POS2 :=
    ROT2 :=
    POS12:=
    ROT12:=
    Du kannst natürlich auch einen Zwischenspeicher in der Aufrufendenbausteinschnittstelle definieren.

    mfG René

  5. #5
    Avatar von sailor
    sailor ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    25.02.2008
    Ort
    Bayern
    Beiträge
    611
    Danke
    64
    Erhielt 27 Danke für 23 Beiträge

    Standard

    Hallo,

    ROTZ heisst Rotaton um die Z-Achse ist doch klar Manno.

    Das Problem ist, dass das nicht geht:

    L P##drehung.ROTZ //Ein OUT-Array der Multi-FB-Instanz "drehung"
    T P##RDG_Aufbau.ROT2 //Ein IN-Array der Multi-FB-Instanz "RDG_Aufbau"


    Ich will die Elemente der Arrays nicht alle einzeln rüberhacken.
    Das Problem ist weiter, das ich eine ellenlange Latte an solchen Code hab.
    @rene: das geht auch nicht
    Geändert von sailor (12.11.2014 um 16:05 Uhr)
    Always look on the bright side of life

  6. #6
    Registriert seit
    11.09.2007
    Ort
    Suedwestpfalz
    Beiträge
    917
    Danke
    81
    Erhielt 209 Danke für 192 Beiträge

    Standard

    Kannst Du es nicht über einen UDT koppeln?
    Das Grauen lauert in der Zwischenablage !!

  7. #7
    Avatar von sailor
    sailor ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    25.02.2008
    Ort
    Bayern
    Beiträge
    611
    Danke
    64
    Erhielt 27 Danke für 23 Beiträge

    Standard

    Über ne UDT ....
    Die kann ich doch auch nicht übergeben, oder?
    Always look on the bright side of life

  8. #8
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.186
    Danke
    923
    Erhielt 3.291 Danke für 2.660 Beiträge

    Standard

    2 Möglichkeiten
    Code:
          CALL  #Drehung
           PHI :="Interface".Winkel_Drehen
           PHI0:=0.000000e+000
           ROTZ:=#mein_uebergabearray
    
    
          CALL  #RDG_Aufbau
           POS1 :=
           ROT1 :=#mein_uebergabearray
           POS2 :=
           ROT2 :=#Drehung.ROTZ
           POS12:=
           ROT12:=
    Die Arrays müssen exakt gleich deklariert sein, auch die Indizes.

    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  9. #9
    Registriert seit
    22.11.2006
    Ort
    CH
    Beiträge
    3.619
    Danke
    776
    Erhielt 647 Danke für 493 Beiträge

    Standard

    natürlich kann man udt übergeben auch Array. Was heisst "geht nicht", was ist die Fehlermeldung. Leute bringt mal ausführliche Beschreibungen des Problems!

  10. #10
    Registriert seit
    11.09.2007
    Ort
    Suedwestpfalz
    Beiträge
    917
    Danke
    81
    Erhielt 209 Danke für 192 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Brauchst halt noch 'nen DB dazu der das UDT ein- oder mehrmals enthält, ja nach dem ob die Daten tatsächlich nur übergeben werden sollen oder irgendwo sonst noch abgerufen werden - ich denke da an HMI und so Zeugs...
    Das Grauen lauert in der Zwischenablage !!

Ähnliche Themen

  1. Step 7 "Array" Probleme mit FB-Aufruf und Wert an Array übergeben
    Von röhrengertl im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 12.02.2014, 12:36
  2. Array an DWORD übergeben (SCL)
    Von MatthiasH24 im Forum Simatic
    Antworten: 22
    Letzter Beitrag: 30.01.2014, 20:04
  3. Ein DB Array in FC übergeben
    Von All4one im Forum Simatic
    Antworten: 10
    Letzter Beitrag: 13.12.2011, 16:53
  4. ARRAY an FC übergeben
    Von klauserl im Forum Simatic
    Antworten: 26
    Letzter Beitrag: 10.11.2008, 11:38
  5. Array mit Char an FC übergeben?
    Von Ingo im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 15.12.2007, 16:07

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •