Schnelle Zähler bei S7-1200

petzi

Level-1
Beiträge
255
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Ihr,

ich bin hier grad am probieren mit der "neuen" S7-1200-Steuerung. Für ein Projekt sollen mittels eines schnellen Zählers zwei Interrupts ausgelöst werden...

Dazu ist auf einem Motor ein Drehgeber montiert; der Motor wird über einen FU angetrieben. Über einen Taster wird der Motor gestartet und über einen Interrupt (Weckalarm-OB) gestoppt. Das Ganze soll so funktionieren, dass nach 360 Impulsen (1 Motorumdrehung) der erste Interrupt (INT_1) ausgelöst wird. Dabei soll dann auch der aktuelle Zählwert (360) als neuer Zählwert eingetragen werden. Nach weiteren zwei Motorumdrehungen (1080 Impulse) soll ein zweiter Interrupt (INT_2) ausgelöst werden, der dann unter anderem auch den Motor stoppt. Anschließend soll das Ganze wieder von vorne beginngen; also 0-360 Schritte und bei CV=RV soll wieder INT_1 ausgelöst werden...

Dazu habe ich in der Gerätekonfiguration einen schnellen Zähler HSC1 als Einphasenzähler konfiguriert. Als "Anfänglicher Zählwert" ist 0, als "Anfänglicher Referenzwert" ist 360 eingetragen. In einer FC habe ich den Befehl CTRL_HSC programmiert. Dabei ist unter "NEW_CV" der Wert 360 und unter "NEW_RV" der Wert 1080 eingetragen.

Das Problem:

Das Ganze funktioniert einmalig, nach dem Einschalten der SPS. Danach macht der Motor nur noch zwei Umdrehungen, d.h., der Interrupt nach 360 Impulsen kommt nicht mehr...

Habe in dieser Sache bereits mit Siemens telefoniert. Der "Techniker" dort hat behauptet, dass das nicht möglich sei, dass bei der S7-1200 keine zwei Interrupts ausgelöst werden können.

Das kann doch fast nicht sein - bei der S7-200 klappt das doch auch!

Frage:

Habt ihr das schon mal gemacht mit den schnellen Zählern und zwei Interrupts?


Danke für eure Unterstützung!
 
Hallo,

nachdem bis jetzt noch niemand geantwortet hat - darf ich annehmen, dass es bei der S7-1200 tatsächlich nicht möglich ist, bei einem schnellen Zähler mehrere Interrupts auszulösen?

Danke...
 
Zuviel Werbung?
-> Hier kostenlos registrieren
hi,

dein neuer VW Wert wird nicht übernommen, ich glaube du musst den CTRL_HSC im OB1 programmieren, so wie bei der 300-ter.

bei der 200-ter ist die programmierung mt HC's viel flexibler. Da kannst du im "AV=VW Interrupt" mit dem Zähler machen was du willst, neuen Wert, VW Wert vorgeben usw.


Gruß com
 
hi,

dein neuer VW Wert wird nicht übernommen, ich glaube du musst den CTRL_HSC im OB1 programmieren, so wie bei der 300-ter.
Gruß com

Danke für deinen Tip, aber auch das Programmieren des CTRL_HSC im OB1 hat nicht geholfen.


Der Ablauf soll einfach wie folgt sein:


Code:
|-------------------|----------------------------------|-----------> 
0                  360                                1080



Nach dem Starten mittels Start-Taster soll der Motor (bei Impuls 0) loslaufen. Nach 360 Impulsen soll der 1. Interrupt ausgelöst werden. Nach 1080 Impulsen soll der 2. Interrupt ausgelöst werden, der jetzt auch den Motor stoppt.

Nach einem erneuten Drücken des Start-Tasters soll das Ganze wieder von vorne beginnen...


Das muss doch auch mit der S7-1200 möglich sein, oder? :confused:
 
Hallo,

versuch mal mit "move" in einer Zähler zu schieben und dann
wenn der erste int kommen soll tuhst du eine vergleich und bei der
zweiter int einfach eine rücksetzer.:rolleyes:
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Zähler setzen

Du musst den Zähler mit CTRL_HSC setzen, also an NEW_CV den gewünschten Wert eintragen und mit CV setzen, dann den CV zurücksetzen, damit der Zähler wieder freigegeben ist. Und dann zählt der ab deinem neuen Wert. So geht es jedenfalls bei mir ohne Probleme.
 
Ohne mich jetzt speziell damit auszukennen, wäre es nicht auch eine Möglichkeit einen zweiten HSC zu aktivieren und diesen mit Referenzwert 1080 laufen zu lassen?
 
Zurück
Oben