Class DSup
Version 1.0
Modified 15-JAN-2025 13:23:36.00
Kod rt_plc_macro_sup.h
Larmövervakning av digital storhet (Digital SUPervisory). 

Övervakar binär storhet i godtyckligt objekt med avseende på larmläge. 
CtrlPosition anger om det är sann eller falsk som utgör storhetens larmäge.
Larmmeddelande kan fördröjas en tid som specificeras av TimerTime . 

Då den övervakade storheten antar larmläge reagerar DSup objektet med två 
åtgärder: 

'act' utgången sätts ovillkorligen för att indikera larm tillstånd. 
efter tiden TimerTime skickas meddelande till utenheter, t.ex. operatörs 
stationer. Denna åtgärd kan undertryckas med hjälp av DetectOn . 
Meddelande består dels av textsträngen DetectText , dels av flaggor, se 
EventFlags , för att manövrera kompletterande aktiviteter. 

Meddelanden kan vara av olika typ; (se EventType ) 

ALARM ALARM-meddelanden ska kvitteras. De kvarstår i larmlistan
tills kvittering sker, dvs. oberoende av om det övervakade
objektet då befinner sig i larm- eller normaltillstånd. 
INFO Kvitteringsbara INFO-meddelanden skickas till larmfönstrets
informationsdel varifrån kvittering kan ske. F.ö hanteras de som
ALARM-meddelanden.

Ej kvitteringsbara INFO-meddelanden skickas endast till
händelselistan. 
Alla meddelanden skickas till händelselistan. 

ALARM-meddelanden ges olika prioritet; (se EventPriority ). Både A- och B- 
larm hamnar i larmfönstret och larmlistan. Kvittering kan ske från båda 
platserna. I larmfönstret anges antalet okvitterade C- och D-larm medan själva 
meddelandena finns i larmlistan varifrån kvittering också kan göras. 

NB! Meddelande som skapas av ett DSup objekt får samma identitet som det 
övervakade objektet. Attributet SelectList, som finns i utenheternas objekt, 
t.ex. User-objekt, anger från vilka hierarkier meddelanden ska tas emot. 

Olika typer av utenheter finns: 

OPERATOR: Urvalslistan definieras av ett attribut i User-objekt. 
PRINTER: Urvalslistan definieras av ett attribut i EventPrinter -
objekt. 

Tips

Övervakning av frånslag sker lämpligen efter invertering av In -signalen. 

Att den övervakade storheten kan tillhöra ett godtyckligt objekt betyder att inte 
bara signalobjekt utan också andra objekt kan övervakas; t.ex attribut i egen 
definierade objekt. 

Både ASup och DSup objekt kan konfigureras på olika sätt. Vid konfigurering 
i PLC program handhar PLC jobbet övervakningen. När objekten konfigureras 
utanför PLC program.

Se även


RtBody attributes pwr_sClass_DSup
Boolean In in Övervakat objekt. Lämnas ingången öppen anges i Attribute vad som ska
övervakas.
Boolean Control con Anger om övervakningen ska ske eller ej. Notera att blockering görs när
Control är FALSE. Insignalen kan inverteras.

FALSE kopplar bort övervakningen och TRUE eller öppen ingång innebär att
övervakningen ska utföras.
Boolean Action act Anger den övervakade storhetens tillstånd. FALSE innebär normaltillstånd och
TRUE larmtillstånd.

Utsignalen kan t.ex. användas för att aktivera åtgärdspaket vid larmtillstånd.
Boolean Acked ack Anger om larmtillståndet kvitterats eller ej. FALSE betyder att okvitterat larm
finns. Utsignalen sätts initialt TRUE då DSup-objektet skapas i rtdb och när
larmtillstånd kvitteras.
Boolean Blocked blk 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 meddelandet 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 specificera
meddelandet. Följande värden (flaggor) finns:

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 akustisk signal (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 iväg 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 ett 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 ActualValue   Den övervakad storhetens värde vid tidpunkten TimeOfDetect .
Boolean CtrlPosition   Anger om det är TRUE eller FALSE som utgör den övervakade storhetens
larmläge.

FALSE = Frånslag. Då In -signalen 1 --> 0 => larmtillstånd.
TRUE = Tillslag. Då In -signalen 0 --> 1 => larmtillstånd. Detta är normal
fallet.
Boolean Suppressed   Used by the SuppressSup object to suppress the alarm.
Boolean TimerFlag   Markerar aktiv timer.
Pointer to Boolean TimerNext   Pekar på nästa element i timerkön.
UInt32 TimerCount   Antal återstående ticks. ( 1 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

DevBody attributes 
Boolean ShowDetectText   Anger om DetectText ska visas i DSup-objektets symbol eller ej. FALSE
betyder ingen visning och TRUE visning.
Boolean LockAttribute   'Attribute' is assigned a value that should not be changed.
Normally the 'Attribute' value is fetched from the object connected
to the In input pin. If LockAttribute is set, and Attribute is
assigned a value, this value will not be changed by the compiler.
PlcNode PlcNode  


GraphPlcNode
object_type 99
parameters[0] 2
parameters[1] 0
parameters[2] 3
parameters[3] 0
subwindows 0
graphmethod 9
graphindex 0
default_mask[0] 1
default_mask[1] 0
segname_annotation 1
rtbody_annotation 1
compmethod 25
compindex 0
executeordermethod 2
tracemethod 3
traceindex 1
objname DSup
graphname DSup
debugpar Action


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


Attributes detail


In Input
Klass Input
Typ Boolean
Flags STATE | RTVIRTUAL | NOEDIT
GraphName in
Kropp RtBody
Övervakat objekt. Lämnas ingången öppen anges i Attribute vad som ska 
övervakas. 

Control Input
Klass Input
Typ Boolean
Flags STATE | RTVIRTUAL | NOEDIT
GraphName con
Kropp RtBody
Anger om övervakningen ska ske eller ej. Notera att blockering görs när 
Control är FALSE. Insignalen kan inverteras. 

FALSE kopplar bort övervakningen och TRUE eller öppen ingång innebär att 
övervakningen ska utföras. 

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

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

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

Blocked Output
Klass Output
Typ Boolean
Flags STATE | NOEDIT | REDUTRANSFER
GraphName blk
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 REDUTRANSFER
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 meddelandet skickas vid 
larmtillstånd; TRUE betyder att meddelandet DetectText skickas vid 
larmtillstånd. 

DetectText Intern
Klass Intern
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 specificera 
meddelandet. Följande värden (flaggor) finns: 

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 akustisk signal (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 | REDUTRANSFER
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 | REDUTRANSFER
Kropp RtBody
Används internt vid händelse detektering. 

DetectCheck Attribute
Klass Attribute
Typ Boolean
Flags STATE | INVISIBLE | REDUTRANSFER
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 | REDUTRANSFER
Kropp RtBody
Anger om meddelande sänts iväg 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 | REDUTRANSFER
Kropp RtBody
Datum och klockslag för senast detekterade larmtillstånd. 

ReturnCheck Attribute
Klass Attribute
Typ Boolean
Flags STATE | INVISIBLE | REDUTRANSFER
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 | REDUTRANSFER
Kropp RtBody
Anger om ett returmeddelande med ReturnText sänts till utenheterna eller ej. 
TRUE betyder att returmeddelande sänts. 

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

AckTime Attribute
Klass Attribute
Typ Time
Flags STATE | INVISIBLE | REDUTRANSFER
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. 

ActualValue Attribute
Klass Attribute
Typ Boolean
Flags STATE | INVISIBLE
Kropp RtBody
Den övervakad storhetens värde vid tidpunkten TimeOfDetect . 

CtrlPosition Attribute
Klass Attribute
Typ Boolean
Flags
Kropp RtBody
Anger om det är TRUE eller FALSE som utgör den övervakade storhetens 
larmläge. 

FALSE = Frånslag. Då In -signalen 1 --> 0 => larmtillstånd.
TRUE = Tillslag. Då In -signalen 0 --> 1 => larmtillstånd. Detta är normal
fallet. 

Suppressed Attribute
Klass Attribute
Typ Boolean
Flags STATE | NOEDIT
Kropp RtBody
 Used by the SuppressSup object to suppress the alarm.

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

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

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

TimerDO Intern
Klass Intern
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 Intern
Klass Intern
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 Intern
Klass Intern
Typ Boolean
Flags STATE | INVISIBLE
Kropp RtBody
Dummy. Om TimerDoDum inte pekar på ett Do eller Dv objekt pekar det hit. 

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

TimerAcc Intern
Klass Intern
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 Intern
Klass Intern
Typ Float32
Flags
Kropp RtBody
Anger tillåtet intervall för TimerTime vid operatörs inmatning. 

TimerMin <= TimerTime <= TimerMax 

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

TimerMin <= TimerTime <= TimerMax 

ShowDetectText Intern
Klass Intern
Typ Boolean
Flags
Kropp DevBody
Anger om DetectText ska visas i DSup-objektets symbol eller ej. FALSE 
betyder ingen visning och TRUE visning. 

LockAttribute Intern
Klass Intern
Typ Boolean
Flags
Kropp DevBody
 'Attribute' is assigned a value that should not be changed.
 Normally the 'Attribute' value is fetched from the object connected
 to the In input pin. If LockAttribute is set, and Attribute is
 assigned a value, this value will not be changed by the compiler.

PlcNode Buffer
Klass Buffer
Typ PlcNode
Flags INVISIBLE
Kropp DevBody