Anlegen und Speichern von Datensätzen

1337.5uxx

Member
Beiträge
6
Punkte Reaktionen
0
Zuviel Werbung?
->Hier kostenlos registrieren
Moin Moin,

ich bin eine stiller Mitleser hier im Forum und benötige nun eure Hilfe, da ich ein wenig auf dem Schlauch stehe.
Ich hoffe ihr könnt mir ein paar Denkansätze geben, damit ich das Problem lösen kann.

Aus einem Tank soll Flüssigkeit in ein LKW eingelagert und mit Hilfe eines Durchflussmesser der Durchfluss bestimmt werden. Ist dieser Vorgang abgeschlossen, so soll die entnommene Menge gespeichert und dem LKW "zugewiesen" werden.

Grund der Speicherung ist der, dass nach einer gewissen Zeit nachgeschaut werden soll, wieviel der LKW insgesamt über den Zeitraum entnommen hat.

Das Projekt ist um einiges komplexer und die Speicherung der Daten ist nur ein kleiner Auszug von dem Ganzen.

Insgesamt sollen 15 verschiedene LKW die Entnahme durchführen. Vor der Entnahme muss der Bediener auswählen, welchen LKW am Tank angeschlossen ist.

Das komplette Programm etc funktioniert so wie es soll, ebenso die LKW-Anwahl. Nur weiss ich leider nicht, wie ich das mit dem Speichern realisieren soll.

Ich hoffe ihr könnt mir helfen.......


Falls noch Informationen benötigt werden, fragt einfach nach.

Als Hardware wird eine S7 315 DP/PN verwendet.


LG

Mike
 

SoftMachine

Well-known member
Beiträge
2.307
Punkte Reaktionen
368
.
Mal ganz vereinfacht dargelegt:

Für jede LKW-Nr. den Wert des Durchflussmessers aufnehmen
und seperat aufaddieren (bisheriger Wert + neuer Wert für jeden
LKW), z.B. in einem DB.

Wenn du sogar nachschauen kannst, welche Mengen entnommen
wurden (z.B. auf einem Panel), kannst du sogar Datensicherung
des DB´s betreiben.

Vielleicht solltest du weitere Details deines bestehenden Programms
hier darlegen, dann kann dir sicher gezielter geholfen werden, um
es für deine Aufgabenstellung zu erweitern.
 

Larry Laffer

Supermoderator
Teammitglied
Beiträge
13.081
Punkte Reaktionen
2.716
Zuviel Werbung?
->Hier kostenlos registrieren
Hallo,
ich würde hier auch etwas mehr Info bezüglich deiner Anwendung interessieren.
Gibt es schon eine Visu ? Wenn ja welche ?
Wenn du Daten archivieren willst (erst mal ganz grundsätzlich) brauchst du ja auch jeden Fall einen PC (oder vergleichbar), der das leisten kann.
Wie hast du dir das vorgestellt ?
Gibt es jetzt schon ein Ereignis, in der Art wie "Befüllung beendet" ?
Verifizierst du, ob der gewählte LKW auch der ist, der tatsächlich befüllt wird ?

Gruß
Larry
 

Lipperlandstern

Well-known member
Beiträge
5.317
Punkte Reaktionen
1.378
Würde Dir da ein FiFo-Speicher etwas bringen. Dort kannst Du jedes Mal ein neuen Wert reinschreiben und am Ende des Tages (oder wann auch immer) die Daten löschen bzw. umkopieren. Bei 15 verschiedenen LKWs brauchst Du halt 15 Speicher. Der Aufwand ist aber m.e. überschaubar.
 
OP
1

1337.5uxx

Member
Beiträge
6
Punkte Reaktionen
0
Hey,

vielen Dank erstmal für die Antworten.

Es gibt insgesamt 6 Tanks. Diese Tanks sollen mit Flüssigkeit befüllt werden und auf der anderen Seite soll Flüssigkeit entnommen werden. Auf beiden Seiten ist ein Durchflußmesser installiert, wobei der Befüllseitige erstmal nur abgefragt wird und keine weitere Bedeutung hat.

Gesteuert wird alles über ein Touchpanel (TP277, wenn ich mich nicht irre). Die Identifikation der Fahrzeuge geht manuell, sprich der Fahrzeugführer markiert "seinen" LKW bevor der Entnahmevorgang gestartet werden kann. Ist dieser gestartet, fahren die Ventile auf, Pumpe geht an und der Durchfluss wird gemessen.
Wird der Vorgang beendet, gibt es natürlich ein "Entleerung Beendet".

Gewünscht ist es nun, dass man sich anzeigen lassen kann (auf dem TP), wieviel jeder LKW entnommen hat (Insgesamt).

Der Handbetrieb und Automatikbetrieb, sowie eine Visu mit WinCC Flex sind bereits verhanden und funktionsfähig.

Hoffe das hilft erstmal.......


LG
 
Zuletzt bearbeitet:

SCM

Well-known member
Beiträge
335
Punkte Reaktionen
33
Zuviel Werbung?
->Hier kostenlos registrieren
Leg dir eine Textliste an mit den LKW Nummern!(Soweit diese sich nicht ändern)
Dann dazu eine Indexvariable.
Mit der Indexvariable kannst dann auf eine Weitere Variable Multiplexen!
Multiplexen kannst dann den Bereich wo die Aktuelle Entnahmewerte drinne stehen!

Soviel mal zur Ausgabe am TP.
Wie du das dann intern alles verwaltest ist eine andere Geschichte!

Die Indexvariable zeigt dir dann welcher LKW gerade befüllt wird!
Somit weist du wo addiert werden muss!

Gruß
 
Zuletzt bearbeitet:

Larry Laffer

Supermoderator
Teammitglied
Beiträge
13.081
Punkte Reaktionen
2.716
Wenn du Daten archivieren willst (erst mal ganz grundsätzlich) brauchst du ja auch jeden Fall einen PC (oder vergleichbar), der das leisten kann.
Wie hast du dir das vorgestellt ?

Das, was du dir vorstellst, so wie ich die Anfrage verstanden habe (was verstehst du genau unter archivieren ?), kann ein TP nur dann leisten, wenn es scriptfähig ist. Ist das bei einem TP277 so ?

Gruß
Larry
 

faust

Well-known member
Beiträge
464
Punkte Reaktionen
107
Hallo,

@LarryLafer: das TP277 ist scriptfähig.

@Mike:
Ich würde die ganze Archivierungslogik per Script auf dem Panel realisieren.
Vorteil: du kannst das Format der Datenspeicherung selbst vorgeben, das Ganze ist dateibasiert (also einfach zu sichern bzw. wiederherzustellen), und du hast keine verteilte Logik.


Gruß, Fred
 
OP
1

1337.5uxx

Member
Beiträge
6
Punkte Reaktionen
0
Ich muss dazu sagen, dass ich noch ein relativer Anfänger in der SPS-Programmierung bin, bzw noch nicht die Erfahrungen habe wie manch anderer.

@SCM: Kannst du mir das genauer erklären wie du das meinst mit der Textliste???

@Faust: Ich habe noch nie ein Script geschrieben. Müsste ich mich auch erst komplett einlesen/einarbeiten

Am Liebsten wäre mir vorerst eine SPS-Basierte Speicherung......
 

Larry Laffer

Supermoderator
Teammitglied
Beiträge
13.081
Punkte Reaktionen
2.716
... Am Liebsten wäre mir vorerst eine SPS-Basierte Speicherung......

Und genau das ist das Problem ...
Das kann die SPS bzw. eigentlich ja die Visu in der Form, wie du es nach meiner Meinung benötigst, gar nicht.
Da mußt du dann mit Scripten ein bißchen nachhelfen. Das widerum ist aber kein Problem, da es dazu hier im Forum ausreichend Beispiele gibt. Darüber hinaus kann man dann außerdem noch fragen ... die Entscheidung triffst aber du ...

Gruß
Larry
 

faust

Well-known member
Beiträge
464
Punkte Reaktionen
107
Zuviel Werbung?
->Hier kostenlos registrieren
Hallo nochmal,

@LarryLafer:
Es geht schon mit einer Sps und dem vorhandenen Panel TP277 auch ohne Scripte (Stichwörter Archive und Remanenz), ist aber seeehhhrrr eingeschränkt und bedeutet, dass die Logik verteilt realsiert werden muss (Sps, Panel), was ich generell vermeiden würde. Außerdem finde ich, dass solche Aufgaben prinzipiell nicht in einer Steuerung verloren haben.


@Mike:
Die Einarbeitung in Scripte ist gar nicht so schwer und umfangreich, außerdem ist dies eine gute Weiterbildung, denn du wirst m.e. früher oder später sowieso damit in Kontakt kommen.


Gruß, Fred
 

faust

Well-known member
Beiträge
464
Punkte Reaktionen
107
Ich vergaß...

@Django:
+ Triggerung eines Scripts bei Wertänderung der Variablen 'Entleerung beendet'
+ Im Script 'sammle' ich die benötigten Variablenwerte für die Logik ein, berechne die erforderlichen Resultate.
+ Im Script erzeuge ich mit Hilfe von Stringfunktionen den Dateiinhalt meines Archivs und erzeuge dann mittels FileSystemObjects eine Datei. Ggf. lese ich den Dateiinhalt vorher ein (je nach Funktionsumfang meiner Archivierung), dafür verwende ich ebenfalls FSOs.

Einige Befehle zum Googlen: FileSystemObject, fso.CreateFile, file.WriteLine


Gruß, Fred
 
Oben