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

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

Thema: Ringspeicher mit Vergleicher

  1. #11
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.840
    Danke
    400
    Erhielt 2.427 Danke für 2.023 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Naja ... ich weiß im Augenblick nicht so recht, wie ich dir da helfen soll ...
    Mit irgend etwas MUSST du anfangen. Deine Ringspeicher-String-Char-Array-Geschichte wäre in SCL am Sinnvollsten aufgehoben und ist da auch am Einfachsten umzusetzen. Wie würdest du es denn umsetzen wollen ? KOP, FUP, AWL ? Auch da mußt du die "ein bißchen" tiefer in die Materie einarbeiten - dann kannst du auch (schon allein von der Sinnfälligkeit her) gleich mit SCL starten.

    Wie soll es nun weiter gehen ?

  2. #12
    Registriert seit
    17.07.2009
    Ort
    Am Rande der Ostalb
    Beiträge
    5.600
    Danke
    1.159
    Erhielt 1.257 Danke für 986 Beiträge

    Standard

    Amkonianer verrat uns doch mal welche Ausbildung du hast bzw. welche Vorkenntnisse du hast.
    Wenn du irgendeine Hochsprache mal gelernt hast, dann ist SCL der richtige Weg.
    Wenn nicht, dann wird es nämlich richtig kompliziert.
    Die Aufgabe lässt sich natürlich auch in AWL lösen, aber dabei wird das Ganze noch schwieriger.
    Mit TIA kannst du die Aufgabe auch in Kop oder Fup lösen, aber ob das dann noch nachvollziehbar ist sei mal dahingestellt.

    Gruß
    Dieter

  3. #13
    Amkonianer ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    16.01.2015
    Ort
    Passau
    Beiträge
    20
    Danke
    7
    Erhielt 0 Danke für 0 Beiträge

    Standard

    @Larry:

    wenn ihr sagt das es am einfachsten in SCL geht, dann versuch ich das jetzt auch mal. leider finde ich im tia Portal keinen be**** Baustein wie z.b. char_to_strg oder einen ähnlichen. Hast du vielleicht ein bischen code für mich wie ich anfangen soll das ich jetzt nur mal die Array of char [0..8] in einen string umwandle das wär schon mal eine große hilfe

    @Blockmove:

    Also ich hab vor kurzen meine Ausbildung zum Elektroniker für Betriebstechnik abgeschlossen. War vor 4,5 Jahren für ein Jahr auf einer Schuler für Fachinformatiker für Anwendungsentwicklung und Systemintegration. Also ein wenig Programmiererfahrung hab ich noch glaub ich
    Hatte dort c++, html, php und ein bischen my SQL gelernt.
    Da ich der einzige bei uns in der Firma bin der jetzt programmiert, hab ich eben keinen "Mentor" das ist einfach blöd.

  4. #14
    Registriert seit
    22.11.2006
    Ort
    CH
    Beiträge
    3.661
    Danke
    789
    Erhielt 657 Danke für 500 Beiträge

    Standard

    Das du was zum anfangen hast.

    Array of Char ist ja fast schon ein String ihm fehlen nur noch die statusbytes am anfang.
    Also könntest du dir mal ne Struktur eines Strings anlegen (brauchst du eigentlich nicht ist aber erstmal zum Anfangen sinnvoll).
    Code:
          Rec : Struct         
             Byte1 : Byte;
             Byte2 : Byte;
             CHAR: Array[0..256] of CHAR;
    Damit hast du schonmal einen platz wo du deinen Array of Char versorgen kannst. Mit Blockmove kopierst du deine Chars jetzt in CHAR[x-y] der Struktur.

    Dann kannst du Rec direkt einem String zuweisen. z.Bsp so:
    Code:
    #Dummyval := BLKMOV(SRCBLK:=#Rec.CHAR, DSTBLK=>#Empfangsstring);
    Um eine einfache Wandlung zwischen Array of Char und String zu machen brauchst du also nichtmal die längenbytes. Ich lasse sie aber immer als Struktur stehen da man dann einfacher eine Sicht drauf machen kann.

    mfG René

  5. Folgender Benutzer sagt Danke zu vollmi für den nützlichen Beitrag:

    Amkonianer (17.03.2015)

  6. #15
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.293
    Danke
    543
    Erhielt 2.714 Danke für 1.961 Beiträge

    Standard

    Zitat Zitat von Amkonianer Beitrag anzeigen
    Anhang 27855
    Nun will ich quasi diese 8 chars in einen string zusammenfassen damit ich den dann im ringpuffer speichern kann, und jedes mal wenn ein neuer string in den puffer kommt soll er mit allen anderen vergliechen werden damit es nicht vorkommt dass das teil welches gescannt wird 2 mal vorkommt.
    Ich seh da 6 Char, ist das die richtige Nummer?
    Wenn das immer eine Nummer (nur Ziffern) ist, könnte man die auch in eine DINT wandeln (dazu könnte man sich evtl. einen kleinen FC schreiben), dann wäre der Vergleich einfacher und schneller.
    Steht die Nummer in den Empfangsdaten immer an der selben Stelle, ist die immer gleich lang? Sonst müßte man sich die ja erst einaml raussuchen, z.Bsp. das '/' suchen und dann die folgenden Daten rauskopieren.

    Was für eine SPS nutzt du überhaupt?
    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

  7. #16
    Amkonianer ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    16.01.2015
    Ort
    Passau
    Beiträge
    20
    Danke
    7
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Ach ja Entschuldigung es sind 6.

    Ja die Ziffern stehen immer an der selben Stelle und sind immer gleich lang.

    Hab hier WinAC RTX Controller Panel weiß jz leider nicht was diese für eine SPS simuliert, und im Schaltschrank eine ET200MP mit 2 Eingangsmodulen und 1 Ausgangsmodul.

    Okay dann probier ich das mit dem DINT erstmal, weil beim SCL Code scheiterts bei mir anscheinend schon in den ersten Zeilen. Das Tia zeigt mir dauernd an das "function_block" nicht deklariert ist ...

  8. #17
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.293
    Danke
    543
    Erhielt 2.714 Danke für 1.961 Beiträge

    Standard

    Zitat Zitat von Amkonianer Beitrag anzeigen
    Ach ja Entschuldigung es sind 6.

    Ja die Ziffern stehen immer an der selben Stelle und sind immer gleich lang.

    Hab hier WinAC RTX Controller Panel weiß jz leider nicht was diese für eine SPS simuliert, und im Schaltschrank eine ET200MP mit 2 Eingangsmodulen und 1 Ausgangsmodul.

    Okay dann probier ich das mit dem DINT erstmal, weil beim SCL Code scheiterts bei mir anscheinend schon in den ersten Zeilen. Das Tia zeigt mir dauernd an das "function_block" nicht deklariert ist ...

    Bei Bausteine gibts in TIA eine Funktion "Neuen Baustein einfügen".
    Dort FB auswählen, als Erstellersprache SCL.

    Bei der SPS gings mit nur darum ob "Alt" (Klassik) oder "Neu" (1200/1500-er).
    Deine Info reicht da schon.
    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

  9. #18
    Amkonianer ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    16.01.2015
    Ort
    Passau
    Beiträge
    20
    Danke
    7
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Bei Bausteine gibts in TIA eine Funktion "Neuen Baustein einfügen".
    Dort FB auswählen, als Erstellersprache SCL
    jap das hab ich eh gemacht, aber egal ich probiers jetzt mal in FUP und wandle die sie in DInt um.
    schon den ganzen vormittag nichts ausgerichtet

  10. #19
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.293
    Danke
    543
    Erhielt 2.714 Danke für 1.961 Beiträge

    Standard

    Hier mal ein kleines Beispiel.

    Ringbuffer.scl.txt

    Unter der CPU im TIA gibt es einen Folder "Externe Quellen".
    Da hinein kopieren und dann übersetzen. (Vorher das .txt weglöschen, das ist nur da, damit man es hier hochladen kann.)
    Am besten ein neues Projekt nutzen. Du mußt noch einen OB 1 anlegen, in dem du den FB aufrufst und mit Merkern bestückst.
    Dann kannst du ja mal testen und ändern. Es ist nur als Beispiel gedacht, die Wandlung funktioniert, ist aber ohne Prüfung, d.h. wenn in den Char etwas anderes als Ziffern steht, kommt Mist bei der Wandlung raus. Kannst du ja gerne auch mal probieren.
    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

  11. Folgender Benutzer sagt Danke zu Ralle für den nützlichen Beitrag:

    Amkonianer (17.03.2015)

  12. #20
    Amkonianer ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    16.01.2015
    Ort
    Passau
    Beiträge
    20
    Danke
    7
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Vielen Vielen Dank!! Das hab ich gebraucht!!!

Ähnliche Themen

  1. problem mit vergleicher
    Von Hetzer im Forum Simatic
    Antworten: 10
    Letzter Beitrag: 28.10.2013, 09:29
  2. Antworten: 6
    Letzter Beitrag: 25.01.2012, 21:12
  3. problem mit doppelwort am vergleicher
    Von TypeRG10 im Forum Simatic
    Antworten: 19
    Letzter Beitrag: 13.09.2011, 15:27
  4. Vergleicher mit Step 7
    Von KingGanja im Forum Simatic
    Antworten: 12
    Letzter Beitrag: 13.01.2009, 15:04
  5. Problem mit vergleicher
    Von CrackerJack1 im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 11.10.2007, 18:35

Stichworte

Lesezeichen

Berechtigungen

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