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

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

Thema: Werte in DB schreiben

  1. #1
    Registriert seit
    16.01.2008
    Beiträge
    10
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,
    leider habe ich sehr wenig Erfahrung in S7 und bräuchte einen kleinen Anstoß...

    Ich möchte die Wirkleistung eines Motors ermitteln aus folgenden vorliegenden Werten:

    Wert 1: DataIN_0 --> Spannung
    Wert 2: DataIN_1 --> Strom
    Wert 3: DataIN_2 --> cosPhi

    Werte sind Word-Adressiert


    Frage:
    Benötige ich für jeden Wert einen eigenen DB, oder kann ich die 3 Werte gleichzeitig unter Verwendung von unterschiedlichen Arrays in dem selben DB schreiben? Wie kann ich die Werte miteinander verrechnen? Was muss ich beachten?
    Zitieren Zitieren Werte in DB schreiben  

  2. #2
    Registriert seit
    18.09.2004
    Ort
    Münsterland/NRW
    Beiträge
    4.718
    Danke
    729
    Erhielt 1.158 Danke für 969 Beiträge

    Standard

    Zitat Zitat von SolSna Beitrag anzeigen
    ...
    Frage:
    Benötige ich für jeden Wert einen eigenen DB, oder kann ich die 3 Werte gleichzeitig unter Verwendung von unterschiedlichen Arrays in dem selben DB schreiben? Wie kann ich die Werte miteinander verrechnen? Was muss ich beachten?
    Du kannst alle Werte in einem DB schreiben. Einach für jeden Wert ein Element anlegen. Gucke auch mal hier

  3. #3
    Registriert seit
    18.09.2004
    Ort
    Münsterland/NRW
    Beiträge
    4.718
    Danke
    729
    Erhielt 1.158 Danke für 969 Beiträge

    Standard

    Zum rechnen mit Real, Int usw. bitte hier gucken

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

    Code:
    L  DB20.DBW0
    L  DB20.DBW2
    *I
    L  DB20.DBW4
    *I
    L  DB20.DBW6
    *I
    T  DB20.DBW8
    und schon hast du deine INT-werte in form der wirkleistung (in dbw0 steht wurzel(3) * 100; in dbw6 cos phi * 100 und überhaupt alles * 100) im dbw8 des db 20 im format INT mit dem faktor 100 abgelegt
    Geändert von vierlagig (22.01.2008 um 22:32 Uhr) Grund: betriebsblindheit
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  5. #5
    Registriert seit
    18.09.2004
    Ort
    Münsterland/NRW
    Beiträge
    4.718
    Danke
    729
    Erhielt 1.158 Danke für 969 Beiträge

    Standard

    Zitat Zitat von vierlagig Beitrag anzeigen
    [code]
    ...
    in dbw0 steht wurzel(3)
    ...
    Wurzel(3) in einem Wort

    @SolSna
    Setz doch mal deine Lösung hier rein. Infos solltest du genug haben.

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

    vierlagig (22.01.2008)

  7. #6
    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 marlob Beitrag anzeigen
    Wurzel(3) in einem Wort
    f*** ... lori hat recht, nicht mein tag heut ... öhm ... sagen wir ... nun ... genähert zwei ... aber ich frag mich, wie er cos phi in einem word darstellt ... also vielleicht den ganzen spaß nach oben rechnen und das ergebnis wieder normalisieren ... soll heißen wurzel(3) wäre dann 173, cos phi 89 und das ergebnis in einer real-division mit 100 in einen real-wert schreiben
    Geändert von vierlagig (22.01.2008 um 22:11 Uhr)
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  8. #7
    Registriert seit
    07.07.2004
    Beiträge
    3.285
    Danke
    38
    Erhielt 584 Danke für 382 Beiträge

    Beitrag

    Hallo,

    Zitat Zitat von marlob
    Wurzel(3) in einem Wort
    Naja, wenn man zum Verzicht auf Nachkommastellen bereit ist

    Gruß

    Question_mark
    ''Ich habe wirklich keine Vorurteile.
    Meine Meinung ist nur die Summe der Erfahrungen" ... (Question_mark)
    Zitieren Zitieren Man muss halt auf etwas verzichten  

  9. #8
    SolSna ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    16.01.2008
    Beiträge
    10
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Berechnungsbeispiel im FC... :


    Code:
    L DB90.DBW2  // Wert1
    L DB90.DBW6  // Wert2
    *I
    L DB90.DBW10 // Wert3
    *I
    L 3                      // * faktor 3
    *I
    T MW10
    
    
    L 100000    // Wertkorrektur um Faktor 100000
    L MW10
    /I
    
    T MW20   // Wert Wirkleistung


    Richtig???

  10. #9
    Registriert seit
    18.09.2004
    Ort
    Münsterland/NRW
    Beiträge
    4.718
    Danke
    729
    Erhielt 1.158 Danke für 969 Beiträge

    Standard

    Zitat Zitat von SolSna Beitrag anzeigen
    Berechnungsbeispiel im FC... :


    Code:
    ...
    L 100000    // Wertkorrektur um Faktor 100000
    L MW10
    /I
    
    T MW20   // Wert Wirkleistung
    Richtig???
    Hier teilst du 100000 durch deinen errechneten Wert, wolltest du das nicht anders herum haben. Und wenn du mit /I teilst, dann kommt ein Integer (Ganzzahl) raus. Wenn du Kommastellen haben willst, dann musst du /R nehmen und dann natürlich auch in einem Doppelword vom Format Real speichern. Deine Integers solltses du dann vorher auch noch in Real wandeln (ITD, DTR)

  11. #10
    SolSna ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    16.01.2008
    Beiträge
    10
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Naja, die Kommazahl spielt keine große Rolle...



    Nun ist es aber so, dass dieser errechnete Wert...

    1. als "Referenzwert" (einmaliger Wert, die nicht überschrieben werden darf)
    2. als "Aktuellwert" (Wert wird bei jedem neuen Bearbeitungszyklus neu eingelesen)

    ...dienen soll

    Referenzwert und Aktuallwert sollen schließlich miteinander verglichen werden (später auch visuell).
    Letzendlich soll eine Werkzeugüberwachung realisiert werden.
    Vergleichbar mit Artis...



    Meine Frage ist nun, wie packe ich die Sache am besten an?

    Bisher habe ich Werte mit Hilfe von UDT in ein DB geschrieben,
    diese Werte miteinander verrechnet (Wirkleistung) und nun weiß ich nicht so recht wie ich weitermachen soll...
    Ein Bearbeitungszyklus dauert 20 Sekunden. Mit einem Taktmerker habe ich einen Zyklustakt von 100ms generiert (50ms positive Flanke). Es sind also 200 Werte die aufgezeichnet werden müsse/sollen.
    Leider weiß ich nicht wie ich das am besten realisieren könnte.

    Wäre über ein Denkanstoss oder Vergleichsprojekte sehr dankbar

Ähnliche Themen

  1. Werte von SPS in den SQL Server schreiben?
    Von mimuel im Forum Hochsprachen - OPC
    Antworten: 18
    Letzter Beitrag: 13.04.2010, 18:21
  2. Excel Werte in DB schreiben?
    Von Poldi007 im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 28.03.2010, 16:25
  3. Werte in Db schreiben (100ms)
    Von Domi55 im Forum Simatic
    Antworten: 20
    Letzter Beitrag: 18.03.2009, 13:16
  4. Werte in DBD schreiben
    Von nuss im Forum Simatic
    Antworten: 10
    Letzter Beitrag: 19.09.2007, 16:01
  5. Gleiche Werte mit UDT in DB schreiben
    Von Anonymous im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 13.05.2004, 21:56

Lesezeichen

Berechtigungen

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