Suche eine gute Idee...

Olav

Level-1
Beiträge
31
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo!

Ich habe hier das folgende Problem und suche derzeit noch eine
brauchbare Lösung. Vielleicht hat ja schon mal jemand was ähnliches
gemacht:

Hardware:
S7-315DP; MP370; 2 Stöber Servomotoren, 7 Festo-Ventilinseln, alles
verbunden über DP.

Problem:
Über die 315, MP370 und ProTool/Pro sollen die beiden Motoren und die 7
Ventilinseln (7x16bit, 112 binäre Ausgänge) gesteuert werden, und zwar:

- zeitgesteuert
- etwa 20 verschiedene Rezepturen mit jeweils unterschiedlichen
Zeittakten und unterschiedlichen Ausgangsbildern
- pro Rezept vier verschiedene Abläufe, abhängig von Betriebszustand
der Anlage
- etwa 20 Takte pro Ablauf mit unterschiedlicher, veränderbarer Länge

Folgende Lösung hab ich mir bisher zurechtgebastelt:

Die vom Bediener anzuwählende Rezeptur wird in einem einzigen DB an
die SPS übergeben. Dieser enthält alle vier Abläufe, wobei jede Ventilinsel
bei jedem Zeittakt über ein Datenwort abgebildet wird. Ich habe also
7 (Ventilinseln) x 20 (Zeittakte) x 4 (Abläufe) = 560 Datenworte nur für
die binären Ausgänge pro Rezeptur im DB liegen. Hinzu kommen die
Werte für die Zeittakte (80 St.) , und einige REAL-Werte für die Umrichter.
Ich hoffe, soweit habe ich das nötigste beschrieben...

Für folgende Informationen wäre ich dankbar:

- Macht obige Grundüberlegung eurer Meinung nach Sinn, oder gibt es
eine bessere Lösung?

- Da ich ja die Rezepte auch irgendwie am MP eingeben will, brauche ich
noch eine realisierbare Möglichkeit, diese 560 Datenworte pro Rezept (
die ja prinzipiell 560 x 16 Bit = 8960 Bit darstellen ) zu konfigurieren.
Ich bräuchte ein Bild, in dem ich nach Eingabe von Rezeptnummer,
Ablauf und Ventilinsel sozusagen eine Tabelle mit 20 Spalten (Zeittakte)
und 16 Zeilen (Ventile pro Ventilinsel) habe. Hier fehlt mir noch die Idee,
wie das aussehen soll... Dummerweise habe ich auch kein Touchpanel,
sondern ein Tastengerät!

Ich denke, das reicht erst mal für`s Erste...
Ich wäre für alle Ideen oder Anregungen dankbar, da ich eigentlich ein
ProTool-Anfänger bin. Habe immer noch die Hoffnung, daß es einen viel
einfacheren Weg gibt, den ich nur noch nicht gefunden habe.


Gruß,

Olav
 
Ich könnte mir vorstellen, daß nur wenige Ventile baimÜbergang von einem Zeittakt zum anderen den Zustand wechseln. Wenn das so ist, könnte es einfacher sein, in der Rezeptur nur festzuhalten, welche das sind.
Da es mehrere Ventile (im Prinzip ja auch alle) sein können, müstest du aber wieder Platz für Anweisungen aller Ventile vorsehen. Dies ließe sich umgehen, indem du in einem Datensatz nur einen Schaltbefehl für ein Ventil DB ablegst und mit einem weiteren Datesatz das Abwarten des nächsten Zeitschritts codierst. Angenommen, im Schritt 3 seinen deine Ventile:

00110010 01110000...
und im Schritt 4:
01110010 01010000...

Hier haben also Ventil 2 und 11den Zustand gewechselt. Das könnte im DB abgelegt werden als:

DBBx+0: 2 // Ventil 2 umschalten
DBBx+1: 11 // Ventil 11 umschalten
DBBx+2: 0 // Auf nächsten Zeittakt warten

im Schritt 5:
01100010 01010000...
Hier hat nur Ventil 4 den Zustand gewechselt. Das könnte im DB abgelegt werden als:

DBBx+3: 4 // Ventil 4 umschalten
DBBx+4: 0 // Auf nächsten Zeittakt warten

Das zugehörige Programm müßte in einem Zyklus alle "Befehlscodes" abarbeiten, bis der Befehlscode 0 ist und dann einen Zeittakt warten.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo, Zottel!

Vielen Dank für Deine Antwort erstmal!
Deine Idee ist recht vielversprechend, werde sie mir über Ostern noch ein paar mal durch den Kopf gehen lassen :)

Die Auswertung des von Dir beschriebenen DB und das Schalten der Ventile bekomme ich schon hin, denke ich. Aber wie visualisiere ich das mit ProTool/Por und einem MP370 einigermaßen vernünftig, wenn es sich in einem einzigen "Schaltprogramm" um etwa 35 Ventile und ca 100 Zeitschritte handelt???
Keine Ahnung, wie man da als Bediener noch durchblicken soll, asbgesehen davon, wie ich nur mit den Standard-Schaltflächen die von Dir vorgeschlagene DB-Struktur aufbauen soll...

Na ja, jedenfalls erstmal ein Frohes Osterfest an alle!!

Gruß, Olav
 
Olav schrieb:
Aber wie visualisiere ich das mit ProTool/Por und einem MP370 einigermaßen vernünftig, wenn es sich in einem einzigen "Schaltprogramm" um etwa 35 Ventile und ca 100 Zeitschritte handelt???
Habe leider 0 Ahnung von Protool. Prinzipielle Überlegung:

Textbildschirm:
100*35 Elemente gäbe z.B. 100 Zeilen mit 35 Checkboxes oder Feldern, die man von 0 auf 1 oder von rot auf grün setzten könnte. 100 Zeilen passen auf keinen Bildschirm. 35 Elemente könnte man wohl nebeneinander bekommen, oder?
Also nur 5 bis 10 Zeilen (mehr als eine, damit man noch durchblickt, wo man ist) darstellen. Eingaben erfolgen in die letzte. Eine Tasten für vor und rück verschieben den dargestellten Ausschnitt.
Dieser Ansatz ist eigentlich eher für deine ursprüngliche Art, den Zustand aller Ventile zu speichern, brauchbar. Aber eine komplemetäre Software zu der, die die bei meinem Vorschlag zu speichernden Änderungen abarbeitet, könnte die Zeilen in "meine" Darstellung überführen.
Oder Vollgrafik: Alle Ventile werden durch 2 Bildchen für betätigt/nicht betätigt visualisiert.
Die Visualisierung zeigt die Stellung der Ventile im Ausgangszustand des zu programmierenden Schritts. Der Bediener klickt auf das/die Ventiel (Mouse? Touch? Tab-Taste zum nächsten Ventil +"Ändern"-Taste?), das/die im Zeittakt ihren Zustand ändern sollen. Das Ventil-Symbol verbleibt im Ausgangszustand, aber es wird mit einem Pfeil in Bewegungsrichtung ergänzt. Zur Korrektur von Fehleingaben wird der Pfeil bei einem erneuten Klick entfernt. Nachdem alle zu ändernden Ventile markiert wurden, schaltet der Bediener zum nächsten Takt. Die Ventile werden so dargestellt, als ob sie die Bewegungen ausgeführt hätten.
Keine Ahnung, wie man da als Bediener noch durchblicken soll, asbgesehen davon, wie ich nur mit den Standard-Schaltflächen die von Dir vorgeschlagene DB-Struktur aufbauen soll...
Na ja, die "Struktur" ist eine (Teil-)-Liste der Änderungen, die beim Weiterschalten des Taktes zu erledigen sind. im prinzip reicht ein Feld für die Ventilnummer und eine Eingabetaste. Aber das ließe sich nicht korrigieren und wenn der Schritt 20 Ventile ändert, paßt es wohl auch nicht mehr gut auf eine Seite.
 
Hallöchen :)

Ich habe mir das Problem oben nicht genau durchgelesen, aber du kannst z.B. mit Multiplexvariablen arbeiten, da kannst du entweder den DB Multiplexen oder die Adresse ... schau es dir einfach mal an.

Dann würde 1 Zeile visualisiert reichen und den rest kannst du über Multiplexen umschalten.

Ich habe damit mal einen Editor gebastelt, der in 60 gleichen DB´s, wo Chargendaten hinterlegt waren, änderungen machen konnte.
Der Editor bestand nur aus einer Zeile und ein Feld für die Multiplexvariable. Die Multiplexvariable habe ich dann "Zeilennummer" getauft und schon war es schick.

Vielleicht hilfts ja :roll:
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo!

Erstmal vielen Dank für Eure Anregungen!

Ich denke nicht, daß ich das grafisch über animierte Ventile visualisieren werde, da mir das zum einen zu viel "gestalterischen" Aufwand bedeutet, zum anderen habe ich nur ein Tasten-Panel, also keinen Touch-Screen und auch keine Maus. Und nur mit der Tab-Taste stelle ich mir die Projektierung recht mühselig vor.

Ich werde also versuchen, jeweils 8 Ventile und 20 Zeitschritte in einem Fenster darzustellen (so viele Tasten habe ich je Zeile/Spalte) und dann eben durchscrollen...

Die Multiplex-Variablen scheinen eine gute Idee zu sein, wenn ich nicht ca. 100 verschiedene Bilder von Hand projektieren will. Hat da vielleicht zufällig jemand eine Vorlage parat, die ich auf meine Bedürfnisse anpassen kann?

Gruß,

Olav
 
Hm, also 1 Bild mit gemultiplexten Zuständen der Ventile könnte hinhauen.

Sonst mach halt 1 Bild, dann kopieren ... Variablen schick machen ... und die Bilder von der Steuerung anwählen lassen.

Beispielprojekt ? Besser du setzt das neu auf, passt nie wirklich ...

Gobo
 
Zurück
Oben