string in scl zusammensetzen

Bensen83

Level-1
Beiträge
777
Reaktionspunkte
3
Zuviel Werbung?
-> Hier kostenlos registrieren
hallo, wie kann ich einen stringwert und eine dintzahl zusammenfügen?

dachte an sowas hier: aaa := 'aaaaaaaaa' + DINT_TO_STRING(zahlenwert);

aber bekomme ne fehlermeldung. weis jemand, wie sowas geht?
 
Sorry, aber was ist das? ;-)


Da schaust du mal bitte in deiner SIEMENS-LIB nach.
Im Kop/Fup/Awl-Editor auf KOP oder FUP schalten
ein Netzwerk markieren und den linken "BAUM" aktivieren.
Dort siehst du dann neben deine FBs/FCs auch ein PULLDOWN
mit den verfügbaren LIBs.

Einfach in dein Projekt ziehen - F1 drücken - da steht alles.

Frank
 
Concat ist eine FC aus der Standard Library zum zusammenhängen von Strings.

-> Standard Library
-> IEC Function Blocks
-> FC2 Concat IEC
 
Danke

OK habe ihn gefunden, funktioniert auch, aber wie bekomme ich bei der verwendung mit CONCAT das vorzeichen vor der zahl weg? will ja das da z.B. steht seriennummer: 5678 und nicht Seriennummer: +5678
 
Zuviel Werbung?
-> Hier kostenlos registrieren
OK habe ihn gefunden, funktioniert auch, aber wie bekomme ich bei der verwendung mit CONCAT das vorzeichen vor der zahl weg? will ja das da z.B. steht seriennummer: 5678 und nicht Seriennummer: +5678

Vorzeichen suchen und anschießend abschneiden.
Dafür gibt es auch schöne FCs


FC 11 FIND

und dann

FC 4 DELETE

oder

FC 32 RIGHT

Stehen alle in der gleichen IEC-Liste - F1 ist dein Freund!


Frank
 
OK habe ihn gefunden, funktioniert auch, aber wie bekomme ich bei der verwendung mit CONCAT das vorzeichen vor der zahl weg? will ja das da z.B. steht seriennummer: 5678 und nicht Seriennummer: +5678

Siehe auch das folgende Programmbeispiel in STEP 7 FUP für die Umwandlung einer DINT-Zahl in einen STRING ohne Vorzeichen:

http://www.sps-forum.de/showpost.php?p=236760&postcount=6

http://www.sps-forum.de/showpost.php?p=236761&postcount=7

Gruß Kai
 
CPU auf STop

Hallo, habe folgenden Code im SCL Baustein. Wenn ich die RIGHT Funktion aufrufe, geht immer die CPU mit folgenden Fehler auf Stop:

"STOP durch Bearbeitungsabbruch-Fehler (OB nicht geladen oder nicht möglich, bzw. kein FRB vorhanden)"

Die Bausteine sind alle online vorhanden. was könnte denn falsch sein?

Code:
"Maschinendaten".Stringlaenge := LEN   (S :=  DINT_TO_STRING("Maschinendaten".Seriennummer)
                ); 
"Maschinendaten".Stringlaenge := "Maschinendaten".Stringlaenge - 1;
 
"Maschinendaten".Zwischenstring := RIGHT(IN :=  DINT_TO_STRING("Maschinendaten".Seriennummer)
                                                    ,L :=  "Maschinendaten".Stringlaenge
                                                    );
 
Zurück
Oben