Sfb 47

franzlurch

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

ich beschäftige mich Momentan gerade mit einer S7-313C CPU. Über die Schnellen Zähler der CPU würde ich gerne die Impulsdauer des anliegenden Signals erkennen. Bei den Hilfethemen des SFB47 habe ich gelesen, dass es möglich ist die Impulsduaer über die Job ID herauszulesen. Im dazugehörigen DB sollte der Wert dann im DBD28 auftauchen. Nun habe ich schon alle möglichen Bbeschaltungen des Sfb47 probiert, aber der Wert ändert sich nicht.

Über ein par nützliche Tips würde ich mich freuen.
 
du meinst sicher diese unterlage ...

da steht zwar, und IMHO nicht unbedingt unglücklich, dass eine impulsdauer gelesen werden kann, aber diese gelesene bezieht sich auf die des jobs und meint die impulsdauer des ausgangs, bei erreichen des zählerwertes zwischen 0 und 510ms ...
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ah ok dass kann sein darüber habe ich nicht nachgedacht. Danke!

Was mein Problem aber auch nicht verbessert. Ich habe an die schnellen Zählereingänge der 313C eine Volumenmesszelle angeschlossen welche mir bei voller auslastung ungefähr eine Frequenz von 1,2kHz bringt. Nun würde ich gerne die Frequenz(Impulsdauer) dieses Signals genau bestimmen da ich dies für meine Durchflussregelung benötige. Die CPU bietet zwar in Zusammenarbeit mi dem Sfb48 die Funktion Frequenzmessung, wobei der ermittelte Wert in mHz am Sfb48 zur Verfügung gestellt wird. Da diese Funktion aber von der Integrationszeit abhängig ist die man in der CPU einstellen muss ist das für meinen Anwendungszweck nicht das passende, da mein Signal des Volumenzählers bei kleiner Anlagenleistung nur wenige Hz betragen kann.

Wenn noch jemand eine Idee für mich hötte wäre echt gut!!!

Gruss

franzlurch
 
integrationszeit umschalten?! ...wenn der wert nicht mehr plausibel ist, also z.b. 0 mit <strike>kleinerer</strike> größerer integrationszeit probieren... oder du nutzt die internen über- und unterlaufbits ;-)
 
Zuletzt bearbeitet:
Die Integrationszeiten sind flexibel in der CPU einstellbar im Bereich von 10ms bis 1000ms.stelle ich 10 ms ein und bekomme dann ein Signal das unter 100 Hz liegt, giebt mir der Baustein NULL aus
 
integrationszeit umschalten?! ...wenn der wert nicht mehr plausibel ist, also z.b. 0 mit kleinerer integrationszeit probieren...

Moment, ich will das auch kapieren...
Muss nicht bei kleinrere Frequenz die Integrationszeit höher sein...

@lurch: Wie schnell muss das ganze sein? (siehe oben)
 
Zuviel Werbung?
-> Hier kostenlos registrieren
So und jetzt zum mitschreiben (und mitdenken?):
Bei I-Zeit 10 000ms (also 10s) kommt ein impuls, enspricht 0,1 Impuls pro Sekunde, macht also 0,1 Hz.
Du kannst also eine Frequenz messen mit >0,1Hz aber nur alle 10s aktuell,
reicht das?
 
Und der Väterväterväterväter.

Quelle Life of Brian, Diskussion der VVJ. In Insiderkreisen auch benutzt wenns jemand ganz genau weiss.
 
Zuletzt bearbeitet:
Das ist ja mein Problem. Die Integrationszeit kann ich nur einmal fest einstellen und mein Eingangssignal schwankt zwischen 0 und 1.2kHz je nach Anlagenleistung!!!
 
Das kriegst Du aber anders nicht gebacken, wenn Du so kleine F messen willst brauchst Du so lange Zeiten (siehe vorheriges Rechenbeispiel).

So wie ich das sehe lässt sich aus dem Programm heraus die I-Zeit nicht umstellen. Wie wärs z.B. den Sensor auf zwei (oder alle drei) Kanäle parallel zu verdrahten und mit verschiedenen I-Zeiten zu parametrieren und diese dann umschalten.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
man kann doch die integrationszeit über den job - den arbeitsauftrag - ändern... job_id 04hex als id für integrationszeit schreiben - job_val als DINT und zwar den wert der gewünschten integrationszeit
 
Ist eine Möglichkeit, dann muss man aber die 10s warten bis Job done kommt.
Schnelle änderungen kann man nur mit einem zweiten "schnellen" Kanal überwachen.
 
Ich hab mir nen eigenen Baustein geschrieben. Bei hohen Frequenzen zähle ich die Imulse in einer Zykluszeit und teile Sie durch diese. Bei langsamen Frequenzen arbeite ich mit Selbstgenerierten Takten. Ob dies aber die entgültige lösung ist kann ich noch nicht sagen. Ich bekomme erst nächste Woche meinen Simulator für die schnelle Frequenzen. Sollte es nicht funktionieren werde ich mich sicherlich nochmal hier zurück melden.
 
Zurück
Oben