TIA Hilfestellung bei Ansteuerung von Dosierpumpen

PLC_Freak

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

ich arbeite mit einer S7-1214C und möchte Impulse eines MID nuzen, um 2 Dosierpumpen im Impulsbetrieb zu betreiben.
Mein erster Gedanke war, das ich je Liter einen Impuls an die SPS übergebe. Dann würde ich max. 17 Impulse je sek bekommen (Qmax=60m3/h).
Die eine Dosierpumpe soll 1,2Liter/m3 dosieren und die zweite 3 Liter/m3.
Das ganze hätte ich noch über einen einfachen Eingang gemacht und dann mit einem CTU realisiert.
Nun habe ich aber festgestellt, dass mir die Auflösung 1Impuls/Liter nicht genügt. Ich benötige jetzt 1 Impuls/0,1Liter. Somit ergeben sich nun ca. 170Imulse je Sek. kann ich das noch mit einem “normalen“ Eingang einlesen, oder muss ich hier schon zwangsläufig mit sch ellen Zählern arbeiten?
Falls es nur mit schnellen Zählern möglich ist, wie könnte ich das dann umsetzen?

Vielen Dank!
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Die Doku hab ich mir schon zu Gemüte geführt. Allerdings weiß ich immer noch nicht, welche Frequenz mit einem Standardeingang verarbeitet werden kann. Mir ging es nicht darum zu erfahren. ob es schnelle Eingänge gibt, sondern ob ich bei einer Frequenz von 170Hz noch mit Standardeingängen arbeiten kann.
Mit den schnellen Zählern hab ich noch so meine Probleme.
Ob man das dann faul nennen kann, wenn man die Info die man sucht nicht gefunden hat, wage ich zu bezweifeln
 
170Hz -> ca alle 6ms ..da wird dir ein normaler Eingang reichen.

------

-Worauf ich achten würde prinzipiell (ich bin selber noch anfänger :rolleyes:)

Zykluszeit deiner CPU- Die CPU muss natürlich schnell genug sein um eine Änderung am Eingang mit zu bekommen bevor dieser wieder verschwindet (deine ist schnell genug).
Dann könntest du natürlich noch als alternative, falls du nicht mit Zählern arbeiten möchtest, interrupts verwenden und dir im entsprechenden OB einen Zähler bauen.
 
Zuletzt bearbeitet:
Mir wäre das zu unsicher. Welche Pulsbreite würde das Signal denn haben, wenn alle 6ms ein Impuls kommt? Macht das der MID überhaupt mit? Wie ist die Verzögerung der Standardeingänge (gewöhnlich 2..3ms)? Wie ist die Zykluszeit? Bedenke, wenn Impulse verloren gehen, merkst du es zunächst erst einmal nicht. Ich würde versuchen, mit dem 1 Impuls pro Liter einen Weg zu finden. Welche Gesamtmenge wird denn dosiert? Oder ist es ein fortlaufender Beimischprozess? Welche Impulswertigkeit lässt sich denn an den Pumpen einstellen?

Wenn du keine Lösung findest, frag mal die Kollegen von VW wie man so etwas schönrechnet :ROFLMAO: .
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Am MID kann ich die Pulsbreite einstellen. Es wird fortlaufend beigemischt. Die Imulswertigkeiten an den Pumpen kann man sowohl multiplizieren als auch dividieren. Stimmt, das wäre dann auch noch ein Weg, wobei mir das mit VW auch ganz gut gefällt :wink:
Danke schon einmal!
 
170Hz -> ca alle 6ms ..da wird dir ein normaler Eingang reichen.
Das ist aber schon seeehr grenzwertig und ohne extra-Klimmzüge eher nicht mehr machbar, wenn die SPS außer der Signalerfassung auch noch andere Sachen zu tun hat.

170Hz --> alle 5,88 ms kommt ein Impuls.
Damit das Programm den Impuls sicher mitkriegt, muß es spätestens alle 2,94 ms auf den Eingang draufschauen - wenn idealerweise das Tastverhältnis 1:1 ist (bzw. der Impuls und die Pulspause jeweils min. 2,94ms lang sind. Wenn der Impuls oder die Pulspause nur 1ms lang ist dann muß alle 1ms abgetastet werden.)

Es geht nur dann einfach, wenn die Zykluszeit < die kürzeste Pulszeit bzw. Pulspausezeit ist, also < 2,94ms ist.
Oder der Eingang muß in einem Prozessalarm (bei Flanke) oder in einem Weckalarm (alle 2ms) ausgewertet werden.
Außerdem darf die Filterzeit des betreffenden Eingangs auf höchstens 1,6ms eingestellt werden.

Ich würde die 170Hz mit einem HSC erfassen. Das ist vermutlich nicht schwerer zu programmieren als die Lösungen mit Prozessalarm oder Weckalarm.

Harald
 
Bei den neueren Firmwareversionen der 1200 lässt sich die Eingangsverzögerung passend einstellen. Zusätzlich gibt es eine Option, kurze Impulse bis zum nächsten OB1-Zyklus zu halten. D.h. damit bekommt man auch z.B. 1ms Impulse bei einer Zykluszeit von 10ms mit. Darf eben nur ein Impuls kommen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hoffentlich ist das nichts für die Chemie oder Wasseraufbereitung...
Wenn schon eine Schneller-Zähler auf der 1200 zu kompliziert ist, wie soll das dann mit dem Rest werden?
 
Hoffentlich ist das nichts für die Chemie oder Wasseraufbereitung...
Wenn schon eine Schneller-Zähler auf der 1200 zu kompliziert ist, wie soll das dann mit dem Rest werden?
Ich glaube nicht, dass man den schnellen Zähler beherrschen muss, um andere Bereiche eines Programms zu schreiben.
Nichtsdestotrotz hast du natürlich recht, das der schnelle Zähler keine Zauberei ist.
Mein Problem ist nicht das konfigurieren, sondern, dass ich nach einer bestimmten Anzahl von Impulsen einen weiteren Impuls erzeuge.

Mit Standardeingängen würde ich das lösen, wie unten dargestellt. Wie kann man das mit dem schnellen Zähler machen?

Impulserzeugung.jpg
 
Die Zähler lassen sich in diversen Variationen einstellen.
Wenn du den Zähleingang als freilaufenden Zähler konfigurierst, kannst du z.B. über das zugehörige Eingangsdoppelwort den Zählerstand auslesen. Dann brauchst du in deinem Programm einen Speicherplatz um den Zählerstand vom letzten Zyklus zu merken. Über die Differenz (Zählerüberlauf beachten) hast du dann die Anzahl an Zählimpulse (bei dir Menge) seit letzten Zyklus. Die kannst du dann aufsummieren und daraus Schaltpunkte bilden oder sonstwas.

Über spezielle Bausteine kannst du auch den Zählerstand direkt manipulieren, oder dir bei Erreichen eines Zählerstandes einen Interrupt erzeugen um möglichst schnell darauf zu reagieren. Aber das steht wie schon beschrieben alles im Hanbuch. Musst nur genau hinschauen welche Firmwareversion du hast, bei der V4 imho sind da einige Optionen hinzugekommen.
 
Moin,
Das geht genauso...

Schau mal unter "Anweisungen/Technologie/Zählen/CTRL_HSC". Hiermit bedienst du den Zähler.
Der Zählwert wird zyklisch auf das in der HW-Konfig eingestellte EingangsDword geschrieben.
Vorbelegen(Rücksetzen) geht mit dem Bit CV (Solange CV high ist wird der Wert in New_CV auf den Zähler geschrieben)

Nehm dir mal ne halbe Stunde zum Probieren...
 
Nur mal zum andenken: Muss das wirklich in die SPS.

Ev. direkt die Impulse vom MID an die Dosierpumpen und die dann entsprechend einstellen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Nur mal zum andenken: Muss das wirklich in die SPS.

Ev. direkt die Impulse vom MID an die Dosierpumpen und die dann entsprechend einstellen.
Ich hätte es auch direkt vom MID abgenommen, aber ich muss 2 Dosierpumpen mit unterschiedlichem Förderstrom brtreiben.
Hab das ganze jetzt über den direkten Durchfluss (4-20mA) geregelt bekommen. Werde mich aber jetzt trotzdem mal hinsetzen und mich mit den schnellen Zählern vertraut machen. Die werden mir sicher noch häufiger über den Weg laufen.
Vielen Dank für die Denkanstöße und dir Kritik!
 
Zurück
Oben