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

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

Thema: Komplizierte Frage zu BLKMOV oder wie oft darf ich den pro Zyklus aufrufen

  1. #11
    Krumnix ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    05.11.2004
    Ort
    Schweiz
    Beiträge
    1.138
    Danke
    225
    Erhielt 127 Danke für 85 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Da ich ja, die Signale fürs schieben speichere und der (S) als Flanke weiter verarbeite, ist von der Seite erstmal alles ok. Jedoch setze ich mit dem InPos Signal meine Flankenmerker sozusagen wieder zurück. Und da muss ich euch recht geben, das dort ggf der "Fehler" sein könnte.
    Ich werde morgen mal die Signale zu entprellen und das ganze beobachten.

    Der Code wurde im übrigen in KOP programmiert (Vorgabe des Auftragsgeber)!

    Das mit dem Zugriff auf DBs, das die beschränkt sein soll hab ich auch schonmal gehört, wie erwähnt. Aber ich glaube, das war damals zu S5-Zeiten gewesen. Bei der S7 der neusten Generation ist das nicht mehr der Fall, aber ich war mir halt nicht sicher, obs so ist.
    Geändert von Krumnix (24.05.2009 um 17:28 Uhr)
    Kommt Zeit.... Kommt Rat.... In der Tat.
    Gartenlampe mit Windenergie anstelle von Solar? Bei Interesse -> PN

  2. #12
    Registriert seit
    25.05.2009
    Ort
    Raum Zürich CH
    Beiträge
    85
    Danke
    15
    Erhielt 15 Danke für 15 Beiträge

    Standard

    Zitat Zitat von Krumnix Beitrag anzeigen
    Hallo....

    Gibt es ein Phänomen, das der BLKMOV 20 Mal sauber arbeitet und dann auf einmal nicht mehr?!

    Das Phänomen gibt es:
    Der SFC20 kann vom Betriebssystem unterbrochen werden (OB-Aufruf),
    dann kann es sein, dass der SFC20 nicht sauber oder gar nicht beendet wird.

    Alternativ gibt es den SFC81 (UBLKMOV). Dieser kann nicht vom Betriebssystem unterbrochen werden, hat allerdings Einschränkungen
    betreffend Datenmenge. Dies ist aber in der Help von Step7 beschrieben.

    Gruss

  3. #13
    Registriert seit
    25.05.2009
    Beiträge
    2
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Das Phänomen hatte ich auch schon mit einer CPU319. Bei einer "ungüstigen" Konstellation des SFC20 Aufrufs meldet der Baustein "fertig", hat aber nichts kopiert. Bei mir trat es beim kopieren größerer Daten auf und nur sehr sporadisch, aber reproduzierbar. Bisher hatte ich vermutet das der SFC20 vom letzten Aufruf den "Fertig" Ausgang nicht ablöscht und so beim nächsten Aufruf fertig meldet, obwohl er gar nicht angefangen hat.

  4. #14
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.797
    Danke
    398
    Erhielt 2.417 Danke für 2.013 Beiträge

    Standard

    @Krummix:
    Nach Durchsicht deines Code-Schnipsels halte ich den Vorschlag von HaDi noch am Besten. Nach meiner Meinung kann es durchaus zu einem Doppelschieben kommen. Das solltest du mal testen.
    Der Aufruf des SFC20 in der KOP-Kette gefällt mir intuitiv gar nicht. Ich würde bei diesem Netzwerk auf die KOP-Vorgabe "was scheissen" und den Transferblock (mit AWL) komplett überspringen.

    @O_Prang:
    Wenn du mit deiner DB-benutzen-Geschichte Recht hättest, dann würde von meinen Programmen kaum eines funktionieren. Der DB ist vom Grundsatz her auch kein anderer Speicher, wie beispielsweise die Merker.

    Gruß
    LL

  5. #15
    Registriert seit
    11.10.2006
    Ort
    Verden (Aller)
    Beiträge
    534
    Danke
    31
    Erhielt 58 Danke für 49 Beiträge

    Standard

    Jedes Bauteil wird ja irgendwo eine eigene Kennung oder so was (Werkstücknummer) haben. Wenn Du dann noch irgendwo ein Datenbit als "Datenvorhanden"-Flag verwendest, brauchst Du nur noch abzufragen, sind am Zielplatz Daten oder ist Deine Platzkennung schon da, kopierst Du nicht. Mache ich in Förderanlagen oft und gern und mit Erfolg.
    "Ein lahmer Drecksplanet ist das, ich habe nicht das geringste Mitleid" (Prostetnik Vogon Jeltz)

  6. #16
    Registriert seit
    04.02.2007
    Beiträge
    2.544
    Danke
    167
    Erhielt 731 Danke für 528 Beiträge

    Standard

    Hab mal nachgesehen , in einer Anlage schiebe ich 58*20 Byte in einem Loop ohne Probleme, das geschieht durch den Loop in einem Zyklus.

  7. #17
    Registriert seit
    23.04.2009
    Ort
    Allgäu
    Beiträge
    3.042
    Danke
    241
    Erhielt 863 Danke für 617 Beiträge

    Standard

    Das Thema ist zwar schon ziemlich ausgelutscht aber ich will da auch noch mein Senf dazu abgeben:

    Larry hat vollkommen Recht, und das wäre bei mir auch so wenn....

    Zitat Zitat von Larry Laffer Beitrag anzeigen
    @O_Prang:
    Wenn du mit deiner DB-benutzen-Geschichte Recht hättest, dann würde von meinen Programmen kaum eines funktionieren. Der DB ist vom Grundsatz her auch kein anderer Speicher, wie beispielsweise die Merker.

    Gruß
    LL
    Merker sind am aussterben !

    Der einzige Nachteil von einer DB-Adressierung ist der größere MC7 Code:
    [html]
    U DB1.DBX 10.0
    // wird ausgeführt in
    AUF DB1
    U DBX 10.0
    [/html]

    Dafür sind alle DB's remanent und das kann mir keiner in der Hardwarekonfig verstellen.

    PS: BLKMOV kopiert halt OnBlock was die Zykluszeit erhöht. Aber wenn deine CPU das kann, dann lass sie kopieren bis sie heiss wird.
    War teuer genug das teil, soll arbeiten.
    Ich hatte noch nie Probleme mit BLKMOV und nehme viele.
    Gruß
    Paule
    ----------------------------------------------------------------------------
    > manchmal verliert man und manchmal gewinnen die anderen <

  8. #18
    Krumnix ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    05.11.2004
    Ort
    Schweiz
    Beiträge
    1.138
    Danke
    225
    Erhielt 127 Danke für 85 Beiträge

    Standard

    So, nach 2 Tagen testen hab ich den "Fehler" nun gefunden. Es kann vorkommen, das in einer bestimmten Situation, das Teil von der Folgenden Station schneller in der Zielstation ankommt, als erwartet und somit das Ausfördernde Teil noch in der Station ist und ich wieder ein InPos bekomme.

    Um es mal genauer zu beschreiben, wenn es wen interessiert :

    Ich habe 2 Inis für InPos. Diese wurden so installiert, das sie das Werkstück erkennen aber keine überlappen zur anderen Station möglich ist.
    Das Problem ist aber, wenn das Werkstück von der sagen wir mal ST3 zu ST4 fährt, dann wird der 1. Ini frei. Das Werkstück aus ST2 fährt zeitgleich in ST3, wenn ST3 anfängt zu fördern. Jetzt kommt es irgendwie durch einen dummen Zufall (warum, keine Ahnung. Der Motor ist gut gelaunt und förder mal schnell als er soll *gg) dazu, das der Ini von ST3 vom dem ausfahrenden Werkstück noch belegt ist, aber InPos ist in dem Moment auf 0 (1 frei und 2 belegt = 0). Dummerweise kommt aber das Werkstück viel zu schnell aus ST2 an und belegt mir meinen Ini in der Einfahrrichtung. Somit habe ich wieder InPos = 1.
    Jetzt fährt aber das Werkstück von ST3 in die ST4 ein und der Ausfahrini wird frei. Damit wird InPos = 0 wieder. Danach kommt aber das Werkstück aus ST2 in ST3 an und InPos ist wieder 1.
    Das dumme dabei ist, wenn einer genau in diesem Moment die Schütztür öffnet. Denn dann habe ich das Problem, das die Umrichter keine Laufmeldung mehr senden und mein InPos auch nicht korrekt ist.
    Und genau da habe ich meine Daten immer verloren.

    Also lags an mir und net am BLKMOV. Verdammt

    Trotzdem danke an alle, die mir mit Rat und Tat zur Zeit gestanden haben.
    Es wurden die Inis nun so versetzt, das ein Überschneiden der Signale in keinester Weise möglich sind. Und das waren nur 5cm ^^
    Kommt Zeit.... Kommt Rat.... In der Tat.
    Gartenlampe mit Windenergie anstelle von Solar? Bei Interesse -> PN

  9. #19
    Registriert seit
    04.02.2007
    Beiträge
    2.544
    Danke
    167
    Erhielt 731 Danke für 528 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Dann lag ich ja gar nicht so verkehrt.

Ähnliche Themen

  1. Profinet FB oder FC aufrufen im OB86
    Von epy im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 17.11.2010, 22:14
  2. Antworten: 50
    Letzter Beitrag: 12.11.2008, 23:13
  3. AB erster Zyklus, oder erster Aufruf des Task nach RUN
    Von MSB im Forum Sonstige Steuerungen
    Antworten: 2
    Letzter Beitrag: 22.02.2008, 10:09
  4. Antworten: 9
    Letzter Beitrag: 13.02.2006, 16:12
  5. Frage zu SFC20 BLKMOV
    Von chivas im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 24.02.2005, 14:47

Lesezeichen

Berechtigungen

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