DB Inhalt in Multi Panel auflisten (WinCCflex2008 SP1)

leolilu

Level-1
Beiträge
17
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallöchen :)
ich hab eine kleine Frage und hoffe ihr könnt mir helfen.

Ich möchte eine Liste das Inhalts eines Datenbausteins (Global) in einem Bild am MP277 anzeigen lassen.
Es Handelt sich dabei um einen DB der Namen in Stringform (25 byte lang) speichert. Ich möchte gern, das eine Liste dieser Namen am MP ausgegeben wird, quasi als eine Art Nachschlagewerk.
Zur Zeit habe ich das mit EA-Feldern gelöst, in der Form:
EA-Feld 1 gibt Var_1 aus und Var_1 = DB72.DBB0 (String)
EA-Feld 2 gibt Var_2 aus und Var_2 = DB72.DBB28
etc.
Funktioniert ja recht gut, allerdings wird die Namenliste regelmässig erweitert und mitlerweile bin ich bei 1200 Namen, was mal eben so 40 Bilder voller EA-Felder ergibt... damit ist das keine so elegante Lösung mehr -.-*
Daher wüste ich gern wie ich es bewerkstellige, das der komplette DB Inhalt numeriert in einer Liste, seitenweise oder im Idealfall auch scrollbar, dargestellt wird.

Kann man DBs vieleicht über VBS auslesen ?
Danke schonmal für die Hilfe :)

LG Leo
 
Wie wäre es den mit einer Rezeptur, da geht das erstellen einer langen
Variablen Tabelle sehr schnell. Wenn du etwas über VB oder so, an flex
Vorbei machen möchtest solltest du dir zb über die Fremdsprachlichkeit
Gedanken machen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
hm eine Rezeptur... hm... muss ich mir mal anschauen...
was meinst du dnen mit 'an Flex vorbei'
ich dachte ehr an die scripting möglichkeiten die WinCC Flex selbst bietet
 
das schon, wenn du da irgendetwas automatisierst, z.b. Texte in der
Oberfläche so werden die nicht in die Projekttexte aufgenommen.

Wenn du über das Script ein indirekte Adressierung schaffst ohne die
Variabeln in der projektierung anzulegen, werden diese ja nicht auto-
matisch nachgeführt, wenn sich im Step 7 Projekt mal etwas verschiebt.
Unter umständen zeigst du dann auf eine falsche Variabel.

Machen kann mann so einiges, aber ob das immer sinn macht.

Wenn die möglichkeit besteht, das du für deine Variabeln ein Array nutzen
könntest und da nur "DINT", bräuchtest du nur eine Variabel für deinen
DB anlegen das macht das System perfomater.
In deiner Rezeptur musst du dann nur noch die Variabelnbezeichnung angeben.
 
... oder las das Panel "dumm". Mach Dir auf dem Panel nur ne Variable welche Du hoch/runterzählst, und in der Steuerung nen Baustein, welcher damit einen DB-Offset macht und den gewünschten Bereich in einen Visu-DB schaufelt. Den Fehler das der DB am Ende ist fängst Du ab und sagst über ein Bit der Visu letzter Datensatz erreicht.

Thomas
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallöchen :)
ich hab eine kleine Frage und hoffe ihr könnt mir helfen.

Ich möchte eine Liste das Inhalts eines Datenbausteins (Global) in einem Bild am MP277 anzeigen lassen.
Es Handelt sich dabei um einen DB der Namen in Stringform (25 byte lang) speichert. Ich möchte gern, das eine Liste dieser Namen am MP ausgegeben wird, quasi als eine Art Nachschlagewerk.
Zur Zeit habe ich das mit EA-Feldern gelöst, in der Form:
EA-Feld 1 gibt Var_1 aus und Var_1 = DB72.DBB0 (String)
EA-Feld 2 gibt Var_2 aus und Var_2 = DB72.DBB28
etc.
Funktioniert ja recht gut, allerdings wird die Namenliste regelmässig erweitert und mitlerweile bin ich bei 1200 Namen, was mal eben so 40 Bilder voller EA-Felder ergibt... damit ist das keine so elegante Lösung mehr -.-*
Daher wüste ich gern wie ich es bewerkstellige, das der komplette DB Inhalt numeriert in einer Liste, seitenweise oder im Idealfall auch scrollbar, dargestellt wird.

Kann man DBs vieleicht über VBS auslesen ?
Danke schonmal für die Hilfe :)

LG Leo

Wue wärs mit nur einem Bild mit 10 feldern, zwei Buttons welche eine Zahl hozählen, und dann nutzt du Addressmultiplexen is WinCC Flexible. D.h. du zählst bei dem druck auf eine Taste einen wert in der SPS hoch. diesen wert nimmst du als adresse für deine Variablen, über lineare skalierung kannst du anpassen, das der wert zu deiner Stringaddresse passt!
 
Hallo,
das mit ddem Adress-Multiplexen ist mit Strings so eine Sache - Flex kennt ja nun mal leider kein "ARRAY of String".
Wozu sollen denn die Strings überhaupt in der SPS abgelegt sein ?
Du könntest sie doch auch im Panel selbst in einer Datei speichern und dann (falls die SPS den angewählten String tatsächlich benötigt) den gewählten String an die SPS übergeben.

Je nachdem, was der wirkliche Hintergrund bei der Sache ist, wäre aber auch die von Helmut schon genannte Rezeptur ein (eventuell sinnvollerer) Ansatz.

Gruß
Larry
 
Wue wärs mit nur einem Bild mit 10 feldern, zwei Buttons welche eine Zahl hozählen, und dann nutzt du Addressmultiplexen is WinCC Flexible. D.h. du zählst bei dem druck auf eine Taste einen wert in der SPS hoch. diesen wert nimmst du als adresse für deine Variablen, über lineare skalierung kannst du anpassen, das der wert zu deiner Stringaddresse passt!

So würds ich auch machen,
Hatte auch mal den Fall auf ein paar 100 Strings zugreifen zu müsssen.
Habs auch mit der Multiplexvariante gelöst, hab sogar noch ein Feld gehabt um direkt die Seite auf die gesprungen werden soll, eingeben zu können.

Gruss Andi
 
Nee brauchst du nicht, du kannst doch die Startadresse des Strings in eine Variable legen! Also keine Multiplexvriable, sondern die Adresse Multiplexen!
... habe ich noch nicht gemacht und auch noch nicht als Möglichkeit gesehen - werde ich aber wenn ich einen Anwendungsfall habe mal testen ... ;)
 
wow, das ist ja jede Menge Input !!

also erstmal, das die strings in der sps liegen hat keinen tieferen sinn, sind eigentlich nur namen bzw. kennungen für bestimmte einrichtungsdaten

das funktioniert in der form:
maschine soll teil mit kennung 6gf8h54h3g herstellen
maschinenführer gibt die kennung am MP ein mit der das MP dann der sps sagt welche daten geladen werden sollen

demnach sind die strings in der sps eigentlich fehl am platz..
ich hab aber weder die maschine entworfen noch das programm dafür geschrieben.
ich möchte halt nur einen komfortablen weg finden das programm um mehrere maschinendatensätze zu erweitern ohne die DBs FBs MP VARs und arbeitsschritte ins unendliche zu steigern
aktuell existieren allein für die kennungen 1200 variablen wo jede einzelne auf eine adresse im db zeigt wo die kennung als string gespeichert ist

also ich hätte gern das es dabei bleibt, das die strings in der steuerung gespeichert werden

am MP soll eigentlich nur verglichen werden ob Kennung xy mit Nummer xy überein stimmt und über Nummer xy werden dann die nötigen daten geladen


mir ist halt wichtig eine liste zu erstellen ohne eine variable pro kennung erstellen zu müssen
das mit dem multiplexen ist ein sehr gutes stichwort, damit werde ich mich sofort auseinandersetzen
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Eben, das ist ja der Vorteil beim Multiplexen.

Hab das das letzte mal unter Protool vor ein paar Jahren gemacht, dürfte aber in Flexlible ähnlich gehen.

Legst dir ne String Variable an (bei Flex geht glaub ich Array of Char?) und eben in welchem DB. Dann iwie mit häkchen Multiplexen aktivieren. Die multiplex variable ist dann der Offset auf den im DB zugegriffen wird.

Für die Multiplexvariable hab ich nen Script angelegt das mir bei drücken der +/- Seitenbuttons den Offset berechnet hat.

Allerdings brauchst für jede Stringzeile ne eigene Multiplex variable, wenn ich das noch richtig in Erinnerung hab. Zumindest unter Protool.

Gruss Andi
 
ich bedanke mich erstmal für die zahlreichen und sehr hilfreichen antworten
ich bin dabei eine lösung mit hilfe vom multiplexen zu entwickeln, das kann sich noch etwas hinziehen, weil ich das programm noch vorbereiten muss
ich melde mich wieder wenn fragen aufkommen bzw wenn ich eine gute lösung gefunden habe
vielen dank nochmal an alle :)

lg leo
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallöchen, ich bin mal wieder :)

hab ich bei WinCC flex auf nem MP277 die Möglichkeit eine Liste von werten auszugeben ?
ich hätte die vorher erwähnten Strings aus dem DB in der SPS gern als scrollbare Liste am MP ausgegeben in dieser Form etwa

1. |String1
2. |String2
3. |String3
.
.
.


und da es ja mehrere Tausend Strings sind, wäre scrollbar wohl unumgänglich ^^

danke schonmal

LG Leo
 
Hallöchen, ich bin mal wieder :)

hab ich bei WinCC flex auf nem MP277 die Möglichkeit eine Liste von werten auszugeben ?
ich hätte die vorher erwähnten Strings aus dem DB in der SPS gern als scrollbare Liste am MP ausgegeben in dieser Form etwa

1. |String1
2. |String2
3. |String3
.
.
.


und da es ja mehrere Tausend Strings sind, wäre scrollbar wohl unumgänglich ^^

danke schonmal

LG Leo


Du kannst dir z.B. eine Bild machen in dem du in 10 Textfelder 10 Strings anzeigst. Dann machst du dir 4 Buttons zur Navigation. Mit dem einen Zählst du eine Varaible um 10 hoch mit dem anderen um 100. Genauso mit den 2 anderen Buttons nur in die andere Richtung. Nun tust du mit diesem Wert die Adresse für die 10 Strings multiplexen. (Ich mach das immer so, das Ich diesen Wert in der SPS Speichere, und dann Verschiedene Tags auf den Wert anlege und über Lineare Skallierung, mir die richtige Adresse berechne!)
 
danke für die schnelle antwort
das ist genau das, was ich aktuell habe
ein bild mit 30 textfeldern, ddie die strings anzeigen und per button weiter gezählt werden
allerdings ist es so höchst unproduktiv auf der suche nach einem string 100 ''seiten'' a 30 strings durchklicken zu müssen

am liebsten wäre mir eine art listenfeld mit scrollbalken wo ale strings drin stehen, idealerweise nach bedarf auch alphabetisch sortierbar
aber damit ist wincc flex vermutlich überfordert :/

kann ich da vieleicht mit vbs was basteln ?
 
Zurück
Oben