... Auf die Art könnte die PLC auch selbständig von Zeit zu Zeit eine Liste mit Rezeptnummern und Artikelnummern aufbauen ...
Wann kann/darf denn die PLC auf die gesuchte Information (ArtikelNr) in solchen Sätzen zugreifen?
Vermutlich nicht jederzeit, sondern nur unter bestimmten Bedingungen?
Wenn eine solcher Satz gelöscht, hinzugefügt oder geändert wird, wäre es bezüglich der Aktualität der Liste ein günstiger ZeitPunkt.
Müsste man einen solchen Zugriff, wenn er nicht sofort ausführbar sein sollte, vormerken, um ihn zu einem späteren ZeitPunkt nachzuholen?
Müsste der Zugriff auf die komplette Liste oder auf den betroffenen Satz für die Suchfunktion gesperrt werden, bis die vorgemerkte Aktualisierung in der Liste nachgeholt wurde?
Müssten schlimmstenfalls sogar die Rezepte als csv-Dateien geschrieben werden, um sie dann gleich wieder einzulesen und auf diesem Umwege an die gesuchte Information zu gelangen?
... und dann bei Anforderung gezielt das benötigte Rezept laden.
ArtikelNrn würde ich auf Verdacht lieber in Strings unterbringen, dann kann man z.B. auch Trennzeichen oder Buchstaben unterbringen, je nach dem, wie die Artikel-"Nummern" tatsächlich aussehen.
Selbst wenn diese "Nummern" nur aus Ziffern bestehen, kann die Anzahl der Ziffern je Nummer grösser sein als sie sein dürfte, um sie direkt als Index zu verwenden. Auch würde ich damit rechnen, dass bei den in der Liste enthaltenen Nummern grössere NummernBereiche unbenutzt sind.
Kurzum, vorsichtshalber würde ich davon ausgehen, dass ein "gezielter" Zugriff nicht möglich, sondern ein Suchen in dieser Liste nötig sein wird.