Schnelle Eingänge

volta

Level-1
Beiträge
15
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,

habe die Aufgabe in einem Baustoffwerk alle Bandantriebe (ca.40) mit einer S7-300 zu steuern.
Programm läuft, alle sind zu frieden bloß ich nicht !

Problem sind die Umlaufkontrollgeräte, die induktive Näherungsschalter (BERO's) an den Umlenktrommeln

Jedesmal wenn so ein BERO eine P-Flanke bringt wird im OB35 (20ms) die Zeitdifferenz zum vorherigen Impuls ermittelt.
Daraus errechne ich über eine Impulskonstande (m/imp) die Bandgeschwindigkeit in m/s.

Aus der Bandgeschwindigkeit soll ermittelt werden, ob das Band evt. unzulässigen Schlupf hat, um frühzeitig eine Überschüttung zu verhindern. So was passiert hin und wieder, wenn das Band nachgespannt werden muß oder unmögliche Witterungsverhältnisse einwirken.

So weit so gut, geht sogar, aber immer wieder passiert es, das Impulse "verschlafen" werden, so daß die Bandgeschwindigkeit zu stark flattert und eine Schlupfauswertung fast unmöglich ist.

Bei 200ms Impulszeit sind +/- 20ms also 40ms gleichmal 20%. Der hüpft demnach von 2m/s bis 3m/s
In meiner Not habe ich einen Mittelwert aus der V_Band gebildet.
Ist aber insgesamt Mist, weil alles zu träge wird und trotzdem sich bei konstanden Bandlauf die Werte hin und her bewegen.

Hat jemand eine Idee, wie man das ganze Problem vielleicht aus einer ganz anderen Richtung bearbeiten kann.
Egal ob mit Siemens oder oder oder ....

Bei einer S7-200 würde ich mit der P-Flanke einen Interrupt auslösen, aber 40 Interrupteingänge gibt es nicht.
Soweit ich weiß kann die S7-1200 wie auch die S7-300 keine Interrupt zumindest nicht so viele.

Und nein ich will nicht auf Bastel- Atmel ausweichen.
Das ginge vermutlich am einfachsten, würde aber den Industriestandard nicht erfüllen (Reparaturfall)

Würde mich freuen, wenn jemend eine grundlegende Idee hätte.

Grüße aus Sachsen
 
Hallo,
naja, sowas ist ja nun eigentlich nicht zwingend eine Aufgabe einer SPS, ich mache bei solchen Sachen immer in der 300er Speed 7 von Vipa, ich habe Pulsbreiten von 2,5 ms zu verarbeiten, das geht bei nicht zuviel Programm noch ohne Interrupt.

Gruß
Mario
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Je nach Budget kannst Du wegen Industriestandard auch auf P+P Drehzahlwächter(oder ähnlich) umsteigen. Das ist auch sauberer, als das Drehzahlsignal mit der SPS auszuwerten und meiner Ansicht nach industrietauglicher.
 
Wenns mit der SPS sein soll, Zähler- bzw. Frequenzmessbaugruppen wie FM350-1, oder als ET200S mit den entsprechenden Karten.
Bei 40 Stück wird das aber schnell groß und vor allem teuer, denn diese Karten haben nur einen einzigen Mess-Eingang. Mit Karten auf dem Rack einer S7-300 ist es nichtmal möglich diese Anzahl aufzubauen.

Ist die Frage ob der Kunde bei einer laufenden Anlage nochmal richtig Geld aus der Tasche nehmen will.
Mal angenommen ein Wächter von P+F kosten pro Stück 300 Euro...man kann es sich denken was dann kommt. Aber ich denke auch dass sowas eigentlich das die industrietaugliche Lösung wäre.

PS
Eine S7-1200 hat zumindest 6 Eingänge für Frequenzmessung an Bord ;-)
 
Zuviel Werbung?
-> Hier kostenlos registrieren
hm... ich werf jetzt mal ne blöde frage in den raum, müssen diese signale denn immer und ständig überwacht werden? aus kostengründen könnte man sich ja auch ne kaskade vorstellen mit relais die dann die signal umschalten...
wäre aber nur was für die schlupferkennung, allerdings nichts sicheres für eine risserkennung, und vorallem der verschleiss bei den relais ist wahrscheinlich auch sehr hoch :) also eher ne "bastellösung"... vergess meinen vorschlag am besten ganz schnell wieder :D
 
gute Idee

Hallo,
naja, sowas ist ja nun eigentlich nicht zwingend eine Aufgabe einer SPS, ich mache bei solchen Sachen immer in der 300er Speed 7 von Vipa, ich habe Pulsbreiten von 2,5 ms zu verarbeiten, das geht bei nicht zuviel Programm noch ohne Interrupt.

Gruß
Mario

Hallo Mario

kannst du mir nähere Angaben zu der Vipa geben, wenn die das kann, könnte ich die 40 Eingänge sammeln und berechnen und die Berechnungsergebnisse per Profibus-DP an die "Haupt"- Steuerung übertragen. Den Euro 50 für die Vipa ist bestimmt noch aufzutreiben.

Grüße Heiko
 
Für derartig massenhafte schnelle Eingänge habe ich vor ein paar Jahren eine S7-200 zur Signalvorverarbeitung benutzt und dann per MPI an eine S7-300 gekoppelt. Damit konnte ich 2ms-Impulse auswerten. 1ms wäre durch den aktivierten Impulsabgriff auch noch möglich gewesen.

Harald
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich denke da an Impuls nach Analog Wandler (extern) und dann Analog in die 300.

Aber 40 Analogeingänge + die Wandler sind auch kein Pappenstiel.

Was auch noch gehen könnte: wie werden die Inis jetzt angesteuert? Wieviele Impulse pro Umdrehung? Vielleicht kann mann da ja noch mit der Frequenz runter kommen wenn nur 1 bis 3 Impulse pro Umdrehung kommen? oder hier eine "einfache" Untersetzung mit Keilriemen oder so?
 
Hallo,
naja, müßte man versuchen, mal einen FB/FC zusammenbasteln und das ganze 40 mal aufrufen um zu sehen wo die Zykluszeit hingeht.... Im konkreten Fall habe ich 317 / 314 / 312 im Einsatz, ich denke die 317 plus entsprechende Anzahl Speedbusmodule müßte es werden.
Mal so rum, versuche dochmal von Vipa eine Leihstellung zu kriegen.
Eine 200 als Vorteiler, bei allem Respekt PN/DP, die halte ich nun für sehr ungeeignet, ich mache mit der auch heute noch viel, zum Steuern und Regeln bei moderaten Geschwindigkeiten ist die genial in jeder Hinsicht. Aber hier braucht es nicht viel Code und man knackt die 10ms Grenze, auch mit einer 214.
Ansonsten wie schon besprochen 0815 Keiliemenwächtermodule und gut ist. Eine 317 kriegt man auch nicht unter 2k, in Unkenntnis der aktuellen Preise, da fehlt noch Schiene, Module....

Gruß
Mario
 
Eine 200 als Vorteiler, bei allem Respekt PN/DP, die halte ich nun für sehr ungeeignet
Bei allem Respekt Mario, wie meinst Du das?
40 schnelle Eingänge für knapp 500,- EUR + MPI-Kopplung, Programmgröße in der CPU222 ca. 450 Byte, Zykluszeit knapp 2ms. Was findest Du daran "sehr ungeeignet"?

Harald
 
Zuviel Werbung?
-> Hier kostenlos registrieren
40 schnelle Eingänge für knapp 500,- EUR
Hallo Harald,

würdest Du mir das bitte erklären?
Die 200er hat doch nur 6 schnelle Zähler (HC0-5), da bräuchte man dann doch 7 CPUen bei 40 Zählern, oder?
Und die gibt's doch bestimmt nicht für unter Hundert? Oder ist das pro Stück?
Hab' zwar nichts Mariob's Zweifel hinsichtlich der Geschwindigkeit (das Thema bezüglich der Interrupts hatten wir ja vor nicht all zu langer Zeit), aber ich hab' die Dinger aber auch noch nie per MPI verknüpft.
 
Ich denke, er meint normale Eingänge der 200, die bei 2 ms Zyklus ja auch bis zu 250Hz verarbeiten können.

Anderer Vorschlag, auch etwas "Bastelei":
1) Eine CPU mit schnellen Zähleingängen, wie die 200 oder 313C, oder... Die CPU hat aber z.B. nur 3 davon.
2) Du musst die Bänder nicht laufend überwachen. Multiplexen ginge auch.
3) Statt mit Relais zu multiplexen, kann man das auch mit Optokopplern tun.
4) Optokoppler gibt es in industrietauglichen Potentzial-Trennklemmen. Kein Löten, Leiterplatte, etc.
Jeder Bero schaltet den Eingang eines Optopkopplers. Bei den Ausgängen hängt der Plus an einem Digitalausgang der SPS, während alle Minus zusammen auf den schnellen Zähler-Eingang geschaltet werden. Jetzt kommt nur der Impuls durch, dessen Optokoppler gerade Plus vom seinem Digitalausgang bekommt.
 
Weil auch die Optokoppler-Klemmen ihren Preis haben, hier noch ein Vorschlag:
Vermutlich kann ein Digitalausgang auch genügend Strom liefern, um einen BERO zu versorgen. Also alle BEROs auf denselben Eingang schalten, aber immer nur einem Strom geben. Da die ausgeschalteten BEROs sich möglicherweise seltsam benehmen, wenn sie Spannung nur über ihren Ausgang bekommen, jeweils eine Diode in die Signalleitung schalten.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ja, mit "schnellen Eingängen" meine ich die normalen S7-200-Eingänge an CPU und EM, welche wegen der Zykluszeit kleiner 2ms allesamt schneller als seine S7-300-Eingänge sind. Ganz ohne Interrupts/Prozessalarme.

Harald
 
Jedesmal wenn so ein BERO eine P-Flanke bringt wird im OB35 (20ms) die Zeitdifferenz zum vorherigen Impuls ermittelt.
Ich hoffe, das ist nur etwas unglücklich formuliert ... nicht daß das Programm vielleicht nicht ganz astrein ist. Ich glaube nicht, daß die Bero-Flanken mit dem OB35 zusammenfallen. Vielleicht zeigst Du uns mal Deinen Programmteil mit der Impulsauswertung?

Harald
 
Hallo,
@Harald, Du machst ohne Interrupts, so hatte ich das auch verstanden - aber 450 Byte für 40 Eingänge? Sportlich. Habe ich so noch nie gemacht, schnelle Sachen, da bin ich von der 200 weg, die hat einfach ihre Grenzen. Mit ganz wenig Code 100 bis Hz habe ich hier was, das würde ich aber so nie wieder tun.
Und das auf einem Eingang, aber das ganze mal 40? Man müßte es probieren, mit Interrupts fliegt einem der Mist garantiert noch schneller um die Ohren.
Eigentlich bräuchte man mehr Zeit....

Gruß
Mario
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi volta,

bisher wurde ja nur eine Lösung auf elektronischem wege angesprochen.
Komme mir ja schon fast blöd vor aber:
Vielleicht wäre es möglich die Schalteisen, auf welche die Beros der Umlenkrollen schauen zu verlängern...
wir hatten das selbe Problem, und haben die eine hälfte einer Welle um 5mm abfräsen lassen. somit ist der Impuls den der Bero bringt eine halbe Umdrehung lang...
Je nach Umdrehungsgeschwindigkeit der Rollen und Durchmesser würde das vielleicht reichen... kann man sich a ausrechnen ;-)
 
Hallo,
ich nochmal, in der 200 gibt es da ein nützliches Helferlein, im Systemdatenbaustein lassen sich die Eingänge als Impulsabfrage konfigurieren. Der auflaufende Impuls wird dort asynchron bis zum nächsten Zyklus gespeichert und kann dann "abgeholt" werden. Das funktioniert aber nur mit den Onboardeingängen der CPU....

Gruß
Mario
 
@Harald, Du machst ohne Interrupts, so hatte ich das auch verstanden - aber 450 Byte für 40 Eingänge?
Das Programm in der S7-200 ist so kurz und schnell weil es im wesentlichen nur 40 Vorzähler für 40 Eingänge enthält:
Code:
                      +----------+
   E0.0               |  INC_B   |
---| |-----|P|--------|EN     ENO|-
                      |          |
                VB100-|IN     OUT|-VB100
                      +----------+
Positive Flanken an den Eingängen erhöhen jeweils ein Zählerbyte (mit Wrap) im Bereich VB100...VB139. Die S7-300 liest mit SFC67 "X_GET" über MPI diese Vorzähler-Bytes und vergleicht dann, welche Bytes sich um wieviel seit der letzten Lesung geändert haben und addiert die Differenz auf die Hauptzähler.

Diese Lösung hat auch noch einen positiven Zusatzeffekt: die S7-300 kann eine gewisse Zeit lang in STOP sein oder die MPI-Verbindung kann unterbrochen sein, ohne daß Zählimpulse verloren gehen.

Für Status/Diagnosezwecke macht mein Programm der S7-200 noch eine Impulsverlängerung (0,3s TOF) je 8 Eingänge auf die unbenutzten Ausgänge A0.0... und ein Lifebit 1Hz in V140.0 zur S7-300.

Harald
 
Zurück
Oben