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

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

Thema: Indirekte Adressierung

  1. #1
    Registriert seit
    22.03.2010
    Beiträge
    17
    Danke
    3
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hi zusammen.
    Irgendwie verstehe ich aus den Handbüchern von Siemens die Indirekte Adressierung nicht so richtig.

    Also bei S5 war des so:

    L KF+100
    T MW 250

    B MW250
    L MW0

    Ein Kollege sagte mir bei S7 muss ich es so machen:

    L MW250
    T #Temp1 (Temporäres Doppelwort)
    L MW [#Temp1]

    aber irgendwie will der nicht so wie ich will.

    Gruß
    Torsten
    Zitieren Zitieren Indirekte Adressierung  

  2. #2
    Registriert seit
    11.09.2007
    Ort
    Suedwestpfalz
    Beiträge
    917
    Danke
    81
    Erhielt 209 Danke für 192 Beiträge

    Standard

    Hallo Firefox,

    L MW250
    T #Temp1 (Temporäres Doppelwort)
    L MW [#Temp1]

    Code:
    L MD250
    
    L MW [MD250]
    Würde ich so probieren...
    Das Grauen lauert in der Zwischenablage !!

  3. #3
    Registriert seit
    17.05.2004
    Beiträge
    23
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo Firefox

    Dein S5 Programm kannst du in S7 so proammieren

    L 100 // Adresse laden "100"
    LAR1 //ins adressregister schieben
    L MW [AR1,P#0.0] // MW "100" laden


    Sieh auch mal in die Hilfe "F1" da steht ne menge info drin.

    Gruß PLC JOE

  4. #4
    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

    Zitat Zitat von PLC JOE Beitrag anzeigen
    Hallo Firefox

    Dein S5 Programm kannst du in S7 so proammieren

    L 100 // Adresse laden "100"
    LAR1 //ins adressregister schieben
    L MW [AR1,P#0.0] // MW "100" laden


    Sieh auch mal in die Hilfe "F1" da steht ne menge info drin.

    Gruß PLC JOE
    Damit greifst du nicht auf die richtigen Daten zu!

    Hier mal aus der Step7-Hilfe
    · Pointer im Wortformat - Ein Wort, das die Nummer einer Zeit (T), eines Zählers (Z), eines Datenbausteins (DB, DI) oder eines Codebausteins (FC, FB) angibt. Bei einem Pointer im Wortformat handelt es sich um eine Dezimalzahl.


    · Pointer im Doppelwortformat - Ein Doppelwort, das in diesem Fall die genaue Adresse eines Bits, Bytes, Worts oder Doppelworts angibt. Ein Doppelwort hat folgendes Pointerformat: P#Byte.Bit.
    Um auf MW 100 zuzugeifen mußt du

    L 100
    SLD 3 / mit 8 multiplizieren, um Pointerfprmat im Doppelword zu erhalten, das in den letzten 3 Bit die Bitadresse enthält, hier somit 3xFalse) hier steht dann also P#100.0
    LAR1 //ins adressregister schieben
    L MW [AR1,P#0.0] // MW "100" laden
    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

  5. #5
    Registriert seit
    11.09.2007
    Ort
    Suedwestpfalz
    Beiträge
    917
    Danke
    81
    Erhielt 209 Danke für 192 Beiträge

    Standard

    ... ausser PLC JOE wollte auf Byre 25 Bit 4 zugreifen...
    Das Grauen lauert in der Zwischenablage !!

  6. #6
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.166
    Danke
    921
    Erhielt 3.286 Danke für 2.655 Beiträge

    Standard

    Ohne AR:
    Code:
    L MW250       //z.B. 100
    SLD 3
    T #Temp1      //Temporäres Doppelwort
    L MW [#Temp1] //lädt Inhalt von MW100
    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet
    Zitieren Zitieren "Speicherindirekte Adressierung" mit Pointer im Doppelwordformat  

  7. #7
    Registriert seit
    01.05.2013
    Beiträge
    345
    Danke
    174
    Erhielt 3 Danke für 3 Beiträge

    Pfeil

    Hallo !
    Habe vor einige Wochen ein SPS Techniker Kurs beendet ( zufridenstellend , also kein grosser Denker !).
    So viel ich kappiert habe ist die indirekte Adressierung nur für Programmverkleinerung gut und läuft (auch) uberm Adressregister ... also müsste man wissen wie der zu gebrauchen ist und den Lader auch ( weil es ohne nichts geht).
    Zeitersparnis im Programablauf gibts keine weil REKURSIVITÄT erspart nur schreiben .

    Ein BEISPIEL :
    Code:
     FUNCTION "TEST_FIFO" : VOIDTITLE =
    //DATENTYPEN im FORMALPARAMETER , DATENBANK und PROGRAMM beachten !
    VERSION : 0.1
    
    
    
    
    VAR_INPUT
      FIFO : BOOL ;    
      Eintrag : WORD ;    
      DBnummer : BLOCK_DB ;    
      BYTEpTYP : INT ;    
      Startindx : INT ;    
      Endindex : INT ;    
    END_VAR
    VAR_TEMP
      TempAR1 : DWORD ;    
      VARindex : INT ;    
      Flanke : BOOL ;    
    END_VAR
    BEGIN
    NETWORK
    TITLE =
    //FIFO - SPEICHER ... als  Startindx,Endindex nicht die Ordnungszahl in 
    //der Datenbank eingeben sondern die zugehörige Datentyp Ordnungszahl
    //(BYTEpTYP=bedeutet=Bytemenge im Datentyp zB: 2 bei WORD , 4 bei REAL))
          U     #FIFO; 
          FP    #Flanke; 
          SPBNB ENDE; 
    
    
          TAR1  #TempAR1; //                 PUSH
    
    
    
    
    
    
          AUF   #DBnummer; 
          L     #BYTEpTYP; 
          L     #Endindex; 
          <=I   ; 
          SPB   oo1; 
          L     #Eintrag; 
          T     DBW    0; // ?Typ (=WORD,REAL,DINT,etc)
          SPA   oo2; 
    
    
    oo1:  L     #Startindx; 
          TAK   ; 
          <I    ; 
          SPB   oo3; 
          SLD   3; 
          LAR1  ; 
          L     #Eintrag; 
          T     DBW [AR1,P#0.0]; // ?Typ
          SPA   oo2; 
    
    
    oo3:  L     #BYTEpTYP; 
          -I    ; 
          T     #VARindex; 
          SLD   3; 
          LAR1  ; 
          L     DBW [AR1,P#0.0]; // ?Typ
          T     DBW [AR1,P#2.0]; // ?Typ +  [AR1,P#(B/T).0] 
          L     #Startindx; 
          L     #VARindex; 
          <I    ; 
          SPB   oo3; 
          L     #Eintrag; // ?FORMALPARAMETER-TYP
          T     DBW [AR1,P#0.0]; // ?Typ
    
    
    
    
    oo2:  LAR1  #TempAR1; //                  POP
    
    
    ENDE: BE    ; 
    
    
    
    
    
    
    END_FUNCTION
    Ist nur ein Functionbaustein , nichts besonderes !
    Wie ist die Lage am Arbeitsmarkt in DE ( ich lebe in A) , bin kein Elektriker sondern CNC Techniker vom Beruf ; Dieser SPS Kurs war ein "geschenk" vom Arbeitsamt .... glaube nicht das mir viel nutzen wird ( kann nur mit Spanungen bis 40 V arbeiten ohne diese Anschlussbefügniss ... etc.
    ( Ich finde es fein das so ein Forum gibt , bitte euch mich zu entschuldigen deutsch ist nicht meine Muttersprache )
    Geändert von 00alex (01.05.2013 um 06:11 Uhr)

  8. #8
    Registriert seit
    01.05.2013
    Beiträge
    345
    Danke
    174
    Erhielt 3 Danke für 3 Beiträge

    Pfeil

    Hier ist das Spielzeugprogramm ... ist nur ein FIFO und Spielerei mit eine Datenbank ...etc.

    INDIREKT.zip

  9. #9
    Registriert seit
    14.10.2010
    Ort
    Telgte
    Beiträge
    653
    Danke
    97
    Erhielt 129 Danke für 99 Beiträge

    Standard

    Hi 00alex,

    ob es dir was nutzen wird liegt ganz alleine an dir selbst. Mach was draus und es wird auch was.
    Aber was soll uns dein kleines Programm sagen?
    Hast du es ausprobiert? Funktioniert es?

    Programmieren kann man übrigens auch mit Spannungen bis 40V
    Das Netzteil vom Laptop darf ja auch eine Hausfrau anfassen

    Gruß, Toki
    Programmierumgebung: Step7 V5.5, WinCCflex2008-SP3, TIA-PortalV13, MicroWinV4.0

  10. #10
    Registriert seit
    01.05.2013
    Beiträge
    345
    Danke
    174
    Erhielt 3 Danke für 3 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Habe ein Programmchen angehängt Ist selbst erklärend , sonst ...helfe ich nach ! ( Es funktioniert )

    Vielen Dank auch ... fasse ich auch an !

    Eine Frage : Wenn man eine Schrittkette als Schaltwerk ( also auch mit Ausgänge als Inputs ) programmiert muss man sie noch mit Merker absichern ... ( Hab sowieso 3 Archetypen zum Thema Schrittketten) Falls keine Mehrdeutigkeit !!!



    Würde ich ( zum Beispiel ) Arbeit in dem SPS Bereich finden ...habe SENSORIK , Pneumatik , Hydraulik , SPS Programmieren gemacht in diesem (komischen) KURS ... etc .

    Geändert von 00alex (01.05.2013 um 08:03 Uhr)

Ähnliche Themen

  1. Indirekte Adressierung
    Von dennisy im Forum Sonstige Steuerungen
    Antworten: 0
    Letzter Beitrag: 24.10.2012, 10:35
  2. indirekte Adressierung
    Von schneijo im Forum Simatic
    Antworten: 7
    Letzter Beitrag: 22.10.2012, 14:42
  3. indirekte Adressierung
    Von Christian84 im Forum CODESYS und IEC61131
    Antworten: 9
    Letzter Beitrag: 21.02.2009, 09:09
  4. Indirekte-Adressierung
    Von johnij im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 14.02.2008, 14:32
  5. Indirekte Adressierung !
    Von max1de im Forum Simatic
    Antworten: 7
    Letzter Beitrag: 27.02.2007, 18:18

Stichworte

Lesezeichen

Berechtigungen

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