Barcode im Panel anzeigen...

anne

Level-1
Beiträge
347
Reaktionspunkte
2
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi Ihr,

ich stehe mal wieder vor einem Problem.

Mittels eines Scanners trage ich einen Barcode in einen Datenbaustein ein (siehe Anhang!). Nun soll dieser Barcode auch in einem Panel angezeigt werden. Dazu habe ich am Panel ein Ausgabefeld als Zeichenkette mit einer Feldlänge von 22 generiert und diesem das MW120 zugewiesen.

Meine Vorstellung war nun wie folgt:

L P#DB5.DBX0.0 BYTE 22
T MW120


Allerdings lässt sich der DB so nicht laden - keine Ahnung warum nicht...

Was mache ich hier falsch?

Lieben Dank!
 

Anhänge

  • DB.jpg
    DB.jpg
    73,1 KB · Aufrufe: 56
MW -> 2byte
deine zeichenkette -> 22byte

2<22

schlicht und ergreifend: das passt so nicht
die zeichenkette im panel muß auf die zeichenkette im DB verweisen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hm, ja ok vierlagig...

Aber ich habe keine Idee, wie ich das machen kann... zumal ja das Laden des DB's in der Pointerschreibweise auch schon nicht funktioniert...

Eine Möglichkeit wäre vielleicht noch, das Feld am Panel als String zu deklarieren... ginge das?
 
das mit dem STRING ist schon ne verrückte Idee, findeste nicht? ;)

Doch, eigentlich schon - Idee kam ja auch von mir! :p

Aber richtig weiter hilft mir das leider noch immer nicht...

Weiß nicht recht, was ich in WinCC flex unter Variablen als Adresse angeben soll?

Datentyp = String

Adresse = DB5.DBB?
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Hey Ho!
Das mit dem String funktioniert. Einfach eine Variable anlegen, auf den anfang von deinem Barcode (z.B. DB5.DBB0) zeigen lassen und als Länge 22 in den Eigenschaften der Variable eintragen - fertig.
Gruß Olli
 
Hi Olli,

also ganz funzt es noch nicht...

Derzeit werden nur 10, anstatt 20 Stellen angezeigt!

Wenn ich die Einstellung Länge von 10 auf 20 erhöhe, so wird gar nichts mehr, d.h. nur noch Rauten, angezeigt. Was wird eingentlich mit dieser Einstellung bewirkt? Die Anzahl der Stellen stelle ich doch unter Feldlänge Zeichenkette ein...

Wo muss ich nachbessern?

PS: Meine aktuellen Einstellungen --> siehe Anhang!
 

Anhänge

  • Feld.jpg
    Feld.jpg
    23,5 KB · Aufrufe: 38
  • Variable.jpg
    Variable.jpg
    20,7 KB · Aufrufe: 33
Zuletzt bearbeitet:
Hi anne,
bei der Variablen "Barcode Scanner _01" hast du im Feld Einstellungen-Länge nur eine 10 stehen. Erhöhe den Wert mal auf die gewünschte Zeichenanzahl und definiere mal das Ausgabefeld ausreichend groß, dann sollte das gehen.
Gruß Olli
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Olli,

sobald ich bei der Variablen "Barcode Scanner _01" im Feld Einstellungen-Länge eine 20 reinschreibe, bekomme ich im Ausgabefeld am Display nur noch Rauten. Es wird kein Wert mehr reingeschrieben.

Habe die Einstellung für Feldlänge Zeichenkette auf 25 erhöht, somit ist das Ausgabefeld auf jeden Fall ausreichend groß.

Was kann ich noch tun?

Danke!
 
die daten im DB entsprechen (noch nicht) der string-deklaration von siemens (tatsächliche und maximale länge fehlen)
 
die daten im DB entsprechen (noch nicht) der string-deklaration von siemens (tatsächliche und maximale länge fehlen)

Vierlagig,

könntest du mir bitte noch einen etwas genaueren Hinweis geben - ich finde nämlich in WinCC flex neben Feldlängen-Zeichenkette und Einstellungen-Länge keine weitere Einstellmöglichkeit mehr. :confused:

Dank' dir...
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo.
Ich glaube, Kollege 4L möchte Dir nur nahelegen, dich mal mit der Definition des Step7-Datentyp STRING zu beschäftigen. Ich müsste jetzt selber nachschauen, aber in den ersten beiden Bytes einer Zeichenkette müssen Werte für tatsächliche und maximale Länge des Strings drinstehen.

Gruß Approx
 
Barcode

Hast du denn den Barcode in dem DB auf der SPS als Datentyp String (dann musst du in flexible auch string nehmen). Wenn du den code einfach als byte oder char array hast, probiers mal mit stringchar in flexible!
 
Hast du denn den Barcode in dem DB auf der SPS als Datentyp String (dann musst du in flexible auch string nehmen). Wenn du den code einfach als byte oder char array hast, probiers mal mit stringchar in flexible! Schau die mal bei WinCCflex den Datentyp StringChar an. Das sollte genau das sein was du brauchst......

Hm, also in dem DB auf der SPS ist der Barcode als "Char Array" deklariert.

Insofern werde ich morgen in der Arbeit in WinCC flex mal den Datentyp String gegen StringChar auswechseln. Gebe dann Bescheid...

Lieben Dank euch!
 
Lieben Dank euch allen nochmals für die HILFE!

Yep, die Einstellung auf StringChar hat den gewünschten Erfolg gebracht... :s9:
 
Hallo Jungs,
kann ich mich mal dazwischen schalten, denn ich habe ein ähnliche Problem.
Möchte den Inhalt einer SMS , welcher im DB steht und max 60 Zeichen lang ist ebenfalls in Winflex anzeigen. Der DB inhalt ist als char deklariert und mit Pointer adressiert.
Habe ich jetzt richtig verstanden, dass ich der Variable einfach die Anfangsadresse gebe (Db1.DBB1) und die Zeichenlänge auf 60 einstelle.
Ist das richtig?
 
Zurück
Oben