# Statemachines für SoftPLC ?



## pvbrowser (16 März 2012)

Qt ist ja mehr als nur GUI.

Z.B. gibt es da Statemachines
http://qt-project.org/doc/qt-4.8/statemachine-api.html

Was ist euere Meinung zur Nutzung dieser Klassen innerhalb einer SoftPLC ?
Zusammen mit dem Signal/Slot Mechanismus müsste das doch hervorragend dazu geeignet sein technisches Abläufe zu modellieren.


----------



## Blockmove (16 März 2012)

Von Siemens gibt / gab es HiGraph. War ein ähnlicher Ansatz (so wie ich es sehe).
Hat sich der Praxis aber kaum durchgesetzt.
Den meisten war es zu "akademisch"

Gruß
Dieter


----------



## pvbrowser (16 März 2012)

HiGraph scheint auch in die Richtung zu gehen.

Mit
http://en.wikipedia.org/wiki/SCXML
scheint es da aber inzwischen Richtung Standardisierung zu gehen.

Mein Traum wäre es noch unseren
http://pvbrowser.org
damit aufzubohren, so dass die Visu und SoftPLC quasi direkt mit rauskommt.


----------



## IBFS (16 März 2012)

Da sich Schrittketten in Anlagen und Maschinenbau sehr einfach diagnostizieren lassen müssen,
wird sich - unabh. von der grafischen Darstellung - immer eine lineare Schnittnummernstruktur
als optimale Struktur ergeben.

Dadurch scheiden Parallelschrittkettenkonstrukte sehr oft aus auch wenn diese von den SPS-Sytemen
unterstützt werden sollten  (STEP7-GRAPH oder CoDeSys-Graph) 

Ob diese Struktur dann unterlagert als XML oder proprietärer Code abgespeichert wird ist mir dabei egal.

Entscheidend ist die übersichtliche Darstellung im Programmierwerkzeug, das Vorhandensein einer guten
ONLINE-Bobachtbarkeit und die Fähigkeit des Delta-Ladens in die SPS bei akiver laufender Schrittkette.

Idealerweise wird die aktuelle Schrittnummer (ggf. mit Begleittext) in einem Diagnosebild angezeigt, 
sodass man immer genau weiß, in welchem Zustand die jeweilige Schrittkette ist.

Grüße

Frank


P.S.  HiGraph ist im Prinzip abgekündigt und wird nur noch von Liebhabern eingesetzt

.


----------



## Blockmove (16 März 2012)

@Frank

Deine Ausführungen stimmen zwar, sind aber recht "konservativ".
Lineare Ketten sind einfach und zuverlässig dafür aber auch mit vielen Nachteilen behaftet. Die Initialisierung und Wiederanlauf sind oft schwierig.
Hier bieten paralellisierte Ketten und / oder Zustandsgraphen oft bessere Lösungen. Allerdings musst du hierfür beim Design mehr Hirnschmalz verbraten.
Ein grafisches Entwickungssystem ala Graph7 ist hierfür aber zwangsläufig erforderlich. Mit einer Sprungliste oder klassischen Merkerkette wird das sehr schnell sehr unübersichtlich.

Eine Diagnose mit Schrittnummer und Begleittext ist simpel, aber mit viel Schreibarbeit verbunden.
Automatische Diagnosesysteme (z.B. Siemens PDiag / ProAgent) sind in der Lage Schrittketten oder Bewegungen automatisch auszuwerten und Diagnosemeldungen zu erzeugen.

Ich persönlich sehe eher die Zukunft in objektorientierten Ansätzen auf der SPS-Seite.
Eine Anlage oder Maschine ist aus mechanischer Sicht eigentlich auch nichts anderes als eine Ansammlung von Objekten.
Dies lässt sich eigentlich auch recht einfach auf eine Visualisierung übertragen.

Gruß
Dieter


----------



## IBFS (17 März 2012)

@Blockmove

Ich denke du hast mich missverstanden, ich verwende schon sehr gerne Graph (STEP7 und CoDeSys) dabei aber ausschließlich Alternativverzeigungen, damit zu einer Zeit nur jeweils ein Schritt aktiv ist.
Ich kenne mehrere Firmen, wo Parallelzweige nicht erlaubt sind. Ausserdem wäre es prinzipell möglich für jeden Schritt statt einer aufsteigen Bezeichung (N000 bis N999) auch beliebige nicht sortierbare
Bezeichungen zu verwenden. Allerdings lässt sich eine Schrittbezeichung, die eine aufsteigende Zahl enthält wesentlich besser kommunizieren.

Gruß

Frank


----------



## Blockmove (17 März 2012)

IBFS schrieb:


> @Blockmove
> 
> Ich denke du hast mich missverstanden, ich verwende schon sehr gerne Graph (STEP7 und CoDeSys) dabei aber ausschließlich Alternativverzeigungen, damit zu einer Zeit nur jeweils ein Schritt aktiv ist.
> Ich kenne mehrere Firmen, wo Parallelzweige nicht erlaubt sind. Ausserdem wäre es prinzipell möglich für jeden Schritt statt einer aufsteigen Bezeichung (N000 bis N999) auch beliebige nicht sortierbare
> ...



Hallo Frank,

Gerade mit Simulatanzeigen wird eine Diagnose aber einfacher. Simples Beispiel: Du startest mehrere Bewegungen gleichzeiting.
Wenn du hierfür eine Simultanverzeigung nutzt, dann kannst du jede Bewegung mit eigener Überwachung / Verriegelung versehen.
Tritt ein Fehler auf, dann sind zwar mehrere Schritt gleichzeitig aktiv, aber nur einer gestört. Diesen kannst du dir dann anzeigen lassen und somit eine genauere Diagnose bekommen.

Aber das richtige Design von Schrittketten und / oder Abläufen erfordert viel Erfahrung und Verständnis für die Anlagen.
Und vorallem wird es kaum irgendwo vernünftig gelehrt. Manchmal habe ich den Eindruck, je besser oder einfacher die grafischen Tools umso schlechter das Resultat.

Schönes Wochenende
Gruß

Dieter


----------



## IBFS (17 März 2012)

Hallo Dieter,

nur soviel ... bei BOSCH, also speziell OpCON sind Parallelabläufe innerhalb einer Schrittkette nicht erlaubt obwohl sie im CoDeSys, was dem OpCon zugrunde liegt möglich wären.

Bei GRAPH7 braucht man die exakte Schrittnummer nicht unbedingt, wenn man konsequent die SuperVisionFault-Methode verwendet. 
Aber dass machen nicht alle Firmen, weil das Verfahren dann nur mit den SIEMENS-PANELS geht. 

Frank


----------



## Blockmove (17 März 2012)

Wie kommst du drauf, dass das nur mit Siemens-Panels geht?
Der S7-Graph-FB gibt die Schritt-Nummer aus. Du kannst dir de aktuelle oder die gestörte Schritt-Nummer anzeigen lassen.
Sind mehrere Schritte aktiv / gestört, dann kannst du die Anzeige durchtippen.

Wir verwenden das Siemens-Meldeverfahren auch dafür nicht.

Gruß
Dieter


----------



## IBFS (17 März 2012)

IBFS schrieb:


> Bei GRAPH7 braucht man die exakte Schrittnummer nicht unbedingt, *wenn man konsequent die SuperVisionFault-Methode verwendet*.
> Aber dass machen nicht alle Firmen, *weil das Verfahren dann nur mit den SIEMENS-PANELS geht.
> *





Blockmove schrieb:


> Wie kommst du drauf, dass das nur mit Siemens-Panels geht?



Heute ist wohl der "Missverständnis-Tag 

STEP7-GRAPH
Bei der *SuperVisionFault-Methode* braucht man KEINE Schrittnummer, weil der Zusatztext aus dem Schritt mittels GRAPH7-Funktionen 
direkt an das SIEMENS-Panel in eine separate Textdatenbank geschrieben wird. Genau das geht nur mit SIEMENS-Panels.

Hat man KEINE *SuperVisionFault-Methode*, dann hat man entweder die Aktuelle Schrittnummer verwenden oder
man hat eine separate Variable, die man in jedem Schritt mit dem gewünschten Wert beschreibt.

Gruß

Frank


----------

