String verarbeitung

B

bqstony

Guest
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen. Habe ein Probelm mit dem nicht sonderlich guten implementierten string handling

Hanbe in einem DB 2 Strings definiert.
StrSend = 'TestNachricht' as String[254]
und StrRcv = '' as string[254]

nun versuche ich vom sende tring das Wort Nachricht auszufiltern.

benutze dazu FC26 (MID)
das problem ist: ich kann Das String Array StrSend nicht an den eingang legend.

was mach ich falsch??

gruss Stony
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Code:
  CALL  "MID"
       IN     :="DbAllgemein".strSend
       L      :=2
       P      :=1
       RET_VAL:="DbAllgemein".strRecv
      NOP   0

seltsamer weise scheint es jetzt zu funktionieren. ka wiso. vorhin gings nicht. (hab nur den beitrag geschrieben :roll: )

Nur kann ich den strRecv nicht überwachen.

oder weisst du wie mann einen kompleten string copieren kann. in eine Symbol variable. und wie ich eine Symbol variable vom typ string erstelle??

thx für schnelle antwort
 
Die Wunder von S7, aber es ist mir nicht klar wie es nun funktioniert, denn Du hast eine Länge von 2 ab Position 1 angegeben (ich kann mich im Moment nicht daran errinern ob die Position mit 0 oder 1 anfängt (ich glaube 0), aber dass kann man mit "Trial and Error" herausfinden). Um "Nachricht" herauszufiltern aus "TestNachricht" brauchst Du P = 4 und L = 9. Wenn Dein Text Unterschiedlich lang sein kann, dann brauchst Du L nur gross genug zu wählen so dass es die längste Möglichkeit abdeckt. Wenn die Meldung kürzer ist, stört das nicht.

Soweit ich kenne ist es nicht möglich ein Symbol Variabel als STRING zu deklarieren. Du musst ein STRING innerhalb eines DBs deklarieren - Du kannst es aber dort auch symbolisch ansprechen, wenn Du willst. Du kannst auch STRINGs in Local speicher in einem FB oder FC deklarieren.

Vielleicht wäre es einfacher, wenn Du sagst was Du eigentlich erreichen willst.
 
...
ich schreibe eine Function um eine Serielle antwort wie 'AH12' zu verarbeiten.
sprich benötige das wort 'AH' das ich dann weiter vergleichen kann. und den wert 12 denn ich in einen inter wert umwandlen werde (gibts ja schon fb's)

versuche es jetzt mal mit TrAIl and & ErroR

denn auch s7 ist eine sterbende SPS. schon vor einiger zeit stehengeblieben. what ever. jedenfals gibts nichtmal ein Tutorial oder gute erklährung zum String Handling...
 
Zurück
Oben