Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Ergebnis 1 bis 7 von 7

Thema: EQ_String FC10

  1. #1
    Registriert seit
    09.04.2014
    Beiträge
    1
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo zusammen,

    das Thema wurde bereits hier schon öfters behandelt. Leider kann ich damit mein Problem nicht lösen.

    Ich möchte an meiner Anlage je nach angewählten Programm eine Parameter setzen.

    BSP: programm1 angewählt => parametersatz 1 aktiv
    Programm2 angewählt => parametersatz 2 aktiv.......

    Wird ein Programm ausgewählt wird es im DB214 hinterlegt (hier Beispiel Programmname "BS0376"):
    DB214_Programmvariable.jpg

    Anschließend möchte ich das aktuelle Programm abfragen und mit meiner Liste an allen Programmen im DB999 vergleichen:
    Vergleich.jpg

    und hier noch der Ausschnitt vom DB999 mit meinen Programmen:

    DB999Programmliste.jpg

    Das Ganze habe ich ca 60mal kopiert da es ca 60 Programme sind die ich abfrage. Ich bekomme aber jedoch kein HIGH Signal am Ausgang.
    Kann mir hierzu jemand helfen ?


    Vielen DANK
    Zitieren Zitieren EQ_String FC10  

  2. #2
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.186
    Danke
    923
    Erhielt 3.291 Danke für 2.660 Beiträge

    Standard

    Weil die Strings unterschiedlich sind, weil sie unterschiedlich lang sind.
    Derjenige, der den Programmname in DB999 einträgt, sollte auch die Ist-Länge des Strings auf 6 einstellen bzw. "BS0376" reinschreiben und nicht "BS0376 . . . . ....". Wenn das nicht möglich ist, dann darfst Du nur die ersten 6 Zeichen vergleichen.

    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  3. #3
    Registriert seit
    05.04.2016
    Beiträge
    9
    Danke
    6
    Erhielt 0 Danke für 0 Beiträge

    Standard

    kann ich das in der Funktion begrenzen, dass er nur die ersten 6 vergleicht?
    oder muss ich das dann byte für byte vergleichen?

  4. #4
    Registriert seit
    27.06.2015
    Ort
    Hamburg
    Beiträge
    173
    Danke
    23
    Erhielt 41 Danke für 36 Beiträge

    Standard

    Vielleicht liegt es auch an der Kleinigkeit dass in deinem DB214 'BS0376' als Aktualwert steht und in deinem DB999 'BS0376. Da fehlt doch das zweite Hochkomma oder sehe ich das flasch?

  5. #5
    Registriert seit
    12.04.2005
    Ort
    Black Forest
    Beiträge
    1.336
    Danke
    27
    Erhielt 130 Danke für 117 Beiträge

    Standard

    Siehst Du etwas falsch, da der String im DB999 ja eine Länge von 32Byte hat (weiteres siehe Posting von PN/DP) ...
    Du siehst einfach das zweite ' nicht ...

    „Eine Frage raubt mir den Verstand bin ich verrückt oder sind es die Anderen ?“

    Albert Einstein

  6. Folgender Benutzer sagt Danke zu Boxy für den nützlichen Beitrag:

    Howard (06.06.2017)

  7. #6
    Registriert seit
    27.06.2015
    Ort
    Hamburg
    Beiträge
    173
    Danke
    23
    Erhielt 41 Danke für 36 Beiträge

    Standard

    Ah, da sind wohl noch Blanks hinter. Ja dann sind sind die Strings nicht gleich

  8. #7
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.186
    Danke
    923
    Erhielt 3.291 Danke für 2.660 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von Schnörpfler Beitrag anzeigen
    kann ich das in der Funktion begrenzen, dass er nur die ersten 6 vergleicht?
    Du kannst es forcieren, indem Du das zweite Header-Byte des Strings (Istlänge) auf höchstens 6 setzt - also:
    - beide Strings umkopieren nach TEMP (oder auf temporäre/Arbeits-Variablen in DB)
    - bei beiden Strings jeweils vergleichen, ob im zweiten Header-Byte ein Wert > 6 drin steht und wenn ja, dann 6 reinschreiben
    - EQ_String aufrufen


    @All
    Schnörpfler ist nicht der ursprüngliche TE, der Beitrag #1 und die Bilder sind nicht von ihm.

    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

Ähnliche Themen

  1. Step 7 POSMO A ohne FC10/11/12 ansteuern
    Von helius im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 13.02.2014, 19:56
  2. Antworten: 8
    Letzter Beitrag: 16.02.2012, 17:57
  3. Stringvergleich FC10
    Von rr_zx im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 17.07.2011, 18:34
  4. Frage zum FC10 String Vergleich
    Von bernd67 im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 27.01.2009, 10:18
  5. Sting vergleichen mit FC10
    Von smartie im Forum Simatic
    Antworten: 17
    Letzter Beitrag: 25.08.2007, 09:32

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •