PID Structure
Each PID instruction has a Proportional Integral Derivative (PID) structure that contains status information about the instruction.
Mnemonic | Byte Offset | Data Type | Description | |||
.CTL | 00 | DINT | The flags word stores these status bits in one, 16-bit word. You can set and clear these status bits. | |||
Bit | Number | Data Type | Description | |||
.EN | 31 | BOOL | ||||
.CT | 30 | BOOL | cascade type (0=slave; 1=master) | |||
.CL | 29 | BOOL | cascade loop (0=no; 1=yes) | |||
.PVT | 28 | BOOL | process variable tracking (0=no; 1=yes) | |||
.DOE | 27 | BOOL | derivative of (0=PV; 1=error) | |||
.SWM | 26 | BOOL | software mode (0=no-auto); 1=yes- sw manual) | |||
.CA | 25 | BOOL | control action (0=direct (SP-PV); 1=reverse (PV-SP)) | |||
.MO | 24 | BOOL | station mode (0=automatic; 1=manual) | |||
.PE | 23 | BOOL | PID equation (0=independent; 1=dependent) | |||
.NDF | 22 | BOOL | derivative smoothing (0=no; 1=yes) | |||
.NOBC | 21 | BOOL | bias calculation (0=no; 1=yes) | |||
.NOZC | 20 | BOOL | zero crossing (0=no; 1=for deadband) | |||
02 | You can set and clear these status bits. | |||||
Bit | Number | Data Type | Description | |||
.INI | 15 | BOOL | PID initialized (0=no; 1=yes) | |||
The PID instructions sets these status bits. You can clear these status bits. | ||||||
Bit | Number | Data Type | Description | |||
.SPOR | 14 | BOOL | setpoint out of range (0=no; 1=yes) | |||
.OLL | 13 | BOOL | CV is below minimum output value (0=no; 1=yes) | |||
.OLH | 12 | BOOL | CV is above maximum output value (0=no; 1=yes) | |||
.EWD | 11 | BOOL | error is within deadband (0=no; 1=yes) | |||
.DVNA | 10 | BOOL | error is alarmed low (0=no; 1=yes) | |||
.DVPA | 09 | BOOL | error is alarmed high (0=no; 1=yes) | |||
.PVLA | 08 | BOOL | PV is alarmed low (0=no; 1=yes) | |||
.PVHA | 07 | BOOL | PV is alarmed high (0=no; 1=yes) | |||
.SP | 04 | REAL | setpoint | |||
.KP | 08 | REAL | independent proportional gain (unitless) ISA controller gain (unitless) | |||
.KI | 12 | REAL | independent integral gain (1/sec) ISA reset term (minutes per repeat) | |||
.KD | 16 | REAL | independent derivative gain (seconds) ISA rate term (minutes) | |||
.BIAS | 20 | REAL | feedforward or bias | |||
.MAXS | 24 | REAL | maximum scaling | |||
.MINS | 28 | REAL | minimum scaling | |||
.DB | 32 | REAL | deadband | |||
.SO | 36 | REAL | set output % | |||
.MAXO | 40 | REAL | maximum output limit (% of output) | |||
.MINO | 44 | REAL | minimum output limit (% of output) | |||
.UPD | 48 | REAL | loop update time (seconds) | |||
.PV | 52 | REAL | scaled PV value | |||
.ERR | 56 | REAL | scaled error value | |||
.OUT | 60 | REAL | output (% of 4095) | |||
.PVH | 64 | REAL | process variable high alarm value | |||
.PVL | 68 | REAL | process variable low alarm value | |||
.DVP | 72 | REAL | positive deviation alarm | |||
.DVN | 76 | REAL | negative deviation alarm | |||
.PVDB | 80 | REAL | process variable alarm deadband | |||
.DVDB | 84 | REAL | error alarm deadband | |||
.MAXI | 88 | REAL | maximum PV value | |||
.MINI | 92 | REAL | minimum PV value | |||
.TIE | 96 | REAL | tieback value for manual control (0-4095) | |||
.MAXCV | 100 | REAL | maximum CV value | |||
.MINCV | 104 | REAL | minimum CV value | |||
.MINTIE | 108 | REAL | minimum tieback value | |||
.MAXTIE | 112 | REAL | maximum tieback value | |||
.DATA[17] | 116 | REAL | The .DATA[17] member stores: Element Description .DATA[0] integral accumulation .DATA[1] derivative smoothing temporary value .DATA[2] previous .PV value .DATA[3] previous .ERR value .DATA[4] previous valid .SP value .DATA[5] percent scaling constant .DATA[6] .PV scaling constant .DATA[7] derivative scaling constant .DATA[8] previous .KP value .DATA[9] previous .KI value .DATA[10] previous .KD value .DATA[11] dependent gain .KP .DATA[12] dependent gain .KI .DATA[13] dependent gain .KD .DATA[14] previous .CV value .DATA[15] .CV descaling constant .DATA[16] tieback descaling constant | |||
total memory per structure | 120 bytes |
Provide Feedback