TIA Idee für Rezeptgestaltung Dosieranlage TP1200 / TIA V15

christoph2630

Level-1
Beiträge
74
Reaktionspunkte
3
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo!
Ich stehe im Moment ein bisschen auf der Leitung mit einer Aufgabenstellung und hoffe ihr könnt mir ein paar zündende Ideen liefern:
Es ist eine Dosieranlage mit 6 Dosierpumpen und 6 Medientanks.
Bediener soll eine Liste von Medien anlegen können (sagen wir 30 oder 40 verschiedene Standardmedien) - wir brauchen nur den Namen speichern können
Weiters soll in einer Maske die Zuordnung der 6 Tanks mit verschiedenen Medien aus der Liste geschehen. Dies entspricht dann physisch der mit Schläuchen zusammengesteckten Dosieranlage und wird nicht so oft geändert (sagen wir 1x pro Monat)
Die Bediener soll nun ein Rezept erstellen bzw. ein erstelltes auswählen können. In dem stehen max. 6 Medien und die gewünschte Masse pro Medium.
Die SPS (S7-300) füllt dann jedes Medium der Reihe nach ab (über Waage) - dieser Teil ist mir klar.
Die Frage ist nun wie kann ich am TP diese Listen und Rezepte so dynamisch und änderbar erstellen?
Hoffe das kam einigermaßen klar rüber und freue mich auf eure Ideen!

LG, C
 
Hi,

so ganz klar ist mir deine Aufgabenstellung nicht, aber ich probiers mal:

- da du ja nur 6 Pumpen hast, kann ja ein Rezept aus maximal 6 Medien bestehen
- die 6 Medien können sich aber ändern, richtig?

Ich würde dem Benutzer ein Drop-Down Menu zu Verfügung stellen in dem du alle Standardmedien einträgst, diese Menus kommen nach meiner Erfahrung auch immer mit einem Index. Dann machst du einen Button der den Index in einem DB schreibt. Sagen wir mal erstemal Schreiben weisst Medium 25 Pumpe 1 zu, 2te mal drücken Medium 16 Pumpe 2 .... Idealerweise hast du dann einen DB mit 6 ints und weisst anhand des Integerwertes welches Medium enthalten ist. Wenn dein Rezept jetzt daraus besteht, dass du sagen wir mal so abläuft: Pumpe 1 10s, Pumpe 2 30s, Pumpe 1 10s und immer so weiter musst du die Informationen natürlich zusätzlich als Eingabe vorsehen und eine Art Begrenzung in der Visu einbauen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi Clyde,
ungefähr so würde das schon passen. Was ich noch nicht checke ist wie kann der Bediener die Liste der vorhandenen Medien bearbeiten, sprich Medium hinzufügen, umbennenen usw. Du schlägst ja eine Textliste vor und da wären ja die Einträge fix hinterlegt.
Ich möchte wenn möglich den Umweg über ein Script vermeiden - aber wenn es die beste oder einzige Möglichkeit ist, muss ich das auch in Betracht ziehen.
Danke erstmal - vielleicht fällt euch noch was ein dazu!
 
Hallo Christoph,

in einer Textliste können auch Variablen als Textbestandteile projektiert werden.
Du könntest also eine Konfigurationsseite erstellen (mit 30-40 Eingabefeldern nebst zugehörigen Variablen).
Weiter erstellst du eine Textliste mit 30-40 Einträgen, wobei jeder Eintrag nur eine der zuvor genannten Konfigurationsvariablen enthält.
Diese Textliste projektierst du dann an die DropDown-Eingabefelder deiner Rezepturseite.

So kann der Bediener die Liste der Medien vorbelegen und auch nachträglich ändern. Wichtig bei nachträglicher Änderung: das ganze ist index-basierend, ein Austausch der Medienbezeichnung eines bereits verwendeten Index könnte zu Verwirrung/Fehlverhalten der Anlage führen.

Ganz grob skizziert als Denkanstoss.


Gruß, Fred
 
Hi,

ein DropDown Menu ist keine Textliste im eigentlichen Sinne. Prinzipiell ist es ein Index dem du einen Namen zuordnen kannst und diese Zuordnung kann man auch zur Laufzeit ändern. Das Problem an der Sache ist allerdings das Speichern, wenn du die Visu neustartest ist alles weg.

Was du brauchst um es richtig zu machen ist eine Datenbankanbindung. Ich hab bei meinem Kunden für solche Angelegenheiten SQL4Automation im Einsatz. Darüber kann die SPS direkt mit einem SQL-Server reden und Datenbank Operationen durchführen, wie z.B. Select Medium1,Medium2,Medium3,Medium4,Medium5,Medium6 from DB.Brauerei WHERE Rezeptname='Bier'. Rezeptname ist dann Primary- und Unique-Key und verhindert doppeltes Erzeugen.

Die Datenbank anzeigen in der Visu mach ich dann über .net Framework Gridview den ich mit einem SQL- oder ODBC-Adapter über ein Datatable oder Dataset betanke. Dann gibs noch ein paar Eingabefelder um ein Datensatz zu erzeugen, ändern oder zu löschen.

P.S. Du arbeitest ja mit TIA, kann man Variablen in DBs auch remanent machen, wenns keine 1200er oder 1500er ist?
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Christoph, hallo Clyde.

@Clyde:
eine Textliste ist doch grundsätzlich notwendig für ein Symbolisches E/A-Feld (=DropDown-Eingabefeld).
Deine Lösung verlangt nach externer Datenbank plus externer (erst einmal TIA-fremder) Controls, warum das ganze nicht mit Bordmitteln eines Touchpanels lösen?
Interessehalber meine Frage: gibt es ein Gridview-Control auch für Panels (mit Windows CE)?

@Christoph:
Ergänzung zu meinem Vorschlag: entweder die Variablen der Konfigurationsseite ebenfalls in eine (zusätzliche) Rezeptur packen, oder du nutzt die Variablen-Remanenz für die dauerhafte Speicherung.
Der erste Vorschlag lässt sich rein mit HMI-Bordmitteln (internen Variablen und Rezepturverwaltung) realisieren, der zweite Vorschlag bedeutet, dass die Variablen eine Steuerungsanbindung benötigen und birgt die Gefahr, dass bei einem notwendigen Neuladen des Programms in die SPS (z.B. bei CPU-Tausch) die Werte verloren gehen (Abhilfe hier: regelmäßiger AG-Abzug und eventuell Vorbesetzung der Variablen-Startwerte).


Gruß, Fred
 
Hallo Christoph, hallo Clyde.

@Clyde:
eine Textliste ist doch grundsätzlich notwendig für ein Symbolisches E/A-Feld (=DropDown-Eingabefeld).
Deine Lösung verlangt nach externer Datenbank plus externer (erst einmal TIA-fremder) Controls, warum das ganze nicht mit Bordmitteln eines Touchpanels lösen?
Interessehalber meine Frage: gibt es ein Gridview-Control auch für Panels (mit Windows CE)?

Gruß, Fred

Also ich habe bei mir in WinCC .net controls und da gehört Gridview mit dazu. Er kann das Gridview sogar mit einer Excelliste betanken wo später die Daten drinstehen, wenn er das will. Aber dann muss er halt alle Logik die doppelten Rezepten oder unplausiblen Einträgen führen selber schreiben, sowas würd ich halt nie machen.
 
Zuletzt bearbeitet:
Hallo Clyde,

.net geht aber nicht für Windows CE (meines Wissens nach)!?
Und Christoph sprach doch von einem TP (also Touchpanel, bedeutet also maximal Comfort-Panel mit Win CE).


Gruß, Fred
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Clyde,

.net geht aber nicht für Windows CE (meines Wissens nach)!?
Und Christoph sprach doch von einem TP (also Touchpanel, bedeutet also maximal Comfort-Panel mit Win CE).


Gruß, Fred

Hi Faust,

aus Erfahrung selber weiß ich das nicht, aber laut dem hier: https://msdn.microsoft.com/en-us/library/ms836805.aspx sollte es doch gehen oder bin ich da irgendwo auf dem Holzdampfer?

mfg Clyde
 
Hallo Clyde,

demnach sollte zumindest ein ".net compact" lauffähig sein.

Welche Controls allerdings zur Verfügung stehen wird nicht erwähnt.
Und ob Siemens die Installation des Frameworks zulässt: keine Ahnung, habe im Netz nichts gefunden.


Gruß, Fred
 
Hallo.

Mir ist der Anlagen-Aufbau nicht klar. Die Verwendung von Dosierpumpen macht doch die Verwendung einer Waage überflüssig?!

VG
 
Ich habe mal vermutet, daß er mit "Dosierpumpen" normale Pumpen meint. Sonst
macht die Waage in der Tat keinen Sinn
Aber vielleicht werden wir vom TE ja noch erleuchtet.

peter(R)
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Die Datenbank anzeigen in der Visu mach ich dann über .net Framework Gridview den ich mit einem SQL- oder ODBC-Adapter über ein Datatable oder Dataset betanke. Dann gibs noch ein paar Eingabefelder um ein Datensatz zu erzeugen, ändern oder zu löschen.

Hy @Clyde82 ich möchte gerade ähnliches umsetzten aber ich schaffe es nicht das Dataset oder die Datatable zu deklarieren. (Natürlich konnte ich meinen restlichen Code aus dem Grund auch noch nicht prüfen aber ich denke der ODBC-Adapter sollte bei mir funktioniert. Einen Recordset mit diesen Daten habe ich, nur laut meiner bisherigen Recherche kann ich den Recordset nicht mit dem DataGridView verbinden.

Könntest du vieleicht mit einem Code-Auszug helfen?

TIA V16 upd 1, WinCC RT Advanced auf IPC mit Windows 10
 
Moin,

das ist der Code den ich benutze. Ist aber in InTouch Archestra gemacht.

Code:
Dim ODBC_con As System.Data.ODBC.ODBCConnection;
Dim ODBC_Adapter As System.Data.ODBC.ODBCDataAdapter;
Dim ODBC_DataTable As System.Data.DataTable;

ODBC_con = New System.Data.ODBC.ODBCConnection(sDBConnStr);
ODBC_Adapter = new System.Data.ODBC.ODBCDataAdapter(me.UDA_Query+" Limit " + me.UDA_Limit, ODBC_con);

ODBC_DataTable = New System.Data.DataTable;
ODBC_Adapter.MissingSchemaAction = System.Data.MissingSchemaAction.AddWithKey;
ODBC_Adapter.Fill(ODBC_DataTable);

DataGridView1.DataSource = ODBC_DataTable;
DataGridView1.AutoGenerateColumns = true;
DataGridView1.AutoResizeColumns();

CmdRetrieve = false;
 
Hi @Clyde82 ,

vielen dan für deinem Bemühung. Schade das es sich so leier nicht in das TIA VBS einbauen lässt.
Operator wie "As" werden dort nicht akzeptiert.
 
Hi,

pass doch die Variablendeklaration entsprechend TIA VBS an. Frage ist nur ob du die DOT Framework Sachen nutzen kannst. Angeblich soll das nur in Professional gehen, wenn ich mich recht entsinne.
 
Zurück
Oben