# Anzeigenparametrierung



## scrabble (3 Juli 2008)

Hallo Freunde der Sonne!

Ich habe einen DB (DB1902) zur Anzeigenpara. dieser ist aber nicht so aufgebaut wie ich ihn benötige. jetzt ist meine Bitte, könnte mir jemand helfen meine Daten dort zu implementieren.
Folgende Daten möchte ich auf der Anzeige darstellen.
In einem DB stehen Strings und Char's diese werden über ein Bitmuster freigegeben(z.B. E0.0 und E0.1=DB'string' darstellen auf der Anzeige).
Im Anhang ist der DB auf den ich aufsetzten möchte, und der DB3001 sind die Strings; der DB 3000 sind die Char.
Die Eingänge Trend; Soll; Ist; FR benötige ich nicht mehr, kann man es so umgestalten das meine Daten angezeigt werden könne.
Die Anzeige hat 32 Zeichen pro Zeile und es sind 2 Zeilen. Hersteller ist Wibond.

Mfg
scrabble


----------



## Ralle (3 Juli 2008)

Keine Ahnung, was du genau machen willst, aber ich denke, abhängig von ein paar Bits Strings (bzw. Char/Byte) von einem DB (3000,3001) in einen anderen DB (1902) umkopieren. Nun müßtest du das noch etwas spezifizieren, also wann soll denn was wohin, denn Steuerungen sind doch recht deterministisch, also alles muß irgendwie festgelegt werden, raten geht nicht.


----------



## Kai (3 Juli 2008)

Das ist nun schon der vierte Thread zum selben Thema:

http://www.sps-forum.de/showthread.php?t=20140

http://www.sps-forum.de/showthread.php?t=20232

http://www.sps-forum.de/showthread.php?t=20359

Gruß Kai


----------



## vierlagig (3 Juli 2008)

Kai schrieb:


> Das ist nun schon der vierte Thread zum selben Thema



genau! also Ralle, such dir gefälligst die infos die du brauchst selber zusammen *ROFL*


----------



## Kai (3 Juli 2008)

scrabble schrieb:


> Die Eingänge Trend; Soll; Ist; FR benötige ich nicht mehr, kann man es so umgestalten das meine Daten angezeigt werden könne.


 
Was sind das für Eingänge, ich kann diese Eingänge nirgendwo finden? 

Gruß Kai


----------



## Ralle (3 Juli 2008)

vierlagig schrieb:


> genau! also Ralle, such dir gefälligst die infos die du brauchst selber zusammen *ROFL*




Hab reingeschaut, macht mich auch nicht klüger !
Scheint so, als hätte Scrabble ein ganz anderes Problem, er kann einfach die Problemstellung nicht vernünftig formulieren und die notwendigen Informationen liefern. Wie sind ja einiges gewohnt, aber das ... Dem entsprechend, ist ja auch der Informationsgehalt unserer Antworten eher gering *ROFL*.


----------



## scrabble (3 Juli 2008)

Hallo Leute !

Die Eingänge sind Button in einer Visu (ZENON) die der Benutzer (Instandhalter) betätigen kann, und somit die Anzeige selber einrichten darf,je nach seinen Wünschen ( Daten die er für seine Arbeit benötigt).
Als Erläuterung habe ich euch noch einen FB1900 anghängt, in diesem treffe ich die Auswahl ob ein button 1 ist; ob der Button 0 der ob die Auswahl nicht mehr in die Zeile passt. Denn in diesem fall soll der Auswahlbutton nicht mehr sichtbar sein(dieser zastand wird in der Visu realisiert). 
Ich hoffe es hilft ein wenig weiter,entschuldigung für die nicht so umfassenden Info's am Anfang. Versuche mich zu bessern.

Mfg scrabble


----------



## Larry Laffer (3 Juli 2008)

... also mich hat das jetzt immer noch nicht schlauer gemacht ...

Ich versuche es mal mit einer Gegenfrage:
Willst du dir entsprechend einer mit mehreren "Button's" getroffenen Auswahl einen (Text-)String zusammenbasteln und den dann auf der Anzeige ausgeben ?
Also :

```
Text := '' ;
 
if Button_1 then Text := Text + 'Button 1 gedrückt ' ; end_if ;
if Button_2 then Text := Text + 'und Button 2 nun auch noch ... ' ; end_if ;
```
 
Gruß
LL


----------



## scrabble (4 Juli 2008)

Hallo !

Genau so ist es !
Es dürfen natürlich mehrer Button betätigt sein, aber es darf eine Zeichenlänge von 32 Zeichen pro Zeile nicht überschritten werden.
Und es sollte auch kein Umbruch auf Zeile 2 erfolgen ( somit keine Zeichentrennung).

Mfg
Scrabble


----------



## Larry Laffer (4 Juli 2008)

... wenn das denn so ist ... dann würde ich so vorgehen :
Erstmal eine "was passiert wann" Tabelle zusammenstellen (die bräuchte warscheinlich auch jeder Andere aus dem Forum, der dir ggf. helfen soll).
Dann die Rand-Spielregeln festlegen (welche Kombinationen sind zulässig, welche nicht, max. Länge, was passiert wenn überschritten usw.)
Nun die Daten-Quell-Bereiche und die -Ziel-Bereiche definieren ...

Mehr fällt mir im Augenblick nicht ein ... aber das wäre schon einmal ein Anfang ...

Gruß
LL


----------



## scrabble (4 Juli 2008)

Hallo LL !

Die was passiert wenn Tabelle ist schon vorhanden. Wenn die Kombinationsmöglichkeiten ausgeschöpft sind werden die Freigaben für das bedienen der Button gelöscht. Und die Auswahl der Kombi-Möglichkeiten treffe ich über folgenden SCL - Code. Meine Frage ist jetzt wie bekomme ich die Daten in Abhängigkeit mit den betätigten Button auf die Anzeige. Im FB1902 werden Soll;Ist ; Trend schon auf einer Anziege dargestellt (aber permanent). Erstens sind das INT somit passen die ganzen Vergleicher nicht und es muss keine Störung erzeugt werden , wenn falsche Daten angzeigt werden, denn die Anzeigen sind nur zur kontrolle eines Übergeordneten Systems der die Arbeitsumfänge definiert. Es soll bloss der Arbeitsschritt entfernt werden, der den Betreiber zu einem PC schickt um die daten abzurufen.

Mfg
scrabble


----------



## Larry Laffer (4 Juli 2008)

scrabble schrieb:


> die Auswahl der Kombi-Möglichkeiten treffe ich über folgenden SCL - Code.


Zeig doch mal her ...
Es hilft sich leichter, wenn man was sieht ...



scrabble schrieb:


> Meine Frage ist jetzt wie bekomme ich die Daten in Abhängigkeit mit den betätigten Button auf die Anzeige. Im FB1902 werden Soll;Ist ; Trend schon auf einer Anziege dargestellt (aber permanent). Erstens sind das INT somit passen die ganzen Vergleicher nicht und es muss keine Störung erzeugt werden , wenn falsche Daten angzeigt werden, denn die Anzeigen sind nur zur kontrolle eines Übergeordneten Systems der die Arbeitsumfänge definiert. Es soll bloss der Arbeitsschritt entfernt werden, der den Betreiber zu einem PC schickt um die daten abzurufen.


Jetzt weiß ich immer noch nicht, was du haben möchtest ...
Du die von dir schon eingestellten DB-Ansichten werde ich auch nicht schlauer. Die Spielregeln deines Projektes sind mir (und anscheinend nicht nur mir) nicht klar ...

Gruß
LL


----------



## scrabble (4 Juli 2008)

Hallo !

Entschuldigung ich rede von einer SCL Datei und schicke sie nicht mit. Jetzt die Datei zur Ermittlung der Auswahlmöglichkeiten.

lg
scrabble


----------



## vierlagig (4 Juli 2008)

Larry Laffer schrieb:


> Die Spielregeln deines Projektes sind mir (und anscheinend nicht nur mir) nicht klar ...



nur bist du der einzige mit einer engelsgeduld - lob dafür


----------



## Larry Laffer (4 Juli 2008)

Larry Laffer schrieb:


> Zeig doch mal her ...
> Es hilft sich leichter, wenn man was sieht ...


 
... leider nicht ...

Jetzt bitte noch einmal von vorn ...
Was soll das Ding genau machen ?
Willst du die Zahlenwerte der INT's auf die Anzeige bringen oder irgendwelche Texte ?
Wenn Texte, wo kommen die her und in welche Beziehung stehen die zu den Zahlen ?

Du mußt schon entschuldigen - ich kapiere manchmal ein bißchen langsam - dafür habe ich aber eine Engelsgeduld (Danke an 4L) ...

Gruß
LL


----------



## scrabble (4 Juli 2008)

Ich habe ein Anzeige die soll Zeichen aus einem DB darstellen, wenn das BIT für diese Auswahl in der Visu gesetzt ist. Zur erklärung noch eine Tabelle (Datenblatt) aus der die Auswahlmöglichkeiten hervorgehen.
Nun habe ich in diesem DB auch Zahlen mit denn keiner etwas anfangen kann, deshalb soll ich anhand der Zahlen einen Text darstellen wenn das BIT für diese Auswahl gesetzt ist.Deshalb habe ich mir im DB3001 die Text gespeichert um sie aufrufen zukönnen. Alle Text die nicht im DB 3001 stehen kann ich direkt aus dem DB3000 enthemen, weil diese Daten direckt angezeigt werden können. In den UDT's sieht man die selben auswahlmöglichkeiten wie in der Tabelle. Die mögliche Auswahl ist durch Kreuze dargestellt. Alle andere soll nicht zur Anzeige gebracht werden könne. Unter diesen 36 Auswahlmöglichkeiten muss ich die Kombination herraus finden die max. 32 Zeichen beinhalten pro Zeile.


----------



## Larry Laffer (4 Juli 2008)

... da ich immer noch nicht in der Spur bin ...
Stell mir doch bitte mal ein Beispiel-String zusammen, der vorkommen kann, und sag doch mal bitte, von wo die Einzelteile kommen.


----------



## scrabble (4 Juli 2008)

So ein String kann wie folgt aussehen:

'123456''_''E46''_''EW''_''Ziel:RBNA''_'HF''_'

Jetzt zur Erklärung wo die Daten sich befinden:
Für diesen Zustand dürfen nur die Button:IGEF_1;LGT_1;PRT_1;RBNA_1;S_CODE_1 betätigt sein, diese werden als Merkerword im FB1901 NW1 MD112 abgefragt( in der VISU sind Schalter mit Zustand 0 und 1).Diese Zusammenstellung ergibt 32 Zeichen.
Die Zeichen für die Strings kommen wie folgt zustande:
String1: DB3000.DBW0  (Länge ist 8 Zeichen) Char
String2: DB3000.DBW14 (Länge ist 4 Zeichen) Char
String3: DB3000.DBW131(Länge ist 2 Zeichen) Char
String4: DB3001.DBW54 (Länge ist 10 Zeichen) String
String5: DB3000.DBW72 (Länge ist 2 Zeichen) Char
Die Strings dazwischen sind Leerstrings zur besseren Darstellung.
Ich sende noch einmal eine datenansicht vom DB3000 mit Vielleicht hilft das noch.


----------



## Mr.Spok (4 Juli 2008)

Aha  ,


es geht also um einen BMW .


mfG Jan


----------



## vierlagig (4 Juli 2008)

scrabble schrieb:


> Vielleicht hilft das noch.



wenn dir überhaupt noch zu helfen ist!

du hast bis jetzt 863,7kB daten hochgeladen ... informationen waren es nur
 bedingt bis gar nicht ... irgendwie will mir nicht in den schädel, was du
 eigentlich von larry erwartest? selbst wenn er dir einen baustein oder was
 auch immer du brauchst schreiben würde, hätte er immer noch keine
 informationen, um was es eigentlich gehen soll außer: DB chars und strings
 auf Wibon anzeige 2zeilig á 32 stellen ... also:

wo ist dein problem? kannst du strings nicht zusammensetzen? kannst du
 chars nicht zählen? kannst du deine anforderungen nicht benennen?

wenn du so weiter machst wie bisher, können wir noch jahre darüber
 fabulieren und du kannst noch tausendmal den DB300 hochladen - sag
 bescheid, wenn es das ist, was du willst


----------



## Larry Laffer (5 Juli 2008)

@4L: Na na na ... so schlimm ist es doch nun auch wieder nicht ...

@Scrabble:
Ich denke, ich habe es jetzt so halbwegs verstanden ...
Wenn du dir wahlfrei aus einer Bibliothek von Teil-Texten einen Gesamt-Text zusammenbasteln willst, so kann ich mir eine (verständliche) Lösung nur so vorstellen :

Dein SCL-Script kennt alle Teil-Strings (sie sind somit Bestandteil des FB).
Die Indexierung der Teil-Strings korrespondiert mit der externen Bit-Maske.
Gibst du nun eine bestimmte Bit-Maske vor, so kann das Script (da es ja alle Strings und deren Teil-Längen kennt) die Machbarkeit überprüfen und wenn machbar den neuen String zusammenstellen und ausgeben. Diesen kannst du dann zur Anzeige deiner Wahl übertragen. Falls der String zusätzlich Varaiblen (also Zahlenwerte) beinhalten soll, so muß es dafür zusätzliche Eingangs-Variablen und zuständige Steuerbits geben.

Eine weitere Möglichkeit, auch extern vorgehaltene Daten mit zu übernehmen, kann ich mir nur so vorstellen, dass dieser DB im Grunde nichts anderes ist als ein ARRAY of STRING in dem ALLE Strings von der Deklaration her erstmal die gleiche Länge haben. Ansonsten halte ich es für unrealistisch hierfür einen Import-Pointer zu erzeugen.
Besser gefällt mir allerdings in jedem Fall die Variante mit den Daten in der Instanz.

Ich bin auf deine Antwort gespannt ...

Gruß und schönes WE
LL


----------



## vierlagig (9 Juli 2008)

Larry Laffer schrieb:


> Ich bin auf deine Antwort gespannt ...



kannst du die spannung noch ertragen?


----------



## Larry Laffer (9 Juli 2008)

@4L:
naja, ich muß gestehen, dass ich nach dem Anlauf und dem Vorspiel zu diesem Thread (oder Fred ?) nun ein wenig (...) enttäuscht bin.
Aber vielleicht ist es nun auch ein wenig zu kompliziert geworden ...

Gruß
LL


----------

