TIA Portal Instructies

Datum en Tijd
Temporele Logica

Beheers de klok van uw PLC. Van nauwkeurige tijdregistratie van gebeurtenissen tot complexe tijdsberekeningen en formaatconversies, beheer elke milliseconde.

Waarom tijd beheren in een PLC?

Tijdbeheer is cruciaal voor industriële automatisering. Het maakt nauwkeurige logging van productiegebeurtenissen mogelijk, het triggeren van geplande onderhoudstaken, het berekenen van machinecyclustijden en het synchroniseren van gedistribueerde systemen via NTP-protocollen.

Moderne Siemens PLCs bieden geavanceerde datatypen zoals DTL (Date and Time Long) die directe toegang geven tot individuele componenten (Jaar, Maand, Dag, Uur) zonder complexe bitmanipulatie, wat het programmeren aanzienlijk vereenvoudigt vergeleken met legacy DT-formaten.

Tijd Lezen

Toegang tot de systeem- en lokale klokken

T_CONV — Systeemtijd Extractie

T_CONV

Wat het doet

Extracteert specifieke componenten uit een datum/tijd-waarde of converteert tussen formaten. Het is essentieel voor het verkrijgen van leesbare uren/minuten uit een ruwe tijdstempel.

Wanneer te gebruiken

Wanneer u alleen de tijd wilt weergeven op een HMI van een volledige Date_And_Time tag.

Pro Tips

Gebruik T_CONV om een TOD (Time_Of_Day) naar een String te converteren voor eenvoudige logging.

Zorg ervoor dat de invoer- en uitvoertypen compatibel zijn om overflow-fouten te voorkomen.

In SCL wordt deze instructie vaak impliciet afgehandeld door eenvoudige toewijzingen.

RD_SYS_T — Systeemtijd Lezen

RD_SYS_T

Wat het doet

Leest de huidige systeemtijd van de CPU (UTC). In tegenstelling tot RD_LOC_T bevat het geen zomertijd of tijdzone-offsets.

Wanneer te gebruiken

Ideaal voor interne logging waarbij een continue, niet-verspringende tijdsreferentie vereist is (voorkomt problemen tijdens zomertijdovergangen).

Pro Tips

Gebruik altijd UTC voor database-opslag om wereldwijde consistentie te garanderen.

De RET_VAL-output geeft statusinformatie (bijv. of de klok gesynchroniseerd is).

Combineer met RD_LOC_T als u zowel 'Technische' als 'Menselijke' tijd wilt weergeven.

Rekenen

Berekeningen op duur en tijdstempels

T_ADD — Tijd Optellen

T_ADD

Wat het doet

Voegt een duur (Time of LTime) toe aan een specifiek datum/tijd-punt. Het handelt overflows van minuten, uren en dagen correct af.

Wanneer te gebruiken

Berekenen van een vervaltijd of een gepland herstartpunt (bijv. huidige tijd + 24 uur).

Pro Tips

Zeer nuttig voor het implementeren van aangepaste watchdogs met dynamische duurtijden.

Gebruik LTime-typen voor nanoseconde-precisie op S7-1500 CPUs.

Als het resultaat de maximale datum overschrijdt (Jaar 2262), stelt de CPU een foutstatus in.

T_DIFF — Tijdsverschil

T_DIFF

Wat het doet

Berekent het verschil tussen twee tijdstempels en retourneert het resultaat als een duur (Time of LTime).

Wanneer te gebruiken

Meten van de exacte duur van een processtap of het berekenen van de uptime van een machine.

Pro Tips

Perfect voor OEE (Overall Equipment Effectiveness) berekeningen.

Het aftrekken van een grotere datum van een kleinere retourneert een negatieve Time-waarde.

Gebruik op S7-1200/1500 DTL tags voor eenvoudigere toegang tot de verschilcomponenten.

Conversie

Formaatwijzigingen en String-afhandeling

T_CONV — DT naar DTL Conversie

T_CONV

Wat het doet

Converteert legacy DATE_AND_TIME (8 bytes) naar het moderne DTL-formaat of vice-versa.

Wanneer te gebruiken

Bij het interfacen van legacy code of communicatieblokken met nieuwe S7-1500 geoptimaliseerde logica.

Pro Tips

Geef de voorkeur aan DTL for alle nieuwe projecten om BCD (Binary Coded Decimal) complexiteit te vermijden.

Conversie naar DTL stelt u in staat om direct 'MyTag.MONTH' in uw code te schrijven.

Wees voorzichtig met milliseconde-precisie die in sommige formaten kan worden afgekapt.

DT_TO_STRING — Tijd Serialiseren

DT_TO_STR

Wat het doet

Converteert een datum/tijd-waarde naar een leesbaar String-formaat. STRING_TO_DT doet het omgekeerde.

Wanneer te gebruiken

Verzenden van tijdstempels naar een CSV-bestand op een geheugenkaart of communiceren met een web-API.

Pro Tips

De output-string volgt het ISO 8601-formaat (YYYY-MM-DD-HH:MM:SS.ms).

Gebruik STRING_TO_DT om datums te parsen die zijn ontvangen van een externe SQL-database.

Houd er rekening mee dat String-operaties CPU-intensiever zijn; gebruik ze spaarzaam in snelle loops.

DATE_AND_TIME vs DTL

De juiste temporele structuur kiezen

KenmerkDATE_AND_TIME (Legacy)DTL (Modern)
Grootte8 Bytes12 Bytes
CoderingBCD (Complex om te lezen)Integers (Direct leesbaar)
Toegang tot componentenVereist bit-maskingStructureel (Tag.Month)
Bereik1990 tot 20891970 tot 2262
S7-1200/1500 OndersteuningAlleen compatibiliteitNative & Aanbevolen
Precisie10 ms1 Nanoseconde

Veelgestelde Vragen

Wat is het verschil tussen Systeemtijd en Lokale Tijd?

Systeemtijd (RD_SYS_T) is altijd UTC, wat een stabiele referentie biedt. Lokale Tijd (RD_LOC_T) past zich aan uw specifieke tijdzone en zomertijdregels (DST) aan die zijn geconfigureerd in de CPU-eigenschappen.

Hoe synchroniseer ik de PLC-klok met een server?

Schakel NTP (Network Time Protocol) in de CPU-hardwareconfiguratie in. Geef het IP op van uw tijdserver, en de PLC zal automatisch zijn interne klok aanpassen.

Waarom toont mijn DATE_AND_TIME rare waarden in Hex?

Legacy DT gebruikt BCD-codering. Een waarde van 25 in decimaal wordt opgeslagen als 16#25 in BCD. Gebruik altijd conversie-instructies of DTL om waarden correct te lezen.

Kan ik het verschil tussen twee DTL tags direct berekenen?

In SCL kunt u eenvoudig de '-' operator gebruiken tussen twee DTL tags. TIA Portal zal automatisch de T_DIFF instructie voor u aanroepen.

Automatiseer uw Tijdbeheer

Wilt u productierapporten genereren met nauwkeurige tijdstempels of 50 PLCs synchroniseren? T-IA Connect automatiseert de generatie van temporele logica.