# Problem mit Beckhoff PLC-Programm



## Cerberus (6 Juli 2007)

Hallo,

Ich habe folgendes Problem mit einigen meiner PLC-Programme:

Im laufenden PLC-Programm (eingeloggt und gestartet) habe ich keine Verbindung mit den Anschlüssen meiner Klemmen und kann übers Programm nicht einmal digitale Ausgänge schalten.

Es liegt aber definitiv nicht an den Variablenverknüpfungen im System-Manager.

Diese Problem tritt auch nicht bei allen PLC-Programmen auf.

Zusätzlich kommt bei den fehlerhaften Programmen nach einiger Zeit die Fehlermeldung:
Kommunikationsfehler (#2): Es wird ausgeloggt.

Habe folgenden Aufbau:

Profibus-Karte:      FC3101
Klemmen:             BK6021
                          KL1104
                          KL2134
                          KL6021
                          KL9010

TwinCat-Version:
                          2.10    Build 1313


----------



## Cerberus (6 Juli 2007)

*Hab noch was vergessen!*

Was ich noch hinzufügen wollte:

Wenn ich das Programm im Systemmanager "von Hand" durchführe funktioniert es einwandfrei.

Kann mir jemand weiterhelfen??


----------



## Bührer (6 Juli 2007)

Bist du sicher, dass das PLC-Control und der Systemmanager übereinstimmen.
Ich hatte auch immer Probleme. Dann habe ich angefangen nach den folgenden Schritten vorzugehen. Diese Schritte würde ich immer durchmachen, wenn eine neue Verknüpfung im Systemmanager gemacht wurde:

1. Im PLC-Control -> Projekt -> Alles bereinigen  (Twincat_configuration löschen  (Knopf Nein drücken))
2. Im PLC-Control -> Projekt -> Alles Übersetzten
3. Im Systemmanager (auf der linken Seite)  SPS-Konfiguration auswählen. Dein Projket auswählen oder neu Einlesen durchführen.
4. Im PLC-Control -> Projekt -> Alles Übersetzten
5. Im PLC-Control -> Online  / Einloggen und ein Bootprojekt erzeugen. Nicht die SPS starten.  Dann ausloggen
6. Im Systemmanager -> Aktionen -> Aktiviert Konfiguration...  
7. In den Runmodus wechseln mit Ja beantworten.

Jetzt sollte deine Applikation ohne Probleme laufen.


----------



## drfunfrock (9 Juli 2007)

Überprüfe auch einmal die Statusregister der Klemmen. Dort sollte im Freilauf kein Fehler auftreten.


----------



## Cerberus (9 Juli 2007)

Danke für eure Tipps!

Ich habe zwar dadurch erfahren, dass im Systemmanager noch eine alte Konfiguration eingebunden ist, aber die Probleme bestehen trotzdem noch.:???:


----------



## trinitaucher (9 Juli 2007)

"Kommunikationsfehler" treten immer dann auf, wenn die TwinCAT-Runtime ausfällt, also das Programm "PLC-Control" keine Verbindung zum AMS-Message-Router mehr hat.
Bei mir tritt der Fehler immer dann auf, wenn ich TwinCAT neustarte, aber vergessen habe, mich zuvor mit PLC-Control auszuloggen.



> Im laufenden PLC-Programm (eingeloggt und gestartet) habe ich keine Verbindung mit den Anschlüssen meiner Klemmen und kann übers Programm nicht einmal digitale Ausgänge schalten.


Was meinst du mit "übers Programm"? (welches Programm genau?)


----------



## Cerberus (9 Juli 2007)

Mit "Programm" meine ich mein selbst geschriebenes PLC-Programm, mit dem ich einen Format-Verstellantrieb über RS485 ansteuere. Dieses läuft dann in TwinCAT PLC-Control.


----------



## trinitaucher (9 Juli 2007)

Kannst du denn trotz des Kommunikationsfehlers im "Free-Run"-Modus im System-Manager die Ausgänge setzten und geschaltete Eingänge sehen?
Wenn ja, ist die Kommunikationsverbindung definitiv schonmal in Ordnung. Der Fehler wäre beim SPS-Programm oder der PLC-Runtime zu suchen.


----------



## Cerberus (9 Juli 2007)

Kann im Free-Run-Mode Ausgänge setzen und Eingänge einlesen.

Dass der Fehler in der PLC-Runtime zu suchen ist, halte ich für falsch, da ich auch andere PLC-Programme laufen lassen kann, die dann einwandfrei funktionieren.
Kann leider auch kein Fehler im SPS-Programm finden.


----------



## drfunfrock (9 Juli 2007)

Eine andere Möglichkeit ist die, ein neues Projekt aufzusetzen und die IOs nur toggeln zu lassen oder nur einzulesen. Nur einmal zum testen.


----------



## Cerberus (9 Juli 2007)

Diese Idee hab ich auch schon getestet. Funktioniert aber leider auch nicht.


----------



## trinitaucher (9 Juli 2007)

Na dann wird's mit Sicherheit an den Einstellungen im PLC-Programm liegen.
Richtige Runtime ausgewählt? Einstellungen im Programm = Einstellungen im System Manager?

Es muss ja einen Unterschied zu den korrekt laufenden Programmen geben.


----------



## drfunfrock (9 Juli 2007)

Dann mach mal folgendes:

Fahre die SPS in den Runmodus, so dass du Probleme bekommst und stoppe die SPS dann. Anschliessend gehe in den Freilaufmodus und versuche die Statusregister zu lesen. So ein Verhalten gibt es nur, wenn die Kommunikation Probleme macht. Ich würde die Profibus-Karte nicht ausschliessen.


----------



## Cerberus (9 Juli 2007)

Welche Statusregister meinst du? Habe die Fehler- bzw. Onlineanzeigen der Klemmen bzw. der Profibus-Karte im System-Manager ausgelesen und da wurde kein Fehler angezeigt. Kann es sein, dass dieser gelöscht wird, weil ich einen Neustart mache, um in den Free-Run-Mode zu kommen?


----------



## trinitaucher (9 Juli 2007)

@ Cerberus:

Was fürn's Profibus-Koppler nutzt du?  Mit BK*60*21 meinst du bestimmt nur die Serielle Klemme.


----------



## Cerberus (9 Juli 2007)

Die KL 6021 ist die RS485-Klemme, Buskoppler hab ich den BK 3120.


----------



## drfunfrock (9 Juli 2007)

Ja zu jeder Klemme und Karte etc. gibt es Statusregister. Die haben mir bisher immer geholfen. Ich denke, die werden auch im Betrieb aktualisiert. Zumind. kannst du die im SPS-Programm abfragen und schickst das Resultat über die RS485 Leitung oder so. 

Ansonsten, wenn du noch einen anderen Buskoppler (z.B. mit Ethercat) hast, probier den mal aus.


----------



## Cerberus (9 Juli 2007)

Kannst du mir sagen, wie ich die Status-Register finde?

Habe noch einen EtherCat-Aufbau. Werds mit dem auch mal probieren.


----------



## drfunfrock (9 Juli 2007)

Im Systemmanager gibt es welche für jedes Device, Buskoppler und jede Klemme, da wo auch die IOs sind. Es sind die gelben Nur-Lese-Register. Die kann man mit einer Variable koppeln und schon hat man Zugriff im Programm.


----------



## drfunfrock (9 Juli 2007)

Im Systemmanager gibt es welche für jedes Device, Buskoppler und jede Klemme, da wo auch die IOs sind. Es sind die gelben Nur-Lese-Register. Die kann man mit einer Variable koppeln und schon hat man Zugriff im Programm.


----------



## Cerberus (9 Juli 2007)

Habe die mal ausgelesen. Fehler in dem Sinn werden keine angezeigt, aber die Profibus-Karte zeigt an, dass öfters, wenn ein TwinCAT-Zyklus beginnt, der vorangegangene Bus-Zyklus noch nicht abgeschlossen ist. Scheint so als gäbe es Probleme mit der Kommunikation zwischen Profibus-Karte und Buskoppler.


----------



## trinitaucher (9 Juli 2007)

Mit was für Zykluszeiten fährste denn?


----------



## Cerberus (9 Juli 2007)

Fahr bei der Karte mit ner Zykluszeit von 10 ms.


----------



## drfunfrock (9 Juli 2007)

Das sieht wirklich so aus, als wäre deine Zykluszeit zu klein. Das gibt solche Fehler. Ich habe das mal mit einem Buskoppler (TCP/IP)  und dem K-Bus erlebt, weil ich 4 RS232-Klemmen dran hatte, konnte ich den den Zyklus nicht wie empfohlen auf 1ms setzen. Seitdem ist für mich Ethercat der Bus schlechthin. 

Setze einfach mal den Zyklus versuchsweise hoch.


----------



## trinitaucher (9 Juli 2007)

sehe ich auch so!


----------



## Cerberus (10 Juli 2007)

Also den Kommunikationsfehler bin ich jetzt los. Dieser hatte seinen Ursprung darin, dass das Watchdog-Intervall min. doppelt so groß wie die Zukluszeit sein muss und es bei mir wesentlich kleiner war.

Aber leider habe ich immer noch das Problem, dass ich im laufenden PLC-Programm weiterhin keinen Zugriff auf meine Klemmen-Ein- / Ausgänge habe.
Zu diesem Punkt kommt auch noch so ne komische Fehlermeldung im System-Manager: "Der Slave3 (bei mir BK3120) meldet, dass der SAP nicht aktiviert ist."

Ich bezweifel zwar stark, dass einer von euch sich mit dieser Fehlermeldung schon mal beschäftigt hat, aber hoffe trotzdem, dass ihr mir nochmal weiterhelfen könnt!


----------



## Cerberus (11 Juli 2007)

Habs jetzt endlich mal geschafft, einen beim technischen Support bei Beckhoff zu erreichen. Echt mega super Service!:icon_evil: Habs jetzt scho drei Tage lang probiert und endlich geschafft!!

Die meinen, dass mein Programm zu lange braucht um einmal durchzulaufen und dadurch der Watchdog, der intern in der KL6021 bzw. in der KL2134 vorhanden ist, zuschlägt.

Werde jetzt mal mein Programm so umbauen, dass es öfters durchläuft und dann mal schauen wies aussieht.


----------



## Bührer (11 Juli 2007)

Ja beim Beckhoff Support muss man sich gedulden. Man muss mit mehreren Wochen bis Monate rechnen um eine Lösung für ein mittleres oder grösseres Problem zu erhalten.  Ich glaube die werden im Moment richtig überflutet von Anfragen. Schade kann man auf ihrer Homepage keine alte Fälle anschauen, das würde dem Support sicher einen grossen Teil der Arbeit abnehmen.


----------



## drfunfrock (11 Juli 2007)

Cerberus schrieb:


> Zu diesem Punkt kommt auch noch so ne komische Fehlermeldung im System-Manager: "Der Slave3 (bei mir BK3120) meldet, dass der SAP nicht aktiviert ist."



Und ich denke immer nocht, dass deine Zykluszeit zu klein ist. Der K-Bus ist langsam wie eine Schnecke. Man sieht in den Statusregistern des Buskopplers, wie lange das Aktualisieren des Prozessabildes im Buskoppler dauert und sollte die Zykluszeit entsprechend grösser wählen. Bei 4 RS232 Klemmen, benötigt der K-Bus schon ca. 1.2ms! Das kommt man schnell auf die 10ms deiner Anlage.


----------



## drfunfrock (11 Juli 2007)

Bührer schrieb:


> Ja beim Beckhoff Support muss man sich gedulden. Man muss mit mehreren Wochen bis Monate rechnen




Das ist absoluter FUD. Das Problem ist höchstens das des Kunden, der nicht in der Lage ist, Fehlerbeschreiben exakt anzugeben, weil er sich den Beckhoff-Kurs gespart hat oder auch sonst keine Erfahrung hat.


----------



## Cerberus (11 Juli 2007)

Meine auch nicht, dass der Technische Support von Beckhoff schlecht ist, er ist zur Zeit einfach nur viel beschäftigt.
Und wenn der Kunde Mist baut, kann der Technische Support noch lange nichts dafür, wenn es mehrere Stunden/Tage braucht, um den Fehler zu finden. Man kann als Unerfahrener so übelst böse Fehler einbauen, dass sogar ein sehr Erfahrener Beckhoff-User nicht dahinterkommt.

Was bei kleineren Problemen auch Abhilfe schafft, ist wenn man einfach mal in den Zweigstellen um Rat frägt. Denn auch die kennen sich größtenteils mit ihrer Software aus.


----------



## Bührer (11 Juli 2007)

drfunfrock schrieb:


> Das ist absoluter FUD. Das Problem ist höchstens das des Kunden, der nicht in der Lage ist, Fehlerbeschreiben exakt anzugeben, weil er sich den Beckhoff-Kurs gespart hat oder auch sonst keine Erfahrung hat.


 
Ja genau so reagiert ein Supporter bei Beckhoff. Zuerst ist der Kunde schuld. Dieses Verhalten kann ich ja noch irgendwie verstehen. Die bekommen sicher immer wieder Problemberichte die gar keine sind. Ich will ja nicht sagen, das der Support schlecht ist. Bis jetzt konnten sie (fast)alles lösen. Aber die Dauer war meisten Länger als nötig. Ich nehme auch nicht an, dass es bei allen Supportern gleich ist. Die Verzögerung lag meistens darin, dass sie (Mit sie meine ich die Supporter, mit welchen ich kontakt hatte) das Problem lange nicht als ein wirkliches Problem anerkennen.  

Ich weiss ja nicht wie es bei dir ist. Aber ich darf nicht ein fehlerhaftes Gerät(SPS oder Display), welches ich neu von Beckhoff erhalten habe, umtauschen. Ich muss dann zuerst alle Versionsnummern und eine Fehlerbeschreibung an Beckhoff senden. Darauf muss ich verschiedene Experimente mit dem Gerät durchführen, bis ich es entlich zur Reperatur zurück senden darf. Bei den Klemmen ist es kein Problem, die tauschen sie einfach um. Ist es bei dir anders?

Im Moment habe ich eine Fall am laufen, der ist schon über einen Monat alt. Als ich nach einem Monat reklamiert habe, dass es ein bischen lange geht, hat der Supporter gesagt, er hätte einen Kunden, der Warte schon 3 Monate. Ach ja ich habe eine Fehlerbeschreibung gemacht. 

Wie lange brauchen sie denn bei dir um Probleme zu lösen?


----------



## drfunfrock (11 Juli 2007)

Ich habe schon die verschiedensten Fehler gehabt und wie üblich, sass das Problem zwischen meinen Ohren. Das Problem ist, einen Fehler so zu beschreiben, dass der Support damit etwas anfangen kann und dazu sind nicht viele in der Lage. Auch mir ist es schon passiert, dass ich einen Fehler ungenügend beschrieben habe. Ich habe jedenfalls den Support bei Beckhoff als gut erlebt und kann nicht klagen. Im Regelfall habe ich die Antwort innerhalb von Stunden. 


Ich habe selbst einmal in dem Bereich gearbeitet und weiss, es ist kein Zuckerschlecken.


----------

