{{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}}