easy-forum
Deutsch - Software => easySoft => Thema gestartet von: philipp am Mai 16, 2006, 12:30:07 Nachmittag
-
In einer Anlage befinden sich 8 Motoren mit einer Leistung von 15kW.
Diese Motoren sollen über die easy 821-DC-TCX bzw. das MFD mittels Takt (Impuls/Pause) angesteuert werden. Die Zeiten für Impuls / Pause sollen am MFD für jeden Motor separat eingestellt werden können.
Da der Hausanschluß nur die Leistung für max. 2 dieser Motore hergibt, müssen diese gegeneinander verriegelt werden.
Wenn jetzt z.B. der Motor 1 läuft und in dieser Zeit der Motor 2 +6 +7 auch noch anlaufen wollen, aber nicht dürfen, sollen die Wartenden Motoren nachdem der Motor 1 fertig ist, in dieser Reihenfolge ihren Takt abfahren, wie sie "angestanden" haben.
Wer hat eine Idee, wie diese Aufgabe einfach realisiert werden kann?
-
Hallo Philipp
Keine einfache Aufgabe, aber lösbar. Ich würde die Startsignale in ein Schieberegister- Funktionsbaustein FIFO (First in first out) schieben. Sobald der laufende Motor abgestellt hat wird das Register geschoben und der nächst priorisierte Motor startet. Das müsste gehen. Ich hätte Dir gerne ein Demoprogramm geschrieben. Da ich am Samstag für 3 Wochen nach Kanada verreise liegt das zeitlich nicht drinn. Es gibt sicher weitere Easy Fans welche Die behilflich sein können.
Eine Funktionsbeschreibung und ein Beispiel über das Schiebe-Register gibt es übrigens auch im Easy-Trainingscenter. Siehe Link:
http://trainingscenter.moeller.net/functions/easy-800/shift-register.html
Viel Erfolg
Hermann
-
Hallo Philipp
Die Motoren würde ich mit Zeitrelais in der Betriebsart blinkend ansteuern.
Wenn zuviele Motoren an sind kann man den Ablauf der Timer mit dem Eingang "ST" stoppen, nach dem Abschalten des Einganges "ST" läuft der Timer weiter.
Martin
-
Hallo Martin,
wie krieg ich dann die richtige Reihenfolge in den Griff ??? ??? ???
Ph.
-
Hallo Philipp
Ich würde die Motoren mittels Datenbausteinen nummerieren
Motor 3 erhält Startbefehl:
Der Eingang des Motors 3 (I3) betätigt mit einem Einschaltwischer den Datenbaustein DB3. In diesem wird der Konstantwert 3 in das Merkerwort MW10 geschrieben. Zugleich wird die Zahl 3 im MW10 in ein Schieberegister geschoben.
Motor 1 erhält Startbefehl:
Der Eingang des Motors 1 (I1) betätigt mit einem Einschaltwischer den Datenbaustein DB1. In diesem wird der Konstantwert 1 in das Merkerwort MW10 geschrieben. Zugleich wird die Zahl 1 im MW10 in das Schieberegister geschoben.
Usw.
So füllt sich das Schieberegister in der Reihenfolge, wie die Startbefehle eintreffen. Schaltet der gerade laufende Motor ab wird aus dem Schieberegister ausgelesen. (First in first out).
In Vergleicherbausteinen (8 Stück) wird die ausgelesene Zahl verglichen und der entsprechend Motor gestartet. Nicht einfach zu programmieren, aber ich denke da müsste gehen. Da ich für 3 Wochen nach Kanada verreise kann leider nicht weiter behilflich sein.
Diese Aufgabenstellung ist übrigens sehr interessant und bestimmt eine gute Trainingsaufgabe für Forum Teilnehmer.
Viel Erfolg. Hermann