Was benötige ich für Zählung schneller Impulse (z.b. Inkrementalgeber)?

DennisBerger

Level-2
Beiträge
436
Reaktionspunkte
61
Zuviel Werbung?
-> Hier kostenlos registrieren
Welche HW benötige ich für Zählung schneller Impulse (zb eines Inkrementalgeber)?

Hallo,
bin gerade bei der Planung und Bestellung der Hardware,
hab folgendes Problem

Ablauf soll sein:
Ein kleiner Motor dreht eine Spindel und öffnet damit ein Ventil bis ein bestimmter Druck anliegt.
Per Inkremntalgeber sollen die Schritte in der SPS gezählt werden, so dass die SPS ca weiss, wieviel Umdrehungen benötigt wurden bis Druck X erreicht wurde.
(damit sie später diese gemerkte Position per Schrittzählung wieder anfahren kann (ohne Druckabschaltung)

Der Motor dreht mit maximal 60U/min
der Inkrementalgeber gibt 360 Imp/U raus (oder 500imp/u weiss noch nicht genau)

also wären das bei einer Umdrehung 360-500 Impulse pro sekunde an den SPS Eingang.

In der Praxis ist aber eher von 40-50U/min auszugehen, aber ich will mal den worst case haben, also volle Geschwindigkeit.


Hardware
geplant ist:
CPU 315
SM 321 Eingangsbaugruppe (16DI)
SM 331 Ausgangsbaugruppe (16DO)
SM 331 Analogbaugruppe (für Druckmessung)
TP 177B

Zusatzinfo falls jemand den Hersteller kennt:
keliner DC Motor Maxon EC-max40
Steuerungskarte für Motor Maxon DES50/5


Frage:
Kann ich mit der CPU 315 und der SM321 die Impulse, die doch recht schnell sind, zählen oder brauche ich eine spezielle Karte/Baugruppe (zb. FM350-1?)

Was sind eure Tipps?


Danke für eure kompetenten Antworten.

Gruss Dennis
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
danke dir,
tja wenn ich das wüsste, wo ich am ende mit der zykluszeit liege ;)
wsie kommst du auf die 7ms als richtwert?


hab ein TP177b zu programmieren, es kommen 3 pt100 fühler dazu + 2 druckmessungen und ca 8 ventile.

eigentlich nichts grosses.

Ist die Zählerbaugruppe speziell für solch Sachen gedacht?


edit:
hatte oben einen fehler, natürlich sind es bei 1 Umdrehung pro sekunde ca 360-500 Impulse pro sekunde an die SPS
 
Zuletzt bearbeitet:
Hi Dennis,

also ich würde behaupten das das Probleme geben wird. Denn du hast 60 Imp pro Sekunde und die nächste Frage wäre welche mind. Impulslänge hat jeder Impuls.
Dann muss du du noch die Zykluszeit des Programms berücksichtigen etc..

Also hier würde ich die Zählerbaugruppe FM350 einsetzen die nur die Zählung übernimmt. Hab ich auch schon mehrfach verwendet hatte damals einen Hydr.-zylinder mit 1024Imp/cm funktionierte bestens.
Gruß
 
hi move,
danke dir, hatte oben einen tippfehler drin,
sind ja maximal 1 U/s
1U sind 360-500 Impulse.

also hab ich 360-500 Impulse pro sekunde auf die SPS.

das wird wohl nicht gehen mit CPU 315 und SM321 oder?
Also werde ich euren Tipp mit der FM350-1 befolgen.

Muss bei der Programmierung, beim Anschluss uind Konf. der FM350-1 etwas beachtet werden oder speziell programmiert werden?
Gibt es spezielle FBs die ich benutzen kann?
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Jo das mußt du,

also grob gesagt erhält man bei Lieferung der Baugruppe auch die notwendige Treiber-CD von Siemens mitgeliefert. Hier sind u.a auch Beispielprojekte und die notwendigen FB's dabei.
Aber man kannst auch nachlesen (siehe Anhang)

Viel Glück
Gruß
 

Anhänge

  • FM350-1_a.pdf
    1 MB · Aufrufe: 61
  • get3501_a.pdf
    229,2 KB · Aufrufe: 31
S7

Hallo Kollege,

deine Anlage ist nicht so gross, so wäre auch die Überlegung da mal eine
313C CPU zu nehmen; hat on Board schon schnelle Zähl-Inputs, 24 DigIn, 16 DigOut und 4 Analog Inputs, und ein RTD Analog In..schau mal nach.


Gruss: V.
 
d
wsie kommst du auf die 7ms als richtwert?

Das ist eine Einfache Rechnung, sie beruhte auf Deiner ersten Angabe von 60 Imp/s.
Das ergibt eine Pulsbreite von 16,66Periode ms.

Die Abtastrate ist minimal Pulsbreite / 2, mathematisch also 8,33333 ms.

Noch eine Sicherheitsreserve abgezogen und schon sind wir bei 7ms.

Mit 500 Pulsen landen wir bei ca. 1ms.

Streich meine Aussage von oben mit " es könnte gehen" und nimm, wie bereits empfohlen, eine Form der Zählkarte.

dtsclipper
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Kollege,

deine Anlage ist nicht so gross, so wäre auch die Überlegung da mal eine
313C CPU zu nehmen; hat on Board schon schnelle Zähl-Inputs, 24 DigIn, 16 DigOut und 4 Analog Inputs, und ein RTD Analog In..schau mal nach.
Gruss: V.

Hi Vladi,
hab gerade mal geschaut.
durch die analogen Eingänge für meine 2 Drucktransmitter würde ich schon mal die SM331 sparen und durch den schnellen Zähler die FM350-1

Hab aber im Baugruppenkatalog nichts gefunden über schnelle Zähler.
nur folgendes (s.4/12):
Eingangsverzögerung für Zähler/Technologische Funktionen
CPU 313C 16μs
und bei
CPU 314C 8μs

hab ich da richtig geschaut? dann wäre ja eine 314er noch schneller?



wie sieht es mit programmierung und parametrierung aus?
ist es komplizierter mit der 313er als wenn ich ne FM-350-1 dazu nehme?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hab halt etwas bedenken, dass die 313er sich schwerer programmieren und ko´nfigurieren lässt was die Zähler betrifft als die FM350-1
:confused:
Bin zwar erfahren aber jetzt nicht DER sps programmierer.

kann ich bei der CPU 313 die 4 anaolgein eingänge getrennt voneinander konfigurieren? also z.b. 2 als 0-20mA 4leiter und 2 als 4-20mA 4-leiter

gleiche frage bei AO:
Kann ich die 2 analogen Ausgänge unterschiedlich konfigurieren,also 1 als 0-10V und den anderen als 4-20mA ausgang?
 
313

Hi,
ja, die AIs/AOs kann man getrennt konfigurieren.

Zählfunktionen: im HW Konfig parametrieren, und mittels SFB steuern.
Ist gut beschrieben.
Der Zählwert ist als PEW auch direkt lesbar.

Gruss: V.

P.S. Bist nicht "..DER sps programmierer"... Bist du "..DIE sps Programmiererin..." oder was!
:)
 
lach.. nene bin schon männlich ;)


also du meinst das bekoimmt man hin mit dem sfb? *grusel*

will ja nur motor drehen bis druck erreicht ist dabei die schritte zählen, diese abspeichern, motor wieder zurückdrehen lassen bis 0 stellung (endschalter) dann nächstes teil rein, drehen bis druck erreicht, impulse speichern und nächstes.

dann wenn das erste wieder eingelegt wird soll der motor von null wieder auf die position fahren, die er zuerst gespeichert hat
beim 2. dann auf den wert vom 2. teil usw..
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich würde auch 313C, einsetzen. Hat integrierte schnelle zähler bis 30 kHz.
Dafür brauchst du noch SFB47.

http://support.automation.siemens.c...lib.csinfo&lang=de&objid=18467424&caller=view

hab mir das programm mal angeschaut,
also ganz schlau werd ich da draus nicht, sind ja massig viele werte die man da eingeben muss und alles auf english.. seufz..

so viele parameter und fbs?
 
Counter

Hi,
ja die Impulse zählen ist die eine Sache..
Für dein Vorhaben muss man sich eine Positionierung basteln, sodass man
weiss, wo der Motor aktl. steht. Wenn das Ventil ganz zu ist, ist das Pos.0
und so weiter..d.h. je nach Drehrichtung Motor durch die Zählimpulse die Position rauf bzw. runterfahren..So in der Richtung, denke ich.
Andere Möglichkeit ist statt Zählen die Positionierfunktion zu verwenden,
gibt es bei 314C, da muss man schauen was beser/leichter ist.

Gruss: V.
 
ja so wird das auch gebaut,

habe einen endschalter für den Nullpunkt, da ist der motor bzw die feder ganz nach rechts gedreht,
teil 1 wird eingelegt,
motor dreht vorwärts und öffnet langsam das ventil (drückt gegen eine mebrane) die Impulse werden gezählt bis der druck x erreicht ist. motor stoppt,
Impulswert wird gespeichert (in eine variable DW), motor dreht zurück auf endschalter position 0 und der bediener legt das nächste teil ein.
hat er alle durch und legt wieder das erste teil 1 ein.

da der wert gespeichert wurde, dreht der motor nun auf die Impulse die er bei teil 1 gespeichert hat.

frag mich halt nur, wie ich das mache und ob ich all diese paramter die in den sfb sind brauche, sind ja fast 20-30 stück..

wie würdet ihr das am geschicktesten machen?
wie gesagt, ich bin kein hardcore progger ;)
 
Zuviel Werbung?
-> Hier kostenlos registrieren
-

Ach so, fährst Du immer auf Pos. 0 zurück?
Ja das ist dann kein so grosses Problem, erst die passende Positionen speichern, dann von 0 immer auf die entspr.Pos. fahren ist keine Hexerei.
Das einfachste ist direkt mit dem Zählwert arbeiten (PEWxx), vergleichen
und gut ist.

Gruss: V.
 
Frequenzteiler

Mit einer Zählerbaugruppe wird das wohl zu machen sein, ist aber nicht ganz billig. Ich gehe mal davon aus daß der Ventilantrieb eine ziemliche Untersetzung hat und es auf ein paar Umdrehungen des Motors auch nicht ankommt. Unter dieser Voraussetzung würde ich einen Frequenzteiler einsetzen (z.B. http://www.motrona.de/encoder_teiler.html). In welche Richtung der Motor läuft weisst du ja von der Ansteuerung, es würed also reichen nur 1 Phase über einen gewöhnlichen Eingang auszuwerten.
U E_Weg
U A_Vor
ZV Z_Weg

U E_Weg
U A_ZUR
ZR Z_Weg
 
@vladi:
danke was brauch ich denn da an gbs wenn ich das mit der fm350-1 lösen möchte?
da gibt es zwar sfb aber die haben ja massig parameter, brauch ich die alle?

@awl442
interessanter ansatz, hast recht, muss nicht 100% genau sein, aber funktioniert das auch wenn die steuerung die geschwindigkeit verringert?
z.b. weil ich äher an den sollwert druck komme und dadurch per analog ausgang die spannung verringere?
 
Zurück
Oben