{{indexmenu_n>170}}
====== MKWare_GetInsertValuesBySN ======
Dieser Funktionsbaustein ermittelt intern zunächst anhand der ProductSN und ProductDesignation die entsprechende ProductGUID. Anschliessend werden die Werte zu der ermittelten ProductGUID in die //MK|Ware// Datenbank gespeichert.
===== VAR_INPUT =====
VAR_INPUT
PDAtoPLC_GotValues: BOOL; (* Ausgabe von MK|Ware: Variable wird auf TRUE gesetzt, wenn eine ProduktSN gelesen wurde. *)
PDAtoPLC_ValuesInserted: BOOL; (* Ausgabe von MK|Ware: Variable wird auf TRUE gesetzt, wenn Werte eingefügt wurden. *)
PDAtoPLC_ProductGUID: STRING; (* Ausgabe von MK|Ware: Enthält die eindeute ID zur MK|Ware internen Identifizierung. *)
PDAtoPLC_bInsertValue[1..8]: BOOL; (* Wert 1 vom Typ BOOL*)
PDAtoPLC_iInsertValue1: INT; (* Wert 1 vom Typ INT *)
PDAtoPLC_sInsertValue1: STRING (* Wert 1 vom Typ STRING *)
Enable: BOOL := TRUE; (* Setzt alle Signale zurück. *)
InsertValues: BOOL; (* Startsignal um Werte einzufügen. *)
ProductDesignation: STRING; (* Produktbezeichnung s*)
ProductSN: STRING; (* Enthält die ProduktSN für das Produkt. *)
bValue[1..8]: BOOL; (* Wert 1 vom Typ BOOL*)
iValue1: INT; (* Wert 1 vom Typ INT *)
sValue1: STRING; (* Wert 1 vom Typ STRING *)
TimeoutTime: TIME :=t#10S; (* Wert für Timeout. *)
DelayTime: TIME :=t#300ms; (* Wert für Verzögerungszeit. )
END_VAR
===== VAR_OUTPUT =====
VAR_OUTPUT
PDAfromPLC_GetValues: BOOL; (* Ausgabe an MK|Ware: Ist der Status TRUE, werden Werte aus der von MK|Ware gelesen. *)
PDAfromPLC_InsertValues: BOOL; (* Ausgabe an MK|Ware: Ist der Status TRUE, werden Werte aus der von MK|Ware eingefügt. *)
PDAfromPLC_ProductDesignation: STRING; (* Ausgabe an MK|Ware: Enthält das aktuelle Produkt. *)
PDAfromPLC_ProductSN: STRING; (* Ausgabe an MK|Ware: Enthält die ProduktSN für das Produkt. *)
PDAfromPLC_ProductGUID: STRING; (* Ausgabe an MK|Ware: Enthält die eindeute ID zur MK|Ware internen Identifizierung. *)
PDAfromPLC_bValue[1..N]: BOOL; (* Ausgabe an MK|Ware: Diese Variable übergibt Produktdaten vom Typ BOOL (z. B. OK/NOK). *)
PDAfromPLC_iValue1: BOOL; (* Ausgabe an MK|Ware: Diese Variable übergibt Produktdaten vom Typ INTEGER (z. B. Nestnummer). *)
PDAfromPLC_sValue1: STRING; (* Ausgabe an MK|Ware: Diese Variable übergibt Produktdaten vom Typ STRING (z. B. Rezepturname). *)
TimeoutError_GetValues: BOOL; (* Nach Ablauf einer vorgegebenen Zeitspanne wird ein TimeoutError ausgelöst. *)
TimeoutError_InsertValues: 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. *)
ValuesInserted: BOOL; (* Durchgangssignal von MKWare. *)
ProductGUID: STRING; (* Durchgangssignal von MKWare. *)
bGetValue[1..8]: BOOL; (* Wert 1 vom Typ BOOL *)
iGetValue1: INT; (* Wert 1 vom Typ INT *)
sGetValue1: STRING; (* Wert 1 vom Typ STRING *)
CopyDatafromPLC: BOOL; (* Startsignal zum Kopieren von Daten von der SPS nach MKWare *)
ResetDatafromPLC: BOOL; (* Startsignal zum Zurücksetzen der SPS-Daten, um zu verhindern, dass alte Werte vor dem Senden vorhanden sind *)
CopyDatatoPLC: BOOL; (* Startsignal zum Kopieren von Daten aus MKWare in SPS-Variablen *)
ResetDatatoPLC: BOOL; (* Startsignal zum Zurücksetzen der MKWare-Daten, um zu verhindern, dass alte Werte vor dem Senden vorhanden sind *)
Error: STRING; (* Fehlerbeschreibung zur Fehleranalyse *)
ErrorID: INT; (* Fehler ID zur Fehleranalyse *)
END_VAR
===== Beispiel eines Funktionsbausteins =====
{{:de:interfaces:mkcollector:pde:getinsertvaluesbysn:pasted:20240307-144038.png}}