Ich nehme mal an du meinst das mit dem MIN Wert?
#Reihenfolge_Platz_1[0]:=MIN(IN1 := "Allgemein".Betriebszeit_Reihenfolge[0].Betriebszeit, IN2 := "Allgemein".Betriebszeit_Reihenfolge[1].Betriebszeit,
IN3 := "Allgemein".Betriebszeit_Reihenfolge[2].Betriebszeit, IN4 := "Allgemein".Betriebszeit_Reihenfolge[3].Betriebszeit,
IN5 := "Allgemein".Betriebszeit_Reihenfolge[4].Betriebszeit, IN6 := "Allgemein".Betriebszeit_Reihenfolge[5].Betriebszeit,
IN7 := "Allgemein".Betriebszeit_Reihenfolge[6].Betriebszeit);
Ich verstehe nicht wie ich das jetzt quasi dem Motor zuordnen kann und dann auch noch diesen beim nächsten Durchlauf ausschließen kann?
Ich kann nicht mit Sicherheit ausschliessen, dass Harald (auch?) an die MIN-Funktion gedacht hat, aber ich denke, er hat an eine (bzw. mehrere) ProgrammSchleife[n] und an einen (bzw. mehrere) selbst programmierte Vergleiche z.B. unter Verwendung des VergleichsOperators '<' gedacht.
Die von Dir erwähnte MIN-Funktion ist auf maximal 32 Operanden beschränkt und nicht so super geeignet, wenn man ein Array sortieren will.
Aber wie heisst es in der Werbung so schön? "Nichts ist unmöglich!"

Harald hat einfach beschrieben, wie man eine Liste sortieren kann, indem man wiederholt die benachbarten Einträge vergleicht und ggfs tauscht.
Ferner, dass man das Verfahren "abkürzen" kann, indem man von Wiederholung zu Wiederholung einen Vergleich einsparen kann, weil es dafür keinen KlärungsBedarf mehr gibt: hat man den kleinsten Eintrag ermittellt, so braucht man nur noch die restlichen Einträge zu untersuchen. Hat man dann den zweit kleinsten ermittelt, dann muss man nur noch den jetzt wieder um 1 kleiner gewordenen Rest untersuchen u.s.w..
Harald hat Dir ferner erklärt, dass man zum sortieren der Liste die Reihenfolge der Einträge in der Liste gar nicht ändern muss, wenn man eine weitere Liste anlegt und "ersatzweise" diese zusätzliche Liste sortiert. Diese zusätzliche Liste kann eine Kopie der eigentlichen Liste sein, muss aber nicht! Es geht einfacher und zielführender verwendbar, wenn die zweite Liste nur zu jedem Eintrag in der ersten Liste die Information enthält, auf welchem Platz der Eintrag in der sortiert gedachten ersten Liste stehen würde. Das klingt vielleicht furchtbar umständlich und nach unnötigen Umwegen.
Besonders interessant wird dieses Verfahren, wenn man eine Tabelle wahlweise nach unterschiedlichen Kriterien/Spalten sortiert haben will.
Benötigt man diese unterschiedlichen Sortierungen nicht gleichzeitig, so kann man die eine "zusätzliche Liste" nacheinander in verschiedenen Bedeutungen benutzen, muss man aber auch nicht.
Man kann auch für jede SortierungsArt eine eigene weitere Liste verwenden. Das klingt schon wieder furchtbar umständlich und unübersichtlich
Man kann, wie man sich denken kann, die zusätzlich[n] Listen in zusätzlichen Arrays unterbringen, aber auch das muss man nicht.
Man kann nämlich alternativ die "eigentliche" Tabelle um weitere Spalten erweitern und diese Spalten eigens für den Zweck der Sortierung benutzen.
Bezogen auf die Überschrift mit dem Stichwort QuickSort sind meine Anmerkungen scheinbar reichlich off topic.
Sie lassen sich natürlich mit QuickSort umsetzen, gelten aber genauso für andere SortierVerfahren.
Was ich eigentlich sagen möchte, ist, bevor Du Dich auf das Thema QuickSort stürzt, kümmer Dich bitte erstmal um die o.g. Aspekte.
QuickSort ist in einer SPS umsetzbar, aber eher behelfsmässig, wegen des rekursiven Algorithmus.
Als Einstieg für einen Neuling ist es m.E. wenig geeignet.
QuickSort hat Vorteile beim Sortieren von Listen und Tabellen mit seeehr vielen Zeilen. Bei sooo langen Listen oder Tabellen sollte man sich aber sowieso überlegen, ob sie überhaupt in der SPS verarbeitet werden müssen.
Da fällt mir gerade noch ein Thema ein: die zusätzliche[n] Liste[n] ist/sind vom DatenTyp INT oder UINT oder DINT oder UDINT, je nach Anzahl Zeilen der Liste/Tabelle. Der DatenTyp REAL oder LREAL hat hier gar nichts zu suchen, da nur ganzzahlige Indizes auf ArrayElemente drin stehen.
PS:
Was machst Du, wenn in der Spalte, nach der sortiert werden soll, mehrere gleiche Einträge vorkommen?
Man kann sich sagen: ist egal, ob ich die Einträge tausche oder nicht. Muss bzw. sollte man aber nicht. "Unnötige" PlatzWechsel in einer Tabelle sollte man tunlichst vermeiden.
Denn: es kommt schon mal vor, dass man nacheinander nach verschiedenen Spalten sortieren will/muss und dann wundert man sich u.U. über unerwartete, unterschiedliche SortierErgebnisse.