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