Use the Analysis feature to analyze your project composition. Analysis breaks down your project into its various components provides detailed reports on each item.

To open the Analysis dashboard for a project

  1. From the vault navigation pane, select the solution.

  2. In the project list, select the project you want to analyze.

  3. Select the Analysis item in the vault toolbar.


The time it takes to analyze a project depends on the complexity of the programs, routines, and assets in the project. An animation is displayed while the project is being analyzed. Once the analyis is complete, the analysis dashboard displays.

Analysis dashboard#

The Analysis dashboard contains several cards that provide graphic depictions of key project statistics.

Controller Overview#

The Controller Overview analysis card displays these controller properties for the project analyzed.



Project Name

The name of the project.


The optional description provided for the project.


Photograph of the controller hardware

Software Version

The version of Studio 5000 Logix Designer software used to create the project.

Controller Name

The name of the controller. The name must be IEC_1131 compliant. When the project is created, this value is used to name the project file.


The catalog number and description of the controller.

Firmware Version

The controller firmware release version.


The chassis type in which the controller resides.


The chassis slot number in which the controller resides.

Select View details to see additional controller properties. See Controller Overview Analysis Details.

Hardware Overview#

The Hardware Overview analysis card displays the size of the chassis and identifies the modules in each slot. If any modules are inhibited, they are identified in the chassis. Any spare slots in the chassis are available for adding new modules in the future.

Select View details to see additional hardware properties. See Hardware Analysis Details.

Controller Task Model#

The Controller Task Model analysis card displays the details about the task types in the project. It identifies the number of event tasks, periodic tasks, and continuous tasks in the project and summarizes the types of triggers that instantiate the different tasks. The Safety task is a periodic/time task that is only available with safety class controllers.

Tasks can be inhibited if they should not be run during the program.

Event Tasks have different types of triggers that start the execution of the task. Triggers can be based on the following items:

  • Module Input Data State Change

  • Motion Group execution

  • Axis Watch

  • Axis Registrations 1 or 2

  • Consumed Tag

  • EVENT instruction

The controller project also has as an optional method to handle specific errors due to controller faults or events during power up of the controller.

  • Controller fault handlers can be used for handling controller faults or errors. Controller fault handlers are executed when a controller major fault occurs, or a program fault is not handled by a fault routine.

  • PowerUp handlers can be used to execute logic relating to the power up sequence of the controller. PowerUp handlers perform startup execution after an abnormal loss of power in Run Mode.

Select View details to see additional task information. See Controller Task Model Analysis Details.

Program Composition#

The Program Composition analysis card displays the breakdown of the programs by task type. Viewing the graph you can see how many programs must complete in each task. Tasks that include equipment phases and equipment sequences are identified. You can also see if there are any unscheduled programs in your project.

Select View details to see additional program composition information. See Program Composition Analysis Details.

Routine Summary#

The Routine Summary analysis card displays the number of different types of routines included in your project. You can see whether any routines are encrypted and see a count of which routines are programmed using the different logic programming languages.

  • Encrypted — Source protection has been applied to the routine. These routines cannot be analyzed.

  • Ladder Diagrams — Routine is written using ladder elements.

  • Function Block Diagrams — Routine is written using a series of sheets that represent different functions.

  • Structured Text — Routine is written using structured text syntax to make a series of conditional logic statements to evaluate.

  • Sequential Function Charts — Routine is written using a flowchart that uses steps and transitions to perform specific operations or actions.

Select View details to see additional program routine information. See Routines Analysis Details.


The Safety analysis card contains the following information:

  • Safety-Lock — Displays whether the project is safety-locked. A safety-locked project is protected from unauthorized changes by a safety signature.

  • Safety Level — For GuardLogix 5580 Safety controllers, determines whether the project is at a safety level SIL2/PLd or SIL3/PLe. For all other types of controllers, it’s the current SIL level of the controller.

  • Safety Signature ID — Displays the unique ID corresponding to the validation of the Safety controller project. The date and time values correspond to when the signature was generated. The ID is a unique value calculated by the controller over the memory contents at the time the signature is generated.


If a Safety Signature does not exist, the ID is set to <None> and the Date and Time values are blank and unavailable.

  • Signature Run Mode Protect — If Yes then the safety signature cannot be deleted while the controller is in Run Mode, regardless of the Safety application state.

  • When Replacing Safety I/O — Displays the setting for the project that determines whether the controller sets the safety network number (SNN) of a safety I/O module that is connected to and has configuration data, either Configure Only When No Safety Signature Exists or Configure Always.

  • Safety Network Number — Displays the port and the 6-byte hexadecimal safety network number (SNN) assigned to the port. If the controller has more than one port that supports a CIP Safety connection, the SNN for each port is displayed.

  • Safety Tag Mapping — Displays how tags are mapped between standard classes and safety classes in the project.


The Motion analysis card displays the properties for the motion control portion of a project and details the types of axes in the project.

  • Motion Group Name — The name used to refer to a consolidated set of the axes that provide coordinated motion.

  • General Fault Type — The fault type that is used for the motion control group.

  • Assigned axes — Identifies how many axes are in the motion group.

  • Unassigned axes — Any axes present in the project that are not assigned to a motion group.

  • Virtual axes — An imaginary axis with full motion planner operation, but not associated with any physical device.

  • Physical axes — Axes that exist in a piece of equipment.

  • Coarse update rate — A type of rate that selects the periodic rate (at which the motion task executes) to compute the servo commanded position, velocity, and accelerations to be sent to the output modules when executing motion instructions. If the coarse update rate is too small, the processor may not have time to execute non-motion related logic. As a rule, a motion task requires one millisecond per axis to allow the processor reasonable execution time.

Select View details to see additional motion axis information. See Motion Analysis Details.


The Objects analysis card lists the number of Add-On Instructions (AOI), user-defined data types (UDT), and string data types in the project and provides a count of the number of instances in the project. If objects are nested within the project, the level of nesting is identified to help you better understand the composition of the objects.

Select View details to see additional object information. See Object Definitions.


The Tags analysis card provides two views of the tag usage in your project.

  • Tag scope percentage: Controller-scoped tags versus local tags

  • Tag data type percentage Atomic alias, and structures.

  • Array Type as string or atomic

  • User defined: Structures defined during the development of the application by the customer or solution provider.

  • Strings. Structure used to define variable string data.

  • Add-On Defined. Structures defined by an Add-On Instruction

  • Pre-defined. Predefined data type defined by the controller, for example Counter, Timer, and PID.

  • Module defined. Data type defined b a module to store input, output, and configure data for the module


The Alarms analysis card displays a count of the alarms in your project differentiated by whether they are analog (ALMA), digital (ALMD) alarms, or tag-based alarms.

Select View details to see additional alarms information. See Alarms Analysis Details.

Inter-processor communication#

The Inter-processor Communication analysis card displays the number of produced and consumed tags in the project. If your project includes message tags, a messages table is also displayed.

  • Produced tags broadcast information from the local controller to the rest of the system for consumption.

  • Consumed tags are information received by the local controller from tags produced by other controllers in the system.

  • Message tags transfer (send or receive) data between controllers by executing a message (MSG) instruction.

Select View details to see additional inter-processor communication information. See Inter-Processor Communications Analysis Details.

Export analysis data#

When you view the analysis details for a card, you can export the data to either a CSV file or an Excel file. Each analysis card has different sections that represent different data categories.

To export a data category

  1. Right-click a table cell in the category you want to export.

  2. Point to Export then select either:

    • CSV Export

    • Excel Export

  3. The Downloads notification area appears. A status bar displays the download progress. Once the file has been downloaded, the option to Open file is available.


All exports are named export.xlsx or export.csv. Make sure to open the downloads folder and rename the export file to a unique name.