{ProgramFile}
 ├──verificationOptions: <empty>
 ├──globalVariables: <empty>
 └──programUnits: 
    {FunctionBlock name=TOnDelay builtIn=false}
     ├──attributes: <null>
     ├──declarationSection: 
     │  {DeclarationSection}
     │   ├──variableDeclarations: 
     │   │  {VariableDeclarationBlock direction=VAR_INPUT retain=false}
     │   │   └──variables: 
     │   │      {VariableDeclarationLine initialized=false bounded=false}
     │   │       ├──variables: 
     │   │       │  {Variable name=In reference=false ref:<null>}
     │   │       ├──type: 
     │   │       │  {ElementaryDT type=BOOL}
     │   │       ├──initialization: <null>
     │   │       ├──lowerBound: <null>
     │   │       └──upperBound: <null>
     │   │  {VariableDeclarationBlock direction=VAR_INPUT retain=false}
     │   │   └──variables: 
     │   │      {VariableDeclarationLine initialized=true bounded=false}
     │   │       ├──variables: 
     │   │       │  {Variable name=TimeOnDelay reference=false ref:<null>}
     │   │       ├──type: 
     │   │       │  {ElementaryDT type=TIME}
     │   │       ├──initialization: 
     │   │       │  {ConstantInitializationElement}
     │   │       │   └──constant: 
     │   │       │      {UnnamedConstantRef}
     │   │       │       └──constant: 
     │   │       │          {TimeConstant value=T#0MS}
     │   │       ├──lowerBound: <null>
     │   │       └──upperBound: <null>
     │   │      {VariableDeclarationLine initialized=true bounded=false}
     │   │       ├──variables: 
     │   │       │  {Variable name=InitState reference=false ref:<null>}
     │   │       ├──type: 
     │   │       │  {ElementaryDT type=BOOL}
     │   │       ├──initialization: 
     │   │       │  {ConstantInitializationElement}
     │   │       │   └──constant: 
     │   │       │      {UnnamedConstantRef}
     │   │       │       └──constant: 
     │   │       │          {BoolConstant value=FALSE}
     │   │       ├──lowerBound: <null>
     │   │       └──upperBound: <null>
     │   │  {VariableDeclarationBlock direction=VAR_OUTPUT retain=false}
     │   │   └──variables: 
     │   │      {VariableDeclarationLine initialized=true bounded=false}
     │   │       ├──variables: 
     │   │       │  {Variable name=Out reference=false ref:<null>}
     │   │       ├──type: 
     │   │       │  {ElementaryDT type=BOOL}
     │   │       ├──initialization: 
     │   │       │  {ConstantInitializationElement}
     │   │       │   └──constant: 
     │   │       │      {UnnamedConstantRef}
     │   │       │       └──constant: 
     │   │       │          {BoolConstant value=FALSE}
     │   │       ├──lowerBound: <null>
     │   │       └──upperBound: <null>
     │   │      {VariableDeclarationLine initialized=true bounded=false}
     │   │       ├──variables: 
     │   │       │  {Variable name=Failure reference=false ref:<null>}
     │   │       ├──type: 
     │   │       │  {ElementaryDT type=INT}
     │   │       ├──initialization: 
     │   │       │  {ConstantInitializationElement}
     │   │       │   └──constant: 
     │   │       │      {UnnamedConstantRef}
     │   │       │       └──constant: 
     │   │       │          {IntConstant value=0}
     │   │       ├──lowerBound: <null>
     │   │       └──upperBound: <null>
     │   │  {VariableDeclarationBlock direction=VAR retain=false}
     │   │   └──variables: 
     │   │      {VariableDeclarationLine initialized=true bounded=false}
     │   │       ├──variables: 
     │   │       │  {Variable name=InstanceBuffer reference=false ref:<null>}
     │   │       ├──type: 
     │   │       │  {ArrayDT}
     │   │       │   ├──dimensions: 
     │   │       │   │  {ArrayDimensionString rangeString=0..5}
     │   │       │   └──baseType: 
     │   │       │      {ElementaryDT type=DWORD}
     │   │       ├──initialization: 
     │   │       │  {ArrayInitialization}
     │   │       │   └──elements: 
     │   │       │      {ConstantInitializationElement}
     │   │       │       └──constant: 
     │   │       │          {UnnamedConstantRef}
     │   │       │           └──constant: 
     │   │       │              {IntConstant value=0}
     │   │       │      {ConstantInitializationElement}
     │   │       │       └──constant: 
     │   │       │          {UnnamedConstantRef}
     │   │       │           └──constant: 
     │   │       │              {IntConstant value=0}
     │   │       │      {ConstantInitializationElement}
     │   │       │       └──constant: 
     │   │       │          {UnnamedConstantRef}
     │   │       │           └──constant: 
     │   │       │              {IntConstant value=0}
     │   │       │      {ConstantInitializationElement}
     │   │       │       └──constant: 
     │   │       │          {UnnamedConstantRef}
     │   │       │           └──constant: 
     │   │       │              {IntConstant value=0}
     │   │       │      {ConstantInitializationElement}
     │   │       │       └──constant: 
     │   │       │          {UnnamedConstantRef}
     │   │       │           └──constant: 
     │   │       │              {IntConstant value=0}
     │   │       │      {ConstantInitializationElement}
     │   │       │       └──constant: 
     │   │       │          {UnnamedConstantRef}
     │   │       │           └──constant: 
     │   │       │              {IntConstant value=0}
     │   │       ├──lowerBound: <null>
     │   │       └──upperBound: <null>
     │   │      {VariableDeclarationLine initialized=true bounded=false}
     │   │       ├──variables: 
     │   │       │  {Variable name=InitDone reference=false ref:<null>}
     │   │       ├──type: 
     │   │       │  {ElementaryDT type=BOOL}
     │   │       ├──initialization: 
     │   │       │  {ConstantInitializationElement}
     │   │       │   └──constant: 
     │   │       │      {UnnamedConstantRef}
     │   │       │       └──constant: 
     │   │       │          {BoolConstant value=FALSE}
     │   │       ├──lowerBound: <null>
     │   │       └──upperBound: <null>
     │   │      {VariableDeclarationLine initialized=true bounded=false}
     │   │       ├──variables: 
     │   │       │  {Variable name=ctr reference=false ref:<null>}
     │   │       ├──type: 
     │   │       │  {ElementaryDT type=INT}
     │   │       ├──initialization: 
     │   │       │  {ConstantInitializationElement}
     │   │       │   └──constant: 
     │   │       │      {UnnamedConstantRef}
     │   │       │       └──constant: 
     │   │       │          {IntConstant value=0}
     │   │       ├──lowerBound: <null>
     │   │       └──upperBound: <null>
     │   ├──constantDeclarations: <empty>
     │   └──labelDeclarations: <empty>
     └──statements: 
        {SclStatementList}
         └──statements: 
            {SclIfStatement else=false}
             ├──condition: 
             │  {UnaryExpression op=NOT}
             │   └──expr: 
             │      {DirectNamedRef ref:{NamedElement name=InitDone}}
             ├──thenBranch: 
             │  {SclStatementList}
             │   └──statements: 
             │      {SclAssignmentStatement}
             │       ├──leftValue: 
             │       │  {DirectNamedRef ref:{NamedElement name=Out}}
             │       └──rightValue: 
             │          {DirectNamedRef ref:{NamedElement name=InitState}}
             │      {SclAssignmentStatement}
             │       ├──leftValue: 
             │       │  {DirectNamedRef ref:{NamedElement name=InitDone}}
             │       └──rightValue: 
             │          {BoolConstant value=TRUE}
             ├──elsifBranches: <empty>
             └──elseBranch: <null>
            {SclIfStatement else=true}
             ├──condition: 
             │  {DirectNamedRef ref:{NamedElement name=In}}
             ├──thenBranch: 
             │  {SclStatementList}
             │   └──statements: 
             │      {SclIfStatement else=true}
             │       ├──condition: 
             │       │  {ComparisonExpression operator=<}
             │       │   ├──left: 
             │       │   │  {MultiplicativeExpression operator=*}
             │       │   │   ├──left: 
             │       │   │   │  {DirectNamedRef ref:{NamedElement name=ctr}}
             │       │   │   └──right: 
             │       │   │      {TimeConstant value=T#64MS}
             │       │   └──right: 
             │       │      {DirectNamedRef ref:{NamedElement name=TimeOnDelay}}
             │       ├──thenBranch: 
             │       │  {SclStatementList}
             │       │   └──statements: 
             │       │      {SclAssignmentStatement}
             │       │       ├──leftValue: 
             │       │       │  {DirectNamedRef ref:{NamedElement name=ctr}}
             │       │       └──rightValue: 
             │       │          {AdditiveExpression operator=+}
             │       │           ├──left: 
             │       │           │  {DirectNamedRef ref:{NamedElement name=ctr}}
             │       │           └──right: 
             │       │              {IntConstant value=1}
             │       ├──elsifBranches: <empty>
             │       └──elseBranch: 
             │          {SclStatementList}
             │           └──statements: 
             │              {SclAssignmentStatement}
             │               ├──leftValue: 
             │               │  {DirectNamedRef ref:{NamedElement name=Out}}
             │               └──rightValue: 
             │                  {BoolConstant value=TRUE}
             ├──elsifBranches: <empty>
             └──elseBranch: 
                {SclStatementList}
                 └──statements: 
                    {SclAssignmentStatement}
                     ├──leftValue: 
                     │  {DirectNamedRef ref:{NamedElement name=Out}}
                     └──rightValue: 
                        {BoolConstant value=FALSE}
                    {SclAssignmentStatement}
                     ├──leftValue: 
                     │  {DirectNamedRef ref:{NamedElement name=ctr}}
                     └──rightValue: 
                        {IntConstant value=0}
            {SclIfStatement else=true}
             ├──condition: 
             │  {ComparisonExpression operator=<}
             │   ├──left: 
             │   │  {DirectNamedRef ref:{NamedElement name=TimeOnDelay}}
             │   └──right: 
             │      {TimeConstant value=T#0MS}
             ├──thenBranch: 
             │  {SclStatementList}
             │   └──statements: 
             │      {SclAssignmentStatement}
             │       ├──leftValue: 
             │       │  {DirectNamedRef ref:{NamedElement name=Failure}}
             │       └──rightValue: 
             │          {IntConstant value=1}
             ├──elsifBranches: <empty>
             └──elseBranch: 
                {SclStatementList}
                 └──statements: 
                    {SclAssignmentStatement}
                     ├──leftValue: 
                     │  {DirectNamedRef ref:{NamedElement name=Failure}}
                     └──rightValue: 
                        {IntConstant value=0}
    {Function name=RangeOfCommTest builtIn=false}
     ├──attributes: <null>
     ├──declarationSection: 
     │  {DeclarationSection}
     │   ├──variableDeclarations: 
     │   │  {VariableDeclarationBlock direction=VAR_INPUT retain=false}
     │   │   └──variables: 
     │   │      {VariableDeclarationLine initialized=false bounded=false}
     │   │       ├──variables: 
     │   │       │  {Variable name=Command reference=false ref:<null>}
     │   │       ├──type: 
     │   │       │  {ElementaryDT type=BYTE}
     │   │       ├──initialization: <null>
     │   │       ├──lowerBound: <null>
     │   │       └──upperBound: <null>
     │   │  {VariableDeclarationBlock direction=VAR retain=false}
     │   │   └──variables: <empty>
     │   ├──constantDeclarations: <empty>
     │   └──labelDeclarations: <empty>
     ├──statements: 
     │  {SclStatementList}
     │   └──statements: 
     │      {SclAssignmentStatement}
     │       ├──leftValue: 
     │       │  {DirectNamedRef ref:{NamedElement name=RangeOfCommTest}}
     │       └──rightValue: 
     │          {AndExpression opString=AND}
     │           ├──left: 
     │           │  {ComparisonExpression operator=>=}
     │           │   ├──left: 
     │           │   │  {DirectNamedRef ref:{NamedElement name=Command}}
     │           │   └──right: 
     │           │      {IntConstant value=BYTE#241}
     │           └──right: 
     │              {ComparisonExpression operator=<=}
     │               ├──left: 
     │               │  {DirectNamedRef ref:{NamedElement name=Command}}
     │               └──right: 
     │                  {IntConstant value=BYTE#247}
     └──returnType: 
        {ElementaryDT type=BOOL}
