Process Dual Sensor Analog Input (PAID)
This information applies to the CompactLogix 5380P and ControlLogix 5580P controllers.
The Process Dual Sensor Analog Input (PAID) instruction monitors one analog Process Variable (PV) by using two analog input signals, from sources such as dual sensors, dual transmitters, and dual input channels. The PAID instruction monitors conditions of the channels and reports configured PV quality. The PAID instruction has functions for input selection, averaging, and failure detection. Additional functions, such as for filtering and alarming, are done by a downstream PAI block.
The PAID Instruction provides:
- Selection of the sensor or input A value, the sensor or input B value, the average of the two, the lesser of the two, or the greater of the two as the PV value.
- Input Source and Quality monitoring for uncertain or bad input for each sensor, transmitter, or input, plus monitoring of each signal for out-of-range condition. If one PV is bad, failed, or out or range, the other PV is automatically selected.
- Warning alarm if the difference between the two sensor PVs exceeds a configured limit.
- Warning alarm if only one PV has good quality.
- Warning alarm if neither PV has good quality; for example, if both are uncertain.
- Failure alarm if both PVs are bad; for example, each PV has bad quality (Inp_PVABad or Inp_PVBBad) or is outside the configured failure range.
Available Languages
Ladder Diagram
Function Block Diagram
Structured Text
PAID (PAIDTag, 0);
Operands
IMPORTANT:
Unexpected operation may occur if:
- Output tag operands are overwritten.
- Members of a structure operand are overwritten.
- Except when specified, structure operands are shared by multiple instructions.
There are data conversion rules for mixing numeric data types within an instruction. See Data conversions.
Configuration Operands
Operand | Type | Format | Description |
---|---|---|---|
PlantPAx Control | P_ANALOG_INPUT_DUAL | tag | Data structure required for proper operation of instruction. |
BusObj | BUS_OBJ | tag | Bus component |
P_ANALOG_INPUT_DUAL Structure
Public members are standard, visible tag members that are programmatically accessible. Private, hidden members are used in HMI faceplates and are not programmatically accessible. Private members are listed in separate tables after public members.
Public Input Members | Data Type | Description |
---|---|---|
EnableIn | BOOL | Enable Input - System Defined Parameter Default is true. |
Inp_InitializeReq | BOOL | 1 = Request to initialize the instruction. The instruction is normally initialized in instruction first run. Use this request when reinitialization is needed. The instruction clears this operand automatically. Default is true. |
Inp_PVAData | REAL | PV signal from sensor or input A (PV units). Valid = any float. Default is 0.0. |
Inp_PVASrcQ | SINT | Input source and quality, from channel A object, if available (enumeration). Default is 0. |
Inp_PVANotify | SINT | Related PV object alarm priority and acknowledgement status. 0 = Not in alarm, acknowledged, 1 = Not in alarm, unacknowledged or reset required, 2 = Low severity alarm, acknowledged, 3 = Low severity alarm, unacknowledged, 4 = Medium severity alarm, acknowledged, 5 = Medium severity alarm, unacknowledged, 6 = High severity alarm, acknowledged, 7 = High severity alarm, unacknowledged, 8 = Urgent severity alarm, acknowledged, 9 = Urgent severity alarm, unacknowledged. Default is 0. |
Inp_SmartDvcASts | DINT | Current code provided by SMART Device on Inp_PVAData. The code is copied to Out_SmartDvcSts allowing a user to monitor the device status on HMI for diagnostic lookup purposes. Valid = 0 to maximum positive number. Default is 0. |
Inp_PVBData | REAL | PV signal from sensor or input B (PV units). Valid = any float. Default is 0.0. |
Inp_PVBSrcQ | SINT | Input source and quality, from channel B object, if available (enumeration). Default is 0. |
Inp_PVBNotify | SINT | Related PV object alarm priority and acknowledgement status. 0 = Not in alarm, acknowledged, 1 = Not in alarm, unacknowledged or reset required, 2 = Low severity alarm, acknowledged, 3 = Low severity alarm, unacknowledged, 4 = Medium severity alarm, acknowledged, 5 = Medium severity alarm, unacknowledged, 6 = High severity alarm, acknowledged, 7 = High severity alarm, unacknowledged, 8 = Urgent severity alarm, acknowledged, 9 = Urgent severity alarm, unacknowledged. Default is 0. |
Inp_SmartDvcBSts | DINT | Current code provided by SMART Device on Inp_PVBData. The code is copied to Out_SmartDvcSts allowing a user to monitor the device status on HMI for diagnostic lookup purposes. Valid = 0 to maximum positive number. Default is 0. |
Inp_PVABad | BOOL | Signal quality or communication status for input A: 1 = Bad, 0 = OK. Default is false. |
Inp_PVAUncertain | BOOL | Signal quality for input A: 1 = Uncertain, 0 = OK. Default is false. |
Inp_SmartDvcADiagAvailable | BOOL | 1 = SMART Device on Inp_PVAData diagnostics available. Typically used to indicate device requires action to keep operating as expected. Default is false. |
Inp_PVBBad | BOOL | Signal quality or communication status for input B: 1 = Bad, 0 = OK. Default is false. |
Inp_PVBUncertain | BOOL | Signal quality for input B: 1 = Uncertain, 0 = OK. Default is false. |
Inp_SmartDvcBDiagAvailable | BOOL | 1 = SMART device on Inp_PVBData diagnostics available. Typically used to indicate device requires action to keep operating as expected. Default is false. |
Inp_DiffGate | BOOL | The gate input used for status detection. 1 = The corresponding analog input threshold monitoring is enabled. 0 = detection is disabled and the corresponding status output is forced off. Default is true. |
Cfg_AllowDisable | BOOL | 1 = Allow maintenance to disable alarms. Default is true. |
Cfg_AllowShelve | BOOL | 1 = Allow operator to shelve alarms. Default is true. |
Cfg_UseInpSrcQPVA | BOOL | 1 = Use PVA SrcQ input for rejection decisions. Default is false. |
Cfg_UseInpSrcQPVB | BOOL | 1 = Use PVB SrcQ input for rejection decisions. Default is false. |
Cfg_HasPVNav | BOOL | 1 = Tells HMI to enable navigation to a connected PV (Val) object. Default is false. |
Cfg_HasMoreObj | BOOL | 1 = Tells HMI an object with more information is available for navigation. Default is false. |
Cfg_HasNav | SINT | Set bits indicate which navigation buttons are enabled .0=PVA, .1=PVB Default is 0. |
Cfg_PVEUMin | REAL | PV (Output) minimum for display PV units. Valid = any float. Default is 0.0. |
Cfg_PVEUMax | REAL | PV (Output) maximum for display PV units. Valid = any float. Default is 100.0. |
Cfg_DiffLim | REAL | Signal difference status limit for PV units, difference. Valid = any nonnegative float. Default is 1.50E+38. |
Cfg_DiffDB | REAL | Signal difference status deadband for PV units, difference. Valid = any nonnegative float. Default is 1.0. |
Cfg_DiffGateDly | REAL | The time (seconds) after the gate input activates before the threshold detection is enabled. Valid = 0.0 to 2147483.0 seconds. Default is 0.0. |
Cfg_OoRHiLim | REAL | Out-of-range (fail) high limit for input units. Valid = any float. Default is 103.958336. |
Cfg_OoRLoLim | REAL | Out-of-range (fail) low limit for input units. Valid = any float. Default is -2.0833333. |
Cfg_OoRDB | REAL | Out-of-range (fail) high or low deadband for input units. Valid = any nonnegative float. Default is 0.41666666. |
Cfg_AllowOper | BOOL | 1 = Oper is allowed to control PV selection. Default is false. |
Cfg_AllowProg | BOOL | 1 = Prog is allowed to control PV selection. Default is false. |
Cfg_AllowExt | BOOL | 1 = Ext is allowed to control PV selection. Default is false. |
Cfg_PVDecPlcs | SINT | Number of decimal places for PV display. Valid = 0,1,2,3,4,5,6. Default is 2. |
Cfg_CnfrmReqd | SINT | Operator command confirmation required. Represents the type of command confirmation required. 0 = None, 1 = Command confirmation required, 2 = Performer e-signature required, 3 = Performer and approver e-signature required. Default is 0. |
PSet_Owner | DINT | Program owner request ID (non-zero) or release (zero) (Valid = any integer). Default is 0. |
PCmd_SelA | BOOL | Program command to select sensor A PV. Default is false. |
PCmd_SelB | BOOL | Program command to select sensor B PV. Default is false. |
PCmd_SelAvg | BOOL | Program command to select average (A,B) PV. Default is false. |
PCmd_SelMin | BOOL | Program command to select minimum (A,B) PV. Default is false. |
PCmd_SelMax | BOOL | Program command to select maximum (A,B) PV. Default is false. |
PCmd_Reset | BOOL | Program command to reset all alarms requiring reset. Default is false. |
XCmd_SelA | BOOL | External command to select sensor A PV. Default is false. |
XCmd_SelB | BOOL | External command to select sensor B PV. Default is false. |
XCmd_SelAvg | BOOL | External command to select average (A,B) PV. Default is false. |
XCmd_SelMin | BOOL | External command to select minimum (A,B) PV. Default is false. |
XCmd_SelMax | BOOL | External command to select maximum (A,B) PV. Default is false. |
XCmd_Reset | BOOL | External command to reset all alarms and latched shed conditions. The instruction clears this operand automatically. Default is false. |
XCmd_ResetAckAll | BOOL | External command to acknowledge and reset all alarms and latched shed conditions. The instruction clears this operand automatically. Default is false. |
Public Output Members | Data Type | Description |
---|---|---|
EnableOut | BOOL | Enable Output - System Defined Parameter |
Val | REAL | Selected analog PV , including substitute PV, if used (PV units). |
Val_PVA | REAL | Analog value (actual) from input A (PV units). |
Val_PVB | REAL | Analog value (actual) from input B (PV units). |
Val_AvgPV | REAL | Analog value average of input A and input B (PV units). |
Val_MinPV | REAL | Analog value minimum of input A and input B (PV units). |
Val_MaxPV | REAL | Analog value maximum of input A and input B (PV units). |
Val_InpPV | REAL | Selected PV, before substitution, for example (PV units). |
Val_Diff | REAL | Difference between input A and input B PVs (PV units). |
Val_PVEUMin | REAL | Minimum of PV range = minimum (Cfg_PVEUMin, Cfg_PVEUMax) (PV units). |
Val_PVEUMax | REAL | Maximum of PV range = maximum (Cfg_PVEUMin, Cfg_PVEUMax) (PV units). |
Out_SmartDvcSts | DINT | Status code of a SMART device provided by Inp_SmartDvcASts or Inp_SmartDvcBSts. Highest status code selected. |
Sts_Initialized | BOOL | 1 = Instruction is initialized. Use Inp_InitializeReq to reinitialize. |
Sts_SmartDvcDiagAvailable | BOOL | 1 = Diagnostics of a SMART device is currently available. Typically used to indicate one of the devices requires action to keep operating as expected. |
Sts_PVASel | BOOL | 1 = Input A selected for PV. |
Sts_PVBSel | BOOL | 1 = Input B selected as PV. |
Sts_AvgSel | BOOL | 1 = Average (A,B) selected as PV. |
Sts_MinSel | BOOL | 1 = Minimum (A,B) selected as PV. |
Sts_MaxSel | BOOL | 1 = Maximum (A,B) selected as PV. |
Sts_PVBad | BOOL | 1 = PV bad quality or out of range. |
Sts_PVUncertain | BOOL | 1 = PV value is uncertain (quality). |
SrcQ_IOA | SINT | Source and quality of primary I/O (enumeration). |
SrcQ_IOB | SINT | Source and quality of primary I/O (enumeration). |
SrcQ_IO | SINT | Source and quality of primary I/O (enumeration). |
SrcQ | SINT | Source and quality of primary Val or Sts (enumeration). |
Sts_eSts | SINT | Device confirmed status (enum): 0 = PV Good, 1: PV Uncertain, 2: PV Bad. |
Sts_eFault | INT | Device fault status (enum): 0 = None, ........ 32 = Fail, 34 = Bad Config. |
Sts_eNotify | SINT | All alarm status enumerated values: 0 = Not in alarm, acknowledged, 1 = Not in alarm, unacknowledged or reset required, 2 = Low severity alarm, acknowledged, 3 = Low severity alarm, unacknowledged, 4 = Medium severity alarm, acknowledged, 5 = Medium severity alarm, unacknowledged, 6 = High severity alarm, acknowledged, 7 = High severity alarm, unacknowledged, 8 = Urgent severity alarm, acknowledged, 9 = Urgent severity alarm, unacknowledged. |
Sts_eNotifyAll | SINT | All alarm status enumerated values including related objects: 0 = Not in alarm, acknowledged, 1 = Not in alarm, unacknowledged or reset required, 2 = Low severity alarm, acknowledged, 3 = Low severity alarm, unacknowledged, 4 = Medium severity alarm, acknowledged, 5 = Medium severity alarm, unacknowledged, 6 = High severity alarm, acknowledged, 7 = High severity alarm, unacknowledged, 8 = Urgent severity alarm, acknowledged, 9 = Urgent severity alarm, unacknowledged. |
Sts_eNotifyOneGood | SINT | Only one good PV alarm status enumerated values: 0 = Not in alarm, acknowledged, 1 = Not in alarm, unacknowledged or reset required, 2 = Low severity alarm, acknowledged, 3 = Low severity alarm, unacknowledged, 4 = Medium severity alarm, acknowledged, 5 = Medium severity alarm, unacknowledged, 6 = High severity alarm, acknowledged, 7 = High severity alarm, unacknowledged, 8 = Urgent severity alarm, acknowledged, 9 = Urgent severity alarm, unacknowledged. |
Sts_eNotifyNoneGood | SINT | No good PV alarm status enumerated values: 0 = Not in alarm, acknowledged, 1 = Not in alarm, unacknowledged or reset required, 2 = Low severity alarm, acknowledged, 3 = Low severity alarm, unacknowledged, 4 = Medium severity alarm, acknowledged, 5 = Medium severity alarm, unacknowledged, 6 = High severity alarm, acknowledged, 7 = High severity alarm, unacknowledged, 8 = Urgent severity alarm, acknowledged, 9 = Urgent severity alarm, unacknowledged. |
Sts_eNotifyDiff | SINT | Input Difference alarm status enumerated values: 0 = Not in alarm, acknowledged, 1 = Not in alarm, unacknowledged or reset required, 2 = Low severity alarm, acknowledged, 3 = Low severity alarm, unacknowledged, 4 = Medium severity alarm, acknowledged, 5 = Medium severity alarm, unacknowledged, 6 = High severity alarm, acknowledged, 7 = High severity alarm, unacknowledged, 8 = Urgent severity alarm, acknowledged, 9 = Urgent severity alarm, unacknowledged. |
Sts_eNotifyFail | SINT | Fail alarm status enumerated values: 0 = Not in alarm, acknowledged, 1 = Not in alarm, unacknowledged or reset required, 2 = Low severity alarm, acknowledged, 3 = Low severity alarm, unacknowledged, 4 = Medium severity alarm, acknowledged, 5 = Medium severity alarm, unacknowledged, 6 = High severity alarm, acknowledged, 7 = High severity alarm, unacknowledged, 8 = Urgent severity alarm, acknowledged, 9 = Urgent severity alarm, unacknowledged. |
Sts_UnackAlmCount | DINT | Count of unacknowledged alarms. |
Sts_Err | BOOL | 1 = Error in config, see detail bits for reason. |
Sts_ErrEU | BOOL | 1 = Error in config: Cfg_PVEUMax cannot equal Cfg_PVEUMin. |
Sts_ErrDiffDB | BOOL | 1 = Error in configuration: Cfg_LoDevDB deadband is < 0.0. |
Sts_ErrDiffGateDly | BOOL | 1 = Invalid timer preset (use 0.0 to 2147483.0). |
Sts_ErrOoRDB | BOOL | 1 = Error in configuration: Cfg_OoRDB deadband is < 0.0. |
Sts_ErrAlm | BOOL | 1 = Error in logix tag-based alarm settings. |
Sts_Alm | BOOL | 1 = An alarm is active. |
Sts_AlmInh | BOOL | 1 = An alarm is shelved or disabled. |
Sts_OneGood | BOOL | 1 = Only one good PV (other is bad or uncertain). |
Sts_NoneGood | BOOL | 1 = No good PV (both bad, or one bad or one uncertain). |
Sts_DiffCmp | BOOL | Signal difference comparison result 1 = high difference. |
Sts_DiffGate | BOOL | Signal difference gate delay status, 1 = done. |
Sts_Diff | BOOL | 1 = High signal difference detected. |
Sts_Fail | BOOL | 1 = Total signal failure (both bad or out of range). |
Sts_RdyAck | BOOL | 1 = An alarm is ready to be acknowledged. |
Sts_RdyReset | BOOL | 1 = A latched alarm or shed condition is ready to be reset. |
XRdy_SelA | BOOL | 1 = Ready for XCmd_SelA, enable HMI button. |
XRdy_SelB | BOOL | 1 = Ready for XCmd_SelB, enable HMI button. |
XRdy_SelAvg | BOOL | 1 = Ready for XCmd_SelAvg, enable HMI button. |
XRdy_SelMin | BOOL | 1 = Ready for XCmd_SelMin, enable HMI button. |
XRdy_SelMax | BOOL | 1 = Ready for XCmd_SelMax, enable HMI button. |
XRdy_Reset | BOOL | 1 = Ready for XCmd_Reset, enable HMI button. |
XRdy_ResetAckAll | BOOL | 1 = Ready for XCmd_ResetAckAll, enable HMI button. |
Val_Owner | DINT | Current object owner ID (0 = not owned). |
Private Input Members | Data Type | Description |
---|---|---|
OCmd_Reset | BOOL | Operator command to reset all alarms requiring reset. Default is false. |
OCmd_ResetAckAll | BOOL | Operator command to reset and acknowledge all alarms. Default is false. |
OCmd_SelA | BOOL | Operator command to select sensor A PV. Default is false. |
OCmd_SelAvg | BOOL | Operator command to select average(A,B) PV. Default is false. |
OCmd_SelB | BOOL | Operator command to select sensor B PV. Default is false. |
OCmd_SelMax | BOOL | Operator command to select maximum(A,B) PV. Default is false. |
OCmd_SelMin | BOOL | Operator command to select minimum(A,B) PV. Default is false. |
Private Output Members | Data Type | Description |
---|---|---|
HMI_BusObjIndex | DINT | HMI bus object index. Default is 0. |
ORdy_Reset | BOOL | 1 = Ready for OCmd_Reset (enables HMI button). |
ORdy_ResetAckAll | BOOL | 1 = Ready for OCmd_ResetAckAll (enables HMI button). |
ORdy_SelA | BOOL | 1 = Ready for OCmd_SelA (enables HMI button). |
ORdy_SelAvg | BOOL | 1 = Ready for OCmd_SelAvg. |
ORdy_SelB | BOOL | 1 = Ready for OCmd_SelB (enables HMI button). |
ORdy_SelMax | BOOL | 1 = Ready for OCmd_SelMax (enables HMI button). |
ORdy_SelMin | BOOL | 1 = Ready for OCmd_SelMin (enables HMI button). |
Public InOut Members | Data Type | Description |
---|---|---|
BusObj | BUS_OBJ | Bus component |
BUS_OBJ Structure
Members | Data Type | Description |
---|---|---|
Inp_Cmd | DINT | Input to assert commands |
Out_Cmd | DINT | Resultant commands |
Inp_CmdLLH | DINT | Input for level normally high commands |
Out_CmdLLH | DINT | Resultant line level high commands |
Inp_Sts | DINT | Input to assert status |
Out_Sts | DINT | Resultant status |
Inp_CmdAck | DINT | Input to assert a command acknowledgement |
Out_CmdAck | DINT | Resultant command acknowledgements |
Inp_SeverityMax | DINT | Input: maximum alarm severity |
Out_SeverityMax | DINT | Resultant of maximum alarm severity |
Cfg_CmdMask | DINT | Propagation mask for commands |
Cfg_CmdLLHMask | DINT | Propagation mask for line level high commands |
Cfg_StsMask | DINT | Propagation mask for status |
Ref_Index | DINT | Bus array index |
Operation
This diagram illustrates the functionality of the PAID instruction:
Alarms
Discrete tag-based alarms are defined for these members.
Member | Alarm Name | Description |
---|---|---|
Sts_Fail | Alm_Fail | Raised when the two sensor PVs are bad or out of range. |
Sts_Diff | Alm_Diff | Raised when a high signal difference is detected between the two sensors PVs exceeds a configured limit. |
Sts_NoneGood | Alm_NoneGood | Raised when neither PV has good quality (for example, if both are uncertain). |
Sts_OneGood | Alm_OneGood | Raised when only one PV has a good quality. |
Mark the alarm as used or unused and set standard configuration members of the discrete tag-based alarm. Access alarm elements using this format:
PAIDTag.@Alarms.AlarmName.AlarmElement
There are Program, Operator, and External commands that enable the Reset and Reset & Acknowledge of all alarms of the instruction (Alarm Set) at the same time. This diagram shows how the commands interact with the PDO instruction.
Initialization
The instruction is normally initialized in the instruction first run. Request re-initialization by setting Inp_InitializeReq = 1. For proper initialization, when adding the instruction while performing an online edit of the code, make sure that Inp_InitializeReq = 1, the default value.
Configuration of Strings for HMI
Configure strings for HMI faceplates, as seen in FactoryTalk View, and for the Logix Designer configuration dialog box.
- Description
- Label for graphic symbol
- Display Library for HMI Faceplate call-up
- Instruction name
- Area name
- URL link
- More Information
- Selected Analog PV engineering units – Units metadata of Val member, Val.@Units.
- Analog input A description – Label metadata of Inp_PVAData member, Inp_PVAData.@Label.
- Analog input B description – Label metadata of Inp_PVBData member, Inp_PVBData.@Label.
- Allow Navigation Object Tag Name Output – Navigation metadata of PAID member Val tag.
- Allow Navigation Object Tag Name Input A – Navigation metadata of PAID member Inp_PVAData tag.
- Allow Navigation Object Tag Name Input B – Navigation metadata of PAID member Inp_PVBData tag
Monitor the PAID Instruction
Use the operator faceplate from the PlantPAx library of Process objects for monitoring.
Affects Math Status Flags
No.
Major/Minor Faults
None specific to this instruction. See Index Through Arrays for array-indexing faults.
Execution
Ladder Diagram
Condition/State | Action Taken |
---|---|
Prescan | Rung-condition-out clears to false. |
Instruction first run | All commands that are automatically cleared on each execution are cleared and ignored. PSet_Owner and Val_Owner are set to 0. The instruction executes normally. |
Rung-condition-in is false | Rung-condition-out is cleared to false. All commands that are automatically cleared on each execution are cleared and ignored. PSet_Owner and Val_Owner are set to 0. Latched alarms are reset. Clear Bus Object commands and HMI Bus Object Index Execute Bus command on receipt for Disable, Enable, Suppress, Unsuppress all alarms. Execute Bus command status propagation. Internal timers are reset. |
Rung-condition-in is true | Set rung-condition-out to rung-condition-in. The instruction executes. |
Postscan | Rung-condition-out is cleared to false. |
Function Block Diagram
Condition/State | Action Taken |
---|---|
Prescan | EnableOut is cleared to false. |
Instruction first run | All commands that are automatically cleared on each execution are cleared and ignored. PSet_Owner and Val_Owner are set to 0. The instruction executes normally. |
Instruction first scan | See Instruction first run in the Function Block Diagram table. |
EnableIn is false | EnableOut is cleared to false. All commands that are automatically cleared on each execution are cleared and ignored. PSet_Owner and Val_Owner are set to 0. Latched alarms are reset. Clear Bus Object commands and HMI Bus Object Index Execute Bus command on receipt for Disable, Enable, Suppress, Unsuppress all alarms. Execute Bus command status propagation. Internal timers are reset. |
EnableIn is true | EnableOut is set to true. The instruction executes. |
Postscan | EnableIn and EnableOut bits are cleared to false. |
Structured Text
In Structured Text, EnableIn is always true during normal scan. The instruction executes when it is in the control path activated by the logic.
Condition/State | Action Taken |
---|---|
Prescan | See Prescan in the Function Block Diagram table. |
Instruction first run | See Instruction first run in the Function Block Diagram table. |
EnableIn is true | See EnableIn is true in the Function Block Diagram table. |
Postscan | See Postscan in the Function Block Diagram table. |
Example
This example uses the PAID instruction to monitor one analog Process Variable (PV) using two analog input signals (dual sensors, dual transmitters). The PAID instruction allows you to select one sensor, the other sensor, or the average, minimum or maximum of either sensors. If difference between the two input signals exceeds a configured limit, an Alarm is generated.
In this example, an application uses two analog sensors (A, B). The average of these analogs is used elsewhere in logic to control a separate application element.
The Inp_PVAData and Inp_PVBData parameters are connected to the values from the two analog transmitters. The fault status of each of these sensors is tied to the bad input of the instruction (for example, Inp_PVABad). The output parameters Val, Sts_PVBad and Sts_PVUncertain, can then be connected to the Inp_PVData, Inp_PVUncertain and Inp_ChanFault for control.
Ladder Diagram
Function Block Diagram
Structured Text
PAI(AIT_201A);
PAI(AIT_201B);
AY_201.Inp_PVAData := AIT_201A.Val;
AY_201.Inp_PVASrcQ := AIT_201A.SrcQ;
AY_201.Inp_PVANotify := AIT_201A.Sts_eNotify;
AY_201.Inp_PVBData := AIT_201B.Val;
AY_201.Inp_PVBSrcQ := AIT_201B.SrcQ;
AY_201.Inp_PVBNotify := AIT_201B.Sts_eNotify;
PAID(AY_201,0);
AI_201.Inp_PVData := AY_201.Val;
AI_201.Inp_ChanFault := AY_201.Sts_PVBad;
AI_201.Inp_PVUncertain := AY_201.Sts_PVUncertain;
PAI(AI_201);
Provide Feedback