{ProgramFile}
 ├──verificationOptions: <empty>
 ├──globalVariables: <empty>
 └──programUnits: 
    {FunctionBlock name=aggr_10 builtIn=false}
     ├──attributes: <null>
     ├──declarationSection: 
     │  {DeclarationSection}
     │   ├──variableDeclarations: 
     │   │  {VariableDeclarationBlock direction=VAR_INPUT retain=false}
     │   │   └──variables: 
     │   │      {VariableDeclarationLine initialized=false bounded=false}
     │   │       ├──variables: 
     │   │       │  {Variable name=DemandAvailability reference=false ref:<null>}
     │   │       ├──type: 
     │   │       │  {ElementaryDT type=BOOL}
     │   │       ├──initialization: <null>
     │   │       ├──lowerBound: <null>
     │   │       └──upperBound: <null>
     │   │      {VariableDeclarationLine initialized=false bounded=false}
     │   │       ├──variables: 
     │   │       │  {Variable name=AvailabilityChanged reference=false ref:<null>}
     │   │       ├──type: 
     │   │       │  {ElementaryDT type=BOOL}
     │   │       ├──initialization: <null>
     │   │       ├──lowerBound: <null>
     │   │       └──upperBound: <null>
     │   │      {VariableDeclarationLine initialized=false bounded=false}
     │   │       ├──variables: 
     │   │       │  {Variable name=ComponentSetup_Done reference=false ref:<null>}
     │   │       ├──type: 
     │   │       │  {ElementaryDT type=BOOL}
     │   │       ├──initialization: <null>
     │   │       ├──lowerBound: <null>
     │   │       └──upperBound: <null>
     │   │      {VariableDeclarationLine initialized=false bounded=false}
     │   │       ├──variables: 
     │   │       │  {Variable name=CommandIn reference=false ref:<null>}
     │   │       ├──type: 
     │   │       │  {ElementaryDT type=BYTE}
     │   │       ├──initialization: <null>
     │   │       ├──lowerBound: <null>
     │   │       └──upperBound: <null>
     │   │      {VariableDeclarationLine initialized=false bounded=false}
     │   │       ├──variables: 
     │   │       │  {Variable name=Unit_is_Type1 reference=false ref:<null>}
     │   │       ├──type: 
     │   │       │  {ElementaryDT type=BOOL}
     │   │       ├──initialization: <null>
     │   │       ├──lowerBound: <null>
     │   │       └──upperBound: <null>
     │   │      {VariableDeclarationLine initialized=false bounded=false}
     │   │       ├──variables: 
     │   │       │  {Variable name=Sig1_from_Type2 reference=false ref:<null>}
     │   │       ├──type: 
     │   │       │  {ElementaryDT type=BOOL}
     │   │       ├──initialization: <null>
     │   │       ├──lowerBound: <null>
     │   │       └──upperBound: <null>
     │   │      {VariableDeclarationLine initialized=false bounded=false}
     │   │       ├──variables: 
     │   │       │  {Variable name=Sig2_from_Type2 reference=false ref:<null>}
     │   │       ├──type: 
     │   │       │  {ElementaryDT type=BOOL}
     │   │       ├──initialization: <null>
     │   │       ├──lowerBound: <null>
     │   │       └──upperBound: <null>
     │   │      {VariableDeclarationLine initialized=false bounded=false}
     │   │       ├──variables: 
     │   │       │  {Variable name=Orientation_Valid reference=false ref:<null>}
     │   │       ├──type: 
     │   │       │  {ElementaryDT type=BOOL}
     │   │       ├──initialization: <null>
     │   │       ├──lowerBound: <null>
     │   │       └──upperBound: <null>
     │   │  {VariableDeclarationBlock direction=VAR_OUTPUT retain=false}
     │   │   └──variables: 
     │   │      {VariableDeclarationLine initialized=false bounded=false}
     │   │       ├──variables: 
     │   │       │  {Variable name=outputs_match reference=false ref:<null>}
     │   │       ├──type: 
     │   │       │  {ElementaryDT type=BOOL}
     │   │       ├──initialization: <null>
     │   │       ├──lowerBound: <null>
     │   │       └──upperBound: <null>
     │   │  {VariableDeclarationBlock direction=VAR retain=false}
     │   │   └──variables: 
     │   │      {VariableDeclarationLine initialized=false bounded=false}
     │   │       ├──variables: 
     │   │       │  {Variable name=fb_o reference=false ref:<null>}
     │   │       ├──type: 
     │   │       │  {FbOrUdtDT type:{NamedElement name=TYPE1_State}}
     │   │       ├──initialization: <null>
     │   │       ├──lowerBound: <null>
     │   │       └──upperBound: <null>
     │   │      {VariableDeclarationLine initialized=false bounded=false}
     │   │       ├──variables: 
     │   │       │  {Variable name=fb_10 reference=false ref:<null>}
     │   │       ├──type: 
     │   │       │  {FbOrUdtDT type:{NamedElement name=TYPE1_State_10}}
     │   │       ├──initialization: <null>
     │   │       ├──lowerBound: <null>
     │   │       └──upperBound: <null>
     │   │      {VariableDeclarationLine initialized=false bounded=false}
     │   │       ├──variables: 
     │   │       │  {Variable name=State_Type1_o reference=false ref:<null>}
     │   │       ├──type: 
     │   │       │  {ElementaryDT type=INT}
     │   │       ├──initialization: <null>
     │   │       ├──lowerBound: <null>
     │   │       └──upperBound: <null>
     │   │      {VariableDeclarationLine initialized=false bounded=false}
     │   │       ├──variables: 
     │   │       │  {Variable name=State_Type1_10 reference=false ref:<null>}
     │   │       ├──type: 
     │   │       │  {ElementaryDT type=INT}
     │   │       ├──initialization: <null>
     │   │       ├──lowerBound: <null>
     │   │       └──upperBound: <null>
     │   │      {VariableDeclarationLine initialized=false bounded=false}
     │   │       ├──variables: 
     │   │       │  {Variable name=Type1_SetupDone_o reference=false ref:<null>}
     │   │       ├──type: 
     │   │       │  {ElementaryDT type=BOOL}
     │   │       ├──initialization: <null>
     │   │       ├──lowerBound: <null>
     │   │       └──upperBound: <null>
     │   │      {VariableDeclarationLine initialized=false bounded=false}
     │   │       ├──variables: 
     │   │       │  {Variable name=Type1_SetupDone_10 reference=false ref:<null>}
     │   │       ├──type: 
     │   │       │  {ElementaryDT type=BOOL}
     │   │       ├──initialization: <null>
     │   │       ├──lowerBound: <null>
     │   │       └──upperBound: <null>
     │   │      {VariableDeclarationLine initialized=false bounded=false}
     │   │       ├──variables: 
     │   │       │  {Variable name=Communication_Test_Command_o reference=false ref:<null>}
     │   │       ├──type: 
     │   │       │  {ElementaryDT type=BOOL}
     │   │       ├──initialization: <null>
     │   │       ├──lowerBound: <null>
     │   │       └──upperBound: <null>
     │   │      {VariableDeclarationLine initialized=false bounded=false}
     │   │       ├──variables: 
     │   │       │  {Variable name=Communication_Test_Command_10 reference=false ref:<null>}
     │   │       ├──type: 
     │   │       │  {ElementaryDT type=BOOL}
     │   │       ├──initialization: <null>
     │   │       ├──lowerBound: <null>
     │   │       └──upperBound: <null>
     │   ├──constantDeclarations: <empty>
     │   └──labelDeclarations: <empty>
     └──statements: 
        {SclStatementList}
         └──statements: 
            {SclSubroutineCall hasExplicitDataBlock=false calledUnit:{NamedElement name=fb_o} dataBlock:<null>}
             └──callParameter: 
                {CallParameterList}
                 └──parameters: 
                    {NamedCallParameterItem assignmentOperator=:= parameter:{NamedElement name=Orientation_Valid}}
                     └──value: 
                        {DirectNamedRef ref:{NamedElement name=Orientation_Valid}}
                    {NamedCallParameterItem assignmentOperator=:= parameter:{NamedElement name=ComponentSetup_Done}}
                     └──value: 
                        {DirectNamedRef ref:{NamedElement name=ComponentSetup_Done}}
                    {NamedCallParameterItem assignmentOperator=:= parameter:{NamedElement name=AvailabilityChanged}}
                     └──value: 
                        {DirectNamedRef ref:{NamedElement name=AvailabilityChanged}}
                    {NamedCallParameterItem assignmentOperator=:= parameter:{NamedElement name=DemandAvailability}}
                     └──value: 
                        {DirectNamedRef ref:{NamedElement name=DemandAvailability}}
                    {NamedCallParameterItem assignmentOperator=:= parameter:{NamedElement name=CommandIn}}
                     └──value: 
                        {DirectNamedRef ref:{NamedElement name=CommandIn}}
                    {NamedCallParameterItem assignmentOperator=:= parameter:{NamedElement name=Sig2_from_Type2}}
                     └──value: 
                        {DirectNamedRef ref:{NamedElement name=Sig2_from_Type2}}
                    {NamedCallParameterItem assignmentOperator=:= parameter:{NamedElement name=Sig1_from_Type2}}
                     └──value: 
                        {DirectNamedRef ref:{NamedElement name=Sig1_from_Type2}}
                    {NamedCallParameterItem assignmentOperator=:= parameter:{NamedElement name=Unit_is_Type1}}
                     └──value: 
                        {DirectNamedRef ref:{NamedElement name=Unit_is_Type1}}
            {SclAssignmentStatement}
             ├──leftValue: 
             │  {DirectNamedRef ref:{NamedElement name=Type1_SetupDone_o}}
             └──rightValue: 
                {QualifiedRef}
                 ├──prefix: 
                 │  {DirectNamedRef ref:{NamedElement name=fb_o}}
                 └──ref: 
                    {DirectNamedRef ref:{NamedElement name=Type1_SetupDone}}
            {SclAssignmentStatement}
             ├──leftValue: 
             │  {DirectNamedRef ref:{NamedElement name=State_Type1_o}}
             └──rightValue: 
                {QualifiedRef}
                 ├──prefix: 
                 │  {DirectNamedRef ref:{NamedElement name=fb_o}}
                 └──ref: 
                    {DirectNamedRef ref:{NamedElement name=State_Type1}}
            {SclAssignmentStatement}
             ├──leftValue: 
             │  {DirectNamedRef ref:{NamedElement name=Communication_Test_Command_o}}
             └──rightValue: 
                {QualifiedRef}
                 ├──prefix: 
                 │  {DirectNamedRef ref:{NamedElement name=fb_o}}
                 └──ref: 
                    {DirectNamedRef ref:{NamedElement name=Communication_Test_Command}}
            {SclSubroutineCall hasExplicitDataBlock=false calledUnit:{NamedElement name=fb_10} dataBlock:<null>}
             └──callParameter: 
                {CallParameterList}
                 └──parameters: 
                    {NamedCallParameterItem assignmentOperator=:= parameter:{NamedElement name=Orientation_Valid}}
                     └──value: 
                        {DirectNamedRef ref:{NamedElement name=Orientation_Valid}}
                    {NamedCallParameterItem assignmentOperator=:= parameter:{NamedElement name=ComponentSetup_Done}}
                     └──value: 
                        {DirectNamedRef ref:{NamedElement name=ComponentSetup_Done}}
                    {NamedCallParameterItem assignmentOperator=:= parameter:{NamedElement name=AvailabilityChanged}}
                     └──value: 
                        {DirectNamedRef ref:{NamedElement name=AvailabilityChanged}}
                    {NamedCallParameterItem assignmentOperator=:= parameter:{NamedElement name=DemandAvailability}}
                     └──value: 
                        {DirectNamedRef ref:{NamedElement name=DemandAvailability}}
                    {NamedCallParameterItem assignmentOperator=:= parameter:{NamedElement name=CommandIn}}
                     └──value: 
                        {DirectNamedRef ref:{NamedElement name=CommandIn}}
                    {NamedCallParameterItem assignmentOperator=:= parameter:{NamedElement name=Sig2_from_Type2}}
                     └──value: 
                        {DirectNamedRef ref:{NamedElement name=Sig2_from_Type2}}
                    {NamedCallParameterItem assignmentOperator=:= parameter:{NamedElement name=Sig1_from_Type2}}
                     └──value: 
                        {DirectNamedRef ref:{NamedElement name=Sig1_from_Type2}}
                    {NamedCallParameterItem assignmentOperator=:= parameter:{NamedElement name=Unit_is_Type1}}
                     └──value: 
                        {DirectNamedRef ref:{NamedElement name=Unit_is_Type1}}
            {SclAssignmentStatement}
             ├──leftValue: 
             │  {DirectNamedRef ref:{NamedElement name=Type1_SetupDone_10}}
             └──rightValue: 
                {QualifiedRef}
                 ├──prefix: 
                 │  {DirectNamedRef ref:{NamedElement name=fb_10}}
                 └──ref: 
                    {DirectNamedRef ref:{NamedElement name=Type1_SetupDone}}
            {SclAssignmentStatement}
             ├──leftValue: 
             │  {DirectNamedRef ref:{NamedElement name=State_Type1_10}}
             └──rightValue: 
                {QualifiedRef}
                 ├──prefix: 
                 │  {DirectNamedRef ref:{NamedElement name=fb_10}}
                 └──ref: 
                    {DirectNamedRef ref:{NamedElement name=State_Type1}}
            {SclAssignmentStatement}
             ├──leftValue: 
             │  {DirectNamedRef ref:{NamedElement name=Communication_Test_Command_10}}
             └──rightValue: 
                {QualifiedRef}
                 ├──prefix: 
                 │  {DirectNamedRef ref:{NamedElement name=fb_10}}
                 └──ref: 
                    {DirectNamedRef ref:{NamedElement name=Communication_Test_Command}}
            {SclAssignmentStatement}
             ├──leftValue: 
             │  {DirectNamedRef ref:{NamedElement name=outputs_match}}
             └──rightValue: 
                {AndExpression opString=AND}
                 ├──left: 
                 │  {AndExpression opString=AND}
                 │   ├──left: 
                 │   │  {EqualityExpression operator==}
                 │   │   ├──left: 
                 │   │   │  {DirectNamedRef ref:{NamedElement name=Type1_SetupDone_o}}
                 │   │   └──right: 
                 │   │      {DirectNamedRef ref:{NamedElement name=Type1_SetupDone_10}}
                 │   └──right: 
                 │      {EqualityExpression operator==}
                 │       ├──left: 
                 │       │  {DirectNamedRef ref:{NamedElement name=State_Type1_o}}
                 │       └──right: 
                 │          {DirectNamedRef ref:{NamedElement name=State_Type1_10}}
                 └──right: 
                    {EqualityExpression operator==}
                     ├──left: 
                     │  {DirectNamedRef ref:{NamedElement name=Communication_Test_Command_o}}
                     └──right: 
                        {DirectNamedRef ref:{NamedElement name=Communication_Test_Command_10}}
    {FunctionBlock name=aggr_12 builtIn=false}
     ├──attributes: <null>
     ├──declarationSection: 
     │  {DeclarationSection}
     │   ├──variableDeclarations: 
     │   │  {VariableDeclarationBlock direction=VAR_INPUT retain=false}
     │   │   └──variables: 
     │   │      {VariableDeclarationLine initialized=false bounded=false}
     │   │       ├──variables: 
     │   │       │  {Variable name=DemandAvailability reference=false ref:<null>}
     │   │       ├──type: 
     │   │       │  {ElementaryDT type=BOOL}
     │   │       ├──initialization: <null>
     │   │       ├──lowerBound: <null>
     │   │       └──upperBound: <null>
     │   │      {VariableDeclarationLine initialized=false bounded=false}
     │   │       ├──variables: 
     │   │       │  {Variable name=AvailabilityChanged reference=false ref:<null>}
     │   │       ├──type: 
     │   │       │  {ElementaryDT type=BOOL}
     │   │       ├──initialization: <null>
     │   │       ├──lowerBound: <null>
     │   │       └──upperBound: <null>
     │   │      {VariableDeclarationLine initialized=false bounded=false}
     │   │       ├──variables: 
     │   │       │  {Variable name=ComponentSetup_Done reference=false ref:<null>}
     │   │       ├──type: 
     │   │       │  {ElementaryDT type=BOOL}
     │   │       ├──initialization: <null>
     │   │       ├──lowerBound: <null>
     │   │       └──upperBound: <null>
     │   │      {VariableDeclarationLine initialized=false bounded=false}
     │   │       ├──variables: 
     │   │       │  {Variable name=CommandIn reference=false ref:<null>}
     │   │       ├──type: 
     │   │       │  {ElementaryDT type=BYTE}
     │   │       ├──initialization: <null>
     │   │       ├──lowerBound: <null>
     │   │       └──upperBound: <null>
     │   │      {VariableDeclarationLine initialized=false bounded=false}
     │   │       ├──variables: 
     │   │       │  {Variable name=Unit_is_Type1 reference=false ref:<null>}
     │   │       ├──type: 
     │   │       │  {ElementaryDT type=BOOL}
     │   │       ├──initialization: <null>
     │   │       ├──lowerBound: <null>
     │   │       └──upperBound: <null>
     │   │      {VariableDeclarationLine initialized=false bounded=false}
     │   │       ├──variables: 
     │   │       │  {Variable name=Sig1_from_Type2 reference=false ref:<null>}
     │   │       ├──type: 
     │   │       │  {ElementaryDT type=BOOL}
     │   │       ├──initialization: <null>
     │   │       ├──lowerBound: <null>
     │   │       └──upperBound: <null>
     │   │      {VariableDeclarationLine initialized=false bounded=false}
     │   │       ├──variables: 
     │   │       │  {Variable name=Sig2_from_Type2 reference=false ref:<null>}
     │   │       ├──type: 
     │   │       │  {ElementaryDT type=BOOL}
     │   │       ├──initialization: <null>
     │   │       ├──lowerBound: <null>
     │   │       └──upperBound: <null>
     │   │      {VariableDeclarationLine initialized=false bounded=false}
     │   │       ├──variables: 
     │   │       │  {Variable name=Orientation_Valid reference=false ref:<null>}
     │   │       ├──type: 
     │   │       │  {ElementaryDT type=BOOL}
     │   │       ├──initialization: <null>
     │   │       ├──lowerBound: <null>
     │   │       └──upperBound: <null>
     │   │  {VariableDeclarationBlock direction=VAR_OUTPUT retain=false}
     │   │   └──variables: 
     │   │      {VariableDeclarationLine initialized=false bounded=false}
     │   │       ├──variables: 
     │   │       │  {Variable name=outputs_match reference=false ref:<null>}
     │   │       ├──type: 
     │   │       │  {ElementaryDT type=BOOL}
     │   │       ├──initialization: <null>
     │   │       ├──lowerBound: <null>
     │   │       └──upperBound: <null>
     │   │  {VariableDeclarationBlock direction=VAR retain=false}
     │   │   └──variables: 
     │   │      {VariableDeclarationLine initialized=false bounded=false}
     │   │       ├──variables: 
     │   │       │  {Variable name=fb_o reference=false ref:<null>}
     │   │       ├──type: 
     │   │       │  {FbOrUdtDT type:{NamedElement name=TYPE1_State}}
     │   │       ├──initialization: <null>
     │   │       ├──lowerBound: <null>
     │   │       └──upperBound: <null>
     │   │      {VariableDeclarationLine initialized=false bounded=false}
     │   │       ├──variables: 
     │   │       │  {Variable name=fb_12 reference=false ref:<null>}
     │   │       ├──type: 
     │   │       │  {FbOrUdtDT type:{NamedElement name=TYPE1_State_12}}
     │   │       ├──initialization: <null>
     │   │       ├──lowerBound: <null>
     │   │       └──upperBound: <null>
     │   │      {VariableDeclarationLine initialized=false bounded=false}
     │   │       ├──variables: 
     │   │       │  {Variable name=State_Type1_o reference=false ref:<null>}
     │   │       ├──type: 
     │   │       │  {ElementaryDT type=INT}
     │   │       ├──initialization: <null>
     │   │       ├──lowerBound: <null>
     │   │       └──upperBound: <null>
     │   │      {VariableDeclarationLine initialized=false bounded=false}
     │   │       ├──variables: 
     │   │       │  {Variable name=State_Type1_12 reference=false ref:<null>}
     │   │       ├──type: 
     │   │       │  {ElementaryDT type=INT}
     │   │       ├──initialization: <null>
     │   │       ├──lowerBound: <null>
     │   │       └──upperBound: <null>
     │   │      {VariableDeclarationLine initialized=false bounded=false}
     │   │       ├──variables: 
     │   │       │  {Variable name=Type1_SetupDone_o reference=false ref:<null>}
     │   │       ├──type: 
     │   │       │  {ElementaryDT type=BOOL}
     │   │       ├──initialization: <null>
     │   │       ├──lowerBound: <null>
     │   │       └──upperBound: <null>
     │   │      {VariableDeclarationLine initialized=false bounded=false}
     │   │       ├──variables: 
     │   │       │  {Variable name=Type1_SetupDone_12 reference=false ref:<null>}
     │   │       ├──type: 
     │   │       │  {ElementaryDT type=BOOL}
     │   │       ├──initialization: <null>
     │   │       ├──lowerBound: <null>
     │   │       └──upperBound: <null>
     │   │      {VariableDeclarationLine initialized=false bounded=false}
     │   │       ├──variables: 
     │   │       │  {Variable name=Communication_Test_Command_o reference=false ref:<null>}
     │   │       ├──type: 
     │   │       │  {ElementaryDT type=BOOL}
     │   │       ├──initialization: <null>
     │   │       ├──lowerBound: <null>
     │   │       └──upperBound: <null>
     │   │      {VariableDeclarationLine initialized=false bounded=false}
     │   │       ├──variables: 
     │   │       │  {Variable name=Communication_Test_Command_12 reference=false ref:<null>}
     │   │       ├──type: 
     │   │       │  {ElementaryDT type=BOOL}
     │   │       ├──initialization: <null>
     │   │       ├──lowerBound: <null>
     │   │       └──upperBound: <null>
     │   ├──constantDeclarations: <empty>
     │   └──labelDeclarations: <empty>
     └──statements: 
        {SclStatementList}
         └──statements: 
            {SclSubroutineCall hasExplicitDataBlock=false calledUnit:{NamedElement name=fb_o} dataBlock:<null>}
             └──callParameter: 
                {CallParameterList}
                 └──parameters: 
                    {NamedCallParameterItem assignmentOperator=:= parameter:{NamedElement name=Orientation_Valid}}
                     └──value: 
                        {DirectNamedRef ref:{NamedElement name=Orientation_Valid}}
                    {NamedCallParameterItem assignmentOperator=:= parameter:{NamedElement name=ComponentSetup_Done}}
                     └──value: 
                        {DirectNamedRef ref:{NamedElement name=ComponentSetup_Done}}
                    {NamedCallParameterItem assignmentOperator=:= parameter:{NamedElement name=AvailabilityChanged}}
                     └──value: 
                        {DirectNamedRef ref:{NamedElement name=AvailabilityChanged}}
                    {NamedCallParameterItem assignmentOperator=:= parameter:{NamedElement name=DemandAvailability}}
                     └──value: 
                        {DirectNamedRef ref:{NamedElement name=DemandAvailability}}
                    {NamedCallParameterItem assignmentOperator=:= parameter:{NamedElement name=CommandIn}}
                     └──value: 
                        {DirectNamedRef ref:{NamedElement name=CommandIn}}
                    {NamedCallParameterItem assignmentOperator=:= parameter:{NamedElement name=Sig2_from_Type2}}
                     └──value: 
                        {DirectNamedRef ref:{NamedElement name=Sig2_from_Type2}}
                    {NamedCallParameterItem assignmentOperator=:= parameter:{NamedElement name=Sig1_from_Type2}}
                     └──value: 
                        {DirectNamedRef ref:{NamedElement name=Sig1_from_Type2}}
                    {NamedCallParameterItem assignmentOperator=:= parameter:{NamedElement name=Unit_is_Type1}}
                     └──value: 
                        {DirectNamedRef ref:{NamedElement name=Unit_is_Type1}}
            {SclAssignmentStatement}
             ├──leftValue: 
             │  {DirectNamedRef ref:{NamedElement name=Type1_SetupDone_o}}
             └──rightValue: 
                {QualifiedRef}
                 ├──prefix: 
                 │  {DirectNamedRef ref:{NamedElement name=fb_o}}
                 └──ref: 
                    {DirectNamedRef ref:{NamedElement name=Type1_SetupDone}}
            {SclAssignmentStatement}
             ├──leftValue: 
             │  {DirectNamedRef ref:{NamedElement name=State_Type1_o}}
             └──rightValue: 
                {QualifiedRef}
                 ├──prefix: 
                 │  {DirectNamedRef ref:{NamedElement name=fb_o}}
                 └──ref: 
                    {DirectNamedRef ref:{NamedElement name=State_Type1}}
            {SclAssignmentStatement}
             ├──leftValue: 
             │  {DirectNamedRef ref:{NamedElement name=Communication_Test_Command_o}}
             └──rightValue: 
                {QualifiedRef}
                 ├──prefix: 
                 │  {DirectNamedRef ref:{NamedElement name=fb_o}}
                 └──ref: 
                    {DirectNamedRef ref:{NamedElement name=Communication_Test_Command}}
            {SclSubroutineCall hasExplicitDataBlock=false calledUnit:{NamedElement name=fb_12} dataBlock:<null>}
             └──callParameter: 
                {CallParameterList}
                 └──parameters: 
                    {NamedCallParameterItem assignmentOperator=:= parameter:{NamedElement name=Orientation_Valid}}
                     └──value: 
                        {DirectNamedRef ref:{NamedElement name=Orientation_Valid}}
                    {NamedCallParameterItem assignmentOperator=:= parameter:{NamedElement name=ComponentSetup_Done}}
                     └──value: 
                        {DirectNamedRef ref:{NamedElement name=ComponentSetup_Done}}
                    {NamedCallParameterItem assignmentOperator=:= parameter:{NamedElement name=AvailabilityChanged}}
                     └──value: 
                        {DirectNamedRef ref:{NamedElement name=AvailabilityChanged}}
                    {NamedCallParameterItem assignmentOperator=:= parameter:{NamedElement name=DemandAvailability}}
                     └──value: 
                        {DirectNamedRef ref:{NamedElement name=DemandAvailability}}
                    {NamedCallParameterItem assignmentOperator=:= parameter:{NamedElement name=CommandIn}}
                     └──value: 
                        {DirectNamedRef ref:{NamedElement name=CommandIn}}
                    {NamedCallParameterItem assignmentOperator=:= parameter:{NamedElement name=Sig2_from_Type2}}
                     └──value: 
                        {DirectNamedRef ref:{NamedElement name=Sig2_from_Type2}}
                    {NamedCallParameterItem assignmentOperator=:= parameter:{NamedElement name=Sig1_from_Type2}}
                     └──value: 
                        {DirectNamedRef ref:{NamedElement name=Sig1_from_Type2}}
                    {NamedCallParameterItem assignmentOperator=:= parameter:{NamedElement name=Unit_is_Type1}}
                     └──value: 
                        {DirectNamedRef ref:{NamedElement name=Unit_is_Type1}}
            {SclAssignmentStatement}
             ├──leftValue: 
             │  {DirectNamedRef ref:{NamedElement name=Type1_SetupDone_12}}
             └──rightValue: 
                {QualifiedRef}
                 ├──prefix: 
                 │  {DirectNamedRef ref:{NamedElement name=fb_12}}
                 └──ref: 
                    {DirectNamedRef ref:{NamedElement name=Type1_SetupDone}}
            {SclAssignmentStatement}
             ├──leftValue: 
             │  {DirectNamedRef ref:{NamedElement name=State_Type1_12}}
             └──rightValue: 
                {QualifiedRef}
                 ├──prefix: 
                 │  {DirectNamedRef ref:{NamedElement name=fb_12}}
                 └──ref: 
                    {DirectNamedRef ref:{NamedElement name=State_Type1}}
            {SclAssignmentStatement}
             ├──leftValue: 
             │  {DirectNamedRef ref:{NamedElement name=Communication_Test_Command_12}}
             └──rightValue: 
                {QualifiedRef}
                 ├──prefix: 
                 │  {DirectNamedRef ref:{NamedElement name=fb_12}}
                 └──ref: 
                    {DirectNamedRef ref:{NamedElement name=Communication_Test_Command}}
            {SclAssignmentStatement}
             ├──leftValue: 
             │  {DirectNamedRef ref:{NamedElement name=outputs_match}}
             └──rightValue: 
                {AndExpression opString=AND}
                 ├──left: 
                 │  {AndExpression opString=AND}
                 │   ├──left: 
                 │   │  {EqualityExpression operator==}
                 │   │   ├──left: 
                 │   │   │  {DirectNamedRef ref:{NamedElement name=Type1_SetupDone_o}}
                 │   │   └──right: 
                 │   │      {DirectNamedRef ref:{NamedElement name=Type1_SetupDone_12}}
                 │   └──right: 
                 │      {EqualityExpression operator==}
                 │       ├──left: 
                 │       │  {DirectNamedRef ref:{NamedElement name=State_Type1_o}}
                 │       └──right: 
                 │          {DirectNamedRef ref:{NamedElement name=State_Type1_12}}
                 └──right: 
                    {EqualityExpression operator==}
                     ├──left: 
                     │  {DirectNamedRef ref:{NamedElement name=Communication_Test_Command_o}}
                     └──right: 
                        {DirectNamedRef ref:{NamedElement name=Communication_Test_Command_12}}
    {FunctionBlock name=aggr_14 builtIn=false}
     ├──attributes: <null>
     ├──declarationSection: 
     │  {DeclarationSection}
     │   ├──variableDeclarations: 
     │   │  {VariableDeclarationBlock direction=VAR_INPUT retain=false}
     │   │   └──variables: 
     │   │      {VariableDeclarationLine initialized=false bounded=false}
     │   │       ├──variables: 
     │   │       │  {Variable name=DemandAvailability reference=false ref:<null>}
     │   │       ├──type: 
     │   │       │  {ElementaryDT type=BOOL}
     │   │       ├──initialization: <null>
     │   │       ├──lowerBound: <null>
     │   │       └──upperBound: <null>
     │   │      {VariableDeclarationLine initialized=false bounded=false}
     │   │       ├──variables: 
     │   │       │  {Variable name=AvailabilityChanged reference=false ref:<null>}
     │   │       ├──type: 
     │   │       │  {ElementaryDT type=BOOL}
     │   │       ├──initialization: <null>
     │   │       ├──lowerBound: <null>
     │   │       └──upperBound: <null>
     │   │      {VariableDeclarationLine initialized=false bounded=false}
     │   │       ├──variables: 
     │   │       │  {Variable name=ComponentSetup_Done reference=false ref:<null>}
     │   │       ├──type: 
     │   │       │  {ElementaryDT type=BOOL}
     │   │       ├──initialization: <null>
     │   │       ├──lowerBound: <null>
     │   │       └──upperBound: <null>
     │   │      {VariableDeclarationLine initialized=false bounded=false}
     │   │       ├──variables: 
     │   │       │  {Variable name=CommandIn reference=false ref:<null>}
     │   │       ├──type: 
     │   │       │  {ElementaryDT type=BYTE}
     │   │       ├──initialization: <null>
     │   │       ├──lowerBound: <null>
     │   │       └──upperBound: <null>
     │   │      {VariableDeclarationLine initialized=false bounded=false}
     │   │       ├──variables: 
     │   │       │  {Variable name=Unit_is_Type1 reference=false ref:<null>}
     │   │       ├──type: 
     │   │       │  {ElementaryDT type=BOOL}
     │   │       ├──initialization: <null>
     │   │       ├──lowerBound: <null>
     │   │       └──upperBound: <null>
     │   │      {VariableDeclarationLine initialized=false bounded=false}
     │   │       ├──variables: 
     │   │       │  {Variable name=Sig1_from_Type2 reference=false ref:<null>}
     │   │       ├──type: 
     │   │       │  {ElementaryDT type=BOOL}
     │   │       ├──initialization: <null>
     │   │       ├──lowerBound: <null>
     │   │       └──upperBound: <null>
     │   │      {VariableDeclarationLine initialized=false bounded=false}
     │   │       ├──variables: 
     │   │       │  {Variable name=Sig2_from_Type2 reference=false ref:<null>}
     │   │       ├──type: 
     │   │       │  {ElementaryDT type=BOOL}
     │   │       ├──initialization: <null>
     │   │       ├──lowerBound: <null>
     │   │       └──upperBound: <null>
     │   │      {VariableDeclarationLine initialized=false bounded=false}
     │   │       ├──variables: 
     │   │       │  {Variable name=Orientation_Valid reference=false ref:<null>}
     │   │       ├──type: 
     │   │       │  {ElementaryDT type=BOOL}
     │   │       ├──initialization: <null>
     │   │       ├──lowerBound: <null>
     │   │       └──upperBound: <null>
     │   │  {VariableDeclarationBlock direction=VAR_OUTPUT retain=false}
     │   │   └──variables: 
     │   │      {VariableDeclarationLine initialized=false bounded=false}
     │   │       ├──variables: 
     │   │       │  {Variable name=outputs_match reference=false ref:<null>}
     │   │       ├──type: 
     │   │       │  {ElementaryDT type=BOOL}
     │   │       ├──initialization: <null>
     │   │       ├──lowerBound: <null>
     │   │       └──upperBound: <null>
     │   │  {VariableDeclarationBlock direction=VAR retain=false}
     │   │   └──variables: 
     │   │      {VariableDeclarationLine initialized=false bounded=false}
     │   │       ├──variables: 
     │   │       │  {Variable name=fb_o reference=false ref:<null>}
     │   │       ├──type: 
     │   │       │  {FbOrUdtDT type:{NamedElement name=TYPE1_State}}
     │   │       ├──initialization: <null>
     │   │       ├──lowerBound: <null>
     │   │       └──upperBound: <null>
     │   │      {VariableDeclarationLine initialized=false bounded=false}
     │   │       ├──variables: 
     │   │       │  {Variable name=fb_14 reference=false ref:<null>}
     │   │       ├──type: 
     │   │       │  {FbOrUdtDT type:{NamedElement name=TYPE1_State_14}}
     │   │       ├──initialization: <null>
     │   │       ├──lowerBound: <null>
     │   │       └──upperBound: <null>
     │   │      {VariableDeclarationLine initialized=false bounded=false}
     │   │       ├──variables: 
     │   │       │  {Variable name=State_Type1_o reference=false ref:<null>}
     │   │       ├──type: 
     │   │       │  {ElementaryDT type=INT}
     │   │       ├──initialization: <null>
     │   │       ├──lowerBound: <null>
     │   │       └──upperBound: <null>
     │   │      {VariableDeclarationLine initialized=false bounded=false}
     │   │       ├──variables: 
     │   │       │  {Variable name=State_Type1_14 reference=false ref:<null>}
     │   │       ├──type: 
     │   │       │  {ElementaryDT type=INT}
     │   │       ├──initialization: <null>
     │   │       ├──lowerBound: <null>
     │   │       └──upperBound: <null>
     │   │      {VariableDeclarationLine initialized=false bounded=false}
     │   │       ├──variables: 
     │   │       │  {Variable name=Type1_SetupDone_o reference=false ref:<null>}
     │   │       ├──type: 
     │   │       │  {ElementaryDT type=BOOL}
     │   │       ├──initialization: <null>
     │   │       ├──lowerBound: <null>
     │   │       └──upperBound: <null>
     │   │      {VariableDeclarationLine initialized=false bounded=false}
     │   │       ├──variables: 
     │   │       │  {Variable name=Type1_SetupDone_14 reference=false ref:<null>}
     │   │       ├──type: 
     │   │       │  {ElementaryDT type=BOOL}
     │   │       ├──initialization: <null>
     │   │       ├──lowerBound: <null>
     │   │       └──upperBound: <null>
     │   │      {VariableDeclarationLine initialized=false bounded=false}
     │   │       ├──variables: 
     │   │       │  {Variable name=Communication_Test_Command_o reference=false ref:<null>}
     │   │       ├──type: 
     │   │       │  {ElementaryDT type=BOOL}
     │   │       ├──initialization: <null>
     │   │       ├──lowerBound: <null>
     │   │       └──upperBound: <null>
     │   │      {VariableDeclarationLine initialized=false bounded=false}
     │   │       ├──variables: 
     │   │       │  {Variable name=Communication_Test_Command_14 reference=false ref:<null>}
     │   │       ├──type: 
     │   │       │  {ElementaryDT type=BOOL}
     │   │       ├──initialization: <null>
     │   │       ├──lowerBound: <null>
     │   │       └──upperBound: <null>
     │   ├──constantDeclarations: <empty>
     │   └──labelDeclarations: <empty>
     └──statements: 
        {SclStatementList}
         └──statements: 
            {SclSubroutineCall hasExplicitDataBlock=false calledUnit:{NamedElement name=fb_o} dataBlock:<null>}
             └──callParameter: 
                {CallParameterList}
                 └──parameters: 
                    {NamedCallParameterItem assignmentOperator=:= parameter:{NamedElement name=Orientation_Valid}}
                     └──value: 
                        {DirectNamedRef ref:{NamedElement name=Orientation_Valid}}
                    {NamedCallParameterItem assignmentOperator=:= parameter:{NamedElement name=ComponentSetup_Done}}
                     └──value: 
                        {DirectNamedRef ref:{NamedElement name=ComponentSetup_Done}}
                    {NamedCallParameterItem assignmentOperator=:= parameter:{NamedElement name=AvailabilityChanged}}
                     └──value: 
                        {DirectNamedRef ref:{NamedElement name=AvailabilityChanged}}
                    {NamedCallParameterItem assignmentOperator=:= parameter:{NamedElement name=DemandAvailability}}
                     └──value: 
                        {DirectNamedRef ref:{NamedElement name=DemandAvailability}}
                    {NamedCallParameterItem assignmentOperator=:= parameter:{NamedElement name=CommandIn}}
                     └──value: 
                        {DirectNamedRef ref:{NamedElement name=CommandIn}}
                    {NamedCallParameterItem assignmentOperator=:= parameter:{NamedElement name=Sig2_from_Type2}}
                     └──value: 
                        {DirectNamedRef ref:{NamedElement name=Sig2_from_Type2}}
                    {NamedCallParameterItem assignmentOperator=:= parameter:{NamedElement name=Sig1_from_Type2}}
                     └──value: 
                        {DirectNamedRef ref:{NamedElement name=Sig1_from_Type2}}
                    {NamedCallParameterItem assignmentOperator=:= parameter:{NamedElement name=Unit_is_Type1}}
                     └──value: 
                        {DirectNamedRef ref:{NamedElement name=Unit_is_Type1}}
            {SclAssignmentStatement}
             ├──leftValue: 
             │  {DirectNamedRef ref:{NamedElement name=Type1_SetupDone_o}}
             └──rightValue: 
                {QualifiedRef}
                 ├──prefix: 
                 │  {DirectNamedRef ref:{NamedElement name=fb_o}}
                 └──ref: 
                    {DirectNamedRef ref:{NamedElement name=Type1_SetupDone}}
            {SclAssignmentStatement}
             ├──leftValue: 
             │  {DirectNamedRef ref:{NamedElement name=State_Type1_o}}
             └──rightValue: 
                {QualifiedRef}
                 ├──prefix: 
                 │  {DirectNamedRef ref:{NamedElement name=fb_o}}
                 └──ref: 
                    {DirectNamedRef ref:{NamedElement name=State_Type1}}
            {SclAssignmentStatement}
             ├──leftValue: 
             │  {DirectNamedRef ref:{NamedElement name=Communication_Test_Command_o}}
             └──rightValue: 
                {QualifiedRef}
                 ├──prefix: 
                 │  {DirectNamedRef ref:{NamedElement name=fb_o}}
                 └──ref: 
                    {DirectNamedRef ref:{NamedElement name=Communication_Test_Command}}
            {SclSubroutineCall hasExplicitDataBlock=false calledUnit:{NamedElement name=fb_14} dataBlock:<null>}
             └──callParameter: 
                {CallParameterList}
                 └──parameters: 
                    {NamedCallParameterItem assignmentOperator=:= parameter:{NamedElement name=Orientation_Valid}}
                     └──value: 
                        {DirectNamedRef ref:{NamedElement name=Orientation_Valid}}
                    {NamedCallParameterItem assignmentOperator=:= parameter:{NamedElement name=ComponentSetup_Done}}
                     └──value: 
                        {DirectNamedRef ref:{NamedElement name=ComponentSetup_Done}}
                    {NamedCallParameterItem assignmentOperator=:= parameter:{NamedElement name=AvailabilityChanged}}
                     └──value: 
                        {DirectNamedRef ref:{NamedElement name=AvailabilityChanged}}
                    {NamedCallParameterItem assignmentOperator=:= parameter:{NamedElement name=DemandAvailability}}
                     └──value: 
                        {DirectNamedRef ref:{NamedElement name=DemandAvailability}}
                    {NamedCallParameterItem assignmentOperator=:= parameter:{NamedElement name=CommandIn}}
                     └──value: 
                        {DirectNamedRef ref:{NamedElement name=CommandIn}}
                    {NamedCallParameterItem assignmentOperator=:= parameter:{NamedElement name=Sig2_from_Type2}}
                     └──value: 
                        {DirectNamedRef ref:{NamedElement name=Sig2_from_Type2}}
                    {NamedCallParameterItem assignmentOperator=:= parameter:{NamedElement name=Sig1_from_Type2}}
                     └──value: 
                        {DirectNamedRef ref:{NamedElement name=Sig1_from_Type2}}
                    {NamedCallParameterItem assignmentOperator=:= parameter:{NamedElement name=Unit_is_Type1}}
                     └──value: 
                        {DirectNamedRef ref:{NamedElement name=Unit_is_Type1}}
            {SclAssignmentStatement}
             ├──leftValue: 
             │  {DirectNamedRef ref:{NamedElement name=Type1_SetupDone_14}}
             └──rightValue: 
                {QualifiedRef}
                 ├──prefix: 
                 │  {DirectNamedRef ref:{NamedElement name=fb_14}}
                 └──ref: 
                    {DirectNamedRef ref:{NamedElement name=Type1_SetupDone}}
            {SclAssignmentStatement}
             ├──leftValue: 
             │  {DirectNamedRef ref:{NamedElement name=State_Type1_14}}
             └──rightValue: 
                {QualifiedRef}
                 ├──prefix: 
                 │  {DirectNamedRef ref:{NamedElement name=fb_14}}
                 └──ref: 
                    {DirectNamedRef ref:{NamedElement name=State_Type1}}
            {SclAssignmentStatement}
             ├──leftValue: 
             │  {DirectNamedRef ref:{NamedElement name=Communication_Test_Command_14}}
             └──rightValue: 
                {QualifiedRef}
                 ├──prefix: 
                 │  {DirectNamedRef ref:{NamedElement name=fb_14}}
                 └──ref: 
                    {DirectNamedRef ref:{NamedElement name=Communication_Test_Command}}
            {SclAssignmentStatement}
             ├──leftValue: 
             │  {DirectNamedRef ref:{NamedElement name=outputs_match}}
             └──rightValue: 
                {AndExpression opString=AND}
                 ├──left: 
                 │  {AndExpression opString=AND}
                 │   ├──left: 
                 │   │  {EqualityExpression operator==}
                 │   │   ├──left: 
                 │   │   │  {DirectNamedRef ref:{NamedElement name=Type1_SetupDone_o}}
                 │   │   └──right: 
                 │   │      {DirectNamedRef ref:{NamedElement name=Type1_SetupDone_14}}
                 │   └──right: 
                 │      {EqualityExpression operator==}
                 │       ├──left: 
                 │       │  {DirectNamedRef ref:{NamedElement name=State_Type1_o}}
                 │       └──right: 
                 │          {DirectNamedRef ref:{NamedElement name=State_Type1_14}}
                 └──right: 
                    {EqualityExpression operator==}
                     ├──left: 
                     │  {DirectNamedRef ref:{NamedElement name=Communication_Test_Command_o}}
                     └──right: 
                        {DirectNamedRef ref:{NamedElement name=Communication_Test_Command_14}}
    {FunctionBlock name=aggr_34 builtIn=false}
     ├──attributes: <null>
     ├──declarationSection: 
     │  {DeclarationSection}
     │   ├──variableDeclarations: 
     │   │  {VariableDeclarationBlock direction=VAR_INPUT retain=false}
     │   │   └──variables: 
     │   │      {VariableDeclarationLine initialized=false bounded=false}
     │   │       ├──variables: 
     │   │       │  {Variable name=DemandAvailability reference=false ref:<null>}
     │   │       ├──type: 
     │   │       │  {ElementaryDT type=BOOL}
     │   │       ├──initialization: <null>
     │   │       ├──lowerBound: <null>
     │   │       └──upperBound: <null>
     │   │      {VariableDeclarationLine initialized=false bounded=false}
     │   │       ├──variables: 
     │   │       │  {Variable name=AvailabilityChanged reference=false ref:<null>}
     │   │       ├──type: 
     │   │       │  {ElementaryDT type=BOOL}
     │   │       ├──initialization: <null>
     │   │       ├──lowerBound: <null>
     │   │       └──upperBound: <null>
     │   │      {VariableDeclarationLine initialized=false bounded=false}
     │   │       ├──variables: 
     │   │       │  {Variable name=ComponentSetup_Done reference=false ref:<null>}
     │   │       ├──type: 
     │   │       │  {ElementaryDT type=BOOL}
     │   │       ├──initialization: <null>
     │   │       ├──lowerBound: <null>
     │   │       └──upperBound: <null>
     │   │      {VariableDeclarationLine initialized=false bounded=false}
     │   │       ├──variables: 
     │   │       │  {Variable name=CommandIn reference=false ref:<null>}
     │   │       ├──type: 
     │   │       │  {ElementaryDT type=BYTE}
     │   │       ├──initialization: <null>
     │   │       ├──lowerBound: <null>
     │   │       └──upperBound: <null>
     │   │      {VariableDeclarationLine initialized=false bounded=false}
     │   │       ├──variables: 
     │   │       │  {Variable name=Unit_is_Type1 reference=false ref:<null>}
     │   │       ├──type: 
     │   │       │  {ElementaryDT type=BOOL}
     │   │       ├──initialization: <null>
     │   │       ├──lowerBound: <null>
     │   │       └──upperBound: <null>
     │   │      {VariableDeclarationLine initialized=false bounded=false}
     │   │       ├──variables: 
     │   │       │  {Variable name=Sig1_from_Type2 reference=false ref:<null>}
     │   │       ├──type: 
     │   │       │  {ElementaryDT type=BOOL}
     │   │       ├──initialization: <null>
     │   │       ├──lowerBound: <null>
     │   │       └──upperBound: <null>
     │   │      {VariableDeclarationLine initialized=false bounded=false}
     │   │       ├──variables: 
     │   │       │  {Variable name=Sig2_from_Type2 reference=false ref:<null>}
     │   │       ├──type: 
     │   │       │  {ElementaryDT type=BOOL}
     │   │       ├──initialization: <null>
     │   │       ├──lowerBound: <null>
     │   │       └──upperBound: <null>
     │   │      {VariableDeclarationLine initialized=false bounded=false}
     │   │       ├──variables: 
     │   │       │  {Variable name=Orientation_Valid reference=false ref:<null>}
     │   │       ├──type: 
     │   │       │  {ElementaryDT type=BOOL}
     │   │       ├──initialization: <null>
     │   │       ├──lowerBound: <null>
     │   │       └──upperBound: <null>
     │   │  {VariableDeclarationBlock direction=VAR_OUTPUT retain=false}
     │   │   └──variables: 
     │   │      {VariableDeclarationLine initialized=false bounded=false}
     │   │       ├──variables: 
     │   │       │  {Variable name=outputs_match reference=false ref:<null>}
     │   │       ├──type: 
     │   │       │  {ElementaryDT type=BOOL}
     │   │       ├──initialization: <null>
     │   │       ├──lowerBound: <null>
     │   │       └──upperBound: <null>
     │   │  {VariableDeclarationBlock direction=VAR retain=false}
     │   │   └──variables: 
     │   │      {VariableDeclarationLine initialized=false bounded=false}
     │   │       ├──variables: 
     │   │       │  {Variable name=fb_o reference=false ref:<null>}
     │   │       ├──type: 
     │   │       │  {FbOrUdtDT type:{NamedElement name=TYPE1_State}}
     │   │       ├──initialization: <null>
     │   │       ├──lowerBound: <null>
     │   │       └──upperBound: <null>
     │   │      {VariableDeclarationLine initialized=false bounded=false}
     │   │       ├──variables: 
     │   │       │  {Variable name=fb_34 reference=false ref:<null>}
     │   │       ├──type: 
     │   │       │  {FbOrUdtDT type:{NamedElement name=TYPE1_State_34}}
     │   │       ├──initialization: <null>
     │   │       ├──lowerBound: <null>
     │   │       └──upperBound: <null>
     │   │      {VariableDeclarationLine initialized=false bounded=false}
     │   │       ├──variables: 
     │   │       │  {Variable name=State_Type1_o reference=false ref:<null>}
     │   │       ├──type: 
     │   │       │  {ElementaryDT type=INT}
     │   │       ├──initialization: <null>
     │   │       ├──lowerBound: <null>
     │   │       └──upperBound: <null>
     │   │      {VariableDeclarationLine initialized=false bounded=false}
     │   │       ├──variables: 
     │   │       │  {Variable name=State_Type1_34 reference=false ref:<null>}
     │   │       ├──type: 
     │   │       │  {ElementaryDT type=INT}
     │   │       ├──initialization: <null>
     │   │       ├──lowerBound: <null>
     │   │       └──upperBound: <null>
     │   │      {VariableDeclarationLine initialized=false bounded=false}
     │   │       ├──variables: 
     │   │       │  {Variable name=Type1_SetupDone_o reference=false ref:<null>}
     │   │       ├──type: 
     │   │       │  {ElementaryDT type=BOOL}
     │   │       ├──initialization: <null>
     │   │       ├──lowerBound: <null>
     │   │       └──upperBound: <null>
     │   │      {VariableDeclarationLine initialized=false bounded=false}
     │   │       ├──variables: 
     │   │       │  {Variable name=Type1_SetupDone_34 reference=false ref:<null>}
     │   │       ├──type: 
     │   │       │  {ElementaryDT type=BOOL}
     │   │       ├──initialization: <null>
     │   │       ├──lowerBound: <null>
     │   │       └──upperBound: <null>
     │   │      {VariableDeclarationLine initialized=false bounded=false}
     │   │       ├──variables: 
     │   │       │  {Variable name=Communication_Test_Command_o reference=false ref:<null>}
     │   │       ├──type: 
     │   │       │  {ElementaryDT type=BOOL}
     │   │       ├──initialization: <null>
     │   │       ├──lowerBound: <null>
     │   │       └──upperBound: <null>
     │   │      {VariableDeclarationLine initialized=false bounded=false}
     │   │       ├──variables: 
     │   │       │  {Variable name=Communication_Test_Command_34 reference=false ref:<null>}
     │   │       ├──type: 
     │   │       │  {ElementaryDT type=BOOL}
     │   │       ├──initialization: <null>
     │   │       ├──lowerBound: <null>
     │   │       └──upperBound: <null>
     │   ├──constantDeclarations: <empty>
     │   └──labelDeclarations: <empty>
     └──statements: 
        {SclStatementList}
         └──statements: 
            {SclSubroutineCall hasExplicitDataBlock=false calledUnit:{NamedElement name=fb_o} dataBlock:<null>}
             └──callParameter: 
                {CallParameterList}
                 └──parameters: 
                    {NamedCallParameterItem assignmentOperator=:= parameter:{NamedElement name=Orientation_Valid}}
                     └──value: 
                        {DirectNamedRef ref:{NamedElement name=Orientation_Valid}}
                    {NamedCallParameterItem assignmentOperator=:= parameter:{NamedElement name=ComponentSetup_Done}}
                     └──value: 
                        {DirectNamedRef ref:{NamedElement name=ComponentSetup_Done}}
                    {NamedCallParameterItem assignmentOperator=:= parameter:{NamedElement name=AvailabilityChanged}}
                     └──value: 
                        {DirectNamedRef ref:{NamedElement name=AvailabilityChanged}}
                    {NamedCallParameterItem assignmentOperator=:= parameter:{NamedElement name=DemandAvailability}}
                     └──value: 
                        {DirectNamedRef ref:{NamedElement name=DemandAvailability}}
                    {NamedCallParameterItem assignmentOperator=:= parameter:{NamedElement name=CommandIn}}
                     └──value: 
                        {DirectNamedRef ref:{NamedElement name=CommandIn}}
                    {NamedCallParameterItem assignmentOperator=:= parameter:{NamedElement name=Sig2_from_Type2}}
                     └──value: 
                        {DirectNamedRef ref:{NamedElement name=Sig2_from_Type2}}
                    {NamedCallParameterItem assignmentOperator=:= parameter:{NamedElement name=Sig1_from_Type2}}
                     └──value: 
                        {DirectNamedRef ref:{NamedElement name=Sig1_from_Type2}}
                    {NamedCallParameterItem assignmentOperator=:= parameter:{NamedElement name=Unit_is_Type1}}
                     └──value: 
                        {DirectNamedRef ref:{NamedElement name=Unit_is_Type1}}
            {SclAssignmentStatement}
             ├──leftValue: 
             │  {DirectNamedRef ref:{NamedElement name=Type1_SetupDone_o}}
             └──rightValue: 
                {QualifiedRef}
                 ├──prefix: 
                 │  {DirectNamedRef ref:{NamedElement name=fb_o}}
                 └──ref: 
                    {DirectNamedRef ref:{NamedElement name=Type1_SetupDone}}
            {SclAssignmentStatement}
             ├──leftValue: 
             │  {DirectNamedRef ref:{NamedElement name=State_Type1_o}}
             └──rightValue: 
                {QualifiedRef}
                 ├──prefix: 
                 │  {DirectNamedRef ref:{NamedElement name=fb_o}}
                 └──ref: 
                    {DirectNamedRef ref:{NamedElement name=State_Type1}}
            {SclAssignmentStatement}
             ├──leftValue: 
             │  {DirectNamedRef ref:{NamedElement name=Communication_Test_Command_o}}
             └──rightValue: 
                {QualifiedRef}
                 ├──prefix: 
                 │  {DirectNamedRef ref:{NamedElement name=fb_o}}
                 └──ref: 
                    {DirectNamedRef ref:{NamedElement name=Communication_Test_Command}}
            {SclSubroutineCall hasExplicitDataBlock=false calledUnit:{NamedElement name=fb_34} dataBlock:<null>}
             └──callParameter: 
                {CallParameterList}
                 └──parameters: 
                    {NamedCallParameterItem assignmentOperator=:= parameter:{NamedElement name=Orientation_Valid}}
                     └──value: 
                        {DirectNamedRef ref:{NamedElement name=Orientation_Valid}}
                    {NamedCallParameterItem assignmentOperator=:= parameter:{NamedElement name=ComponentSetup_Done}}
                     └──value: 
                        {DirectNamedRef ref:{NamedElement name=ComponentSetup_Done}}
                    {NamedCallParameterItem assignmentOperator=:= parameter:{NamedElement name=AvailabilityChanged}}
                     └──value: 
                        {DirectNamedRef ref:{NamedElement name=AvailabilityChanged}}
                    {NamedCallParameterItem assignmentOperator=:= parameter:{NamedElement name=DemandAvailability}}
                     └──value: 
                        {DirectNamedRef ref:{NamedElement name=DemandAvailability}}
                    {NamedCallParameterItem assignmentOperator=:= parameter:{NamedElement name=CommandIn}}
                     └──value: 
                        {DirectNamedRef ref:{NamedElement name=CommandIn}}
                    {NamedCallParameterItem assignmentOperator=:= parameter:{NamedElement name=Sig2_from_Type2}}
                     └──value: 
                        {DirectNamedRef ref:{NamedElement name=Sig2_from_Type2}}
                    {NamedCallParameterItem assignmentOperator=:= parameter:{NamedElement name=Sig1_from_Type2}}
                     └──value: 
                        {DirectNamedRef ref:{NamedElement name=Sig1_from_Type2}}
                    {NamedCallParameterItem assignmentOperator=:= parameter:{NamedElement name=Unit_is_Type1}}
                     └──value: 
                        {DirectNamedRef ref:{NamedElement name=Unit_is_Type1}}
            {SclAssignmentStatement}
             ├──leftValue: 
             │  {DirectNamedRef ref:{NamedElement name=Type1_SetupDone_34}}
             └──rightValue: 
                {QualifiedRef}
                 ├──prefix: 
                 │  {DirectNamedRef ref:{NamedElement name=fb_34}}
                 └──ref: 
                    {DirectNamedRef ref:{NamedElement name=Type1_SetupDone}}
            {SclAssignmentStatement}
             ├──leftValue: 
             │  {DirectNamedRef ref:{NamedElement name=State_Type1_34}}
             └──rightValue: 
                {QualifiedRef}
                 ├──prefix: 
                 │  {DirectNamedRef ref:{NamedElement name=fb_34}}
                 └──ref: 
                    {DirectNamedRef ref:{NamedElement name=State_Type1}}
            {SclAssignmentStatement}
             ├──leftValue: 
             │  {DirectNamedRef ref:{NamedElement name=Communication_Test_Command_34}}
             └──rightValue: 
                {QualifiedRef}
                 ├──prefix: 
                 │  {DirectNamedRef ref:{NamedElement name=fb_34}}
                 └──ref: 
                    {DirectNamedRef ref:{NamedElement name=Communication_Test_Command}}
            {SclAssignmentStatement}
             ├──leftValue: 
             │  {DirectNamedRef ref:{NamedElement name=outputs_match}}
             └──rightValue: 
                {AndExpression opString=AND}
                 ├──left: 
                 │  {AndExpression opString=AND}
                 │   ├──left: 
                 │   │  {EqualityExpression operator==}
                 │   │   ├──left: 
                 │   │   │  {DirectNamedRef ref:{NamedElement name=Type1_SetupDone_o}}
                 │   │   └──right: 
                 │   │      {DirectNamedRef ref:{NamedElement name=Type1_SetupDone_34}}
                 │   └──right: 
                 │      {EqualityExpression operator==}
                 │       ├──left: 
                 │       │  {DirectNamedRef ref:{NamedElement name=State_Type1_o}}
                 │       └──right: 
                 │          {DirectNamedRef ref:{NamedElement name=State_Type1_34}}
                 └──right: 
                    {EqualityExpression operator==}
                     ├──left: 
                     │  {DirectNamedRef ref:{NamedElement name=Communication_Test_Command_o}}
                     └──right: 
                        {DirectNamedRef ref:{NamedElement name=Communication_Test_Command_34}}
    {FunctionBlock name=aggr_36 builtIn=false}
     ├──attributes: <null>
     ├──declarationSection: 
     │  {DeclarationSection}
     │   ├──variableDeclarations: 
     │   │  {VariableDeclarationBlock direction=VAR_INPUT retain=false}
     │   │   └──variables: 
     │   │      {VariableDeclarationLine initialized=false bounded=false}
     │   │       ├──variables: 
     │   │       │  {Variable name=DemandAvailability reference=false ref:<null>}
     │   │       ├──type: 
     │   │       │  {ElementaryDT type=BOOL}
     │   │       ├──initialization: <null>
     │   │       ├──lowerBound: <null>
     │   │       └──upperBound: <null>
     │   │      {VariableDeclarationLine initialized=false bounded=false}
     │   │       ├──variables: 
     │   │       │  {Variable name=AvailabilityChanged reference=false ref:<null>}
     │   │       ├──type: 
     │   │       │  {ElementaryDT type=BOOL}
     │   │       ├──initialization: <null>
     │   │       ├──lowerBound: <null>
     │   │       └──upperBound: <null>
     │   │      {VariableDeclarationLine initialized=false bounded=false}
     │   │       ├──variables: 
     │   │       │  {Variable name=ComponentSetup_Done reference=false ref:<null>}
     │   │       ├──type: 
     │   │       │  {ElementaryDT type=BOOL}
     │   │       ├──initialization: <null>
     │   │       ├──lowerBound: <null>
     │   │       └──upperBound: <null>
     │   │      {VariableDeclarationLine initialized=false bounded=false}
     │   │       ├──variables: 
     │   │       │  {Variable name=CommandIn reference=false ref:<null>}
     │   │       ├──type: 
     │   │       │  {ElementaryDT type=BYTE}
     │   │       ├──initialization: <null>
     │   │       ├──lowerBound: <null>
     │   │       └──upperBound: <null>
     │   │      {VariableDeclarationLine initialized=false bounded=false}
     │   │       ├──variables: 
     │   │       │  {Variable name=Unit_is_Type1 reference=false ref:<null>}
     │   │       ├──type: 
     │   │       │  {ElementaryDT type=BOOL}
     │   │       ├──initialization: <null>
     │   │       ├──lowerBound: <null>
     │   │       └──upperBound: <null>
     │   │      {VariableDeclarationLine initialized=false bounded=false}
     │   │       ├──variables: 
     │   │       │  {Variable name=Sig1_from_Type2 reference=false ref:<null>}
     │   │       ├──type: 
     │   │       │  {ElementaryDT type=BOOL}
     │   │       ├──initialization: <null>
     │   │       ├──lowerBound: <null>
     │   │       └──upperBound: <null>
     │   │      {VariableDeclarationLine initialized=false bounded=false}
     │   │       ├──variables: 
     │   │       │  {Variable name=Sig2_from_Type2 reference=false ref:<null>}
     │   │       ├──type: 
     │   │       │  {ElementaryDT type=BOOL}
     │   │       ├──initialization: <null>
     │   │       ├──lowerBound: <null>
     │   │       └──upperBound: <null>
     │   │      {VariableDeclarationLine initialized=false bounded=false}
     │   │       ├──variables: 
     │   │       │  {Variable name=Orientation_Valid reference=false ref:<null>}
     │   │       ├──type: 
     │   │       │  {ElementaryDT type=BOOL}
     │   │       ├──initialization: <null>
     │   │       ├──lowerBound: <null>
     │   │       └──upperBound: <null>
     │   │  {VariableDeclarationBlock direction=VAR_OUTPUT retain=false}
     │   │   └──variables: 
     │   │      {VariableDeclarationLine initialized=false bounded=false}
     │   │       ├──variables: 
     │   │       │  {Variable name=outputs_match reference=false ref:<null>}
     │   │       ├──type: 
     │   │       │  {ElementaryDT type=BOOL}
     │   │       ├──initialization: <null>
     │   │       ├──lowerBound: <null>
     │   │       └──upperBound: <null>
     │   │  {VariableDeclarationBlock direction=VAR retain=false}
     │   │   └──variables: 
     │   │      {VariableDeclarationLine initialized=false bounded=false}
     │   │       ├──variables: 
     │   │       │  {Variable name=fb_o reference=false ref:<null>}
     │   │       ├──type: 
     │   │       │  {FbOrUdtDT type:{NamedElement name=TYPE1_State}}
     │   │       ├──initialization: <null>
     │   │       ├──lowerBound: <null>
     │   │       └──upperBound: <null>
     │   │      {VariableDeclarationLine initialized=false bounded=false}
     │   │       ├──variables: 
     │   │       │  {Variable name=fb_36 reference=false ref:<null>}
     │   │       ├──type: 
     │   │       │  {FbOrUdtDT type:{NamedElement name=TYPE1_State_36}}
     │   │       ├──initialization: <null>
     │   │       ├──lowerBound: <null>
     │   │       └──upperBound: <null>
     │   │      {VariableDeclarationLine initialized=false bounded=false}
     │   │       ├──variables: 
     │   │       │  {Variable name=State_Type1_o reference=false ref:<null>}
     │   │       ├──type: 
     │   │       │  {ElementaryDT type=INT}
     │   │       ├──initialization: <null>
     │   │       ├──lowerBound: <null>
     │   │       └──upperBound: <null>
     │   │      {VariableDeclarationLine initialized=false bounded=false}
     │   │       ├──variables: 
     │   │       │  {Variable name=State_Type1_36 reference=false ref:<null>}
     │   │       ├──type: 
     │   │       │  {ElementaryDT type=INT}
     │   │       ├──initialization: <null>
     │   │       ├──lowerBound: <null>
     │   │       └──upperBound: <null>
     │   │      {VariableDeclarationLine initialized=false bounded=false}
     │   │       ├──variables: 
     │   │       │  {Variable name=Type1_SetupDone_o reference=false ref:<null>}
     │   │       ├──type: 
     │   │       │  {ElementaryDT type=BOOL}
     │   │       ├──initialization: <null>
     │   │       ├──lowerBound: <null>
     │   │       └──upperBound: <null>
     │   │      {VariableDeclarationLine initialized=false bounded=false}
     │   │       ├──variables: 
     │   │       │  {Variable name=Type1_SetupDone_36 reference=false ref:<null>}
     │   │       ├──type: 
     │   │       │  {ElementaryDT type=BOOL}
     │   │       ├──initialization: <null>
     │   │       ├──lowerBound: <null>
     │   │       └──upperBound: <null>
     │   │      {VariableDeclarationLine initialized=false bounded=false}
     │   │       ├──variables: 
     │   │       │  {Variable name=Communication_Test_Command_o reference=false ref:<null>}
     │   │       ├──type: 
     │   │       │  {ElementaryDT type=BOOL}
     │   │       ├──initialization: <null>
     │   │       ├──lowerBound: <null>
     │   │       └──upperBound: <null>
     │   │      {VariableDeclarationLine initialized=false bounded=false}
     │   │       ├──variables: 
     │   │       │  {Variable name=Communication_Test_Command_36 reference=false ref:<null>}
     │   │       ├──type: 
     │   │       │  {ElementaryDT type=BOOL}
     │   │       ├──initialization: <null>
     │   │       ├──lowerBound: <null>
     │   │       └──upperBound: <null>
     │   ├──constantDeclarations: <empty>
     │   └──labelDeclarations: <empty>
     └──statements: 
        {SclStatementList}
         └──statements: 
            {SclSubroutineCall hasExplicitDataBlock=false calledUnit:{NamedElement name=fb_o} dataBlock:<null>}
             └──callParameter: 
                {CallParameterList}
                 └──parameters: 
                    {NamedCallParameterItem assignmentOperator=:= parameter:{NamedElement name=Orientation_Valid}}
                     └──value: 
                        {DirectNamedRef ref:{NamedElement name=Orientation_Valid}}
                    {NamedCallParameterItem assignmentOperator=:= parameter:{NamedElement name=ComponentSetup_Done}}
                     └──value: 
                        {DirectNamedRef ref:{NamedElement name=ComponentSetup_Done}}
                    {NamedCallParameterItem assignmentOperator=:= parameter:{NamedElement name=AvailabilityChanged}}
                     └──value: 
                        {DirectNamedRef ref:{NamedElement name=AvailabilityChanged}}
                    {NamedCallParameterItem assignmentOperator=:= parameter:{NamedElement name=DemandAvailability}}
                     └──value: 
                        {DirectNamedRef ref:{NamedElement name=DemandAvailability}}
                    {NamedCallParameterItem assignmentOperator=:= parameter:{NamedElement name=CommandIn}}
                     └──value: 
                        {DirectNamedRef ref:{NamedElement name=CommandIn}}
                    {NamedCallParameterItem assignmentOperator=:= parameter:{NamedElement name=Sig2_from_Type2}}
                     └──value: 
                        {DirectNamedRef ref:{NamedElement name=Sig2_from_Type2}}
                    {NamedCallParameterItem assignmentOperator=:= parameter:{NamedElement name=Sig1_from_Type2}}
                     └──value: 
                        {DirectNamedRef ref:{NamedElement name=Sig1_from_Type2}}
                    {NamedCallParameterItem assignmentOperator=:= parameter:{NamedElement name=Unit_is_Type1}}
                     └──value: 
                        {DirectNamedRef ref:{NamedElement name=Unit_is_Type1}}
            {SclAssignmentStatement}
             ├──leftValue: 
             │  {DirectNamedRef ref:{NamedElement name=Type1_SetupDone_o}}
             └──rightValue: 
                {QualifiedRef}
                 ├──prefix: 
                 │  {DirectNamedRef ref:{NamedElement name=fb_o}}
                 └──ref: 
                    {DirectNamedRef ref:{NamedElement name=Type1_SetupDone}}
            {SclAssignmentStatement}
             ├──leftValue: 
             │  {DirectNamedRef ref:{NamedElement name=State_Type1_o}}
             └──rightValue: 
                {QualifiedRef}
                 ├──prefix: 
                 │  {DirectNamedRef ref:{NamedElement name=fb_o}}
                 └──ref: 
                    {DirectNamedRef ref:{NamedElement name=State_Type1}}
            {SclAssignmentStatement}
             ├──leftValue: 
             │  {DirectNamedRef ref:{NamedElement name=Communication_Test_Command_o}}
             └──rightValue: 
                {QualifiedRef}
                 ├──prefix: 
                 │  {DirectNamedRef ref:{NamedElement name=fb_o}}
                 └──ref: 
                    {DirectNamedRef ref:{NamedElement name=Communication_Test_Command}}
            {SclSubroutineCall hasExplicitDataBlock=false calledUnit:{NamedElement name=fb_36} dataBlock:<null>}
             └──callParameter: 
                {CallParameterList}
                 └──parameters: 
                    {NamedCallParameterItem assignmentOperator=:= parameter:{NamedElement name=Orientation_Valid}}
                     └──value: 
                        {DirectNamedRef ref:{NamedElement name=Orientation_Valid}}
                    {NamedCallParameterItem assignmentOperator=:= parameter:{NamedElement name=ComponentSetup_Done}}
                     └──value: 
                        {DirectNamedRef ref:{NamedElement name=ComponentSetup_Done}}
                    {NamedCallParameterItem assignmentOperator=:= parameter:{NamedElement name=AvailabilityChanged}}
                     └──value: 
                        {DirectNamedRef ref:{NamedElement name=AvailabilityChanged}}
                    {NamedCallParameterItem assignmentOperator=:= parameter:{NamedElement name=DemandAvailability}}
                     └──value: 
                        {DirectNamedRef ref:{NamedElement name=DemandAvailability}}
                    {NamedCallParameterItem assignmentOperator=:= parameter:{NamedElement name=CommandIn}}
                     └──value: 
                        {DirectNamedRef ref:{NamedElement name=CommandIn}}
                    {NamedCallParameterItem assignmentOperator=:= parameter:{NamedElement name=Sig2_from_Type2}}
                     └──value: 
                        {DirectNamedRef ref:{NamedElement name=Sig2_from_Type2}}
                    {NamedCallParameterItem assignmentOperator=:= parameter:{NamedElement name=Sig1_from_Type2}}
                     └──value: 
                        {DirectNamedRef ref:{NamedElement name=Sig1_from_Type2}}
                    {NamedCallParameterItem assignmentOperator=:= parameter:{NamedElement name=Unit_is_Type1}}
                     └──value: 
                        {DirectNamedRef ref:{NamedElement name=Unit_is_Type1}}
            {SclAssignmentStatement}
             ├──leftValue: 
             │  {DirectNamedRef ref:{NamedElement name=Type1_SetupDone_36}}
             └──rightValue: 
                {QualifiedRef}
                 ├──prefix: 
                 │  {DirectNamedRef ref:{NamedElement name=fb_36}}
                 └──ref: 
                    {DirectNamedRef ref:{NamedElement name=Type1_SetupDone}}
            {SclAssignmentStatement}
             ├──leftValue: 
             │  {DirectNamedRef ref:{NamedElement name=State_Type1_36}}
             └──rightValue: 
                {QualifiedRef}
                 ├──prefix: 
                 │  {DirectNamedRef ref:{NamedElement name=fb_36}}
                 └──ref: 
                    {DirectNamedRef ref:{NamedElement name=State_Type1}}
            {SclAssignmentStatement}
             ├──leftValue: 
             │  {DirectNamedRef ref:{NamedElement name=Communication_Test_Command_36}}
             └──rightValue: 
                {QualifiedRef}
                 ├──prefix: 
                 │  {DirectNamedRef ref:{NamedElement name=fb_36}}
                 └──ref: 
                    {DirectNamedRef ref:{NamedElement name=Communication_Test_Command}}
            {SclAssignmentStatement}
             ├──leftValue: 
             │  {DirectNamedRef ref:{NamedElement name=outputs_match}}
             └──rightValue: 
                {AndExpression opString=AND}
                 ├──left: 
                 │  {AndExpression opString=AND}
                 │   ├──left: 
                 │   │  {EqualityExpression operator==}
                 │   │   ├──left: 
                 │   │   │  {DirectNamedRef ref:{NamedElement name=Type1_SetupDone_o}}
                 │   │   └──right: 
                 │   │      {DirectNamedRef ref:{NamedElement name=Type1_SetupDone_36}}
                 │   └──right: 
                 │      {EqualityExpression operator==}
                 │       ├──left: 
                 │       │  {DirectNamedRef ref:{NamedElement name=State_Type1_o}}
                 │       └──right: 
                 │          {DirectNamedRef ref:{NamedElement name=State_Type1_36}}
                 └──right: 
                    {EqualityExpression operator==}
                     ├──left: 
                     │  {DirectNamedRef ref:{NamedElement name=Communication_Test_Command_o}}
                     └──right: 
                        {DirectNamedRef ref:{NamedElement name=Communication_Test_Command_36}}
    {FunctionBlock name=aggr_17 builtIn=false}
     ├──attributes: <null>
     ├──declarationSection: 
     │  {DeclarationSection}
     │   ├──variableDeclarations: 
     │   │  {VariableDeclarationBlock direction=VAR_INPUT retain=false}
     │   │   └──variables: 
     │   │      {VariableDeclarationLine initialized=false bounded=false}
     │   │       ├──variables: 
     │   │       │  {Variable name=DemandAvailability reference=false ref:<null>}
     │   │       ├──type: 
     │   │       │  {ElementaryDT type=BOOL}
     │   │       ├──initialization: <null>
     │   │       ├──lowerBound: <null>
     │   │       └──upperBound: <null>
     │   │      {VariableDeclarationLine initialized=false bounded=false}
     │   │       ├──variables: 
     │   │       │  {Variable name=AvailabilityChanged reference=false ref:<null>}
     │   │       ├──type: 
     │   │       │  {ElementaryDT type=BOOL}
     │   │       ├──initialization: <null>
     │   │       ├──lowerBound: <null>
     │   │       └──upperBound: <null>
     │   │      {VariableDeclarationLine initialized=false bounded=false}
     │   │       ├──variables: 
     │   │       │  {Variable name=ComponentSetup_Done reference=false ref:<null>}
     │   │       ├──type: 
     │   │       │  {ElementaryDT type=BOOL}
     │   │       ├──initialization: <null>
     │   │       ├──lowerBound: <null>
     │   │       └──upperBound: <null>
     │   │      {VariableDeclarationLine initialized=false bounded=false}
     │   │       ├──variables: 
     │   │       │  {Variable name=CommandIn reference=false ref:<null>}
     │   │       ├──type: 
     │   │       │  {ElementaryDT type=BYTE}
     │   │       ├──initialization: <null>
     │   │       ├──lowerBound: <null>
     │   │       └──upperBound: <null>
     │   │      {VariableDeclarationLine initialized=false bounded=false}
     │   │       ├──variables: 
     │   │       │  {Variable name=Unit_is_Type1 reference=false ref:<null>}
     │   │       ├──type: 
     │   │       │  {ElementaryDT type=BOOL}
     │   │       ├──initialization: <null>
     │   │       ├──lowerBound: <null>
     │   │       └──upperBound: <null>
     │   │      {VariableDeclarationLine initialized=false bounded=false}
     │   │       ├──variables: 
     │   │       │  {Variable name=Sig1_from_Type2 reference=false ref:<null>}
     │   │       ├──type: 
     │   │       │  {ElementaryDT type=BOOL}
     │   │       ├──initialization: <null>
     │   │       ├──lowerBound: <null>
     │   │       └──upperBound: <null>
     │   │      {VariableDeclarationLine initialized=false bounded=false}
     │   │       ├──variables: 
     │   │       │  {Variable name=Sig2_from_Type2 reference=false ref:<null>}
     │   │       ├──type: 
     │   │       │  {ElementaryDT type=BOOL}
     │   │       ├──initialization: <null>
     │   │       ├──lowerBound: <null>
     │   │       └──upperBound: <null>
     │   │      {VariableDeclarationLine initialized=false bounded=false}
     │   │       ├──variables: 
     │   │       │  {Variable name=Orientation_Valid reference=false ref:<null>}
     │   │       ├──type: 
     │   │       │  {ElementaryDT type=BOOL}
     │   │       ├──initialization: <null>
     │   │       ├──lowerBound: <null>
     │   │       └──upperBound: <null>
     │   │  {VariableDeclarationBlock direction=VAR_OUTPUT retain=false}
     │   │   └──variables: 
     │   │      {VariableDeclarationLine initialized=false bounded=false}
     │   │       ├──variables: 
     │   │       │  {Variable name=outputs_match reference=false ref:<null>}
     │   │       ├──type: 
     │   │       │  {ElementaryDT type=BOOL}
     │   │       ├──initialization: <null>
     │   │       ├──lowerBound: <null>
     │   │       └──upperBound: <null>
     │   │  {VariableDeclarationBlock direction=VAR retain=false}
     │   │   └──variables: 
     │   │      {VariableDeclarationLine initialized=false bounded=false}
     │   │       ├──variables: 
     │   │       │  {Variable name=fb_o reference=false ref:<null>}
     │   │       ├──type: 
     │   │       │  {FbOrUdtDT type:{NamedElement name=TYPE1_State}}
     │   │       ├──initialization: <null>
     │   │       ├──lowerBound: <null>
     │   │       └──upperBound: <null>
     │   │      {VariableDeclarationLine initialized=false bounded=false}
     │   │       ├──variables: 
     │   │       │  {Variable name=fb_17 reference=false ref:<null>}
     │   │       ├──type: 
     │   │       │  {FbOrUdtDT type:{NamedElement name=TYPE1_State_17}}
     │   │       ├──initialization: <null>
     │   │       ├──lowerBound: <null>
     │   │       └──upperBound: <null>
     │   │      {VariableDeclarationLine initialized=false bounded=false}
     │   │       ├──variables: 
     │   │       │  {Variable name=State_Type1_o reference=false ref:<null>}
     │   │       ├──type: 
     │   │       │  {ElementaryDT type=INT}
     │   │       ├──initialization: <null>
     │   │       ├──lowerBound: <null>
     │   │       └──upperBound: <null>
     │   │      {VariableDeclarationLine initialized=false bounded=false}
     │   │       ├──variables: 
     │   │       │  {Variable name=State_Type1_17 reference=false ref:<null>}
     │   │       ├──type: 
     │   │       │  {ElementaryDT type=INT}
     │   │       ├──initialization: <null>
     │   │       ├──lowerBound: <null>
     │   │       └──upperBound: <null>
     │   │      {VariableDeclarationLine initialized=false bounded=false}
     │   │       ├──variables: 
     │   │       │  {Variable name=Type1_SetupDone_o reference=false ref:<null>}
     │   │       ├──type: 
     │   │       │  {ElementaryDT type=BOOL}
     │   │       ├──initialization: <null>
     │   │       ├──lowerBound: <null>
     │   │       └──upperBound: <null>
     │   │      {VariableDeclarationLine initialized=false bounded=false}
     │   │       ├──variables: 
     │   │       │  {Variable name=Type1_SetupDone_17 reference=false ref:<null>}
     │   │       ├──type: 
     │   │       │  {ElementaryDT type=BOOL}
     │   │       ├──initialization: <null>
     │   │       ├──lowerBound: <null>
     │   │       └──upperBound: <null>
     │   │      {VariableDeclarationLine initialized=false bounded=false}
     │   │       ├──variables: 
     │   │       │  {Variable name=Communication_Test_Command_o reference=false ref:<null>}
     │   │       ├──type: 
     │   │       │  {ElementaryDT type=BOOL}
     │   │       ├──initialization: <null>
     │   │       ├──lowerBound: <null>
     │   │       └──upperBound: <null>
     │   │      {VariableDeclarationLine initialized=false bounded=false}
     │   │       ├──variables: 
     │   │       │  {Variable name=Communication_Test_Command_17 reference=false ref:<null>}
     │   │       ├──type: 
     │   │       │  {ElementaryDT type=BOOL}
     │   │       ├──initialization: <null>
     │   │       ├──lowerBound: <null>
     │   │       └──upperBound: <null>
     │   ├──constantDeclarations: <empty>
     │   └──labelDeclarations: <empty>
     └──statements: 
        {SclStatementList}
         └──statements: 
            {SclSubroutineCall hasExplicitDataBlock=false calledUnit:{NamedElement name=fb_o} dataBlock:<null>}
             └──callParameter: 
                {CallParameterList}
                 └──parameters: 
                    {NamedCallParameterItem assignmentOperator=:= parameter:{NamedElement name=Orientation_Valid}}
                     └──value: 
                        {DirectNamedRef ref:{NamedElement name=Orientation_Valid}}
                    {NamedCallParameterItem assignmentOperator=:= parameter:{NamedElement name=ComponentSetup_Done}}
                     └──value: 
                        {DirectNamedRef ref:{NamedElement name=ComponentSetup_Done}}
                    {NamedCallParameterItem assignmentOperator=:= parameter:{NamedElement name=AvailabilityChanged}}
                     └──value: 
                        {DirectNamedRef ref:{NamedElement name=AvailabilityChanged}}
                    {NamedCallParameterItem assignmentOperator=:= parameter:{NamedElement name=DemandAvailability}}
                     └──value: 
                        {DirectNamedRef ref:{NamedElement name=DemandAvailability}}
                    {NamedCallParameterItem assignmentOperator=:= parameter:{NamedElement name=CommandIn}}
                     └──value: 
                        {DirectNamedRef ref:{NamedElement name=CommandIn}}
                    {NamedCallParameterItem assignmentOperator=:= parameter:{NamedElement name=Sig2_from_Type2}}
                     └──value: 
                        {DirectNamedRef ref:{NamedElement name=Sig2_from_Type2}}
                    {NamedCallParameterItem assignmentOperator=:= parameter:{NamedElement name=Sig1_from_Type2}}
                     └──value: 
                        {DirectNamedRef ref:{NamedElement name=Sig1_from_Type2}}
                    {NamedCallParameterItem assignmentOperator=:= parameter:{NamedElement name=Unit_is_Type1}}
                     └──value: 
                        {DirectNamedRef ref:{NamedElement name=Unit_is_Type1}}
            {SclAssignmentStatement}
             ├──leftValue: 
             │  {DirectNamedRef ref:{NamedElement name=Type1_SetupDone_o}}
             └──rightValue: 
                {QualifiedRef}
                 ├──prefix: 
                 │  {DirectNamedRef ref:{NamedElement name=fb_o}}
                 └──ref: 
                    {DirectNamedRef ref:{NamedElement name=Type1_SetupDone}}
            {SclAssignmentStatement}
             ├──leftValue: 
             │  {DirectNamedRef ref:{NamedElement name=State_Type1_o}}
             └──rightValue: 
                {QualifiedRef}
                 ├──prefix: 
                 │  {DirectNamedRef ref:{NamedElement name=fb_o}}
                 └──ref: 
                    {DirectNamedRef ref:{NamedElement name=State_Type1}}
            {SclAssignmentStatement}
             ├──leftValue: 
             │  {DirectNamedRef ref:{NamedElement name=Communication_Test_Command_o}}
             └──rightValue: 
                {QualifiedRef}
                 ├──prefix: 
                 │  {DirectNamedRef ref:{NamedElement name=fb_o}}
                 └──ref: 
                    {DirectNamedRef ref:{NamedElement name=Communication_Test_Command}}
            {SclSubroutineCall hasExplicitDataBlock=false calledUnit:{NamedElement name=fb_17} dataBlock:<null>}
             └──callParameter: 
                {CallParameterList}
                 └──parameters: 
                    {NamedCallParameterItem assignmentOperator=:= parameter:{NamedElement name=Orientation_Valid}}
                     └──value: 
                        {DirectNamedRef ref:{NamedElement name=Orientation_Valid}}
                    {NamedCallParameterItem assignmentOperator=:= parameter:{NamedElement name=ComponentSetup_Done}}
                     └──value: 
                        {DirectNamedRef ref:{NamedElement name=ComponentSetup_Done}}
                    {NamedCallParameterItem assignmentOperator=:= parameter:{NamedElement name=AvailabilityChanged}}
                     └──value: 
                        {DirectNamedRef ref:{NamedElement name=AvailabilityChanged}}
                    {NamedCallParameterItem assignmentOperator=:= parameter:{NamedElement name=DemandAvailability}}
                     └──value: 
                        {DirectNamedRef ref:{NamedElement name=DemandAvailability}}
                    {NamedCallParameterItem assignmentOperator=:= parameter:{NamedElement name=CommandIn}}
                     └──value: 
                        {DirectNamedRef ref:{NamedElement name=CommandIn}}
                    {NamedCallParameterItem assignmentOperator=:= parameter:{NamedElement name=Sig2_from_Type2}}
                     └──value: 
                        {DirectNamedRef ref:{NamedElement name=Sig2_from_Type2}}
                    {NamedCallParameterItem assignmentOperator=:= parameter:{NamedElement name=Sig1_from_Type2}}
                     └──value: 
                        {DirectNamedRef ref:{NamedElement name=Sig1_from_Type2}}
                    {NamedCallParameterItem assignmentOperator=:= parameter:{NamedElement name=Unit_is_Type1}}
                     └──value: 
                        {DirectNamedRef ref:{NamedElement name=Unit_is_Type1}}
            {SclAssignmentStatement}
             ├──leftValue: 
             │  {DirectNamedRef ref:{NamedElement name=Type1_SetupDone_17}}
             └──rightValue: 
                {QualifiedRef}
                 ├──prefix: 
                 │  {DirectNamedRef ref:{NamedElement name=fb_17}}
                 └──ref: 
                    {DirectNamedRef ref:{NamedElement name=Type1_SetupDone}}
            {SclAssignmentStatement}
             ├──leftValue: 
             │  {DirectNamedRef ref:{NamedElement name=State_Type1_17}}
             └──rightValue: 
                {QualifiedRef}
                 ├──prefix: 
                 │  {DirectNamedRef ref:{NamedElement name=fb_17}}
                 └──ref: 
                    {DirectNamedRef ref:{NamedElement name=State_Type1}}
            {SclAssignmentStatement}
             ├──leftValue: 
             │  {DirectNamedRef ref:{NamedElement name=Communication_Test_Command_17}}
             └──rightValue: 
                {QualifiedRef}
                 ├──prefix: 
                 │  {DirectNamedRef ref:{NamedElement name=fb_17}}
                 └──ref: 
                    {DirectNamedRef ref:{NamedElement name=Communication_Test_Command}}
            {SclAssignmentStatement}
             ├──leftValue: 
             │  {DirectNamedRef ref:{NamedElement name=outputs_match}}
             └──rightValue: 
                {AndExpression opString=AND}
                 ├──left: 
                 │  {AndExpression opString=AND}
                 │   ├──left: 
                 │   │  {EqualityExpression operator==}
                 │   │   ├──left: 
                 │   │   │  {DirectNamedRef ref:{NamedElement name=Type1_SetupDone_o}}
                 │   │   └──right: 
                 │   │      {DirectNamedRef ref:{NamedElement name=Type1_SetupDone_17}}
                 │   └──right: 
                 │      {EqualityExpression operator==}
                 │       ├──left: 
                 │       │  {DirectNamedRef ref:{NamedElement name=State_Type1_o}}
                 │       └──right: 
                 │          {DirectNamedRef ref:{NamedElement name=State_Type1_17}}
                 └──right: 
                    {EqualityExpression operator==}
                     ├──left: 
                     │  {DirectNamedRef ref:{NamedElement name=Communication_Test_Command_o}}
                     └──right: 
                        {DirectNamedRef ref:{NamedElement name=Communication_Test_Command_17}}
