TIA PLC abfrage ob Verbindung zu HMI vorhanden ist

Zuviel Werbung?
-> Hier kostenlos registrieren
Nabend.

Ich verwende zwei Variablen:
+ "plcActionFlag_liveCount" (INT) wird von der Steuerung sekündlich hoch gezählt.
+ Das HMI schreibt bei Wertänderung dieser Variablen mittels Systemfunktion "SetzeWert" den aktuellen Wert in "hmiActionFlag_liveCount".
+ Die Steuerung vergleicht beide Werte und reagiert entsprechend.

Ich benötige auf HMI-Seite also quasi keine Logik o.ä.


Gruß, Fred
 
-> Fällt die PLC aus, klickt man wie irre auf der HMI rum, passiert aber nix.
= Bekommt man hier irgendwie einen "Bildwechsel" hin, oder eine Fehlermeldung?
• Wenn das HMI richtig ausfällt, dann kann das HMI schlecht anzeigen, daß es ausgefallen ist. Vor allem keine Meldung aus der PLC ;)
• Wenn nur die HMI-Verbindung ausgefallen ist, dann kommt die Systemmeldung 140001 "Verbindung abgebaut". An diese Meldung kann man eine Reaktion (vermutlich auch einen Bildwechsel) projektieren. Man kann aber nicht ohne weiteres feststellen, welche HMI-Verbindung ausgefallen ist, falls das HMI mehrere HMI-Verbindungen hat.
• Wenn die PLC ausgeschaltet wird, dann fällt auch die HMI-Verbindung aus und Systemmeldung 140001 kommt
• Wenn die PLC in STOP geht, dann fällt die HMI-Verbindung nicht aus, die PLC kann auch nicht mithelfen, daß das HMI das erkennt. Es gibt verschiedene Siemens FAQ, die Lösungen für diesen Fall anbieten, die haben mich (in der Vergangenheit) aber alle nicht überzeugt. Vielleicht hat Siemens jetzt eine Lösung, die wirklich funktioniert?? Wenn das Panel einen Aufgabenplaner hat, dann kann man im Minuten-Rhythmus überwachen, ob sich ein Wert in der PLC ändert.

In meinen Panels lasse ich meistens einen Fortschrittsbalken mit 4..5 Segmenten oder ein Grafikzeichen ( \ | / - ...) im Sekunden-Rhythmus rotieren, und wenn das stehenbleibt, dann ist die Verbindung ausgefallen oder die PLC in STOP.

Das haben wir hier im Forum in der Vergangenheit bereits öfters diskutiert. Suche mal nach "hmi-verbindung ausgefallen" oder "140001", da findest Du z.B. diesen Beitrag:

Harald
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Eventuell mittels Profinet Diagnose?
Das hilft schon mal ein wenig weiter ist aber noch nicht ganz das was ich suche, trotzdem DANKE

Bist du sicher, daß ihr bei jedem RT-Anhalten/PC-Durchstarten/Verbindungsunterbrechung des HMI-PC die Anlage anhalten wollt?! :unsure:

Mit WinCC RT Professional habe ich keine Erfahrung, doch es sollte doch möglich sein, eine Funktion oder ein Skript an einen 1s-Zyklus anzubinden, was ein Bit in der PLC invertiert. So hättest du das Lebensbit aus dem Bereichszeiger "Koordinierung" nachgebastelt.
Ja sobald die HMI bzw. die PC-Station ausfällt soll die PLC den Prozess abbrechen und in einen sicheren zustand fahren! Wir arbeiten im Hochvakuumbereich mit Plasma und die PC-Station steuert die Prozessschritte und Wertet das ganze auch aus.

In den meisten Beiträgen geht es darum das die HMI erkennen soll ob die PLC noch da ist und das ganze anzeigen... Wir benötigen genau das Gegenteil die PLC soll erkennen das die HMI nicht mehr da ist :D
 
In den meisten Beiträgen geht es darum das die HMI erkennen soll ob die PLC noch da ist und das ganze anzeigen... Wir benötigen genau das Gegenteil die PLC soll erkennen das die HMI nicht mehr da ist :D
wenn Du Dich halt ewig nicht meldest, dann schweift das Thema halt ab. Ist immer so...
das HMI muss halt zyklisch irgend nen Bit in der SPS setzen. (und die SPS wieder zurücksetzen) Wenn das Bit länger als 5min FALSE, dann Alarm generieren.

Wo krigt man im HMI den "Zyklus" her? z.B. Aufgabenplaner oder Script Aktionen mit zykl. Trigger usw... oder bei Basic Panel den Taktmerker der SPS lesen und dort bei Änderung das Bit setzen...

wir machen das standardmäßig für jedes Panel und generieren damit ne Meldung in der SPS welche ans Leitsystem geht (Panel ausgefallen)
...

Im TIA WinCC Prof gibts doch nen Aufgabenplaner?
 
In den meisten Beiträgen geht es darum das die HMI erkennen soll ob die PLC noch da ist und das ganze anzeigen... Wir benötigen genau das Gegenteil die PLC soll erkennen das die HMI nicht mehr da ist
:unsure:
Also Zähler in PLC inkrementieren, und die HMI auf Wertänderungsereeigniss auf eine ander Variabel kopieren. In die SPS die 2 Variabeln vergleichen
Dann kann man die Toleranz einstellen, wie gross den Unterschied sein darf bevor die Verbindung als unterbrochen interpretiert wird.

Falls das HMI keinen 1s-Zyklus hat (wie die Basic/Comfort-HMI-Panels), dann kann die PLC versuchen, mit einem 2s-Takt eine Wertänderung und Antwort der HMI auszulösen.

Bevor ich das kannte, habe ich ein Meldebit auf TRUE gesetzt und in der Visu die steigende Flanke als Trigger für ein Rücksetzen genutzt.

das HMI muss halt zyklisch irgend nen Bit in der SPS setzen. (und die SPS wieder zurücksetzen) Wenn das Bit länger als 5min FALSE, dann Alarm generieren.

Wo krigt man im HMI den "Zyklus" her? z.B. Aufgabenplaner oder Script Aktionen mit zykl. Trigger usw... oder bei Basic Panel den Taktmerker der SPS lesen und dort bei Änderung das Bit setzen...

Ich verwende zwei Variablen:
+ "plcActionFlag_liveCount" (INT) wird von der Steuerung sekündlich hoch gezählt.
+ Das HMI schreibt bei Wertänderung dieser Variablen mittels Systemfunktion "SetzeWert" den aktuellen Wert in "hmiActionFlag_liveCount".
+ Die Steuerung vergleicht beide Werte und reagiert entsprechend.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
und die PC-Station steuert die Prozessschritte und Wertet das ganze auch aus.
Warum ist diese Logik dann nicht in der Steuerung?
Und wenn die PC-Station die Prozeßschritte steuert: Warum arbeitet dann die Maschine weiter, wenn es keine Steuerung mehr gibt?
Ich habe eher das Gefühl, hier liegt was im Konzept im Argen und die Auswertung "HMI anwesend" ist eher eine Notlösung, ein Pflaster um die tieferliegenden Probleme zu kaschieren.
Entweder gibt der PC eine Arbeitsanweisung für einen bestimmten Arbeitsschritt, dann muß die Maschine aber auch beim nächsten Schritt abwarten, wenn keine neuen Infos kommen.
Oder aber der PC steuert immer nach, quasi eine Regelung, dann muß ich aber in der SPS ggf. auch sagen: Es kommt so und so lange keine Korrektur rein, dann hab ich ein Timeout und halte an.
Aber irgendwie erschließt sich mir das Konzept nicht, warum eine wichtige Logik im PC liegt und warum dann nicht von vornherein ein Prüfung der Kommunikation ins Konzept implementiert wurde.
Wenn ich einen wichtigen Sensor habe, und mich auf dessen Werte verlasse, prüfe ich doch auch, ob ich den Werten vertrauen kann und ob sie aktuell sind, warum nicht beim PC?
 
Warum ist diese Logik dann nicht in der Steuerung?
Und wenn die PC-Station die Prozeßschritte steuert: Warum arbeitet dann die Maschine weiter, wenn es keine Steuerung mehr gibt?
Ich habe eher das Gefühl, hier liegt was im Konzept im Argen und die Auswertung "HMI anwesend" ist eher eine Notlösung, ein Pflaster um die tieferliegenden Probleme zu kaschieren.
Entweder gibt der PC eine Arbeitsanweisung für einen bestimmten Arbeitsschritt, dann muß die Maschine aber auch beim nächsten Schritt abwarten, wenn keine neuen Infos kommen.
Oder aber der PC steuert immer nach, quasi eine Regelung, dann muß ich aber in der SPS ggf. auch sagen: Es kommt so und so lange keine Korrektur rein, dann hab ich ein Timeout und halte an.
Aber irgendwie erschließt sich mir das Konzept nicht, warum eine wichtige Logik im PC liegt und warum dann nicht von vornherein ein Prüfung der Kommunikation ins Konzept implementiert wurde.
Wenn ich einen wichtigen Sensor habe, und mich auf dessen Werte verlasse, prüfe ich doch auch, ob ich den Werten vertrauen kann und ob sie aktuell sind, warum nicht beim PC?
Das war vielleicht nicht ganz richtig beschrieben!

Also unser Rezept wird mittels PC an die PLC übergeben und das Schritt für Schritt also wenn die PLC sagt Schritt 1. fertig gibt der PC der PLC den nächsten Schritt vor usw.

Warum das so gemacht wurde kann ich nicht sagen das wurde vom Vorgänger so Programmiert und dieser ist nicht mehr im Haus. am PC hängt noch ein OPC Server sowie eine SQL Datenbank die das ganze mit Steuert so weit ich weiß.

Daher suche ich jetzt eine Lösung das wenn die HMI nicht mehr erreichbar ist muss die PLC den Prozess abbrechen. In welchem Schritt die PLC beim jetzigen Vorfall war und was sie dann gemacht hat hat uns die Firma leider nicht gesagt nur das die PLC ungeregelt weiter gemacht hat :confused:
 
Also unser Rezept wird mittels PC an die PLC übergeben und das Schritt für Schritt also wenn die PLC sagt Schritt 1. fertig gibt der PC der PLC den nächsten Schritt vor usw.
Dann muß aber doch sichergestellt sein, daß das Rezept für den nächsten Schritt auch anliegt/aktuell ist, nur dann kann die Anlage weiterarbeiten.
Man könnte z.B. das Rezept im DB nach Abarbeitung ablöschen oder auf ungültig setzen und somit sicherstellen, daß nur weitergearbeitet wird, wenn auch ein neuer/aktueller Datensatz vorliegt.
Das fände ich eleganter, als den ganzen Prozeß runterzufahren (wobei ich den natürlich nicht kenne).
Zumal man so kurzzeitige Netzwerkstörungen umgehen kann, weil zwischen zwei Schritten scheint ja die Anwesenheit des PCs nicht zwingend zu sein.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Also etwa so:
PC schickt Rezept
Rezept wird in PLC umkopiert wenn Vollständig
PLC löscht Empfangspuffer von PC Seite
Schritt wird mit diesen Werten abgearbeitet
Schritt fertig, PLC prüft ob neue Daten da sind (Wenn PC seitig nichts kommt -> kein weiterer Schritt)
Wenn neue Daten da sind gehts wieder von vorne los
 
Also etwa so:
PC schickt Rezept
Rezept wird in PLC umkopiert wenn Vollständig
PLC löscht Empfangspuffer von PC Seite
Schritt wird mit diesen Werten abgearbeitet
Schritt fertig, PLC prüft ob neue Daten da sind (Wenn PC seitig nichts kommt -> kein weiterer Schritt)
Wenn neue Daten da sind gehts wieder von vorne los
Und natürlich nicht vergessen erst Empfangsbereich ablöschen wenn dieser auch nach dem umkopieren identisch mit dem Arbeitsbereich ist :D
 
Also unser Rezept wird mittels PC an die PLC übergeben und das Schritt für Schritt also wenn die PLC sagt Schritt 1. fertig gibt der PC der PLC den nächsten Schritt vor usw.
Enthält eine Rezept nicht alle Informationen die nötig sind um eine volle Sequenz durchzuführen ?
Sendet die PC teilweise die Befehle für jeden Schritt in die Sequenz ?
In den Fall ist die PLC nur eine Slave für die PC. Die eigentliche Sequenz wird von den PC gesteuert.
edit: Die Bezeichnung 'Rezept' ist hier eigentlich falsch.
Dann muss ja Information in die Richtung PLC nach PC gehen wenn ein Schritt fertig (oder fehlgeschlagen) ist. Erst dann kann die PC den nächste Schritt senden. Gibt es sowas ?

Daher suche ich jetzt eine Lösung das wenn die HMI nicht mehr erreichbar ist muss die PLC den Prozess abbrechen. In welchem Schritt die PLC beim jetzigen Vorfall war und was sie dann gemacht hat hat uns die Firma leider nicht gesagt nur das die PLC ungeregelt weiter gemacht hat
Es scheint mir es fehlt eine Mechanismus in das PLC Programm, welche nur ein Sequenz Schritt fertig macht, und nicht die nächste startet ohne Befehl von die PC.

Du musst bitte diesen Funktionalität zwischen PC und Anlage etwas mehr beschreiben.
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Warum ist diese Logik dann nicht in der Steuerung?
Und wenn die PC-Station die Prozeßschritte steuert: Warum arbeitet dann die Maschine weiter, wenn es keine Steuerung mehr gibt?
Ich habe eher das Gefühl, hier liegt was im Konzept im Argen und die Auswertung "HMI anwesend" ist eher eine Notlösung, ein Pflaster um die tieferliegenden Probleme zu kaschieren.
Ich bin auch der Meinung, daß da was im Konzept im Argen liegt. Das HMI ist eine Mensch-Maschine-Schnittstelle und soll keine Steuerungsaufgaben übernehmen ala billigere Soft-PLC (oder weil der Programmierer vielleicht mehr Ahnung oder Lust vom HMI programmieren hatte als vom PLC programmieren). Der Anlage sollte es relativ egal sein, ob da während der Arbeit ein HMI zuschaut oder nicht. Wenn das "Komfort"-HMI (zeitweilig) nicht verfügbar ist, dann gibt es für den Notfall nur noch STOP/Anhalten/Notstop-Taster. Bei jedem Stoppen der HMI-Runtime oder bei Ausfall der HMI-Verbindung die Produktion runterfahren halte ich für keine gute Lösung. Eventuell beeinflußt sowas auch die Qualität des erzeugten Produktes? Wie oft müsste der HMI-PC (wegen Updates oder Fehlfunktionen) mal kurz neu durchstarten, oder ein Backup machen, oder das (geänderte) HMI-Projekt in den PC transferieren? Oder die Netzwerk-/HMI-Verbindung wird kurz gestört, weil Switche/Router Updates machen oder ein ITler versehentlich einen Switchport falsch konfiguriert oder jemand ein Netzwerkkabel unterbricht oder falsch steckt?

Dieses abhängigmachen der Anlage vom Vorhandensein des HMI verkompliziert auch unnötg, falls man mal mehrere HMI-Stationen an der Anlage hat. Und sei es auch nur, wenn man auf der Engineering-Station das HMI-Projekt kurz online testet.

Muß womöglich immer ein Bediener am HMI-PC sitzen und ständig irgendwas bedienen? Was passiert, wenn der Bediener eingeschlafen ist oder den HMI-Platz verlassen hat?
 
Am Panel selbst bekomme ich ja (bei kleinen Maschinen) dann keine Meldung mehr hin... nehmen wir an, die SPS würde ausfallen, kann ich dann diese "Lebenszeichen" auswerten und an der HMI eine Meldung generieren?
@ChristianVogel So kompliziert braucht man es gar nicht machen. Einfach eine kleine Lampe auf den HMI Bildern darstellen welche im Takt einer Clock blinkt. So sieht man auf den ersten Blick, ob die Verbindung zur SPS steht oder nicht.
Vorheriger Arbeitgeber hat sich da komplizierte Grafikspielereien zurechtgebaut als Heartbeat-Anzeige ähnlich wie die rotierenden Punkte beim Windows Update wenn es wieder heißt: "Windows wird vorbereitet".
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Nabend.

Ich verwende zwei Variablen:
+ "plcActionFlag_liveCount" (INT) wird von der Steuerung sekündlich hoch gezählt.
+ Das HMI schreibt bei Wertänderung dieser Variablen mittels Systemfunktion "SetzeWert" den aktuellen Wert in "hmiActionFlag_liveCount".
+ Die Steuerung vergleicht beide Werte und reagiert entsprechend.

Ich benötige auf HMI-Seite also quasi keine Logik o.ä.


Gruß, Fred

Ich hab´s es jetzt mal nach faust seiner Beschreibung gemacht und das sieht ganz gut aus. Wenn ich meine Simulierte HMI beende ändert sich ja der HMI Wert nicht mehr und somit kann man das ganze gut auswerten ob diese noch da ist!

DANKE
 
Gut dass du mit faust' Vorschlag eine Antwort auf deine ursprüngliche Frage gefunden hast.
Aber ich wurde trotzdem behaupten dass es gibt estwas ganz faul in die Funktionalität zwischen Anlage und HMI. Und diese Faulheit ist eigentlich nicht gelöst.
 
Gut dass du mit faust' Vorschlag eine Antwort auf deine ursprüngliche Frage gefunden hast.
Aber ich wurde trotzdem behaupten dass es gibt estwas ganz faul in die Funktionalität zwischen Anlage und HMI. Und diese Faulheit ist eigentlich nicht gelöst.
Da ich erst seit 2 Tagen an diesem Projekt sitze weiß ich nicht genau wie das Programm abläuft und wie HMI und PLC miteinander Daten austauschen. Mir wurde nur gesagt wenn die HMI nicht mehr da ist wird der Prozess nicht mehr gesteuert. In der HMI sind unzählige VB und C Skripte hinterlegt die das ganze Steuern...

Sicherlich wird der Prozess einfach am letzten Prozessschritt stehenbleiben aber danach kann die Anlage nicht mehr gesteuert werden. Nun wollen wir wenn die HMI 30s nicht erreichbar ist einfach der PLC sagen starte den Prozess Abbruch das die Anlage in einem zustand ist das man nachdem die HMI wieder da ist die gesamte Anlage wieder Ansteuern kann und diese nicht in irgend einem Prozess steht und auf den nächsten Wartet.

Meine Kollege der sich damit schon länger beschäftigt, ist leider Krank darum musste ich das jetzt übernehmen 😅
 
Zurück
Oben