# Praxisphase - Überarbeitung/Erneuerung der Haussteuerung



## DavidN (16 April 2020)

Ein freundliches Hallo in die Runde, dies ist mein erster Beitrag in diesem Forum 

Ich habe vor kurzem meine Praxisphase angetreten und fürchte, dass ich mein Projekt ohne Hilfe nicht stemmen kann.:sw18:


Um was für ein Projekt geht es?
Meine Aufgabe ist es die bestehende Haussteuerung der Firma in der ich meine Praxisphase mache, zu überarbeiten/zu erneuern.
Die alte CPU (eine Wago PFC200) soll durch eine neue CPU der Siemens S7-1500er Reihe ersetzt werden.
Das alte Programm ist in der Software Codesys als Structured Text geschrieben und verfügt über eine Visualisierung, über die z.B. Lichter oder Temperaturen gesteuert werden können, das neue Programm soll mit dem TIA-Portal erstellen werden und ebenfalls über eine Visualisierung verfügen.
Die alte Visualisierung ist Java basiert und braucht demnach wohl regelmäßig Updates, was einer der Hauptgründe für die gewünschte Erneuerung ist.
Ich habe die letzten Tage damit verbracht das alte Programm zu studieren und zu verstehen, was mir soweit auch größtenteils gelingt, jedoch ist der Umfang des Programms schon relativ komplex und sparsam kommentiert.
Eine Dokumentation der bestehenden bzw. Vorgabe der gewünschten Funktionalitäten des Programms, an die ich mich halten könnte gibt es keine, diese müsste ich weitestgehend dem alten Programm entnehmen. Genannt wurde nur die Erweiterung um einen KNX-Bus, eine zusätzliche Funktion der Lichtsteuerung und der Wunsch auf ein besser strukturiertes Programm. Die alten I/O-Karten sowie die Verkabelungen können bestehen bleiben und ein entsprechender Stromlaufplan inklusive Benennungen der Kartenbelegungen ist vorhanden.
Die Firma stellt Schaltschränke her und hat entsprechend relativ große Hallen, aber auch kleinere Hallen, Büroräume, Tagungsräume, Kantine, usw. - insgesamt ca. 40 Räume.
Gesteuert werden Lichter, Heizungen, Rolladen, Schnelllauftore, Dachfenster und mehr.

Ich frage mich, wie ich das ganze am besten angehe. Ich habe noch nie ein so komplexes bzw. großes Programm geplant oder programmiert. Generell ist meine praktische Erfahrung im SPS Programmieren überschaubar und beschränkt sich auf das programmieren in Step 7 im Rahmen von Praktika im Studium.  
Würdet ihr euch zunächst nur auf Papier beschränken ausführlich alles durchplanen oder relativ früh anfangen im TIA-Portal mit dem Programmieren loszulegen?
Ich bin für jeglichen Input, Anregungen und Tipps dankbar!


----------



## Blockmove (16 April 2020)

Also eine Steuerung mit einem PFC200 kann eigentlich nicht alt sein.
Solange ist der PFC200 noch gar nicht auf dem Markt.
Wahrscheinlich wurde das Programm mit Codesys 2.x erstellt.
Daher benötigt die Visualisierung Java.
Nimmt man Codesys 3.5, das genauso auf dem PFC200 läuft, hat man eine moderne HTML-Visu.

Aber das hilft dir so nicht weiter 

Wichtig ist erstmal eine Bestandsaufnahme.
Welche Bussysteme bzw. Schnittstellen werden benötigt?
KNX hast du schon genannt. Bei HLK git es noch einige weitere M-Bus, Bacnet, ...
Für Beleuchtung wird gerne auch DALI verwendet.
Die Visualisierung ist das nächste Thema.
Eine 1500er hat keine integrierte Visu. Ja es gibt einen Webserver, aber für 40 Räume brauchst du da gar nicht anfangen.
Somit musst du erstmal abklären, wie die Visu aussehen soll?
Bedienung per Smartphone, Tablet, PC, Raumcontroller oder mit Siemens Panels?
Wie soll die Zeitsteuerung aussehen? Einbindung von z.B. Outlook-Kalendern oder ähnlichem?

Letztlich musst du das Projekt in Teilgewerke unterteilen und Step by Step von Wago nach Siemens umziehen.
Wenn schon KNX vorhanden ist, dann würde ich versuchen soviel Funktionalität wie möglich dorthin zu verlagern.
KNX läuft eigenständig und braucht keine "Zentralintelligenz". 

Gruß
Blockmove 

Programmieren ist bei dem Projekt sehr wahrscheinlich der allerkleinste Part.


----------



## DavidN (17 April 2020)

Blockmove schrieb:


> Letztlich musst du das Projekt in Teilgewerke unterteilen und Step by Step von Wago nach Siemens umziehen.


Meinst du das so, dass ich beide CPUs gleichzeitig anschließe und die neue CPU dann z.B. erst nur die Lichtsteuerung  übernehmen lasse, während die alte CPU weiterhin den Rest der Aufgaben übernimmt. Und dann Stück für Stück auch die anderen Aufgaben der neuen CPU übertrage? Oder wie war das gemeint?

Danke für deine Hilfe bis hier hin


----------



## DavidN (17 April 2020)

Oh, der Großteil meiner Antwort hat es wohl nicht geschafft

Also nochmal:
Mit alt meinte ich einfach die aktuelle CPU die ausgetauscht werden soll
Codesys v2.3, aber der Wechsel zu Siemens ist fix.
So weit ich weiß nur Ethernet, aber da frag ich noch mal nach.
Die Visualisierung ist eine Anwendung für den PC und kann von allen Rechnern aus bedient werden, das soll auch so bleiben.
Für die Zeitsteuerung reicht es denke ich aus, wenn sie im programm selbst festgelegt wird.


----------



## DavidN (17 April 2020)

Noch eine andere Frage die ich hätte:
Ist es möglich das vorhandene Programm in ST automatisch übersetzen zu lassen in FUP?
In Step 7 war dies teilweise möglich.


----------



## Blockmove (17 April 2020)

DavidN schrieb:


> Noch eine andere Frage die ich hätte:
> Ist es möglich das vorhandene Programm in ST automatisch übersetzen zu lassen in FUP?
> In Step 7 war dies teilweise möglich.



Nein.
SCL nach FUP geht auch bei Siemens nicht.


----------



## DavidN (17 April 2020)

Du hast Recht, das ging glaube ich nur mit AWL.
Ich habe tatsächlich eine Möglichkeit gefunden, den Code zu konvertieren, allerdings ist das ganze dann eine Art Mischung aus verschiedenen Sprachen, da sich nur teile in FUP übersetzen lassen.  Also auch nicht wirklich übersichtlicher.


----------



## DavidN (23 April 2020)

Ich habe jetzt eine vollständige Bestandsaufnahme gemacht und einen "Plan" ausgearbeitet:

Die Hardware für die Steuerung ist aufgeteilt auf 6 Schaltschränke.
Aktuell hat jeder dieser Schaltschränke einen Beckhoff BK9000 Buskoppler, an denen jeweils Beckhoff KLxxxx I/O-Karten stecken.
Die I/O Karten sollen nach Möglichkeit weiterverwendet werden, deshalb ist die Idee die BK9000 auszutauschen gegen BK9103.
Diese könnten dann über Profinet mit der S7-1500 verbunden werden. Über Profinet könnte dann auch ein Triple X Profinet + KNX Gateway angebunden werden. 
Ich hatte erst überlegt, ob man nicht ein paar von den Kopplern weglassen kann und stattdessen die I/O-Karten von z.B. zwei Schränken mittels KL9020/KL9050 an einen gemeinsamen Kopller zu hängen. Diese dürften dann allerdings max. 5m voneinander entfernt sein, was sie nicht sind.

Macht der Plan bzw. das Setup soweit Sinn?

LG


----------



## Blockmove (23 April 2020)

Schau mal hier
KNX-Kommunkation über KNXnet/IP mit Siemens S7-1500/S7-1200; TIA-Portal

Dafür reicht ein einfaches KNX-IP-Interface


----------



## DavidN (24 April 2020)

Also die KNX-Anbindung würde erst ganz am Ende erfolgen, wenn der Rest schon läuft.
Wichtig ist natürlich erstmal, dass alles andere funktioniert, damit der tägliche Betrieb wie gehabt weiter laufen kann, mit funktionierender Steuerung.
Die KNX-Erweiterung ist dann eher ein Bonus, wenn alles andere schon funktioniert, deshalb will ich da aktuell noch nicht zu sehr meinen Fokus drauf setzen.
Mir geht es gerade eher darum abzuwägen, welche der zwei Varianten die sinnvollere ist:

Entweder die Beckhoff KL-Klemmen beizubehalten und diese über die BK9103 Buskoppler und Profinet mit der S7-1500 zu verbinden, oder doch lieber komplett alles auf Siemens umzustellen.
Vor allem für Variante 1 würde ich gerne Vor- und Nachteile sammeln, die am besten auf Erfahrungswerte basiert sind, die ich selbst leider nicht habe.
Wie sieht es beispielsweise mit der Konfiguration von diesen Kopplern aus? So weit ich weiß, müssen diese noch über die Software KS2000 konfiguriert werden?
Also wenn jemand irgendwelche Informationen bezüglich dieser ganzen Themen hat, würden mir diese sehr weiter helfen!


----------



## Nost (24 April 2020)

Wenn du die Ethernet Koppler (Modbus TCP) gegen Profinet tauschst solltest du prüfen ob die Ethernet Switches Profinet fähig sind.
Modbus TCP kannst du z.b. über so ziemlich alles schicken.
Für Profinet brauchst du eine dafür geeigneten Switch.
Grundsätzlich wäre ein Wechsel von Codsys 2.3 auf 3.0 mit der bestehenden Steuerung möglich und die einfachste und effizienteste Lösung. 
Da du dann auch eine HMTL basierende Webvisu hättest.
Aber so wie ich es verstanden habe soll es ja auch ein wenig aufwendiger sein.


----------



## DavidN (25 April 2020)

Die Switches würde ich doch gar nicht mehr benötigen, oder?
Könnte ich nicht direkt von CPU zu Koppler zu Kopper ... zu Koppler via Profinet gehen? Die haben doch alle jeweils 2 Ports und quasi intern eine Switch verbaut oder verstehe ich da etwas falsch?


----------



## Blockmove (25 April 2020)

DavidN schrieb:


> Die Switches würde ich doch gar nicht mehr benötigen, oder?
> Könnte ich nicht direkt von CPU zu Koppler zu Kopper ... zu Koppler via Profinet gehen? Die haben doch alle jeweils 2 Ports und quasi intern eine Switch verbaut oder verstehe ich da etwas falsch?



Wenn du das so verkabeln kannst ok
Dann eauchst - wenn die Leitungslänge passt - keine Switche


----------



## DavidN (25 April 2020)

Das ist ein guter Punkt! Danke, dass ihr mich darauf aufmerksam gemacht habt!
Ich habe gerade mal nachgeschaut und herausgefunden, dass mit Kupferleitungen eine Entfernung bis zu 100m zwischen zwei Teilnehmern und mit Glasfaserkabel eine Entfernung bis zu 14km möglich ist. Glasfaser wird aber auch wieder deutlich teurer sein nehme ich an. Deshalb muss ich dann wohl nochmal genau nachmessen, wo nachher die Kabel verlaufen würden, und wie viel Meter Kabel genau benötigt würden, wäre ja spätestens beim Kauf der Kabel ohnehin nötig gewesen


----------



## DavidN (28 April 2020)

Ich habe die verbauten Klemmen der einzelnen Schränke einmal visuell dargestellt, damit man einen besseren Überblick bekommt. 
In der Darstellung habe ich auch schon die neuen Buskoppler BK9103, die S7 und das KNX gateway mit reingepackt. Die grünen Linien sollen die Profinet verbindungen darstellen.

Ich habe mal damit begonnen, die Koppler und Klemmen im TIA-Portal einzubinden und die Variablen zu benennen, was bei den digitalen Klemmen auch gut klappt. Bei manchen analogen Klemmen ist mir jedoch nicht ganz klar, wie man da vorgeht. Es gibt wohl eine Konfigurationssoftware KS2000, die bei analogen Klemmen dafür genutzt wird Register umzustellen, oder so. Ganz verstanden habe ich das nicht.. 
Bei der Klemme KL3403 (3-Phasen-Leistungsklemme) wüsste ich zum Beispiel nicht wie ich mit den I/O Variablen umzugehen hab. Angezeigt wird mir folgendes: 

Bool	%I121.0
Bool	%I121.1
Bool	%I121.2
Bool	%I121.3
Bool	%I121.4
Bool	%I121.5
Bool	%I121.6
Bool	%I121.7
Bool	%I122.0
Bool	%I122.1
Bool	%I122.2
Bool	%I122.3
Bool	%I122.4
Bool	%I122.5
Bool	%I122.6
Bool	%I122.7
Bool	%I123.0
Bool	%I123.1
Bool	%I123.2
Bool	%I123.3
Bool	%I123.4
Bool	%I123.5
Bool	%I123.6
Bool	%I123.7
Bool	%I124.0
Bool	%I124.1
Bool	%I124.2
Bool	%I124.3
Bool	%I124.4
Bool	%I124.5
Bool	%I124.6
Bool	%I124.7
Bool	%I125.0
Bool	%I125.1
Bool	%I125.2
Bool	%I125.3
Bool	%I125.4
Bool	%I125.5
Bool	%I125.6
Bool	%I125.7
Bool	%I126.0
Bool	%I126.1
Bool	%I126.2
Bool	%I126.3
Bool	%I126.4
Bool	%I126.5
Bool	%I126.6
Bool	%I126.7
Bool	%I127.0
Bool	%I127.1
Bool	%I127.2
Bool	%I127.3
Bool	%I127.4
Bool	%I127.5
Bool	%I127.6
Bool	%I127.7
Bool	%I128.0
Bool	%I128.1
Bool	%I128.2
Bool	%I128.3
Bool	%I128.4
Bool	%I128.5
Bool	%I128.6
Bool	%I128.7
Bool	%I129.0
Bool	%I129.1
Bool	%I129.2
Bool	%I129.3
Bool	%I129.4
Bool	%I129.5
Bool	%I129.6
Bool	%I129.7
Bool	%I130.0
Bool	%I130.1
Bool	%I130.2
Bool	%I130.3
Bool	%I130.4
Bool	%I130.5
Bool	%I130.6
Bool	%I130.7
Bool	%I131.0
Bool	%I131.1
Bool	%I131.2
Bool	%I131.3
Bool	%I131.4
Bool	%I131.5
Bool	%I131.6
Bool	%I131.7
Bool	%I132.0
Bool	%I132.1
Bool	%I132.2
Bool	%I132.3
Bool	%I132.4
Bool	%I132.5
Bool	%I132.6
Bool	%I132.7
Bool	%Q37.0
Bool	%Q37.1
Bool	%Q37.2
Bool	%Q37.3
Bool	%Q37.4
Bool	%Q37.5
Bool	%Q37.6
Bool	%Q37.7
Bool	%Q38.0
Bool	%Q38.1
Bool	%Q38.2
Bool	%Q38.3
Bool	%Q38.4
Bool	%Q38.5
Bool	%Q38.6
Bool	%Q38.7
Bool	%Q39.0
Bool	%Q39.1
Bool	%Q39.2
Bool	%Q39.3
Bool	%Q39.4
Bool	%Q39.5
Bool	%Q39.6
Bool	%Q39.7
Bool	%Q40.0
Bool	%Q40.1
Bool	%Q40.2
Bool	%Q40.3
Bool	%Q40.4
Bool	%Q40.5
Bool	%Q40.6
Bool	%Q40.7
Bool	%Q41.0
Bool	%Q41.1
Bool	%Q41.2
Bool	%Q41.3
Bool	%Q41.4
Bool	%Q41.5
Bool	%Q41.6
Bool	%Q41.7
Bool	%Q42.0
Bool	%Q42.1
Bool	%Q42.2
Bool	%Q42.3
Bool	%Q42.4
Bool	%Q42.5
Bool	%Q42.6
Bool	%Q42.7
Bool	%Q43.0
Bool	%Q43.1
Bool	%Q43.2
Bool	%Q43.3
Bool	%Q43.4
Bool	%Q43.5
Bool	%Q43.6
Bool	%Q43.7
Bool	%Q44.0
Bool	%Q44.1
Bool	%Q44.2
Bool	%Q44.3
Bool	%Q44.4
Bool	%Q44.5
Bool	%Q44.6
Bool	%Q44.7
Bool	%Q45.0
Bool	%Q45.1
Bool	%Q45.2
Bool	%Q45.3
Bool	%Q45.4
Bool	%Q45.5
Bool	%Q45.6
Bool	%Q45.7
Bool	%Q46.0
Bool	%Q46.1
Bool	%Q46.2
Bool	%Q46.3
Bool	%Q46.4
Bool	%Q46.5
Bool	%Q46.6
Bool	%Q46.7
Bool	%Q47.0
Bool	%Q47.1
Bool	%Q47.2
Bool	%Q47.3
Bool	%Q47.4
Bool	%Q47.5
Bool	%Q47.6
Bool	%Q47.7
Bool	%Q48.0
Bool	%Q48.1
Bool	%Q48.2
Bool	%Q48.3
Bool	%Q48.4
Bool	%Q48.5
Bool	%Q48.6
Bool	%Q48.7


----------



## holgermaik (5 Mai 2020)

> Bei der Klemme KL3403 (3-Phasen-Leistungsklemme) wüsste ich zum Beispiel nicht wie ich mit den I/O Variablen umzugehen hab.


Im Handbuch Seite 47 ist die Zuordnung erklärt. Zusätzlich musst du für die Kleme eine Registerkommunikation programmieren um an die Daten zu gelangen.

Mit der Software KS2000 Software lassen sich Grundeinstellungen von komplexen Karten ändern. 
Ich persöhnlich halte davon überhaupt nichts. Wenn schon spezielle Konfiguration dann beim Anlauf der PLC durch die PLC.
Holger


----------



## DavidN (6 Mai 2020)

Das Ganze hat sich jetzt ohnehin erledigt, da alle Klemmen durch Siemens-Klemmen ausgetauscht werden..


----------



## MasterOhh (8 Mai 2020)

Rein interessehalber, wird der ganze Aufwand betrieben weil die Programmierer nicht mit Codesys programmieren können/wollen?

Ein fertiges System, das für den Einsatzbereich bestens geeignet ist, durch eins zu ersetzen, das weniger gut geeignet ist und dazu sicher noch mehr Geld kostet, kommt mir etwas seltsam vor.


----------

