TIA Anwählbares Programm über HMI (2 Programme, 1 CPU)

koxxi89

Level-1
Beiträge
2
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,

ich bin sehr neu in der Programmierwelt und möchte zwei Programme auf eine S7-1200 CPU Laden. Der Benutzer soll dann über das HMI KTP700 entscheiden, ob Programm 1 oder Programm 2 genutzt werden soll.

Programm 1 und Programm 2 bestehen bereits und funktionieren tadellos.

Wie stelle ich das am besten an? In der Suche habe ich leider nichts passendes gefunden.
Vielen Dank im Voraus für eure positive Rückmeldung.
 
Dann bringe die Bausteine beider Programme in ein Programm und rufe nur entsprechend der Bedingung die gewünschten Bausteine auf.

Ist halt eher unüblich.
 
Was sind denn die Unterschiede im Programm? Ist es der Unterschied zwischen Waschanlage und Zementwerk oder eher geänderte Parameter für einen Prozess?
 
Was sind denn die Unterschiede im Programm? Ist es der Unterschied zwischen Waschanlage und Zementwerk oder eher geänderte Parameter für einen Prozess?
Diese Frage schwillt mir auch im Gebeiß.

Weil man ja auch die Hardware (E/A) bedenken muss. Die werden doch wohl nicht umgeschaltet, oder?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
In Programm A wird Frequenzumrichter A genutzt und Programm B Frequenzumrichter B genutzt (dies sollte auch so Betrieben werden, da wir Geräte zur Reparatur gesendet kriegen, die in derselben Ausstattung wie beim Kunden geprüft werden sollen). Zudem sind die Ein und Ausgänge anders verteilt.

Ein und Ausgäge sollten dann auf Variable gelegt werden damit diese umgelegt werden können ohne den Schaltschrank komplett neu zu verdrahten. (so jedenfalls in meiner Vorstellung)
 
In Programm A wird Frequenzumrichter A genutzt und Programm B Frequenzumrichter B genutzt (dies sollte auch so Betrieben werden, da wir Geräte zur Reparatur gesendet kriegen, die in derselben Ausstattung wie beim Kunden geprüft werden sollen). Zudem sind die Ein und Ausgänge anders verteilt.
Dann schreibe einfach ein Programm, dass die Situation so behandelt wie gewünscht...

Das Steuergerät von einem Automatikgetriebe muss ja auch nicht neu geflasht werden, wenn ich rückwärts fahren möchte...
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ein und Ausgäge sollten dann auf Variable gelegt werden damit diese umgelegt werden können ohne den Schaltschrank komplett neu zu verdrahten. (so jedenfalls in meiner Vorstellung)
Besser wäre alle Ein- und Ausgänge anzuschließen (also FU1 und FU2 komplett anschließen) und dann die den entsprechenden Programmteilen nur die jeweils benötigten abzufragen / anzusprechen, dann müsst ihr nicht bei Programmwechsel umklemmen. Evtl. einen Schalter auf Eingang (oder von einem evtl. vorhandenen Panel) um das jeweilige Programm auszuwählen.
 
Besser wäre alle Ein- und Ausgänge anzuschließen (also FU1 und FU2 komplett anschließen) und dann die den entsprechenden Programmteilen nur die jeweils benötigten abzufragen / anzusprechen, dann müsst ihr nicht bei Programmwechsel umklemmen. Evtl. einen Schalter auf Eingang (oder von einem evtl. vorhandenen Panel) um das jeweilige Programm auszuwählen.
Das lässt sich auch beliebig weiterdenken. Man könnte die Steckleisten der Umrichter nutzen. Wenn man dann noch geschickt eine Brücke einfügt oder eben nicht, kann man schon über diese Kodierung das richtige Programm anwählen.
 
Die FU's sind über Profinet verbunden ?
Wenn man die Variante mit 1 Programm welche beide FU's einhaltet wählt, dann gibt es das Problem dass man Busfehler bekommt wegen den nicht angeschlossene FU. Dies kommt von die HW Konfiguration, nicht von das Anwenderprogramm.
Um die Busfehler zu vermeiden kann man dynamsich die FU's aktivieren bzw. deaktivieren mittels D_ACT_DP.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
In Programm A wird Frequenzumrichter A genutzt und Programm B Frequenzumrichter B genutzt (dies sollte auch so Betrieben werden, da wir Geräte zur Reparatur gesendet kriegen, die in derselben Ausstattung wie beim Kunden geprüft werden sollen). Zudem sind die Ein und Ausgänge anders verteilt.

Ein und Ausgäge sollten dann auf Variable gelegt werden damit diese umgelegt werden können ohne den Schaltschrank komplett neu zu verdrahten. (so jedenfalls in meiner Vorstellung)
Was meinst du mit Ein- und Ausgänge anders verteilt? Im Programm anders verwendet oder wirklich anders? Also E0.0 ist mal ein Ini und mal ein Schaltpunkt eines Temperatursensors?

Nochmal auf den konkreten Fall: Wann soll der Anwender die 2 verschiedenen Programme prüfen? So wie es sich ließt, wollt ihr eine Teststation für 2 verschieden FUs haben und beide testen können richtig?

Dann mach aus Programm A und Programm B das Programm AB mit beiden Umrichtern und dann einfach übers HMI anwählbar machen, welcher FU angeschlossen ist. Dann muss wahrscheinlich einmalig die Verdrahtung so erfolgen, dass in beiden Konstellationen alles passt.

Alternative (und je nach Stundensatz der Programmierleistung) ist es vielleicht billiger 2 1200er CPUs zum testen zu nehmen und dort Programm A und B laufen zu lassen.
 
ich sehe das auch genaus so wie @DeltaMikeAir im Beitrag #8 - du hast für jeden der unterschiedlichen Programme einen (oder ggf. auch mehrere) Bausteine, die entsprechend der Voranwahl angesprungen (also bearbeitet werden). Wenn du die Eingänge und Ausgänge dann in den Bausteinen entsprechend internen Bariablen zuweist, die dann sinnvoll benannt sind, hast du genau das was du willst und auch so, wie von dir schon selbst beschrieben ...
 
Ich würde das auch wie die Vorredner machen.
Es gibt aber auch die Möglichkeit das Programm auf der SPS Speicherkarte laufen zu lassen.
Dadurch wäre es möglich 2 karten zu nutzen und bei Bedarf einfach die Karte zu tauschen.
 
Wenn die Sachen separat schon laufen hat er das mit den Aktualwerten wohl geklärt, da er ja jedes mal neu einspielen muss.

Zur Karte:
Mann kann die Speicherkarte der S7-1200 als Programmkarte einstellen dann läuft der Code dort ab.
Dann kann man durch Wechsel ja einfach ein anderes Programm laufen lassen, wenn man mehrere Karten hat.

Ich nutze das für die Verteilung und Updatefähigkeit eines Standard Produktes. Die Inbetriebnehmer / Lieferanten oder Kunden müssen nur die Karte stecken und das Programm läuft. Wenn es ein Update gibt brauch ich dem Kunden nur die Dateien der Karte schicken, der Tauscht sie aus und steckt sie wieder in die SPS.
Parameter (Einstellungen) Sichere ich als Parametersatz im HMI und kann die dann wieder in die SPS laden.
Für die verschiedenen Grundkonfigurationen habe ich schon vorbereitete Parametersätze.

Durch die Konfiguration werden EA Karten oder das kleine Board Umrichter An/Abgewählt je nachdem was bestellt wurde von den verfügbaren Optionen.

Über das HMI kann ich den SPS Namen und IP ändern sowie vom HMI und die Verbindung HMI z PLC auch vom HMI, da immer mehrere dieser Steuerung in einer Anlage sind und mit der Haupt SPS kommunizieren.

Kommunikation über i-Device / Socket / Profibus oder Hardware EA
 
Also ganz simpel gesagt kannst du immer zwischen zwei Programmschnipsel entscheiden. Je nachdem, was du da alles an Software hast kannst du die jeweiligen Unterprogramme in einem FC organisieren. Dann erstellst du noch eine boolsche Variable im HMI und verwendest die um zwischen den zwei FCs zu wechseln.

Ooooob deine zwei Codeschnipsel jetzt einfach so damit klar kommen, dass man zwischen ihnen umschalten kann, ist eine ganz andere Sache.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Mann kann die Speicherkarte der S7-1200 als Programmkarte einstellen dann läuft der Code dort ab.
Code läuft nicht auf Speicherkarten ab, sondern immer nur im Arbeitsspeicher. Nach Stecken/Wechsel einer Programmkarte wird das Programm in den Arbeitsspeicher kopiert.
 
Es gibt aber eine "Programmkarte" und eine "Transferkarte", die S7-1200 kann ja im Gegensatz zur S7-1500 ohne Speicherkarte arbeiten.
 
Zurück
Oben