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

Seite 3 von 5 ErsteErste 12345 LetzteLetzte
Ergebnis 21 bis 30 von 42

Thema: Indirekt in Datenbaustein schreiben

  1. #21
    Registriert seit
    15.10.2007
    Ort
    St.Pölten
    Beiträge
    875
    Danke
    98
    Erhielt 200 Danke für 188 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Ralle war schneller
    Beginne jeden Tag mit einem lächeln,es kann dir nämlich während des Tages sehr schnell vergehen.

  2. #22
    Gina_Jin ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    06.02.2011
    Beiträge
    16
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Frage

    Zitat Zitat von Ralle Beitrag anzeigen
    Ähm, was meinst du Paule?

    SLD 3 macht einen Pointer aus dem Satzzähler.
    Bleibt noch ein weiters SLD 3, was rechnerisch bedeutet 3 mal mit 2 Multiplizieren

    2*2*2, also 8

    Macht für der Satzzähler nun

    1 *2*2*2 = 8
    2 *2*2*2 = 16
    3 *2*2*2 = 24
    4 *2*2*2 = 32
    5 *2*2*2 = 40
    ...

    Lieg ich falsch?

    @Gina_Jin

    Du hattest dich verschrieben
    8,16,22,30 muß heißen 8,16,24,32
    Hallo Ralle,
    Was meinst du verschrieben?
    Dies hatte ich geschrieben
    "SLD 6 Springt der Zeiger nicht 8, 16, 24,32......"

    Ich habe es heute in den Testschrank einprogrammiert, leider
    springt zähler auf 8,16,24,32,......Usw.






    Fener habe ich festgestellt das ich SLD 7 also 16 Sprünge brauche.

  3. #23
    Gina_Jin ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    06.02.2011
    Beiträge
    16
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Zitat Zitat von Befree Beitrag anzeigen
    Du erstellst dir in deinem Projekt einen UDT, meinetwegen den UDT1 "Datensatz". Dann erstellst du dir deinen DB. vergibst den Namen den die Datensätze von 1 bis 600 haben sollen. z.B "Messwert", als Typ schreibst du nun

    Code:
    Array[1..600]
    damit definierst du das es den "Messwert" als Array von 1 bis 600 gibt. Wenn du jetzt mal Enter drückst springt der Cursor automatisch in die Zeile unter dem Array, hier musst du den Typen für das Aaray angeben und in deinem fall schreibst du nun deinen UDT1 hin.

    In der Deklarationssicht steht damit nur eine Variable in deinem DB. Der array des UDT1 von 1 bis 600. Gehst du nun in die Datenansicht. siehst du jeder einzelnen Wert.
    Hallo,
    Dein Baustein habe ich so aufgebaut, aber leider funktioniert der sprung nicht 8,16,32, usw.

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

    Standard

    Zitat Zitat von Gina_Jin Beitrag anzeigen
    Mit dem SLD 6 ist es richtig gewählt, Ich möchte die Werte

    1 Datensatz
    T1 in DW8 // 1 satz SLD 6 hier laden und reinschreiben
    T2 in Dw10
    T1+T2 Dw12

    2 Datensatz
    T1 in DW16 // 2 satz SLD 6 hier laden und reinschreiben
    T2 in Dw18
    T1+T2 Dw20

    3 Datensatz
    T1 in DW22 // 3 satz SLD 6 hier laden und reinschreiben
    T2 in Dw24
    T1+T2 Dw26

    4 Datensatz
    T1 in DW30 // 4 satz SLD 6 hier laden und reinschreiben
    T2 in Dw32
    T1+T2 Dw34

    Usw. 600

    Danke in Vorraus !
    Das hattest du in einem späteren Post geschrieben. Da springst du auf
    DBW8, DBW16, DBW22, DBW30
    Im ersten Post war es DBW8, DWBW16, DBW32, DBW40.
    Der Abstand zwischen den Datensätzen ist immer gleich, wegen der Berechnung aus dem Satzzähler.

    Wenn du SLD 7 nimmst, dann liegt dein
    1. Datensatz bei 16
    2. Datensatz bei 32
    3. Datensatz bei 48

    usw.
    Geändert von Ralle (09.02.2011 um 17:30 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
    Gina_Jin ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    06.02.2011
    Beiträge
    16
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Frage

    Hallo zusammen,

    Sorry das ich viel geschrieben habe


    Ich brauch eure Hilfe, ich habe alles programmiert.
    Ich habe alles versucht leider kein Erfolg

    Ich habe folgendes Festgestellt:

    1. Ich benötige DB100. DBD

    2. Die Werte sollen z.B. 3.5 Sek (Komme) angezeigt werden „Real ?“

    • In DBD 2 ( T1 als Real) DBD 6 ( T2 als Real) DBD 10( T3 als Real) werden die Zeit gepuffert

    • Diese Werte möchte ich schreiben DBD s.u.
    • DW0 ist Datensatzzähler
    DW0 =1 steht soll er die Daten von Punkt 3 die Daten in den Datensatz 1
    platzieren
    DW0 =2 von Punkt 3 die Daten in den Datensatz 2 platzieren
    DW0 =3 von Punkt 3 die Daten in den Datensatz 3 platzieren
    DW0 =4 von Punkt 3 die Daten in den Datensatz 4 platzieren

    usw..

    • Und wie muss ich de UDT, Datenbaustein aufbauen um die Sprünge realisieren kann?
    1 Datensatz
    T1 in Dbd16 // 1 satz SLD 7 hier laden und reinschreiben
    T2 in DBD20
    T1+T2 DBD24
    DBD28-> DBD31 Reserve


    2 Datensatz
    T1 in DBD 32 // 2 satz SLD 7 hier laden und reinschreiben
    T2 in DBD 36
    T3 in DBD 40
    DBD44-> DBD47 Reserve
    3 Datensatz
    T1 in DBD 48 // 3 satz SLD 7 hier laden und reinschreiben
    T2 in DBD 52
    T3 in DBD 56
    DBD60-> DBD63 Reserve
    4 Datensatz
    T1 in DBD 64 // 4 satz SLD 7 hier laden und reinschreiben
    T2 in DBD 68
    T3 in DBD 72
    DBD76-> DBD79 Reserve

    Usw…. bis 300 Datensatz

    Mein Programm Vorschlag:

    U M 1.0
    FP M 1.1
    SPBN END
    AUF DB 100
    SLD 7
    LAR1
    L DBD 2
    T DBd [AR1,P#0.0]
    L DBD 6
    T DBD [AR1,P#4.0]
    L DBD 10
    T DBD [AR1,P#10.0]
    L DBW 0
    L 1
    +I
    T DBW 0
    L 600
    >I
    SPBN END
    L 1
    T DBW0

    END: NOP 0


    Wäre Super wenn Ihr mir helfen könntet.

    Ihr seit alle Super gut drauf,

    Geändert von Gina_Jin (09.02.2011 um 18:18 Uhr)
    Zitieren Zitieren Indirekt schreiben DB  

  6. #26
    Gina_Jin ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    06.02.2011
    Beiträge
    16
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Zitat Zitat von Ralle Beitrag anzeigen
    Das hattest du in einem späteren Post geschrieben. Da springst du auf
    DBW8, DBW16, DBW22, DBW30
    Im ersten Post war es DBW8, DWBW16, DBW32, DBW40.
    Der Abstand zwischen den Datensätzen ist immer gleich, wegen der Berechnung aus dem Satzzähler.

    Wenn du SLD 7 nimmst, dann liegt dein
    1. Datensatz bei 16
    2. Datensatz bei 32
    3. Datensatz bei 48

    usw.
    Hallo Ralle,

    siehe bitte mein mein neuen Beitrag bitte.

  7. #27
    Registriert seit
    03.04.2008
    Beiträge
    6.200
    Danke
    237
    Erhielt 815 Danke für 689 Beiträge

    Standard

    Also es haben dir inzwischen schon einige erklärt wie es mit einer UDT und DB geht.

    So wie ich es dir beschrieben habe, eben statt INT eben REAL verwenden.
    Wir hatten hier schon öfter das Thema, für Geld machen wir alles.

    Und dann gibt hier im Forum eine super gute Beschreibung was Pointer sind und wie diese zu verwenden sind.

    Viel Erfolg

    bike

  8. #28
    Registriert seit
    08.08.2007
    Ort
    Dresden
    Beiträge
    9.648
    Danke
    1.059
    Erhielt 2.046 Danke für 1.627 Beiträge

    Standard

    Zitat Zitat von bike Beitrag anzeigen
    für Geld machen wir alles.
    FAST! fast alles!!!
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  9. Folgender Benutzer sagt Danke zu vierlagig für den nützlichen Beitrag:

    bike (09.02.2011)

  10. #29
    Registriert seit
    23.04.2009
    Ort
    Allgäu
    Beiträge
    3.042
    Danke
    241
    Erhielt 863 Danke für 617 Beiträge

    Standard

    Hallo Gina,
    was ich jetzt hier so raus lese willst Du immer denselben Datensatz in ein anderes Ziel kopieren.
    Dein Code macht dass doch fast, außer das Du nie die Zieladresse berechnest:
    Code:
       U M 1.0
       FP M 1.1 
       SPBN END
       AUF DB 100
      L DBW 0
       SLD 7
       LAR1 
       L DBD 2
       T DBd [AR1,P#0.0] 
       L DBD 6
       T DBD [AR1,P#4.0] 
       L DBD 10
       T DBD [AR1,P#10.0] 
       L DBW 0 
       L 1 
       +I 
       T DBW 0 
       L 600
       >I
       SPBN END 
       L 1
       T DBW0 
    END: NOP 0
    @ Ralle und Gerhard, ich hab's kapiert.
    Ich dachte Ihr wollt immer um eins weiter schieben, aber es soll ja die Zieladresse erhöht werden und diese wird um (jetzt) 4 Stellen geschoben.
    Gruß
    Paule
    ----------------------------------------------------------------------------
    > manchmal verliert man und manchmal gewinnen die anderen <

  11. Folgender Benutzer sagt Danke zu Paule für den nützlichen Beitrag:

    Ralle (09.02.2011)

  12. #30
    Gina_Jin ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    06.02.2011
    Beiträge
    16
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Frage


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von Paule Beitrag anzeigen
    Hallo Gina,
    was ich jetzt hier so raus lese willst Du immer denselben Datensatz in ein anderes Ziel kopieren.

    Dein Code macht dass doch fast, außer das Du nie die Zieladresse berechnest:
    Code:
     
     
     U M 1.0
     FP M 1.1 
     SPBN END
     AUF DB 100
    L DBW 0
     SLD 7
     LAR1 
     L DBD 2
     T DBd [AR1,P#0.0] 
     L DBD 6
     T DBD [AR1,P#4.0] 
     L DBD 10
     T DBD [AR1,P#10.0] 
     L DBW 0 
     L 1 
     +I 
     T DBW 0 
     L 600
     >I
     SPBN END 
     L 1
     T DBW0 
    END: NOP 0
    @ Ralle und Gerhard, ich hab's kapiert.
    Ich dachte Ihr wollt immer um eins weiter schieben, aber es soll ja die Zieladresse erhöht werden und diese wird um (jetzt) 4 Stellen geschoben.
    @ Hallo Paul,
    Die Datensatze ändern sich, die Werte(Real) T1, T2,T3 werden speichern.

    Wenn alle 3 Timmer( Sie laufen unterschiedlich) abgelaufen ist, sollen die Daten in die Datenbank geschrieben wie unten.

    Was meinst du mit Zieladresse, vielleicht liegt dort mein Fehler.
    Kannst du mir im Programmen Beispiel zeigen.


    Wäre Super

Ähnliche Themen

  1. Wert in Datenbaustein schreiben
    Von Papa_Bene im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 22.02.2011, 12:08
  2. CSV-Daten in Datenbaustein schreiben?
    Von Poldi007 im Forum Simatic
    Antworten: 9
    Letzter Beitrag: 29.03.2010, 02:31
  3. String in Datenbaustein schreiben (S7)
    Von erwin36 im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 30.11.2009, 16:53
  4. Antworten: 4
    Letzter Beitrag: 01.09.2008, 12:45
  5. Antworten: 7
    Letzter Beitrag: 30.07.2008, 13:13

Lesezeichen

Berechtigungen

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