Class CompModePID
Redaktör hw/je
Version 1.0
Modified 29-JUN-2006 13:22:18.35
Kod rt_plc_bcomp.c
 Mode pid-regulator
Hanterar val av reglermod (MANUAL / AUTO / CASCADE) och s.k. 
tvångsstyrning åt Pid-objekt. 

Följande reglermoder finns: 

MANUAL  -- då operatören själv sätter Pid-objektets styrsignal. 
AUTO    -- då operatören väljer börsvärde och Pid-objektet
           beräknar styrsignal. 
CASCADE -- utsignalen från ett objekt, t.ex. Pid-objekt, används som 
           börvärde av det med Mode-objektet associerade Pid-objektet. 
 

Tvångsstyrning innebär att Pid objektets OutVal baseras på Mode objektets 
attribut XForceVal , inte på PID-algoritmen.

Pid-objektet har två utgångar som båda kan användas som styrsignal. Vilken 
som används i det enskilda fallet beror på hur regleringen är ordnad: 

OUT (attributet OutVal ) innehåller ett värde som kan komma från 
evalueringen av PID-algoritmens 'positional form', från operatören i läge 
MANUAL eller vara ett s.k. tvångsstyrningsvärde. Kunskapen om var 
ställdonet ska stå ligger i detta fall på regulatorsidan eftersom hela värdet 
används. 
OC (attributet OutChange ) anger hur ställdonet ska ändras mellan två 
successiva programcykler. I detta fall talar man om PID-algoritmens 'velocity' 
eller 'incremental form'. 

Objektsbild

Plc kod
För PLC programmering används funktionsobjektet CompModePid.
 
Skapa ett funktionsobjekt i PLC editorn och koppla till objektet i planthierarkin.
 
Se även



RtBody attributes pwr_sClass_CompModePID
String80 Description   Optional description.
Float32 XSetVal   Externt börvärde som kopplas in till PLC funktionsobjektet (kaskadbörvärdet)
Float32 ProcVal   Ärvärde som kopplas in till PLC funktionsobjektet
Float32 XForcVal   Externt tvångsstyrningsvärde som kopplas in till PLC funktionsobjektet.
Boolean Forc1   Anger om ovillkorlig tvångsstyrning valts eller inte. Insignal som kopplas till
PLC funktionsobjektet.
Boolean Forc2   Anger, i läge AUTO och CASCADE, om tvångsstyrning valts eller inte. Insignal som
kopplas till PLC funktionsobjektet.
Float32 OutVal   Återkopplingssignal som kopplas in till PLC funktionsobjektet.

Då reglerkretsen sätts i läge MANUAL skulle processen få en större eller
mindre stöt ('bump') om värdet på ForcVal inledningsvis avvek från det
aktuella ärvärdet, ProcVal .

För att undvika detta gäller följande: Vid omkoppling till läge MANUAL
initieras internt FOV-utgången med värdet av OutVal . Alltså återstår att se till
att värdet på OutVal ger 'bumpless transfer'. Detta brukar lösas med en analog
återkoppling från Pid-objektets OUT -utgång.
Float32 SetVal   Börvärdes utgång ifrån PLC funktionsobjektet.

Anger, i läge AUTO och CASCADE, aktuellt börvärde. Attributet kan i läge

- MANUAL och AUTO, ändras från Mode objektets objektbild

- CASCADE, internt tilldelas värdet av XSetVal .

Ofta ansluts utgången till motsvarande ingång på efterföljande Pid-objekt.
Float32 ForcVal   Tvångstyrningsvärde, utgång ifrån PLC funktionsobjektet.

Normalt ansluts utgången till motsvarande ingång på efterföljande Pid-objekt.
Värdet på Pid-objektets utgångar OUT och OC kommer att baseras på ForcVal
i följande fall:

ovillkorlig tvångsstyrning, dvs Forc1 är TRUE och ForceVal = XForceVal
villkorlig (= reglermod är AUTO eller CASCADE) tvångsstyrning då Force2 =
TRUE och ForceVal = XForceVal
OpMod = MANUAL. ForcVal sätts av operatören, t.ex från Mode-objektets
objektbild.
Boolean Force   Reglermod i tvingaläge, utgång ifrån PLC funktionsobjektet.

Normalt ansluts utgången till motsvarande ingång på efterföljande Pid - objekt.

Attributet anger för Pid-objektet om värdena till utgångarna OUT och OC ska
hämtas från algoritmen eller inte. FALSE betyder att AUTO eller CASCADE
gäller, dvs. värdena baseras på algoritmen. TRUE innebär att tvångskörning
eller MANUAL gäller och att värdena istället ska bygga på FOV-utgångens
värde.
Boolean AutMode   Reglermod i automatik, utgång ifrån PLC funktionsobjektet.

Anger om reglermod AUTO valts eller inte. FALSE betyder att annan mod
gäller; TRUE innebär att AUTO valts.

Eftersom ett efterföljande Pid-objekt inte behöver skilja mellan AUTO och
CASCADE används attributet ofta för ren indikering.
Boolean CascMod   Reglermod i kakskamod, utgång ifrån PLC funktionsobjektet.

Anger om reglermod CASCADE valts eller inte. FALSE betyder att annan mod
gäller; TRUE innebär att CASCADE valts.

Eftersom ett efterföljande Pid-objekt inte behöver skilja mellan AUTO och
CASCADE används attributet ofta för ren indikering.
Boolean ManMode   Anger om reglermod MANUELL valts eller inte. FALSK betyder att annan mod
gäller; SANT innebär att MANUELL valts. Attributet används endast som information.
PidOpModeEnum OpMod   Anger vald reglermod. Attributet kan ändras från Mode-objektets objektbild.

= 1 MANUAL. Operatören väljer regulatorns styrsignal. Regulatorns
styrsignal tvångsstyrs till angivet värde i ForceVal.

MinOut och MaxOut definierar styrsignalens tillåtna intervall.

= 2 AUTO. Operatören väljer börvärde, Regulatorns börvärde =
SetVal och styrsignalen räknar regulatorn fram.

MinSet och MaxSet definierar böbrvärdets tillåtna intervall.

= 4 CASCADE. Som i AUTO men regulatorns börvärde = XSetVal.
PidModeEnum AccMod   Anger operatörens behörighet att ändra värde på OpMod . Följande
behörigheter/värden är möjliga:

1 -- Bara MANUAL
2 -- Bara AUTO
3 -- MANUAL / AUTO
4 -- Bara CASCADE
5 -- CASCADE / MANUAL
6 -- CASCADE / AUTO
7 -- MANUAL / AUTO / CASCADE
Int32 AccOut   Ej implementerad funktion. Anger operatörens behörighet att ändra ForcVal .
Följande behörigheter är möjliga:

0 -- Ingen ändring tillåten
? 0 -- ändring tillåten.
Float32 MinOut   Minsta tillåtna värde vid operatörsändring av ForcVal .
I läge MANUAL kan ForcVal ändras från Mode-objektets objektbild.
Float32 MaxOut   Största tillåtna värde vid operatörsändring av ForcVal .
I läge MANUAL kan ForcVal ändras från Mode-objektets objektbild.
Float32 SetMinShow   Undre gräns vid presentation av är-och börvärde i Mode-objektets
objektbild. Gränserna kan ändras från objektbilden.
Float32 SetMaxShow   Övre gräns vid presentation av är-och börvärde i Mode-objektets
objektbild. Gränserna kan ändras från objektbilden.
String16 SetEngUnit   Anger ingenjörsenheten för SetMinShow / SetMaxShow , t.ex kg. Används i
Mode-objektets objektbild.
FloatPrecisionEnum SetPrecision   Specifies the number of characters displayed after the decimal point
for set value and process value in the object graph.
Float32 OutMinShow   Undre gräns vid presentation av Pid-objektets OutVal i Mode -
objektets objektbild. Gränserna kan ändras från Mode-objektets MERbild.
Float32 OutMaxShow   Övre gräns vid presentation av Pid-objektets OutVal i Mode -
objektets objektbild. Gränserna kan ändras från Mode-objektets MERbild.
String16 OutEngUnit   Anger ingenjörsenheten för OutMinShow / OutMaxShow , t.ex %. Används i
Mode-objektets objektbild.
FloatPrecisionEnum OutPrecision   Specifies the number of characters displayed after the decimal point
for output value in the object graph.
Float32 Error   The difference between process value and set value.
Float32 ErrorMinShow   The lower respectively upper limits in the graphical
display of the error in the object graph.
Float32 ErrorMaxShow  
Boolean AdjustableRanges   Specifies that the ranges for set value, process value and output
in the object graph can be adjusted.
Int32 AccSet   Ej implementerad funktion. Anger operatörens behörighet att ändra SetVal .
Följande behörigheter är möjliga:

0 -- Ingen ändring tillåten
? 0 -- ändring tillåten.
Float32 MinSet   Minsta tillåtna värde vid operatörsändring av SetVal .
I läge MANUAL och AUTO kan SetcVal ändras från Mode-objektets
objektbild.
Float32 MaxSet   Största tillåtna värde vid operatörsändring av SetVal .
I läge MANUAL och AUTO kan SetcVal ändras från Mode-objektets
objektbild.
AttrRef PidObjDid   Anger fullständigt namn på det med Mode-objektet associerade Pid-objektet.
Attributet gör det möjligt att via knapp i Mode-objektets objektbild starta
objektbilden för det associerade Pid-objektet.
AttrRef PlcConnect   Referens som visar vilket funktionsobjekt objektet har blivit knuten (connected) till.


Template Object
OpMod 1
AccMod 3
AccOut 15
MaxOut 1.000000e+02
SetMaxShow 1.000000e+02
SetEngUnit %
SetPrecision 1
OutMaxShow 1.000000e+02
OutEngUnit %
OutPrecision 1
ErrorMinShow -1.000000e+01
ErrorMaxShow 1.000000e+01
AccSet 15
MaxSet 1.000000e+02


Attributes detail


Description Attribute
Klass Attribute
Typ String80
Flags
Kropp RtBody
Optional description.


XSetVal Attribute
Klass Attribute
Typ Float32
Flags ReduTransfer|State|Noedit
Kropp RtBody
Externt börvärde som kopplas in till PLC funktionsobjektet (kaskadbörvärdet)

ProcVal Attribute
Klass Attribute
Typ Float32
Flags ReduTransfer|State|Noedit
Kropp RtBody
Ärvärde som kopplas in till PLC funktionsobjektet

XForcVal Attribute
Klass Attribute
Typ Float32
Flags ReduTransfer
Kropp RtBody
Externt tvångsstyrningsvärde som kopplas in till PLC funktionsobjektet.

Forc1 Attribute
Klass Attribute
Typ Boolean
Flags ReduTransfer|State|Noedit
Kropp RtBody
Anger om ovillkorlig tvångsstyrning valts eller inte. Insignal som kopplas till
PLC funktionsobjektet.

Forc2 Attribute
Klass Attribute
Typ Boolean
Flags ReduTransfer|State|Noedit
Kropp RtBody
Anger, i läge AUTO och CASCADE, om tvångsstyrning valts eller inte. Insignal som
kopplas till PLC funktionsobjektet.

OutVal Attribute
Klass Attribute
Typ Float32
Flags ReduTransfer|State|Noedit
Kropp RtBody
Återkopplingssignal som kopplas in till PLC funktionsobjektet.

Då reglerkretsen sätts i läge MANUAL skulle processen få en större eller 
mindre stöt ('bump') om värdet på ForcVal inledningsvis avvek från det 
aktuella ärvärdet, ProcVal . 

För att undvika detta gäller följande: Vid omkoppling till läge MANUAL 
initieras internt FOV-utgången med värdet av OutVal . Alltså återstår att se till 
att värdet på OutVal ger 'bumpless transfer'. Detta brukar lösas med en analog 
återkoppling från Pid-objektets OUT -utgång. 

SetVal Attribute
Klass Attribute
Typ Float32
Flags ReduTransfer
Kropp RtBody
Börvärdes utgång ifrån PLC funktionsobjektet.

Anger, i läge AUTO och CASCADE, aktuellt börvärde. Attributet kan i läge 

- MANUAL och AUTO, ändras från Mode objektets objektbild 

- CASCADE, internt tilldelas värdet av XSetVal . 

Ofta ansluts utgången till motsvarande ingång på efterföljande Pid-objekt. 

ForcVal Attribute
Klass Attribute
Typ Float32
Flags ReduTransfer|State|Noedit
Kropp RtBody
Tvångstyrningsvärde, utgång ifrån PLC funktionsobjektet.

Normalt ansluts utgången till motsvarande ingång på efterföljande Pid-objekt. 
Värdet på Pid-objektets utgångar OUT och OC kommer att baseras på ForcVal 
i följande fall: 

ovillkorlig tvångsstyrning, dvs Forc1 är TRUE och ForceVal = XForceVal 
villkorlig (= reglermod är AUTO eller CASCADE) tvångsstyrning då Force2 = 
TRUE och ForceVal = XForceVal 
OpMod = MANUAL. ForcVal sätts av operatören, t.ex från Mode-objektets 
objektbild. 

Force Attribute
Klass Attribute
Typ Boolean
Flags ReduTransfer|State|Noedit
Kropp RtBody
Reglermod i tvingaläge, utgång ifrån PLC funktionsobjektet.

Normalt ansluts utgången till motsvarande ingång på efterföljande Pid - objekt. 

Attributet anger för Pid-objektet om värdena till utgångarna OUT och OC ska 
hämtas från algoritmen eller inte. FALSE betyder att AUTO eller CASCADE 
gäller, dvs. värdena baseras på algoritmen. TRUE innebär att tvångskörning 
eller MANUAL gäller och att värdena istället ska bygga på FOV-utgångens 
värde. 

AutMode Attribute
Klass Attribute
Typ Boolean
Flags ReduTransfer|State|Noedit
Kropp RtBody
Reglermod i automatik, utgång ifrån PLC funktionsobjektet. 

Anger om reglermod AUTO valts eller inte. FALSE betyder att annan mod 
gäller; TRUE innebär att AUTO valts. 

Eftersom ett efterföljande Pid-objekt inte behöver skilja mellan AUTO och 
CASCADE används attributet ofta för ren indikering. 

CascMod Attribute
Klass Attribute
Typ Boolean
Flags ReduTransfer|State|Noedit
Kropp RtBody
Reglermod i kakskamod, utgång ifrån PLC funktionsobjektet.

Anger om reglermod CASCADE valts eller inte. FALSE betyder att annan mod 
gäller; TRUE innebär att CASCADE valts. 

Eftersom ett efterföljande Pid-objekt inte behöver skilja mellan AUTO och 
CASCADE används attributet ofta för ren indikering. 

ManMode Attribute
Klass Attribute
Typ Boolean
Flags ReduTransfer|State|Noedit
Kropp RtBody
Anger om reglermod MANUELL valts eller inte. FALSK betyder att annan mod 
gäller; SANT innebär att MANUELL valts. Attributet används endast som information.

OpMod Attribute
Klass Attribute
Typ PidOpModeEnum
Flags ReduTransfer
Kropp RtBody
Anger vald reglermod. Attributet kan ändras från Mode-objektets objektbild. 

= 1 MANUAL. Operatören väljer regulatorns styrsignal. Regulatorns
styrsignal tvångsstyrs till angivet värde i ForceVal.

MinOut och MaxOut definierar styrsignalens tillåtna intervall.

= 2 AUTO. Operatören väljer börvärde, Regulatorns börvärde = 
SetVal och styrsignalen räknar regulatorn fram.

MinSet och MaxSet definierar böbrvärdets tillåtna intervall.

= 4 CASCADE. Som i AUTO men regulatorns börvärde = XSetVal. 

AccMod Attribute
Klass Attribute
Typ PidModeEnum
Flags
Kropp RtBody
Anger operatörens behörighet att ändra värde på OpMod . Följande 
behörigheter/värden är möjliga: 

1 -- Bara MANUAL
2 -- Bara AUTO   
3 -- MANUAL / AUTO 
4 -- Bara CASCADE
5 -- CASCADE / MANUAL
6 -- CASCADE / AUTO
7 -- MANUAL / AUTO / CASCADE

AccOut Attribute
Klass Attribute
Typ Int32
Flags ReduTransfer
Kropp RtBody
Ej implementerad funktion. Anger operatörens behörighet att ändra ForcVal . 
Följande behörigheter är möjliga: 

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

MinOut Attribute
Klass Attribute
Typ Float32
Flags ReduTransfer
Kropp RtBody
Minsta tillåtna värde vid operatörsändring av ForcVal . 
I läge MANUAL kan ForcVal ändras från Mode-objektets objektbild. 

MaxOut Attribute
Klass Attribute
Typ Float32
Flags ReduTransfer
Kropp RtBody
Största tillåtna värde vid operatörsändring av ForcVal . 
I läge MANUAL kan ForcVal ändras från Mode-objektets objektbild. 

SetMinShow Attribute
Klass Attribute
Typ Float32
Flags ReduTransfer
Kropp RtBody
Undre gräns vid presentation av är-och börvärde i Mode-objektets 
objektbild. Gränserna kan ändras från objektbilden. 

SetMaxShow Attribute
Klass Attribute
Typ Float32
Flags ReduTransfer
Kropp RtBody
Övre gräns vid presentation av är-och börvärde i Mode-objektets 
objektbild. Gränserna kan ändras från objektbilden. 

SetEngUnit Attribute
Klass Attribute
Typ String16
Flags
Kropp RtBody
Anger ingenjörsenheten för SetMinShow / SetMaxShow , t.ex kg. Används i 
Mode-objektets objektbild. 

SetPrecision Attribute
Klass Attribute
Typ FloatPrecisionEnum
Flags
Kropp RtBody
 Specifies the number of characters displayed after the decimal point
 for set value and process value in the object graph.

OutMinShow Attribute
Klass Attribute
Typ Float32
Flags ReduTransfer
Kropp RtBody
Undre gräns vid presentation av Pid-objektets OutVal i Mode -
objektets objektbild. Gränserna kan ändras från Mode-objektets MERbild. 

OutMaxShow Attribute
Klass Attribute
Typ Float32
Flags ReduTransfer
Kropp RtBody
Övre gräns vid presentation av Pid-objektets OutVal i Mode -
objektets objektbild. Gränserna kan ändras från Mode-objektets MERbild. 

OutEngUnit Attribute
Klass Attribute
Typ String16
Flags
Kropp RtBody
Anger ingenjörsenheten för OutMinShow / OutMaxShow , t.ex %. Används i 
Mode-objektets objektbild. 

OutPrecision Attribute
Klass Attribute
Typ FloatPrecisionEnum
Flags
Kropp RtBody
 Specifies the number of characters displayed after the decimal point
 for output value in the object graph.

Error Attribute
Klass Attribute
Typ Float32
Flags ReduTransfer|State|Noedit
Kropp RtBody
 The difference between process value and set value.

ErrorMinShow Attribute
Klass Attribute
Typ Float32
Flags ReduTransfer
Kropp RtBody
 The lower respectively upper limits in the graphical
 display of the error in the object graph.

ErrorMaxShow Attribute
Klass Attribute
Typ Float32
Flags ReduTransfer
Kropp RtBody

AdjustableRanges Attribute
Klass Attribute
Typ Boolean
Flags ReduTransfer
Kropp RtBody
 Specifies that the ranges for set value, process value and output
 in the object graph can be adjusted.

AccSet Attribute
Klass Attribute
Typ Int32
Flags ReduTransfer
Kropp RtBody
Ej implementerad funktion. Anger operatörens behörighet att ändra SetVal . 
Följande behörigheter är möjliga: 

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

MinSet Attribute
Klass Attribute
Typ Float32
Flags ReduTransfer
Kropp RtBody
Minsta tillåtna värde vid operatörsändring av SetVal . 
I läge MANUAL och AUTO kan SetcVal ändras från Mode-objektets 
objektbild. 

MaxSet Attribute
Klass Attribute
Typ Float32
Flags ReduTransfer
Kropp RtBody
Största tillåtna värde vid operatörsändring av SetVal . 
I läge MANUAL och AUTO kan SetcVal ändras från Mode-objektets 
objektbild. 

PidObjDid Attribute
Klass Attribute
Typ AttrRef
Flags
Kropp RtBody
Anger fullständigt namn på det med Mode-objektet associerade Pid-objektet. 
Attributet gör det möjligt att via knapp i Mode-objektets objektbild starta 
objektbilden för det associerade Pid-objektet. 

PlcConnect Attribute
Klass Attribute
Typ AttrRef
Flags
Kropp RtBody
Referens som visar vilket funktionsobjekt objektet har blivit knuten (connected) till.