-> Hier kostenlos registrieren
Hallo Leute,
ich verwende folgende Hardware:
Sinumerik 840D sl mit einer 317F PLC
und als HMI einen IPC4777 22“ mit Windows 10
Und habe folgendes Problem:
Ich bekomme vom Kunden Level2 über OPC UA eine String[200] Variable beschrieben. In diesen wird eine Kommentar eingetragen. Dieser String soll ich auf der HMI in ein Textfeld oder E/A-Feld (als Ausgabe) darstellen.
Jedoch habe ich Probleme mit Zeilen Umbrüchen ich möchte den Text in z.B.: 4 Zeilen aufteilen zu je 50 Zeichen.
Folgendes habe ich probiert mit ein VB script wozu ich Forum Einträge gefunden habe
Das Funktioniert zwar in ein Textfeld jedoch habe ich den unerwünschten Effekt das Wörter abgeschnitten werden.
Welche möglichkeiten gäbe es noch sowas umzusetzen ohne das Wörter abgeschnitten werden? Z.b.: Den String senden lassen mit Semikolons um in der PLC oder VB script den String sauber aufzuteilen?
Vielen Dank für hilfe im voraus!
BG
Frozen
ich verwende folgende Hardware:
Sinumerik 840D sl mit einer 317F PLC
und als HMI einen IPC4777 22“ mit Windows 10
Und habe folgendes Problem:
Ich bekomme vom Kunden Level2 über OPC UA eine String[200] Variable beschrieben. In diesen wird eine Kommentar eingetragen. Dieser String soll ich auf der HMI in ein Textfeld oder E/A-Feld (als Ausgabe) darstellen.
Jedoch habe ich Probleme mit Zeilen Umbrüchen ich möchte den Text in z.B.: 4 Zeilen aufteilen zu je 50 Zeichen.
Folgendes habe ich probiert mit ein VB script wozu ich Forum Einträge gefunden habe
Code:
Dim TagInternal
Dim Var1
Dim Var2
Dim Var3
Dim Var4
Dim TagTotal
Set TagInternal =SmartTags("eingabe_text200")
Var1 = Mid (TagInternal,1,10) 'Zeile 1-->TagInternal=Stringname (script intern), 1= beginn im String ab Zeichen 1 in dieser Zeile (Startposition in der Zeichenkette) , 10= 10 Zeichen in Zeile 1
Var2 = Mid (TagInternal,11,10) 'Zeile 2-->TagInternal=Stringname (script intern), 1= beginn im String ab Zeichen 11 in dieser Zeile (Startposition in der Zeichenkette) , 10= 10 Zeichen in Zeile 2
Var3 = Mid (TagInternal,21,10) 'TagInternal=Stringname (script intern), 1=Zeilenposition 3, 10= 10 Zeichen in Zeileposition 1
Var4 = Mid (TagInternal,31,10) 'TagInternal=Stringname (script intern), 1=Zeilenposition 4, 10= 10 Zeichen in Zeileposition 1
TagTotal = Var1 & vbCrLf & Var2 & vbCrLf & Var3 & vbCrLf & Var4 'Zusammensetzen des Strings mit Zeilenumbruch (CrLf=carriage return & Line feed)
SmartTags("ausgabe_text200")= TagTotal'Übergabe an HMI interne Variable welche über ein Textfeld ausgegeben werden kann
'-------Test----------
SmartTags("ausgabe_text_test")="test1"& vbCr & "test2"
Das Funktioniert zwar in ein Textfeld jedoch habe ich den unerwünschten Effekt das Wörter abgeschnitten werden.
Welche möglichkeiten gäbe es noch sowas umzusetzen ohne das Wörter abgeschnitten werden? Z.b.: Den String senden lassen mit Semikolons um in der PLC oder VB script den String sauber aufzuteilen?
Vielen Dank für hilfe im voraus!
BG
Frozen