# Beckhoff SPS schaltet den Ausgang nicht?!?!



## Heinrich951 (22 September 2021)

Hallo zusammen,

das ist hier mein erster Beitrag, wenn er nicht ganz rein passt bitte ich das zu entschuldigen. Zu meinem Problem:

Ich baue gerade im Rahmen meiner Bachelorarbeit eine ganz simple SPS von Beckhoff auf um mich mit der Programmierung und TwinCAT 3.1 (Build 4018.26) zu befassen. Später sollen auch noch Safety-Klemmen hinzukommen aber erst mal Schritt für Schritt.
Mit simpler SPS meine ich:

- Beckhoff CX5140 (TwinCAT 3.1 läuft auf diesem IPC)
- 1 x EL1809 16-Digitale Inputs
- 1 x EL 2809 16 Digitale-Outputs

An die Input-Klemme habe ich lediglich an Channel 1 einen Taster (NC) und an die Output-Klemme Channel 1 eine LED geklemmt.

Zunächst habe ich den Bus gescannt und auch meine Klemmen gefunden. Durch erstellen des PLC-Projekt wird ja automatisch eine PLC-Task erzeugt die ich den Klemmen zugeordnet habe. Danach habe ich ein kleines Programm geschrieben, globale Variablen erzeugt und die entsprechenden In & Outputs zugewiesen. Jetzt kommt der problematische Teil: es funktioniert eigentlich alles, bis auf die Tatsächliche Ausgabe des Outputs. D.h. der Taster wird eingelesen, ändert in einer If-Anweisung auch den Status des Outputs und die verbundene Output-Variable im Prozessabbild wird gesetzt, ABER der Output schaltet die LED nicht an. 

Ich bin jetzt schon seit 2 Tagen an der Fehlersuche dran und verzweifle langsam. Ich hab auch schon viele Seiten durchforstet, immer wieder was vielversprechendes gefunden was dann aber nicht funktioniert hat. 

Nur mal ein kleiner Überblick über die Dinge die ich schon probiert habe.
- Verdrahtung geprüft & geändert
- unterschiedliche Ausgänge verwendet
- Klemmen getauscht
- SPS auf Hutschiene gesetzt.
- Projekt neu erstellt
- etc. (kann mich leider nicht an alles erinnern  )

Ich habe jedoch eine Vermutung, laut Beckhoff wird bei dem Übergang von dem SAFEOP auf den OP-Modus vom EtherCAT-Slave überprüft ob die Sync-Manager-Kanäle und die Prozessdatenkommunikation fehlerfrei ist. Dabei kann er die Klemmen in einen sicheren Modus versetzen, sollte dies nicht der Fall sein, und damit die Ausgänge freischalten. Sowohl die Input als auch die Output-Klemme befinden sich in dem Modus SAFEOP und ich gehe davon aus das eventuell da mein Problem liegt. Ich weiß allerdings nicht wie ich das beheben kann. 

Ein weiterer Ansatz wäre die frage ob die Hutschiene geerdet sein muss. Momentan liegt der ganze Aufbau auf meinem Schreibtisch in der Realität wäre diese ja an der geerdeten Montageplatte eines Schaltschrankes befestigt.

Ich hänge noch mal Bilder von den Ausschnitten aus TwinCAT an und auch die Beschreibung des SAFEOP-Modus.

Ich hoffe irg. jemand kann mir hier helfen.
Vielen Dank schon mal

VG


----------



## Chräshe (22 September 2021)

Vielleicht folgendes vergessen?

[F5] Starten des Programms

https://infosys.beckhoff.com/index.php?content=../content/1031/tc3_plc_intro/2525041803.html


----------



## Heinrich951 (22 September 2021)

Hallo Chräshe,
Nein, die SPS habe ich in den Run-Modus gesetzt. Ich kann mir auch die tatsächlichen Pegelwechsel der Variablen in meiner GVL oder im Programm angucken. Das sollte nicht das Problem sein.

trotzdem Danke für die Antwort


----------



## Chräshe (22 September 2021)

Heinrich951 schrieb:


> Ich habe jedoch eine Vermutung, laut Beckhoff wird bei dem Übergang von dem SAFEOP auf den OP-Modus vom EtherCAT-Slave überprüft ob die Sync-Manager-Kanäle und die Prozessdatenkommunikation fehlerfrei ist. Dabei kann er die Klemmen in einen sicheren Modus versetzen, sollte dies nicht der Fall sein, und damit die Ausgänge freischalten. Sowohl die Input als auch die Output-Klemme befinden sich in dem Modus SAFEOP und ich gehe davon aus das eventuell da mein Problem liegt. Ich weiß allerdings nicht wie ich das beheben kann.


Klar, alle Klemmen müssen in OP-Modus kommen.
Haben deine Klemmen eventuell keine 24V?
Die + und – am CX5140 müssen auch mit 24VDC versogt werden…


----------



## Heinrich951 (22 September 2021)

Chräshe schrieb:


> Klar, alle Klemmen müssen in OP-Modus kommen.
> Haben deine Klemmen eventuell keine 24V?
> Die + und – am CX5140 müssen auch mit 24VDC versogt werden…


Ja, 24V & 0V für den PC sind angeschlossen und auch + & - für die Powerkontakte. Beides jedoch aus dem selben Netzteil, sollte ja aber keine Probleme darstellen!?


----------



## Chräshe (22 September 2021)

Heinrich951 schrieb:


> Ja, 24V & 0V für den PC sind angeschlossen und auch + & - für die Powerkontakte. Beides jedoch aus dem selben Netzteil, sollte ja aber keine Probleme darstellen!?


Das ist OK.

Vielleicht die ganze Kiste ausschalten, inklusive Notebook.
Danach von vorn anfangen:

- Programm vollständig übersetzen
- Steuerung verbinden
- Konfiguration aktivieren
- Programm übertragen
- Programm mit [F5] starten…


----------



## oliver.tonn (22 September 2021)

Da kann auch nichts rausgehen. Solange der Bus und alle Slaves nicht im OP sind geht bei den Ausgängen gar nichts.
Wie @Chräshe schon schrieb muss auch die Konfiguration aktiviert werden. Ist das erfolgt.
Mach bitte mal einen Screenshot von der kompletten Entwicklungsumgebung samt der Taskleiste. Es gibt da nämlich noch die eine oder andere weitere Möglichkeit warum es nicht geht.
In welchem Zustand ist denn der Master?
Steht in der Statusleiste etwas?
In welchen Zustand geht der Master und die Slaves wenn Du in den Konfigmodus gehst, die E/A-Geräte lädst und den Freerun aktivierst?


----------



## Heinrich951 (22 September 2021)

Chräshe schrieb:


> Das ist OK.
> 
> Vielleicht die ganze Kiste ausschalten, inklusive Notebook.
> Danach von vorn anfangen:
> ...


Leider keinen Erfolg damit gehabt. Habe ich auch schon ein paar mal gemacht.



oliver.tonn schrieb:


> Wie @Chräshe schon schrieb muss auch die Konfiguration aktiviert werden. Ist das erfolgt.


Ja ist erfolgt.


oliver.tonn schrieb:


> In welchem Zustand ist denn der Master?


So wie ich das sehen kann ist laut dem einen Bild der Master in OP und die beiden Module in SAFEOP.


oliver.tonn schrieb:


> Steht in der Statusleiste etwas?


Statusleiste gibt eigentlich immer nur Meldungen aus. Sonst keine Fehler oder Warnungen.


----------



## oliver.tonn (22 September 2021)

Was mir da gerade auffällt. Läuft die Entwicklungsumgebung auch auf dem CX?
Falls nein wundert es mich, dass er die Klemmen überhaupt gefunden hat und das Du Signale bekommst, denn in dem Fall wäre das falsche Zielsystem ausgewählt. Da darf nicht lokal stehen, sondern da muss Dein CX stehn.


----------



## Heinrich951 (22 September 2021)

oliver.tonn schrieb:


> Was mir da gerade auffällt. Läuft die Entwicklungsumgebung auch auf dem CX?
> Falls nein wundert es mich, dass er die Klemmen überhaupt gefunden hat und das Du Signale bekommst, denn in dem Fall wäre das falsche Zielsystem ausgewählt. Da darf nicht lokal stehen, sondern da muss Dein CX stehn.


Ja genau, TwinCAT läuft auf dem CX.

Könnte es da zu Problemen kommen? Aber sollte ja eigentlich eher an irg einer Konfiguration liegen wenn sonst alles läuft.


----------



## oliver.tonn (22 September 2021)

Heinrich951 schrieb:


> Ja genau, TwinCAT läuft auf dem CX.


Das war mir klar, war aber auch nicht ganz meine Frage.
TwinCAT besteht aus zwei Teilen, der XAR abgekürzten Runtime die benötigt wird um SPS-Programme auf einem System laufen zu lassen und die mit XAE abgekürzte Entwicklungsumgebung. Beide Teile können auf dem selben System genutzt werden, müssen es aber nicht und da setzte meine Frage an. Programmierst Du mit dem Visual Studio auch direkt auf der CX oder läuft das VS auf einem anderen Rechner.


----------



## Heinrich951 (22 September 2021)

oliver.tonn schrieb:


> Programmierst Du mit dem Visual Studio auch direkt auf der CX oder läuft das VS auf einem anderen Rechner.


Ich würde das mit einem Ja beantworten. 

Zum Background: Der CX stammt aus einer älteren Version einer unserer Fräsmaschinen, welche umgerüstet wurde. Ich starte Visual Studio immer direkt über den CX und komme dann in die TwinCAT-Umgebung. Da er aber auch schon vorher für die Steuerung von unserer Fräsmaschine eingesetzt wurde bin ich davon ausgegangen das sowohl XAE als auch XAR vorhanden sind.


----------



## oliver.tonn (22 September 2021)

Wenn das VS darauf gestartet wurde ist die XAE und XAR vorhanden, wäre letztere nicht vorhanden könntest Du nichts übertragen.
Du schriebst, dass die Anlage aus der der CX ausgebaut wurde schon relativ alt ist. Welche TC3 Version läuft denn da drauf?
Und sind die Klemmen neu oder alt?
Falls die Klemmen neuer sind mach mal bitte die Topologie (Master Eigenschaften öffnen und Reiter Topologie wählen) auf und da einen Online Vergleich mit den gefundenen Geräten (Online-->Vergleiche mit-->Gefundene Geräte)


----------



## Heinrich951 (22 September 2021)

oliver.tonn schrieb:


> Welche TC3 Version läuft denn da drauf?


Also die TwinCAT Version ist 3.1 (Build 4018.26). 


oliver.tonn schrieb:


> Und sind die Klemmen neu oder alt?
> Falls die Klemmen neuer sind mach mal bitte die Topologie (Master Eigenschaften öffnen und Reiter Topologie wähle) auf und da einen Online Vergleich mit den gefundenen Geräten (Online-->Vergleiche mit-->Gefundene Geräte)


Werde ich morgen noch mal beides probieren und mich dann noch mal melden. Aber danke schon mal


----------



## oliver.tonn (22 September 2021)

Was mir noch einfällt, eine Abschlussklemme (KL9010) hast Du nicht aus versehen ans Ende gehängt?
Obwohl, dann dürfte er die Teilnehmer auch nicht finden.
Lizenzen sind vorhanden/aktiv?


----------



## Heinrich951 (22 September 2021)

oliver.tonn schrieb:


> Was mir noch einfällt, eine Abschlussklemme (KL9010) hast Du nicht aus versehen ans Ende gehängt?


Das ist ja die Endklemme, die hat ja nur die Funktion die E-Bus Kontakte zu schützen. Die wurde auch automatisch eingefügt. 


oliver.tonn schrieb:


> Lizenzen sind vorhanden/aktiv?


Das ist mir eben auf dem Heimweg auch eingefallen, ich meine ich habe gesehen das eine Lizenz aktiv ist aber ich bin mir nicht ganz sicher. Da wir auch manchmal Lizenzklemmen verwenden wäre die Frage ob evtl. So eine fehlt. Das werde ich morgen noch mal erfragen.


----------



## oliver.tonn (22 September 2021)

Heinrich951 schrieb:


> Das ist ja die Endklemme, die hat ja nur die Funktion die E-Bus Kontakte zu schützen. Die wurde auch automatisch eingefügt.


Nein, ich meinte die KL9010, also die Endklemme für den K-Bus. Allerdings sollte das Scannen vermutlich auch nicht funktionieren, wenn diese aus versehen montiert worden wäre.


----------



## Guga (22 September 2021)

4018.26 ist schon eine Ansage. Gefühlt dürfte diese mind 4 Jahr alt sein. Ich würde das XAE und XAR hochziehen.

Wenn der Bus im SAFEOP verbleibt wäre meine Vermutung dass du die Lizenz als Dongle (EL6070) definiert hast, aber es diese Lizenz eben nicht gibt. Wie der Stand der Dinge bei 4018 war kann ich allerdings nicht mehr sagen.
Also Check mal im Lizenz-Knoten auf einem der Tabs die Online-Lizenzen (oder auf dem Zielsystem (über die TwinCAT Ikone unten rechts möglich). Es müsste dazu dann auch einen Eintrag im Error-Fenster von TwinCAT zu sehen sein (die man gerne übersieht).

Guga


----------



## Heinrich951 (23 September 2021)

oliver.tonn schrieb:


> Lizenzen sind vorhanden/aktiv?





Guga schrieb:


> Also Check mal im Lizenz-Knoten auf einem der Tabs die Online-Lizenzen (oder auf dem Zielsystem (über die TwinCAT Ikone unten rechts möglich). Es müsste dazu dann auch einen Eintrag im Error-Fenster von TwinCAT zu sehen sein (die man gerne übersieht).


Ich hänge zu der Lizenzgeschichte noch mal 2 Bilder an. Ich werde nicht ganz schlau daraus, aber der Status "pending (dongle) " lässt mich vermuten das keine gültige Lizenz vorliegt, richtig?


----------



## Guga (23 September 2021)

Pending Dongle: Erwartungshaltung dass die Lizenz über den Dongle kommt. Das Pending bedeutet dabei das die Lizenz nicht verfügbar ist.
=> also genau das was ich vermutet habe.
Du kannst einfach mal im Lizenzknoten 7-Tages Lizenzen generieren und das System neu starten. Dann sollte das System anlaufen.


----------



## Heinrich951 (23 September 2021)

Guga schrieb:


> Du kannst einfach mal im Lizenzknoten 7-Tages Lizenzen generieren und das System neu starten. Dann sollte das System anlaufen.


Habe ich jetzt mal gemacht, leider ist das System immer noch im SAFEOP-Modus und der Status pending hat sich auch nicht geändert. Habe auch mal die Lizenz ID im Lizenz-File und in TC verglichen, die stimmen auch überein. Hm


----------



## Guga (23 September 2021)

Ich habe in meinen Notizen nachgeschaut. 4018.26 ist wohl die erste Version wo die EL6070 tatsächlich funktionieren soll.
Ich habe jetzt deine Screenshots mal genauer angeschaut (wenigstens das was man sieht). Laut dem hast du eine Volumenlizenz die über eine EL6070 funktioniert.

Interessanterweise ist auf deinem Screenshot nur die digitale Eingangs und digitale Ausgangsklemme konfiguriert.
Ich gehe also mal davon aus das es keine physikalische EL6070 gibt.
Geh mal in das Verzeichnis C:\TwinCAT\3.1\Target\License auf dem CX und lösche alle Dateien (also irgendwohin verschieben).
Danach generierst du noch einmal die 7 Tage Lizenz und probierst es nochmal aus. 
Ich gehe jetzt nicht davon aus das du unter den Lizenzknoten noch einen ChildKnoten erstellt hast. Korrekt? 

Guga


----------



## Heinrich951 (23 September 2021)

Guga schrieb:


> Ich gehe also mal davon aus das es keine physikalische EL6070 gibt.


Ja das ist korrekt, das Lizenzsystem von Beckhoff war mir vorher noch nicht so ganz schlüssig. Also ich habe aktuell keine Lizenzklemme verbaut.


Guga schrieb:


> Geh mal in das Verzeichnis C:\TwinCAT\3.1\Target\License auf dem CX und lösche alle Dateien (also irgendwohin verschieben).
> Danach generierst du noch einmal die 7 Tage Lizenz und probierst es nochmal aus.


Das mache ich jetzt noch mal aber ich frage auch noch mal einen Kollegen der evtl. noch eine Lizenzklemme frei zur Verfügung hat.

Vielen dank auf jeden Fall schon mal. 


Guga schrieb:


> Ich gehe jetzt nicht davon aus das du unter den Lizenzknoten noch einen ChildKnoten erstellt hast. Korrekt?


Ich habe was das angeht keine Änderungen vorgenommen also denke ich mal nicht.


----------



## Heinrich951 (23 September 2021)

Es Läuft jetzt.


----------

