Funktionsbausteine

Zuviel Werbung?
-> Hier kostenlos registrieren
Da muss ich nochmal schauen, aber eig hängt bloß der Kalibrator an den Klemmen (sollten geöffnet sein).
Du hast recht, Sie waren noch zu....(Verdrahtungsfehler) ---> gute Diagnose :s12: --> jetzt passt es ;)

Also ich hab bei

4 mA = 6961
20 mA = 32767
 
Zuletzt bearbeitet:
Moin moin,

ich hab mich nun der Datenerfassung gewidmet. Soll folgendermaßen aussehen (zumindest hatte ich das mir so überlegt) ich ermittle mit einem zyklischen OB (alle 100 MS) den Druck und Addiere diesen zu einer Summe und gleichzeitig lasse ich einen Zähler bis 600 hochzählen (alle 100 MS ++1). Einen Abgleich von Max und Min-Wert des Druckes hab ich auch noch.

Nun möchte ich jede Minute den Mittelwert (aus Summe_Druck und Zähler) bilden, die Temperatur möchte ich auch erfassen und die Systemzeit auslesen. (dafür hab ich mir einen weiteren OB geholt mit einem Zyklus von 1 Minute.

Jetzt kommt die eigentliche Frage, kann ich alle diese Sachen in einen Array packen oder pack ich jedes in einen Array und dann in einem gesamten Array (Array in Array)?

Was ist da möglich bzw wie würdet ihr das machen??

LG
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich möchte die Daten dort ablegen und quasi einen Messdatensatz erstellen, mit dem ich ein Diagramm füttern kann bzw. den Datensatz speichern.

Andere Frage noch, wenn eine Speicherkarte nicht ausreicht zur Datenspeicherung, welche Möglichkeiten der Datenspeicherung hat man noch?

LG
 
Das ist ja das, was ich meine.

Du hast schon einen Haufen Messdaten, die Du logischerweise speichern musst, und willst noch einen dreifach so großen Haufen speichern, obwohl Du Dir diese Daten jederzeit berechnen kannst. Also nochmal - wozu?

Ich würde diese Werte immer nur dann berechnen, wenn sie angezeigt werden müssen, aber nicht speichern.
 
Ok, also meinst du ich soll die Daten speichern und aus dem Datensatz dann meine Daten die ich Anzeigen will berechnen? (Hab ich das so richtig verstanden?)

Noch mal zu dem Wozu (kann sein das ich aufm Schlauch stehe)

Während einer Messung möchte ich mir den Druckverlauf auf dem KTP 600 anzeigen lassen (also man muss bzw soll den Button Diagramm anwählen um das Diagramm zu sehen). Ursprünglich war geplant 2 oder 3 Messungen (Messdatensätze) zu speichern und wenn man diese sich später anzeigen lassen möchte kann man einen Datensatz anwählen und erzeugt ein Diagramm (Wo auch Max & Min-Werte) angezeigt werden.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ok, also meinst du ich soll die Daten speichern und aus dem Datensatz dann meine Daten die ich Anzeigen will berechnen? (Hab ich das so richtig verstanden?)

Noch mal zu dem Wozu (kann sein das ich aufm Schlauch stehe)
2x Ja.

Was nimmt wohl mehr Platz weg - eine Formel, die Du immer wieder benutzen kannst, oder die X Ergebnisse dieser Formel?

Deshalb fragte ich: Wozu speichern. Das Ende ist immer das Gleiche: Das Ergebnis wird angezeigt. Egal ob gespeichert oder frisch berechnet.

Excel speichert auch keine Ergebnisse, sondern berechnet sie bei jedem Öffnen neu.
 
Ok, jetzt hab ich zumindest schon mal einen Anfang.

Ich würde also erst mal Blind alle 100 MS die Werte des Drucks in einem Array ablegen? Wird das dann nicht ein bisschen viel? Wären ja dann 600 Messwerte pro Minute und dann mal 24 Stunden gibt ja dann (60x600)x24 =864000 Messwerte (nur für den Druck), da ist Temperatur, und Uhrzeit noch nicht dabei.

Um das nicht so ausufern zulassen, wollte ich ja nur die Mittelwerte speichern (die erzeugen mir nur mein Diagramm)....hab ich die Info am Anfang nicht gegeben?

LG
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Entschuldige, also ich ermittle alle 100 Millisekunden einen Wert und nach 1 Minute soll ich aus den aufgenommen Werten den Mittelwert bilden und der soll dann gespeichert bzw angezeigt.

Speichern bzw anzeigen muss ich: Mittelwert_Druck jede Minute, dazu die Temperatur und Uhrzeit (Druck abhängig vom Zeitverlauf)

Unter dem Diagramm steht dann noch Minimalwert und Maximalwert

Deswegen hab ich den Druck alle 100 MS addiert (Istwert + Summe = Summe) und ein Zähler zählt jede 100 MS ++1
Diese Werte hab ich in einem DB geparkt und hol mir diese nach einer Minute um den Mittelwert zu berechnen (über einen zyklischen OB), da hole ich mir auch die Temperatur und die Uhrzeit...

Jetzt kann ich ja sagen schreib mir jedes mal den Wert in ein Feld, dafür müsste ich doch aber den Mittelwert (Druck), die Temperatur und die Uhrzeit zusammen packen oder immer 3 Felder für einen Messwert nehmen ?
Oder kann man auch jeden Wert in einem eigen Array schreiben bzw geht das dann auch wieder sinnvoll zu entwirren (damit ich das Diagramm füttern kann)

Ich glaub im TIA V12 gehen nur eindimensionale Arrays oder??

LG
 
Moin,

Als PLC meinst du lediglich eine Variable vom Datentyp Array oder?

Was hätte man denn noch für Optionen die Daten zu speichern? (Mittelwert_Druck, Temperatur, Uhrzeit, Maximalwert_Druck und Minimalwert_Druck)

LG
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich muss euch leider nochmal mit einem Problem nerven (zum Thema Flanken)

Vor einem Messvorgang soll der Messbereich ausgewählt werden (am KTP 600 --> Schalter), wird jedoch während einer Messung der Messbereich geändert soll der Prozess gestoppt werden.

Schaut mal bitte ob ihr einen Fehler seht, ich sehe nämlich keinen.....das eine Bild zeigt während der Messung und eines nach der Bereichsumschaltung während einer Messung.

Warum schaltet die positive und die Negative Flanke zur gleichen Zeit? (Oder wird damit nur signalisiert das der Operand "True" hat?)

LG
 

Anhänge

  • Flankenauswertung nach Betätigung MB.jpg
    Flankenauswertung nach Betätigung MB.jpg
    62,5 KB · Aufrufe: 13
  • Flankenauswertung während Vorgang läuft.jpg
    Flankenauswertung während Vorgang läuft.jpg
    61,7 KB · Aufrufe: 9
Leg dir ein PLC Datentyp mit einem Array an.
Und in deinem Baustein definierst du einen Array von deinem PLC-Datentypen. Dann haste Array in Array... schwebt dir so was vor?

Also hab mir eine Struktur vom typ Array angelegt, hab es erst mal auf 11 Felder begrenzt (sollen dann mal 1440 werden).
Jetzt müssen meine Messwerte nur noch rein geschrieben werden, feste Werte sind ja kein ding (Feldnummer) soll aber selbstständig jede Minute ein Feld weiter hüpfen und wieder einen Wert notieren.

Da ist jetzt die Frage, ich wollte eig eine zählerhochzählen lassen und dann immer in dem Pfad die sich auf das Feld bezieht ändern. Macht man das so??

Ich wollte das so deklarieren: "Datenspeicher".Messdatensatz_1.Temperatur --> i wäre dann meine Feldzahl also 0 bis 1439 geht das überhaupt...

LG
 
Leg dir ein PLC Datentyp mit einem Array an.
Und in deinem Baustein definierst du einen Array von deinem PLC-Datentypen. Dann haste Array in Array... schwebt dir so was vor?

Hä???

mache dir für einen Satz Daten einen UDT mit
mittelwert : REAL
Temperatur : REAL oder vielleicht doch INT
Uhrzeit : TOD oder gleich mit datum dann eben DTL oder DT
Maximal : Real
Minimal : Real

und dann in einem DB ein array [0..5999] of datensatz



Array[ 1..10] of Array [2..20] of Dings geht nicht. Aber Array[1..10,2..20] of Dings, das geht.


'n schön' Tach auch
HB
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich muss euch leider nochmal mit einem Problem nerven (zum Thema Flanken)

Warum schaltet die positive und die Negative Flanke zur gleichen Zeit? (Oder wird damit nur signalisiert das der Operand "True" hat?)

LG

Die Box zeigt den Wert des Operanden, die nach links herausführende Linie zeigt die Flanke. Da das aber nur für einen Zyklus 1 ist, sind die Chancen, dass du da auch mal grün siehst sehr gering. Außer die Frequenz mit der die Flanke kämen wäre knapp unter der Zykluszeit -- deiner Beschreibung nach eher unwahrscheinlich.

'n schön' Tach auch
HB
 
Hallo Leute,

Kann jetzt meine Messwerte abspeichern, hab mir dazu ein "Array [0 bis 1430] of Struct" angelegt und dort meinen Mittelwert, Temperatur, Max & Min Druck sowie die Uhrzeit.
Jetzt kommt die spannende Frage, kann ich mit einem Baustein die Struktur auswerten bzw durchlaufen und auf die einzelnen Messwerte zugreifen??(Oder gibt es da nix fertiges?)

Soll den zweck haben das ich die Daten in meinem HMI in Form eines Diagramms anzeigen lassen möchte.



Hab ein KTP 600 Basic Color PN und verwende WinCC.
 

Anhänge

  • Struktur_mit_5_Minuten.jpg
    Struktur_mit_5_Minuten.jpg
    238,3 KB · Aufrufe: 10
Zurück
Oben