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

Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 10 von 27

Thema: Zählen über Variablen/Datenbank, scheinbar willkürliche Werte

  1. #1
    Registriert seit
    11.02.2013
    Beiträge
    11
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo zusammen,

    ich darf mir in der Firma gerade selber SPS beibringen und habe Probleme beim zählen mit Variablen bzw. mit einer Datenbank.
    Gezählt werden soll, wie viele Schaltzyklen ein Relais mitmacht und ab wann die Abweichung zu groß wird. Dazu eignen sich die CTU Bausteine ja schonmal nicht. Ich brauche Werte bis ca. 500.000. Also hab ich mir gedacht, ich pack die Werte einfach in ne 32bit Variable und vergleich die hinterher mit nem Komparator.

    Das funktioniert aber nur für den ersten Wert, der zählt in Einerschritten. Die anderen zählen in allen möglich anderen Schritten (siehe Screenshot). Wo liegt das Problem? Ich komm einfach nicht dahinter.

    Hardware ist ne 314er CPU mit jew. einer dig. Ein- und Ausgangskarte, programmiert wird mit Step7 V5.x (ich glaube 5.3 bin mir da aber nicht ganz sicher).
    Meine bisherigen Kenntnisse beschränken sich auf LOGO und n bisschen FUP programmieren, allzu viel ist da also noch nicht da.

    Variablen.JPG
    Zitieren Zitieren Zählen über Variablen/Datenbank, scheinbar willkürliche Werte  

  2. #2
    Registriert seit
    08.02.2007
    Ort
    A-2320
    Beiträge
    2.252
    Danke
    244
    Erhielt 332 Danke für 303 Beiträge

    Standard

    Weil MD100 von MB100 bis 103 geht.
    Der nächste wäre dann MD104.

    Eine 32 Bit Variable hat eben 32 Bit

  3. #3
    Registriert seit
    03.06.2009
    Beiträge
    14
    Danke
    11
    Erhielt 3 Danke für 3 Beiträge

    Standard

    Hallo,
    dir ist bewusst das dass Merkerdoppelwort MD100 aus den Bytes MB100-103 besteht?!
    und das Bei MD101-> MB101-MB104 und soweiter!
    Also werden deine Werte immerwieder überschrieben!!

    mfg

  4. #4
    morrison ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    11.02.2013
    Beiträge
    11
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    War mir nicht bewusst, macht aber Sinn. Danke.

    Ist das bei allen Adressierungen so, dass die Bytes in den Wörten drinstecken?
    Geändert von morrison (11.02.2013 um 14:09 Uhr)

  5. #5
    Registriert seit
    09.08.2006
    Beiträge
    3.628
    Danke
    912
    Erhielt 656 Danke für 542 Beiträge

    Standard

    Zitat Zitat von morrison Beitrag anzeigen
    War mir nicht bewusst, macht aber Sinn.
    Danke.
    Das kommt davon, wenn man sich "SPS selber beibringen" will. Etwas, was der Dozent in 5Sek erklärt hätte, muss man durch trial an error in vielleicht 60min "erlernen". Aber es war ja vermutlich nicht Deine "Idee"...
    Gruß.

  6. #6
    morrison ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    11.02.2013
    Beiträge
    11
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Von wollen kann hier nicht die Rede sein.
    Und auch mit Handbuch und Fachlektüren gestaltet sich das doch wesentlich schwerer, als ich gedacht habe.

  7. #7
    Registriert seit
    06.10.2009
    Ort
    NRW
    Beiträge
    1.572
    Danke
    63
    Erhielt 259 Danke für 219 Beiträge

    Standard

    Step7-Crashkurs von Habermann / Weiß würde ich für Anfänger empfehlen.
    Meine Motivation läuft nackig mit einem Cocktail über eine Wiese.

  8. #8
    morrison ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    11.02.2013
    Beiträge
    11
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Zählen klappt, aber jetzt hab ich ein Problem beim Vergleichen.
    Über einen Subtrahierer wird Zahl 2(DBD5) von Zahl 1(DBD1) abgezogen und das Ergebnis in DBD21 gespeichert. Nun soll DBD21 über einen Vergleicher mit 10 verglichen werden. Ist DBD21>= 10, soll die Lampe leuchten.
    Allerdings zählt DBD21 nur bis 9, dann wird in DBD1 welcher eigentlich mangels Signal gar nicht zählen darf weitergezählt, DBD21 bleibt bei 9 stehen und die Lampe bleibt aus.
    Die Zahlen sind alle vom Typ DINT.

    Was passiert da und wo liegt das Problem?

    Vergleichen.JPG

  9. #9
    Registriert seit
    08.02.2007
    Ort
    A-2320
    Beiträge
    2.252
    Danke
    244
    Erhielt 332 Danke für 303 Beiträge

    Standard

    In den Netzwerken davor!
    DBD21 zählt ja selber nicht, vielleicht nimmst Du ja das #Ein -Bit am EN-Eingang im Netzwerk9 weg.

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

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Das Ein-bit ist der Schalter, der das Programm startet und anhält, der ist dauerhaft an.
    Der Fehler muss mit dem Vergleicher zusammenhängen. Ohne Vergleicher zählt das Programm einwandfrei, auch wenn ich die Kontakte abklemme (warum sollte es auch nicht).
    Geändert von morrison (13.02.2013 um 13:53 Uhr)

Ähnliche Themen

  1. Antworten: 2
    Letzter Beitrag: 08.05.2011, 19:02
  2. Antworten: 15
    Letzter Beitrag: 04.04.2011, 12:18
  3. Werte von Variablen auslesen und im Quellcode sichern
    Von CST-LS im Forum CODESYS und IEC61131
    Antworten: 6
    Letzter Beitrag: 05.07.2010, 10:46
  4. WinCC Flexible Variablen zählen
    Von Fabian228 im Forum HMI
    Antworten: 1
    Letzter Beitrag: 16.03.2010, 11:40
  5. Antworten: 1
    Letzter Beitrag: 25.10.2006, 08:48

Lesezeichen

Berechtigungen

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