Class CycleSup
Modified 15-JAN-2025 13:23:36.00
Kod rt_csup.c
Objektet används för övervakning av plc-trådar. En max tid anges, och 
likaså en åtgärd som ska utföras när en fördröjning inträffar. Flera
objekt med olika åtgärder kan användas för samma plc-tråd.

Fördröjningen detekteras av alla trådar och av rt_emon.
Om tråden själv blir hängande, kan alltid någon annan tråd eller rt_emon
detektera fördröjningen. Detta är naturligtvis beroende på vilka prioriteter
trådar och processer går på.
 

RtBody attributes pwr_sClass_CycleSup
Float32 MaxDelay   Maximal fördröjning (s). När fördröjningen är lägre än MaxDelay, utförs
specificerad åtgärd.
DeltaTime DelayLimit   Samma värde som 'MaxDelay' representerad som delta-tid.
SupDelayActionEnum DelayAction   Åtgärd som ska utföras vid fördröjning. 1 = Larm, 2 = Stall.
UInt32 DelayCount   Antal fördröjningar som har inträffat.
UInt32 DetectCount   Antal cykler CycleSup-objektet har övervakats av rt_emon.
UInt32 CycleCount   Antal cykler för plc-tråden.
DeltaTime NextLimit   Nästa tidsgräns för att en fördröjning ska ha inträffat.
Time LastDelay   Tid när senaste fördröjning inträffade.
Time DelayedTime   Tid när den första fördröjningen inträffade.
Boolean Delayed   Fördröjning upptäckt av någon plc-tråd. Återställs av rt_emon.
Boolean DelayNoted   rt_emon har detekterat en fördröjning. Återställs när tråden kommer i tid igen.
Time TimelyTime   Tid när tråden började att komma i tid sist.
Boolean Timely   Thread is running timely (no delay).
Boolean Control   Specificerar om övervakningen är till eller från.
Boolean Action   Anger den övervakade storhetens tillstånd. FALSE innebär normaltillstånd och
TRUE larmtillstånd.

Utsignalen kan användas t.ex. för att aktivera åtgärdspaket vid larmtillstånd.
Boolean Acked   Anger om ett larmtillstånd kvitterats eller ej. FALSE betyder att okvitterat larm
finns. Utsignalen sätts initialt TRUE då ASup-objektet skapas i rtdb och när
larmtillstånd kvitteras.
Boolean Blocked   Anger om övervakningsobjektet är blockerat eller ej. Med blockering avses
övervakningsobjektets förmåga att initiera meddelanden. Blockering påverkar
inte objektets act-utgång.

FALSE innebär att ASup-objektet inte är blockerat och TRUE att det är
blockerat. Vid blockering av övervakningsobjekt som befinner sig i larmläge
tas existerande meddelanden för det aktuella objektet bort.

Blockering /deblockering görs med hjälp av larmblockeringsformuläret i
Operator Window.
String80 Description   Fri text för att beskriva objektet. Används i bilden 'Larmgränser'.
Boolean DetectOn   Anger om den åtgärd som vid larmtillstånd består i att skicka DetectText ska
blockeras eller ej. FALSE betyder att inget meddelande skickas vid
larmtillstånd; TRUE betyder att meddelandet DetectText skickas vid
larmtillstånd.
String80 DetectText   Fri text som ingår i meddelandet vid larmtillstånd. Texten skrivs ut vid
larmtillstånd om DetectOn är TRUE.
String80 ReturnText   Fri text som ingår i meddelandet vid återgång till normaltillstånd. Meddelandet
skrivs i händelselistan.
EventTypeEnum EventType   Anger vilken typ av meddelande (= DetectText ) som ska skickas vid
larmtillstånd.
64 -- ALARM Meddelandet kräver kvittering och skickas till
larmfönstret, larmlistan och händelselistan.
32 -- INFO Om meddelandet kräver kvittering skickas det till
larmfönstrets informationsdel och händelselistan annars
enbart till händelselistan.
EventPrioEnum EventPriority   Prioritet. Gäller enbart ALARM-meddelanden.

67 = A-larm; högst prioritet. (= 43Hex)
66 = B-larm (= 42Hex)
65 = C-larm (= 41Hex)
64 = D-larm ; lägst prioritet. (= 40Hex)
EventFlagsMask EventFlags   Bitmask. En kombination av flaggor används också för att närmare precisera
meddelandet. Följande värden är möjliga:

1 -- Om denna flagga finns ska ett returmeddelande med ReturnText skickas
till utenheternas händelselistor, annars inte.
2 -- Om denna flagga finns ska ett kvittensmeddelande skickas till
utenheternas händelselistor, annars inte.
4 -- Om den enskilda utenheten har pip-funktion ska den aktiveras då
meddelandet tas emot.
8 -- Meddelandet ska tas emot av varje utenhet oberoende av vad det står i
urvalslistorna.
16 -- Om meddelandet är av typen INFO placeras det förutom i
händelselistan också i larmfönstrets info-del. Kvittens- resp
returmeddelande som för t.ex. A-larm.
AttrRef Sound   Reference to a sound object, that defines the sound at the operator
place when the alarm is active. If no sound object is supplied, an
ordinary beep is used. The sound object should be of class Sound
or SoundSequence
Text256 MoreText   Optional text supplying more information about the event.
The more text can for example contain actions to be made when an alarm is detected.
String40 Recipient   Recipient for epost and mms alarms.
The recipient is a user defined in the user database in the
current system group.
Recipient can also be a list of users separated by comma, eg
'dennis, jimmy'. Also symbols defined in the Symbol table in
the PostConfig object can be used. Symbols should be referenced
with a $ sign before the symbol name, eg '$on_duty'.

The users should be defined in the current system group or in a
subgroup to this, If a subgroup is used, the subgroup should
be specified in the recipient name, eg 'sms.dennis'.
AttrRef Attribute   Anger komplett namn på övervakat attribut. Om ingången IN lämnas öppen ska
vid konfigureringen Attribute fyllas i. Knyts ingången till annat objekt ifylls
attributet vid kompileringen av ProviewR.
UInt32 AlarmStatus   Aktuellt statusvärde. Bitmask bestående av 16 bitar där de 8 minst signifikanta
bitarna anger tillståndet och de 8 mest signifikanta prioriteten .

Tillståndet är en kombination av följande:

0 -- Normaltillstånd
1 -- Larmtillstånd
2 -- Okvitterat larmtillstånd

Prioriteten är en av prioriteterna EventPriority .

Följande värde på AlarmStatus kan förekomma:

EventPrority + 1 => Prioritet + larmtillstånd
EventPrority + 3 => Prioritet + okvitterat larm och rådande larmtillstånd
EventPrority + 2 => Prioritet + okvitterat larm och normaltillstånd
Boolean AlarmCheck   Används internt vid händelse detektering.
Boolean DetectCheck   Anger om larmtillstånd ska detekteras eller ej. FALSE betyder att larmtillstånd
inte ska detekteras; TRUE att larmtillstånd ska detekteras.
Boolean DetectSend   Anger om meddelande sänts till utenheter (eller mer precis till meddelande
hanteraren) eller ej; TRUE betyder att meddelande har sänts.
Time DetectTime   Datum och klockslag för senast detekterade larmtillstånd.
Boolean ReturnCheck   Anger om objektet återgått till normaltillstånd eller ej. TRUE betyder att
objektet återgått till normaltillstånd.
Boolean ReturnSend   Anger om returmeddelande med ReturnText sänts till utenheterna eller ej.
TRUE betyder att returmeddelande sänts.
Time ReturnTime   Datum och klockslag för senast detekterade retur till normaltillstånd.
Time AckTime   Datum och klockslag för senast detekterade kvittens.
Objid AckOutunit   Identitet på utenhet (operatör) varifrån kvittering skett.
Boolean TimerFlag   Markerar aktiv timer.
Pointer to Boolean TimerNext   Pekar på nästa element i timerkön.
UInt32 TimerCount   Antal återstående ticks. ( ? tick = PLC-jobbets bascykeltid.)
Pointer to Boolean TimerDO   Pekar på ett Do eller Dv objekt eller, om sådant objekt inte används, på
TimerDoDum . Efter tiden TimerTime nollställs den av TimerDo angivna
signalen.
Float32 TimerTime   Fördröjning i sekunder. Anger när, efter det att larmtillstånd inträtt,
meddelandet ska skickas. Om larmtillståndet försvinner innan tiden gått ut
genereras inget meddelande.

TimerTime = PLC-jobbets bascykeltid.
Boolean TimerDODum   Dummy. Om TimerDoDum inte pekar på ett Do eller Dv objekt pekar det hit.
Objid TimerObjDId   Identity of this object is set at load file creation.
Used by the run time system.
Int32 TimerAcc   Ej implementerad funktion. Anger operatörens behörighet att ändra värde på
TimerTime . Följande behörigheter är möjliga:

0 -- Ingen ändring tillåten
? 0 -- ändring tillåten.
Float32 TimerMin   Anger tillåtet intervall för TimerTime vid operatörs inmatning.

TimerMin <= TimerTime <= TimerMax
Float32 TimerMax   Anger tillåtet intervall för TimerTime vid operatörs inmatning.

TimerMin <= TimerTime <= TimerMax


Template Object
Control 1
DelayAction 1
EventType 64
EventPriority 67
EventFlags 7
DetectOn 1


Attributes detail


MaxDelay Attribute
Klass Attribute
Typ Float32
Flags
Kropp RtBody
Maximal fördröjning (s). När fördröjningen är lägre än MaxDelay, utförs
specificerad åtgärd.

DelayLimit Attribute
Klass Attribute
Typ DeltaTime
Flags STATE | NOEDIT | INVISIBLE
Kropp RtBody
Samma värde som 'MaxDelay' representerad som delta-tid.

DelayAction Attribute
Klass Attribute
Typ SupDelayActionEnum
Flags
Kropp RtBody
Åtgärd som ska utföras vid fördröjning. 1 = Larm, 2 = Stall.

DelayCount Attribute
Klass Attribute
Typ UInt32
Flags STATE | NOEDIT | INVISIBLE
Kropp RtBody
Antal fördröjningar som har inträffat.

DetectCount Attribute
Klass Attribute
Typ UInt32
Flags STATE | NOEDIT | INVISIBLE
Kropp RtBody
Antal cykler CycleSup-objektet har övervakats av rt_emon.

CycleCount Attribute
Klass Attribute
Typ UInt32
Flags STATE | NOEDIT | INVISIBLE
Kropp RtBody
Antal cykler för plc-tråden.

NextLimit Attribute
Klass Attribute
Typ DeltaTime
Flags STATE | NOEDIT | INVISIBLE
Kropp RtBody
Nästa tidsgräns för att en fördröjning ska ha inträffat.

LastDelay Attribute
Klass Attribute
Typ Time
Flags STATE | NOEDIT | INVISIBLE
Kropp RtBody
Tid när senaste fördröjning inträffade.

DelayedTime Attribute
Klass Attribute
Typ Time
Flags STATE | NOEDIT | INVISIBLE
Kropp RtBody
Tid när den första fördröjningen inträffade.

Delayed Attribute
Klass Attribute
Typ Boolean
Flags STATE | NOEDIT | INVISIBLE
Kropp RtBody
Fördröjning upptäckt av någon plc-tråd. Återställs av rt_emon.

DelayNoted Attribute
Klass Attribute
Typ Boolean
Flags STATE | NOEDIT | INVISIBLE
Kropp RtBody
rt_emon har detekterat en fördröjning. Återställs när tråden kommer i tid igen.

TimelyTime Attribute
Klass Attribute
Typ Time
Flags STATE | NOEDIT | INVISIBLE
Kropp RtBody
Tid när tråden började att komma i tid sist.

Timely Attribute
Klass Attribute
Typ Boolean
Flags STATE | NOEDIT | INVISIBLE
Kropp RtBody
 Thread is running timely (no delay).

Control Input
Klass Input
Typ Boolean
Flags STATE | NOEDIT | INVISIBLE
Kropp RtBody
Specificerar om övervakningen är till eller från.

Action Attribute
Klass Attribute
Typ Boolean
Flags STATE | NOEDIT | INVISIBLE
Kropp RtBody
Anger den övervakade storhetens tillstånd. FALSE innebär normaltillstånd och 
TRUE larmtillstånd. 

Utsignalen kan användas t.ex. för att aktivera åtgärdspaket vid larmtillstånd. 

Acked Attribute
Klass Attribute
Typ Boolean
Flags STATE | NOEDIT | INVISIBLE
Kropp RtBody
Anger om ett larmtillstånd kvitterats eller ej. FALSE betyder att okvitterat larm 
finns. Utsignalen sätts initialt TRUE då ASup-objektet skapas i rtdb och när 
larmtillstånd kvitteras. 

Blocked Attribute
Klass Attribute
Typ Boolean
Flags STATE | NOEDIT | INVISIBLE
Kropp RtBody
Anger om övervakningsobjektet är blockerat eller ej. Med blockering avses 
övervakningsobjektets förmåga att initiera meddelanden. Blockering påverkar 
inte objektets act-utgång. 

FALSE innebär att ASup-objektet inte är blockerat och TRUE att det är 
blockerat. Vid blockering av övervakningsobjekt som befinner sig i larmläge 
tas existerande meddelanden för det aktuella objektet bort. 

Blockering /deblockering görs med hjälp av larmblockeringsformuläret i 
Operator Window. 

Description Attribute
Klass Attribute
Typ String80
Flags
Kropp RtBody
Fri text för att beskriva objektet. Används i bilden 'Larmgränser'. 

DetectOn Attribute
Klass Attribute
Typ Boolean
Flags NOEDIT | INVISIBLE
Kropp RtBody
Anger om den åtgärd som vid larmtillstånd består i att skicka DetectText ska 
blockeras eller ej. FALSE betyder att inget meddelande skickas vid 
larmtillstånd; TRUE betyder att meddelandet DetectText skickas vid 
larmtillstånd. 

DetectText Attribute
Klass Attribute
Typ String80
Flags
Kropp RtBody
Fri text som ingår i meddelandet vid larmtillstånd. Texten skrivs ut vid 
larmtillstånd om DetectOn är TRUE. 

ReturnText Attribute
Klass Attribute
Typ String80
Flags
Kropp RtBody
Fri text som ingår i meddelandet vid återgång till normaltillstånd. Meddelandet 
skrivs i händelselistan. 

EventType Attribute
Klass Attribute
Typ EventTypeEnum
Flags
Kropp RtBody
Anger vilken typ av meddelande (= DetectText ) som ska skickas vid 
larmtillstånd.
64 -- ALARM Meddelandet kräver kvittering och skickas till
larmfönstret, larmlistan och händelselistan.
32 -- INFO Om meddelandet kräver kvittering skickas det till
larmfönstrets informationsdel och händelselistan annars
enbart till händelselistan. 

EventPriority Attribute
Klass Attribute
Typ EventPrioEnum
Flags
Kropp RtBody
Prioritet. Gäller enbart ALARM-meddelanden. 

67 = A-larm; högst prioritet. (= 43Hex)
66 = B-larm (= 42Hex)
65 = C-larm (= 41Hex)
64 = D-larm ; lägst prioritet. (= 40Hex) 

EventFlags Attribute
Klass Attribute
Typ EventFlagsMask
Flags
Kropp RtBody
Bitmask. En kombination av flaggor används också för att närmare precisera 
meddelandet. Följande värden är möjliga: 

1 -- Om denna flagga finns ska ett returmeddelande med ReturnText skickas 
till utenheternas händelselistor, annars inte.
2 -- Om denna flagga finns ska ett kvittensmeddelande skickas till
utenheternas händelselistor, annars inte.
4 -- Om den enskilda utenheten har pip-funktion ska den aktiveras då
meddelandet tas emot.
8 -- Meddelandet ska tas emot av varje utenhet oberoende av vad det står i 
urvalslistorna.
16 -- Om meddelandet är av typen INFO placeras det förutom i
händelselistan också i larmfönstrets info-del. Kvittens- resp
returmeddelande som för t.ex. A-larm. 

Sound Attribute
Klass Attribute
Typ AttrRef
Flags
Kropp RtBody
 Reference to a sound object, that defines the sound at the operator
 place when the alarm is active. If no sound object is supplied, an
 ordinary beep is used. The sound object should be of class Sound
 or SoundSequence

MoreText Attribute
Klass Attribute
Typ Text256
Flags
Kropp RtBody
 Optional text supplying more information about the event.
 The more text can for example contain actions to be made when an alarm is detected.

Recipient Attribute
Klass Attribute
Typ String40
Flags
Kropp RtBody
 Recipient for epost and mms alarms.
 The recipient is a user defined in the user database in the
 current system group.
 Recipient can also be a list of users separated by comma, eg
 'dennis, jimmy'. Also symbols defined in the Symbol table in
 the PostConfig object can be used. Symbols should be referenced
 with a $ sign before the symbol name, eg '$on_duty'.

 The users should be defined in the current system group or in a
 subgroup to this, If a subgroup is used, the subgroup should
 be specified in the recipient name, eg 'sms.dennis'.

Attribute Attribute
Klass Attribute
Typ AttrRef
Flags
Kropp RtBody
Anger komplett namn på övervakat attribut. Om ingången IN lämnas öppen ska 
vid konfigureringen Attribute fyllas i. Knyts ingången till annat objekt ifylls 
attributet vid kompileringen av ProviewR. 

AlarmStatus Attribute
Klass Attribute
Typ UInt32
Flags STATE | INVISIBLE
Kropp RtBody
Aktuellt statusvärde. Bitmask bestående av 16 bitar där de 8 minst signifikanta 
bitarna anger tillståndet och de 8 mest signifikanta prioriteten . 

Tillståndet är en kombination av följande: 

0 -- Normaltillstånd
1 -- Larmtillstånd
2 -- Okvitterat larmtillstånd 

Prioriteten är en av prioriteterna EventPriority . 

Följande värde på AlarmStatus kan förekomma: 

EventPrority + 1 => Prioritet + larmtillstånd
EventPrority + 3 => Prioritet + okvitterat larm och rådande larmtillstånd 
EventPrority + 2 => Prioritet + okvitterat larm och normaltillstånd 

AlarmCheck Attribute
Klass Attribute
Typ Boolean
Flags STATE | INVISIBLE
Kropp RtBody
Används internt vid händelse detektering. 

DetectCheck Attribute
Klass Attribute
Typ Boolean
Flags STATE | INVISIBLE
Kropp RtBody
Anger om larmtillstånd ska detekteras eller ej. FALSE betyder att larmtillstånd 
inte ska detekteras; TRUE att larmtillstånd ska detekteras. 

DetectSend Attribute
Klass Attribute
Typ Boolean
Flags STATE | INVISIBLE
Kropp RtBody
Anger om meddelande sänts till utenheter (eller mer precis till meddelande 
hanteraren) eller ej; TRUE betyder att meddelande har sänts. 

DetectTime Attribute
Klass Attribute
Typ Time
Flags STATE | INVISIBLE
Kropp RtBody
Datum och klockslag för senast detekterade larmtillstånd. 

ReturnCheck Attribute
Klass Attribute
Typ Boolean
Flags STATE | INVISIBLE
Kropp RtBody
Anger om objektet återgått till normaltillstånd eller ej. TRUE betyder att 
objektet återgått till normaltillstånd. 

ReturnSend Attribute
Klass Attribute
Typ Boolean
Flags STATE | INVISIBLE
Kropp RtBody
Anger om returmeddelande med ReturnText sänts till utenheterna eller ej. 
TRUE betyder att returmeddelande sänts. 

ReturnTime Attribute
Klass Attribute
Typ Time
Flags STATE | INVISIBLE
Kropp RtBody
Datum och klockslag för senast detekterade retur till normaltillstånd. 

AckTime Attribute
Klass Attribute
Typ Time
Flags STATE | INVISIBLE
Kropp RtBody
Datum och klockslag för senast detekterade kvittens. 

AckOutunit Attribute
Klass Attribute
Typ Objid
Flags STATE | INVISIBLE
Kropp RtBody
Identitet på utenhet (operatör) varifrån kvittering skett. 

TimerFlag Attribute
Klass Attribute
Typ Boolean
Flags STATE | INVISIBLE
Kropp RtBody
Markerar aktiv timer. 

TimerNext Attribute
Klass Attribute
Typ Pointer to Boolean
Flags POINTER | STATE | INVISIBLE | PRIVATE
Kropp RtBody
Pekar på nästa element i timerkön. 

TimerCount Attribute
Klass Attribute
Typ UInt32
Flags STATE | INVISIBLE
Kropp RtBody
Antal återstående ticks. ( ? tick = PLC-jobbets bascykeltid.) 

TimerDO Attribute
Klass Attribute
Typ Pointer to Boolean
Flags POINTER | STATE | INVISIBLE | PRIVATE
Kropp RtBody
Pekar på ett Do eller Dv objekt eller, om sådant objekt inte används, på 
TimerDoDum . Efter tiden TimerTime nollställs den av TimerDo angivna 
signalen. 

TimerTime Attribute
Klass Attribute
Typ Float32
Flags
Kropp RtBody
Fördröjning i sekunder. Anger när, efter det att larmtillstånd inträtt, 
meddelandet ska skickas. Om larmtillståndet försvinner innan tiden gått ut 
genereras inget meddelande. 

TimerTime = PLC-jobbets bascykeltid. 

TimerDODum Attribute
Klass Attribute
Typ Boolean
Flags STATE | INVISIBLE
Kropp RtBody
Dummy. Om TimerDoDum inte pekar på ett Do eller Dv objekt pekar det hit. 

TimerObjDId Attribute
Klass Attribute
Typ Objid
Flags INVISIBLE
Kropp RtBody
 Identity of this object is set at load file creation.
 Used by the run time system.

TimerAcc Attribute
Klass Attribute
Typ Int32
Flags
Kropp RtBody
Ej implementerad funktion. Anger operatörens behörighet att ändra värde på 
TimerTime . Följande behörigheter är möjliga: 

0 -- Ingen ändring tillåten
? 0 -- ändring tillåten. 

TimerMin Attribute
Klass Attribute
Typ Float32
Flags
Kropp RtBody
Anger tillåtet intervall för TimerTime vid operatörs inmatning. 

TimerMin <= TimerTime <= TimerMax 

TimerMax Attribute
Klass Attribute
Typ Float32
Flags
Kropp RtBody
Anger tillåtet intervall för TimerTime vid operatörs inmatning. 

TimerMin <= TimerTime <= TimerMax