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

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 16

Thema: Flanke Positiv im OB35

  1. #1
    Registriert seit
    03.01.2006
    Ort
    Im sonnigen Süden von Österreich!
    Beiträge
    1.377
    Danke
    227
    Erhielt 182 Danke für 167 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo!

    Habe im OB 35 eine Flankenauswertung Programmiert bei der ich den SFC20 BLKMOV aufrufe. Im Simulator funktioniert das ohne Probleme aber auf ner CPU 315 werden die Werte öfters als einmal kopiert. Kann das am OB35 liegen? Der ist auf 100ms eingestellt. Die Flanke wird von einem Bit aus einem Datenbaustein, das von einem OP7 gesetzt wird, gebildet.

    Hier noch der Code:
    Code:
          U     DB1.DBX   42.0
          FP    #HM_FP_Senderoehre1
          SPBN  m01
          L     11
          T     #DB_Nummer
          SPA   m10
     
    m01:  U     DB1.DBX   42.1
          FP    #HM_FP_Senderoehre2
          SPBN  m02
          L     12
          T     #DB_Nummer
          SPA   m10
     
    m02:  U     DB1.DBX   42.2
          FP    #HM_FP_Senderoehre3
          SPBN  m03
          L     13
          T     #DB_Nummer
          SPA   m10
     
    m03:  U     DB1.DBX   42.3
          FP    #HM_FP_Senderoehre4
          SPBN  end
          L     14
          T     #DB_Nummer
     
    m10:  L     P##Datum_Uhrzeit
          LAR1  
          L     DB1.DBD   78
          T     D [AR1,P#0.0]
          L     DB1.DBB   82
          T     B [AR1,P#4.0]
     
          AUF   DB [#DB_Nummer]
          L     P##Datum_Uhrzeit
          LAR1  
          L     D [AR1,P#0.0]
          T     DBD   14
          L     B [AR1,P#4.0]
          T     DBB   18
     
          L     P##Pointer1
          LAR1  
          L     B#16#10
          T     LB [AR1,P#0.0]
          L     B#16#2
          T     LB [AR1,P#1.0]
          L     578
          T     LW [AR1,P#2.0]
          L     #DB_Nummer
          T     LW [AR1,P#4.0]
          L     P#DBX 0.0
          T     LD [AR1,P#6.0]
     
          L     P##Pointer2
          LAR1  
          L     B#16#10
          T     LB [AR1,P#0.0]
          L     B#16#2
          T     LB [AR1,P#1.0]
          L     578
          T     LW [AR1,P#2.0]
          L     #DB_Nummer
          T     LW [AR1,P#4.0]
          L     P#DBX 20.0
          T     LD [AR1,P#6.0]
     
          CALL  SFC   20
           SRCBLK :=#Pointer1
           RET_VAL:=#Fehlercode_BLKMOV
           DSTBLK :=#Pointer2
     
          AUF   DB [#DB_Nummer]
          L     0
          T     DBD    0
          T     DBD    4
          T     DBD    8
          T     DBD   12
          T     DBW   16
          T     DBB   18
     
          AUF   DB [#DB_Nummer]
          L     P##Datum_Uhrzeit
          LAR1  
          L     D [AR1,P#0.0]
          T     DBD    8
          L     B [AR1,P#4.0]
          T     DBB   12
    end:  NOP   0
    Die HM_FP_Senderoehre... sind als STAT deklariert.

    Theoretisch gesehen dürfte das ja nur bei der Positiven Flanke bearbeitet werden, oder sehe ich da was falsch?

    Hat jemand ne Idee warum die Werte öfters kopiert werden?
    Geändert von godi (22.05.2006 um 23:11 Uhr)
    Zitieren Zitieren Flanke Positiv im OB35  

  2. #2
    Registriert seit
    15.11.2005
    Beiträge
    89
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    sieht so aus, als hättest du temp-lokalvariablen zur Flankenspeicherung benutzt. Das klappt dann nicht, da im Zyklus des AUfrufs des OB35
    erneut eine positive Flanke erkannt wird (obwohl keine da ist).
    Der Tastendruck am OP7 dauert länger als die Aufrufzyklen des OB35.

    Mach einfach mal statische Merker aus den Flankenmerkern.
    Sollte dann klappen....


    Cu, nairolf
    _________________________________________
    Solls funktionieren, oder darfs auch Siemens sein?

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

    Standard

    Sollte eigentlich so gehen. Wer setzt denn die Startbits zurück, die SPS oder das OP7? Hier würde ich mal zuerst nachgraben.
    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

  4. #4
    Avatar von godi
    godi ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    03.01.2006
    Ort
    Im sonnigen Süden von Österreich!
    Beiträge
    1.377
    Danke
    227
    Erhielt 182 Danke für 167 Beiträge

    Standard

    Mahlzeit!

    @nairolf
    sieht so aus, als hättest du temp-lokalvariablen zur Flankenspeicherung benutzt.
    Nein, wie oben schon beschrieben sind die Hilfsbits (HM_FP_Senderoehre1 bis 4) der Flanken als STAT deklariert.
    Kann es sein das der Instanz DB zu groß ist? Die Adressen für die Flanken fängt bei 394.0 an.
    Wie lange darf maximal ein Instanz DB sein?

    @Ralle
    Die Startbits werden direkt vom OP7 gesetzt solange die zugehörige Funktionstaste getrückt ist. Also rückgesetzt werden sie wenn die Taste losgelassen wird.

    mfg godi

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

    Standard

    @godi

    Ich würde zuerst versuchen die Startbits vom OP zu entkoppeln, so daß mal klar ist, daß es nichts mit dem OP zu tun hat. Also mal die Startbits ändern und mit einem Merker, oder per "Variablen beobachten" setzen und rücksetzen. Mit OP's hatte ich wirklich schon die dollsten Effekte.
    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. #6
    Registriert seit
    17.04.2004
    Beiträge
    28
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Im OB 35 gibt es keine statischen Vaiablen...

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

    Standard

    @Harald

    Er wird wohl einen FB mit zugehörigen DB aufrufen, sonst könnte er keine statischen Variablen nutzen . Hätt er dazuschreiben können, stimmt.
    So einen FB für eine Servoansteuerung hab ich schon im OB35 genutzt und es funktionierte problemlos.
    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

  8. #8
    Avatar von godi
    godi ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    03.01.2006
    Ort
    Im sonnigen Süden von Österreich!
    Beiträge
    1.377
    Danke
    227
    Erhielt 182 Danke für 167 Beiträge

    Standard

    Ja hab ich vergessen zum dazuschreiben das das Programm in einem FB steht und der im OB 35 aufgerufen wird.

    @Ralle
    Komme erst Morgen wieder zu der Anlage und da werde ich die Startbits in einem Baustein der im OB1 aufgerufen wird entkoppeln.

    Andere Bits die vom OP7 kommen und von denen ich eine Flanke bilde machen keine Probleme. Stehen allerdings auch alle im OB1.
    Irgendwie ist das ganze schon komisch.
    Und das alles bei meinem ersten Projekt.

    Schönen Dank mal an alle.

  9. #9
    Avatar von godi
    godi ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    03.01.2006
    Ort
    Im sonnigen Süden von Österreich!
    Beiträge
    1.377
    Danke
    227
    Erhielt 182 Danke für 167 Beiträge

    Standard

    Guten Morgen!

    Habe Die Startbits auf Merker die von Variable Steuern gesetzt werden ausgetauscht und die Hilfsbits auf Merker geändert. Funktioniert aber trotzdem noch nicht. Im OB1 habe ich es auch Probiert. Auch kein Erfolg.

    Hat sonst noch jemand ne Idee?

    Bräuchte nur bei jeder positiven Flanke die Werte um 20 Bytes in den jeweiligen DB nach unten schieben.

    mfg Godi

  10. #10
    Registriert seit
    31.10.2003
    Beiträge
    265
    Danke
    23
    Erhielt 37 Danke für 31 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,
    wenn du nur bei einer Flanke schieben willst, wofür dann der OB 35?
    Wie ist das eigentlich, wenn man eine Flanke zeitgetriggert abarbeitet und die Startbedingung der Flanke noch ein 1-Signal führt? Merkt sich das die CPU vom letzten Durchlauf oder wird das Flankenbit wieder neu erkannt? Ich wüßte jetzt nicht wirklich eine genaue Antwort ohne es praktisch probiert zu haben.
    Gruß Andre

Ähnliche Themen

  1. Frage zu S7 und OB35
    Von merlin im Forum Simatic
    Antworten: 10
    Letzter Beitrag: 22.03.2010, 07:56
  2. Preisfrage OB35
    Von sailor im Forum Simatic
    Antworten: 12
    Letzter Beitrag: 12.08.2008, 13:14
  3. Eine Positive Flanke im OB35 erzeugen
    Von Waelder im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 14.08.2007, 19:06
  4. Ob35
    Von Automatisierungs-Rookie im Forum Simatic
    Antworten: 13
    Letzter Beitrag: 10.01.2007, 10:19
  5. ob35 und db aufruf
    Von kpeter im Forum Simatic
    Antworten: 7
    Letzter Beitrag: 13.09.2006, 14:48

Lesezeichen

Berechtigungen

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