TIA WString beobachten

blimaa

Level-2
Beiträge
956
Reaktionspunkte
103
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi

S7-1500, TIA V13SP1 UP2

Ich baue mir einen WString[900] zusammen. Dieser brauche ich für ein Label auf einem Zebra-Drucker zu drucken. Dabei möchte ich mein WString beobachten.
1. Ansatz: Beobachtungstabelle, geht nicht, da er anscheinend zu lange ist und nach einer gewissen Anzahl von Zeichen einfach ein paar Punkte kommen
Code:
WSTRING#'^XA^FO90,12^ADN,30,10^FDMein Kunde  GmbH^FS^FO10,50^ADN,20,10^FDMustertyp:^FS^FO10,70^ADN,20,10^FDProduktdatum:^FS^FO10,190^ADN,20,10^FDKunden-Nr.-Rev:^FS^FO10,210^ADN,20,10^FDZGS-Stand:^FS^FO10,230^ADN,20,10^FDQ-Stand:^FS^FO10,125^ADN,20,10^FDLFD.Nr...
--> Unbrauchbar

2. Ansatz: im Datenbaustein des FB's anschauen. Noch schlechtere Idee--> Sehr viele Fragezeichen Rosa hinterlegt "Maximal zulässige Anzahl von Beobachtungsvorgänge......."

3. Ansatz: ein neuer Global-DB machen mit nur einem String drin. Das heisst, wenn ich mein String fertig zusammengebaut habe, speichere ich diesen in den neuen DB. --> geht aber dieser Vorgang ist doch nicht akzeptabel!!!


Kennt Ihr das Verhalten oder kennt Ihr sogar eine Lösung?


Gruss blimaa
 
Klingt ja für mich nach IBN / Testbetrieb... also ganz schnell und billig...

PC Runtime in das Projekt einfügen.
Verbindung zur SPS.
Variable verknüpfen.
Via E/A Feld ausgeben.
Das ganze in der Simulation laufen lassen ...

Grüße

Marcel
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi
Schnell und billig muss es doch immer sein ;-)

Aber dein tipp klingt wieder mal sehr intressant!
Werde es gleich morgen ausprobieren. Eine Runtime habe ich eh projektiert :)
Hab übrigens mal noch probiert die Aktualwerte als Standartwerte zu speichern, ging aber auch nicht wirklich...
Gruss blimaa
 
Hi

Habe es jetzt mal probiert. NATÜRLICH verhindert dies Siemens, da die Zeichenkette max 320 lang sein kann.
Hat jemand noch ne andere Idee?

Gruss blimaa
 
Zuletzt bearbeitet:
ohje...

string in array of char z.B. via AT_ansicht.

ggf. in Funktion verpacken und nur bedingt bei Diagnose aufrufen.

Grüße

Marcel
 
Ok das mit der AT ansicht habe ich nun denke ich mal etwas begriffen.....
Wenn ich das ganze nach Wchar konvetiere sehe ich jedes einzelne Wchar. Na ja immerhin, allerdings seeeehr unkonfortabel (TIA like?)
Mal schauen was das nächste Update bringt, laut Support sollte es ja diese Woche kommen.:ROFLMAO:

Gruss blimaa
 
Mal schauen was das nächste Update bringt, laut Support sollte es ja diese Woche kommen.:ROFLMAO:

Na was wohl, neue Bugs und keinerlei Verbesserungen.

Als nützliche Funktionserweiterung wird uns so etwas verkauft::

Anzeige des Projektpfads in der Titelleiste
In der Titelleiste wird der komplette Pfad angezeigt, damit bei
mehreren Instanzen leichter kopiert werden kann.

Das haut mich echt um, mir würde es schon als nützliche Funktionserweiterung
reichen, wenn TIA nicht im Tempo einer toten Schnecke arbeitet und nicht permanent
abstürzt. Wenn Siemens das hinbekommt, ziehe ich den Hut, weil das muss ein schweres
Problem sein, da Sie schon 4 Jahre dran Arbeiten.
 
Hallo Zusammen,

ich bin Neu hier im Forum und bin über Google hier auf diesen Thread gestoßen.

Ich habe eigentlich die gleiche Aufgabe zu bewältigen. Allerdings scheitert bei mir die Umsetzung an dem Punkt WString über TSEND_C-Baustein an den Drucker senden.

Inhalt WString:

WSTRING#'^XA~TA000~JSN^LT0^MNN^MTD^PON^PMN^LH0,0^JMA^PR6,6~SD15^JUS^LRN^CI0^XZ ^XA ^MMC ^PW609 ^LL0406 ^LS0 ^FT242,381^A0N,62,62^FH\^FD%R3^FS ^FT514,283^A0N,28,28^FH\^FD%R3^FS ^FT392,283^A0N,28,28^FH\^FD%var9^FS ^FT514,212^A0N,28,28^FH\^FD%R2^FS ^FT285,283^A0N,28,28^FH\^FD%var8^FS ^FT514,142^A0N,28,28^FH\^FD%R1^FS ^FT392,212^A0N,28,28^FH\^FD%var6^FS ^FT183,283^A0N,28,28^FH\^FD%var7^FS ^FT392,142^A0N,28,28^FH\^FD%var3^FS ^FT285,212^A0N,28,28^FH\^FD%var5^FS ^FT19,282^A0N,28,28^FH\^FDBK VA [bar]:^FS ^FT285,142^A0N,28,28^FH\^FD%var2^FS ^FT183,212^A0N,28,28^FH\^FD%var4^FS ^FT19,212^A0N,28,28^FH\^FDVK2 [bar]:^FS ^FT183,142^A0N,28,28^FH\^FD%var1^FS ^FT19,141^A0N,28,28^FH\^FDVK1 [bar]:^FS ^FT512,71^A0N,28,28^FH\^FDResult^FS ^FT19,71^A0N,28,28^FH\^FDProgram: Unimog ^FS ^PQ1,1,1,Y^XZ'

Telegramm-Inhalt wenn es die SPS verschickt (Empfänger war testweise Hercules TCPIP-Server):

#ETX #ETX#SI#NUL^#NULX#NULA#NUL~#NULT#NULA#NUL0#NUL0#NUL0#NUL~#NULJ#NULS#NULN#NUL^#NULL#NULT#NUL0#NUL^#NULM#NULN#NULN#NUL^#NULM#NULT#NULD#NUL^#NULP#NULO#NULN#NUL^#NULP#NULM#NULN#NUL^#NULL#NULH#NUL0#NUL,#NUL0#NUL^#NULJ#NULM#NULA#NUL^#NULP#NULR#NUL6#NUL,#NUL6#NUL~#NULS#NULD#NUL1#NUL5#NUL^#NULJ#NULU#NULS#NUL^#NULL#NULR#NULN#NUL^#NULC#NULI#NUL0#NUL^#NULX#NULZ#NUL #NUL^#NULX#NULA#NUL #NUL^#NULM#NULM#NULC#NUL #NUL^#NULP#NULW#NUL6#NUL0#NUL9#NUL #NUL^#NULL#NULL

Konvertieren Sie den WString vor dem Versand in einen Char-Array ???

Der Bibliotheksbaustein Strg_TO_Chars kann das leider nicht. Hier gibt es nur die Wandlung "WString <-> WChar[]" oder "String <-> Char[]"

Nutzen Sie hierfür etwas selbst geschriebenes ?

Vielen Dank im Voraus für eine Antwort

Sonnige Grüße aus der Südpfalz
Markus
 
Zurück
Oben