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

Ergebnis 1 bis 9 von 9

Thema: Problem (U)BLKMOV bei SCL und TIA v13 SP1

  1. #1
    Registriert seit
    03.03.2015
    Ort
    Viersen
    Beiträge
    11
    Danke
    2
    Erhielt 5 Danke für 3 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo zusammen,

    ich hatte Freitag einen Gau mit v13SP1 Update 1, der mich hinterher wieder zum Downgrade gezwungen hat. Jetzt wollte ich mal fragen, ob das vielleicht schon jemand anderem passiert ist...

    Ich habe einen Multi-Kanal-Temperaturregler, der (ein bisschen tricky) in STAT eine Instanz des PID-Reglers hat und danach eine Anzahl x von baugleichen UDFs (Heizzonen) als Array. Beim Aufruf wird nun in SCL die Zone x in die Instanz kopiert, darauf geregelt und danach die Instanz wieder zurückkopiert. Das ganze läuft seit Urzeiten reibungslos (S7 v5/TIA 12/13). Seit dem Update scheint der erste Teil noch zu laufen, aber das Zurückkopieren landet im falschen Bereich - genau um einen versetzt (Ziel +1 Zone). Ist der Fehler schon jemandem aufgefallen?

    Hier die Definition des Interfaces:

    Stat.png

    Hier der signifikante Auszug aus der Software:

    [..]

    // This Zone is active and on
    #bReset := "bFALSE";
    #ret:=BLKMOV(SRCBLK := #ZONE[#index], DSTBLK => #PID); // Kopieren in die PID-Instanz

    #PID(PV_IN:=#PV_IN, SP_INT:=#SP_INT, COM_RST:=#bReset); // Regeln auf der Instanz

    #ret:=BLKMOV(SRCBLK := #PID, DSTBLK => #ZONE[#index]); // Zurückkopieren in das ursprüngliche Fach (Versatz!)

    [..]
    Zitieren Zitieren Problem (U)BLKMOV bei SCL und TIA v13 SP1  

  2. Folgender Benutzer sagt Danke zu misu68 für den nützlichen Beitrag:

    Shiva (03.03.2015)

  3. #2
    Registriert seit
    29.03.2004
    Beiträge
    5.731
    Danke
    143
    Erhielt 1.685 Danke für 1.225 Beiträge

    Standard

    Wenn du noch Step7 V5.5 zur Verfügung hast, kannst du dir den AWL Code den der Compiler erzeugt ansehen indem du diesen damit aus der Steuerung oder aus Plcsim zurücklädst.
    Es wäre nicht der erste Fehler der beim TIA-SCL Compiler eingebaut wurde, es kommen auch mit Updates gelegentlich neue hinzu die vorher noch nicht da waren.

  4. #3
    Registriert seit
    30.10.2009
    Ort
    10 km vom Herzen der Natur
    Beiträge
    1.626
    Danke
    120
    Erhielt 340 Danke für 255 Beiträge

    Standard

    Hast Du schonmal probiert, ob es mit

    Struct1 := Struct2;

    anstelle des BLKMOV funktioniert?

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

    Standard

    Bist Du sicher, daß beim zweiten BLKMOV die Variable #index den gleichen Wert hat wie beim ersten BLKMOV?

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

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  6. #5
    Avatar von misu68
    misu68 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    03.03.2015
    Ort
    Viersen
    Beiträge
    11
    Danke
    2
    Erhielt 5 Danke für 3 Beiträge

    Standard

    Ja, das hat sie.
    Wie gesagt, die Funktion ist seit Urzeiten unverändert und funktioniert seit Jahren in verschiedensten Versionen von S7/TIA.

    Michael

  7. #6
    Avatar von misu68
    misu68 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    03.03.2015
    Ort
    Viersen
    Beiträge
    11
    Danke
    2
    Erhielt 5 Danke für 3 Beiträge

    Standard

    "Leider" habe ich jetzt das SP1 runtergeschmissen. Ich muss mir das nochmal in einer virtuellen Maschine installieren und dann ausprobieren. Das ist zumindest ein interessanter Ansatz. Ich hoffe, der Compiler nimmt es nur an - die Definition von Quelle und Ziel unterscheidet sich doch. Im einen Fall ist es eine UDT, im anderen Fall eine Instanz eines FB. Der Inhalt und struktuelle Aufbau ist allerdings in beiden Fällen identisch.

    Michael

  8. #7
    Registriert seit
    29.03.2004
    Beiträge
    5.731
    Danke
    143
    Erhielt 1.685 Danke für 1.225 Beiträge

    Standard

    Hast du dir den Rückgabewert des BLKMOV-Aufrufs schonmal angesehen?
    Vielleicht baut der TIA Compiler seit neuestem unterschiedliche Datentypen in den Any-Pointer ein. Bisher wurde eine Struktur wenn ich mich recht erinnere im Any-Pointer immer in eine Anzahl vom Datentyp Byte umgesetzt. Wenn die Datentypen oder die Längenangabe im Any-Pointer ungleich sind, schlägt das Kopiern fehl. Evtl. werden auch die Strukturen in unterschiedlicher Größe erkannt. Das sollte aber beides über den Rückgabewert entsprechend gemeldet werden.

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

    Standard

    Der BLKMOV kopiert ja, nur leider zur falschen Adresse. Da sollte der BLKMOV-Rückgabewert 0 sein.

    Ich vermute, daß das TIA wie bei dem anderen Optimierungs-Bug nicht den Wert der Variablen #index benutzt, sondern den Wert einer anderen Variablen, von der der Compiler glaubt, die hätte den selben Wert wie #index.

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

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  10. #9
    Avatar von misu68
    misu68 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    03.03.2015
    Ort
    Viersen
    Beiträge
    11
    Danke
    2
    Erhielt 5 Danke für 3 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Der Rückgabewert war in beiden Fällen null. Daran kann ich mich noch erinnern. Der Kopiervorgang läuft auch problemlos - nur halt zurück an die falsche Adresse.
    Ich hatte nur Glück im Unglück, weil die Temperaturüberwachung in einer anderen Funktion läuft - und die hatte angeschlagen. Ansonsten hätte ich das wahrscheinlich nicht einmal gemerkt und mir die Anlagen zu klump gefahren.

    Michael

Ähnliche Themen

  1. TIA Tia v13 - sp1
    Von UniMog im Forum Simatic
    Antworten: 30
    Letzter Beitrag: 24.02.2015, 19:59
  2. TIA TIA V13 SP1 SCL Split-Funktion
    Von dentech im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 18.02.2015, 07:13
  3. TIa V13 SP1
    Von jbilode im Forum HMI
    Antworten: 40
    Letzter Beitrag: 10.02.2015, 10:43
  4. TIA TIA V13 SP1 - Handbücher
    Von Pico1184 im Forum Simatic
    Antworten: 7
    Letzter Beitrag: 06.02.2015, 09:08
  5. TIA TIA V13 mit SP1 und Profinet Drehgeber
    Von JaJa im Forum Simatic
    Antworten: 19
    Letzter Beitrag: 27.01.2015, 16:22

Stichworte

Lesezeichen

Berechtigungen

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