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

Ergebnis 1 bis 7 von 7

Thema: Schieberegister

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

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Also guten morgen,

    ich möchte nochmal eine kniffliges Problem bekannt geben...

    Zur Sache:
    Es geht um einen langsam drehenden Glasteller, auf dem in umbestimmten Abständen Teile liegen können. Eine Kamera vermisst das Teil und entscheidet, ob dieses Teil ein Schlecht Teil oder ein Pseudo Teil ist.. Die Positionen der Auswurfschächte nach der Kamera sind,
    Schlecht Teile 20cm, Pseudo Teile 40cm...
    Ein Inkrementalgeber ist am Motor angebracht.

    Ich stelle mir vor, da ich nicht ständig Rechenoperationen ausführen möchte, ein Schieberegister aufzubauen, dass mit jedem Inkrement weitergeschoben wird... sprich wenn Schlecht oder Pseudoteil vorhanden Bit auf 1 setzen und weiterschieben... Wenn an Position angekommen Teil ausblasen...

    Naja mal ehrlich habe jetzt mal vor sonem Links Schieben Ding gesessen. Ich weiss es echt nicht komme mir solangsam mächtig blöd vor. Ich bekomme es einfach nicht hin... Ein Bit in einem Wort links schieben zu können. Die erste stelle wir 1 gesetzt und das wars.. Dieses Bit wandert im Wort nicht eine stelle nach links... Vielleicht kann mir Depp jemand mal die Grundfunktionen erklären.. Daran scheitert es wohl immer wieder. Von der Logik kein Ding aber naja wie???

    So bedanke mich erstmal und leg den Hammer wieder zur Seite...

    MFG
    Andre
    Zitieren Zitieren Schieberegister  

  2. #2
    Registriert seit
    20.06.2003
    Ort
    Sauerland.NRW.Deutschland
    Beiträge
    4.850
    Danke
    78
    Erhielt 800 Danke für 543 Beiträge

    Standard

    Code:
    un bedingung //teil wurde erfasst
    spb ende
    
    u teil_schlecht
    s bit_0
    un teil_schlecht
    r bit_0
    slw 1
    ende: nop 0
    .
    mfg Volker .......... .. alles wird gut ..

    =>Meine Homepage .. direkt zum Download

    Meine Definition von TIA: Total Inakzeptable Applikation

  3. #3
    andreHST ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    02.09.2005
    Beiträge
    27
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    das ist doch jetzt ein wenig einfach oder??ß also brauche unbedingt eine teileverfolgung da ja ständig neue teile nachkommen

  4. #4
    Registriert seit
    03.12.2004
    Beiträge
    92
    Danke
    13
    Erhielt 1 Danke für 1 Beitrag

    Standard

    hallo andre

    ich hatte mal ein ähnliches problem, habe es folgendermaßen gelöst.

    ich habe ein freies MW benommen, z.B MW100

    bei ausschuß habe ich m100.7 auf 1 gesetzt,
    mit der nächsten aufnahme das mw nach rechts geschoben, daduch ist m100.6 = "1" und 100.7 wieder "0"
    das ergebnis der kameraauswertung wieder in m100.7 geschrieben,
    neue aufnahme und rechtsschieben, usw.

    mit m100.0 habe ich eine ausschußklappe angesteuert, einfache abfrage ob m100.0 eine "1" (klappe auf) oder eine "0" (klappe zu) hat.

    ich hoffe, ich konnte die eine kleine anregung geben

    gruss
    frank

  5. #5
    Registriert seit
    20.06.2003
    Ort
    Sauerland.NRW.Deutschland
    Beiträge
    4.850
    Danke
    78
    Erhielt 800 Danke für 543 Beiträge

    Standard

    Zitat Zitat von andreHST
    das ist doch jetzt ein wenig einfach oder??ß also brauche unbedingt eine teileverfolgung da ja ständig neue teile nachkommen
    ist halt so einfach.

    du erfasst das teil. prüfst ob es ok ist oder nicht. dann wird der register 1 verschoben. nehmen wir an an position 7 ist der ausschuss. dann fragst du einfach bit_6 ab um zu entscheiden ob aussortiert werden soll oder nicht.
    die nebensächlichen kleinigkeiten musst du schon selbst programmieren.

    aber manche leute programmieren halt lieber kompliziert auch wenns einfach geht.
    das versteht dann ja jeder.
    .
    mfg Volker .......... .. alles wird gut ..

    =>Meine Homepage .. direkt zum Download

    Meine Definition von TIA: Total Inakzeptable Applikation

  6. #6
    Registriert seit
    19.07.2004
    Beiträge
    414
    Danke
    44
    Erhielt 34 Danke für 20 Beiträge

    Standard

    Also es gibt die möglichkeit sowas zu lösen so:

    Code:
      U "Takt vom Drehteller"
      FP M 10.0
      SPBN NSFT
      L MW 100
      SLW 1
      T MW100
      U "Schlechtes Teil"
      = M100.0
      NSFT: NOP 0
    Du kannst aber auch IEC Funktionen nehmen. Es gibt ein Bit-Schieberegister SHRB und ein Datenschieberegister WSR (Worte, Realzahlen etc.)
    Diese Funktionen benutze ich bei großen Registern, wie z.B. Linienketten am Transportsystem etc. Die kleinen eigentlich nur, wenn ich <= 16/32 Bit bleibe, maximal eben ein DWord schiebe... Spare mir dann das Hantieren mit dem OV Flag etc...

    Hier mal ein Beispiel für Bitschieberei:

    Code:
          U     #Kettentakt      // Takt von meiner Linienkette
          FP    "FLA_Kettentakt"        // z.B&#58;   M10.5
          =     #IMP_Kettentakt        // Temp Variable
    
          U     #IMP_Kettentakt
          SPBN  NTKT
          CALL  "SHRB"              //  IEC Schieberigister 
          DATA &#58;="Schlechtteil"   // Schlechtteil = 1 von deiner CAM          
          RESET&#58;=FALSE            // Für mich ist es egal, ist zum Register Komplett Rücksetzen...
          S_BIT&#58;="Maschinenparameter".Temp_Data.Schieberegister_Schalen&#91;0&#93;
          N    &#58;=W#16#20         // 32 Positionen
    NTKT&#58; L     P#DBX 928.0   //  "Maschinenparameter".Temp_Data.Schieberegister_Schalen  also mein Schieberegister
          L     "Maschinenparameter".Linie_1.Position_Register  // Dies ist eine Variable vom OP &#40;1-30&#41;, also an welcher Position, soll ausgeschleust werden 
          +I    
          T     #poStartAdresse
    
          U  DBX &#91;#poStartAdresse&#93;
          U  #IMP_Kettentakt
          L S5T#500MS
          SA T 50
          
          U T50
          =     "Ausschleusen"      // z.B&#58; A 124.0 Luftventil für Ausschieber/Klappe -> Teil ist schlecht...
    Und alle Anderen Teile fahren dann weiter zur nächsten Position. Diese Position kannste dann auch über ein Register machen...

    Aber eventuell ist es gut, wenn du ein Byteregister machst, nach o.g. Schema... Dann kannst du mit Status arbeiten:

    0 = Kein Teil da.
    1 = Schlechtteil.
    2 = Gutteil.
    etc...

    Dann brauchst du nur ein Register und kannst bequem die Positionen z.B. in einem Pannel als Variable handhaben...


    Ich hoffe du verstehst mein Beispiel, sorry ist etwas merkwürdig anzuschauen, aber eigentlich easy

    So und ich sehe gerade das ist mein 100erster Beitrag, deshalb auch noch schnell den Code formatiert
    Für richtiges Chaos,braucht man sehr schnelle Computer.
    Und wieso einfach... .... wenn es auch Siemens gibt




  7. #7
    Borg Gast

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Das mit dem Merkerwort ist eine gute Lösung.
    Setze zum Beispiel bei einem erkennten Fehler M 0.0 auf 1.
    Dann programmiere eine Flanke auf deine Tischdrehung.
    Mit dieser Flanke schiebst du das Merkerwort nach links (SLW 1).
    Somit schiebst du wirklich nur einmal.
    Nun kannst du mit den folgenden Merkern (M0.1, M0.2 usw...) den nachfolgenden Stationen mitteilen ob es sich um ein Gut- oder Schlechtteil handelt.
    Mit einem Merkerwort kannst du somit 15 Stationen versorgen.

Ähnliche Themen

  1. Schieberegister mit S7-300
    Von Spag im Forum Simatic
    Antworten: 15
    Letzter Beitrag: 06.08.2008, 13:06
  2. Schieberegister
    Von Schenker im Forum Simatic
    Antworten: 9
    Letzter Beitrag: 08.10.2007, 11:09
  3. Schieberegister
    Von Mütze im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 22.10.2006, 06:01
  4. Schieberegister
    Von Anonymous im Forum Simatic
    Antworten: 0
    Letzter Beitrag: 30.01.2006, 08:47
  5. Schieberegister mit S7-200
    Von Anonymous im Forum Simatic
    Antworten: 7
    Letzter Beitrag: 14.10.2003, 15:00

Lesezeichen

Berechtigungen

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