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

Seite 2 von 3 ErsteErste 123 LetzteLetzte
Ergebnis 11 bis 20 von 27

Thema: Verarbeitung von String Variablen

  1. #11
    Registriert seit
    31.08.2009
    Beiträge
    63
    Danke
    6
    Erhielt 0 Danke für 0 Beiträge

    Idee


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo, und danke
    ich hab das jetzt mal so umgsetzt und getestet, sieht aus als ob es funktionieren würde.

    ich denke auch das ich es so grob verstanden habe.

    Ich hab mal das Netzwerk kommentiert und hier angehängt, währe nett, wenn sich jemand meine Gedanken ansehen würde, ob ich richtig liege.

    Noch eine Frage zum Trasferieren des Leerzeichens.
    wir haben jetzt geschrieben.

    L ' '
    T DBB [AR1,P0.0]

    weil wir ja vorher den wert von MyPointer mit LAR1 in das Adressregister 1 geschoben haben.

    könnte ich mir das nicht sparen, und direkt schreiben.

    L ' '
    T DBB [#MyPointer]

    der Untershied liegt ja nur daran, das ich im Fall 1 mit verändern von P#0.0 die Bitadresse des Datenbereichs beeinflussen kann.
    da ich aber in meinem Fall nur Byteweise springe, würde das wie im Fall 2 auch Funktionieren.

    Mfg

    CZachSPS_Forum_Loop.pdf

  2. #12
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.218
    Danke
    533
    Erhielt 2.696 Danke für 1.948 Beiträge

    Standard

    Ja, das kannst du auch so machen. Dann mußt du #MyPointer auch nicht mehr ins AR1 laden.
    Gruß
    Ralle

    ... there\'re 10 kinds of people ... those who understand binaries and those who don\'t …
    and the third kinds of people … those who love TIA-Portal

  3. #13
    Registriert seit
    02.08.2014
    Beiträge
    1
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hey
    Das ist alles schön was man machen kann aber der lector kann doch bestimmt ein gelesen Bit beziehungsweise ein nicht gelesen Bit schicken. Wir haben den Lector 420 und benutzen den Baustein vom Sick wo diese Bits vorhanden sind.

    Gesendet von meinem Nexus 4 mit Tapatalk

  4. #14
    Registriert seit
    11.12.2009
    Beiträge
    2.113
    Danke
    388
    Erhielt 390 Danke für 271 Beiträge

    Standard

    Ich mache mir das immer viel Leichter...

    Immer wenn ich den empfangenen String ausgelesen und verarbeitet habe, lösche ich den gesamten Empfangspuffer ab.

    In AWL im einfachsten Fall:

    L ' '
    T DB1.DBB0
    T DB1.DBB1
    ...

    Grüße

    Marcel
    Stell Dir vor es geht, und keiner kriegts hin!

  5. #15
    Registriert seit
    13.09.2010
    Beiträge
    2.292
    Danke
    178
    Erhielt 375 Danke für 355 Beiträge

    Standard

    Zitat Zitat von Matze001 Beitrag anzeigen
    Ich mache mir das immer viel Leichter...

    Immer wenn ich den empfangenen String ausgelesen und verarbeitet habe, lösche ich den gesamten Empfangspuffer ab.

    In AWL im einfachsten Fall:

    L ' '
    T DB1.DBB0
    T DB1.DBB1
    ...

    Grüße

    Marcel

    Sehe ich auch so.

    Damit ist der Empfangsbereich schon mit den gewünschten Platzhalter vorbelegt
    und werden gleich mit in den String übertragen.
    Musst aber die Anfangswerte im DB schon in dem Platzhalter versorgt haben.



    P.S. @Matze: Du meinst sicher DB72 ?
    kind regards
    SoftMachine

  6. #16
    Registriert seit
    11.12.2009
    Beiträge
    2.113
    Danke
    388
    Erhielt 390 Danke für 271 Beiträge

    Standard

    Ja genau... Die DB-Nummer wollte ich jetzt nicht nochmal nachgucken, auch der Byteoffset wird nicht stimmen... aber so viel kreativität traue ich den Leuten schon zu.
    Beim ersten Übertragen des Bausteins steht eh überall ' ' drin (das fasse ich nie an) und spätestens nach einem Bausteindurchlauf (Oder wenn die Auswertung auf mehrere Zyklen verteilt ist natürlich am Ende der Auswertung) wird wieder abgenullt. Man muss gucken was bei jedem Anwendungsfall die richtige Methode ist. Mal passen die Daten sofort, mal hat man die ersten 3-10 Nachrichten ASCII-Salat... alles schon gehabt... und alles hinbekommen.

    Grüße

    Marcel
    Stell Dir vor es geht, und keiner kriegts hin!

  7. #17
    Registriert seit
    31.08.2009
    Beiträge
    63
    Danke
    6
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Zitat Zitat von veseli Beitrag anzeigen
    Hey
    Das ist alles schön was man machen kann aber der lector kann doch bestimmt ein gelesen Bit beziehungsweise ein nicht gelesen Bit schicken. Wir haben den Lector 420 und benutzen den Baustein vom Sick wo diese Bits vorhanden sind.

    Gesendet von meinem Nexus 4 mit Tapatalk
    Das hätte ich mir auch gewünscht, leider hat uns der Sick Vertriebler einen LECTOR 620 ECO mit einer Profinetanschaltung CDF 600-2200 verkauft.
    Dieser ist nach meinem jetzigen wissensstand von der Funktionalität her leider auch ECO. Kann somit kein GoodRead/NoRead bit Ausgeben, und kann auch das angepriesene Parametercloning nicht.
    Wir haben zwar noch ein Modul mit der Bezeichnung CDB 620 dazu bekommen, das für das Parametercloning in Frage kommen würde (Wurde auch zu diesem zweck gekauft) ich hab aber noch niemanden gefunden, der mir sagen konnte wie das zusammengebastelt gehört.
    Laut Sick Service Hotline ergibt dieses Modul in meinem anwendungsfall keinen sinn, und der Vertriebler ist momentan Verschollen, so kann man den auch nicht Fragen, was er sich dabei gedacht hat.

    Mfg
    CZach

  8. #18
    Registriert seit
    03.09.2009
    Beiträge
    129
    Danke
    15
    Erhielt 19 Danke für 19 Beiträge

    Standard

    Hallo CZach,

    nach meinem Wissensstand kann der CDF600 als Gateway (Mode=2) oder als Proxy (Mode=0) verwendet werden. Im Proxymode steht Dir dann auch das Parametercoloning zur Verfügung. Du benötigst allerdings eine andere GSD. Mit der Pro-Version hat es auf jeden Fall funktioniert.

  9. #19
    Registriert seit
    31.08.2009
    Beiträge
    63
    Danke
    6
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Zitat Zitat von Beckx-net Beitrag anzeigen
    Hallo CZach,

    nach meinem Wissensstand kann der CDF600 als Gateway (Mode=2) oder als Proxy (Mode=0) verwendet werden. Im Proxymode steht Dir dann auch das Parametercoloning zur Verfügung. Du benötigst allerdings eine andere GSD. Mit der Pro-Version hat es auf jeden Fall funktioniert.

    Das kann ich so bestätigen, leider gibt es für den Anschluss Lector 620 Eco am CDF600 noch keine Passende GSDML Datei, ist laut Doku des CDF600 "geplant".
    Somit hab ich nur die möglichkeit den Lector im Gatewaymodus zu betreiben, und da ist leider die Funktionalität eingeschränkt.

    Für meien geschmack ist da die Produkt und Optionsvielfalt zu groß, so das sich die Vertriebs und Servicemannschaft selbst schwer tut den überblick zu behalten.

    Mfg
    Czach

  10. #20
    Registriert seit
    31.08.2009
    Beiträge
    63
    Danke
    6
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo, ich hab jetzt die Variable so aufbereitet, das immer nur der zuletzt gelesene wert in der String Variable steht.
    Danke nochmal an alle die dazu beigetragen haben.

    Jetzt möchte ich diese Stringvariabel im Programmablauf vergleichen. Einmal ob sie am anfang der Schrittkette auf 0 gesetz worden ist,
    einmal nach dem Einlesen der Daten vom Lector mit der Zeichenkette "NoRead" es darf kein NoRead in den Daten stehen das die schrittkette weitermacht.
    Und einmal mit der Variable in der der Wert des Zweiten Lectors steht.

    Für Punkt 3 Verwende ich den FC10 und Vergleiche die beiden Stringvariablen miteinander.
    Diese Variablen werden immer mit der max. Bytezahl, der aktuellen Bytezahl (Information vom Lector) und dem eigentlichen Leseergebniss beschrieben.

    Will ich nun die Stringvariable mit der Zeichenkette "NoRead" vergleichen, hab ich nur die möglichkeit in einem Datenbaustein eine Variable Typ String[25], mit dem Anfangswert "NoRead" zu erstellen, um diese dann mit der Stringvariable in der das Leseergebniss steht zu vergleichen.
    Mit dieser lösung bin ich aber nicht ganz glücklich, da ich immer von diesem 1x beschriebenen wert abhängig bin.

    Hat da jemand eine Idee wie man das eleganter lösen könnte??

Ähnliche Themen

  1. Antworten: 16
    Letzter Beitrag: 27.01.2014, 19:27
  2. Step 7 Verarbeitung von schnellen Signalen ( ca. 1-2ms )
    Von Xplosion im Forum Simatic
    Antworten: 20
    Letzter Beitrag: 09.08.2013, 11:10
  3. Telegrammdaten auslesen / String-Verarbeitung
    Von Semo im Forum Hochsprachen - OPC
    Antworten: 8
    Letzter Beitrag: 21.06.2009, 09:15
  4. S7 String variablen
    Von zotos im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 20.11.2007, 18:02
  5. String verarbeitung
    Von bqstony im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 15.02.2005, 13:15

Lesezeichen

Berechtigungen

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