Step 7 Frage zu FC61_BT_LT und UDT60

MaurerT

Level-2
Beiträge
122
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Gemeinde, ich habe eine Frage zu o.g. Baustein. Und zwar möchte ich mit dessen Hilfe an einer CPU die Winter/Sommerzeit einstellen. Die CPU hängt an einem NTP Zeitserver der mir UTC liefert. Habe jetzt schon ein wenig die Sufu bemüht und der o.g. Baustein scheint mir hierfür ganz passend zu sein. Was mir aber Probleme bereitet ist der Eingang "WS_DAT" an diesem Bautein (BLOCK_DB). Hier steht in der Hilfe dass dies ein DB vom TYP UDT60 sein muss. Muss ich diesen UDT selbst anlegen oder gibt es diesen in einer Bibliothek bzw. wie muss diese UDT aussehen?
Danke schon mal für eure Mithilfe.
 
Hallo,

Konfiguriere einfach einen Datenbaustein nach der Struktur UDT60 (zu finden in der Standard Library "Miscellaneous Blocks")


 
Zuviel Werbung?
-> Hier kostenlos registrieren
BT_LT_3_CET: Convert base time (UTC) to local time (CET/CEST)

Der UDT60 ist in der Hilfe zum FC61 BT_LT beschrieben (siehe "Regel-DB"), allerdings nicht anwendungsfertig.
Den UDT60 selber findest Du in der Bibliothek: Standard Library > Miscellaneous Blocks > Blocks
(Datei > Öffnen > Reiter: Bibliotheken > Standard Library)

Ein Beispiel zum FC61 BT_LT und ein Bild vom DB/UDT60 findest Du hier
Wie kann die aktuelle Lokalzeit (Sommer- bzw. Winterzeit) in der S7-300/400 CPU berechnet und auf dem Panel als Systemzeit verwendet werden?

Kleine Richtigstellung: die Uhr der CPU wird nicht auf Winter/Sommerzeit eingestellt - die Uhr der CPU läuft wegen der NTP-Synchronisation immer auf UTC ohne Sommerzeit. Der Baustein BT_LT rechnet diese UTC-Zeit zur Anzeige an HMI in lokale Winter/Sommerzeit um.

Was hast Du für eine CPU?
Hast Du eine S7-3xx mit CP343-1 dann kannst Du in HW Konfig den Zeitzonenversatz bei der NTP-Synchronisation angeben. Bei PN-CPU ist das nicht möglich.

Ich benutze einen selbstgeschriebenen Ersatz für den pompösen FC61, welcher ohne Regel-DB auskommt und fest auf Mitteleuropäische Zeit (CET/CEST) eingestellt ist:
Code:
FUNCTION "BT_LT_3_CET" : VOID
TITLE =BT_LT_3: Convert base time to local time (Summertime/Wintertime)
//BT_LT_3_CET: Version für 31x-PN-CPU, wo bei NTP-Synchronisation keine 
//Zeitzonen-Korrektur angegeben werden kann und dadurch die CPU-Uhr in UTC läuft
//
//BT_LT_3 ermittelt, ob der am Eingang BT angegebene Zeitpunkt (UTC) in der 
//Sommerzeit liegt und gibt am Ausgang LT die lokale Uhrzeit (CET oder CEST) aus. 
//BT muß ein gültiges DATE_AND_TIME inkl. Wochentag sein.
//
//Ersatz für FC61 BT_LT aus der S7-Standard-Library auf S7-300, die keinen 
//Uhrzeitstatus besitzen (Im Uhrzeitstatus der CPU sind die Basiszeit sowie 
//die für den jeweiligen Ort geltende Zeitzone, eine Sommerzeit-Kennung sowie 
//eine Kennung für die Ankündigungsstunde hinterlegt und werden von der CPU 
//aktualisiert.) BT_LT_3 benutzt keinen Regel-DB. BT_LT_3 ist fest auf die 
//Zeitzone CET eingestellt und berücksichtigt nur den Uhrzeit-Versatz in der 
//Sommerzeit. Die Sommerzeit gilt vom letzten Sonntag im März 01:00 UTC (02:00 
//CET) bis zum letzten Sonntag im Oktober 01:00 UTC (03:00 CEST).
//
//BT_LT_3 benutzt intern die folgende Function der S7-Standard-Library – 
//IEC Function Blocks: FC(1) AD_DT_TM

AUTHOR  : PN_DP
FAMILY  : TIMEFUNC
NAME    : BT_LT_3
VERSION : 1.1

VAR_INPUT
  BT : DATE_AND_TIME ;  //Basiszeit UTC (z.B. CPU-Clock)
END_VAR
VAR_OUTPUT
  LT : DATE_AND_TIME ;  //Lokalzeit CET / CEST
  SUMMER : BOOL ;       //Sommerzeitkennung (0: Winter / 1: Sommer)
END_VAR
VAR_TEMP
  tmpBT : DATE_AND_TIME ;	
  tmpLT : DATE_AND_TIME ;	
  DB_No : INT ;	
  LT_Offset : TIME ;	
  March : BOOL ;	
END_VAR

BEGIN
NETWORK
TITLE =Basiszeit von IN-Aktualparameter BT in TEMP kopieren
//DATE_AND_TIME (DT) wird bei FC als 6-Byte-POINTER übergeben und kann nicht 
//direkt weitergereicht werden. Deshalb IN.BT nach TEMP umkopieren.

//Pointer auf IN-Aktualparameter BT erstellen
      L     P##BT;           // Adresse IN.BT
      LAR1  ; 
      L     W [AR1,P#0.0];   // POINTER.DB_Nr
      T     #DB_No; 
      L     D [AR1,P#2.0];   // POINTER.Bereichsadresse
      LAR1  ;                // AR1: Adresse des IN-DT
      LAR2  P##tmpBT;        // AR2: Adresse des TEMP-DT

//DATE_AND_TIME (8 Byte) BT von IN nach TEMP kopieren
      AUF   DB [#DB_No]; 
      L     D [AR1,P#0.0]; 
      T     LD [AR2,P#0.0]; 
      L     D [AR1,P#4.0]; 
      T     LD [AR2,P#4.0]; 

NETWORK
TITLE =Ermitteln ob Sommerzeit ist und Lokalzeit CET/CEST berechnen
//Die Sommerzeit gilt vom letzten Sonntag im März 01:00 UTC = 02:00 CET
//bis zum letzten Sonntag im Oktober 01:00 UTC = 03:00 CEST

//AR2: Pointer auf tmpBT

//Der letzte Sonntag im März bzw. Oktober kann auf 25. bis 31. fallen
//vor 25.03. ist Winterzeit
      L     LW [AR2,P#1.0];  // tmpBT.Monat (BCD) + Tag (BCD)
      L     DW#16#325;       // vor 25.03. ist WZ
      <I    ; 
      SPB   WINZ; 

//nach 31.10. ist Winterzeit
      POP   ;                // tmpBT.Monat (BCD) + Tag (BCD)
      L     W#16#1031;       // nach 31.10. ist WZ
      >I    ; 
      SPB   WINZ; 

//nach 31.03. (= 01.04.) bis vor 25.10. (= 24.10.) ist Sommerzeit
      POP   ;                // tmpBT.Monat (BCD) + Tag (BCD)
      L     W#16#331;        // bis 31.03. Umschaltwoche zu SZ
      <=I   ; 
      =     #March;          // Umschaltwoche WZ zu SZ
      SPB   SPEZ; 

      POP   ;                // tmpBT.Monat (BCD) + Tag (BCD)
      L     W#16#1025;       // bis vor 25.10. ist SZ
      <I    ; 
      SPB   SOMZ; 

//hier nur noch 25.03.-31.03. und 25.10.-31.10.
//letzter Sonntag ?
SPEZ: L     LB [AR2,P#7.0];  // tmpBT.Wochentag 1=So ... 7=Sa
      UW    W#16#F;          // nur Bits .0-.3 (4 LSB)
      L     B#16#1; 
      -I    ;                // WoT: 0=So, 1=Mo, ... 6=Sa
      SPZ   SONN;            // jetzt ist der Umschalt-Sonntag
//Akku1: Wochentag 0=So ... 6=Sa
      L     LB [AR2,P#2.0];  // tmpBT.Tag (BCD)
      BTI   ;                // Tag (INT)
      TAK   ;                // Akku1: WoT, Akku2: Tag
      -I    ; 
//Ergebnis 19..24 sind Tage vor Umschalt-Sonntag
      L     25; 
      <I    ; 
      SPBN  NACH; 

//Vor Umschalt-Tag bzw. -Uhrzeit
VOR:  U     #March; 
      SPB   WINZ;            // März: noch ist Winterzeit
      SPA   SOMZ;            // Okt.: noch ist Sommerzeit

//Nach Umschalt-Tag bzw. -Uhrzeit
NACH: U     #March; 
      SPB   SOMZ;            // März: nun ist Sommerzeit
      SPA   WINZ;            // Okt.: nun ist Winterzeit

//es ist jetzt der Umschalt-Sonntag
SONN: L     LB [AR2,P#3.0];  // tmpBT.Stunde (BCD)
      L     B#16#1;          // vor 01:00 UTC ?
      <I    ; 
      SPB   VOR; 
      SPA   NACH; 

//Signalisierung + Berechnung Sommerzeit oder Winterzeit
SOMZ: S     #SUMMER; 
      L     T#2H;            // Sommerzeit CEST = BT(UTC) + 2 Stunden
      SPA   TLTO; 

WINZ: R     #SUMMER; 
      L     T#1H;            // Winterzeit CET = BT(UTC) + 1 Stunde

TLTO: T     #LT_Offset; 

//Lokalzeit berechnen mit: IEC Function Blocks FC1 "AD_DT_TM" 
      CALL "AD_DT_TM" (
           T       := #tmpBT,
           D       := #LT_Offset,
           RET_VAL := #tmpLT);

NETWORK
TITLE =Lokalzeit von TEMP in OUT-Aktualparameter LT kopieren
//DATE_AND_TIME (DT) wird bei FC als 6-Byte-POINTER übergeben, OUT kann nicht 
//direkt von anderen FC beschrieben werden. Deshalb mit TEMP-Kopie arbeiten.

//Pointer auf OUT-Aktualparameter LT erstellen
      L     P##LT;           // Adresse OUT.LT
      LAR1  ; 
      L     W [AR1,P#0.0];   // POINTER.DB_Nr
      T     #DB_No; 
      L     D [AR1,P#2.0];   // POINTER.Bereichsadresse
      LAR1  ;                // AR1: Adresse des OUT-DT
      LAR2  P##tmpLT;        // AR2: Adresse des TEMP-DT

//DATE_AND_TIME (8 Byte) LT von TEMP nach OUT kopieren
      AUF   DB [#DB_No]; 
      L     LD [AR2,P#0.0]; 
      T     D [AR1,P#0.0]; 
      L     LD [AR2,P#4.0]; 
      T     D [AR1,P#4.0]; 

//BIE/ENO auf TRUE setzen
      SET   ; 
      SAVE  ; 

END_FUNCTION

Harald
 
Bei der Verwendung des Bausteins sollte man sich über die Hilfe anschauen welche Standard Bausteine er intern noch aufruft.

Mochlicherweise sind die schon in dein Programm als selbst angelegte FC vorhanden

DVH
 
Es handelt sich um eine 314C-2 PN/DP (6ES7314-6EH04-0AB0). Aber ich habe zumindest den UDT60 jetzt finden können. Ich habe vorher im Bausteineditor unter der Bibliothek gesucht und konnte den UDT dort nicht finden. Der Hinweis mit dem Datei -> Öffnen -> Bibliothek hat mich weiter gebracht. Aber wo ich jetzt so Antworte, war mein Ansatz wohl doch nicht der Richtige. Hintergdanke war eigentlich die synchronisierte Zeit Einzulesn und die korrigierte Zeit dann mit SFC0 in der CPU zu stellen. Aber das dürfte wohl zu durcheinander führen weil ja regelmäßig synchronisiert wird.FC61.JPG
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Solange die NTP-Synchronisation funktioniert hat es tatsächlich keinen Sinn die CPU-Uhr zu stellen - die wird ja schon periodisch gestellt.

Problem bei der NTP-Synchronisation ist allerdings, daß die Uhrzeit in UTC angegeben ist und das Protokoll kein Sommer/Winterzeit-Flag vorsieht. Wenn man nun ein Panel seine Uhr mit der CPU-Uhr synchronisieren läßt, dann möchte man natürlich alle Zeitstempel und sonstigen Uhrzeitangaben in Lokalzeit haben - man muß die UTC-Uhrzeit der CPU umgerechnet zu Lokalzeit an den Bereichszeiger Datum/Uhrzeit Steuerung geben. Dafür ist der FC BT_LT gedacht.

Harald
 
Ja. Leider.
Step7 kann bei den 300er CPU auch keinen Zeitzonen-Unterschied beim Baugruppenstatus berechnen, weil die 300er CPU keinen Uhrzeitstatus haben.

Wenn die CPU-Uhr direkt in CET oder CEST laufen soll, dann kann man nicht mit NTP synchronisieren. Oder man müßte einen NTP-Server aufsetzen, der die Uhrzeit in CET/CEST herausgibt.

Harald
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo an alle,
ich hänge mich hier mal ran.
Ich habe das gleiche Problem, dass meine CPU auf UTC synchronisiert wird. In meinem Fall allerdings über einen CP. Dieser synchronisiert dann die CPU. Dann rechne ich mir alles schön auf Sommer/Winterzeit um und gebe die Zeit ans HMI.
Nun habe ich das Problem, dass alle Fehlermeldungen im Archiv richtig angezeigt werden, nur mein Pro-Agent reiht sich im Sommer leider eine Stunde zu früh ein......
Habt ihr eine Idee, wie ich das abfangen kann?
Gibt es vielleicht eine Möglichkeit, dass die CPU sich nur ereignisgesteuert mit der Uhrzeit des CP synchronisiert?
Verwendete HW: CPU 319F-3 PN/DP, CP 343-1 Advanced

Gruß, Eliza
 
BT_LT_3_CET: Convert base time (UTC) to local time (CET/CEST)

Der UDT60 ist in der Hilfe zum FC61 BT_LT beschrieben (siehe "Regel-DB"), allerdings nicht anwendungsfertig.
Den UDT60 selber findest Du in der Bibliothek: Standard Library > Miscellaneous Blocks > Blocks
(Datei > Öffnen > Reiter: Bibliotheken > Standard Library)

Ein Beispiel zum FC61 BT_LT und ein Bild vom DB/UDT60 findest Du hier
Wie kann die aktuelle Lokalzeit (Sommer- bzw. Winterzeit) in der S7-300/400 CPU berechnet und auf dem Panel als Systemzeit verwendet werden?

Kleine Richtigstellung: die Uhr der CPU wird nicht auf Winter/Sommerzeit eingestellt - die Uhr der CPU läuft wegen der NTP-Synchronisation immer auf UTC ohne Sommerzeit. Der Baustein BT_LT rechnet diese UTC-Zeit zur Anzeige an HMI in lokale Winter/Sommerzeit um.

Was hast Du für eine CPU?
Hast Du eine S7-3xx mit CP343-1 dann kannst Du in HW Konfig den Zeitzonenversatz bei der NTP-Synchronisation angeben. Bei PN-CPU ist das nicht möglich.

Ich benutze einen selbstgeschriebenen Ersatz für den pompösen FC61, welcher ohne Regel-DB auskommt und fest auf Mitteleuropäische Zeit (CET/CEST) eingestellt ist:
Code:
FUNCTION "BT_LT_3_CET" : VOID
TITLE =BT_LT_3: Convert base time to local time (Summertime/Wintertime)
//BT_LT_3_CET: Version für 31x-PN-CPU, wo bei NTP-Synchronisation keine
//Zeitzonen-Korrektur angegeben werden kann und dadurch die CPU-Uhr in UTC läuft
//
//BT_LT_3 ermittelt, ob der am Eingang BT angegebene Zeitpunkt (UTC) in der
//Sommerzeit liegt und gibt am Ausgang LT die lokale Uhrzeit (CET oder CEST) aus.
//BT muß ein gültiges DATE_AND_TIME inkl. Wochentag sein.
//
//Ersatz für FC61 BT_LT aus der S7-Standard-Library auf S7-300, die keinen
//Uhrzeitstatus besitzen (Im Uhrzeitstatus der CPU sind die Basiszeit sowie
//die für den jeweiligen Ort geltende Zeitzone, eine Sommerzeit-Kennung sowie
//eine Kennung für die Ankündigungsstunde hinterlegt und werden von der CPU
//aktualisiert.) BT_LT_3 benutzt keinen Regel-DB. BT_LT_3 ist fest auf die
//Zeitzone CET eingestellt und berücksichtigt nur den Uhrzeit-Versatz in der
//Sommerzeit. Die Sommerzeit gilt vom letzten Sonntag im März 01:00 UTC (02:00
//CET) bis zum letzten Sonntag im Oktober 01:00 UTC (03:00 CEST).
//
//BT_LT_3 benutzt intern die folgende Function der S7-Standard-Library –
//IEC Function Blocks: FC(1) AD_DT_TM

AUTHOR  : PN_DP
FAMILY  : TIMEFUNC
NAME    : BT_LT_3
VERSION : 1.1

VAR_INPUT
  BT : DATE_AND_TIME ;  //Basiszeit UTC (z.B. CPU-Clock)
END_VAR
VAR_OUTPUT
  LT : DATE_AND_TIME ;  //Lokalzeit CET / CEST
  SUMMER : BOOL ;       //Sommerzeitkennung (0: Winter / 1: Sommer)
END_VAR
VAR_TEMP
  tmpBT : DATE_AND_TIME ;  
  tmpLT : DATE_AND_TIME ;  
  DB_No : INT ;  
  LT_Offset : TIME ;  
  March : BOOL ;  
END_VAR

BEGIN
NETWORK
TITLE =Basiszeit von IN-Aktualparameter BT in TEMP kopieren
//DATE_AND_TIME (DT) wird bei FC als 6-Byte-POINTER übergeben und kann nicht
//direkt weitergereicht werden. Deshalb IN.BT nach TEMP umkopieren.

//Pointer auf IN-Aktualparameter BT erstellen
      L     P##BT;           // Adresse IN.BT
      LAR1  ;
      L     W [AR1,P#0.0];   // POINTER.DB_Nr
      T     #DB_No;
      L     D [AR1,P#2.0];   // POINTER.Bereichsadresse
      LAR1  ;                // AR1: Adresse des IN-DT
      LAR2  P##tmpBT;        // AR2: Adresse des TEMP-DT

//DATE_AND_TIME (8 Byte) BT von IN nach TEMP kopieren
      AUF   DB [#DB_No];
      L     D [AR1,P#0.0];
      T     LD [AR2,P#0.0];
      L     D [AR1,P#4.0];
      T     LD [AR2,P#4.0];

NETWORK
TITLE =Ermitteln ob Sommerzeit ist und Lokalzeit CET/CEST berechnen
//Die Sommerzeit gilt vom letzten Sonntag im März 01:00 UTC = 02:00 CET
//bis zum letzten Sonntag im Oktober 01:00 UTC = 03:00 CEST

//AR2: Pointer auf tmpBT

//Der letzte Sonntag im März bzw. Oktober kann auf 25. bis 31. fallen
//vor 25.03. ist Winterzeit
      L     LW [AR2,P#1.0];  // tmpBT.Monat (BCD) + Tag (BCD)
      L     DW#16#325;       // vor 25.03. ist WZ
      <I    ;
      SPB   WINZ;

//nach 31.10. ist Winterzeit
      POP   ;                // tmpBT.Monat (BCD) + Tag (BCD)
      L     W#16#1031;       // nach 31.10. ist WZ
      >I    ;
      SPB   WINZ;

//nach 31.03. (= 01.04.) bis vor 25.10. (= 24.10.) ist Sommerzeit
      POP   ;                // tmpBT.Monat (BCD) + Tag (BCD)
      L     W#16#331;        // bis 31.03. Umschaltwoche zu SZ
      <=I   ;
      =     #March;          // Umschaltwoche WZ zu SZ
      SPB   SPEZ;

      POP   ;                // tmpBT.Monat (BCD) + Tag (BCD)
      L     W#16#1025;       // bis vor 25.10. ist SZ
      <I    ;
      SPB   SOMZ;

//hier nur noch 25.03.-31.03. und 25.10.-31.10.
//letzter Sonntag ?
SPEZ: L     LB [AR2,P#7.0];  // tmpBT.Wochentag 1=So ... 7=Sa
      UW    W#16#F;          // nur Bits .0-.3 (4 LSB)
      L     B#16#1;
      -I    ;                // WoT: 0=So, 1=Mo, ... 6=Sa
      SPZ   SONN;            // jetzt ist der Umschalt-Sonntag
//Akku1: Wochentag 0=So ... 6=Sa
      L     LB [AR2,P#2.0];  // tmpBT.Tag (BCD)
      BTI   ;                // Tag (INT)
      TAK   ;                // Akku1: WoT, Akku2: Tag
      -I    ;
//Ergebnis 19..24 sind Tage vor Umschalt-Sonntag
      L     25;
      <I    ;
      SPBN  NACH;

//Vor Umschalt-Tag bzw. -Uhrzeit
VOR:  U     #March;
      SPB   WINZ;            // März: noch ist Winterzeit
      SPA   SOMZ;            // Okt.: noch ist Sommerzeit

//Nach Umschalt-Tag bzw. -Uhrzeit
NACH: U     #March;
      SPB   SOMZ;            // März: nun ist Sommerzeit
      SPA   WINZ;            // Okt.: nun ist Winterzeit

//es ist jetzt der Umschalt-Sonntag
SONN: L     LB [AR2,P#3.0];  // tmpBT.Stunde (BCD)
      L     B#16#1;          // vor 01:00 UTC ?
      <I    ;
      SPB   VOR;
      SPA   NACH;

//Signalisierung + Berechnung Sommerzeit oder Winterzeit
SOMZ: S     #SUMMER;
      L     T#2H;            // Sommerzeit CEST = BT(UTC) + 2 Stunden
      SPA   TLTO;

WINZ: R     #SUMMER;
      L     T#1H;            // Winterzeit CET = BT(UTC) + 1 Stunde

TLTO: T     #LT_Offset;

//Lokalzeit berechnen mit: IEC Function Blocks FC1 "AD_DT_TM"
      CALL "AD_DT_TM" (
           T       := #tmpBT,
           D       := #LT_Offset,
           RET_VAL := #tmpLT);

NETWORK
TITLE =Lokalzeit von TEMP in OUT-Aktualparameter LT kopieren
//DATE_AND_TIME (DT) wird bei FC als 6-Byte-POINTER übergeben, OUT kann nicht
//direkt von anderen FC beschrieben werden. Deshalb mit TEMP-Kopie arbeiten.

//Pointer auf OUT-Aktualparameter LT erstellen
      L     P##LT;           // Adresse OUT.LT
      LAR1  ;
      L     W [AR1,P#0.0];   // POINTER.DB_Nr
      T     #DB_No;
      L     D [AR1,P#2.0];   // POINTER.Bereichsadresse
      LAR1  ;                // AR1: Adresse des OUT-DT
      LAR2  P##tmpLT;        // AR2: Adresse des TEMP-DT

//DATE_AND_TIME (8 Byte) LT von TEMP nach OUT kopieren
      AUF   DB [#DB_No];
      L     LD [AR2,P#0.0];
      T     D [AR1,P#0.0];
      L     LD [AR2,P#4.0];
      T     D [AR1,P#4.0];

//BIE/ENO auf TRUE setzen
      SET   ;
      SAVE  ;

END_FUNCTION

Harald
Hallo ist das für AWL weil ich das bei mir nicht in den FC kopieren kann?
Hat das bereits jemand als FC oder so und könnte mir das jemand hochladen?
 
Wie man an den Semikolons am Ende jeder Anweisung sehen kann, ist das AWL-Code für eine AWL-Quelle. Erstelle im Quellen-Ordner eine AWL-Quelle, öffne sie, kopiere den Programmcode in die Quelle und übersetze sie.

Harald
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Wir haben bei uns tatsächlich einen "vermurksten" NTP aufgesetzt nur für die S7 Steuerungen. so wird auch zentral Sommer und Winterzeit umgestellt und wir haben keinen Aufwand in der CPU selbst und können die vorhandene NTP Synchronisation nutzen. War für uns der einfachste Weg.

Aber den Weg hat Harald ja schon vorgeschlagen.

Der Siemenssupport hatte damals auch dies als einen Möglichen weg mir mitgegeben.
 
Hallo PN/DP
Ich wollte deinen BT_LT_3_CET: Convert base time (UTC) to local time (CET/CEST) testen
Also AWL Quelle erstellt
deinen Code Kopiert und eingefügt
und übersetzt
Dann kamen 23 Fehler

Screenshot 2023-07-03 150216.png
Was mache ich da verkehrt ?

der_iwan
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Zuerst mußt Du in der Symboltabelle ein Symbol "BT_LT_3_CET" anlegen, z.B. "FC61"
Dann mußt Du noch den FC "AD_DT_TM" aus der Bibliothek "Standard Library / IEC Function Blocks" (FC1) in Deinen Bausteine-Ordner einfügen.
Dann die AWL-Quelle übersetzen.

Harald
 
Zurück
Oben