Timeroperationer
TP, TON, TOF, TONR & Kontroller
Timers är viktiga i varje automationsprojekt — från enkla fördröjningar till komplex sekvensstyrning. Bemästra varje timerinstruktion i TIA Portal med denna kompletta guide.
Vad är timeroperationer i TIA Portal?
Timeroperationer i TIA Portal implementerar tidsbaserad kontrollogik. De är IEC 61131-3-kompatibla funktionsblock som mäter förfluten tid, genererar pulser och skapar till/från-fördröjningar. Varje timer har en ingång (IN), en förinställd tid (PT), en utgång för förfluten tid (ET) och en statusutgång (Q).
TIA Portal tillhandahåller 4 IEC-timertyper (TP, TON, TOF, TONR) plus kontrollinstruktioner för att starta, återställa och ladda timers. Varje timerinstans behöver sitt eget instansdatablock (IDB) eller kan användas som en multi-instans inom ett FB.
IEC Timertyper
De 4 standardfunktionsblocken för timers — var och en med olika tidsbeteende
TP — Generera puls
Vad den gör
Genererar en puls med fast varaktighet. När IN går från FALSE till TRUE går utgången Q till TRUE och förblir TRUE i exakt den förinställda tiden PT, oavsett vad som händer med IN. Den förflutna tiden ET räknas upp från T#0s till PT. När PT uppnås går Q till FALSE och ET återställs.
När den ska användas
När du behöver en utgångspuls med fast varaktighet som utlöses av en händelse. Exempel: aktivera en summer i exakt 3 sekunder när ett larm utlöses, pulsa en magnetventil under en exakt tid, skapa en signal med fast bredd för nedströmsutrustning.
Proffstips
TP kan inte återtriggas — en ny stigande flank på IN medan Q redan är TRUE har ingen effekt. Pulsen körs till slut. För att göra den återtriggbar, återställ timern först.
Utgången Q följer INTE IN. Även om IN går till FALSE under pulsen, förblir Q TRUE tills PT löper ut.
I SCL: myTP(IN := trigger, PT := T#3s); IF myTP.Q THEN ... END_IF;
TON — Generera tillslagsfördröjning
Vad den gör
Fördröjer aktiveringen av en utgång. När IN går till TRUE börjar timern räkna. Efter att den förinställda tiden PT har förflutit går Q till TRUE. Om IN går till FALSE innan PT har uppnåtts, återställs timern och Q förblir FALSE. Q förblir TRUE så länge IN förblir TRUE efter fördröjningen.
När den ska användas
Den vanligaste timern i PLC-programmering. Används för: motorstartfördröjningar, sensoravstudsning (ignorera signaler kortare än X ms), larmfördröjningar (utlös endast larm om tillståndet kvarstår i N sekunder), startsekvenser.
Proffstips
TON är den 'klassiska' fördröjningstimern. Tänk på den som: 'vänta X sekunder, slå sedan på — men bara om villkoret fortfarande är sant'.
När IN går till FALSE går Q omedelbart till FALSE och ET återställs till T#0s. Det finns inget frånslagsfördröjningsbeteende.
För sensoravstudsning, använd en kort PT som T#50ms eller T#100ms. Detta filtrerar bort elektriskt brus och kontaktstuds.
TOF — Generera frånslagsfördröjning
Vad den gör
Fördröjer inaktiveringen av en utgång. När IN går till TRUE går Q omedelbart till TRUE. När IN går till FALSE börjar timern räkna. Efter att PT har förflutit går Q till FALSE. Om IN går till TRUE igen innan PT löper ut, återställs timern och Q förblir TRUE.
När den ska användas
När en utgång ska förbli på ett tag efter att dess ingång stängts av. Exempel: håll en kylfläkt igång i 30 sekunder efter att en motor stannat, håll en lampa tänd i 60 sekunder efter att ingen rörelse längre upptäcks, håll en smörjpump aktiv efter att en cykel avslutats.
Proffstips
TOF är motsatsen till TON: Q aktiveras omedelbart men inaktiveras med en fördröjning.
Om IN går TRUE→FALSE→TRUE innan PT löper ut, återställs timern. Q gick aldrig till FALSE — det är ett 'keep-alive'-beteende.
Vanligt inom HVAC: håll ventilationen igång i 5 minuter efter att processen stannat för att rensa kvarvarande ångor.
TONR — Tidsackumulator
Vad den gör
En ackumulerande tillslagsfördröjningstimer. Liksom TON, men den förflutna tiden ET återställs INTE när IN går till FALSE. ET pausar när IN är FALSE och återupptar räkningen när IN är TRUE igen. Q går till TRUE när ET når PT. Timern måste uttryckligen återställas med R-ingången.
När den ska användas
När du behöver mäta den totala ackumulerade drifttiden över intermittenta operationer. Exempel: spåra total motordrifttid för underhållsschemaläggning, mäta total exponeringstid i en härdningsprocess som kan pausas, sammanställa driftstid för fakturering eller SLA-rapportering.
Proffstips
TONR har en extra R (Reset)-ingång. Sätt R=TRUE för att rensa ET tillbaka till T#0s och Q till FALSE. Detta är det enda sättet att starta om ackumulatorn.
Till skillnad från TON/TOF/TP kommer TONR ihåg sin förflutna tid. Beteende vid strömavbrott beror på instansdatablockets inställningar för retention.
Använd TONR för underhållsräknare: när den totala drifttiden överstiger X timmar, utlös ett larm för 'underhåll krävs'.
Instruktioner för timerstyrning
Starta, återställ och konfigurera timers från LAD/FBD
—(TP)— Starta pulstimer
—(TP)—Vad den gör
En instruktion i spolstil som startar en TP-timer (puls) direkt från en LAD-rad. När RLO går från FALSE till TRUE genererar den tillhörande TP-timern en puls. Detta är ett alternativ till att använda funktionsblocksboxen för TP.
När den ska användas
När du föredrar spolnotering i LAD istället för en funktionsblocksbox. Vissa programmerare tycker att det är renare att skriva timerlogik som en rad som slutar med en timerspole snarare än att sätta in en stor FB-box mitt i nätverket.
Proffstips
Spolversionen refererar till samma IEC-timerinstans som boxversionen. De är utbytbara.
Placera i slutet av en rad, precis som en utgångsspole. Den förinställda tiden konfigureras i timerinstansen.
I de flesta moderna projekt föredras FB-boxversionen eftersom den visar alla parametrar (IN, PT, Q, ET) visuellt.
—(TON)— Starta tillslagsfördröjningstimer
—(TON)—Vad den gör
En instruktion i spolstil som startar en TON-timer (tillslagsfördröjning). När RLO är TRUE räknar den tillhörande TON-timern. När den förinställda tiden uppnås blir timerutgången Q TRUE.
När den ska användas
Alternativ spolnotering för TON. Använd när du vill ha en kompakt LAD-representation av en fördröjningstimer utan den större FB-boxen.
Proffstips
Samma beteende som funktionsblocket TON — bara en annan visuell representation i LAD.
Timerinstansdatablocket lagrar alla parametrar: PT, ET, Q, IN.
Du kan läsa timerns Q- och ET-utgångar i andra nätverk genom att referera till instansdatablocket.
—(TOF)— Starta frånslagsfördröjningstimer
—(TOF)—Vad den gör
En instruktion i spolstil som startar en TOF-timer (frånslagsfördröjning). Timerutgången Q aktiveras omedelbart när RLO är TRUE, och förblir TRUE under den förinställda tiden efter att RLO går till FALSE.
När den ska användas
Alternativ spolnotering för TOF. Använd för frånslagsfördröjningslogik i kompakta LAD-rader.
Proffstips
Samma beteende som funktionsblocket TOF.
Används ofta för 'eftergångs'-timers: håll utgångar aktiva en period efter att triggern försvunnit.
Referera till instansdatablockets Q-utgång i andra nätverk för att använda den fördröjda frånslagssignalen.
—(TONR)— Tidsackumulator
—(TONR)—Vad den gör
En instruktion i spolstil för TONR-timern (ackumulerande tillslagsfördröjning). Den förflutna tiden ackumuleras medan RLO är TRUE och pausar när den är FALSE. Timern måste uttryckligen återställas.
När den ska användas
Alternativ spolnotering för TONR. Använd när du spårar kumulativ drifttid i LAD-format.
Proffstips
Kom ihåg att använda RT-instruktionen (Reset Timer) för att återställa ackumulatorn vid behov.
Den ackumulerade tiden lagras i instansdatablocket och kvarstår över skancykler.
Användbart för underhållsschemaläggning — utlös ett larm när den totala ackumulerade tiden överstiger ett tröskelvärde.
—(RT)— Återställ timer
—(RT)—Vad den gör
Återställer en timer till dess ursprungliga tillstånd. När RLO är TRUE sätts den angivna timerns förflutna tid ET till T#0s och utgången Q sätts till FALSE. Fungerar med alla timertyper (TP, TON, TOF, TONR).
När den ska användas
När du behöver tvångsåterställa en timer från ett separat nätverk. Viktigt för TONR (som inte återställs automatiskt), men också användbart för att återställa vilken timer som helst vid ett specifikt tillstånd som ett felkvitto eller lägesändring.
Proffstips
För TONR-timers är RT det ENDA sättet att återställa den ackumulerade tiden. Utan den återställs timern aldrig.
Du kan återställa en timer från vilket nätverk som helst — den behöver inte vara i samma nätverk som timerstarten.
Använd RT på en 'återställ alla'-knapp för att rensa flera timers samtidigt.
—(PT)— Ladda tidslängd
—(PT)—Vad den gör
Laddar ett nytt förinställt tidsvärde (PT) i en befintlig timerinstans under körning. När RLO är TRUE uppdateras timerns förinställda tid till det angivna värdet. Detta gör att du kan ändra timervaraktigheter dynamiskt utan att ändra programmet.
När den ska användas
När timervaraktigheter behöver kunna justeras från en HMI eller ett receptsystem. Till exempel: en operatör ställer in en uppehållstid på HMI:n, och PT laddar det värdet i processtimern. Också användbart för adaptiv tidsstyrning baserad på sensorfeedback.
Proffstips
PT laddar värdet när RLO är TRUE. Om timern redan körs, träder den nya PT:n i kraft vid nästa timerstart.
Använd med variabler som kan redigeras via HMI för att låta operatörer justera tidsstyrning utan ingenjörsåtkomst.
Tidsvärdesformatet är TIME (t.ex. T#5s, T#1m30s, T#500ms). Du kan också använda en TIME-variabel.
Äldre timerinstruktioner
S5-timers från S7-300/400 — endast tillgängliga för bakåtkompatibilitet
TIA Portal innehåller även äldre S5-timerinstruktioner (S_PULSE, S_PEXT, S_ODT, S_ODTS, S_OFFDT) för bakåtkompatibilitet med S7-300/400-program. För nya projekt, använd alltid IEC-timers (TP, TON, TOF, TONR) eftersom de är mer flexibla, portabla och underhållsvänliga.
Timerjämförelse — Vilken ska man använda?
Snabbguide för beslut baserat på ditt tidskrav
| Du behöver... | Använd denna timer | Exempel |
|---|---|---|
| Utgångspuls med fast varaktighet | TP | Summer ljuder i 3s vid larm |
| Fördröjd aktivering (avstudsning) | TON | Motor startar 5s efter knapptryckning |
| Fördröjd inaktivering (eftergång) | TOF | Fläkt går 30s efter att motor stannat |
| Spårning av ackumulerad drifttid | TONR | Underhållslarm efter totalt 1000h |
| Tvångsåterställ vilken timer som helst | RT | Återställ alla timers vid felkvitto |
| Ändra timervaraktighet vid körning | PT | Operatör justerar uppehållstid från HMI |
Vanliga frågor
Vad är skillnaden mellan TP och TON?
TP genererar en puls med fast varaktighet som körs till slut oavsett insignalen — när den väl har utlösts förblir utgången PÅ i exakt PT, även om insignalen går till FALSE. TON kräver att insignalen förblir TRUE under hela varaktigheten — om insignalen går till FALSE före PT, återställs timern och utgången aktiveras aldrig.
Kan jag ändra en timers förinställda tid medan den körs?
Du kan ladda ett nytt PT-värde med PT-instruktionen, men det träder vanligtvis i kraft vid nästa timerstart, inte under pågående körning. För att ändra tidsstyrning mitt i körningen behöver du återställa timern och starta om den med det nya PT-värdet.
Hur gör jag en repeterande puls (klockgenerator)?
Använd två timers: en TON för PÅ-tiden och en TON för AV-tiden, korskopplade. När Timer1 löper ut startar den Timer2 och återställer sig själv. När Timer2 löper ut startar den Timer1 och återställer sig själv. Detta skapar en kontinuerlig oscillerande signal med konfigurerbara PÅ/AV-varaktigheter.
Är timers retentiva vid strömavbrott?
Som standard är timerinstanser INTE retentiva — de återställs till noll vid uppstart. För att göra en timer retentiv (t.ex. TONR för underhållstimmar), ställ in instansdatablocket till 'retentivt' i dess egenskaper. Var försiktig: retentiva timers återupptar räkningen från sitt senaste värde efter ett strömavbrott.