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

Ergebnis 1 bis 5 von 5

Thema: HSC zu CTU. Zählerproblem S7-1200 CPU 1215C DC/DC/DC

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

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Ist es möglich dass man mit jedem Hardwareinterrupt (OB 40), der durch meinen HSC bei CV=PV ausgeführt wird, einen CTUD-Zähler zum hochzählen zu bringen? (max. Frequenz 7-10Khz)

    Denn ich habe 50 Zähler (CTUD) in meinem Programm von denen jeder benötigt wird. Jeder von diesen 50 Zählern ist am selben Drehgeber angeschlossen (ab-signal).

    Ich versuche schon den ganzen Tag irgendetwas zu erreichen.
    ich versuche über den Hardwareinterrupt einen Merker zu setzen, welcher den HSC_CV wieder auf 0 lädt und gleichzeitig einen CTU-Zähler +1 zählen lässt, bevor der nächste AB-Impuls kommt sollte der Merker jedoch wieder = 0 sein.

    Problem 1:
    Der Merker der im OB 40 mit der Zuweisung (=), zu 1 gesetzt wird bleibt nach dem der OB 40 einmal durchgelaufen ist gesetzt.
    Wie kann man OB 40 zurücksetzen oder die Anweisung erst zurücksetzen nachdem man +1 bei dem CTU im OB1 gezählt hat? Ohne dass ein Zählimpuls des HSC verloren oder nicht mitgezählt wird?

    Problem 2:
    Kann ein CTU zähler überhaupt 7kHz zählen oder ist das zu schnell für ihn?


    Information zu HSC
    Zählen
    A/B-Zähler 1X
    "Vorwärtszählen"
    Anfänglicher Zählwert = 0
    anfägnlicher Referenzwert = 1

    Alarm bei CV = PV
    Prozessalarm (OB40 Hardwareinterrupt)


    Bilder konnte ich nicht hier hochladen weil sie grösser als 1024x800 und grösser als 585kb sind.

    Cyclic Interrupt OB 602 (HSC drin)
    Main OB 1 (nur ein Zähler zum testen drin, alle andern Zähler befinden sich in den FB's)
    Hardwareinterrupt (oben erwähnter Merker den ich zum zählen brauchen wollte)


    wär nett wenn mir jemand helfen könnte
    Zitieren Zitieren HSC zu CTU. Zählerproblem S7-1200 CPU 1215C DC/DC/DC  

  2. #2
    Registriert seit
    09.08.2006
    Beiträge
    3.637
    Danke
    912
    Erhielt 661 Danke für 543 Beiträge

    Standard

    Zitat Zitat von rostorare Beitrag anzeigen
    Ich versuche schon den ganzen Tag irgendetwas zu erreichen.
    Was willst Du denn machen?

    Ich glaube Du hast da ein Verständnisproblem.

    Aber vielleicht findet sich hier noch ein TIA-Spezi der das mit den Zählern mal klarstellt.

    Meine 300/400 Kenntnisse sagen mir: Was Du machst geht so nicht...

    Gruß.

  3. #3
    rostorare ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    16.04.2013
    Beiträge
    3
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Standard

    das denke ich auch ^^
    ich möchte eigentlich ein AB/-Signal dass bis zu 7Khz schnell sein kann zu zählen.
    da Zähler wie CTU, 7Khz nicht zählen können habe ich einen HSC eingefügt.
    und durch Hardwareinterrupts würde ich gerne immer einen Merker setzen, und mit diesem Merker müsste man doch CTU's zum zählen bringen können.

    oder nicht???


    sry für schlechtes deutsch.

  4. #4
    Registriert seit
    15.01.2005
    Ort
    In der Mitte zwischen Bayreuth/Weiden
    Beiträge
    6.751
    Danke
    323
    Erhielt 1.526 Danke für 1.286 Beiträge

    Standard

    Also pauschal würde ich sagen:
    Dein Konzept ist irgendwas zwischen Unsinn und nicht realisierbar.

    Deine Variante funktioniert schon alleine deshalb nicht, weil der CTUD wenn überhaupt dann auch schon im OB40 sein muss, ansonsten kannst du auf den schnellen Zähler schlussendlich verzichten, was dann aufgrund der vom CTUD benötigten Flanke allerdings die Pulse halbieren muss.
    Desweiteren ist es mit Sicherheit nicht förderlich, den OB1-Zyklus derart häufig zu unterbrechen (wobei ich im Moment nicht vorhersagen könnte, wie sich die S7-1200 da wirklich verhält).

    Also ist hier das übliche Konzept:
    Den HSC einfach laufen lassen, und Anfangswerte zu speichern, und Endwerte zu berechnen, was dann im Prinzip deinen CTUS entsprechen würde.

    Mfg
    Manuel
    Warum denn einfach, wenn man auch Siemens einsetzen kann!

    Wer die grundlegenden Freiheiten aufgibt, um vorübergehend ein wenig Sicherheit zu bekommen, verdient weder Freiheit noch Sicherheit (B. Franklin).

  5. Folgender Benutzer sagt Danke zu MSB für den nützlichen Beitrag:

    rostorare (22.05.2013)

  6. #5
    Registriert seit
    24.04.2013
    Beiträge
    309
    Danke
    23
    Erhielt 160 Danke für 88 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hi

    da muss ich MSB Recht geben.

    Wenn du unbedingt selber zählen willst, dann deklarier dir einen optimierten DB und darin einen derZaehler : DINT.
    Im OB40 wird dieser mit einem simplen ADD inkrementiert. Den OB musst du so konfigirieren, dass er bei CV=PV ausgelöst wird. Dann brauchst du für den ADD keine Vorbedingung, die wird durch die Konfiguration erledigt.

    KISS keep it stupid and simple.

    Zum Problem 2.
    Ein CTU kann so schnell zählen wie der in der 1200 verbaute Controller ist. Wenn man mal alles außer acht läßt, dann kann ich da mindestens einen 10MHz Zähler messen. Bloß ist das in keinster Weiße praxisrelevant. Ich will Eingänge lesen, will ein paar OB ausführen und Ausgänge schreiben. D.h. die Zykluszeit ist das was bei einer PLC als Taktfrequenz nutzbar ist. Deswegen gibt es ja Funktionsmodule wie den HSC. Separate Hardware für separate Aufgaben. Für den OB 1 sollte man eine sinnvolle, großzügig bemessene Zykluszeit von 10ms ansetzen. D.h. mehr als 100Hz kannst du damit nicht messen. Wenn du einen 1000 Liter Tank erhitzen willst, dann kannst du dir auch eine Zykluszeit von 10 Sekunden erlauben. Wenn du dagegen Flaschen befüllst, dann sind wohl besser 10µ anzusetzen -- das ist nun nix für die 1200.

    Den HSC dafür zu nutzen schnell zu Zählen und nur gelegentlich dessen Überlauf mit zu verbuchen ist aber schon mal der richtige Weg.

    Veranschlag für den OB-Aufruf 200µs Verwaltungszeit. Das macht 5000 Hz maximal Zählrate. Fall die 1200 sonst nix macht, was aber wieder Blödsinn ist. Also musst du den HSC so parametrieren, dass er zwischen 100ms und 1s zählt bis er den OB40 auslöst. Das sind natürlich grobe Richtwerte. Aber wenn du den OB40 öfter als jede Millisekunde aufrufst, dann wird die PLC nichts mehr sonst tun und vermutlich die Notbremse einwerfen. Wenn du de OB40 zu selten auslöst, dann bekommst du wahrscheinlich deinen Prozess nicht in Griff.

    Fazit: Lass den HSC laufen und verwende dessen Zählwerte.




    Jedem das Seine, mir das Meiste

  7. Folgender Benutzer sagt Danke zu HelleBarde für den nützlichen Beitrag:

    rostorare (22.05.2013)

Ähnliche Themen

  1. HSC Zähler S7-1200 STEP7 Basic 10.5
    Von christophersn im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 05.10.2010, 20:21
  2. Zähler CTU-Counter
    Von Spoon im Forum CODESYS und IEC61131
    Antworten: 2
    Letzter Beitrag: 06.02.2010, 16:50
  3. Timer - Zählerproblem bei S7 -224XP
    Von Photronicsazubi im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 18.12.2009, 18:34
  4. Antworten: 0
    Letzter Beitrag: 24.09.2009, 10:12
  5. CPU 226, HSC in Verbindung mit Drehgeber
    Von esor im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 24.11.2006, 07:31

Lesezeichen

Berechtigungen

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