Multiplexvariablen in Rezeptur verarbeiten

rostiger Nagel

Forums-Knochenbrecher
Teammitglied
Beiträge
16.448
Reaktionspunkte
6.047
Zuviel Werbung?
-> Hier kostenlos registrieren
Weiß das jemand?

Ich verwende den FB58 TCONT_CP zur Regelung von Heizungen und möchte deren
Parameter in einer Rezeptur halten. Da ich aber bis zu 20 Heizungen habe, möchte
ich nicht die Menge der Variablen anlegen.

Wenn ich die Variablen Multiplexe, kann ich diese dann in einer Rezeptur halten?

Andere Vorschläge sind willkomen,
 
Mir ist nicht klar was du multiplexen willst.
Im Prinzip kannst du deine Daten unterteilen in Maschinendaten (Verstärkung, Totzeit, Max. Temp, ...) und Typdaten (Solltemperatur, ...)
Ggf. Kannst du die Maschinendaten für ähnliche Heizungen noch zusammenfasssen.
Somit kannst du alles in Prinzip in 2 Rezepturen unterbringen.

Gruß
Dieter
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Moin Dieter, also noch einmal,
ich habe einen Regler für eine Heizung, FB58 TCONT_CP, deren Paramter
am Panel eingestellt werden sollen, wenn man das Visualisieren möchte sind
das so 47 Variablen.

Da habe ich mir dann ein paar Bilder gemacht wo ich den Regler Visualisiere

FB_58_Bild_1.jpg

FB_58_Bild_2.jpg

FB_58_Bild_3.jpg

FB_58_Bild_4.jpg

So jetzt ist das aber in wirklichkeit nicht nur ein Regler, sondern es sind 20,
natürlich mit entsprechenden Heizungen.
Damit ich die Variablen nicht 20 mal anlegen muß, das wären ja dann so 940,
Multiplexe ich diese, also ich zeige mit einen Zeiger auf den entsprechenden
Datenbaustein des Reglers.

Ich möchte natürlich die Regler-Parameter sichern, das sind dann pro Regler
so 31, vorteil ist:
  • Es können die Parameter von gleichwertigen Reglern, hin und her kopiert werden
  • es können unterschiedliche Werte getestet werden
  • bei Datenverlust können die Parameter, über die Rezeptur wieder hergestelllt werden.

So weit denke ich ist alles klar.

Was anscheinend nicht geht, was mich auch ein Kollge gestern schon so Skeptisch gefragt
hat, geht es wirklich das man Multiplexvariablen in einer Rezeptur halten kann?

Ich so in meinen Jugendlichen Leichtsinn, natürlich sollte doch kein Problem sein.

Das scheint ein Irtum meinerseits zu sein, es sieht so aus als wenn es nicht geht, da ich eine Sytemmeldung
bekomme

Code:
290003
Diese Meldung werden ausgegeben, wenn die Meldung Nr. 290000 mehr als fünfmal ausgelöst wurde.
In diesem Fall wird keine Einzelmeldungen mehr erzeugt.

die Meldung 290000 sagt folgendes aus
Code:
290000
Die Rezepturvariable konnte nicht gelesen oder geschrieben werden. Sie wird mit dem Startwert belegt.
Die Meldung wird gegebenenfalls für bis zu vier weitere fehlerhafte Variablen im Meldepuffer eingetragen.
Danach wird die Meldung Nr. 290003 ausgegeben.

Jetzt suche ich nach eine schlanke Lössung.

Ansatz:

  • HMI Interne Variablen erstellen und diese dann mit einen Script umkopieren
  • Anwenderdatentypen verwenden und dann mit Biblotheken zu arbeiten, aber da trau ich den TIA Portal nicht
    oder besser den Siemens Leuten nicht, das die bei der nächsten Versionen, mit einen Bug meine Arbeit wieder
    zu nichte machen
 
Zuletzt bearbeitet:
Also ich mache so, da ich ich der Rezeptverwaltung in der HMI nicht traue bzw verschiedene HMI habe:
Ein oder mehrere DB werden mit einer Strukt angelegt.
Index 0 = aktuelles Rezept.
Die gewählte Rezeptnummer gibt den Index vor aus dem dann der Offset berechnet wird , damit wird ein Zeiger gestellt und aus dem Speicher in aktuell kopiert.
Ist nicht so echt schön, da bei CPU tausch die daten ggF verloren gehen. Daher werden die Daten zyklisch als unlinked auf die Speicherkarte gesichert oder wenn vorhanden extern abgeholt.


bike
 
Grundsätzlich kannst du der Rezepturverwaltung trauen, leider
ist Sie nicht so leicht zu durschauen. Da verlass ich mich schon
weniger auf die Steuerung, da können mal schnell einstellwerte
bei einer IBN platt gemacht werden.
Ich ziehe alle Parameter in die HMI, da habe ich erstmal grundsätzlich
doppelte Datenhaltung auf den Panel und in der Steuerung, zur not
kann mann dann noch die Daten exportieren und sogar auf einen USB
Stick oder Server speicheren. Das da mall alles kaputt geht ist ja nur
bei einen Ausbrannt der ganzen Firma möglich.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Doppelte Datenhaltung?
Also da beginnt wieder die Frage nach konsistenz und andere Dinge.

Jeder so wie er oder sie es will, braucht oder kann.


bike
 
Hallo Helmut,
meine Antwort dazu mal "so aus dem Bauch" - du weißt, ich setze keine Siemens-Rezepturen ein ...8)
Das Multiplexen von Variable ist doch mehr als eine Anzeige-Geschichte gedacht, die es ermöglichen soll, auf der selben Bildschirmseiten z.B. die Daten von 20 Reglern nacheinander (oder anwählbar) darzustellen. Die Rezeptur hingegen muß aus meiner Sicht simultanen Zugriff auf alle ihre Parameter haben können - das ist ja beim Muxen nun so gar nicht gegeben ...
Ich würde also mal behaupten wollen, dass das, was du da vorhast, so nicht sinnvoll umsetzbar ist ...
Brauchst du denn wirklich so viele Einzel-Parameter ?

Gruß
Larry
 
Zuviel Werbung?
-> Hier kostenlos registrieren
hallo Ralf,
was du es darstellst sehe ich es auch, trotzdem möchte ich die Anzahl der
Parameter in eine Rezeptur sichern, das hat schon seine berechtigung.

Ein Grund ist eine Serieninbetriebnahme, da kann ich eine IBN-Rezeptur
schon mit Defaultwerten füllen.
 
Helmut, jetzt ist mir klar was du meinst.
Ein Kollege hat das mit 1600 Variablen lösen müssen.
Er ist über einen Umweg mit Rezeptur-DBs gegangen. Da er es auch nicht fertiggebracht hat die Rezeptur mit Multiplex-Variablen zu bearbeiten, hat er die zu bearbeitende Rezeptur in die Steuerung geladen.
Darauf konnte er dann mit Multiplex-Variablen in den Bildern zugreifen. Nachdem Editieren beim Bildabbau hat er die Rezeptur wieder aus der Steuerung zurückgeschrieben.
Um die Rezeptur in der Steuerung zu aktivieren werden erst die Daten in die Rezeptur-DBs übertragen und von dort in die richtigen Arbeits-DBs.
Funktioniert ohne Probleme.

Gruß
Dieter
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Wie wäre es den, wenn ich wie eingangs schon angedeutet, ich die
Variablen mit einen script umlade? Wenn ich also die gleichen Variablen
eines Reglers als interne Variablen anlege und diese in der Rezeptur halte.

Wenn ich die Daten speichere lade ich in einen Script von intern nach Mux
um und speichere dann. Beim Laden geht es dann genau andersherum.
 
Hallo Helmut,

ich weis nicht ob es noch aktuell ist.


Ich habe es wie folgt gemacht:

Die Daten als Arrays im DB abgelegt (z.B. Totzeit[20], P_Anteil[20], etc)
Dieses Array im HMI einfügen. Dieses Array kann in der Rezeptur verwendet werden.

Nun kannst Du eine interne Variable anlegen, die via Multiplex auf die Indizes des Arrays zeigt.
Alternativ via Script aus dem Array mit Indize in eine lokale Variable umkopieren.

Grüße

Marcel
 
Zuviel Werbung?
-> Hier kostenlos registrieren
So richtig schön ist es wirklich nicht, weil ich auf die IDBs direkt zugreife.
Die Lössung erzeugt einmal eine Belastung für den Bus, einmal eine Belastung
für die Steuerung, weil ich wieder Variablen hin und herschieben muss und
eine Belastung für mich, weil ich das alles schreiben muss.
 
Zurück
Oben