L_ParRead/L_ParWrite mit alter DriveLib 0201 und Verwendung mit ECS B-SW V8.0 - was ist zu beachten?

Frage:
Was ist zu beachten, wenn auf älteren Zielsystem-Versionen erstellte Anwenderprogramme auf dem Zielsystem ECS Application mit neuer Betriebssoftware B-SW V8.0 laufen sollen und die L_ParRead/L_ParWrite-Funktionalität aus der älteren Bibliothek  'LenzeDrive0201.Lib'  verwendet wird?

Antwort:
Die neue ECS Betriebssoftware ab B-SW V8.0 liefert ordnungsgemäß die Statusmeldung (wFailNumber = 119) zurück, wenn der Sendeauftragsspeicher komplett mit noch abzuarbeitenden Aufträgen gefüllt ist (max. 16 Aufträge). In den vorhergehenden Versionen der BS <=7.x war das fehlerhafter Weise nicht der Fall.

Für den Betrieb neuer und alter Version der LenzeDriveLib mit den vorhergehenden Versionen der B-SW <=7.x gilt Folgendes:
Auch dann, wenn der Sendeauftragsspeicher komplett belegt ist, gehen keine Lese- oder Schreibaufträge verloren, sondern es findet automatisch ein entsprechendes Handling der Aufträge statt. Sobald ein Platz im Sendeauftragsspeicher frei wird, rückt der nächste Auftrag nach, ohne dass vom Anwender eine Programmierung erforderlich wäre. Erst, wenn durch die auftretenden Verzögerungen die einstellbare Timeout-Zeit (default: 1s) überschritten wird, kommt es zum Auslösen einer Timeout-Störung.

Mit neuer Betriebssoftware BS V8.0 gibt es in Bezug auf das Rücksetzen der Statusmeldung (wFailNumber = 119) unterschiedliches Verhalten der LenzeDriveLib-Varianten.

B-SW V8.0 + alte LenzeDrive0201.Lib:
Nach dem Auftreten der Statusmeldung (wFailNumber = 119) ist ein erneuter Lese/Schreib-Auftrag erforderlich, um den Auftrag in den Sendeauftragsspeicher zu übernehmen und die Statusmeldung zurückzusetzen. Im Anwender-Programm muss dafür eine Flanke am Eingang bExecute erzeugt werden.
Dieser beschriebene Fall hat nur für Anwender-Programme Relevanz, bei denen eine größere Anzahl  L_PARWrite/L_ParRead-Aufträge in kurzer Zeit abgearbeitet werden soll und es so zu mehr als 16 Einträgen im Sendeauftragsspeicher kommen kann.

B-SW V8.0 + neue LenzeDrive0202.Lib:
Die Statusmeldung (wFailNumber = 119) wird automatisch zurückgesetzt, wenn wieder Platz im Sendeauftragsspeicher ist und auch die Abarbeitung des Auftrages erfolgt ohne weitere Anwender-Programmierung.

URL zur Verlinkung dieses AKB-Artikels: https://www.lenze.com/de-de/go/akb/200803437/0/
Kontaktformular