-> Hier kostenlos registrieren
Hallo zusammen,
ich bin gerade an der Migration einer alten Maschine von S7-300 (Step 7 v5.7) auf TIA V17). Dabei bin ich auch nachfolgende Funktion gestoßen die ja so nich 1:1 in TIA Portal übertragbar ist und ich leider nicht ganz verstehe.
Vorallem die Anweisung: L LB 2
FUNCTION FC 127 : VOID
TITLE =Datum/Uhrzeit Synchronisation OP-SPS
//Beschreibung: Synchronisation von Datum und Uhrzeit zwischen Bediengerät und SPS
//--------------------------------------------------------------------------------
//intern aufgerufene Bausteine: SFC0, SFC1
//--------------------------------------------------------------------------------
//Eingänge: BerZ_TP : Bereichszeiger-DB Flexible TP
//
//Ausgänge: keine
//
//--------------------------------------------------------------------------------
//Version Datum Bearbeiter Änderungen
//0.1 06.10.2010 Frio Erstellung
AUTHOR : Frio
FAMILY : BD
NAME : Koord_Fl
VERSION : 0.1
VAR_INPUT
BerZ_TP : BLOCK_DB ; //Bereichszeiger-DB Flexible TP
END_VAR
VAR_TEMP
T_Ret_Val : INT ;
SPS_DT : DATE_AND_TIME ;
SET_SPS : DATE_AND_TIME ;
END_VAR
BEGIN
NETWORK
TITLE =DB öffnen
AUF #BerZ_TP;
NETWORK
TITLE =Datum/Uhrzeit der SPS in Bereichszeiger eintragen
//ab DBB46 im DT-Format
CALL SFC 1 (
RET_VAL := #T_Ret_Val,
CDT := #SPS_DT);
L LB 2;
T DBB 46;
L LB 3;
T DBB 47;
L LB 4;
T DBB 48;
L LB 5;
T DBB 49;
L LB 6;
T DBB 50;
L LB 7;
T DBB 51;
L LB 8;
T DBB 52;
L LB 9;
T DBB 53;
NETWORK
TITLE =Datum Uhrzeit SPS in Bereichszeiger eintragen
L DBB 46;
T DBB 10;
L DBB 47;
T DBB 11;
L DBB 48;
T DBB 12;
L DBB 49;
T DBB 13;
L DBB 50;
T DBB 14;
L DBB 51;
T DBB 15;
L 0;
T DBB 16;
L DBB 53;
L B#16#F;
UW ;
T DBB 17;
NETWORK
TITLE =Stellbefehl SPS --> OP
U DBX 54.2;
FP DBX 54.3;
= DBX 54.4;
U DBX 35.0;
FP DBX 54.6;
= DBX 54.7;
O DBX 54.4;
O DBX 54.7;
SPBN B1;
L 1;
T DBW 56;
B1: NOP 0;
NETWORK
TITLE =Anlauf OP --> Uhrzeit von SPS an OP
U( ;
L DBW 38;
L 0;
==I ;
) ;
U( ;
L DBW 56;
L 1;
==I ;
) ;
SPB M11;
U( ;
L DBW 38;
L 0;
==I ;
) ;
U( ;
L DBW 56;
L 6;
==I ;
) ;
SPB M12;
SPA M13;
M11: NOP 0;
//Uhrzeit OP stellen
L 14;
T DBW 38;
L DBB 13;
T DBB 41;
L DBB 14;
T DBB 42;
L DBB 15;
T DBB 43;
SPA M13;
M12: NOP 0;
//Datum OP stellen
L 15;
T DBW 38;
L DBB 17;
T DBB 41;
L DBB 12;
T DBB 42;
L DBB 11;
T DBB 43;
L DBB 10;
T DBB 44;
CLR ;
= DBX 54.2;
L 0;
T DBW 56;
M13: NOP 0;
NETWORK
TITLE =Hochzählen Stellzähler
U( ;
L DBW 56;
L 0;
>I ;
) ;
U M 2.5;
FP DBX 54.5;
SPBN Z1;
L DBW 56;
L 1;
+I ;
T DBW 56;
Z1: NOP 0;
NETWORK
TITLE =Datum und Uhrzeit von OP zu SPS
U DBX 54.0;
U( ;
L DBW 56;
L 0;
==I ;
) ;
FP DBX 54.1;
SPBN M2;
L DBW 38;
L 0;
<>I ;
SPB M2;
L 41;
T DBW 38;
L 111;
T DBB 23;
T DBB 32;
M2: NOP 0;
U DBX 54.0;
U( ;
L DBW 38;
L 0;
==I ;
) ;
U( ;
L DBB 23;
L 111;
<>I ;
) ;
U( ;
L DBB 32;
L 111;
<>I ;
) ;
FP DBX 55.0;
SPBN M3;
L DBB 32;
T LB 10;
L DBB 31;
T LB 11;
L DBB 30;
T LB 12;
L DBB 23;
T LB 13;
L DBB 24;
T LB 14;
L DBB 25;
L 1;
+I ;
T LB 15;
L DBB 29;
T LB 17;
CALL SFC 0 (
PDT := #SET_SPS,
RET_VAL := #T_Ret_Val);
U DBX 54.0;
R DBX 54.0;
M3: NOP 0;
END_FUNCTION
ich bin gerade an der Migration einer alten Maschine von S7-300 (Step 7 v5.7) auf TIA V17). Dabei bin ich auch nachfolgende Funktion gestoßen die ja so nich 1:1 in TIA Portal übertragbar ist und ich leider nicht ganz verstehe.
Vorallem die Anweisung: L LB 2
FUNCTION FC 127 : VOID
TITLE =Datum/Uhrzeit Synchronisation OP-SPS
//Beschreibung: Synchronisation von Datum und Uhrzeit zwischen Bediengerät und SPS
//--------------------------------------------------------------------------------
//intern aufgerufene Bausteine: SFC0, SFC1
//--------------------------------------------------------------------------------
//Eingänge: BerZ_TP : Bereichszeiger-DB Flexible TP
//
//Ausgänge: keine
//
//--------------------------------------------------------------------------------
//Version Datum Bearbeiter Änderungen
//0.1 06.10.2010 Frio Erstellung
AUTHOR : Frio
FAMILY : BD
NAME : Koord_Fl
VERSION : 0.1
VAR_INPUT
BerZ_TP : BLOCK_DB ; //Bereichszeiger-DB Flexible TP
END_VAR
VAR_TEMP
T_Ret_Val : INT ;
SPS_DT : DATE_AND_TIME ;
SET_SPS : DATE_AND_TIME ;
END_VAR
BEGIN
NETWORK
TITLE =DB öffnen
AUF #BerZ_TP;
NETWORK
TITLE =Datum/Uhrzeit der SPS in Bereichszeiger eintragen
//ab DBB46 im DT-Format
CALL SFC 1 (
RET_VAL := #T_Ret_Val,
CDT := #SPS_DT);
L LB 2;
T DBB 46;
L LB 3;
T DBB 47;
L LB 4;
T DBB 48;
L LB 5;
T DBB 49;
L LB 6;
T DBB 50;
L LB 7;
T DBB 51;
L LB 8;
T DBB 52;
L LB 9;
T DBB 53;
NETWORK
TITLE =Datum Uhrzeit SPS in Bereichszeiger eintragen
L DBB 46;
T DBB 10;
L DBB 47;
T DBB 11;
L DBB 48;
T DBB 12;
L DBB 49;
T DBB 13;
L DBB 50;
T DBB 14;
L DBB 51;
T DBB 15;
L 0;
T DBB 16;
L DBB 53;
L B#16#F;
UW ;
T DBB 17;
NETWORK
TITLE =Stellbefehl SPS --> OP
U DBX 54.2;
FP DBX 54.3;
= DBX 54.4;
U DBX 35.0;
FP DBX 54.6;
= DBX 54.7;
O DBX 54.4;
O DBX 54.7;
SPBN B1;
L 1;
T DBW 56;
B1: NOP 0;
NETWORK
TITLE =Anlauf OP --> Uhrzeit von SPS an OP
U( ;
L DBW 38;
L 0;
==I ;
) ;
U( ;
L DBW 56;
L 1;
==I ;
) ;
SPB M11;
U( ;
L DBW 38;
L 0;
==I ;
) ;
U( ;
L DBW 56;
L 6;
==I ;
) ;
SPB M12;
SPA M13;
M11: NOP 0;
//Uhrzeit OP stellen
L 14;
T DBW 38;
L DBB 13;
T DBB 41;
L DBB 14;
T DBB 42;
L DBB 15;
T DBB 43;
SPA M13;
M12: NOP 0;
//Datum OP stellen
L 15;
T DBW 38;
L DBB 17;
T DBB 41;
L DBB 12;
T DBB 42;
L DBB 11;
T DBB 43;
L DBB 10;
T DBB 44;
CLR ;
= DBX 54.2;
L 0;
T DBW 56;
M13: NOP 0;
NETWORK
TITLE =Hochzählen Stellzähler
U( ;
L DBW 56;
L 0;
>I ;
) ;
U M 2.5;
FP DBX 54.5;
SPBN Z1;
L DBW 56;
L 1;
+I ;
T DBW 56;
Z1: NOP 0;
NETWORK
TITLE =Datum und Uhrzeit von OP zu SPS
U DBX 54.0;
U( ;
L DBW 56;
L 0;
==I ;
) ;
FP DBX 54.1;
SPBN M2;
L DBW 38;
L 0;
<>I ;
SPB M2;
L 41;
T DBW 38;
L 111;
T DBB 23;
T DBB 32;
M2: NOP 0;
U DBX 54.0;
U( ;
L DBW 38;
L 0;
==I ;
) ;
U( ;
L DBB 23;
L 111;
<>I ;
) ;
U( ;
L DBB 32;
L 111;
<>I ;
) ;
FP DBX 55.0;
SPBN M3;
L DBB 32;
T LB 10;
L DBB 31;
T LB 11;
L DBB 30;
T LB 12;
L DBB 23;
T LB 13;
L DBB 24;
T LB 14;
L DBB 25;
L 1;
+I ;
T LB 15;
L DBB 29;
T LB 17;
CALL SFC 0 (
PDT := #SET_SPS,
RET_VAL := #T_Ret_Val);
U DBX 54.0;
R DBX 54.0;
M3: NOP 0;
END_FUNCTION