{{indexmenu_n>100}}
====== MKWare_AddItem ======
Innerhalb der MK|Ware wird ein virtuelles Produkt erzeugt und mit einer Produktseriennummer reserviert. Diese Seriennummer wird an den SPS-Baustein übergeben und dort weiter verarbeitet.
Eine Konfiguration in //de:software:mksupervisor:start|MKSupervisor// legt fest, dass dort eine //de:allgemein:glossar:produktsn|Produkt SN// erzeugt und an die SPS übergeben wird. Die zu erstellende SN kann mit dem Muster von der SPS aus vordefiniert werden.
===== VAR_INPUT =====
VAR_INPUT
PDAtoPLC_ItemAdded: BOOL; (* Ausgabe von MK|Ware: Variable wird auf TRUE gesetzt, wenn eine ProduktSN erzeugt wurde. *)
PDAtoPLC_ProductSN: STRING; (* Ausgabe von MK|Ware: Enthält die ProduktSN für das Produkt. *)
PDAtoPLC_ProductGUID: STRING; (* Ausgabe von MK|Ware: Enthält die eindeute ID zur MK|Ware internen Identifizierung. *)
PDAtoPLC_Timestamp: STRING; (* Ausgabe von MK|Ware: Zeitstempel, wann das Produkt erstellt wurde. **OPTIONAL** *)
Enable: BOOL := TRUE; (* Setzt alle Signale zurück. *)
AddItem: BOOL; (* Startsignal um eine neue ProductSN anzufordern. *)
ProductDesignation: STRING; (* Produktbezeichnung s*)
Template: STRING; (* Vorlage für PrductSN ( z. B.: ddmmyy00000&) *)
ProductSNadditional: STRING; (* optional: Der Text wird der Seriennummer an der Position "&" in der Template-Variablen hinzugefügt. *)
TimeoutTime: TIME :=t#10S; (* Wert für Timeout. *)
DelayTime: TIME :=t#300ms; (* Wert für Verzögerungszeit. )
END_VAR
===== VAR_OUTPUT =====
VAR_OUTPUT
PDAfromPLC_AddItem: BOOL; (* Ausgabe an MK|Ware: Ist der Status TRUE soll eine ProduktSN generiert werden. *)
PDAfromPLC_ProductDesignation: STRING; (* Ausgabe an MK|Ware: Enthält das aktuelle Produkt. *)
PDAfromPLC_Template: STRING; (* Ausgabe an MK|Ware: Gibt ein Muster vor, nachdem die ProduktSN erstellt werden soll. *)
PDAfromPLC_ProductSNadditional: STRING; (* Ausgabe an MK|Ware: Enthält zusätzliche Zeichen, die das Muster erweitern können. *)
TimeoutError: BOOL; (* Nach Ablauf einer vorgegebenen Zeitspanne wird ein TimeoutError ausgelöst. *)
Busy: BOOL; (* Ist TRUE nach Startsignalen und FALSE nach einem Abbruch oder der Rückmeldung von MK|Ware. *)
ItemAdded: BOOL; (* Durchgangssignal von MKWare. *)
ProductSN: STRING; (* Durchgangssignal von MKWare. *)
ProductGUID: STRING; (* Durchgangssignal von MKWare. *)
TimeStamp: STRING; (* Durchgangssignal von MKWare. *)
Error: STRING; (* Fehlerbeschreibung zur Fehleranalyse *)
ErrorID: INT; (* Fehler ID zur Fehleranalyse *)
END_VAR
===== Beispiel eines Funktionsbausteins =====
{{:de:interfaces:mkcollector:pde:additem:pasted:20241029-094657.png}}