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

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

Thema: Zählerwerte digital kodiert ausgeben S7 312

  1. #1
    Registriert seit
    22.09.2008
    Beiträge
    2
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hi,

    ich habe eine S7 312 plus DI/DO Module.
    Ich werde im Praxissemester etwas programmieren dürfen, ein Teil meiner Aufgabe stellt mich allerdings vor ein Problem.
    Um es zu vereinfachen nehme ich es aus dem Gesamtprojekt mal heraus, streiche alle redundanten Bedinungen und zähle nur das, nach meinem Dafürhalten, Wichtige auf.

    Ich habe zwei Eingänge: E0.0, E0.1
    Ich habe vier Ausgänge: A4.0, A4.1, A4.2, A4.3

    Die zwei eingänge sollen einfach HOCH (E0.0) und RUNTER (E0.1) zählen, die 4 Ausgänge sollen dann binär codiert den Zählerstand ausgeben.

    Sprich nach einmaligem betätigen von E0.0
    ist A4.0=0, A4.1=0, A4.2=0, A4.3=1 (1)

    nach 10maligem betätigen von E0.0
    ist A4.0=1, A4.1=0, A4.2=1, A4.3=0 (10)

    Ich betätige daraufhin zb 2mal E0.1
    ist A4.0=1, A4.1=0, A4.2=0, A4.3=0 (8 )

    Wie kann ich es nun -am Besten in FUP- realisieren, dass über eine Zähler (vorwärts rückwärts) mir der Zählerstand an den vier Ausgängen binär angezeigt wird?


    Ich danke schonmal im Voraus
    Zitieren Zitieren Zählerwerte digital kodiert ausgeben S7 312  

  2. #2
    Registriert seit
    22.01.2008
    Ort
    Allgäu, da wo die Kühe schöner sind als die Mädels
    Beiträge
    1.774
    Danke
    50
    Erhielt 729 Danke für 434 Beiträge

    Standard

    Code:
          U     E      0.0
          FP  M0.0
          SPB   hoch
          U     E      0.1
          FP  M0.1
          SPB   tief
          SET   
          SPB   end
    hoch: L     AB     0
          L     1
          +I   
          T     AB     0
          SET   
          SPB   end
    tief: L     AB     0
          L     1
          -I   
          T     AB     0
          SET   
          SPB   end
    end:  NOP
    Gruss
    Audsuperuser
    Geändert von AUDSUPERUSER (22.09.2008 um 16:23 Uhr)
    Gruss Audsuperuser

    Herzlich Willkommen im Chat:
    SPS-Forum Chat (Mibbit) | SPS-Forum Chat (MIRC)

  3. #3
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.716
    Danke
    398
    Erhielt 2.399 Danke für 1.999 Beiträge

    Standard

    na , AudSU, hast du da nicht etwas übersehen ?

    1. nicht mit +R bzw. -R bei INT-Variablen arbeiten ...
    2. Flanken-Auswertung der Eingänge ...

    Gruß
    LL

  4. #4
    Registriert seit
    13.08.2008
    Beiträge
    35
    Danke
    0
    Erhielt 9 Danke für 7 Beiträge

    Standard

    Was soll das +R und -R: da werden Realzahlen addiert/subtrahiert.
    Es soll wohl +I und -I heissen !

  5. #5
    Registriert seit
    24.10.2007
    Ort
    USA
    Beiträge
    815
    Danke
    3
    Erhielt 73 Danke für 57 Beiträge

    Standard

    Zitat Zitat von AUDSUPERUSER Beitrag anzeigen
    Code:
          U     E      0.0
          FP  M0.0
          SPB   hoch
          U     E      0.1
          FP  M0.1
          SPB   tief
          SET   
          SPB   end
    hoch: L     AB     0
          L     1
          +R    
          T     AB     0
          SET   
          SPB   end
    tief: L     AB     0
          L     1
          -R    
          T     AB     0
          SET   
          SPB   end
    end:  NOP
    Gruss
    Audsuperuser
    Der code ist fast richtig(98%)...
    Du sollst in betracht ziehen, Du kannst nur bis höchstens 15=0000 1111 zählen
    Statt R muss du I (int)
    Partys sind krass, am besten ist das Bier aus dem fränkischen Fass ...
    "Programming today is a race between the programmers and software engineers to create better
    and more idiot-proof programs, and the universe, creating bigger and better idiots. So far,
    the universe is winning". - Rich Cook

  6. #6
    Registriert seit
    22.01.2008
    Ort
    Allgäu, da wo die Kühe schöner sind als die Mädels
    Beiträge
    1.774
    Danke
    50
    Erhielt 729 Danke für 434 Beiträge

    Standard

    Zitat Zitat von Larry Laffer Beitrag anzeigen
    na , AudSU, hast du da nicht etwas übersehen ?

    1. nicht mit +R bzw. -R bei INT-Variablen arbeiten ...
    2. Flanken-Auswertung der Eingänge ...

    Gruß
    LL
    Ich bitte vielmals um Entschuldigung
    Die Flankenmerker habe ich nachgefügt, da war Larry wohl etwas zu schnell.
    Und ich wollte I schreiben, aber aus Macht der Gewohnheit doch R erwischt.
    Ist mir schon auch klar, dass der Wert zwischen 0 und 15 begrenzt werden muss. Aber erstens war es nicht gefordert, und zweitens soll der Fragesteller auch selber etwas denken.

    Gruss
    Audsuperuser
    Gruss Audsuperuser

    Herzlich Willkommen im Chat:
    SPS-Forum Chat (Mibbit) | SPS-Forum Chat (MIRC)

  7. #7
    Registriert seit
    22.09.2008
    Beiträge
    2
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Also ich dachte schonmal recht herzlich für den Quellcode.

    Was ist mit diesem nun zu tun?
    Ist dieser in einen separaten FC zu schreiben, welcher dann aufzurufen ist?

    Der Fragensteller denkt schon einiges mit.
    Ich hatte nur mal in der Ausbildung Step7, in der Hochschule war Automatisierungstechnik ein Witz.

    Da dies nur ein Nebenjob während meines Praxiseinsatzes ist, frage ich lieber welche die WISSEN was zu machen ist und konzentriere mich auf die Programmiersachen die ich kann.
    Und meine eigentliche Aufgabe.

    Also ich bin für jede Hilfe sehr dankbar!


    Grüße

  8. #8
    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 johnij Beitrag anzeigen
    Du sollst in betracht ziehen, Du kannst nur bis höchstens 15=0000 1111 zählen
    und? was passiert bei einem "überlauf"? die relevanten bits zählen von null los, was drüber ist, ist egal ... es war keine grenzwertbeschaltung gefordert!

    was mir eher sorgen macht ist, dass dieser AWL-code nicht in FUP darstellbar ist und, dass 4bits des AB4 nicht mehr anderweitig genutzt werden können, wenn man diesen zähler irgendwo im programm absetzt. am zyklusbeginn funktioniert es, ja ...

    Code:
    *
    Netzwerk 1
          U     E      0.0
          ZV    Z      1
          U     E      0.1
          ZR    Z      1
          NOP   0
          NOP   0
          NOP   0
          L     Z      1
          T     MW     0
          NOP   0
          NOP   0
    
    Netzwerk 2
          O     M      2.0
          ON    M      2.0
          =     L     20.0
          U     L     20.0
          U     M      1.0
          =     A      4.0
          U     L     20.0
          U     M      1.1
          =     A      4.1
          U     L     20.0
          U     M      1.2
          =     A      4.2
          U     L     20.0
          U     M      1.3
          =     A      4.3
    wäre mein bescheidener vorschlag ...
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  9. #9
    Registriert seit
    24.10.2007
    Ort
    USA
    Beiträge
    815
    Danke
    3
    Erhielt 73 Danke für 57 Beiträge

    Standard

    Zitat Zitat von vierlagig Beitrag anzeigen
    und? was passiert bei einem "überlauf"? die relevanten bits zählen von null los, was drüber ist, ist egal ... es war keine grenzwertbeschaltung gefordert!


    ...
    Es ist nicht egal...
    Stell Dir würden die Hochwertigen Bits (Ax.4...Ax.7) für irgednwelchen anderen Zweg gebraucht.....> Kacke am Dampfen
    Partys sind krass, am besten ist das Bier aus dem fränkischen Fass ...
    "Programming today is a race between the programmers and software engineers to create better
    and more idiot-proof programs, and the universe, creating bigger and better idiots. So far,
    the universe is winning". - Rich Cook

  10. #10
    Registriert seit
    24.10.2007
    Ort
    USA
    Beiträge
    815
    Danke
    3
    Erhielt 73 Danke für 57 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von vierlagig Beitrag anzeigen
    wäre mein bescheidener vorschlag ...
    "Mit Kanonen auf Spatzen schießen"
    Partys sind krass, am besten ist das Bier aus dem fränkischen Fass ...
    "Programming today is a race between the programmers and software engineers to create better
    and more idiot-proof programs, and the universe, creating bigger and better idiots. So far,
    the universe is winning". - Rich Cook

Ähnliche Themen

  1. Mehrere Zählerwerte in DB speichern
    Von bastler im Forum Simatic
    Antworten: 10
    Letzter Beitrag: 21.02.2010, 18:49
  2. Zählerwerte richtig setzen
    Von CheGuevara83 im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 18.04.2007, 07:43
  3. 7-Segment BCD Kodiert
    Von Freak86 im Forum Simatic
    Antworten: 24
    Letzter Beitrag: 03.01.2007, 00:00
  4. Antworten: 6
    Letzter Beitrag: 20.04.2006, 20:47
  5. CPU 103 und 32 digital In
    Von chrischi23 im Forum Simatic
    Antworten: 11
    Letzter Beitrag: 20.04.2004, 06:50

Lesezeichen

Berechtigungen

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