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

Ergebnis 1 bis 4 von 4

Thema: SFC14 - LADDR mit PEW beschalten

  1. #1
    Registriert seit
    25.02.2015
    Beiträge
    38
    Danke
    6
    Erhielt 1 Danke für 1 Beitrag

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo!

    Situation: Ich möchte ein Datenpaket (56 Wörter, Konsistent über gesamte Länge) aus der Peripherie auslesen. Das klappt super mit dem SFC14: Start ist bei PEW256, also Hex #100, geschrieben wird in einen DB mit 56 Wörtern über eine Länge von 112 Bytes via ANY Pointer.

    Problem: ich möchte die Adresse nicht mit dem "Alias" W#16#100 beschalten, sondern direkt mit dem PEW256. Der SFC14 lässt dies so erstmal nicht zu -> hat jemand eine Idee, wie man das zurecht basteln könnte?

    Oder müsste man einen Transfer mit diesem Hintergedanken komplett selbst aufbauen?


    Ziel: Crossreferenzfähigkeit (daher Beschaltung direkt mit dem PEW), kompakter Baustein (daher Idee SFC14)


    Ich danke im Vorraus!
    Thomas
    Zitieren Zitieren SFC14 - LADDR mit PEW beschalten  

  2. #2
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.314
    Danke
    932
    Erhielt 3.329 Danke für 2.688 Beiträge

    Standard

    Du könntest Deinem "Wrapper"-Baustein das PEW... an IN als POINTER oder ANY übergeben, im Baustein dann prüfen ob die Bereichskennung B#16#80 ist, die Bereichskennung entfernen (UD DW#16#FFFFFF) und dann durch 8 dividieren (SRD 3). Das Ergebnis über eine Word-Variable (TEMP) an den SFC14 geben.

    Das hätte zusätzlich den Vorteil, daß die Verwendung des PEW in den Referenzdaten auftaucht.

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

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  3. #3
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.314
    Danke
    932
    Erhielt 3.329 Danke für 2.688 Beiträge

    Standard

    Das Überprüfen der Peripherieadresse kannst Du auch weglassen, der SFC14 prüft sowieso, ob zu dem LADDR-Wert eine passende Eingangsadresse projektiert ist. Du brauchst nur die Adresse aus dem POINTER extrahieren und an den SFC14 übergeben:
    Code:
          L     P##IN_PEW                   //Adresse des FC-IN-Parameters IN_PEW (Typ POINTER)
          LAR1
          L     D [AR1,P#2.0]               //Speicherbereich + Adresse aus dem POINTER
          SRD   3                           //Bitadresse 1234.x --> Byteadresse 1234
          T     #temp_LADDR                 //AKKU1-L in Word-Variable
    
          CALL  "DPRD_DAT"
           LADDR  :=#temp_LADDR
           RET_VAL:=#temp_Int
           RECORD :=#temp_Array
    
    ... RET_VAL=0 auswerten und temp_Array auf FC-Ausgang kopieren,
        oder "DPRD_DAT" auf die am FC angegebene Adresse schreiben lassen
    Aufruf des Wrapper-FC
    Code:
          CALL  "myFC"
           IN_PEW :=PEW256
           RET_VAL:=#temp_Int
           RECORD :="DB1".myRecord
    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  4. Folgender Benutzer sagt Danke zu PN/DP für den nützlichen Beitrag:

    ThomasMaulwurf (16.07.2015)

  5. #4
    Registriert seit
    25.02.2015
    Beiträge
    38
    Danke
    6
    Erhielt 1 Danke für 1 Beitrag

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Genau so einfach und genial habe ich mir das vorgestellt. Hab vielen Dank, Harald!

    Wenn noch Infos zu meiner Anwendung / endgültigen Durchführung gewünscht werden würd ich noch was dokumentieren.

    Ansonsten: Problem gelöst.

Ähnliche Themen

  1. Step 7 Step 7 Timer mit Variable beschalten
    Von Midav im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 28.04.2015, 17:39
  2. FC 5, FC 6 Bedeutung ID/LADDR???
    Von fk- princess im Forum Simatic
    Antworten: 20
    Letzter Beitrag: 18.09.2012, 13:10
  3. SFC14 mit AS-Interface-Gateway
    Von McMeta im Forum Simatic
    Antworten: 7
    Letzter Beitrag: 19.08.2009, 14:51
  4. DP DP Koppler mit SFC14 auslesen
    Von godi im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 03.09.2008, 10:29
  5. SFC15 meldet falsche Laddr???
    Von plc_tippser im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 08.04.2005, 12:54

Lesezeichen

Berechtigungen

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