Installation

The function "TE1200 | TC3 PLC Static Analysis" is installed together with the TwinCAT 3 development environment (XAE setup) and has been included as release version since TwinCAT version 3.1 build 4022.0. All that is therefore required is licensing of the additional TE1200 engineering component. For further information please refer to the documentation on Licensing.

Please note that there is no 7-day trial license available for this product. Without an Engineering license for TE1200 you can use the license-free version of Static Analysis (Static Analysis Light), which has some restrictions (see below). The free Light version enables you to familiarize yourself with the basic handling of the product, for example, based on a reduced set of functions.

Static Analysis Light vs Static Analysis Full

An overview of the different features of the license-free and license-managed variants of Static Analysis is provided below.

Functional aspect

Static Analysis Light
(without TE1200 license)

Static Analysis Full
(with TE1200 license)

Save/export and load/import (rule) configuration

Not possible, coupled to PLC project properties

Possible

(using the Load/Save buttons in the Settings)

Execution is coupled to the compilation process

Yes, not configurable

Configurable

(using the Perform static analysis automatically option in the Settings;

Manual execution using the command Command 'Run static analysis')

Checking for unused objects (e.g. within a library project)

Not possible

Possible

(using the command Command 'Run static analysis [Check all objects]')

Maximum number of reported errors

500 (not configurable)

(Further information on the significance of 500 as the maximum number of errors can be found in the Settings)

Configurable

(using the setting Maximum number of errors in the Settings)

Maximum number of reported warnings

Output of warnings not possible (see following line)

Configurable

(using the setting Maximum number of warnings in the Settings)

Rules – activation options

  • Active and output as error
  • Inactive
  • Active and output as error
  • Active and output as warning
  • Inactive

Rules – scope

6 Coding rules

  • SA0033: Unused variables
  • SA0028: Overlapping memory areas
  • SA0006: Write access to multiple tasks
  • SA0004: Multiple write access on output
  • SA0027: Multiple usage of name
  • SA0167: Report temporary FunctionBlock instances

More than 100 coding rules

Naming conventions

Not available

Available

Metrics

Not available

Available

Forbidden symbols

Not available

Available

Pragmas and attributes for temporary deactivation of rules

Yes, available according to the Light scope:

  • Pragma {analysis ...}
  • Attribute {attribute 'no-analysis'}
  • Attribute {attribute 'analysis' := '...'}

Yes, available according to the Full scope:

  • Pragma {analysis ...}
  • Attribute {attribute 'no-analysis'}
  • Attribute {attribute 'analysis' := '...'}
  • Attribute {attribute 'naming' := '...'}
  • Attribute {attribute 'nameprefix' := '...'}
  • Attribute {attribute 'analysis:report-multiple-instance-calls'}