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

Ergebnis 1 bis 8 von 8

Thema: Sfc20

  1. #1
    Registriert seit
    24.06.2008
    Beiträge
    19
    Danke
    13
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo


    Ich habe gerade ein S5 projekt konvertiert indem der Befehl


    ADD BF +1
    L KH EEFF Adresse MB 255
    TNB 1

    auftaucht.

    Die fehlermeldung beim übersetzen dazu sieht so aus

    + 1;
    L W#16#EEFF;
    //CALL SFC 20 (
    // SRCBLK := P#????? BYTE 1 ,
    // RET_VAL := conv_ret_val,
    // DSTBLK := P#????? BYTE 1
    // );
    // *** Fehler in Zeile 98 (FB 5: CALL SFC 20 generiert, bitte Parameterliste ergänzen. ***


    kann jemand estwas damit anfangen?
    Zitieren Zitieren Sfc20  

  2. #2
    Registriert seit
    08.04.2008
    Ort
    Köln
    Beiträge
    844
    Danke
    39
    Erhielt 244 Danke für 199 Beiträge

    Standard

    Hallo Bresner,

    der Befehl TNB 1 transferiert dekrementierend und byteweise.
    Die Quelladresse steht im Akku 2 und die Zieladresse im Akku 1.
    Die Quelle ist bei dem Code den Du angegeben hast leider nicht
    zu erkennen. Die Zieladresse ist das MB 255 (Wenn der Kommentar stimmt).
    Da nach dem TNB eine 1 steht, wird nur 1 Byte kopiert. Daher kannst Du Dir
    den SFC 20 schenken und statt dessen "T MB 255" einsetzen.

    Ich hoffe ich konnte Dir helfen!

    Grüße
    Gebs

  3. Folgender Benutzer sagt Danke zu Gebs für den nützlichen Beitrag:

    bresner1 (15.07.2008)

  4. #3
    Registriert seit
    07.04.2006
    Ort
    Sauerland
    Beiträge
    128
    Danke
    7
    Erhielt 10 Danke für 10 Beiträge

    Standard

    du must auf jeden Fall die any pointer benennen
    -----------------------------------------------

    Die Menschen lassen sich lieber durch Lob ruinieren
    als durch Kritik verbessern



  5. #4
    Registriert seit
    07.04.2006
    Ort
    Sauerland
    Beiträge
    128
    Danke
    7
    Erhielt 10 Danke für 10 Beiträge

    Standard

    @Gebs jo ist noch einfacher.
    -----------------------------------------------

    Die Menschen lassen sich lieber durch Lob ruinieren
    als durch Kritik verbessern



  6. Folgender Benutzer sagt Danke zu Pontifex für den nützlichen Beitrag:

    bresner1 (15.07.2008)

  7. #5
    bresner1 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    24.06.2008
    Beiträge
    19
    Danke
    13
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Code:
        L   =  ADR        lade Adresse
            +F        Offset Kanalnr.
            T   MW 250        Zwischenbuffer Adresse
            ADD BF    +1    
            L   KH    EEFF    Adresse MB 255
            TNB    1        lade 1 Byte von VIPA Karte
    ich hoffe bei diesem code sieht man mehr

    und wie benene ich die any pointer?



    Und kenn noch jemand den LIR 0 befehl habe den fehler gerade im code gefunden

    S5:

    L = K/DB
    L KB 255 DB Nr. ausmaskieren
    UW
    SPZ = ERR3 DB 0 nicht erlaubt
    SLW 1 DB
    ADD KF -7168 Offset DB Adresse ($ E400)
    LIR 0

    S7:

    L #K_DB;
    L 255; // DB Nr. ausmaskieren
    UW;
    SPZ ERR3; // DB 0 nicht erlaubt
    SLW 1; // DB
    + -7168; // Offset DB Adresse ($ E400)
    // LIR 0;
    // *** Fehler in Zeile 111 (FB : Befehl nicht definiert. ***
    Geändert von bresner1 (15.07.2008 um 10:24 Uhr)

  8. #6
    Registriert seit
    07.04.2006
    Ort
    Sauerland
    Beiträge
    128
    Danke
    7
    Erhielt 10 Danke für 10 Beiträge

    Standard

    Den pointer benennst du z.B. so

    p#M255.0 BYTE 1
    -----------------------------------------------

    Die Menschen lassen sich lieber durch Lob ruinieren
    als durch Kritik verbessern



  9. Folgender Benutzer sagt Danke zu Pontifex für den nützlichen Beitrag:

    bresner1 (15.07.2008)

  10. #7
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.218
    Danke
    533
    Erhielt 2.696 Danke für 1.948 Beiträge

    Standard

    Ich würde mal nachsehen, was der Code da unter s5 eigentlich bewirken soll. Hab den Eindruck, daß Daten aus einem Empfangsfach abgeholt und in einem DB abgelegt werden o.ä. Diesen Teil wirst du wahrscheinlich, auf Grund der anderen Hardware eh überarbeiten müssen. Also ist die Frage, ob man sich nicht die Funktion der alten und neuen Hardware vergegenwärtigt und ein neues Stück Code schreibt.
    Gruß
    Ralle

    ... there\'re 10 kinds of people ... those who understand binaries and those who don\'t …
    and the third kinds of people … those who love TIA-Portal

  11. #8
    Registriert seit
    08.04.2008
    Ort
    Köln
    Beiträge
    844
    Danke
    39
    Erhielt 244 Danke für 199 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zu Deinem Pointer-Problem fehlen leider noch ein paar Info's:
    Was steht im =ADR und was wird hinzuaddiert (Offset Kanaladresse)?
    Im Uebrigen sehe ich das genauso wie Ralle.

    Zum Lir 0:
    Hier wird einfach nur der DB geöffnet, der im Formaloperanden K/DB
    an den FB übergeben wird. Im Step 7 Code würde ich das so lösen:

    L #K_DB // übergebene DB-Nummer laden
    T MW 254 // zwischenspeichern (entweder im MW oder in Temp. Variable)
    AUF DB [MW 254] // DB öffnen

  12. Folgender Benutzer sagt Danke zu Gebs für den nützlichen Beitrag:

    bresner1 (15.07.2008)

Ähnliche Themen

  1. ANY Variable am SFC20
    Von bit_schubser im Forum Simatic
    Antworten: 10
    Letzter Beitrag: 30.11.2010, 19:25
  2. Problem mit sfc20
    Von gustave im Forum Simatic
    Antworten: 15
    Letzter Beitrag: 13.09.2010, 21:02
  3. Kopierfunktion SFC20
    Von Sesssko im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 13.09.2010, 10:07
  4. Sfc20
    Von stricky im Forum Simatic
    Antworten: 14
    Letzter Beitrag: 22.01.2010, 20:59
  5. Probleme mit SFC20
    Von Mangokind im Forum Simatic
    Antworten: 9
    Letzter Beitrag: 20.03.2009, 19:50

Stichworte

Lesezeichen

Berechtigungen

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