String beschreiben

Bensen83

Level-1
Beiträge
777
Reaktionspunkte
3
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo, ich möchte folgendes machen:

Würde gerne in SCL oder auch gerne wenn anders möglich einen string beschreiben. allerdings gerne so, dass ich einen string in der Form
'beispielstring' als eingangsparameter habe udn ausgaben beispielsweise db102.dbb0 oder sowas. geht das irgendwie? oder muss ich jedes Byte des Strings einzeln beschreiben?

Danke
 
Hallo Benson,
was immer du vorhast (ich habe den Hintergrund deiner Frage leider nicht verstanden) wird wohl sehr wahrscheinlich funktionieren - bei Strings wäre SCL ganz generell ein guter Ansatz :).

Um aber konkret werden zu können hätte ich doch ganz gern ein paar mehr Info's - vielleicht auch nach dem Ansatz "ein Bild sagt mehr als 100 Worte"

Gruß
Larry
 
Ok

Alos ich möchte einen Baustein schreiben, dem ich einfach eine Per Hand geschriebene Zeichenkette übergeben kann, und der mir das dann in einene Variable schreibt.

in scl habe ich es so gemacht:

Code:
VAR_INPUT 
Eingangsstring : STRING;
END_VAR
VAR_OUTPUT
Ausgangsstring : STRING;
END_VAR
    // Anweisungsteil
    
    Ausgangsstring := Eingangsstring;

jetzt möchte ich den Baustein so aufrufen, aber scheint nicht zu gehen:


CALL FC 103
Eingangsstring:='Hallo'
Ausgangsstring:=db102.dbb0


bekomme die beiden parameter rot makiert.
 
Ach so ...
Ein String wird grundsätzlich als Pointer an den Baustein übergeben. Du mußt also deinen Quellstring erst einmal zum Beispiel im Temp-Bereich (des aufrufenden Bausteins) erzeugen und kannst ihn dann (am Besten symbolisch) dem FC übergeben.
Raus ist es so ähnlich. Auch da wird ein Pointer verwendet und nicht ein DBD. Das heißt, dass du auch hier einen String an den Baustein übergeben mußt (der dann nur von deinem Baustein gefüllt wird).

Gruß
Larry
 
... dazu müßte man dan doch etwas genauer wissen, was du machen willst.

In SCL kannst du allerdings auf jeden Fall schon einmal schreiben :
Code:
myString := 'Hallo Welt ...' ;
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Mit SCL gibt es viele Möglichkeiten.

VAR
String_Test : STRING;
END_VAR

String_Test := 'hallo';

oder

"Kommunikation_Ruhlamat".ArtikelNummerAktiv := STRING_TO_DINT("Artikel".ArtikelNrAkiv);

IF "Kommunikation_Ruhlamat".ArtikelNr <> STRING_TO_DINT("Artikel".ArtikelNr) AND "MINUTE" AND "Param".Ruhlamat THEN
"Artikel".ArtikelNr := DINT_TO_STRING
END_IF;


Über die Byte Adresse kann man dann die einzelnen Zeichen im String auslesen.
 
Zurück
Oben