Problem mit S1200 Zähler (HSC)

MasterOhh

Level-3
Beiträge
1.600
Reaktionspunkte
407
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

ich versuche gerade eine Frequenz und Phasenmessung (Strom/Spannung) mit einer S1200 zu realisieren.
Nach vorverarbeitender Filter und TTL Elektronik läuft es am Ende darauf hinaus das ich Impulse (100kHz) und ein Reset Signal für die SPS bekomme. Dabei sind dann die Frequenz und der Phasenversatz den ich Messen möchte eine Funktion von der Anzahl der gezählten Impulse.

Die Elektronik läuft, das einzige was zickt sind die Zähler der S1200.
Ich habe 2 Digitaleingänge als High Speed Counter (HSC) konfiguriert und lasse diese meine 100kHz Impulse zählen bis das Reset-Signal kommt. Der Reset löst zudem einen Hardwareinterrupt aus in dem ich die Zählerwerte in Variablen kopiere bevor diese (Zähler) wieder auf 0 gesetzt werden.

Mein Problem: wenn ich über einen Zeitraum von 5ms Impulse mit 100kHz zähle, müssten am Ende eigentlich 500 Impulse rauskommen (+/- 1..2 Impulse vlt.). Zählen tut die S1200 aber nur etwa 440 Impulse. Auch eine Verringerung der Impulsfrequenz auf 10kHz hat das Problem nicht behoben (43 statt 50 Impulse gezählt).

Weiss jmd ob die Zähler eine Anlaufzeit oder soetwas benötigen? Ich habe in den Anleitungen zu den Baugruppen nichts dazu gefunden ...
Oder gibt es noch irgendwelche Einstellungen die ich übersehen haben könnte?

Die Impulse habe ich mit nem Oszi geprüft. Das sind astreine Rechtecke mit 23V Pegel ....
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo MasterOhh,

mit der S7-1200 habe ich keine praktischen Erfahrungen, mir fällt nur ein:
- wo kommt Deine Torzeit 5ms her? Ist die vielleicht ungenau?
- Hardware-Tor und Zählrichtungsumschaltung spielen sicher keine Rolle? Keine Störimpulse?
- kann man den HSC auch als freilaufenden Zähler einrichten und mit dem Interrupt nur den Zählerstand kopieren, den Zähler aber nicht auf 0 rücksetzen?

Ansonsten klingen Deine Ausführungen fachmännig, anscheinend weißt Du genau, was Du tust und kannst Fehler in der externen Elektronik ausschließen. Sicher hast Du Deine Elektronik auch schon mit einem Digitalzähler überprüft. Dein Programm scheint gundsätzlich zu funktionieren.

In Deinem Fall würde ich wohl den Siemens Technical Support bemühen, in Nürnberg anrufen und/oder einen Support Request stellen. Da bekommst Du sicher schneller eine hilfreiche Antwort auf Dein sehr spezielles Problem.

Wenn Du trotzdem noch unsicher bist, ob es nicht eventuell doch an Deinem Programm liegt, dann zeige mal was davon.

Harald
 
Danke erstmal für die Antwort PN/DP!

Mit einem Digitalzähler habe ich die Zählerimpulse noch nicht ausgewertet, aber wie gesagt, alle Signale die in die SPS reingehen (Zählimpulse und Triggersignal für den Reset) habe ich mit einem Speicher-Oszi vermessen.
Als Rücksetzsignal nehme ich derzeit noch das PWM-Signal aus der S1200. Das Signal hat eine Frequenz von 100Hz mit einer PWM von 50%.
Laut Oszi ist der Reset Trigger für genau 4,9ms auf LOW, während dieser Zeit kann die S1200 die Zählimpulse zählen. Beim High auf dem Resetkanal gibts den Hardwareinterrupt und das Rücksetzten des Zählers bis Reset wieder LOW ist, dann geht das zählen wieder von vorne los.

Der Zähler zählt nur vorwärts (in Gerätekonfig vorgegeben).

Ein richtiges Programm gibts da auch noch nicht wirklich (Das olle FUP rumgeklicke im TIA Portal 10.5 kann man auch nicht wirklich programmieren nennen). Nur einen MOVE Befehl im Hardwareinterrupt der mir den Zählerstand bei Reset in eine Variable kopiert.

Werde dann wohl mal bei Siemens nachfragen müssen, warum die Kiste nicht vernünftig zählen kann.
Momentan bin ich echt am überlegen auf einen µC umzusteigen. Der Mehraufwand für die Hardware ist minimal dafür spare ich mir viele graue Haare beim Erstellen der Software.....
 
Zurück
Oben