Simplified Process Variable Surveillance (PVS)

This is a simple PVS process that compares process variable data against defined limits and conditions. The majority of the logic that determines the state is contained in sub-modules.

The entity specified by the Input is the entity that will be monitored against the limits.

The Operating Envelope (OE) can be either a maximum OE or a minimum OE, and depends on the user's selection. The selection is sent to the sub-modules for further processing.

The inputs are checked against primary, secondary, and tertiary limits. The period of time spent in those states is also checked, and the Primary, Secondary, and Tertiary states are changed accordingly.

UI Editor

Logic Editor

Main Process

The first time the process is run, the Default State sub-module is processed to determine if the entity is in a Default or Primary state. The process then starts by checking the state of the entity. Depending on what state it is in, the Default State, Primary State, Secondary State, or Tertiary State sub-module is processed.

Default State Sub-Module

The Default State sub-module checks the input against the primary limit (PL).

  • If the user has specified a Maximum OE, the Input is checked to see if it is more than the PL. If it is, a Primary state is produced, and the start time of the event is written to memory. Otherwise, a Default state is produced.
  • If the user has specified a Minimum OE, the Input is checked to see if it is less than the PL. If it is, a Primary state is produced, and the start time of the event is written to memory. Otherwise, a Default state is produced.

Primary State Sub-Module

The Primary State sub-module checks the input against the primary limit (PL), the secondary limit (SL), and the secondary duration (SD). Firstly, it uses the Check Default sub-module to check that the entity is still in the Primary State, before processing the Secondary Check sub-module, which checks if a Secondary state should be produced.

The Check Default sub-module checks that the entity is in the Primary state.

  • If the user has specified a Maximum OE, the Input is checked to see if it is less than the PL. If it is, a Default state is produced and the process stops. Otherwise, the entity remains in the Primary state and the process proceeds with the Secondary Checks sub-module.
  • If the user has specified a Minimum OE, the Input is checked to see if it is more than the PL. If it is, a Default state is produced and the process stops. Otherwise, the entity remains in the Primary state and the process proceeds with the Secondary Checks sub-module.

The Secondary Checks sub-module checks the input against the SL and SD to see if a Secondary state should be produced:

  • In the UI, the user may elect to enable a secondary limit (SL) and/or a secondary duration (SD). If neither SL or SD are enabled, the sub-module does nothing.
  • If SL is not enabled but SD is, the process bypasses the SL check and continues with the SD check.
  • For the SL check, if the user has specified a Maximum OE, the Input is checked to see if it is greater than the SL. If it is, a Secondary state is produced. If the user has specified a Minimum OE, the Input is checked to see if it is less than the SL. If it is, a Secondary state is produced. If a secondary state is not produced in these SL checks, the process performs an SD check.
  • For the SD check, the timestamp of the input is compared with the time the Primary state was produced. If this time difference is greater than or equal to the specified SD, a Secondary state is produced. Otherwise, the process remains in the Primary state.

Secondary State Sub-Module

The Secondary State sub-module checks the input against the primary limit (PL), tertiary limit (TL), and tertiary duration (TD).

Firstly, it uses the Check Tertiary Limit sub-module to check if a tertiary state should be produced because the TL has been exceeded. Next, the Check Default sub-module checks if the entity should remain in a Secondary state or return to the Default state. Finally, the Tertiary Checks sub-module checks if a Tertiary state should be produced because the TD has been exceeded.

The Check Tertiary Limit sub-module checks the input against the TL, to see if a Tertiary state should be produced.

  • In the UI, the user may elect to enable a tertiary limit (TL). If TL is not enabled, the sub-module does nothing.
  • If TL is enabled:
  • If the user has specified a Maximum OE, the Input is checked to see if it is more than the TL. If it is, a Tertiary state is produced and the process stops; otherwise it remains in a Secondary state and the process continues.
  • If the user has specified a Minimum OE, the Input is checked to see if it is less than the TL. If it is, a Tertiary state is produced and the process stops; otherwise it remains in a Secondary state and the process continues.

The Check Default sub-module is only invoked after the Check Tertiary Limit sub-module, and checks the input against the PL, to determine if the entity should return to the Default state or remain in a Secondary state.

  • If the user has specified a Maximum OE, the Input is checked to see if it is less than the PL. If it is, a Default state is produced and the process stops. Otherwise, the entity remains in the Secondary state and the process continues.
  • If the user has specified a Minimum OE, the Input is checked to see if it is more than the PL. If it is, a Default state is produced and the process stops. Otherwise, the entity remains in the Secondary state and the process continues.

The Tertiary Check sub-module is only invoked after the Check Default sub-module, and checks the input against the TD to see if a Tertiary state should be produced.

  • In the UI, the user may elect to enable a tertiary duration (TD). If this is not enabled, the sub-module does nothing.
  • If TD is enabled, the timestamp of the input is compared with the time the Primary state was produced. If this time difference is greater than or equal to the specified TD, a Tertiary state is produced. Otherwise, the process remains in the Secondary state.

Tertiary State Sub-Module

The Tertiary State sub-module checks the input against the primary limit (PL), to determine if it should return to a Default state or remain in a Tertiary state.

  • If the user has specified a Maximum OE, the Input is checked to see if it is less than the PL. If it is, a Default state is produced; otherwise it remains in a Tertiary state.
  • If the user has specified a Minimum OE, the Input is checked to see if it is more than the PL. If it is, a Default state is produced; otherwise it remains in a Tertiary state.

Related: Sentinel Studio PrimersCreating a User Process, Component Logic Functions, Logic Editor, UI Editor

Comments are closed