Hallo Profis.

Ein Newcomer bräuchte mal wieder einen Denkanstoss.

In einem Projekt habe ich eine sogenannte Prioritätenregelung. Das heisst: Wenn eine gewisse Anzahl von Entnahme gleichzeitig aktiv sind, dürfen die anderen nicht freigegeben und ein Sperrausgang gesetzt werden. Die Anzahl der Entnahme kann man eingeben.

Dazu habe ich eine kleine FB-geschrieben, den ich mal unter der Adresse
http://home2.vr-web.de/~stefan-buettner/ als AWL-Quelle abgelegt habe.
Der Baustein funktioniert soweit. Wenn mehr als X Anforderungen aufgelaufen sind, wird bei den Restlichen auch brav die Sperre gesetzt.

Der Baustein funktioniert aber nicht mehr richtig, wenn mehr als X Anforderungen gleichzeitig ankommen, bzw wenn die Anforderungen den Wert X+1 übersteigen. Wenn das letztere der Fall ist, werden anstehende Anforderungen erst durchgeschaltet, wenn alle "alten" durchgeschalteten Anforderungen weggefallen sind.

Die Funktion soll so sein, das die eingehenden Anforderungen bis zum erreichen der eingestellten Anzahl durchgeschaltet werden. Bei überschreitung werden bei allen nicht durchgeschalteten Anforderungen ein dem Anforderungseingang zugeordneter Sperrausgang gesetzt (Soweit funktionierts ja). Sollte nun die max. Anzahl durchgeschaltet sein und noch weiter Anforderungen anstehen, so sollen bei wegfall einer durchgeschalteten Anforderung automatisch eine der Anstehenden durchgeschaltet werden (am besten die älteste).

Sorry, das war viel Text, aber irgendwie trete ich auf der Stelle.
Hat jemand sowas ähnliches schon mal gemacht ?

Für Anregungen (und auch Lösungen ) wäre ich sehr Dankbar.

Gruss - Stefan