Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 16

Thema: kyrillische Buchstaben in DB speichern

  1. #1
    Registriert seit
    13.08.2011
    Beiträge
    341
    Danke
    21
    Erhielt 47 Danke für 42 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Folgendes Problem ist mir heute auf die Füsse gefallen,

    Ich habe mehrere Behälter deren Inhalt durch Eingabefelder (STRING[10]) festgelegt werden. Um eine Vermischung zwischen den einzelnen Behältern zu verhindern vergleiche ich die verschiedenen Strings in der SPS. Das hat bisher auch immer wunderbar funktioniert. Nun soll das gleiche aber in einem Projekt mit russischer Sprache realisiert. Problem dabei ist aber nun das die kyrillischen Buchstaben nicht im ASCII-Zeichensatz (String) enthalten sind. Nach einer Eingabe in dem E/A-Feld werden nur noch ????? ausgegeben, sprich im DB-String stehen auch nur ????? und somit ist ein vernünftiger Vergleich der Strings nicht mehr möglich.

    Programm erstellt mit:
    Step7 v5.5
    WinCC flexible 2008 SP3

    Hat irgendjemand einen Lösungsansatz für dieses Problem?
    Gruss der Fuss!!!

    +|----,,----:
    ------R----| Widerstand ist zwecklos!!!
    -|----''----:
    Zitieren Zitieren kyrillische Buchstaben in DB speichern  

  2. #2
    Avatar von fuss
    fuss ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    13.08.2011
    Beiträge
    341
    Danke
    21
    Erhielt 47 Danke für 42 Beiträge

    Standard

    Hat keiner ne Idee bzw. ist noch keinem dieses Problem in die Quere gekommen???
    Gruss der Fuss!!!

    +|----,,----:
    ------R----| Widerstand ist zwecklos!!!
    -|----''----:

  3. #3
    Registriert seit
    06.10.2009
    Ort
    NRW
    Beiträge
    1.582
    Danke
    63
    Erhielt 261 Danke für 221 Beiträge

    Standard

    Je nachdem wieviel Flexibilität Du brauchst, könntest Du das auch über eine Textliste und ein symbolisches EA-Feld machen. Der Benutzer wählt aus der Textliste welchen Inhalt der Behälter hat, und Du legst Dir den Integerwert des Eintrags aus der Textliste ab.
    Meine Motivation läuft nackig mit einem Cocktail über eine Wiese.

  4. #4
    Avatar von fuss
    fuss ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    13.08.2011
    Beiträge
    341
    Danke
    21
    Erhielt 47 Danke für 42 Beiträge

    Standard

    Hallo Tigerente,

    Erst einmal Danke für deine Antwort. Das mit den Textlisten setze ich sonst auch so ein. Aber gerade in diesem Projekt soll es völlig flexibel sein, weil vorab nicht bekannt ist mit welchen bzw. wievielen Sorten der Kunde arbeitet.
    Gruss der Fuss!!!

    +|----,,----:
    ------R----| Widerstand ist zwecklos!!!
    -|----''----:

  5. #5
    Registriert seit
    17.06.2004
    Ort
    Offenau
    Beiträge
    3.758
    Danke
    209
    Erhielt 421 Danke für 338 Beiträge

    Standard

    Dann musst du wohl was anderes als die Siemens Panels einsetzen. Soweit Ich das weiss geht da nur Ascii Zeichensatz als String an die SPS.
    Im der SPS ist in Step 7 auch nur Ascii in Strings möglich, aber die PLC muss das ja auch nirgends anzeigen, dann kann man ein Zeichen aus einer Visu auch in 2 Byte auf der PLC speichern. Aber mit WinCC Flexible => Meiner Meinung nach, keine Chance.
    ---------------------------------------------
    Jochen Kühner
    https://github.com/jogibear9988/DotN...ToolBoxLibrary - Bibliothek zur Kommunikation mit PLCs und zum öffnen von Step 5/7 Projekten

  6. #6
    Registriert seit
    29.04.2012
    Beiträge
    195
    Danke
    13
    Erhielt 42 Danke für 37 Beiträge

    Standard

    Zitat Zitat von Jochen Kühner Beitrag anzeigen
    aber die PLC muss das ja auch nirgends anzeigen, dann kann man ein Zeichen aus einer Visu auch in 2 Byte auf der PLC speichern.
    Womit aber auch das compare wegfällt. Das wird eine hässliche Baustelle, wenn man jedes WORD einzeln abfragen muss.

    Zitat Zitat von Tigerente1974 Beitrag anzeigen
    Der Benutzer wählt aus der Textliste welchen Inhalt der Behälter hat, und Du legst Dir den Integerwert des Eintrags aus der Textliste ab.
    Sehe ich auch als einzig realistische Lösung.

    Die Frage ist auch, ob man wirklich Unicode auf einer popligen Steuerung haben muss. ASCII ist (und bleibt) Standard.

  7. #7
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.314
    Danke
    932
    Erhielt 3.329 Danke für 2.688 Beiträge

    Standard

    Auch wenn Du beim Beobachten nur ???? siehst, sollte es trotzdem möglich sein, die Strings auf Gleichheit zu überprüfen, schlimmstenfall per BYTE-Vergleich. Schlimmer ist wohl, daß Dein Panel oder Deine PC-RT ???? anzeigt. Fehlt da vielleicht einfach nur eine Sprache in den Geräteeinstellungen? Wie ist es überhaupt möglich, in dem E/A-Feld russische Zeichen einzugeben? Hilft Dir vielleicht dies weiter?

    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  8. #8
    Avatar von fuss
    fuss ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    13.08.2011
    Beiträge
    341
    Danke
    21
    Erhielt 47 Danke für 42 Beiträge

    Standard

    Moin Harald,

    Das Projekt soll auf einer PC-RT laufen. Als Projektsprachen sind sowohl deutsch als auch russisch eingestellt (umschaltbar über eine Schaltfläche in der RT). Durch umstellen des Tastaturlayouts des Runtime-PC's ist es möglich kyrillische Buchstaben einzugeben. Ist an das E/A-Feld eine interne Variable geknüpft so ist der russische Text nach der Eingabe weiterhin lesbar. Nur wenn ich den Wert des E/A-Feldes auf einen STRING in einem DB schreibe werden mir die ??? zurückgegeben, weil kyrillisch nicht im ASCII-Zeichensatz enthalten ist. Könnte man da vielleicht irgendwas mit Skripten machen?
    Gruss der Fuss!!!

    +|----,,----:
    ------R----| Widerstand ist zwecklos!!!
    -|----''----:

  9. #9
    Registriert seit
    17.06.2004
    Ort
    Offenau
    Beiträge
    3.758
    Danke
    209
    Erhielt 421 Danke für 338 Beiträge

    Standard

    mhmm, wenn in den scripten auch unicode geht: den string in einzelne zeichen zerlegen, fuer jedes zeichen einen ersatzwert in einen anderen string speichern und dieser an die sps! rückwärts einfach umgekehrt!
    ---------------------------------------------
    Jochen Kühner
    https://github.com/jogibear9988/DotN...ToolBoxLibrary - Bibliothek zur Kommunikation mit PLCs und zum öffnen von Step 5/7 Projekten

  10. #10
    Registriert seit
    11.12.2009
    Beiträge
    2.120
    Danke
    389
    Erhielt 390 Danke für 271 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Ich würde es ganz einfach machen!

    Der Benutzer legt eine Rezeptur an und vergibt ihr einen Namen (Auch gern in Kyrillisch)
    Der Rezeptur muss eigtl. nix zugewiesen sein, wenn das doch nötig wäre halt irgend ein Bit nehmen.

    Über die Funktion LESE_REZEPTURNAME (o.ä.) die ID der angewählten Rezeptur auswählen/speichern/vergleichen...

    Das ist quasi eine flexible Textliste!

    Grüße

    Marcel

  11. Folgender Benutzer sagt Danke zu Matze001 für den nützlichen Beitrag:

    fuss (07.11.2012)

Ähnliche Themen

  1. Antworten: 3
    Letzter Beitrag: 29.06.2012, 14:35
  2. Hyroglyphen anstatt Buchstaben bei Windows
    Von mitchih im Forum PC- und Netzwerktechnik
    Antworten: 2
    Letzter Beitrag: 31.05.2010, 06:35
  3. Buchstaben mit Digitalanzeige anzeigen lassen?
    Von TechnikFreak10 im Forum Simatic
    Antworten: 21
    Letzter Beitrag: 10.03.2010, 22:59
  4. Productdaten speichern
    Von Andy082 im Forum Programmierstrategien
    Antworten: 15
    Letzter Beitrag: 31.10.2009, 11:11
  5. betriebsstunden speichern
    Von Merlin115 im Forum Simatic
    Antworten: 7
    Letzter Beitrag: 18.11.2006, 10:42

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •