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

Seite 3 von 3 ErsteErste 123
Ergebnis 21 bis 25 von 25

Thema: IN_OUT mit Indirekter Adressierung

  1. #21
    SCM ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    31.03.2010
    Beiträge
    335
    Danke
    3
    Erhielt 33 Danke für 32 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von Larry Laffer Beitrag anzeigen
    Ich würde es so machen - dann bist du unabhängig davon, von wo die Daten kommen. Der eine (ggf. unnötige) Befehl frißt aber auch kein Brot ...
    Ja ich lass es jetzt auch mal so!
    Außerdem läuft es auf einer Soft SPS performance Probleme gibts da sowieso nicht!

    Danke für deine Hilfe!!!!

    Mfg

  2. #22
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.726
    Danke
    398
    Erhielt 2.401 Danke für 2.001 Beiträge

    Standard

    Zitat Zitat von SCM Beitrag anzeigen
    Danke für deine Hilfe!!!!
    Gern geschehen ...

  3. #23
    Registriert seit
    19.06.2008
    Ort
    Ostalbkreis
    Beiträge
    3.140
    Danke
    201
    Erhielt 553 Danke für 498 Beiträge

    Standard

    Mal ne Frage,

    Wo wird der beschrieben

    Code:
    m001: L     #CNT
    L     #LOOPCNT
    >I

  4. #24
    SCM ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    31.03.2010
    Beiträge
    335
    Danke
    3
    Erhielt 33 Danke für 32 Beiträge

    Standard

    Zitat Zitat von Verpolt Beitrag anzeigen
    Mal ne Frage,

    Wo wird der beschrieben

    Code:
    m001: L     #CNT
    L     #LOOPCNT
    >I

    Der wird schon etwas weiter oben beschrieben!Hab nicht den ganzen code eingestellt!

    Aber hier noch mal:
    Code:
    NW1:
          L     #ACTIVE
          T     #LOOPCNT
    NW2:
     O(    
          L     #LOOPCNT
          L     15
          >I    
          )     
          O(    
          L     #LOOPCNT
          L     0
          <I    
          )     
          =     #ERROR
          U     #ERROR
          SPBN  ok
          L     0
          T     #TEMP.ACT[0]
          T     #TEMP.ACT[1]
          T     #TEMP.ACT[2]
          T     #TEMP.ACT[3]
          T     #TEMP.ACT[4]
          T     #TEMP.ACT[5]
          T     #TEMP.ACT[6]
          T     #TEMP.ACT[7]
          T     #TEMP.ACT[8]
          T     #TEMP.ACT[9]
          T     #TEMP.ACT[10]
          T     #TEMP.ACT[11]
          T     #TEMP.ACT[12]
          T     #TEMP.ACT[13]
          T     #TEMP.ACT[14]
          T     #TEMP.ACT[15]
          T     #CHANNEL
          T     #CNT
          BEA   
    ok:   NOP   0
    NW3:
      L     #CNT                        //Aktueller Schrittzähler
          T     #CHANNEL                    //Ausgang für Adressierung Multiplexer
          U     #TAKT                       //Abtasttakt
          FP    #_flanke[1]
          SPBN  m001
    
          TAR1  #RETTAR1                    //Adressregister retten
          TAR2  #RETTAR2                    //Adressregister retten
    
          LAR1  P##TEMP                     //Pointer auf erste relevante Daten setzen
          L     #RETTAR2                    //Adressregister 2 addieren für Multiinstanzfähigkeit
          +AR1  
          L     W [AR1,P#0.0]               //DB nummer auslesen
          T     #DB_NMB                     //Eintragen
          L     D [AR1,P#2.0]               //Pointer auslesen
          T     #QPOINTER                   //Eintragen
    
          AUF   DB [#DB_NMB]                //DB aufschlagen
          L     #QPOINTER                   //Pointer laden ins AR1
          LAR1  
          L     #CNT                        //Aktueller Schritt bzw. Temperaturwert
          L     2                           //Schrittweite 2 weil die Werte INT sind
          *I    
          SLW   3                           //Ins Pointerformat wandeln
          +AR1                              //Offset aktueller schritt mit einrechnen
          L     #INPUT                      //Eingangswert einlesen
          T     W [AR1,P#0.0]               //Auf Position schreiben die im AR1 steht
          L     W [AR1,P#32.0]              //Min auswerten
          <I    
          SPBN  min
          TAK   
          T     W [AR1,P#32.0]
    min:  L     W [AR1,P#0.0]               //Max auswerten
          L     W [AR1,P#64.0]
          >I    
          SPBN  max
          TAK   
          T     W [AR1,P#64.0]
    max:  L     #CNT                        //Schrittzähler laden
          INC   1                           //um eins erhöhen
          T     #CNT                        //wieder in schrittzähler variable schreiben
    
          LAR1  #RETTAR1                    //Adressregister restaurieren
          LAR2  #RETTAR2                    //Adressregister restaurieren
    
    m001: L     #CNT                        //Schrittzähler auf überlauf prüfen
          L     #LOOPCNT
          >I    
          SPBN  ende
          L     #CNT
          L     0
          T     #CNT
    ende: SET                               //Baustein immer mit vke 1 verlassen damit ENO immer 1 ist
          SAVE

  5. #25
    Registriert seit
    19.06.2008
    Ort
    Ostalbkreis
    Beiträge
    3.140
    Danke
    201
    Erhielt 553 Danke für 498 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Ahso............

Ähnliche Themen

  1. Problem mit indirekter Adressierung
    Von Astralavista im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 29.09.2010, 11:25
  2. Antworten: 12
    Letzter Beitrag: 02.06.2009, 10:19
  3. Antworten: 12
    Letzter Beitrag: 10.05.2007, 21:14
  4. Kleines Problem mit indirekter Adressierung
    Von TobiS81 im Forum Simatic
    Antworten: 9
    Letzter Beitrag: 02.05.2007, 12:31
  5. Antworten: 1
    Letzter Beitrag: 19.06.2003, 19:34

Lesezeichen

Berechtigungen

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