Volume pwrb | |
Attributes: Runtime | Development | System | Template | Detail C Binding: Struct | Class | Code  ClassTree | INDEX NO INDEX |
Class PID | ||
---|---|---|
Version | 1.0 | |
Modified | 26-MAY-2023 14:29:26.00 | |
Kod | rt_plc_pid.c |
Implementerar olika former av PID reglering.
I normalfallet används Pidobjekt tillsammans med ett Modeobjekt. Gäller även CompPID och CompMode. Modeobjektet spelar då rollen av interface till Pidobjektet. Från Modeobjektet är det möjligt att välja MANUAL, AUTO och CASCADE: - Manual mod är en mod när regulatorns utsignal är tvångsstyrd till önskat värde. - Auto mod är en mod när regulatorns arbetar med internt börvärde från modobjektet. - Cascade mod (kaskad) är en mod där regulatorns arbetar med ett externt börvärde, dvs modobjektets ingång XSetVal [XSV].
Algoritmens proportionella term respektive derivata term kan baseras antingen på ärvärdet eller reglerfelet. PidAlg anger fördelningen. Exempel: PI+D innebär att P-delen och I-delen verkar på regleravvikelsen, medan D-delen bara påverkas av ärvärdesförändringar. En stegändring av börvärdet ger inte någon spik från D-delen, utan bara en stegändring från P-delen, och sedan en integrering av reglerfelet. I+P innebär på samma sätt att P-delen bara påverkas av ärvärdesförändringar. Vid en stegändring av börvärdet får vi inget steg på utgången. Utstyrningen ändras bara genom att det större reglerfelet börjar integrera utsignalen. Vid P- och PD-algoritm används en absolut algoritm. Utsignalen kan då alltså inte ligga stabilt skilt från noll utan regleravvikelse, annat än om man använder en framkopplingssignal. Om flaggan PDAbsFlag sitter, så beräknas en offset i manuell mod, så att vi får en stötfri övergång till auto. Vid alla algoritmer med I-del delas utsignalen upp i två delar ned hjälp av masken WindupMask. I-delen ingår alltid i OutWindup, medanBias, P-delen och D-delen kan tillhöra antingen OutWindup eller AbsOut. OutWindup begränsas av MinWindup och MaxWindup, vilket sätter flaggorna EndMin och EndMax. Resten av utsignalen lagras i AbsOut, och total utsignal begränsas med MinOut och MaxOut Man kan även stänga av integrereringen med en insignal till objektet. 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 regleralgoritmen, från operatören i läge MANUAL eller vara ett s.k. tvångsstyrningsvärde. Signalen används för t ex varvtalsutstyrning, eller som börvärdesposition till ett ställdon. OC (attributet OutChange ) anger hur ställdonet ska ändras mellan två successiva exekveringar. I detta fall talar man om algoritmens 'velocity' eller 'incremental form'. Detta är användbart för ställdon som bara har öka- och minska-signaler, utan lägesåterföring. Används då normalt med INC3P-objektet, som integrerar förändringarna och omvandlar till tid för öka resp minska. OutChange fortsätter att ge signal, även OutVal bottnat i MinOut eller MaxOut. Derivata termen filtreras internt med 1:a ordningens filter. Filtreringen kopplas bort genom att sätta DerGain = 0, men regleringen blir då ofta mycket störkänslig. Normalt är DerGain ca 3, vilket innebär att utsignalen påverkas momentant 3 ggr så mycket av derivatadelen som av P-delen. Derivatatillskottet smetas sedan ut över tiden, så att det totala integrerade tillskottet blir lika stort som den skulle bli utan filtrering. En framkopplingssignal, Bias, kan inkluderas i algoritmen genom en ingångssignal till objektet. Förstärkning framkoppling anges med BiasGain. Regulatorns utsignal OutVal är uppdelad i två delar, OutWindup och AbsOut. I-delen innefattas alltid i OutWindup. Med WindupMask kan man styra även Bias, P-delen och D-delen till OutWindup. OutWindup, begränsas till intervallet { MinWindup, MaxWindup }. Det innebär att man kan tappa det stabila läget vid en orolig reglering, speciellt vid inkopplad D-del. Om man sätter flaggan WindupMask till BIP, så tar man bort D-delens inflytande på OutWindup. Man kan även sätta den till BI eller I för att ta bort P-delen och Bias från OutWindup. Den totala utsignalen OutVal begränsas till intervallet { MinOut , MaxOut }. Exempel: Vi har en ganska orolig flödesreglering (utsignal 0-100 %) och reglerar nära maxvarvet för pumpen. WindupMask = BPID. Vi behöver styra ut i snitt 98 % för att nå önskat börvärde. Utsignalen fladdrar ca +- 5 % pga störningar. Om MaxWindup är 100 %, så innebär det att regulatorn bottnar regelbundet. Utsignalen kommer då att svänga mellan 90 och 100 % med en medelutsignal på ca 95%, och vi når inte önskat börvärde. Lösning: Sätt WindupMask till I eller BI. Störningarna kommer inte att påverka MaxWindup. För en servoventil med positionsreglering, kan man vilja ha en långsam I-del för läckagekontroll, begränsad till +- 20 %. Sätt WindupMask till I eller BI. Sätt MinWindup = -20% och MaxWindup till +20%, MinOutput = -100 %, MaxOutput = 100 % EndMin och EndMax kan användas för läckagelarm. Regulatorn har stötfri omkoppling AUTO / MANUAL och efter annan tvångsstyrning av regulatorn. Dock ej vid P- eller PD-reglering, om man har PDAbsFlag satt. EXEMPEL 1 Exempelkurvor för att visa P- och Delens inverkan vid olika typinställningar. Insignal steg och ramp.
Övre delen: Brun kurva. Ärvärde (samma som P-del från regulatorn). Steg samt ramp. Lila kurva. Utsignal från PD med Kp = 1, DerTime = 10s, DerGain = 3. Nedre delen - D-del från regulatorn. Grön kurva. DerTime = 10s. Ingen filtrering (DerGain = 0). Notera spiken vid stegändringen. Gul kurva. DerTime = 10s. Filtrerad D-del DerGain = 3. Blå kurva. DerTime = 20s. Filtrerad D-del DerGain = 3. EXEMPEL 2 för att visa skillnaden mellan PID, PI+D och I+PD vid återkopplat system och stegförändring av börvärdet:
I+PD (uppe till vänster) börjar sakta integrera upp styrsignalen vid stegändring. PI+D (uppe till höger) ger ett stegsvar som medför att vi får en snabbare reglering till nya börvärdet. PID (nere till vänster) ger en kort spik vid stegändringen. Denna regulator har MaxOut = 500% PID (nere till höger) är identisk med föregående, men har MaxOut = 100%, vilket ger "bakvänt" resultat. P ger ca 30 % upp, D ger en spik på ca 90 % Totalt ca 155 % Regulatorn bottnar i 100 % utsignal, och när vi sedan tar bort D-spiken på 90 % får regulatorn börja om från 10 % utsignal.
Flödesreglering med varvtalsreglerad pump; se figur nedan (Speed Control of a Pump). - Börvärde sätts från externt optimeringsprogram (Av-signalen OptFlow) t.ex 1 gång / 10 min eller direkt av operatör. - Börja med styrsignalen 0 vid pumpstart.
Speed Control of a Pump En principlösning för styrning av den varvtalsreglerade pumpen visas i figuren nedan (Configuration of Speed Control of a Pump)
Configuration of Speed Control of a Pump Mode-objektets attribut modifieras enligt följande:
Pid-objektets attribut modifieras enligt följande:
Insignalen på fo1-ingången tillsammans med OpMod-attributet i Mode-objektet bestämer aktuellt driftfall.OpMod = MANUAL (=1)
Då Mode-objektets for-utgång blir TRUE tvingas Pid-objekt utgång anta värdet på FOV-ingången. Vid ändring av driftläge, AUTO --> MANUAL, innehåller ForcVal styr- signalens ( OutVal ) senaste värde. Detta är ett bra värde att starta manuella ändringar utifrån. I detta driftläge kan operatören ändra ForcVal liksom börvärdet SetVal. MinOut och MaxOut, i Pid-objektet, utgör ingen begränsning i läge MANUAL.OpMod = AUTO (=2)
Operatören sätter flödesbörvärdet SetVal. Värdet ska ligga i intervallet MinSet till MaxSet. Optimeringsbörvärdet XSetVal ignoreras. Regulatorns styrsignal, OutVal varierar i intervallet MinOut till MaxOut. Mode-objektet avläser Pid-objektets OutVal och lagrar värdet i utgången ForcVal så länge AUTO gäller.OpMod = CASCADE (=4)
Det externa optimeringsbörvärdet i XSetVal kopieras över till SetVal. Pid-objektet reglerar mot detta börvärde.Force1 = 1 PUMP STOP
Oberoende av värdet på OpMod tvångsstyrs regulatorns styrsignal till ForcVal = XForcVal (=0), dvs MinOut och MaxOut utgör ingen begrgänsning vid tvångsstyrning.
Shunt Control Genom shuntreglering över värmeväxlaren, skall TT1-temperaturen hållas konstant i sekundärnätet. TT2-temperaturen på returflödet till pannan ('BOILER') får dock inte understiga daggpunkttemperaturen vilket skulle kunna ske vid stora effektuttag. Vid låg primärtemperatur väljs TT2-reglering. Då driftsförhållanden medger sker återgång till TT1-reglering. I läge MANUAL sker styrningen med TT1-regulatorn. TIC2 får ej läggas i MANUAL. Se figur nedan (PLC program with Alternative Controllers). Inställningar ... i Mode-objektet TIC1M har valts: - AccMod = 3 , dvs AUTO / MANUAL är båda tillåtna. - OpMod = AUTO, betyder att operatören sätter SetVal = MANUAL, betyder att operatören sätter utsignalen ForcVal ... i Pid-objektet TIC1 har valts: - Inverse = TRUE, dvs. låg TT1-temperatur medför ökat flöde genom värmeväxlaren. ... i Mode-objektet TIC2M har valts: - AccMod = 2 , dvs. endast AUTO - Konstruktören sätter gränsvärdet, dvs minvärdet av TT2, i SetVal ... i Pid-objektet TIC2 har valts: - Inverse = FALSE, dvs. omvänt styringrepp, vid låga TT2-temperaturer minskar flödet genom värmeväxlaren, by-pass flödet ökar.
PLC program with Alternative Controllers Driftfall: - Normal drift. TIC1 i AUTO. TIC2 följer i tvångsstyrning. - TT2 låg. TIC1 väljer i tvångsstyrning. - TIC1M i MANUELL. TIC1 ställer ut operatörens värde från TICM. ForcVal . - TIC2 följer i tvångsstyrning. - TIC2 återgår till AUTO då TT2 går under gränsen - Flödet genom värmeväxlaren är tillräckligt för att TT1-temperaturen ska gå över börvärdet. Växla till TT1-reglering, dvs TIC1 styr shuntventilen.
Temperaturreglering i ugn med två separata bränsleflödesloopar, med undantag för förbränningsluftregleringen, visas i figuren nedan. TT avser en temperatur transmitter, FT flödes transmittrar och FIC flödesregulatorer. TIC är en temperatur regulator
Block Diagram for Temperature Control Alla Pid-objekt har Inverse satt till TRUE. Lösningen bör kompletteras med tvångsstyrning av TIC1M till medelflöde då ingen FICx ligger i kaskad. En realiseringen visas i figuren nedan (Traditional Cascade Configuration).
Traditional Cascade Configuration
I figuren nedan (Two Levels with Mode Objects in a Control Loop) delar två reglerloopar en gemensamma mode-instans för synkront uppträdande i AUTO och MANUAL. Men varje enskild loop kan också styras individuellt från separata Mode-objekt med internt börvärde och egen manuell utsignal. Den individuella styrningen överrider den gemensamma.
Two Levels with Mode Objects in a Control Loop
Figuren nedan (Addition of a Reagent) visar tillsats av en reagens. Blandningsförhållandet ska hållas konstant oberoende av FT2-flödet. FT är flödestransmittern och FIC flödesregulatorn.
Addition of a Reagent En realisering visas i figuren nedan (Ratio Control). Regleringen kan ske i AUTO (= operatören ger kvotbörvärde) eller MANUAL ( = operatören ger själv utsignalens storlek). Kvotärvärdet bör kontrollers för att förhindra division med noll.
Ratio ControlObjektsbild
Se även
RtBody attributes pwr_sClass_pid | |||
---|---|---|---|
Float32 | ProcVal | PV | Ärvärdet (PROCess VALue). |
Float32 | SetVal | SV | Börvärdet (SETpoint VALue). Ingången kopplas ofta till motsvarande utgång på det associerade Mode-objektet. |
Float32 | Bias | BIS | Framkopplingsvärdet ( 'feed forward value'). Attributet kan ändras från Pid - objektets MERbild. |
Float32 | ForcVal | FOV | Tvångsstyrningsvärdet. Då Force är TRUE sätts OutVal = ForcVal . Ingången kopplas ofta till motsvarande utgång på det associerade Mode-objektet. |
Boolean | Force | for | Anger om något av alternativen tvångsstyrning / MANUAL gäller eller ej. FALSE betyder att inget av dessa alternativ är förhanden; TRUE innebär att antingen tvångsstyrning eller MANUAL valts. Ingången kopplas ofta till motsvarande utgång på det associerade Mode-objektet. |
Boolean | IntOff | iof | Anger om integrationen kopplats bort eller ej. FALSE betyder att integrationstermen ska vara med; TRUE innebär att integrationen kopplats bort. Attributet kan ändras från Pid-objektets MERbild. |
Float32 | OutVal | OUT | Regulatorns syrsignal. Värdet baseras på algoritmens 'positional form', från operatören i läge MANUAL eller på ett s.k. tvångsstyrningsvärde. |
Float32 | OutChange | OC | Regulatorns syrsignal baserad på 'incremental form', eller förändring i styrsignalen vid 'positional form'. Attributet avser styrsignalsförändringen mellan två konsekutiva exekveringar; dvs. OutVal t - OutVal t-1 . |
Float32 | ControlDiff | DIF | Reglerfelet (= ProcVal - SetVal ). |
Boolean | EndMax | max | Se EndMin |
Boolean | EndMin | min | Om beräknat värde på OutWindup inte tillhör intervallet { MinWindup , MaxWindup } ska begränsning ske till motsvarande intervallgräns. Attributet anger om sådan begränsning skett vid den senaste exekveringen eller ej. Om begränsning görs mot -- MinWindup , ska EndMin sättas TRUE -- MaxWindup , ska EndMax sättas TRUE annars är de FALSE. EndMin / EndMax kan endast sättas i driftläge AUTO och CASCADE. Se också EndHys nedan. |
PidAlgEnum | PidAlg | PidAlg | Det finns åtskilliga diskreta variationer av PID algoritmen. PidAlg anger det aktuella valet. Följande realiseringar finns att välja mellan: 1 -- I I-regulator. Regulator med endast I-verkan. Gain används inte. 3 -- I + P Integrerande regulator med proportionell regler- verkan. P-termen baseras på ärvärdet ProcVal. 6 -- P P-regulator. Ger endast proportionell reglerverkan. 7 -- PI PI-regulator. Regulator som ger proportionell och integrerande reglerverkan. P-termen baseras på reglerfelet ControlDiff. 11 -- I + PD Integrerande regulator med proportionell deriverande reglerverkan. Både P- och D-termen baseras på ärvärdet ProcVal. 14 -- P + D Proportionell regulator med deriverande reglerverkan. P baseras på reglerfelet, D på ärvärdet. 15 -- PI + D Proportionell integrerande regulator med deriverande reglerverkan. P-termen baseras på reglerfelet ControlDiff, D på ärvärdet value. 30 -- PD PD-regulator. Regulator som ger proportionell och deriverande reglerverkan. Både P- och D-termen baseras på reglerfelet. 31 -- PID PID-regulator. Regulator som ger proportionell integrerande och deriverande reglerverkan. Både P- och D-termen baseras på reglerfelet. |
Float32 | Gain | Gain | Proportionalitetsfaktorn. Anger förstärkningen; = 0. Värdet kan ändras från Pid-objektets MERbild. |
Float32 | IntTime | IntTime | Anger, i sekunder, integrationstiden. Värdet kan ändras från Pid-objektets MERbild. |
Float32 | DerTime | DerTime | Anger deriveringstiden i sekunder. Normalt gäller att DerTime är större än ScanTime och 1.0 = DerGain < |
Float32 | DerGain | DerGain | Derivatatermens bidrag till styrsignalen kan filteraras i ett 1:a ordningens filter. Attributet definierar filtret. Om, 1.0 = DerGain < , annars ingen filtrering DerGain är normalt i storleksordningen 3 till 4. Värdet kan ändras från Pid-objektets MERbild. |
Boolean | Inverse | Inverse | Anger om reglerverkan ska ske inverterat eller ej. FALSE betyder att ett vid oförändrat börvärde spontant växande ärvärde möts av en ökande styrsignal, dvs. omvänd reglerverkan. TRUE är normalfallet, då ett spontant ökande ärvärde möts med en minskande styrsignal. |
Float32 | BiasGain | BiasGain | Anger framkopplingens förstärkning; faktorn får vara negativ. Värdet kan ändras från Pid-objektets MERbild. |
Boolean | PDAbsFlag | PDAbsFlag | Anger att utsignalen beräknas direkt med regleravvikelsen. Vid nollvärde beräknas en offset i manuell mod, så att vi får stötfri övergång till auto. |
WindupMaskEnum | WindupMask | WindupMask | Möjliga värden är: 1 -- I Bara I-delen begränsas i OutWindup 2 -- BI I-delen och Bias begränsas i OutWindup 4 -- BIP Också P-delen begränsas i OutWindup 8 -- BIPD Hela utsignalen, även D-delen begränsas i OutWindup |
Float32 | MinWindup | MinWindup | I driftläge AUTO och CASCADE ska den utställda styrsignalen OutWindup vara i intervallet { MinWindup , MaxWindup }. Flaggorna EndMin / EndMax används för att signalera då begränsning sker. Om OutWindup är större än MaxWindup eller mindre än MinWindup , begränsas OutWindup till värdet av motsvarande intervallgräns. Om MinWindup >= MaxWindup sker ingen begränsning. |
Float32 | MaxWindup | MaxWindup | Se MinOut |
Float32 | MinOut | MinOut | I driftläge AUTO och CASCADE ska den utställda styrsignlaen OutVal vara i intervallet { MinOut , MaxOut }. Om OutVal är större än MaxOut eller mindre än MinOut , begränsas OutVal till värdet av motsvarande intervallgräns. Om MinOut >= MaxOut sker ingen begränsning. |
Float32 | MaxOut | MaxOut | Se MinOut |
Float32 | EndHys | EndHys | Anger hysteresen på MinOut och MaxOut i samband med manövreringen av EndMin / EndMax flaggorna. |
Float32 | SetMinShow | SetMinShow | Skalområdets nedre gräns vid presentation av ProcVal och SetVal i Pid-objektets objektbild. Värdena kan ändras från Pid-objektets MERbild. |
Float32 | SetMaxShow | SetMaxShow | Skalområdets övre gräns vid presentation av ProcVal och SetVal i Pid-objektets objektbild. Värdena kan ändras från Pid-objektets MERbild. |
String16 | SetEngUnit | SetEngUnit | Anger ingenjörsenheten på SetMinShow / SetMaxShow , t.ex. meter. Används i Pid-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 | OutMinShow | Skalområdets nedre gräns vid presentation av OutVal i Pid-objektets objektbild. Värdena kan ändras från Pid-objektets MERbild. |
Float32 | OutMaxShow | OutMaxShow | Skalområdets övre gräns vid presentation av OutVal i Pid-objektets objektbild. Värdena kan ändras från Pid-objektets MERbild. |
String16 | OutEngUnit | OutEngUnit | Anger ingenjörsenheten på OutMinShow / OutMaxShow , t.ex. %. Används i Pid-objektets objektbild. |
FloatPrecisionEnum | OutPrecision | Specifies the number of characters displayed after the decimal point for output value in the object graph. |
|
Float32 | TrendTimeRange | Specifies time range for the trends in the object graph. | |
Pointer to Float32 | ScanTime | ScanTime | Programcykeltid i sekunder. Initieras automatiskt vid kompilering. |
Int32 | AccGain | AccGain | Ej implementerad funktion. Anger operatörens behörighet att ändra värde på Gain resp. IntTime . Följande behörigheter är möjliga: 0 -- Ingen ändring tillåten ? 0 -- ändring tillåten. |
Int32 | AccInt | AccInt | Ej implementerad funktion. Anger operatörens behörighet att ändra värde på Gain resp. IntTime . Följande behörigheter är möjliga: 0 -- Ingen ändring tillåten ? 0 -- ändring tillåten. |
Int32 | AccDer | AccDer | Ej implementerad funktion. Anger operatörens behörighet att ändra värde på DerTime. Följande behörigheter är möjliga: 0 -- Ingen ändring tillåten ? 0 -- ändring tillåten. |
Int32 | AccDGain | AccDGain | Ej implementerad funktion. Anger operatörens behörighet att ändra värde på DerGain . Följande behörigheter är möjliga: 0 -- Ingen ändring tillåten ? 0 -- ändring tillåten. |
Int32 | AccBias | AccBias | Ej implementerad funktion. Anger operatörens behörighet att ändra värde på Bias. Följande behörigheter är möjliga: 0 -- Ingen ändring tillåten ? 0 -- ändring tillåten. |
Int32 | AccBGain | AccBGain | Ej implementerad funktion. Anger operatörens behörighet att ändra värde på BiasGain . Följande behörigheter är möjliga: 0 -- Ingen ändring tillåten ? 0 -- ändring tillåten. |
Float32 | MinGain | MinGain | Minsta tillåtna värde vid operatörsändring av Gain. |
Float32 | MaxGain | MaxGain | Största tillåtna värde vid operatörsändring av Gain. |
Float32 | MinInt | MinInt | Minsta tillåtna värde vid operatörsändring av IntTim. |
Float32 | MaxInt | MaxInt | Största tillåtna värde vid operatörsändring av IntTim. |
Float32 | MinDer | MinDer | Minsta tillåtna värde vid operatörsändring av DerTim . |
Float32 | MaxDer | MaxDer | Största tillåtna värde vid operatörsändring av DerTim . |
Float32 | MinDGain | MinDGain | The minimum and maximum allowed value of DerGain at changes made by an operator. |
Float32 | MaxDGain | MaxDGain | |
Float32 | MinBias | MinBias | Minsta tillåtna värde vid operatörsändring av Gain . |
Float32 | MaxBias | MaxBias | Största tillåtna värde vid operatörsändring av Gain . |
Float32 | MinBGain | MinBGain | Minsta tillåtna värde vid operatörsändring av BiasGain . |
Float32 | MaxBGain | MaxBGain | Största tillåtna värde vid operatörsändring av BiasGain . |
Objid | ModeObjDId | ModeObjDId | Anger fullständigt namn på det med Pid-objektet associerade Mode-objektet. Attributet gör det möjligt att via knapp i Pid-objektets objektbild starta objektbilden för det associerade Mode-objektet. |
Float32 | FiltDer | FiltDer | Filtrerad derivata sparas till nästa exekevering. |
Float32 | PDManOffset | PDManOffset | Offset beräknas i manuell mod, och används vid P och PD-algoritm för att få stötfri övergång till auto. |
Float64 | OutWindup | OutWindup | Utsignal som begränsas av MinWindup och MaxWindup |
Float64 | AbsOut | AbsOut | Utsignaldel som ligger utanför OutWindup |
DevBody attributes | |||
---|---|---|---|
PlcNode | PlcNode |
GraphPlcNode | |
---|---|
object_type | 150 |
parameters[0] | 6 |
parameters[1] | 0 |
parameters[2] | 5 |
parameters[3] | 0 |
subwindows | 0 |
graphmethod | 0 (standard, individual attributes) |
graphindex | 0 |
default_mask[0] | 27 |
default_mask[1] | 1 |
segname_annotation | 1 |
compmethod | 4 |
compindex | 0 |
executeordermethod | 2 |
objname | PID |
graphname | PID |
debugpar |
Template Object | |
---|---|
PidAlg | 3 |
Gain | 1.0 |
IntTime | 120.0 |
MaxOut | 100 |
DerGain | 3.0 |
BiasGain | 1.0 |
Inverse | 1 |
AccGain | 15 |
AccInt | 15 |
AccDer | 15 |
AccBias | 15 |
AccBGain | 15 |
MinGain | 0.1 |
MaxGain | 10.0 |
MinInt | 10.0 |
MaxInt | 600.0 |
MaxDer | 20.0 |
MaxBias | 100.0 |
MinBGain | -100.0 |
MaxBGain | 100.0 |
OutMaxShow | 100.0 |
SetMaxShow | 100.0 |
SetEngUnit | % |
SetPrecision | 1 |
OutEngUnit | % |
OutPrecision | 1 |
TrendTimeRange | 100 |
WindupMask | 4 |
MaxWindup | 100.0 |
ProcVal Input | ||
---|---|---|
Klass | Input | |
Typ | Float32 | |
Flags | STATE | NOEDIT | REDUTRANSFER | |
GraphName | PV | |
Kropp | RtBody |
Ärvärdet (PROCess VALue).
SetVal Input | ||
---|---|---|
Klass | Input | |
Typ | Float32 | |
Flags | REDUTRANSFER | |
GraphName | SV | |
Kropp | RtBody |
Börvärdet (SETpoint VALue). Ingången kopplas ofta till motsvarande utgång på det associerade Mode-objektet.
Bias Input | ||
---|---|---|
Klass | Input | |
Typ | Float32 | |
Flags | REDUTRANSFER | |
GraphName | BIS | |
Kropp | RtBody |
Framkopplingsvärdet ( 'feed forward value'). Attributet kan ändras från Pid - objektets MERbild.
ForcVal Input | ||
---|---|---|
Klass | Input | |
Typ | Float32 | |
Flags | REDUTRANSFER | |
GraphName | FOV | |
Kropp | RtBody |
Tvångsstyrningsvärdet. Då Force är TRUE sätts OutVal = ForcVal . Ingången kopplas ofta till motsvarande utgång på det associerade Mode-objektet.
Force Input | ||
---|---|---|
Klass | Input | |
Typ | Boolean | |
Flags | NOINVERT | REDUTRANSFER | |
GraphName | for | |
Kropp | RtBody |
Anger om något av alternativen tvångsstyrning / MANUAL gäller eller ej. FALSE betyder att inget av dessa alternativ är förhanden; TRUE innebär att antingen tvångsstyrning eller MANUAL valts. Ingången kopplas ofta till motsvarande utgång på det associerade Mode-objektet.
IntOff Input | ||
---|---|---|
Klass | Input | |
Typ | Boolean | |
Flags | STATE | NOEDIT | NOINVERT | REDUTRANSFER | |
GraphName | iof | |
Kropp | RtBody |
Anger om integrationen kopplats bort eller ej. FALSE betyder att integrationstermen ska vara med; TRUE innebär att integrationen kopplats bort. Attributet kan ändras från Pid-objektets MERbild.
OutVal Output | ||
---|---|---|
Klass | Output | |
Typ | Float32 | |
Flags | STATE | NOEDIT | REDUTRANSFER | |
GraphName | OUT | |
Kropp | RtBody |
Regulatorns syrsignal. Värdet baseras på algoritmens 'positional form', från operatören i läge MANUAL eller på ett s.k. tvångsstyrningsvärde.
OutChange Output | ||
---|---|---|
Klass | Output | |
Typ | Float32 | |
Flags | STATE | NOEDIT | REDUTRANSFER | |
GraphName | OC | |
Kropp | RtBody |
Regulatorns syrsignal baserad på 'incremental form', eller förändring i styrsignalen vid 'positional form'. Attributet avser styrsignalsförändringen mellan två konsekutiva exekveringar; dvs. OutVal t - OutVal t-1 .
ControlDiff Output | ||
---|---|---|
Klass | Output | |
Typ | Float32 | |
Flags | STATE | NOEDIT | REDUTRANSFER | |
GraphName | DIF | |
Kropp | RtBody |
Reglerfelet (= ProcVal - SetVal ).
EndMax Output | ||
---|---|---|
Klass | Output | |
Typ | Boolean | |
Flags | STATE | NOEDIT | REDUTRANSFER | |
GraphName | max | |
Kropp | RtBody |
Se EndMin
EndMin Output | ||
---|---|---|
Klass | Output | |
Typ | Boolean | |
Flags | STATE | NOEDIT | REDUTRANSFER | |
GraphName | min | |
Kropp | RtBody |
Om beräknat värde på OutWindup inte tillhör intervallet { MinWindup , MaxWindup } ska begränsning ske till motsvarande intervallgräns. Attributet anger om sådan begränsning skett vid den senaste exekveringen eller ej. Om begränsning görs mot -- MinWindup , ska EndMin sättas TRUE -- MaxWindup , ska EndMax sättas TRUE annars är de FALSE. EndMin / EndMax kan endast sättas i driftläge AUTO och CASCADE. Se också EndHys nedan.
PidAlg Intern | ||
---|---|---|
Klass | Intern | |
Typ | PidAlgEnum | |
Flags | REDUTRANSFER | |
GraphName | PidAlg | |
Kropp | RtBody |
Det finns åtskilliga diskreta variationer av PID algoritmen. PidAlg anger det aktuella valet. Följande realiseringar finns att välja mellan: 1 -- I I-regulator. Regulator med endast I-verkan. Gain används inte. 3 -- I + P Integrerande regulator med proportionell regler- verkan. P-termen baseras på ärvärdet ProcVal. 6 -- P P-regulator. Ger endast proportionell reglerverkan. 7 -- PI PI-regulator. Regulator som ger proportionell och integrerande reglerverkan. P-termen baseras på reglerfelet ControlDiff. 11 -- I + PD Integrerande regulator med proportionell deriverande reglerverkan. Både P- och D-termen baseras på ärvärdet ProcVal. 14 -- P + D Proportionell regulator med deriverande reglerverkan. P baseras på reglerfelet, D på ärvärdet. 15 -- PI + D Proportionell integrerande regulator med deriverande reglerverkan. P-termen baseras på reglerfelet ControlDiff, D på ärvärdet value. 30 -- PD PD-regulator. Regulator som ger proportionell och deriverande reglerverkan. Både P- och D-termen baseras på reglerfelet. 31 -- PID PID-regulator. Regulator som ger proportionell integrerande och deriverande reglerverkan. Både P- och D-termen baseras på reglerfelet.
Gain Intern | ||
---|---|---|
Klass | Intern | |
Typ | Float32 | |
Flags | REDUTRANSFER | |
GraphName | Gain | |
Kropp | RtBody |
Proportionalitetsfaktorn. Anger förstärkningen; = 0. Värdet kan ändras från Pid-objektets MERbild.
IntTime Intern | ||
---|---|---|
Klass | Intern | |
Typ | Float32 | |
Flags | REDUTRANSFER | |
GraphName | IntTime | |
Kropp | RtBody |
Anger, i sekunder, integrationstiden. Värdet kan ändras från Pid-objektets MERbild.
DerTime Intern | ||
---|---|---|
Klass | Intern | |
Typ | Float32 | |
Flags | REDUTRANSFER | |
GraphName | DerTime | |
Kropp | RtBody |
Anger deriveringstiden i sekunder. Normalt gäller att DerTime är större än ScanTime och 1.0 = DerGain <
DerGain Intern | ||
---|---|---|
Klass | Intern | |
Typ | Float32 | |
Flags | REDUTRANSFER | |
GraphName | DerGain | |
Kropp | RtBody |
Derivatatermens bidrag till styrsignalen kan filteraras i ett 1:a ordningens filter. Attributet definierar filtret. Om, 1.0 = DerGain < , annars ingen filtrering DerGain är normalt i storleksordningen 3 till 4. Värdet kan ändras från Pid-objektets MERbild.
Inverse Intern | ||
---|---|---|
Klass | Intern | |
Typ | Boolean | |
Flags | REDUTRANSFER | |
GraphName | Inverse | |
Kropp | RtBody |
Anger om reglerverkan ska ske inverterat eller ej. FALSE betyder att ett vid oförändrat börvärde spontant växande ärvärde möts av en ökande styrsignal, dvs. omvänd reglerverkan. TRUE är normalfallet, då ett spontant ökande ärvärde möts med en minskande styrsignal.
BiasGain Intern | ||
---|---|---|
Klass | Intern | |
Typ | Float32 | |
Flags | REDUTRANSFER | |
GraphName | BiasGain | |
Kropp | RtBody |
Anger framkopplingens förstärkning; faktorn får vara negativ. Värdet kan ändras från Pid-objektets MERbild.
PDAbsFlag Intern | ||
---|---|---|
Klass | Intern | |
Typ | Boolean | |
Flags | REDUTRANSFER | |
GraphName | PDAbsFlag | |
Kropp | RtBody |
Anger att utsignalen beräknas direkt med regleravvikelsen. Vid nollvärde beräknas en offset i manuell mod, så att vi får stötfri övergång till auto.
WindupMask Intern | ||
---|---|---|
Klass | Intern | |
Typ | WindupMaskEnum | |
Flags | ||
GraphName | WindupMask | |
Kropp | RtBody |
Möjliga värden är: 1 -- I Bara I-delen begränsas i OutWindup 2 -- BI I-delen och Bias begränsas i OutWindup 4 -- BIP Också P-delen begränsas i OutWindup 8 -- BIPD Hela utsignalen, även D-delen begränsas i OutWindup
MinWindup Intern | ||
---|---|---|
Klass | Intern | |
Typ | Float32 | |
Flags | ||
GraphName | MinWindup | |
Kropp | RtBody |
I driftläge AUTO och CASCADE ska den utställda styrsignalen OutWindup vara i intervallet { MinWindup , MaxWindup }. Flaggorna EndMin / EndMax används för att signalera då begränsning sker. Om OutWindup är större än MaxWindup eller mindre än MinWindup , begränsas OutWindup till värdet av motsvarande intervallgräns. Om MinWindup >= MaxWindup sker ingen begränsning.
MaxWindup Intern | ||
---|---|---|
Klass | Intern | |
Typ | Float32 | |
Flags | ||
GraphName | MaxWindup | |
Kropp | RtBody |
Se MinOut
MinOut Intern | ||
---|---|---|
Klass | Intern | |
Typ | Float32 | |
Flags | ||
GraphName | MinOut | |
Kropp | RtBody |
I driftläge AUTO och CASCADE ska den utställda styrsignlaen OutVal vara i intervallet { MinOut , MaxOut }. Om OutVal är större än MaxOut eller mindre än MinOut , begränsas OutVal till värdet av motsvarande intervallgräns. Om MinOut >= MaxOut sker ingen begränsning.
MaxOut Intern | ||
---|---|---|
Klass | Intern | |
Typ | Float32 | |
Flags | ||
GraphName | MaxOut | |
Kropp | RtBody |
Se MinOut
EndHys Intern | ||
---|---|---|
Klass | Intern | |
Typ | Float32 | |
Flags | ||
GraphName | EndHys | |
Kropp | RtBody |
Anger hysteresen på MinOut och MaxOut i samband med manövreringen av EndMin / EndMax flaggorna.
SetMinShow Intern | ||
---|---|---|
Klass | Intern | |
Typ | Float32 | |
Flags | REDUTRANSFER | |
GraphName | SetMinShow | |
Kropp | RtBody |
Skalområdets nedre gräns vid presentation av ProcVal och SetVal i Pid-objektets objektbild. Värdena kan ändras från Pid-objektets MERbild.
SetMaxShow Intern | ||
---|---|---|
Klass | Intern | |
Typ | Float32 | |
Flags | REDUTRANSFER | |
GraphName | SetMaxShow | |
Kropp | RtBody |
Skalområdets övre gräns vid presentation av ProcVal och SetVal i Pid-objektets objektbild. Värdena kan ändras från Pid-objektets MERbild.
SetEngUnit Intern | ||
---|---|---|
Klass | Intern | |
Typ | String16 | |
Flags | ||
GraphName | SetEngUnit | |
Kropp | RtBody |
Anger ingenjörsenheten på SetMinShow / SetMaxShow , t.ex. meter. Används i Pid-objektets objektbild.
SetPrecision Intern | ||
---|---|---|
Klass | Intern | |
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 Intern | ||
---|---|---|
Klass | Intern | |
Typ | Float32 | |
Flags | REDUTRANSFER | |
GraphName | OutMinShow | |
Kropp | RtBody |
Skalområdets nedre gräns vid presentation av OutVal i Pid-objektets objektbild. Värdena kan ändras från Pid-objektets MERbild.
OutMaxShow Intern | ||
---|---|---|
Klass | Intern | |
Typ | Float32 | |
Flags | REDUTRANSFER | |
GraphName | OutMaxShow | |
Kropp | RtBody |
Skalområdets övre gräns vid presentation av OutVal i Pid-objektets objektbild. Värdena kan ändras från Pid-objektets MERbild.
OutEngUnit Intern | ||
---|---|---|
Klass | Intern | |
Typ | String16 | |
Flags | ||
GraphName | OutEngUnit | |
Kropp | RtBody |
Anger ingenjörsenheten på OutMinShow / OutMaxShow , t.ex. %. Används i Pid-objektets objektbild.
OutPrecision Intern | ||
---|---|---|
Klass | Intern | |
Typ | FloatPrecisionEnum | |
Flags | ||
Kropp | RtBody |
Specifies the number of characters displayed after the decimal point for output value in the object graph.
TrendTimeRange Intern | ||
---|---|---|
Klass | Intern | |
Typ | Float32 | |
Flags | ||
Kropp | RtBody |
Specifies time range for the trends in the object graph.
ScanTime Intern | ||
---|---|---|
Klass | Intern | |
Typ | Pointer to Float32 | |
Flags | INVISIBLE | POINTER | PRIVATE | |
GraphName | ScanTime | |
Kropp | RtBody |
Programcykeltid i sekunder. Initieras automatiskt vid kompilering.
AccGain Intern | ||
---|---|---|
Klass | Intern | |
Typ | Int32 | |
Flags | ||
GraphName | AccGain | |
Kropp | RtBody |
Ej implementerad funktion. Anger operatörens behörighet att ändra värde på Gain resp. IntTime . Följande behörigheter är möjliga: 0 -- Ingen ändring tillåten ? 0 -- ändring tillåten.
AccInt Intern | ||
---|---|---|
Klass | Intern | |
Typ | Int32 | |
Flags | ||
GraphName | AccInt | |
Kropp | RtBody |
Ej implementerad funktion. Anger operatörens behörighet att ändra värde på Gain resp. IntTime . Följande behörigheter är möjliga: 0 -- Ingen ändring tillåten ? 0 -- ändring tillåten.
AccDer Intern | ||
---|---|---|
Klass | Intern | |
Typ | Int32 | |
Flags | ||
GraphName | AccDer | |
Kropp | RtBody |
Ej implementerad funktion. Anger operatörens behörighet att ändra värde på DerTime. Följande behörigheter är möjliga: 0 -- Ingen ändring tillåten ? 0 -- ändring tillåten.
AccDGain Intern | ||
---|---|---|
Klass | Intern | |
Typ | Int32 | |
Flags | ||
GraphName | AccDGain | |
Kropp | RtBody |
Ej implementerad funktion. Anger operatörens behörighet att ändra värde på DerGain . Följande behörigheter är möjliga: 0 -- Ingen ändring tillåten ? 0 -- ändring tillåten.
AccBias Intern | ||
---|---|---|
Klass | Intern | |
Typ | Int32 | |
Flags | ||
GraphName | AccBias | |
Kropp | RtBody |
Ej implementerad funktion. Anger operatörens behörighet att ändra värde på Bias. Följande behörigheter är möjliga: 0 -- Ingen ändring tillåten ? 0 -- ändring tillåten.
AccBGain Intern | ||
---|---|---|
Klass | Intern | |
Typ | Int32 | |
Flags | ||
GraphName | AccBGain | |
Kropp | RtBody |
Ej implementerad funktion. Anger operatörens behörighet att ändra värde på BiasGain . Följande behörigheter är möjliga: 0 -- Ingen ändring tillåten ? 0 -- ändring tillåten.
MinGain Intern | ||
---|---|---|
Klass | Intern | |
Typ | Float32 | |
Flags | ||
GraphName | MinGain | |
Kropp | RtBody |
Minsta tillåtna värde vid operatörsändring av Gain.
MaxGain Intern | ||
---|---|---|
Klass | Intern | |
Typ | Float32 | |
Flags | ||
GraphName | MaxGain | |
Kropp | RtBody |
Största tillåtna värde vid operatörsändring av Gain.
MinInt Intern | ||
---|---|---|
Klass | Intern | |
Typ | Float32 | |
Flags | ||
GraphName | MinInt | |
Kropp | RtBody |
Minsta tillåtna värde vid operatörsändring av IntTim.
MaxInt Intern | ||
---|---|---|
Klass | Intern | |
Typ | Float32 | |
Flags | ||
GraphName | MaxInt | |
Kropp | RtBody |
Största tillåtna värde vid operatörsändring av IntTim.
MinDer Intern | ||
---|---|---|
Klass | Intern | |
Typ | Float32 | |
Flags | ||
GraphName | MinDer | |
Kropp | RtBody |
Minsta tillåtna värde vid operatörsändring av DerTim .
MaxDer Intern | ||
---|---|---|
Klass | Intern | |
Typ | Float32 | |
Flags | ||
GraphName | MaxDer | |
Kropp | RtBody |
Största tillåtna värde vid operatörsändring av DerTim .
MinDGain Intern | ||
---|---|---|
Klass | Intern | |
Typ | Float32 | |
Flags | ||
GraphName | MinDGain | |
Kropp | RtBody |
The minimum and maximum allowed value of DerGain at changes made by an operator.
MaxDGain Intern | ||
---|---|---|
Klass | Intern | |
Typ | Float32 | |
Flags | ||
GraphName | MaxDGain | |
Kropp | RtBody |
MinBias Intern | ||
---|---|---|
Klass | Intern | |
Typ | Float32 | |
Flags | ||
GraphName | MinBias | |
Kropp | RtBody |
Minsta tillåtna värde vid operatörsändring av Gain .
MaxBias Intern | ||
---|---|---|
Klass | Intern | |
Typ | Float32 | |
Flags | ||
GraphName | MaxBias | |
Kropp | RtBody |
Största tillåtna värde vid operatörsändring av Gain .
MinBGain Intern | ||
---|---|---|
Klass | Intern | |
Typ | Float32 | |
Flags | ||
GraphName | MinBGain | |
Kropp | RtBody |
Minsta tillåtna värde vid operatörsändring av BiasGain .
MaxBGain Intern | ||
---|---|---|
Klass | Intern | |
Typ | Float32 | |
Flags | ||
GraphName | MaxBGain | |
Kropp | RtBody |
Största tillåtna värde vid operatörsändring av BiasGain .
ModeObjDId Intern | ||
---|---|---|
Klass | Intern | |
Typ | Objid | |
Flags | ||
GraphName | ModeObjDId | |
Kropp | RtBody |
Anger fullständigt namn på det med Pid-objektet associerade Mode-objektet. Attributet gör det möjligt att via knapp i Pid-objektets objektbild starta objektbilden för det associerade Mode-objektet.
FiltDer Intern | ||
---|---|---|
Klass | Intern | |
Typ | Float32 | |
Flags | INVISIBLE | STATE | NOEDIT | REDUTRANSFER | |
GraphName | FiltDer | |
Kropp | RtBody |
Filtrerad derivata sparas till nästa exekevering.
PDManOffset Intern | ||
---|---|---|
Klass | Intern | |
Typ | Float32 | |
Flags | INVISIBLE | STATE | NOEDIT | REDUTRANSFER | |
GraphName | PDManOffset | |
Kropp | RtBody |
Offset beräknas i manuell mod, och används vid P och PD-algoritm för att få stötfri övergång till auto.
OutWindup Intern | ||
---|---|---|
Klass | Intern | |
Typ | Float64 | |
Flags | INVISIBLE | STATE | NOEDIT | REDUTRANSFER | |
GraphName | OutWindup | |
Kropp | RtBody |
Utsignal som begränsas av MinWindup och MaxWindup
AbsOut Intern | ||
---|---|---|
Klass | Intern | |
Typ | Float64 | |
Flags | INVISIBLE | STATE | NOEDIT | REDUTRANSFER | |
GraphName | AbsOut | |
Kropp | RtBody |
Utsignaldel som ligger utanför OutWindup
PlcNode Buffer | ||
---|---|---|
Klass | Buffer | |
Typ | PlcNode | |
Flags | INVISIBLE | |
Kropp | DevBody |