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

Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 20 von 20

Thema: Array an FB übergeben

  1. #11
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.166
    Danke
    921
    Erhielt 3.286 Danke für 2.655 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Manchmal will der AWL-Editor solche höheren Konstrukte nicht gleich anwenden, wenn sie gerade erst deklariert wurden.
    Dann die beteiligten Bausteine speichern, den Editor komplett schließen und neu öffnen.

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

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  2. #12
    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

    Zitat Zitat von PN/DP Beitrag anzeigen
    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  //das geht nicht!!!!!!!
           POS12:=
           ROT12:=
    Die Arrays müssen exakt gleich deklariert sein, auch die Indizes.

    Harald
    Mit nen Übergabearray gehts. Aber wenn ich das Out-Array direkt ans IN-Aray schreibe gehts nicht. Die Arrays haben alle [0..3] nur die Namen sind unterschiedlich.

    Mit "geht nicht" meine ich, das die Anweisung/Adresse rot ist/nicht übernommen wird.

    Sailor
    Always look on the bright side of life

  3. #13
    Registriert seit
    16.07.2013
    Ort
    Emden
    Beiträge
    62
    Danke
    15
    Erhielt 7 Danke für 7 Beiträge

    Standard

    Probier mal bitte am Eingang ROT2 := "Drehung".ROTZ
    im Gegensatz zu #Drehung.ROTZ

  4. #14
    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

    Nein,
    nimmt er nicht.
    Editor hab ich auch schon mehrfach geschlossen.
    Always look on the bright side of life

  5. #15
    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

    Zitat Zitat von sailor Beitrag anzeigen
    Mit nen Übergabearray gehts. Aber wenn ich das Out-Array direkt ans IN-Aray schreibe gehts nicht. Die Arrays haben alle [0..3] nur die Namen sind unterschiedlich.

    Mit "geht nicht" meine ich, das die Anweisung/Adresse rot ist/nicht übernommen wird.

    Sailor

    L P##mein_uebergabearray //Funzt
    L P##drehung.ROTZ //Funzt nicht

    Beides sind Array[0..3] of real im Statischen Bereich des FB.

    Was ist denn da los?
    Always look on the bright side of life

  6. #16
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.166
    Danke
    921
    Erhielt 3.286 Danke für 2.655 Beiträge

    Standard

    Zitat Zitat von sailor Beitrag anzeigen
    wenn ich das Out-Array direkt ans IN-Aray schreibe gehts nicht.
    Hmm, bei mir auch nicht.
    An IN kann kein OUT- oder INOUT-Array einer anderen Multiinstanz angeschlossen werden, an OUT kann kein IN- oder INOUT-Array einer anderen Multiinstanz angeschlossen werden. Nur voll qualifiziert absolut adressiert geht es bei mir: ROT2:="IDB".Drehung.ROTZ

    Mit einem lokalen Übergabearray geht es aber, sieht für mich auch besser aus. Da muß eben einmal mehr kopiert werden.

    Wenn Du beim Call von #Drehung keinen Aktualparameter an ROTZ angeben willst, dann könntest Du ROTZ statt in OUT in STAT deklarieren - dann wiederum kannst Du #Drehung.ROTZ überall angeben... verrücktes Step7...

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

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  7. Folgende 2 Benutzer sagen Danke zu PN/DP für den nützlichen Beitrag:

    sailor (12.11.2014),vollmi (13.11.2014)

  8. #17
    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

    Ja, ich leg die OUT-Arrays in den Stat-Bereich. Dann kann ich die wenigstens an die anderen FB übergeben in der Schnitstelle. Seltsam ist es schon.
    Direkte Arrays in STAT kann ich laden (L P##uebergabearray) aber Arrays einer Multiinstanz in STAT nicht ... komisch
    Kann man in AWL eigentlich ein Array mit einer mehrdimensionalen Konstanten (hier REAL) beschreiben:
    z.B.
    ...
    POS1:= [1.0, 2.0, 3.0]
    ...
    als IN-parameter eines FB

    Danke nochmal
    Gruß
    Sailor
    Always look on the bright side of life

  9. #18
    Registriert seit
    27.06.2009
    Ort
    am Nordharz
    Beiträge
    3.714
    Danke
    443
    Erhielt 914 Danke für 739 Beiträge

    Standard

    Zitat Zitat von sailor Beitrag anzeigen
    Direkte Arrays in STAT kann ich laden (L P##uebergabearray) ...

    Das lädt doch aber nicht das Array selbst, sondern nur seine Adresse (bzw. den Pointer darauf), oder?

  10. #19
    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

    Ja. das stimmt. Klar!
    Sailor
    Always look on the bright side of life

  11. #20
    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


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Ok,
    ich schreib die Vektoren als ARRAY in einen separaten DB und die Konstanten als sind deren Anfangswerte.
    Der DB darf halt nicht beschrieben werden.
    Da war doch was mit schreibgeschützt ...?
    Sailor
    Always look on the bright side of life

Ä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
  •