N-Version PID Controller Modeling in Ansys Scade Suite Software — Lesson 2

Call Graph

Find below a call diagram showing the tree of created model operators. “OverallSystem” is the root operator, which includes all the operators in a closed-loop architecture.

1.OverallSystem

1.1. nPID

1.1.1. PIDBlock [3]

1.1.1.1. linear::Derivative

1.1.1.2. linear::Gain [3]

1.1.1.3. linear::IntegrTrapezoid

1.1.2. Voter

1.1.2.1. math::Abs [3]

1.1.2.2. math::Mean [3]

1.1.2.3. math::Mean3

1.2. TransferFunction

1.2.1. SumDelay

 

PID Block Operator

Utilizing the libraries and predefined operators available within the Ansys Scade Suite application, a basic PID regulator has been created as depicted in the Figure below. Here, '𝑃𝐼𝐷𝑖𝑛' represents the input, '𝑃𝐼𝐷𝑜𝑢𝑡' signifies the output, while '𝐾𝑝', '𝐾𝑑', and '𝐾𝑖' stand as constant values configured as 'hidden input'. The derivative, integral, and gain blocks have been sourced from the 'liblinear' library. The values associated with these blocks are provided in the table below.

Figure 1 PID Block

 

Operator Pin Name Value
Derivative 1 TimeCycle 0.1
Integral
Trapezoid

1

2

3

4

Reset

TimeCycle

LowLimit

HighLimit

False

0.1

0

UpLim

 

Voter Operator

A simple algorithm acting as a selector operator has been designed to choose values coming from three different PID blocks, according to the swan model shown below, and send the selected value to the system's transfer function.


Figure 2 Voter block

 

This algorithm has been modeled in Ansys Scade Suite software as shown in the figure above. Here, the “Abs” operator is used for obtaining absolute values, and the 'Mean' and 'Mean3' operators taking arithmetic averages are sourced from the 'libmath” library. This operator has inputs 'pid1', 'pid2', and 'pid3' from three different PID blocks and an output 'val'.

 

Nv-PID Operator

The 'Nv-PID' operator has been modeled using the 'PIDBlock' operator as depicted in the Figure below. This operator has a '𝑅𝑒𝑓' reference input and a '𝐹𝑒𝑒𝑑𝑏𝑎𝑐𝑘' negative feedback input, with pid1, pid2 and pid3 outputs. The used coefficients were described in the table of the section Data types and constants.

Figure 3 N-Version PID