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