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

Seite 3 von 4 ErsteErste 1234 LetzteLetzte
Ergebnis 21 bis 30 von 33

Thema: 60 verschiedene Programme mit 10 Positionen

  1. #21
    MK_Auto ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    31.10.2006
    Beiträge
    105
    Danke
    27
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Super Jungs ich glaube es hat klick gemacht und ich habe es geschnallt zumindestens was das auslesen angeht.
    nur wie kriege ich bei geänderten daten den einelnen dint wieder an die richtige stelle ??
    Jedesmal über blockmove umkopieren also jenden Zyklus ??
    Oder geht das schonender habe nur ne 313CDP
    Gruss micha

  2. #22
    Registriert seit
    22.09.2006
    Ort
    Bodenseeraum
    Beiträge
    1.022
    Danke
    61
    Erhielt 136 Danke für 122 Beiträge

    Beitrag

    Hi,
    Zitat Zitat von MK_Auto Beitrag anzeigen
    Super Jungs ich glaube es hat klick gemacht und ich habe es geschnallt zumindestens was das auslesen angeht.

    nur wie kriege ich bei geänderten daten den einelnen dint wieder an die richtige stelle ??
    meinst du, wenn der User am OP/Visu die Programmdaten ändert?
    Kannst genauso machen, wie beim lesen:
    so als Idee:
    am OP gibt es ein Bild "Programmdaten", da ist die Programmnummer (1..60) und so und soviel Eingabevariablen(sagen wir 10 DBDs). Und von mir aus eine Taste "Daten speichern".
    So, wenn der User da was ändert, und "speichern" betätigt, schreibst du die Variablen vom OP an die richtige Rezept-Stelle in deienm DB, über die Pointergeschichte, wie beim lesen weiter oben. Zyklisch - muss nicht sein.
    D.h., es gibt drei DB Bereiche: OP Variablen für Programmdaten(1 Satz), aktiv Programmtyp(1 Satz, die Anlage läuft damit), und DB mit 60x Satz, für alle Programme.
    Beantwortet das deine Frage?

    Vladi
    ______________________________________
    relax, take it easy
    Zitieren Zitieren Änderungen  

  3. #23
    MK_Auto ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    31.10.2006
    Beiträge
    105
    Danke
    27
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Guten Morgen Vladi,

    ja so ungefähr wenn ich mich doch mehr mit AWL beschäftigt hätte bin Graph freak und KOP.
    Daher mache ich es im Kop wenn am OP einer die daten ändert über Move
    Also ändere ich die Daten im DB wo ich meine Positionen reinkopiert habe und
    sage dann
    zB
    U M10.0
    L Datendoppelwort im Speicher doppel wort
    T über Pointer ?
    Gruss Michael

  4. #24
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.260
    Danke
    537
    Erhielt 2.707 Danke für 1.956 Beiträge

    Standard

    Ich versuchs nochmal:

    Nimm den FC, dann brauchst du keine Pointer.
    Mach dir eine Flanke für Laden, eine für Speichern. Damit rufst du den FC112 (Blk_Move) jeweil mit der Flanke auf. Also, bei Flanke "Laden" Sprung zu LOAD, bei Flanke "Speichern" Sprung zu SAVE.

    Code:
    Quelldaten: INT
    Zieldaten: INT
    Ret_Value: INT
    Code:
       
          U     "DATA_TP270_IFACE".TASTE_TP.ACHSE_Laden           //Flanke
          SPB   LOAD
          U     "DATA_TP270_IFACE".TASTE_TP.ACHSE_Speichern      //Flanke
          SPB   SAVE
    
          BEA
    Speichern:

    Code:
     SAVE: NOP   0
    //         ***Zieladresse***
    //    Datenbank Typ beginnt bei DW40 und ist 40 Byte lang Offset 40 Byte zum nächsten
          L     "DATA_TP270_IFACE".TYP  //INT 1..60, der angewählte Typ   
          L     1
          -I    
          L     40                         //Länge pro Typ 10 DD --> 40Byte
          *I    
          L     40                         //1. Speicherbereich
          +I                                //Offset
          T     #Zieldaten
    
    //         ***Quelle***
          L     0
          T     #Quelldaten
    
          CALL  "BLK_MOVE"  //FC112 !!!
           AnzahlDBB:=40
           QuellDB  :=12
           QuellDW  :=#Quelldaten
           ZielDB   :=12
           ZielDW   :=#Zieldaten
           RET_VAL  :=#Ret_Value
    
    
          SPA   ENDE
    Laden:

    Code:
    LOAD: NOP   0
    
    //         ***Quelladresse***
    //    Datenbank Typ beginnt bei DW40 und ist 40 Byte lang Offset 40 Byte zum nächsten
          L     "DATA_TP270_IFACE".TYP
          L     1
          -I    
          L     40                         //Länge pro Typ 
          *I    
          L     40                         //Offset
          +I    
          T     #Quelldaten
    
    //         ***Ziel***
          L     0
          T     #Zieldaten
    
    
          CALL  "BLK_MOVE"   //FC112 !!!
           AnzahlDBB:=40
           QuellDB  :=12
           QuellDW  :=#Quelldaten
           ZielDB   :=12
           ZielDW   :=#Zieldaten
           RET_VAL  :=#Ret_Value
    
    
          SPA   ENDE
    
    ...
    
    ENDE: NOP 0
    Geändert von Ralle (03.03.2008 um 09:49 Uhr)
    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. #25
    MK_Auto ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    31.10.2006
    Beiträge
    105
    Danke
    27
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Danke Ralle
    solangsam komme ich mit aber der DB ist der selbe ?? Quelle Und ziel ??
    Steht beides mal 12 drin
    Gruss MIchael

  6. #26
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.260
    Danke
    537
    Erhielt 2.707 Danke für 1.956 Beiträge

    Standard

    Zitat Zitat von MK_Auto Beitrag anzeigen
    Danke Ralle
    solangsam komme ich mit aber der DB ist der selbe ?? Quelle Und ziel ??
    Steht beides mal 12 drin
    Gruss MIchael
    Nun, das kann du machen, wie du möchtest. Ich habe bei mir im DB12 DBD 0-9, also in den ersten 40 Byte die aktuell zu bearbeitenden Daten stehen. Auf diese greift dein Programm, wie auch das TP zu. Ab DBD10 (Byte40) stehen dann Typ 1-60, daher der Offset 40! für den 1. Speicherbereich. Du kannst aber auch unterschiedliche DB nutzen, dann nur die Varibalen für Ziel- und Quellbereich entsprechend angepaßt berechnen.
    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

  7. #27
    MK_Auto ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    31.10.2006
    Beiträge
    105
    Danke
    27
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo Ralle
    und wo nimmst du die Daten 1-60 her ??
    Gruss micha

  8. #28
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.260
    Danke
    537
    Erhielt 2.707 Danke für 1.956 Beiträge

    Standard

    Zitat Zitat von MK_Auto Beitrag anzeigen
    Hallo Ralle
    und wo nimmst du die Daten 1-60 her ??
    Gruss micha
    Versteh nicht ganz deine Frage, aber ich versuchs mal !

    Der DB 12 hat 61x10DBD als Eintrag.

    Bereich 1 ist der aktuelle Aarbeitsbereich, 2-61 sind die Typdaten.
    Wenn du über das TP einen Typ anwählst, ist das ein INT 1-60. Mit diesem angewählten Typ (-nummer) kannst du dann rechnen, um den Darenblock umzukopieren.
    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

  9. #29
    MK_Auto ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    31.10.2006
    Beiträge
    105
    Danke
    27
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Danke Ralle
    jetzt geht mir ein Licht auf
    Und dein FC kann ich da so für nehmen ?
    Danke Micha

  10. #30
    Registriert seit
    22.09.2006
    Ort
    Bodenseeraum
    Beiträge
    1.022
    Danke
    61
    Erhielt 136 Danke für 122 Beiträge

    Beitrag


    Zuviel Werbung?
    -> Hier kostenlos registrieren


    Vladi
    ______________________________________
    relax, take it easy
    Zitieren Zitieren Nicht aufgeben, Ralle..  

Ä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. Positionen speichern
    Von Nordischerjung im Forum Simatic
    Antworten: 45
    Letzter Beitrag: 23.10.2008, 16:00
  3. Antworten: 1
    Letzter Beitrag: 07.10.2008, 11:43
  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
  •