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

Seite 3 von 5 ErsteErste 12345 LetzteLetzte
Ergebnis 21 bis 30 von 46

Thema: Positionen speichern

  1. #21
    Registriert seit
    13.10.2008
    Beiträge
    29
    Danke
    4
    Erhielt 7 Danke für 4 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Code:
          L     0
          LAR1                              // Pointer initialisieren
          AUF   DB     3                    // Nummer des zu beschreibenden DB
    
          L     16                          // Anzahl der DW im DB
    next: T     #Schleifenzaehler           // Schleifenzähler initialisieren
    
          L     0
          T     DBD [AR1,P#0.0]             // 0 in das DW schreiben auf das der Pointer zeigt
          +AR1  P#4.0                       // Poiner um 4 Byte (1DW) erhöhen
    
          L     #Schleifenzaehler
          LOOP  next
    oder so

  2. #22
    Registriert seit
    13.10.2008
    Beiträge
    29
    Danke
    4
    Erhielt 7 Danke für 4 Beiträge

    Rotes Gesicht

    Hab da wohl ne Seite übersprungen beim lesen

  3. #23
    Avatar von Nordischerjung
    Nordischerjung ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    28.02.2006
    Ort
    Ostsee 5 min zum Strand
    Beiträge
    780
    Danke
    92
    Erhielt 110 Danke für 98 Beiträge

    Standard

    Zitat Zitat von peter(R) Beitrag anzeigen
    Warum habt ihr eigentlich einen multiturn Geber genommen ????
    Macht doch keinen Sinn wenn man einzelne Umdrehungen erfassen will
    Tja, das hab ich mir nicht ausgesucht. Den benutzen die immer

    Zitat Zitat von peter(R) Beitrag anzeigen
    Ansonsten kannst Du den Geberausgang genau wie einen Analogwert behandeln und skalieren. Z.B. Null ist 0.0 und 32676 ist 10.0 wenn dein Geber bei 10 Umdrehungen 32676 anzeigt. Allerdings hast du dann eine dezimale skalierung ( x,5 wäre x+1/2 Umdrehung.
    Wird das nich zu ungenau? Der Geber macht 4096 Umdrehungen und
    pro U 4096 Impulse, oder nicht???

  4. #24
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.788
    Danke
    398
    Erhielt 2.414 Danke für 2.010 Beiträge

    Standard

    ... hatte ich dir nicht einen Inkrementalgeber empfohlen ...?

    Spaß beiseite ...
    Die einzige Chance, die ich da sehe ist, dass du dir einen "Berechne_Position-FB" baust.
    Grundsätzlich kannst du den Befehl MOD (Modulo) verwenden um dafür zu sorgen, dass du keine Werte oberhalb von 4096 bekommst. Das Problem ist nur, dass auch dein Multiturn-Geber irgendwann einmal überläuft und dann wahrscheinlich so, dass es nicht in dein bisheriges Modulo passt.

    Gruß
    LL

  5. #25
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.261
    Danke
    537
    Erhielt 2.707 Danke für 1.956 Beiträge

    Standard

    Probier es mal so:

    Code:
    FUNCTION_BLOCK FB 100
    TITLE =
    VERSION : 0.1
    
    
    VAR_INPUT
      Istwert : DINT ;	
      Set : BOOL ;	
    END_VAR
    VAR_OUTPUT
      Istwert_Scale : DINT ;	
    END_VAR
    VAR
      Offset : DINT ;	
      HMFlanke_Set : BOOL ;	
    END_VAR
    BEGIN
    NETWORK
    TITLE =
    
          U     #Set; 
          FP    #HMFlanke_Set; 
          SPBN  NIX; 
    
          L     #Istwert; 
          T     #Offset; 
    NIX:  NOP   0; 
    
          L     #Istwert; 
          L     #Offset; 
          -D    ; 
          L     L#4096; 
          MOD   ; 
          L     L#0; 
          TAK   ; 
          <=D   ; 
          SPB   ENDE; 
    
          L     4096; 
          +D    ; 
    ENDE: T     #Istwert_Scale; 
    END_FUNCTION_BLOCK
    Der geht dann von 0-4095, bei 4096 springt er wieder auf 0. Wenn das so nicht sein soll, sondern 1-4096, dann am Ende noch 1 drauf rechnen.
    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

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

    Nordischerjung (23.10.2008)

  7. #26
    Registriert seit
    13.04.2008
    Ort
    Großraum KA
    Beiträge
    963
    Danke
    52
    Erhielt 128 Danke für 112 Beiträge

    Standard

    @ larry Laffer
    Und wieso nicht singleturn ??? Hüpft nach einer Umdrehung auf Null und ich brauche nie zu referenzieren.

    0 -> 4096 auf 360° macht einen Schritt auf 0,08789 ° das ist fast nix. Ausser deine Walze hat einen sehr großen Durchmesser. Wie groß ist denn der Umfang ??

    peter(R)

  8. #27
    Avatar von Nordischerjung
    Nordischerjung ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    28.02.2006
    Ort
    Ostsee 5 min zum Strand
    Beiträge
    780
    Danke
    92
    Erhielt 110 Danke für 98 Beiträge

    Standard

    Zitat Zitat von peter(R) Beitrag anzeigen
    Wie groß ist denn der Umfang ??
    Irgendetwas bei 630 mm

    Zitat Zitat von peter(R) Beitrag anzeigen

    Und wieso nicht singleturn ???
    Kann ich so etwas am Geber auch einstellen?
    In der HW geht das ja über die Baugruppe, aber Geber???
    Es ist ein Kübler Absolut Drehgeber Multiturn SSI 5863
    Auflösung 13 bit ST + 12 bit MT.
    Oder muss ich einfach nicht PED einlesen sondern nur ein PEW?
    Der Geber liegt bei mit bei PED 264

  9. #28
    Registriert seit
    13.04.2008
    Ort
    Großraum KA
    Beiträge
    963
    Danke
    52
    Erhielt 128 Danke für 112 Beiträge

    Standard

    Theoretisch schon aber dann liegt deine Auflösung bei > 1 ° . Wie gesagt hängt auch vom Durchmesser ( bzw. evtl. der Wegstrecke je Umdrehung )ab.

    1° bei einem Durchmesser von 20 mm ist als Weg fast nix. Bei einem Durchmesser von 2 m eine ganze Menge.

    Es gibt programmierbare Geber aber deiner ist leider keiner.

    peter(R)

  10. #29
    Registriert seit
    13.04.2008
    Ort
    Großraum KA
    Beiträge
    963
    Danke
    52
    Erhielt 128 Danke für 112 Beiträge

    Standard

    Bei der Geberauflösung von 256 / Umdrehung hättest du damit eine Wegauflösung von ca. 7,7 mm. DAS IST VERDAMMT VIEL !!
    Bei dem was Du machen willst solltest du schon unter 1 mm liegen.

    peter(R)

  11. #30
    Avatar von Nordischerjung
    Nordischerjung ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    28.02.2006
    Ort
    Ostsee 5 min zum Strand
    Beiträge
    780
    Danke
    92
    Erhielt 110 Danke für 98 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von Larry Laffer Beitrag anzeigen

    Das Problem ist nur, dass auch dein Multiturn-Geber irgendwann einmal überläuft und dann wahrscheinlich so, dass es nicht in dein bisheriges Modulo passt.
    Und was kann man dagegen machen?

    Zitat Zitat von Larry Laffer Beitrag anzeigen
    Grundsätzlich kannst du den Befehl MOD (Modulo) verwenden um dafür zu sorgen, dass du keine Werte oberhalb von 4096 bekommst.
    Ich werde das Prog mal von Ralle ausprobieren.
    Wo finde ich etwas über MOD?

Ähnliche Themen

  1. Positionen für Anbau-Schränke
    Von Larry Laffer im Forum Schaltschrankbau
    Antworten: 4
    Letzter Beitrag: 29.06.2011, 19:35
  2. Datentyp der Positionen am Synamics
    Von Gerri im Forum Antriebstechnik
    Antworten: 3
    Letzter Beitrag: 06.10.2009, 13:15
  3. 60 verschiedene Programme mit 10 Positionen
    Von MK_Auto im Forum Simatic
    Antworten: 32
    Letzter Beitrag: 03.03.2008, 15:38
  4. Antworten: 13
    Letzter Beitrag: 27.02.2008, 16:47
  5. mehrere verschiedene Positionen mit 3 Zählern ??
    Von Fabian_GmbH im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 27.06.2005, 16:56

Lesezeichen

Berechtigungen

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