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

Ergebnis 1 bis 10 von 10

Thema: Probleme mit SFC20

  1. #1
    Registriert seit
    11.12.2008
    Beiträge
    73
    Danke
    39
    Erhielt 9 Danke für 8 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    €€€€€€€€

    ende vom lied: einer der übertragenen Parameter hat an ganz anderer stelle bei einer bestimmten belegung späne gemacht...

    deswegen auch der 'zufällige' charakter. ich hatte per VAT die werte geändert, aber nur in einem der bausteine
    Geändert von Mangokind (23.03.2009 um 14:40 Uhr)
    Tolle Wurst...
    Zitieren Zitieren Probleme mit SFC20  

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

    Interessant wäre in erster Linie mal der Code, wo du dir die Any zusammenbastelst und dann den SFC20 aufrufst. Am häufigsten liegt dort der Fehler, würde ich mal sagen.
    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

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

    Mangokind (20.03.2009)

  4. #3
    Registriert seit
    11.12.2008
    Beiträge
    73
    Danke
    39
    Erhielt 9 Danke für 8 Beiträge

    Standard

    durch einen aufgerufenen FC

    2 anypointer (QANY, ZANY) im TEMP-bereich ab byte 0 bzw 10

    L W#16#1002 //Typ BYTE
    T LW 0
    L #ANZB //Anzahl Bytes
    T LW 2
    L #QDB //Quell-DB
    T LW 4
    L #QANF //Anfang der Quelle
    SLD 3
    OD DW#16#84000000
    T LD 6


    L W#16#1002 //Typ BYTE
    T LW 10
    L #ANZB //Anzahl Bytes
    T LW 12
    L #ZDB //Ziel-DB
    T LW 14
    L #ZANF //Anfang der Quelle
    SLD 3
    OD DW#16#84000000
    T LD 16

    CALL "BLKMOV"
    SRCBLK :=#QANY
    RET_VAL:=#RET_VAL
    DSTBLK :=#ZANY
    der fehler liegt aber nicht hier, da das problem auch auftritt, wenn ich den aufruf der SFC20 direkt ins OB1 schreibe ohne die funktion zu nutzen und dort fest die Pointer vorgebe.
    Tolle Wurst...

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

    Standard

    Hallo Mangokind,

    hast Du immer unterschiedliche Längen die kopiert werden sollen?
    Dann kann es sein, dass der DB 2009 vllt. zu kurz ist.

    Grüße
    Gebs

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

    Mangokind (20.03.2009)

  7. #5
    Registriert seit
    11.12.2008
    Beiträge
    73
    Danke
    39
    Erhielt 9 Danke für 8 Beiträge

    Standard

    die im eingangsposts erwähnten DBs sind jeweils kopien, also identisch, sowohl in aufbau/struktur, als auch aktualwerten.

    mit anderen worten: alle als 'Baustein A' aufgelisteten DBs sind abgesehen von ihrer nummer gleich, und alle als Baustein B aufgerufenen DBs sind untereinander ebenfalls gleich

    Baustein A ist 698 Byte lang,
    Baustein B ist 11358 Byte lang

    ich kopiere jeweils 62 Byte von adresse 420.0 von Baustein A nach 22.0 in Baustein B

    es ist also noch relativ viel luft, sollte bei den pointern n zahlendreher drin sein.

    die Bausteine existieren auch alle online und offline

    die aufrufe im OB1 ändern sich zwischen funktionierenden und nicht funktionierenden lediglich in den nummern der DBs

    also bei

    CALL "BLKMOV"
    SRCBLK :=P#DB2004.DBX420.0 BYTE 62
    RET_VAL:=#ret_val
    DSTBLK :=P#DB2009.DBX22.0 BYTE 62
    ändert sich jeweils nur der rote teil und bei manchen funktionierts, bei anderen nicht.
    Tolle Wurst...

  8. #6
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.712
    Danke
    398
    Erhielt 2.397 Danke für 1.997 Beiträge

    Standard

    Hallo,
    das ist mir etwas suspekt ...
    Bist du dir wirklich ganz sicher, dass der Fehler nicht irgendwo anders her kommt ? Was ist mit der Parameter-Versorgung deines FC ? Sind das Konstanten oder Werte, die wieder irgendwo anders hergeholt werden ?

    Gruß
    LL

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

    Mangokind (20.03.2009)

  10. #7
    Registriert seit
    11.12.2008
    Beiträge
    73
    Danke
    39
    Erhielt 9 Danke für 8 Beiträge

    Standard

    Zitat Zitat von Larry Laffer Beitrag anzeigen
    Hallo,
    das ist mir etwas suspekt ...
    Bist du dir wirklich ganz sicher, dass der Fehler nicht irgendwo anders her kommt ?
    was soll ich auf diese frage antworten? ich hab den gesamten tag mit der suche nach der antwort verbracht und konnte keinen fehler feststellen.

    sicher kann ich mir aber nicht sein, weil da offenbar n fehler auftritt und der ne ursache haben muss.

    die werte, aus denen die anypointer für SFC20 erstellt werden sind korrekt. die anypointer, mit denen SFC20 aufgerufen wird, sind korrekt.
    wenn ich quell- und zielpointer einfach nur vertausche, kopiert er ohne SPS-fehler in die gegenrichtung, also liegen die nummern im zulässigen bereich und die DBs sind auch ok, und die anypointer scheinen auch zu stimmen.
    wenn ich die nummern der DBs ändere funktioniert alles in beide richtungen zuverlässig und reibungsfrei

    dazu kommt ja noch die sache, dass der blockmove-aufruf manchmal sogar funktioniert, manchmal aber nicht. und der einzige unterschied zwischen den phasen waren heute eine halbe stunde mittagspause, wo ich absolut nix am programm geändert habe und auch keiner der kollegen derartiges getan hat und beim 2. mal hab ich per VAT ein paar der werte neu gesetzt, die er kopieren soll und schon gings wieder nicht.

    der inhalt hat aber nichts mit dem kopiervorgang zu tun. es berechnet sich also nichts daraus und die anypointer hängen auch nicht davon ab.

    Zitat Zitat von Larry Laffer Beitrag anzeigen
    Was ist mit der Parameter-Versorgung deines FC ? Sind das Konstanten oder Werte, die wieder irgendwo anders hergeholt werden ?

    Gruß
    LL
    irgendwo anders hergeholt, aber korrekt belegt.
    Geändert von Mangokind (20.03.2009 um 18:32 Uhr)
    Tolle Wurst...

  11. #8
    Registriert seit
    06.10.2003
    Beiträge
    3.406
    Danke
    448
    Erhielt 502 Danke für 406 Beiträge

    Standard

    Hast du alles mal neu übersetzt?


    Gruß, Onkel
    Es gibt viel mehr Leute, die freiwillig aufgeben, als solche, die echt scheitern.
    Henry Ford

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

    Mangokind (20.03.2009)

  13. #9
    Registriert seit
    11.12.2008
    Beiträge
    73
    Danke
    39
    Erhielt 9 Danke für 8 Beiträge

    Standard

    noch nicht, aber klingt wie ne gute idee für die nächste woche
    Tolle Wurst...

  14. #10
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.712
    Danke
    398
    Erhielt 2.397 Danke für 1.997 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von Mangokind Beitrag anzeigen
    dazu kommt ja noch die sache, dass der blockmove-aufruf manchmal sogar funktioniert, manchmal aber nicht.
    Das sieht (für mich) aber eher nach einem Programmierfehler aus ...
    Den Vorschlag von Onkel Dagobert solltest du aber auch jeden Fall auch aufgreifen - das hat mir auch schon öfter mal geholfen ...

    Gruß
    LL

Ähnliche Themen

  1. SFC20 in Schleife
    Von Markus im Forum Simatic
    Antworten: 8
    Letzter Beitrag: 20.04.2010, 07:07
  2. Sfc20
    Von stricky im Forum Simatic
    Antworten: 14
    Letzter Beitrag: 22.01.2010, 20:59
  3. Probleme mit SFC20 "BLKMOV"
    Von matchef im Forum Simatic
    Antworten: 25
    Letzter Beitrag: 18.12.2008, 16:19
  4. Sfc20
    Von bresner1 im Forum Simatic
    Antworten: 7
    Letzter Beitrag: 15.07.2008, 12:06
  5. kleine Probleme mit SFC20 (BLK_MOVE)
    Von delacasa im Forum Simatic
    Antworten: 10
    Letzter Beitrag: 20.10.2006, 17:27

Lesezeichen

Berechtigungen

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