Developer Portal Community

    cancel
    Showing results for 
    Search instead for 
    Did you mean: 

    TwinCAT PLC Change Guide [German]

    Deutsch 🠦 English

     

    Wir haben mehrere Probleme festgestellt beim Ändern einer TwinCAT SPS Software Applikation auf einer Maschine. Der Leitfaden wird dringend empfohlen für Maschinen, bei denen Produktionsausfall/-verzögerung kritisch ist oder ein hoher Sachschaden möglich ist, zum Beispiel aufgrund hoher Energien oder teurer Produkte.

    Bekannte Probleme:

    • Page Fault Exception 1: Tritt in der OpconBase Bibliothek direkt nach SPS-Start auf
    • Page Fault Exception 2: Tritt in der OpconBase Bibliothek bei Bedienung der HMI auf (z.B. Fehler quittieren oder Button klicken)
    • IO Problem: Einzelne SPS-Ausgänge haben auf dem Bus einen anderen Wert als in der SPS, dadurch macht die Maschine nicht das, was die SPS vorgibt, z.B. Anfahren einer falschen Achs-Zielposition, falsche Ansteuerung eines Ventils, usw.
    • IO Problem: Einzelne SPS-Eingänge kommen in der SPS falsch an, dadurch eine falsche Bearbeitung/Reaktion der SPS, z.B. falsche Achs-Istposition, falsches Sensorsignal, usw.
    • OPC UA Problem: TMC-Datei fehlt oder nicht aktuell, dadurch OPC UA Kommunikation nach System-Neustart nicht möglich (z.B. Daten Laden mit DataSetAccess)
    • DatAccess.exe Fehler: Daten aus DAT-Datei können nicht in die SPS geladen werden, Fehlermeldung „DatAccess.exe: Fehler beim Schreiben des Datensatzes 1111111111.dat in die SPS“
    • DatAccess.exe Problem: Online-Daten in SPS stimmen nicht mit Daten aus DAT-Datei überein
    • Boot-Projekt Problem: Kein oder ein altes Boot-Projekt wird beim nächsten System-Start gestartet
    • Verlorene Bibliotheksparameter: Nach Weitergabe eines Projekts und Installation der auf diesem Entwicklungsrechner fehlenden Bibliothek gehen projektspezifisch geänderte Bibliotheksparameter verloren
    • Verlorene Code-Änderungen: Nach Schließen und Öffnen eines Projekts ist zuvor geänderter Code wieder weg
    • TwinCAT 4020 Probleme: Falsche Abarbeitung von IF-Bedingungen und Absacken von IndraDrive Z-Achsen

     

    Leitfaden für eine fehlerfreie Änderung der SPS-Applikation:

    Das Überspringen einzelner Schritte kann dazu führen, dass eines der oben genannten Probleme auftreten kann!

    1. [TwinCAT 4020 Probleme]
      Mit TwinCAT 3.1.4020 mindestens Master Image Version 2.12 verwenden.

    2. [Verlorene Bibliotheksparameter]
      Für TwinCAT 4024 gibt es noch keine Lösung. Unter TwinCAT 4022 ist das Problem nicht bekannt.
      Mit TwinCAT 3.1.4020.28 sicherstellen, dass die Bosch-Patches auf dem Entwicklungsrechner übernommen wurden.
      Bereitstellung der Patches über Nexeed.Helpdesk@bosch.com oder über die Bosch-interne Ablage:
      \\bosch.com\dfsrb\DfsDE\DIV\BCI\Nexeed\Automation\ControlPlus\Common\TwinCAT3\4020.28\Bugfix\XAE-Pat...

    3. [Verlorene Code-Änderungen]
      Für TwinCAT 4020 gibt es bisher keine Lösung.
      Ab TwinCAT 4024.22 und neuer muss man beim Schließen von Tabs in TwinCAT beachten:
      Wenn man ungespeicherte Änderungen verwirft, wird nur der Code vom geschlossenen Tab verworfen. Wenn es in derselben POU weitere ungespeicherte Änderungen gab, werden diese nun temporär im Editor als gespeichert gehalten und landen im Kompilat, d.h. auch auf der Maschine oder in einer Bibliothek. Auf Datei-Ebene fehlt dieser Code jedoch, sodass Kompilat und Projektarchiv nicht konsistent sind. Der Code ist nach Schließen des ganzen Projekts unwiderruflich verloren ist. Zu beachten ist, dass der Projektvergleich mit dem Zielsystem dadurch auch falsche Informationen anzeigt.
      Ab TwinCAT 4024.22 sollte man deshalb bei diesem Dialog niemals "Nein" klicken, wenn es in derselben POU noch weitere ungespeicherte Änderungen gibt:
      SteffenR_0-1713468027409.pngSteffenR_1-1713468033839.png

    4. [IO Problem + OPC UA Problem + Boot-Projekt]
      SPS-Projekt Einstellungen überprüfen, da diese mit der Funktion „Update PlcProject from Target“ verloren gehen:
      1. Häkchen TMC-Datei muss gesetzt sein:
        SteffenR_0-1703158418682.png
      2. Auf dem Zielsystem alle OCM-Dateien im Boot-Ordner löschen, z.B.
        C:\TwinCAT\3.1\Boot\Plc\Port_851.ocm
        Auf dem Entwicklungsrechner alle OCM-Dateien im Projektordner löschen, z.B.
        <Stat000>\Plc\_Boot\TwinCAT RT (x64)\Plc\Port_851.ocm
        Die OCM-Dateien existieren nur, falls in der Vergangenheit Symbolic Mapping aktiviert war.
      3. Häkchen Autostart Boot Project setzen und Symbolic Mapping entfernen:
        SteffenR_1-1703158418683.png
        Wichtig: Die Änderung muss bei selektiertem PlcProject mit "Projekt speichern" gesichert werden. Wenn stattdessen "Alles speichern" verwendet oder direkt übersetzt wird, setzt TwinCAT das Häkchen wieder (TwinCAT Bug).
      4. Fortfahren mit dem nächsten Abschnitt. Falls in diesem Abschnitt ein Häkchen geändert wurde, ist in den nächsten Abschnitten ein Activate Configuration notwendig.

    5. [Page Fault Exception 1]
      Wurde der Standard (Std) aktualisiert, eine Bibliotheksversion aktualisiert oder ein Bibliotheksparameter geändert?
      Wenn nein, diesen Absatz überspringen.
      1. Änderung eines Bibliotheksparameters mit Enter-Taste bestätigen, sodass anschließend das Diskettensymbol des SPS-Projekts rot wird:
        SteffenR_2-1703158418685.png
      2. Ganzes Projekt speichern, damit alle Diskettensymbole schwarz sind. Falls Diskettensymbole fehlen, Einstellung „Independent Project File“ anpassen.
        SteffenR_3-1703158418685.png
      3. Clean Projekt erfolgreich ausführen:
        SteffenR_4-1703158418686.png
      4. Alle HMI-Instanzen beenden (auf Zielsystem, mPad, Laptop, usw.).
        Beim Hotplug mPad zusätzlich die Kommandozeile beenden, damit die HMI nicht automatisch neugestartet wird.
      5. Activate Configuration ausführen; kein Online Change und kein Download.
        SteffenR_5-1703158418686.png
      6. Fortfahren mit dem nächsten Abschnitt.

    6. [Page Fault Exception 2 + Boot-Projekt + DatAccess.exe Fehler + DatAccess.exe Problem]
      Software-Änderung durchführen:
      1. Alle HMI-Instanzen beenden (auf Zielsystem, mPad, Laptop, usw.).
        Beim Hotplug mPad zusätzlich die Kommandozeile beenden, damit die HMI nicht automatisch neugestartet wird.
      2. DatAccess.exe auf dem Zielsystem schließen (gelbes Symbol in der Windows Taskleiste:SteffenR_6-1703158418686.png).
      3. Software-Änderung wie gewünscht mit Online Change, Download oder Activate Configuration ausführen.
        Bei Download oder Online Change das Häkchen für Boot-Projekt setzen:
        SteffenR_7-1703158418686.png
        Falls bei einem Online Change dieser zusätzliche Dialog erscheint, sollte mit Nein abgebrochen werden und stattdessen ein Download gemacht werden:
        SteffenR_8-1703158418687.png
        Falls anstatt dem Login-Dialog dieser Dialog erscheint, mit Nein abbrechen und stattdessen Activate Configuration ausführen:
        SteffenR_9-1703158418694.png
      4. Warten, bis die SPS wieder im RUN Modus ist (grünes TwinCAT Icon).
      5. DatAccess.exe auf dem Zielsystem wieder starten, z.B. über
        C:\OpconApp\OpconSystemStartup.bat oder
        C:\OpconApp\StartDatAccess.bat oder
        C:\OpconApp\DatAccess\DatAccess.exe
      6. HMI auf dem Zielsystem, usw. wieder starten, z.B. über
        C:\OpconApp\OpconSystemStartup.bat oder
        C:\OpconApp\StartHmi.bat

    7. [Boot-Projekt, früher auch IO Problem]
      TwinCAT neustarten, um Boot-Projekt zu testen.
      Solange das Häkchen "Symbolic Mapping" gesetzt war, musste dieser Schritt auch ausgeführt werden, um das IO Problem zu verhindern. Dies ist mit deaktiviertem Symbolic Mapping nicht mehr notwendig.
      1. Grünes TwinCAT Icon in Visual Studo / TcXaeShell zum Neustart klicken.
        SteffenR_10-1703158418694.png
        Alternativ auf dem Zielsystem über das TwinCAT Icon in der Windows Taskleiste Start/Restart ausführen oder auf dem Zielsystem Windows neustarten oder Hauptschalter der Maschine aus-/einschalten.
        SteffenR_11-1703158418695.png

     

    Die Probleme sind mit folgenden TwinCAT Runtime (XAR) Versionen bestätigt:

    • Page Fault Exception 1+2: alle TwinCAT-Versionen (aktuell 4020.28 bis 4024.47)
    • IO Problem: 4022.30, 4022.32, 4024.12, 4024.29
    • OPC UA Problem: 4022.30, 4024.47 (vermutlich aber alle)
    • DatAccess.exe Fehler: 4022.30 (vermutlich aber alle)
    • DatAccess.exe Problem: 4022.30 (vermutlich aber alle)
    • Boot-Projekt: 4022.30 (vermutlich noch mehr Versionen)
    • Verlorene Bibliotheksparameter: 4020.28, 4024.22 und neuer
    • Verlorene Code-Änderungen: 4020.28, 4024.29/32
    • TwinCAT 4020 Probleme: 4020.28

     

    Screenshots zur Visualisierung der Probleme:

    • OpconBase Page Fault Exception:
      Page Fault Exception in der OpconBase Bibliothek in einer beliebigen Bibliotheksmethode, häufig vorkommend sofort nach SPS-Start:
      Extension._panelSwitch
      SqC_Run.Work
      Addon._stdExecFsm;
      häufig vorkommend nach Meldungsquittierung in der HMI:
      InfoStorage.xxx
      WarningStorage.xxx
      ErrorStorage.xxx
      SteffenR_12-1703158418696.pngSteffenR_13-1703158418696.png
      SteffenR_14-1703158418698.png

    • IO Problem:
      • SPS setzt Achs-Zielposition auf 2105mm:
        SteffenR_15-1703158418714.png
        Auf dem Bus kommt nur eine 0 an und der Antrieb fährt auch tatsächlich auf Position 0mm (falls keine Endschalter vorhanden):
        SteffenR_16-1703158418729.png

      • SPS-Variable mit Achs-Sollgeschwindigkeit 60mm/s:
        SteffenR_17-1703158418738.png
        Verlinktes Bus-Symbol enthält Wert -1033371648, welcher als ca. 300.000mm/s auf dem Antrieb ankam:
        SteffenR_18-1703158418747.png

      • Antrieb hat erfolgreich positioniert und setzt entsprechend das Statuswort:
        SteffenR_19-1703158418749.png
        In der SPS kommt ein anderer Wert an, weshalb das Achsobjekt im ExecState RUNNING hängen bleibt:
        SteffenR_20-1703158418751.png

      • Die SPS setzt einen Ausgang (Ventil für Greifer) dauerhaft auf TRUE (Greifer geschlossen), aber auf dem Bus wechselt der Wert zur Laufzeit immer wieder auf 0, wodurch der Greifer öffnet und das Werkstück fallen lässt:
        (Video 1 in neuem Fenster öffnen oder Video 2 in neuem Fenster öffnen)
        SteffenR_22-1703158418784.png

    • DatAccess Problem:
      Einzelne Werte sind falsch in der SPS, obwohl die Daten erfolgreich geladen wurden. In der Applikation wird auf diese Variable nirgends absichtlich geschrieben.
      SteffenR_0-1703162660828.png
    • Diese fehlerhafte TwinCAT-Funktion löscht das TMC-Häkchen. Mit dieser Funktion wird das SPS-Projekt auf dem Entwicklungsrechner aktualisiert mit der auf dem Zielsystem abliegenden Version, z.B. um Änderungen auf dem Entwicklungsrechner rückgängig zu machen.
      SteffenR_23-1703158418786.png
      Alternativ kann diese fehlerfreie Funktion verwendet werden:
      SteffenR_24-1703158418788.png
    Version history
    Last update:
    2 weeks ago
    Updated by:
    Attachments
    Contributors
    Icon--AD-black-48x48Icon--address-consumer-data-black-48x48Icon--appointment-black-48x48Icon--back-left-black-48x48Icon--calendar-black-48x48Icon--center-alignedIcon--Checkbox-checkIcon--clock-black-48x48Icon--close-black-48x48Icon--compare-black-48x48Icon--confirmation-black-48x48Icon--dealer-details-black-48x48Icon--delete-black-48x48Icon--delivery-black-48x48Icon--down-black-48x48Icon--download-black-48x48Ic-OverlayAlertIcon--externallink-black-48x48Icon-Filledforward-right_adjustedIcon--grid-view-black-48x48IC_gd_Check-Circle170821_Icons_Community170823_Bosch_Icons170823_Bosch_Icons170821_Icons_CommunityIC-logout170821_Icons_Community170825_Bosch_Icons170821_Icons_CommunityIC-shopping-cart2170821_Icons_CommunityIC-upIC_UserIcon--imageIcon--info-i-black-48x48Icon--left-alignedIcon--Less-minimize-black-48x48Icon-FilledIcon--List-Check-grennIcon--List-Check-blackIcon--List-Cross-blackIcon--list-view-mobile-black-48x48Icon--list-view-black-48x48Icon--More-Maximize-black-48x48Icon--my-product-black-48x48Icon--newsletter-black-48x48Icon--payment-black-48x48Icon--print-black-48x48Icon--promotion-black-48x48Icon--registration-black-48x48Icon--Reset-black-48x48Icon--right-alignedshare-circle1Icon--share-black-48x48Icon--shopping-bag-black-48x48Icon-shopping-cartIcon--start-play-black-48x48Icon--store-locator-black-48x48Ic-OverlayAlertIcon--summary-black-48x48tumblrIcon-FilledvineIc-OverlayAlertwhishlist