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

Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 15 von 15

Thema: Schleife in S5 programmieren

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

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von Question_mark Beitrag anzeigen
    Auch die gute, alte S5 hat Weckalarme im 100ms Raster
    ist der ob13. bei grösseren cpu's noch zusätzlich ob10-12
    die aufrufzeit lässt sich parametrieren.
    .
    mfg Volker .......... .. alles wird gut ..

    =>Meine Homepage .. direkt zum Download

    Meine Definition von TIA: Total Inakzeptable Applikation

  2. #12
    Registriert seit
    31.07.2007
    Ort
    Saarland
    Beiträge
    123
    Danke
    1
    Erhielt 16 Danke für 13 Beiträge

    Standard

    Wenn die Zeit einigermassen genau sein soll, geht das NUR mit OB 13 & Co.
    Ein Timer im Programm hätte immer eine "Unschärfe" in der Höhe der Zykluszeit!
    Zu beachten ist beim Aufruf der Alarme (=Interrupt), wo dieser aufgerufen wird! Normalerweise wird (wenn ich mich richtig erinnere) nur an Bausteingrenzen in den OB gesprungen.
    Wie generell bei Interrupts muss man aufpassen, was man in diesem OB macht, damit das restliche Programm hinterher richtig weitergeht.
    Z.B. beim Laden von Werten in den Akku oder "Schmiermerkern"

    Adressierung:
    Es gab und gibt in S5 die indirekte Bearbeitung (die m.E. teilweise besser ist als die in S7):

    Du schreibst in den OB:

    L MB1 Das wäre der Wert, den Du in den DB schreiben willst
    B MB 2 Im MB2 muss die Nummer des Datenwortes stehen (ist also der Zähler)
    T DW 0 Hiermit wird der Wert aus MB 1 in das Datenwort geschrieben, dessen Nummer in MB 2 steht


    Dann den Zähler, also MB 2 erhoehen

    L MB 2
    L KF +1
    +F
    T MB 2

    Oder so ähnlich! Gaaaanz genau weiss ich's nicht mehr! Sorry!
    Geändert von dodo (24.10.2008 um 07:56 Uhr) Grund: Ergänzt

  3. #13
    Registriert seit
    30.03.2005
    Beiträge
    2.096
    Danke
    0
    Erhielt 673 Danke für 541 Beiträge

    Standard

    Hier ist einmal ein Programmbeispiel für einen Ringspeicher in STEP 5:

    Code:
    OB 1                                 F:RINGSPST.S5D                  LAE=34   
                                                                         Blatt   1
    Netzwerk 1
    0000      :                                  ********************************
    0001      :                                  Ringspeicher
    0002      :                                  ********************************
    0003      :
    0004      :                                  ================================
    0005      :                                  Taktgeber 5 Sekunden
    0006      :                                  ================================
    0007      :
    0008      :UN  M   10.0                      Taktgeber 5 Sekunden
    0009      :L   KT 005.2                      5 * 1 Sekunde
    000B      :SE  T   10
    000C      :
    000D      :U   T   10
    000E      :=   M   10.0                      Taktgeber 5 Sekunden
    000F      :
    0010      :***
     
    Netzwerk 2
    0011      :                                  ================================
    0012      :                                  Ringspeicher
    0013      :                                  ================================
    0014      :
    0015      :U   M   10.0                      Taktgeber 5 Sekunden
    0016      :SPB FB  10                        Ringspeicher
    0017 Name :SPEICHER
    0018 DB   :    DB  10
    0019 LAEN :    KF +10
    001A WERT :    MW 100
    001B      :
    001C      :BE
    Code:
    FB 10                                F:RINGSPST.S5D                  LAE=60   
                                                                         Blatt   1
    Netzwerk 1
    Name :SPEICHER
    Bez  :DB        E/A/D/B/T/Z: B
    Bez  :LAEN      E/A/D/B/T/Z: D  KM/KH/KY/KC/KF/KT/KZ/KG: KF
    Bez  :WERT      E/A/D/B/T/Z: E  BI/BY/W/D: W
     
    000E      :                                  ================================
    000F      :                                  Ringspeicher
    0010      :                                  ================================
    0011      :
    0012      :B   =DB                           Ringspeicher
    0013      :
    0014      :L   DW   0                        Ringspeicher Index
    0015      :L   KF +1                         Ringspeicher Index Wert 1
    0017      :<F
    0018      :SPB =M01
    0019      :L   DW   0                        Ringspeicher Index
    001A      :LW  =LAEN                         Ringspeicher Index Wert Laenge
    001B      :>F
    001C      :SPB =M01
    001D      :SPA =M02
    001E M01  :L   KF +1                         Ringspeicher Index Wert 1
    0020      :T   DW   0                        Ringspeicher Index
    0021 M02  :
    0022      :
    0023      :L   =WERT                         Wert
    0024      :B   DW   0                        Ringspeicher Index
    0025      :T   DW   0                        Ringspeicher
    0026      :
    0027      :
    0028      :L   DW   0                        Ringspeicher Index
    0029      :LW  =LAEN                         Ringspeicher Index Wert Laenge
    002A      :<F
    002B      :SPB =M03
    002C      :SPA =M04
    002D M03  :L   DW   0                        Ringspeicher Index
    002E      :I        1                        + 1
    002F      :T   DW   0                        Ringspeicher Index
    0030      :SPA =M05
    0031 M04  :L   KF +1                         Ringspeicher Index Wert 1
    0033      :T   DW   0                        Ringspeicher Index
    0034 M05  :
    0035      :
    0036      :BE
    Code:
    DB10    F:RINGSPST.S5D                             LAE=16  /4                
                                                                         Blatt   1
         0:     KF = +00000;                    Ringspeicher Index
         1:     KF = +00000;                    Ringspeicher Wert 1
         2:     KF = +00000;                    Ringspeicher Wert 2
         3:     KF = +00000;                    Ringspeicher Wert 3
         4:     KF = +00000;                    Ringspeicher Wert 4
         5:     KF = +00000;                    Ringspeicher Wert 5
         6:     KF = +00000;                    Ringspeicher Wert 6
         7:     KF = +00000;                    Ringspeicher Wert 7
         8:     KF = +00000;                    Ringspeicher Wert 8
         9:     KF = +00000;                    Ringspeicher Wert 9
        10:     KF = +00000;                    Ringspeicher Wert 10
        11:
    Code:
    BB 10                                F:RINGSPST.S5D                  Blatt   1
     
              Operanden:        Formate:                                            
     
              T    10           KT                                                  
     
              MW  100           KF                                                  
     
              DB   10                                                               
     
              DW    0           KF                                                  
              DW    1           KF                                                  
              DW    2           KF                                                  
              DW    3           KF                                                  
              DW    4           KF                                                  
              DW    5           KF                                                  
              DW    6           KF                                                  
              DW    7           KF                                                  
              DW    8           KF                                                  
              DW    9           KF                                                  
              DW   10           KF
    Gruß Kai
    Angehängte Dateien Angehängte Dateien

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

    Standard

    gugst du auch mal hier
    http://lischis-home.dyndns.org/files...e/dirindex.php
    lifo@@st.zip
    .
    mfg Volker .......... .. alles wird gut ..

    =>Meine Homepage .. direkt zum Download

    Meine Definition von TIA: Total Inakzeptable Applikation

  5. #15
    Registriert seit
    30.03.2005
    Beiträge
    2.096
    Danke
    0
    Erhielt 673 Danke für 541 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hier ist noch einmal ein neues Programmbeispiel für einen Ringspeicher in STEP 5:

    Code:
    OB 1                               F:RINGSPST.S5D                    LAE=35   
                                                                         Blatt   1
    Netzwerk 1
    0000      :                                  ********************************
    0001      :                                  Ringspeicher
    0002      :                                  ********************************
    0003      :
    0004      :                                  ================================
    0005      :                                  Taktgeber 5 Sekunden
    0006      :                                  ================================
    0007      :
    0008      :UN  M   10.0                      Taktgeber 5 Sekunden
    0009      :L   KT 005.2                      5 * 1 Sekunde
    000B      :SE  T   10
    000C      :
    000D      :U   T   10
    000E      :=   M   10.0                      Taktgeber 5 Sekunden
    000F      :
    0010      :***
     
    Netzwerk 2
    0011      :                                  ================================
    0012      :                                  Ringspeicher
    0013      :                                  ================================
    0014      :
    0015      :U   M   10.0                      Taktgeber 5 Sekunden
    0016      :SPB FB  10                        Ringspeicher
    0017 Name :SPEICHER
    0018 RSDB :    DB  10                        Ringspeicher Datenbaustein
    0019 RSDL :    KF +10                        Ringspeicher Datenlaenge
    001A DSDB :    DB 100                        Datenspeicher Datenbaustein
    001B DSDW :    DW   0                        Datenspeicher Datenwert 1
    001C      :
    001D      :BE
    Code:
    FB 10                              F:RINGSPST.S5D                    LAE=71   
                                                                         Blatt   1
    Netzwerk 1
    Name :SPEICHER
    Bez  :RSDB      E/A/D/B/T/Z: B
    Bez  :RSDL      E/A/D/B/T/Z: D  KM/KH/KY/KC/KF/KT/KZ/KG: KF
    Bez  :DSDB      E/A/D/B/T/Z: B
    Bez  :DSDW      E/A/D/B/T/Z: E  BI/BY/W/D: W
     
    0011      :                                  ================================
    0012      :                                  Ringspeicher
    0013      :                                  ================================
    0014      :
    0015      :                                  RSDB Ringspeicher Datenbaustein
    0016      :                                  RSDL Ringspeicher Datenlaenge
    0017      :                                  DSDB Datenspeicher Datenbaustein
    0018      :                                  DSDW Datenspeicher Datenwert
    0019      :
    001A      :
    001B      :B   =RSDB                         Ringspeicher Datenbaustein
    001C      :
    001D      :L   DW   0                        Ringspeicher Index
    001E      :L   KF +1                         Ringspeicher Index Datenwert 1
    0020      :<F
    0021      :SPB =M01
    0022      :L   DW   0                        Ringspeicher Index
    0023      :LW  =RSDL                         Ringspeicher Datenlaenge
    0024      :>F
    0025      :SPB =M01
    0026      :SPA =M02
    0027 M01  :L   KF +1                         Ringspeicher Index Datenwert 1
    0029      :T   DW   0                        Ringspeicher Index
    002A M02  :
    002B      :
    002C      :B   =DSDB                         Datenspeicher Datenbaustein
    002D      :L   =DSDW                         Datenspeicher Datenwert
    002E      :B   =RSDB                         Ringspeicher Datenbaustein
    002F      :B   DW   0                        Ringspeicher Index
    0030      :T   DW   0                        Ringspeicher Datenwert
    0031      :
    0032      :
    0033      :L   DW   0                        Ringspeicher Index
    0034      :LW  =RSDL                         Ringspeicher Datenlaenge
    0035      :<F
    0036      :SPB =M03
    0037      :SPA =M04
    0038 M03  :L   DW   0                        Ringspeicher Index
    0039      :I        1                        + 1
    003A      :T   DW   0                        Ringspeicher Index
    003B      :SPA =M05
    003C M04  :L   KF +1                         Ringspeicher Index Datenwert 1
    003E      :T   DW   0                        Ringspeicher Index
    003F M05  :
    0040      :
    0041      :BE
    Code:
    DB10    F:RINGSPST.S5D                               LAE=16  /4                
                                                                         Blatt   1
         0:     KF = +00000;                    Ringspeicher Index
         1:     KF = +00000;                    Ringspeicher Datenwert 1
         2:     KF = +00000;                    Ringspeicher Datenwert 2
         3:     KF = +00000;                    Ringspeicher Datenwert 3
         4:     KF = +00000;                    Ringspeicher Datenwert 4
         5:     KF = +00000;                    Ringspeicher Datenwert 5
         6:     KF = +00000;                    Ringspeicher Datenwert 6
         7:     KF = +00000;                    Ringspeicher Datenwert 7
         8:     KF = +00000;                    Ringspeicher Datenwert 8
         9:     KF = +00000;                    Ringspeicher Datenwert 9
        10:     KF = +00000;                    Ringspeicher Datenwert 10
        11:
    Code:
    DB100   F:RINGSPST.S5D                               LAE=7   /4                
                                                                         Blatt   1
         0:     KF = +00000;                    Datenspeicher Datenwert 1
         1:     KF = +00000;                    Datenspeicher Datenwert 2
         2:
    Code:
    BB 10                              F:RINGSPST.S5D                    Blatt   1
     
              Operanden:        Formate:                                            
     
              T    10           KT                                                  
     
              DB  100                                                               
              DW    0           KF                                                  
     
              DB   10                                                               
              DW    0           KF                                                  
              DW    1           KF                                                  
              DW    2           KF                                                  
              DW    3           KF                                                  
              DW    4           KF                                                  
              DW    5           KF                                                  
              DW    6           KF                                                  
              DW    7           KF                                                  
              DW    8           KF                                                  
              DW    9           KF                                                  
              DW   10           KF
    Gruß Kai
    Angehängte Dateien Angehängte Dateien

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

    Imudo (23.03.2012)

Ähnliche Themen

  1. While Schleife in ST
    Von Snooky im Forum CODESYS und IEC61131
    Antworten: 6
    Letzter Beitrag: 30.11.2010, 21:50
  2. Schleife programmieren
    Von googy im Forum Simatic
    Antworten: 20
    Letzter Beitrag: 20.11.2008, 16:01
  3. Schleife Programmieren mit Simatic????
    Von oli--pro im Forum Simatic
    Antworten: 26
    Letzter Beitrag: 29.09.2008, 14:45
  4. For Schleife in VB 6
    Von godi im Forum Hochsprachen - OPC
    Antworten: 8
    Letzter Beitrag: 14.06.2007, 10:03
  5. Schleife Programmieren
    Von Klaudio im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 11.08.2005, 20:20

Stichworte

Lesezeichen

Berechtigungen

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