Hallo,
Ich habe ein Problem mit ASCIIBYTE_TO_STRING. Ich habe den folgenden Fehler :
"Zugang auf einer verbotenen Adresse! Der Automat wird angehalten."
(Wago 750-841)
PROGRAM PLC_PRG VAR Â Â Test:STRING(1); END_VAR Test:=ASCIIBYTE_TO_STRING(255);
Wenn ich nur ASCIIBYTE_TO_STRING(255) ohne Stellung benutze, habe ich keinen Fehler.
Können Sie mir helfen?
Danke.
Hallo
Ich kenne deine Funktion nicht ( aus welcher lib? )
Um ein Zeichen von Wert in Byte in String zu wandel würde ich die Funktion aus der Oscat.Lib verwenden (CHR).
"www.oscat.de"
mfG Jochen Schohaus
ASCIIBYTE_TO_STRING kommt aus der Lib standard.lib (Wago/Libraries/32_Bit). Was ist die Lib Oscat? Ist diese Lib für ein spezifische Ziel?
Mahlzeit
Mal angenommen, du willst folgenden String erzeugen '255', wie passt der dann in deinen Test: String(1) rein, der nur 1 zeichen aufnehemen kann ?
Gruss Erik
Noch was vergessen.
Die korrekte Definition für Test wäre mindestens String(4), wegen der Terminierenden NULL nach dem eigentlichen Inhalt des Strings.
FUNCTION ASCIIBYTE_TO_STRING : STRING(1) VAR_INPUT Â Â byt: BYTE; END_VAR
byt ist ein ASCII code und ich möchte dieser in String wandeln.
Wenn ich den folgenden code schreibe, funktioniert das auch nicht.
PROGRAM PLC_PRG VAR Â Â Test:STRING(255); Â Â b:BYTE:=9; END_VAR Test:=ASCIIBYTE_TO_STRING(b);
zur Aufklärung Oscat.lib ist eine freierhältiche Lib. die nach Open Source
erstellt wurde.
Findest Du unter w www.oscat.de w
In der Lib. sind sehr viele nützliche Funktionen.
Wenn ich dich richtig verstanden habe möchtest du ein Zeichen als String mit dem ensprechenden ASCII wert haben.
z.B. CHR(13) für ENTER was $R entspricht.
Ja, das ist richtig.
Ich verstehe nicht warum ASCIIBYTE_TO_STRING funktioniert nicht.
Ich habe etwas andere benutzt.
Kann ich die oscat.lib mit Wago benutzen?
Oscat.Lib benutzt standart Befehle.
Deshalb gehe ich davon aus das die Lib. auf Waag funktioniert.
Einfach testen.
mfG Jochen
Das hab ich wohl falsch verstanden. In diesem fall ist STRING(1) natürlich korrekt. Die Funktion gibt ja auch nichts anderes zurück.
Die Funktion setzt intern einen Pointer auf die Adresse des umzuwandelnden Bytes und dereferenziert diesen auf einen STRING(1).
Ganz einfach...
Ich habe die Lösung gefunden. Ich probierte meinen Code mit Simulation aktiv. Wenn Codesys nicht in Simulation ist, ASCIIBYTE_TO_STRING funktioniert.
Hi
Du kannst dir alledem die OSCAT-Lib anschauen.
Vorteil: Offener ST-Code.
Hallo zusammen
Laut Hilfe kann auch bei der Dekaration ein Hex Wert mit $ angegeben werden.
z.B. für das Zeichen CHR(255)
kann bei der Deklaration folgendermaßen angegeben werden
MeinString : STRING[1] := '$FF' ; ( FF in HEX = 255 )
Talk.ru: 1
Danke für die Antworten. Ich werde die Oscat-Lib später prüfen, weil ich zu etwas andere arbeiten muss.
Log in to post a comment.
Hallo,
Ich habe ein Problem mit ASCIIBYTE_TO_STRING. Ich habe den folgenden Fehler :
"Zugang auf einer verbotenen Adresse! Der Automat wird angehalten."
(Wago 750-841)
Wenn ich nur ASCIIBYTE_TO_STRING(255) ohne Stellung benutze, habe ich keinen Fehler.
Können Sie mir helfen?
Danke.
Hallo
Ich kenne deine Funktion nicht ( aus welcher lib? )
Um ein Zeichen von Wert in Byte in String zu wandel würde ich die Funktion aus der Oscat.Lib verwenden (CHR).
"www.oscat.de"
mfG Jochen Schohaus
ASCIIBYTE_TO_STRING kommt aus der Lib standard.lib (Wago/Libraries/32_Bit). Was ist die Lib Oscat? Ist diese Lib für ein spezifische Ziel?
Mahlzeit
Mal angenommen, du willst folgenden String erzeugen '255', wie passt der dann in deinen Test: String(1) rein, der nur 1 zeichen aufnehemen kann ?
Gruss Erik
Noch was vergessen.
Die korrekte Definition für Test wäre mindestens String(4), wegen der Terminierenden NULL nach dem eigentlichen Inhalt des Strings.
byt ist ein ASCII code und ich möchte dieser in String wandeln.
Wenn ich den folgenden code schreibe, funktioniert das auch nicht.
Hallo
zur Aufklärung Oscat.lib ist eine freierhältiche Lib. die nach Open Source
erstellt wurde.
Findest Du unter w www.oscat.de w
In der Lib. sind sehr viele nützliche Funktionen.
Wenn ich dich richtig verstanden habe möchtest du ein Zeichen als String mit dem ensprechenden ASCII wert haben.
z.B. CHR(13) für ENTER was $R entspricht.
Ja, das ist richtig.
Ich verstehe nicht warum ASCIIBYTE_TO_STRING funktioniert nicht.
Ich habe etwas andere benutzt.
Kann ich die oscat.lib mit Wago benutzen?
Oscat.Lib benutzt standart Befehle.
Deshalb gehe ich davon aus das die Lib. auf Waag funktioniert.
Einfach testen.
mfG Jochen
Hallo
Das hab ich wohl falsch verstanden. In diesem fall ist STRING(1) natürlich korrekt. Die Funktion gibt ja auch nichts anderes zurück.
Die Funktion setzt intern einen Pointer auf die Adresse des umzuwandelnden Bytes und dereferenziert diesen auf einen STRING(1).
Ganz einfach...
Ich habe die Lösung gefunden. Ich probierte meinen Code mit Simulation aktiv. Wenn Codesys nicht in Simulation ist, ASCIIBYTE_TO_STRING funktioniert.
Hi
Du kannst dir alledem die OSCAT-Lib anschauen.
Vorteil: Offener ST-Code.
Hallo zusammen
Laut Hilfe kann auch bei der Dekaration ein Hex Wert mit $ angegeben werden.
z.B. für das Zeichen CHR(255)
kann bei der Deklaration folgendermaßen angegeben werden
MeinString : STRING[1] := '$FF' ; ( FF in HEX = 255 )
Related
Talk.ru: 1
Danke für die Antworten. Ich werde die Oscat-Lib später prüfen, weil ich zu etwas andere arbeiten muss.