Gefinkelte Aufgabenstellung, Hirnschmalz gefragt

MarkusP

Level-2
Beiträge
324
Reaktionspunkte
31
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo an alle Tüftler und Mathematik Freaks,

meine Aufgabenstellung sieht auf den ersten Blick recht easy auf, ich komme aber gerade mal auf keinen grünen Zweig. Vielleicht denke ich aber einfach nur zu kompliziert...

Mein Kunde hat Kompressoren mit unterschiedlichen Luftleistungen. (160 bis 450 kW) Er will nun, da der Luftbedarf bekannt ist und dieser mir auch übergeben wird, dass nur die absolut notwendigen Kompressoren in Betrieb gehen. Erschwerend hinzukommt, dass nicht immer alle Kompressoren verfügbar sind, bzw. nicht gestartet werden können oder dürfen.

Damit es jetzt nicht zu einfach wird, muss mein (Standard) FB zusätzlich mehrere gleichartige (derzeit bis zu max. 4 Kompressoren) verwalten können. Das ergibt dann 16 Kompressoren und entsprechende Kombinationsmöglichkeiten.

Eingänge in den Baustein:
* Angeforderte gesamte Luftmenge
* Luftmenge eines Kompressors der Einheit 1
* Zum Start verfügbare Kompressoren von Einheit 1 (0..4)
* Luftmenge eines Kompressors der Einheit 2
* Zum Start verfügbare Kompressoren von Einheit 2 (0..4)
* Luftmenge eines Kompressors der Einheit 3
* Zum Start verfügbare Kompressoren von Einheit 3 (0..4)
* Luftmenge eines Kompressors der Einheit 4
* Zum Start verfügbare Kompressoren von Einheit 4 (0..4)

Ausgänge:
* Anzahl zu startender Kompressoren der Einheit 1
* Anzahl zu startender Kompressoren der Einheit 2
* Anzahl zu startender Kompressoren der Einheit 3
* Anzahl zu startender Kompressoren der Einheit 4

Es sollen so wenig Kompressoren als möglich gestartet werden, beginnend mit den kleinsten. Ein 400 kW Kompressor muss Vorrang gegenüber zwei 200 kW Kompressor haben. Wird mehr Kompressorleistung angefordert als zur Verfügung steht, müssen alle angefordert werden.

Ich will hier nun keine ausprogrammierten Vorschläge, sondern vielleicht hat hier irgendwer so was ähnliches schon gemacht, und kann mir eine bloße Idee geben. Derzeit bin ich bei verschachtelten Schleifen angelangt, und zig Programmzeilen... Jede Lösung die ich bis jetzt hatte, funktionierte nur eingeschränkt, und fängt nicht alle Möglichkeiten und Kombinationen ab.

Entweder bin ich zu blöde, oder es ist nicht so einfach wie es aussieht.

Programmiert wird's letztendlich in ST unter TwinCAT-PLC. Spielt jedoch eigentlich keine Rolle.


Ich hoffe die Aufgabenstellung ist einigermaßen klar, und würde mich über Eure Anregungen sehr freuen. Sollte ich das Problem irgendwie lösen können, stelle ich den Baustein natürlich gerne zur Verfügung.

Schönes WE
 
Hallo Markus,
mein pauschaler Ansatz dazu :
Von allen verfügbaren Kompressoren und deren Leistung ein neue Liste erstellen. Diese Liste nach Leistung sortieren (größte Leistung ist oben). Nun diese Liste mit dem Bedarfswert vergleichen und entsprechend Schaltungen auslösen.

Vielleicht ist das ja ein neuer Ansatz für dich ...
Gruß
LL
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Markus,
mein pauschaler Ansatz dazu :
Von allen verfügbaren Kompressoren und deren Leistung ein neue Liste erstellen. Diese Liste nach Leistung sortieren (größte Leistung ist oben). Nun diese Liste mit dem Bedarfswert vergleichen und entsprechend Schaltungen auslösen.

Vielleicht ist das ja ein neuer Ansatz für dich ...
Gruß
LL

Stichwort dazu : BubbleSort
 
Danke ihr fleißigen und lieben Leute,

diesen Ansatz habe ich heute morgen kurz gehabt, habe mich aber für einen anderen Lösungsansatz entschieden. War wohl ein Fehler...

Danke
 
Danke ihr fleißigen und lieben Leute,

diesen Ansatz habe ich heute morgen kurz gehabt, habe mich aber für einen anderen Lösungsansatz entschieden. War wohl ein Fehler...

Danke

Viele Wege führen nach Rom.... oder zu der benötigen Menge Druckluft.... Ich denke das du an einer Sortierroutine nicht drum herrum kommst.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
... wahrscheinlich brauchst du dann zusätzlich noch einen weiteren Algorhythmus - so wie beschrieben würde ich hier allerdings erstmal starten.

Gruß
LL
 
...wird nicht einfacher

Noch ein Gedankenexperiment:

Gruppe 1: 160 kW, 2 Stk. verfügbar
Gruppe 2: 320 kW, 1 Stk. verfügbar
Gruppe 3: 450 kW, 2 Stk. verfügbar
Gruppe 4: nicht vorhanden

Die Ergebnisliste wäre dann in der Form, wenn ich es richtig verstanden habe, so:

160 kW
160 kW
320 kW
450 kW
450 kW

Damit bei einer angeforderten Leistung von 320 kW nicht die beiden 160 kW Kompressoren gestartet werden mache ich was ?

Ich glaube, ich muss für alle Kombinationsmöglichkeiten zusätzliche Listen erstellen..

Ist es wirklich so schwierig? Ich geh' mir jetzt ein Bier holen... ;)

LG
 
Hallo Markus,
ich hatte doch vorgeschlagen : die größte Leistung nach oben ...
Jetzt würdest du schon etwas passendes fínden. Es wäre m.E. aber noch weiterhin zu berücksichtigen : "Betriebsdauer bis jetzt".

Gruß
LL
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Wie wäre es gleich mit einer Liste der Kombinationsmöglichkeiten. Hält sichderzeit ja in Grenzen. Und dazu passend jeweils einer Bitmaske, welche Kompressoren dafür laufen müssen. Dabei sind mehrere gleiche Leistungen mit unterschiedlichen Kompressoren zulässig bzw. notwendig. Wenn nun einer dieser Kopmpressoren nicht laufen darf, kann dies ebenfalls einfach durch Bitmaskierung herausgefunden werden und diese Stufe ausgeschlossen werden.
 
@ Markus

Ich würde alle verfügbaren Kompressoren in einen DB eintragen. Ist ein Kompressor nicht verfügbar bekommt er als Leistung eine 0 und wandert bei der späteren Sortierung ganz nach unten.
Der grösste Kompressor steht dann ganz oben in der Liste. Kommt jetzt die Anforderung dann wird verglichen. Ist der erste Eintrag in der Liste zu gross springe zum nächsten Eintrag. Ist der kleiner oder gleich der Anforderung dann Einschalten und den Wert des Kompressors von der Anforderung abziehen. Ist die grösser Null dann weiter suchen... Damit hast du Automatisch immer die kleinste Anzahl an Kompressoren am laufen. Bekommst du die Differenz nicht auf Null laufen automatisch alle Kompressoren.

Die Sache mit der Betriebsdauer macht das ganze natürlich etwas komplizierter :ROFLMAO:.......
 
Danke für die vielen Antworten!

Wie wäre es gleich mit einer Liste der Kombinationsmöglichkeiten. Hält sich derzeit ja in Grenzen.
Ich bin ja jetzt nicht unbedingt das Mathematikgenie, aber wären alle 16 Kompressoren von unterschiedlicher Leistung, gäbe es 65536 Kombinationsmöglichkeiten.

Da ja die Einschränkung des gleichen Typs pro Gruppe besteht, gibt es innerhalb der Gruppe max. 5 Möglichkeiten. (keiner, einer, zwei, drei, vier) Wie vermehrt sich das nun durch die Tatsache, dass es vier Gruppen gibt? Ich glaube es sind 5 hoch 4 (=625) Möglichkeiten. Diese Anzahl übersteigt leicht meine gedankliche Vorstellungskraft für einen Lösungsansatz.

Gruß
 
Zuviel Werbung?
-> Hier kostenlos registrieren
grübel, grübel und studier'

Ist ein Kompressor nicht verfügbar bekommt er als Leistung eine 0 und wandert bei der späteren Sortierung ganz nach unten. Der grösste Kompressor steht dann ganz oben in der Liste.
Genau das sollte die Liste in meinem vorigen mail darstellen, die bereits aussortierte List.

Kommt jetzt die Anforderung dann wird verglichen. Ist der erste Eintrag in der Liste zu gross springe zum nächsten Eintrag. Ist der kleiner oder gleich der Anforderung dann Einschalten und den Wert des Kompressors von der Anforderung abziehen. Ist die grösser Null dann weiter suchen... Damit hast du Automatisch immer die kleinste Anzahl an Kompressoren am laufen. Bekommst du die Differenz nicht auf Null laufen automatisch alle Kompressoren.
Soweit war ich schon mal, es wird jedoch nicht berücksichtigt, wenn ein Kompressor gleich groß ist, wie z.B. zwei andere gemeinsam.

Die Sache mit der Betriebsdauer macht das ganze natürlich etwas komplizierter :ROFLMAO:.......
Das klammere ich derzeit hier aus, ist so schon kompliziert genug. Wird derzeit jedoch von einem nachfolgenden Baustein innerhalb der einzelnen Gruppen berücksichtigt.

Ich glaube, ich hole mir noch ein Bier :sm19:

Danke auch Dir, für Dein Hirnschmalz und Deine Freizeit am Sonntag Nachmittag
 
.....

Soweit war ich schon mal, es wird jedoch nicht berücksichtigt, wenn ein Kompressor gleich groß ist, wie z.B. zwei andere gemeinsam.
...

Wieso nicht ??? Die grösste Leistung steht OBEN in der Liste.... deine Liste war verkehrtrum sortiert

450KW
450KW
320KW
160KW
160KW

Lautet die Anforderung jetzt 320KW wird nur der Kompressor an der 3. Stelle eingeschaltet. Alle anderen bleiben aus.

Ich würde von der Betrachtung der einzelnen Gruppen Abstand nehmen und alle 16 Kompressoren als eine Einheit betrachten.
 
Hallo,

vergiss deine CPU
vergiss es, das selber zu programmieren --> das wird nur Flickwerk


Jetzt nicht gleich maulen, aber bei den jährlichen Energiekosten dieser Kompressorstation lohnt es sich, um 1/10% in den Last- und Leerlaufstunden zu feilschen und zu optimieren.

Ich würde folgende Steuerung empfehlen: http://www.airleader.com/



Wir haben seit über 10 Jahren ein Vorgänger-Modell der neuen Steuerung im Einsatz.

Vor 2 Jahren kam Kaeser mit seiner neuen Steuerung zu uns, und war fest davon überzeugt, daß die NEUE Kaeser-Steuerung für einen wirtschaftlicheren Kompressorlauf sorgen würde, als unsere alte Airleader-Steuerung.
Wir haben die Kaeser-Steuerung montiert und von Kaeser in Betrieb nehmen lassen.

Nach 4 Wochen --> unsere Kompressoren waren schlechter ausgelastet als vorher
Also hat Kaeser die Parameter optimiert
Wieder nach 4 Wochen --> Auslastung war leicht besser als vorher, aber immer noch weit von den Airleader-Daten weg
Kaeser hat Parameter optimiert
Nochmals 4 Wochen: Kaeser hat die Steuerung wieder mitgenommen (O-Ton: an die Airleadersteuerung kommen wir nicht hin) *ROFL*


Und sowas willst du selber-stricken (bei Energiekosten in 6- oder 7-stelliger Höhe)?????

M. M. nach hat die Airleader-Steuerung bei dir einen ROI von ein paar Monaten!!!!



MfG
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Das du das mit der Sortier-Reihenfolge nun schon 2 Mal überlesen hast ...:confused:

Ich denke auch, dass sich aus Axels und meinem Ansatz in Kombination (sogar ohne großen Aufwand) dein Problem erschlagen läßt.
Möchtest du zusätzlich die Laufzeit (Betriebsdauer) mit dort Einbeziehen, so wäre das an dieser Stelle der richtige Ansatz. Hat ein Kompressor ein größere Laufzeit als ein anderer so kommt er automatisch ans Ende der Liste. Werden alle benötigt, so hat er dann immer noch seine Chance ...
 
@Sockenralf:
Ich kenne nun weder Kaeser noch Airleader ... ich habe allerdings bislang festgestellt, dass man ALLES (wenn man will) mindestens genausogut hinbekommen kann wie die Anderen - gleicher Aufwand möglicherweise vorausgesetzt ...
Ich kann mich aber in diesem Fall täuschen ... :rolleyes:
 
Und sowas willst du selber-stricken (bei Energiekosten in 6- oder 7-stelliger Höhe)?????
Wir haben insgesamt ca. 5 MW Anschlussleistung der Kompressoren. Die ganze Anlage braucht an die 10 MW. Da die Kompressoren insgesamt nur ca. 300 Stunden im Jahr in Betrieb sind, sind (zumindest) mir ev. Einsparungen durch ev. Last- und Leerläufe egal. Und wenn ein Kompressor einmal läuft, dann wird Luft gebraucht, die Applikation braucht davon mehr als genug.

Trotzdem Danke für Deine Info, ich muss jedoch bis morgen eine Lösung bieten können.

LG
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Wir haben insgesamt ca. 5 MW Anschlussleistung der Kompressoren. Die ganze Anlage braucht an die 10 MW. Da die Kompressoren insgesamt nur ca. 300 Stunden im Jahr in Betrieb sind, sind (zumindest) mir ev. Einsparungen durch ev. Last- und Leerläufe egal. Und wenn ein Kompressor einmal läuft, dann wird Luft gebraucht, die Applikation braucht davon mehr als genug.

Trotzdem Danke für Deine Info, ich muss jedoch bis morgen eine Lösung bieten können.

LG

Bis morgen ist ja noch viel Zeit.... aber kannst du uns mal verraten was das für eine Anlage ist ??????
 
Zurück
Oben