Logix Um003 - en P
Logix Um003 - en P
User Manual
Version 4.02.00
ATTENTION: Identifies information about practices or circumstances that can lead to personal injury or death, property damage, or economic loss. Attentions
help you identify a hazard, avoid a hazard, and recognize the consequence.
IMPORTANT Identifies information that is critical for successful application and understanding of the product.
BURN HAZARD: Labels may be on or inside the equipment, for example, a drive or motor, to alert people that surfaces may reach dangerous temperatures.
ARC FLASH HAZARD: Labels may be on or inside the equipment, for example, a motor control center, to alert people to potential Arc Flash. Arc Flash will cause
severe injury or death. Wear proper Personal Protective Equipment (PPE). Follow ALL Regulatory requirements for safe work practices and for Personal
Protective Equipment (PPE).
Rockwell Automation recognizes that some of the terms that are currently used in our industry and in this publication are not in
alignment with the movement toward inclusive language in technology. We are proactively collaborating with industry peers to
find alternatives to such terms and making changes to our products and content. Please excuse the use of such terms in our
content while we implement these changes.
Chapter 1
Application Code Manager Application Code Manager Overview ......................................................... 7
Design process ....................................................................................... 8
Library objects ...................................................................................... 11
Templates.............................................................................................. 12
Schedules .............................................................................................. 12
Design Automation Concept ............................................................... 12
Create a central ACM database ........................................................... 13
Upgrading a central ACM database .................................................... 14
Initial configuration of Application Code Manager .......................... 14
Upgrade the Application Code Manager application ........................ 15
Navigate the Application Code Manager user interface ......................... 16
Chapter 2
Connect to an ACM database Connect to an ACM database .................................................................... 19
Connection Properties settings ..........................................................20
Advanced Properties settings ............................................................. 20
Chapter 3
Project Development Project Development ................................................................................. 25
Project commands ............................................................................... 25
Create a new project ........................................................................... 26
Create a new project from an existing project .................................. 26
Add a Historian object ........................................................................ 27
Add a Historian sub-object ................................................................. 27
Historian Point Type parameters ...................................................... 28
Generate a Historian object ............................................................... 29
Add an HMI object .............................................................................. 30
Add a Display sub-object .................................................................... 30
HMI Display parameters ..................................................................... 31
Generate an HMI object ...................................................................... 31
Add an Alarm Group sub-object ..........................................................32
FTAE Alarm Group parameters........................................................... 33
Find an object ....................................................................................... 33
Update a project library ....................................................................... 33
Extract attached files ........................................................................... 34
Indications ............................................................................................ 35
Chapter 4
Registered Libraries Registered Libraries................................................................................... 37
Register an ACM library object ........................................................... 38
Rockwell Automation Publication LOGIX-UM003I-EN-P-April 2022 3
Table of Contents
Chapter 5
Configure controllers Configure controllers ................................................................................ 43
Generate a controller file ..................................................................... 44
Add a new controller ............................................................................44
Move or copy a controller to another project .....................................45
Select Destination Project dialog box ................................................ 46
Add a controller from an ACD or L5X file.......................................... 46
Update using an ACD or L5X file ....................................................... 46
Detach from ACD/L5X files .................................................................47
Contribute instances .......................................................................... 48
Merge controllers ................................................................................ 48
Add a hardware module ...................................................................... 48
Delete a hardware module .................................................................. 49
Use Copy and Paste Special ................................................................ 49
Add a new instance ............................................................................. 50
Add a new software object to a controller ......................................... 50
Generate a partial program ................................................................. 51
Generate a partial routine ................................................................... 51
Object Configuration Wizard ............................................................ 52
Auto Create Linked Objects ................................................................ 52
Chapter 6
Use ACM Tools Use ACM Tools ........................................................................................... 55
Import Export Manager ...................................................................... 55
Import a schedule ..........................................................................56
Import Export Manager Import tab settings .............................. 57
Export a schedule .......................................................................... 58
Import Export Manager Export tab settings ...............................59
Compare a project to a saved schedule ........................................59
Import Export Manager Compare Tab settings ......................... 60
Update controller parameters with the related tag values ........ 60
Import Export Manager Tags Import tab settings...................... 61
Generate a Tag Configurator workbook ...................................... 61
Import Export Manager Tags Export tab settings ...................... 61
Create an ACM partial import file ............................................... 62
Import Export Manager IAB/Architect tab settings .................. 62
Chapter 7
Reports Reports ........................................................................................................ 99
Report command reference............................................................... 100
Generate a report ............................................................................... 101
Chapter 8
ACM Console ACM Console ............................................................................................ 103
Open the ACM Console ...................................................................... 104
List all commands .............................................................................. 104
Generate a limited list of commands ............................................... 104
Generate detailed command information ....................................... 105
Console scripts ................................................................................... 105
Create an Application Code Manager Console script ............... 105
Run an Application Code Manager Console script ................... 105
Extended scripts .......................................................................... 106
Legal Notices Legal Notices ............................................................................................. 111
Application Code Manager Studio 5000® Application Code Manager is a tool that enables more efficient
project development with libraries of reusable code. Application Code
Overview Manager creates modular objects with customizable configuration
parameters using the reusable content. Application Code Manager can also
create the associated visualization, historical and alarming elements for a
project.
Use Application Code Manager to:
• Create databases
• Register libraries
• Create projects
• Manage objects
Application Code Manager includes an additional command-line tool, the
ACM Console. Use the ACM Console to perform the following actions:
• Edit Parameters
• Export All Projects
• Export Libraries by Attribute
• Generate Controller (as an L5X or ACD file)
• Import Project
• Publish Library
Before starting a project, become familiar with the basic concepts used in
Application Code Manager; the design process on page 8, the different library
objects on page 11, the available templates on page 12, the use of schedules on
page 12, and the design outputs from Application Code Manager.
Activation
Activating Application Code Manager provides access to all Application Code
Manager features.
When not activated Application Code Manager has the following limitations:
• Application Code Manager can only connect to a local database
instance.
Application Code Manager can only support a single controller per project.
Attempting to import projects with multiple controllers will result in an error.
Design process The Application Code Manager (ACM) design process introduces a modular,
object-based approach to the creation of ACD controller code, FactoryTalk®
View SE/ME display content, FactoryTalk Historian Tag and Alarms import
configuration.
The Studio 5000 ACM design process separates function and configuration
into two separate layers of data, and divides the design process into two
distinct workflows, library management and project execution.
The design process involves a suite of applications:
• The Studio 5000 Logix Designer® application
• The Library Designer
• The Library Object Manager application
• The Application Code Manager application
• FactoryTalk View Studio
Library Designer
Use the Library Designer to assign the project, the controller, and any of the
Logix objects to one or many library objects. Each library object defines a set
of functions, capabilities, and connections. Example: those that support
function of the valve, motor, and controller modules. Rather than being tied to
one application, library objects can be configured to meet the needs of
multiple applications. The Library Designer allows the publishing of a library
directly into an ACM database. Options include the ability to specify the
location where the library will be published in the ACM database, and the
ability to specify the status of the library, either Published or Pending.
Custom properties called "Decorations" can be added to a library object using
the Library Designer. Decorations include parameters, sub-objects, functions,
substitutions, and external references. Decoration lets the library object be
configured when it is implemented in a project in the ACM application.
Logix objects can be restricted to a single library object or assigned to multiple
library objects, each with a different set of decorations. A library object can
contain a single Logix object, or a Logix object can be added as an element of a
more complex library object. Example: a P_Alarm Add-On Instruction can be
assigned to a valve library object and can also be an element of a Motor or
Pump library object.
Each ACD file can support multiple projects, controller libraries, and library
objects. The ACD is not required to contain a project or controller library.
While decoration is stored as part of the ACD file, it is treated as a separate
layer of information from the base controller code and does not affect code
execution.
Decoration controls how the library object is instantiated, including
configurations such as naming, tag values, conditional inclusion, and
connections to other library objects. One or many distinct instances of a
library object can be instantiated within an ACM project and each instance
can be separately configured. Using Library Designer each Logix object can be
published directly to the ACM database or to a file in HSL4 format.
Library objects A library object is the class definition of an object, it can contain links to other
libraries. A library object is instantiated. When instantiating a library, all the
linked libraries can be instantiated to new objects, or can continue to link to
an existing instantiated object in the library.
Individual library object files (HSL4) are XML formatted and registered in the
ACM database. A library object typically defines parameters, subclasses, user
interface contents, and portions of controller code (example: Logix) and HMI
code (example: FactoryTalk View SE/ME).
Templates A template defines the static content and format of design output (example: a
FactoryTalk View display). A template is not a class definition. A template is
not instantiated. Templates have a variety of formats (example: xml, csv, docx,
xlsx) and are stored in the ACM program folder or an individual user folder.
Before a template can be used the initial configuration of ACM must be
completed, the local library must be registered, and the template installed.
Schedules Use schedules to display or edit project data, typically parameter values.
Read-only schedules called "views" are temporarily generated for certain ACM
reports (example: the I/O Schedule report).
The Import Export Manager on page 55 tool can be used to export a schedule
to a Microsoft® Excel® spreadsheet. Exporting a schedule to a spreadsheet can
be useful for:
• Bulk additions, duplication, and changes
• Transferring project contents
• Snapshots
• Backups
• Version comparison
Import the schedule spreadsheet to ACM using the Import Export Manager
tool.
Design Automation Concept The project design outputs are generated automatically by ACM. The objects
(instances) and parameter values, stored in the ACM database, are combined
with various templates to create the following design outputs:
• Logix
• FactoryTalk View SE/ME graphics
• FactoryTalk Historian SE import file
• FactoryTalk Alarms and Events import file
• Excel (Schedules)
Create a central ACM When planning an ACM deployment if there are multiple people collaborating
on projects make sure to select a computer to use as the ACM database server
database that can be accessed by all users in the project. This can be a standard
computer that does not belong to a particular user or a project computer. The
computer must always be turned on and available. Microsoft SQL Server 2016
is the only software required on the shared computer.
Note: The ability to connect to a remote database is only available if the product has a Standard activation
license and is not available in Lite mode.
Install SQL Server 2016 via the ACM installation media. Select only SQL Server
2016 when presented with the selection of install options.
When configuring the SQL Server note the following considerations when
supporting multiple user connections to the database:
1. Add Users: Normally ACM uses Windows Authentication to connect to
the ACM database. When the ACM database is located in a remote
computer, local users must be created using the SQL Server
Management Studio. Create one user account that is shared by all the
project collaborators or add an individual user for each collaborator.
Only assign users to the ACM database after the ACM database is
created.
If the SQL user is not a sysadmin, creation of the database for the first
time is a multi-step process:
a. Create users in SQL.
• Minimum Server Roles should be:
• dbcreator
• public
• Permissions on Securables should be:
• Connect SQL
• Control Server
• View any database (optional, but if not, the database needs to
be mapped to this user in SQL)
b. Launch the database manager in ACM and create the database using
the new user.
Creation of this database must be done from ACM and cannot be
done manually in Microsoft SQL Server.
c. In order for the user to connect and update the database, add the
newly created database to the User Mapping in SQL and set the
memberships on the database to:
• db_owner
• db_datareader
• db_datawriter
• public
Initial configuration of Before using Application Code Manager, initial configuration must be
completed. In this procedure, a database is created, the database connection
Application Code Manager method is specified, and the default ACM libraries are registered.
Tip: If the SQL Server installation option was selected, this procedure was completed automatically during
installation.
System View A pane that contains a tree control that enables navigation through the different components of an ACM
project.
The System View pane displays branches for the objects contained in the project including FactoryTalk
Historian Server objects, FactoryTalk View SE/ME Server objects, Libraries used in the project, and Controller
objects.
• Historian branch
The Historian branch contains all Historian ScanClass objects in the Project.
The Historian objects are organized in a 3-level hierarchy:
Historian
--> ScanClass
----> Object
The Historian Scan Class definitions are Sub-objects in the FT_Historian object (instance).
• HMI branch
The HMI branch contains all HMI objects in the Project.
HMI objects are organized in a 3-level hierarchy:
HMI
--> Displays
----> Object
HMI
--> Colors
----> Object
and
HMI
--> Alarms
----> Object
• Used Libraries branch
The Used Libraries branch displays the libraries that are used in the project.
Libraries are organized in a 4-level hierarchy:
Solution
--> Library Type
----> Library Category
------> Library Catalog Number (Library Version)
Controller Preview A pane that contains a tree control that enables navigation through the different controllers.
The Controller Preview pane displays all the project data organized into the following folders:
• Controllers
• Controller-specific data
• Logix-specific objects
• Task/Programs
• Control Modules
Controller Preview displays Logix content similar to its final state after it is generated.
Use this view to add objects, as well as generate code.
Class View A pane that contains a tree control that enables navigation through objects grouped by controller.
Objects are organized by the Library object catalog numbers and show the instances below them.
Use this view to add, copy, or delete any object instances as well as generate code and reports or navigate the
library in the Registered Libraries tree.
Object Identifiers Displays the identification information for the currently selected object. Includes
• Name. The name of the object in the database
• Description. Object category or user specified label for the object.
• Catalog Number. The specific identifier assigned to the object in the library.
• Solution. The name of the library object repository for the library object
Object Parameters This pane displays the properties tab for the object currently selected in either the System, Controller, or Class
view.
When applicable, a toolbar is present in the parameter pane that provides the ability to:
• Sort parameters alphabetically
• Sort parameters into groups
• Show only visible parameters
• Show all (visible and hidden) parameters
• Open additional properties
The parameter name shows in the column on the left and the parameter value shows in the column on the
right. Change parameter values by typing a new value in the right column. A description of the selected
parameter displays at the bottom of the parameters tab.
Some objects have additional tabs for sub-object parameters, (example: analog input of a 1756-IF16 or
Attachments for libraries). Sub-object parameters show on an additional tab labeled with the sub-object
display name.
Each row in the sub-object parameters tab represents a sub-object. By default, sub-objects sort alphabetically
by name. Sort sub-objects in groups by clicking on a column header.
The sub-object name shows in the Name column. Additional columns display the sub-object parameters
(example: Channel). Change the sub-object name and the sub-object parameter values by typing a new value
below the column header.
The sub-object name can be configured as read-only. When the sub-object name is read-only, the value is
shown dimmed.
If an object or sub-object parameter value is changed click Apply changes to save the changes to the ACM
database.
The version number of the Application Code Manager software displays in lower left corner of the object
Parameter tab.
Registered Libraries A pane that contains a tree view display of all libraries in the connected ACM database. These libraries can be
added to an ACM project.
The libraries are organized in a 4-level hierarchy with statistical information in parenthesis:
Solution (Number of objects)
--> Library Type (Number of objects)
----> Library Category (Number of objects)
------> Library Catalog Number (Library Version)
Library Repositories This pane displays the configured library repositories. A library repository refers to another ACM database that
can monitored for library updates. Libraries from these source databases can be easily replicated over to the
currently active database for use within a project. It is unavailable to create an object directly from a library in
a library repository. The library must first be replicated to the current active ACM database before it can be
used to create an object. Add or remove library repositories in this pane.
Connect to an ACM database To use Application Code Manager it must be connected to an ACM database.
During the initial configuration of Application Code Manager the default
database was configured. Use this procedure to open the Connection
properties sheet and update the database connection configuration if the
original ACM database server becomes unavailable, if the authentication
method needs to be modified, or if a different database is to be used.
The Advanced Properties dialog box provides a means of changing how the
connection between ACM and the SQL Server passes information.
This table describes the settings in the Advanced Properties dialog box. The
dialog box is divided into functional areas.
Note: Applying the recommended settings will improve ACM performance especially for network
connections.
ConnectRetryInterval 5 (recommended) Delay between attempts to restore connection. The amount of time (in
seconds) between each reconnection attempt after identifying that there
was a connection failure. This must be an integer between 1 and 60.
Context Application Name .Net SqlClient Data Provider The name of the application.
Workstation ID The name of the workstation connecting to SQL Server.
Initialization ApplicationIntent ReadWrite (default) Declares the application workload type when connecting to a server.
ReadOnly
Asynchronous Processing True When true, enables usage of the Asynchronous functionality in the .Net
False (default) Framework Data Provider.
Connect Timeout 30 (recommended) The length of time in seconds to wait for a connection to the server
before terminating the attempt and generating an error.
A value of 0 indicates no limit, and should be avoided in a
ConnectionString because an attempt to connect waits indefinitely.
Current Language The SQL Server Language record name.
Security Authentication NotSpecified (default) Specifies the method of authenticating with SQL Server.
SqlPassword
ActiveDirectoryPassword
ActiveDirectoryIntegrated
Column Encryption Setting Enabled Default column encryption setting for all the commands on the
Disabled (default) connection.
Encrypt True When True, SQL Server uses SSL encryption for all data sent between
False (default) the client and server if the server has a certificate installed.
Integrated Security True Whether the connection is to be a secure connection or not.
False (default) When False, User ID and Password are specified in the connection.
When True, the current Windows account credentials are used for
authentication.
Password ******* Indicates the password to be used when connecting to the data source.
Persist Security Info True When False, security-sensitive information, such as the password, is not
False (default) returned as part of the connection if the connection is open or has ever
been in an open state.
TrustServerCertificate True (recommended) When True (and Encrypt is set to True), SQL Server uses SSL encryption
False for all data sent between the client and server without validating the
server certificate.
If TrustServerCertificate is set to True and Encrypt is set to False, the
channel is not encrypted.
User ID sa Indicates the user ID to be used when connecting to the data source.
Project Development
Project Development Application Code Manager organizes components into projects. Use one of
the following methods to create projects:
• Add a new project using the Object Configuration Wizard
• Create a new project from an existing project
• Import a project using ACM or ACM Console
Once a project is created, add objects for your application, such as:
• Historian objects
• HMI objects
• Alarm objects
• Controllers and controller objects
Project commands In the System View pane, right-click the Project branch to view the project
commands. Different branches have different commands available.
This table describes each project command.
Command Branch Description
View > Project History Project (top) Displays a report showing the Project History.
Export Project (top), Used Libraries, Starts the Import Export Manager.
Library Module
Import Project (top) Starts the Import Export Manager.
Delete Project (top), Historian object, Deletes the selected object.
Displays object, Alarms object Note: The Projects Delete dialog box supports multiple select.
Rename Project (top), Historian object, Renames the selected object.
Displays object, Alarms object
Refresh Project (top), Historian, Refreshes the tree view.
ScanClass, Historian object, HMI,
Displays, Displays object,
Alarms, Alarms object
Update All Child Objects Historian, HMI Opens the Update Used Libraries window.
Add ScanClass, Colors, Displays, Adds a new object (instance) to the selected Category.
Alarms
Paste Special ScanClass, Colors, Displays, Displays PasteSpecial window where child objects and reference values can be included or
Alarms excluded.
Paste ScanClass, Colors, Displays, Pastes a copied object in the selected location.
Alarms
Copy Historian object, Displays object Copies the selected object.
Update Used Libraries, Library Module Displays the Update Used Library dialog.
Generate Historian Historian object Generates a copy of the selected Historian object from ACM. The Historian object is saved to an
external folder.
Generate Displays Displays Object Generates a copy of the selected Displays object from ACM. The Display object is saved to an
external folder.
Generate Alarms Alarms Object Generates a copy of the selected Alarms object from ACM. The Alarms object is saved to an
external folder.
Create a new project Create a new project when the new project is not similar to existing projects.
Group sub-objects
Group sub-objects into categories based on the data columns.
Historian Point Type The Point Type tab displays a columnar grid of the parameters defined for the
points of the Historian object.
parameters
This table describes the parameters in the Point Type tab of the Historian
object.
Parameter Description
Name The name of the point. Double-click to configure a unique name for the point.
ScanClassNo The scan class determines the frequency at which input points are scanned for new values.
ExcDev Exception Deviation. Specifies in engineering units how much a point's value must change before the interface considers it a
significant value, and sends it to the server. As a general rule, you should set the exception slightly smaller than the precision of the
instrument system.
ExcDevPercent Specifies the exception deviation as a percentage of span instead of in engineering units.
For digital, string and Blob tags, ExcDev and ExcDevPercent are ignored and display by applications as zero.
ExcMax Exception Maximum. Specifies a limit on how long the interface can go without reporting a value to the Historian server. After the
ExcMax time period elapses, the interface sends the next new value to the server, regardless of whether the new value is different
from the last reported value.
ExcMin Exception Minimum. Specifies a limit on how frequently the interface can report values to the server. Example: For the interface to wait
a full ten minutes before reporting a new value to the server, set the ExcMin attribute to ten minutes. ExcMin is typically set to zero.
CompDev Compression Deviation. Specifies in engineering units how much a value may differ from the previous value before it is considered to
be a significant value.
In most environments, set CompDev to the precision of the data source or hardware (instrument). Initially, set it to a lower value so that
important data is not lost. After collecting data for a while, go back and check the data for your most important tags, and then adjust
CompDev to a higher value, if necessary.
Setting the CompDev attribute value too low causes too little data compression, and wastes space in the archive.
Setting the value too high causes loss of useful data. For most flows, pressures, and levels, use a deviation specification of 1% or 2%
of span. For temperatures, the deviation should usually be 1 or 2 degrees.
CompDevPercent Specifies the compression deviation as a percentage of span instead of in engineering units.
Note: For non-numeric tags, CompDev and CompDevPercent are ignored. They will be displayed by applications as zero.
CompMax Compression Maximum. A point is archived if the elapsed time since the previous time the point was saved is greater than the
maximum time. The recommended maximum time specification is one work shift (example: 8 hours). Duplicate values will be archived
if the elapsed time exceeds CompMax. In most environments, set CompMax to the same value for all points in the system.
CompMin Compression Minimum. A point is archived if the elapsed time since the previous time the point was saved is greater than or equal to
the minimum time, and the value has changed by more than the deviation. For data points associated with interfaces that send
exception reports, set CompMin to 0.
Compressing Determines whether compression is turned on or off for the point. Compression should be turned on for all real-time points in the
system. Set compression OFF for laboratory and manually entered tags so every value is recorded in the archive.
To turn compression on, select the Compressing parameter for most points. With compression off, every value sent is saved in the
archive.
Compression affects digital points, since a new value is recorded only when the current value changes. Points of types Blob and string
have a similar behavior; new events pass compression only when the value changes. String values are compared ignoring case.
Example: “VaLuE” and “valUe” are evaluated as equal. For Blob events, any change is significant.
DigitalSet For digital points, the DigitalSet attribute specifies the name of the digital state set associated with the tag. The DigitalSet attribute has
no meaning for non-digital tags.
Scan Toggling this checkbox, turns scanning ON or OFF for a point. By default scanning is turned ON (selected), which indicates that the
program should be able to collect data for the point.
Setting the Scan attribute to OFF (cleared) turns off data collection for that point.
AdviseMode Specifies that the point should run in the Advised data collection mode. In this mode, data is collected only when a value changes in
the controller. It is not based on the scan rate. AdviseMode is selected by default as this mode is the most efficient because data is
sent to the Historian server only when the value changes.
SubObject Description Descriptive text that distinguishes this point from other points.
Generate a Historian object Once a Historian Object has been configured it can be used to generate a
FactoryTalk Historian SE import file, this file is a comma-separated value
(.csv) file.
Group sub-objects
Group sub-objects into categories based on the data columns.
• Double-clicking on a column heading updates the display in the
parameters tab to group items with the same value together.
• Right-click anywhere in the parameters tab and select Reset Grouping
to return to the default display.
HMI Display parameters The Display tab displays a columnar grid of the parameters defined for the
displays of the FactoryTalk View object.
This table describes the parameters in the Displays tab.
Parameter Description
Name The name of the display. Double-click to configure a unique name for the display.
DisplayTitle Specifies the content of the display title bar.
DisplayLeft Sets the left edge of a display to the number of units specified from the left edge of the screen.
DisplayTop Sets the top edge of a display to the number of units specified from the top edge of the screen.
DisplayWidth Sets the width of a display.
DisplayHeight Sets the height of a display.
DisplayBackColor Sets the background color of the display.
DisplaySecurity Identifies the security class of the screen.
UpdateRate Defines the amount of time to update a display in response to an event. Default setting is 1.0 seconds. For best performance set to .1
seconds.
LeftIndexMax Identifies the maximum number of entries in the left index.
VBAProjectObject Adds a VBA item to the FactoryTalk View SE display. Click the ellipsis (...) button to select a VBA item.
SubObject Description Provides a unique description of the display sub-object.
Generate an HMI object Once a HMI display object has been configured it can then be used to
generate an import file for use with FactoryTalk View SE or FactoryTalk View
ME. This file is an Extensible Markup Language (.xml) file.
Group sub-objects
Group sub-objects into categories based on the data columns.
Find an object Use the Find dialog box to search for an object or a library in the Class View
pane, contents in the Controller Preview tree, or a library in the Registered
Libraries tree.
To find an object
1. On the toolbar, select EDIT > Find.
2. In Find what, enter the name of an object.
3. In Look in, select Class View, Controller Preview, or Registered
Libraries.
4. (optional) In Find Options, select the check boxes of Match case and
Match whole word.
5. Select Find Next or Find Previous.
Update a project library Any of the libraries used in a project can be updated to incorporate additions
or modifications to library components.
If Newer Library Version Available is enabled in Application Code Manager
settings, indications appear next to objects that can be updated.
Registered Libraries
Registered Libraries Registered Libraries displays all libraries (classes) in the connected ACM
database in a tree view. Add a library to an ACM project to use the objects in it
with your project.
A library object defines parameters, subclasses, user interface contents, and
portions of controller code (example: Logix) and HMI code (example:
FactoryTalk View SE/ME). It can also include custom properties that were
applied using the Library Designer.
The library nodes on the Registered Libraries tree will show an indication if
any of the selected library repositories contain a library with the same solution
and catalog number but a higher revision number.
Right-click any branch in the Registered Libraries tree view to view the
commands available.
This table describes each command. Commands appear at the applicable level
of the tree.
Command Description
Registered Library
Register Used when a library object is provided as a HSL4 file and needs to be incorporated into ACM. Registers one or more library
files (HSL4).
Get updates Updates a library object to a newer version. Notifications appear when Newer Library Version Available in the ACM Default
Settings is selected.
View > Pending Libraries Displays a report showing Database Pending Libraries report. Available only at the Registered Libraries branch.
View > Library Usage Displays a report showing the Registered Library usage for the libraries in the connected ACM database.
Export Exports the selected library to an HSL4 (xml) formatted file to a folder, the destination folder is automatically opened.
Extract Attached Files Extracts the attached files in the selected library to a folder, the destination folder is automatically opened.
Reconstitute ACD Opens the ACD Re-constitution Wizard.
Delete Deletes the selected library in the connected ACM database. Libraries that are used in projects cannot be deleted. If the
library selected for deletion is in use, a Global Library usage report is displayed instead.
Delete all unused Deletes all unused libraries for the selected level in the connected ACM database.
Refresh Refreshes the tree view.
ACM Library
View > Pending Libraries per Solution Displays a report showing the registered library usage for the pending libraries in the selected solution. Available only at a
solution branch.
View > Library Usage per Solution Displays a report showing the registered library usage for the libraries in the selected solution. Available only at a solution
branch node.
View > Pending Libraries per Library Type Displays a report showing the registered library usage for the selected pending library type. Available only at a library type
branch node.
View > Project Library Usage per Library Type Displays a report showing the registered library usage for the selected library type. Available only at a library type branch
node.
View > Pending Libraries per Category Displays a report showing the registered library usage for the selected pending library category. Available only at a library
category branch node.
object
Prerequisites
• Verify that the ACM application is connected to the correct ACM
database.
Tip: The connected database is shown in parenthesis in the Application Code Manager title bar.
Local library and template By default library object files and template files are stored in this location:
Library Repositories Library Repositories displays the configured library repositories. A library
repository refers to another ACM database that can monitored for library
updates. Libraries from these source databases can be easily replicated over to
the currently active database for use within a project. It is unavailable to
create an object directly from a library in a library repository. The library must
first be replicated to the current active ACM database before it can be used to
create an object. Add or remove library repositories in this pane.
Configure controllers
Configure controllers Right-click any controller branch in the Controller Preview or Class View
pane to view the controller configuration commands.
This table describes each Controller command. Commands appear at the
applicable level of the tree.
Command Description
Controller
• Generate Controller Generates a copy of the selected controller from ACM. Displays the Logix Code Generation dialog box. Generates code
(example: L5X or ACD) for the selected controller.
• Add New Adds a new controller object to the project using the Object Configuration Wizard.
• Add New from ACD/L5X Adds a new controller object to the project from an ACD or L5X file. Additional objects may also be added depending
on what is configured and available in the ACD file.
• Update from ACD/L5X Updates the ACM project based on an existing ACD file.
• Detach from ACD/L5X Removes the link between the ACM project and the attached ACD or L5X file.
• Merge Controller Merges content between the original ACM project, updated ACM project, and existing ACD or L5X file. Utilizes the Logix
Designer Compare Tool.
• Add New Program Adds a new program to the current controller object using the Object Configuration Wizard.
• Add New Task Adds a new task to the current controller object using the Object Configuration Wizard.
• Paste Pastes the contents of the clipboard to the selected controller.
• Paste Special Pastes the contents of the clipboard to the selected controller with options.
• Generate Partial Program Displays the Logix Code Generation dialog box. Generates a partial program for the selected task.
• Generate Partial Routine Displays the Logix Code Generation dialog box. Generates a partial routine for the selected task.
• Move Up Moves the highlighted object up the tree.
• Move Down Moves the highlighted object down the tree.
• Set Main Routine This command is available when multiple main routines have been added from different library objects. There can
only be one main routine. If a main routine is already selected this command is dimmed.
• Set Routine Instance Order Displays the Instance Execution Order dialog box which specifies the order in which any contributing objects insert
their code into the routines.
Object
• Import Starts Import Export Manager.
• Export Starts Import Export Manager.
• Delete Deletes the selected object.
• Copy Copies the selected object to the clipboard.
• Rename Renames the selected object.
• Update Updates the selected libraries to the most recent version.
View
• Project Library Usage per Library Displays a report showing the registered library usage for the selected library. Available only at a library branch.
• Network Layout Generates Network Layout report.
• Module I/O Schedule for Rack Module Displays the I/O Schedule showing rack assignments.
• Chassis Layout Displays or prints a report with the I/O Modules in the Controller (local) chassis. Pastes the contents of the clipboard
to the selected Controller with options.
• Add New Instance Adds a new task in the Class View pane.
• Navigate to Library Navigates to the library in the Registered Libraries tree.
• Object References Displays the Object References report.
Generate a controller file After configuring a controller in Application Code Manager, generate the
Logix Designer files for the controller.
To add a controller
1. In the Controller Preview or Class View pane, right-click the
Controllers folder and then click Add New.
The Object Configuration Wizard displays. Controller objects display
in category groups. A triangular marker next to the column name
denotes the current category grouping displayed. Change category
groups by clicking a column heading.
2. Click the + symbol to expand a category and display the controllers in
that group.
Controllers registered in the connected ACM database are listed.
3. Click the desired controller and click Next.
4. In Name, enter a name for the controller.
5. (optional) In Description, modify the descriptive text as needed to help
identify the controller.
6. In the Parameters tab, adjust Controller, HMI, Historian, and Motion
parameters as needed.
7. Click Finish.
The controller adds to the Controller Preview and Class View trees.
Move or copy a controller to For projects in the same database, Copy To and Move To allow you to copy or
another project move a controller from one project to another project from the Class View
pane.
Note: This feature is only available if the product has a Standard activation license and is not available in
Lite mode.
Add a controller from an ACD Add controllers to the Application Code Manager project from an existing
Logix Designer XML file (.L5X) or Logix Designer Project file (.ACD).
or L5X file
5. If Update the Original Snapshot was selected click Next. The Import
From ACD Wizard - Original Snapshot Updated confirmation page
displays, click Finish to close the wizard.
Detach from ACD/L5X files If a controller is updated using an ACD or L5X file then the controller will
maintain an attachment to that file. The next time ACM is started, the ACM
application will attempt to establish a connection to the file. Depending on file
systems, file size, and file location establishing a connection to an ACD or L5X
file may take more time than expected. If needed, the ACM application can
detach the file from the controller.
To contribute an instance
1. In the Controller Preview pane, expand Controllers.
2. Right-click a node shared by multiple instances, and then select
Contributing instances.
A list of contributing instances is shown.
3. Select an instance.
Its parameters property panel opens.
Merge controllers Use Merge Controller to add or update objects from an ACM project into the
attached ACD file.
To merge controllers
1. In either the ClassView or Controller Preview pane right-click the
object to merge.
2. Select Merge Controller. The Logix Designer Compare Tool will be
launched.
Refer to the Logix Designer Compare Tool help files for further
information.
Note: After the merge file has been created, confirm all information is correct prior to deploying.
Add a hardware module Add hardware modules to your controller configuration in the I/O
Configuration branch in the Controller Preview pane.
To delete a module
1. In the Class View pane, right-click the module and then select Delete.
2. In the Delete dialog box, click Yes to confirm that the module should
be deleted.
3. If the object is referenced by other objects the Delete Action dialog box
displays.
a. Click Clear to remove all references to the module being deleted.
b. Click OK to delete the module.
The module is removed from the Class View and Controller Preview
panes.
Use Copy and Paste Special Copy and Paste Special provides the ability to decide whether to include
children, sub-objects, and reference values when pasting a copied object. If an
object is simply pasted all of the associated items are copied and pasted along
with the object. The Copy and Paste Special command is only available from
the Class View pane.
Auto Create Linked Objects How do I open Auto Create Linked Objects?
1. In Controller Preview, expand Controllers, expand the controller
object, right-click a task or program object, then click Add New.
Object Name Browse for an existing object name or set the auto created library object name. Disabled if the library object is parameterized. When an
exact match library is found, the match icon displays beside the object name.
Task Name Assigns the auto created library object to a task. Create a new task by selecting <Add New...>. Disabled if Action is set to Use Existing or
Ignore.
Select multiple auto created library objects and use the task name list to assign these objects to one task.
Program Name Assigns the auto created library object to a program. Create a new program by selecting <Add New...>. Disabled if Action is set to Use
Existing or Ignore.
Select multiple auto created library objects and use the program name list to assign these objects to one program. The program name
list is disabled if these objects are unassigned.
Use ACM Tools Use Application Code Manager tools to assist in reusable code development
and management.
This table describes each of the tools.
Tool Description
Import Export Manager on page 55 Use to import or export ACM project content between Excel spreadsheets (Schedule).
Use for bulk additions, duplications, changes; comparing versions; snapshots; backup customer parameter entry, and/or
transferring project contents.
Database Manager on page 65 Use to create, delete, upgrade, back up, and restore ACM databases.
Plugins Add capabilities to Application Code Manager by installing plugins through the Tools > Plugins command.
Log Debug Information Choose to include debug information in the ACM Log File to help with troubleshooting applications.
Information is written to the ACM log file when design outputs are generated (example:<CLX>, FactoryTalk View,
FactoryTalk Historian, Word) or when schedules are imported or exported.
Log Viewer Use to view the contents of the most recent ACM log file. A new ACM log file is created for each ACM session.
Settings Use to set the location of the system documentation, the language, and the default settings for Control Logix controllers.
Document Template Editor Use to develop and test document generation templates.
Open Target ACD Opens the directory and allows navigation to the ACD file location.
Use to instantiate library content into an existing file, versus creating a new ACD file.
Import Export Manager The Import Export Manager imports and exports ACM project content to and
from schedules using the Excel file format (.xlsx and .xlsm). Schedules include
the scope of the project (example: Project, Controller, Task, Program, Object,
Tag) and content for the project (example: Device List, Device Interlocks).
The Import Export Manager has the following controls:
Control Description
Menu Bar Includes a File menu for identifying the current project and a Tools menu for setting up templates and configuring logging.
Project: Displays the name of the current project selected. If creating a new project, this must be a unique name.
Import Tab Specifies what effect the import will have on the target project and the location of the schedule to import.
• New - Creates a new project using the specified project name.
• Replace - Overwrites the specified project with the project being imported.
• Update - Merges the information being imported into the project specified.
• Auto Continue - Continues the import process automatically.
• Excel File - Enters the path to the schedule Excel file (.xlsx) to import or select the ellipsis to browse to the file location.
• Open Backup Folder - Opens the ACM backup folder.
• Backup original - Creates a backup of the original project.
Compare Tab Compares the currently selected project to a previously saved schedule file and creates a report.
• Only Show Changes - When this item is enabled the comparison report will only include items that are different between the current project and
the specified schedule file.
• Excel File - Provides the path and file name of the schedule file to compare with the current project. Use the ellipsis (...) button to navigate to a file
to open.
• Compare - Clicking this button runs the compare operation. The results of the comparison are displayed in an Excel spreadsheet.
Tags Import Updates parameters in the ACM database with the related tag values in the Tag Configurator workbook. Typically, these values in the workbook are
first uploaded from an online Logix Controller using Open Platform Communications (OPC).
A Tag Configurator workbook can be used to change, download, and upload a controller's AOI or UDT instance tag values.
• Controller - Select an ACM controller to update.
• Excel File - Enter full path of the Tag Configurator workbook (.xlsm) to import or click the ellipsis (...) button to browse to the file location.
• Configuration File - Enter the configuration file name (.xml) or click the ellipsis (...) button to browse to the file location.
• Import - Import the AOI or UDT instance tag values from a Tag Configurator workbook to object parameter values as defined in the configuration
file.
Tag Export Generates a Tag Configurator workbook from ACM with the tag values of the configured ACM object. The Tag Configurator workbook is then used to
write these tag values to an online Logix Controller via Open Platform Communications (OPC).
• Controller - Select an ACM controller containing the tags to export to the Tag Configurator workbook (.xlsm).
• Template File - Enter the template file name (.xls) or click the ellipsis (...) button to browse to the file location.
• Create New Configuration File - Create and uses a new configuration file based on Tag members decorated with the OPC Tag Export option.
• Use Existing Configuration File - Use the defined configuration file to generate the Tag Configurator workbook from the ACM project.
• Configuration File - Enter the configuration file name (.xml) or click the ellipsis (...) button to browse to the file location.
• Export - Export the AOI or UDT instance tag values to a Tag Configurator workbook.
IAB/Architect Creates an ACM partial import file containing Logix hardware modules that are configured in Integrated Architecture Builder (IAB), RSLogix Architect,
or Studio5000 Architect. The utility converts the IAB/Architect (.xml) file into an ACM partial import file (.xlsx). Import the partial import file when a
corresponding ACM library exists in the database.
• IAB / RSLogix Architect XML - Enter the configuration file name (.xml) or click the ellipsis (...) button to browse to the file location.
• Convert - Create an ACM partial import file.
Cancel Closes the Import Export Manager.
<<Previous Not available
Next>> Not available
Finish Closes the Import Export Manager.
(Available after the import, export, or compare process is completed.)
Import a schedule Use the Import Export Manager Import tab to import objects (instances) and
parameter values from a schedule (xlsx). Verify that the correct database
name displays in the ACM Title Bar before starting the import process.
To import a schedule
1. Click Tools, Import Export Manager to open the Import Export
Manager. The most recently used project opens by default.
2. To choose a different project to import, click File > Open and then
select the project from the list. If the ACM database does not contain
any projects, the Project is blank.
3. Select the import method:
• New - Create a new project.
Use to bring projects into a new ACM database.
• Replace- Overwrite project.
Use to revert projects to a previously exported version.
• Update - Merge with existing project.
Use to add content from other projects, or earlier versions of the
same project, to the current project
4. Type a schedule file name (xlsx) in the Excel File text box or click the
ellipsis to browse to the file.
5. Click Import.
• If you choose Replace as the import method, the Import dialog box
opens.
• If you choose New or Update as the import method, the Import
Complete dialog box opens.
Errors, warnings, info, and debug log entries display.
Tip: Filter the list of exceptions by clicking Errors, Warnings, Info, and/or Debug.
6. (optional) Click Show Log File on the Import Complete dialog box to
display the entire contents of the most recent ACM log file in a text
editor.
7. If you chose Replace as the import method, click Next to continue with
the import and change the data in the ACM database.
If you chose New or Update as the import method, click Finish to close
the Import Complete dialog box.
8. Click Finish to close the Import Export Manager.
Import Export Manager The Import Export Manager Import tab is used to import objects and
Import tab settings parameter values from a schedule file.
This table describes the settings on the Import Export Manager Import Tab.
Export a schedule Use the Import Export Manager Export tab to export objects (instances) and
parameter values to a schedule file. Schedules are primarily used for backup
and recovery. Verify that the correct database name displays in the ACM title
bar before starting the export process.
To export a schedule
1. Click Tools, Import Export Manager to open the Import Export
Manager. The most recently used project opens by default.
2. To choose a different project to export, click File > Open and then
select the project from the list.
3. Click the Export tab.
4. Configure the scope of the schedule:
• All Projects
Use to export all projects in the connected ACM database.
• Complete Project
Use to export the currently specified project.
• Partial
Use to export only specific objects and parameter values.
• Under Type, choose either Controller, Hardware, Object, or
Library, then specify the controller and instance to export.
5. (optional) Limit the content (example: Device List, Device Interlocks)
of the schedule by selecting the Use Template check box. Under the
Type category the following options are available:
• Choose Local to limit the schedule to locally available devices.
Use Template Select this check box to limit the items exported to the schedule using a schedule template.
When selected, choose to use either a Local, Project, or Global schedule template.
Show Modified Select this check box to apply color codes in the schedule to denote "changed" (not equal to default) and "unchanged" (equal to default)
parameter values.
Export Used Libraries Includes all the associated library files for the project/controller in the export.
Export Exports the schedule.
The Export button is available when a valid export configuration has been selected.
Export and Open Exports the schedule and opens the schedule in Excel when the export is complete.
The Export and Open button is available when a valid Complete Project or Partial export configuration has been selected.
Compare a project to a Use the Import Export Manager Compare tab to compare the current project
to a previously saved schedule file and create a report that highlights the
saved schedule differences.
Update controller Use the Import Export Manager Tag Import tab to update parameters in the
ACM database with the related tag values in the Tag Configurator workbook.
parameters with the related Typically, these values in the workbook are first uploaded from an online
tag values Logix Controller using Open Platform Communications (OPC). A Tag
Configurator workbook can be used to change, download, and upload a
controller's AOI or UDT instance tag values.
Generate a Tag Configurator Use the Import Export Manager Tag Export tab to generate a Tag
Configurator workbook from ACM with the tag values of the configured ACM
workbook object. The Tag Configurator workbook is then used to write these tag values
to an online Logix Controller via Open Platform Communications (OPC).
Create an ACM partial import Use the Import Export Manager IAB/Architect tab to create an ACM partial
import file containing Logix hardware modules that are configured in the
file Integrated Architecture Builder (IAB) or Studio 5000 Architect. The utility
converts the IAB/Architect (.xml) file to an ACM partial import file (.xlsx).
Import the partial import file when a corresponding ACM library exists in the
database.
Create a new schedule Use the Template Manager tool of the Import Export Manager to create
schedule templates. Schedule templates determine the scope of the schedule
template (local, project, or global), the library objects used, and the parameters that are
visible.
Manager 1. Click Tools, Import Export Manager to open the Import Export
Manager.
2. In the Import Export Manager window, click Tools > Import Export
Template Editor.
The Template Manager can be used to create custom schedule templates, copy
schedule templates, or move schedule templates from one location to another.
Three schedule template locations are available:
• Local – Located in the Windows User Folder. Available only to the ACM
User.
• Project – Located in the ACM database. Available to all ACM users with
this project currently open.
• Global – Located in the ACM database. Available to all ACM users
connected to this ACM database.
Template Manager The Copy/Move Templates tab is used to copy or move a template.
Copy/Move Templates tab This table describes the settings on the Copy/Move Templates tab.
settings Setting Description
Source Template Selects a schedule template. Select a schedule template location, a project name (if located in a
project), and a schedule name.
• Rename Rename the source template
• Duplicate Duplicate the source template
• Delete Delete the source template
Copy Copies the source template to the location specified in Destination Template.
Move Moves the source template to the location specified in Destination Template.
Destination Template Selects a location to move or copy the selected source template to.
Choose either
• Global - Places the template in the ACM database and makes it available to all users
• Project - Places the template in the ACM database and makes it available when the specified project
is opened.
• Local - Places the template in the locate user template folder on the local computer. The template is
only available to the local user.
Open User Template Folder Opens the file browser scoped to the local user template folder.
Finish Close the Template Manager and returns to the Import Export Manager.
Template Manager Template Use the Template Editor tab of the Template Manager to create, delete, or
edit schedule templates.
Editor tab settings
This table describes the settings on the Template Editor tab.
Setting Description
Template Selects a schedule template. Use the combo boxes to select a schedule template location, a project name (if located in a
project), and a schedule name.
Click New to create a new schedule template
Click Delete to delete the selected schedule template.
If the schedule template format is old, Template Manager asks for permission to upgrade the template format to the
latest version when the schedule template is selected.
Reload Cancels any template changes made since the last Save command was executed by reloading the schedule template
from the schedule template settings file (C:\Documents and Settings\<username>\Local Settings\ Application
Data\Rockwell Automation\Application Code Manager \ Templates\<template>).
Finish Closes Template Manager.
Database Manager The Database Manager controls how Application Code Manager interacts
with the SQL Server database. It also provides the ability to create, backup,
and recover databases.
Create an ACM database Application Code Manager (ACM) uses a database to store re-usable code. At
least one database is required, but additional databases can be created as
needed.
• Password: The SQL Server password associated with the user name.
• ACM default sa password Use the default ACM password instead of typing a password.
Check this box if the default SQL Server password was entered when SQL Server was installed.
• Connect When this button is clicked Application Code Manager attempts to connect to the database named in the Select a database
name on the SQL Server entered in the Server name combo box.
Log Debug Information To assist in troubleshooting Application Code Manager enable logging of
debug information to the ACM Log File.
Information is written to the ACM log file when design outputs are generated
(example:<CLX>, FactoryTalk View, FactoryTalk Historian, Word) or when
schedules are imported or exported.
Once the additional logging information is no longer needed, disable log
debug information.
The entries displayed in the event grid can be filtered by type of events by
clicking the button corresponding to the item to remove from the list.
When an item is not included in the view the button is shaded gray:
By default, the Log File Viewer displays events in ascending date time order.
The order can be changed to be either ascending or descending and be based
on any of the columns displayed in the events grid. Click on the column
heading to sort the display by Type, Date/Time or Description. A small arrow
appears next to the column heading being sorted and denotes whether the
current sort order is by ascending (up arrow) or descending (down arrow)
values.
Newer Library Version Available Sets whether an indication is shown when a node or folder contains one or more libraries that has a newer version
available in Registered Libraries. The default value is cleared.
Library Export Options Configures the exported files, includes:
• Exclude revision number from file name: remove revision number from the exported files. The Highest revision library
only option will be selected automatically after selecting this option.
• Highest revision library only: export the highest revision library only.
The Editor, Output, and Code Snippets panes can be undocked and moved
around on the desktop to suit your requirements.
Menu bar Selects editing options in the Menu bar. This table describes each option.
Item Description
File • New
Creates a new file.
• Open
Opens an existing file.
• Save
Saves the currently active template document if it changed.
• Save As
Saves the currently active template document with a different file
name.
• Close All
Closes all active windows.
• Recent Files
Displays the last ten recently closed template document files.
• Exit
Closes the Document Template Editor.
Tool bar Selects application configuration options in the Tool bar. This table describes
the options in the Tool bar.
Item Description
Save File Saves the document template file. This button will be enabled when
changes are made to the currently active Editor pane.
If the file has not been previously saved but is a new file then the
Save As dialog will be presented to the engineer allowing for a file
name and location to be selected.
Cut Text Cuts the selected text. This button will be enabled when at least one
character in the active Editor pane is selected. When clicked,
selected text will be cut from the page and stored on the clipboard.
Copy Text Copies the selected text. This button will be enabled when at least
one character in the active Editor pane is selected. When clicked,
selected text will be copied and stored on the clipboard.
Paste Text Pastes the copied text. This button will be enabled when there is
information stored on the clipboard and if an active Editor pane is
currently selected. When clicked, the contents of the clip board will
be pasted into the active editor pane at the currently selected
location.
Delete Text Deletes the selected text. This button will be enabled when at least
one character in the active editor pane is selected. When clicked
then the selected text will be deleted from the Editor pane.
Undo Undoes the previous edit operation in the active Editor pane.
Redo Redoes the previous undo operation in the active Editor pane.
Word Wrap Wraps the text in the editor to the space available in the Editor pane.
If this function is switched off then text for a line will extend off the
page and the horizontal draw bar will need to be used to view parts
of the line that extend past the end of the editor panel. This option
will only apply to the currently active editor window and will not be
applied on application startup.
Line Numbers Displays a vertical list of line numbers on the left side of the Editor
pane when this option is enabled.
Show EOL Char Displays end of line characters (CR / LF). This option will only apply
to the currently active editor window and will not be applied on
application startup.
Validate Runs a validation check on the currently active editor pane. Any
detected syntax errors will be displayed in the output Syntax Error
pane. If no syntax errors are encountered then the following prompt
will be displayed.
Generate Runs a document generation process for the active Editor pane.
Output, syntax errors and compile information will be displayed in
the Output pane. Compile information will be displayed in the status
bar on the left hand side and progress on the right side while the
document generation process is running.
Stop Generation Stops the generation process. This button will only be enabled when
a document generation process is underway.
Selected Project Displays the currently loaded ACM project. The Document Generation
Editor will always use the loaded project that is active within ACM.
This field is not configurable.
Output panel The Output panel contains three tabs for the following output information:
Generated output, syntax error and compilation activity output.
Tab Description
Output The Output pane contains the result of a documentation generation
process as processed through the loaded template. It is also possible to
save the document to either (.txt), (.csv), (.xml) via the save button on the
Output toolbar. The Clear Display button is also available for clearing all
output from the pane.
Syntax Error The Syntax Error panel contains a description of any syntax errors
detected by the documentation engine. One line will be printed for every
error detected. The line number of where the error occurs as well as the
type of error will be included in the error message. The Syntax Error
panel will only contain syntax errors for the currently active editor pane.
Compile Info The Compile Info panel contains information pertaining to the document
generation process. Each line will always print out a date and time for
the event, followed by the actual message description. When the
Advanced option is selected see section (Compile Options) then more
detailed information would be printed out such as a list of project
libraries in use, objects cached etc.
Sometimes a compilation error may be encountered. An example of a
compilation error would be where a defined object name could not be
resolved. This error would be highlighted in blue as follows:
Editor pane This table describes the functions of the Editor pane.
Item Description
Language keyword The Editor pane supports language text highlighting for the documentation generation language.
highlighting Document generation instructions are always highlighted in blue: .
Library items in orange: .
Comments will be printed in green: .
Supported instructions Use instructions to develop a document template in the Editor on page 76
pane. The Document Template Editor on page 71 supports the following
instructions:
• Repeat
• Break
• Conditional
• Define
• Set
• Substitution
• Comment
• Log
Repeat instruction Looping is the most important functionality in the template language and
determines where the documentation engine attaches its data source. In
essence the looping statement opens a data set specified by a query string,
and then iterates each record within the dataset. All the text contained within
the loop will be repeated for every record returned by the specified query.
The basic layout of the looping statement is as follows:
##Repeat.n(RepeatType: Query)
... Text to be repeated ...
##EndRepeat.n
##EndRepeat This instruction informs the documentation that the current line
denotes the end of the loop.
(Optional)This instruction allows the values returned in a
##Repeat statement based on the provided query to be sorted
OrderBy in ascending or descending order. See Types datasets for
available fields. The sort order can be controlled by specifying
asc for ascending order or desc for descending order.
Repeat Types
Repeat Type Data Source Description
Object Typed Dataset All object instances matching the query
All sub object instances matching the query, of
SubObject Typed Dataset
the object instance currently iterating
SubObjectAll Typed Dataset All sub object instances matching the query
All objects referencing the instance specified in
ObjectReferences Typed Dataset
the query
Collection All collection items of the currently iterating
Collection
Dataset object or sub-object matching the query
Collection All collection items of all objects matching the
CollectionAll
Dataset query
Raw SQL data
SQL All items (rows) returned by the query.
set
SubObject and Collection repeat types are only valid when directly nested
under other specific repeat types.
Operator Description
=
Equals
==
!= Not Equals
<> Not Equals
> Greater Than
>= Greater Than And Equal To
< Less Than
<= Less Than And Equal To
&&
Logical And
and
||
Logical Or
or
Break instruction The break statement exits the closest enclosing loop in which it appears.
Control is passed to the statement that follows the exited statement, if any.
The syntax for the break statement is as follows:
##Break
Example:
The break statement is useful when filtering loops with a conditional
statement. The example below breaks the inner most loop once the
filter-expression is matched.
Conditional instruction Conditional statements in the template language allow blocks of text to be
included based on a logical statement. This conditional inclusion of text is
implemented using the if--else-end pattern found in most programming
languages.
Substitution instruction The substitution functionality in the template language is used to replace text
in the template with values from the attached data source. This allows the
template to be replaced with actual application data for each specific record.
The substitution statement has the following format:
[n.{FieldName}]
Important:
Template language substitutions
In addition to being replaced within the body of a template, substitutions are
also valid in the template language itself:
• Looping queries
• Conditional statements
Project parameters
With ACM the project parameters are global to all objects in a specific project.
In order to simplify the substitution syntax, project parameters may be
accessed directly within the template language.
The project parameter syntax is defined as follows:
[p.{AnyValidProjectParameterName}]
Define instruction The define instruction is used to define a new variable to be used throughout
a document template. The variable is not bound by any Repeat loops.
The define instruction is typically used in conjunction with the ##Set
instruction and is useful when a value from an outer Repeat loop needs to be
passed to another outer Repeat loop.
The define statement has the following format:
The syntax for using the value of the variable in a template has the following
format:
[d.{variable}]
Example:
##Define(myObjName, string, "")
##Define(myObjNameLength, int, 0)
Set instruction The set instruction allows for a variable that is declared in the ##Define
instruction to be updated with a new value. The set instruction accepts two
parameters: 'variable' which is the name of the variable to be updated and
'value' which refers to the new variable value or reference.
The set statement has the following format:
##Set(variable, value)
The syntax for using the value of the variable in a template has the following
format:
[d.{variable}]
Example:
##Set(myObjName, "[1.{ObjectName}]")
##Set(myObjNameLength, [1.{ObjectName.Length}])
Comment instruction Comments may be added to templates with the following syntax:
##! I am a comment
It is important to note that all comments are removed from the template
during generation.
Log instruction Logging may be added to templates with the following syntax:
##Log I am log message
It is important to note that all logging is removed from the template during
generation. All log messages are written to the ACM log with level ‘Debug’.
Types datasets There are two typed datasets available to the documentation engine, one for
Object repeat types and one for SubObject repeat types shows the available
fields in the Object typed dataset. SubObject typed datasets contain all the
fields shown in the SubObject fields table, with additional SubObject specific
fields.
Object fields
Field Data Type Original Database Table
ObjectID Int Objects
ProjectID Int Objects
ControllerID Int Objects
ParentObjectID Int Objects
ObjectName String Objects
ObjectDescription String Objects
LibraryID String RegisteredLibraries
CatalogNumber String RegisteredLibraries
Family String RegisteredLibraries
LibraryType String RegisteredLibraries
CoreType String RegisteredLibraries
Category String RegisteredLibraries
LibraryDescription String RegisteredLibraries
MajorRev Int RegisteredLibraries
MinorRev Int RegisteredLibraries
Owner String RegisteredLibraries
SubObject fields
Field Data Type Original Database Table
SubObjectID Int SubObjects
SubObjectName String SubObjects
SubObjectDescription String SubObjects
SubObjectType String SubObjects
Raw SQL data Raw SQL datasets are dynamic and the fields available are dependent on the
columns returned by the specified SQL query. As such this section will briefly
define the important ACM database tables and outline how the data source
filtering, mentioned previously, can be obtained using raw SQL statements.
Dataset filtering/scoping
In order to provide dataset scoping on raw SQL queries, the documentation
engine will create four temporary tables at the beginning of each generation
session.
The four temporary tables are listed as follows:
1. #Objects
2. #Parameters
3. #SubObjects
4. #SubParameters
The following example shows the use of these temporary tables within an
ACM documentation template. Consider the scenario to list the names of all
the objects in system.
The first example will return all the Objects in the database regardless of the
level from which the generation was executed within the ACM.
##Repeat.1(SQL: SELECT * FROM Objects)
[1.{Name}]
##EndRepeat.1
Technical view of looping Perform a technical review on the following methods after code editing.
statements Object
##Repeat.1(Object: Query)
SubObject
##Repeat.1(Object: ...)
##Repeat.2(SubObject: Query)
SubObjectAll
##Repeat.1(SubObjectAll: Query)
Collection
##Repeat.1(Object/SubObject/SubObjectAll: ...)
##Repeat.2(Collection: Query)
CollectionAll
for each Object where "has collection"
{
for each item in collection
{
• Objects: All objects used in ACM projects will be recorded in this table.
Columns available are displayed below:
From the above screenshot we can see that the ProjectID we are looking for
has a value of 6. The next step is to write a query for the Objects table using the
ProjectID with a filter value of 6 which will return only records for this project.
In addition to the ProjectID we need to return records for only instances of
the library with a catalog number of "MsDinSiS". We are also only interested
A total count for the number of matches will be returned in the result. An
example is provided for a specific project where 128 matches are found:
Working with SQL Queries in A valid SQL query will need to be constructed and verified before it can be
incorporated into a document generation script via the use of a SQL:
Document Generation keyword. A basic working knowledge of SQL would be required in order to
Scripts accomplish this task. Queries would need to be written and tested via a SQL
tool in order to determine that no syntax errors are present and that the
correct information is returned. Examples of available tools include Microsoft
SQL Server Management Studio and the Microsoft sqlcmd utility. More
information about both utilities can be obtained via the Microsoft website.
A dataset returned via a SQL statement would need to be processed within a
Document Generation Template via a looping statement in the form of a
##Repeat statement. This statement allows for the Document Generation
Engine to process each record within a dataset for output.
Example Query 1
Running this query when connected to a SQL database via SQL Management
Studio or sqlcmd will return a list of all data contained within the Objects
table within the ACM database.
IMPORTANT In order to provide dataset scoping on raw SQL queries, the documentation engine will
create four temporary tables at the beginning of each generation session. The four
temporary tables are listed as follows:
1. #Objects
2. #Parameters
3. #SubObjects
4. #SubParameters
Each table will contain information pertaining to the currently open ACM project. It is possible
to retrieve any information contained in the ACM database though by specifying the specific
table or view. As an example, we could retrieve all data from the Objects table which does
not have the preceeding "#" in the name as with the temporary table name (#Objects).
Example Query 2
In this example we are going to be querying information from the temporary
objects table which will provide information relating to the current ACM
project only. We are going to retrieve information on objects relating to a
specific library. Once again, we are going to be selecting the "Name" and
"Description" fields but this time the query will be optimized and will only
return these fields to the dataset. We will replace the "*" wildcard used in the
previous query with the actual fields we want to return.
Search parameters will be to a specific library so that we return objects for this
library only. The WHERE part of the SQL statement will accomplish this and
provide the filter. The catalog number field within the #Objects temporary
table will be used where we will be returning records that match the value as
specified. In the test example only record matches will be returned where the
CatalogNumber column equals the value ‘MsVlv2sS’.
Add ACM library content to Add content from the ACM library to an existing ACD project by opening the
ACD in Application Code Manager.
an existing ACD project
Reports
Reports Application Code Manager includes a variety of reports to help you track the
usage of code objects in your projects.
This table lists the reports available:
Report Description
Project History For the current project, shows the major revision, minor revision, the user account that made the revision, the date
and time that the revision occurred, the comment associated with the revision, and the status of the project at the
revision point.
All Library Usage (Current Project) For the current project, shows the name of the solution, the type of library, the category of the library object, the
catalog number of the library object, the major revision of the library, the minor revision of the library, the number of
usages of the library object in the project, and the status of the library.
Library Usage per Solution (Current Project) For the selected library in the current project, shows the type of library, the category of the library object, the catalog
number of the library object, the major revision of the library, the minor revision of the library, the number of usages
of the library object in the solution, and the status of the library.
Library Usage per Library Type (Current Project) For the selected library type in the current library of the current project, shows the category of the library object, the
catalog number of the library object, the major revision of the library, the minor revision of the library, the number of
usages of the library object in the solution, and the status of the library.
Library Usage per Category (Current Project) For the selected category in the selected library type of the current library associated with the current project, shows
the catalog number of the library object, the major revision of the library, the minor revision of the library, the number
of usages of the library object in the solution, and the status of the library.
Library Usage for Selected Library (Current Project) For the selected library object within a selected category in the selected library type of the current library associated
with the current project, shows the total number of times the library object is referenced and the number of times
the object is used by each controller in the current project.
Chassis Layout For the chassis of the selected controller object, shows the slot assignments, module names, module type, and
module information.
I/O Schedule For the selected I/O module of the current controller object, shows the I/O points, type, module information, and
description.
Network Layout For the selected communication module of the current controller object, shows the IP Address assigned to the
module the module name, the module type, and connections information.
Library Usage per Project For the connected ACM database, shows the solution, the library type, the library category, the catalog number, the
major revision, the minor revision and the number of times used in projects.
Pending Libraries in database For the connected ACM database, shows the libraries that have not yet been published. Identifying them by solution,
library type, category, catalog number, major revision and minor revision.
Library Usage per Solution in database For the selected solution in the connected ACM database, shows the library type, the library category, the catalog
number, the major revision, the minor revision and the number of times used in projects.
Pending Libraries per Solution in database For the selected solution in the connected ACM database, shows the libraries that have not yet been published.
Identifying them by library type, category, catalog number, major revision and minor revision.
Library Usage per Library Type in database For the selected library type of a solution in the connected ACM database, shows the library category, the catalog
number, the major revision, the minor revision and the number of times used in projects.
Library Usage for Selected Library in database For the selected library object within a library type, shows the total number of times the object is used and the
usages per project.
Report command reference Reports on page 99 are generated by selecting the report command from the
View context menu. Different reports are available depending on the object
selected.
Use this table to locate each report. Items enclosed in brackets [] are replaced
by the name of the item in your ACM database.
Report Command
Project History System View > [Project] > View > Project History
Project Library Usage System View > [Project] > Used Libraries > View > Project Library Usage Count
Project Library Usage per Solution System View > [Project] > Used Libraries > [Library folder] > View > Project Library Usage per Solution
Project Library Usage per Solution, Library Type System View > [Project] > Used Libraries > [Library folder] > [Library type folder] > View > Project Library Usage per
Library Type
Project Library Usage per Solution, Library Type, System View > [Project] > Used Libraries > [Library folder] > [Library type folder] > [Library category folder] > View
Category > Project Library Usage per Category
Project Library Usage per Library System View > [Project] > Used Libraries > [Library folder] > [Library type folder] > [Library category folder] >
[Library object] > View > Project Library Usage per Library
Chassis Layout Controller Preview > [Controller object] > I/O Configuration > View > Chassis Layout
I/O Schedule Controller Preview > [Controller object] > I/O Configuration > Backplane > [I/O Module] > View > Module I/O Schedule
for Rack Module
Network Layout Controller Preview > [Controller object] > I/O Configuration > Backplane > [Communication Module] > View > Network
Layout
Database Library Usage per Library Type Registered Libraries > [Solution] > View > Library Usage per Library Type
Database Pending Libraries per Library Type Registered Libraries > [Solution] > [Library Type] > View > Pending Libraries per Library Type
Database Library Usage per Library Registered Libraries > [Solution] > [Library Type] > [Library Object} > Library Usage per Library Type
Generate a report Reports on page 99 are generated from the View context menu. Different
reports are available depending on the object selected.
To generate a report
1. Select the object in the tree that you want to report on. Reports are
available from objects in the System View, Controller Preview, Class
View, and Registered Libraries panes.
2. Right-click the object, select View and then choose the report to run.
3. The report appears in a new window.
• If there are multiple pages in the report, use the navigation controls
to move forwards and backwards through the report information.
• To rerun the report to incorporate changed information, click
Refresh.
• To send the report to a printer, click Print.
The Print dialog box opens. Confirm the printer in Select Printer is
correct. Optionally, specify the Page Range and Number of copies to
print. By default one copy of all pages in the report are printed. Click
Print to print the report.
• To save the report to a file, click Export and then choose Excel, PDF,
or Word.
The Save As dialog box opens. In File name, type a name for the
report being exported. Save as type is already selected for the
appropriate file format (.pdf, .xlsx, or .docx).
Click Save to save the report.
ACM Console
ACM Console The ACM Console is a command-line interface for Application Code Manager
that supports scripting and is used to quickly perform operations in the ACM
database.
The ACM Console commands can be executed directly from the command line
which has a few additional arguments:
• Usage: ACMConsole.exe -p "C:\Script Files\Script.txt"
• Usage: ACMConsole.exe -s to run in silent mode
• Usage: ACMConsole.exe -c to continue on errors
• Usage: ACMConsole.exe -l <FILENAME> to specify an alternative log
file
Execute ACMConsole.exe without any arguments to launch interactive
console:
• -p Path of the script file
• -s Silent mode
• -c Continue on errors
• -l Alternative log filename
• help Display this help screen
This table lists the commands available in the ACM Console. For more
information, such as parameters, data types, and usage information for a
command, type help <nameofcommand>.
Command Description
begincreate Required before using any CREATE command(s).
clearlog Clears the log memory.
createcontroller Creates a controller from script file. After calling create command(s) the endcreate command must be
called to initiate object creation.
createobjects Creates objects from script file. After calling create command(s) the endcreate command must be called to
initiate object creation.
createproject Creates a project from script file. After calling create command(s) endcreate must be called to initiate object
creation.
createdatabase Creates an ACM database.
deletedatabase Deletes the specified ACM database.
deletecontroller Deletes a specified controller.
deleteproject Deletes a specified project.
editparameters Edits the values of an object instance’s parameters.
endcreate Required after using any create command(s), to initiate object creation.
exportallprojects Exports all ACM projects to Excel files.
exportlibrariesbyattribute Exports libraries filtered by attribute to HSL4 files.
exportlibrariesbyproject Exports libraries used in a project to HSL4 files.
exportlibrariesbyquery Exports libraries filtered by query to HSL4 files.
Open the ACM Console The ACM Console on page 103 is a separate application from Application Code
Manager.
Create an Application Code Create an Application Code Manager Console script to store a set of
commands for later or repeated use.
Manager Console script
Attribute Description
Name The name of the library object instance.
Task The task name in which the instantiated library content will reside if the library
is a task type library. If applicable, Project and Controller objects may be left
empty.
Program The program name in which the instantiated library content will reside if the
library is a program type library. If applicable, Project and Controller objects
may be left empty.
Description The description message of the library instance.
Guid The unique ID of the library in the ACM database. During instantiation, if a Guid
is supplied, the database is queried to find a match.
• If the Guid is supplied then the Sol, Catalog Number, Maj and Min attributes
are ignored.
• If the Guid is not supplied then Sol and Catalog Number must be supplied.
Sol The solution category defined within the library. This is a mandatory field if
Guid is not supplied.
Catalog Number The catalog number as defined within the library. This is a mandatory field if
Guid is not supplied.
Maj The major revision number of the library. This is an optional field. If omitted
and Guid is not supplied then the highest major library revision number will be
selected.
Min The minor revision number of the library. This is an optional field. It can only be
included if the Maj attribute is present. If it is excluded then the highest
minimum library revision number will be selected.
Attribute Description
Name The name of the parameter. This is a mandatory field and must be supplied.
Value The value assigned to the parameter. This is a mandatory field and must be
supplied.
RefVal This attribute only applies to reference type parameters.
If supplied, this value adds the reference to the parameter value, such as
#refvalue.
If not supplied, then a reference value is not added to the parameters value.
SubObject <ISObj> The SubObject <ISObj> node represents a Sub Object. SubObject parameters
must be supplied as <IPar> nodes within the child <IPars> node.
Parent node:
• <ISObjs>
Child node(s):
• <IPars>
Linked Library <ILLib> The Linked Library <ILLib> node represents a linked library reference.
Parent node:
• <ILLibs>
Attribute Description
Name The name displayed for the Linked Library.
Value The instance name of the target library.
Interface Links <IILink> The Interface Links <IILink> node represents an interface link for a library
instance. An Interface Link requires one <IMems> child nodes and one or
more <IMem> grandchild nodes.
Parent node:
• <IObjs>
Child node(s):
• <IMems>
Attribute Description
Name The name of the interface link.
Keying Can either be specified as ExactMatch or Disabled.
ExactMatch: ACM matches input members against their respective Key Id and
Revision field values.
Disabled: ACM does not match input members against their respective Key Id
and Revision field values.
RefInt A reference to the library instance to which the Interface Link points.
Interface Members <IMem> The Interface Member <IMem> node represents the configuration of an
Interface Link member.
Parent node:
• <IMems>
Attribute Description
Name The name of the Interface Member.
Controller Object <ICOObj> The Controller Object <ICOObj> node represents an object that appears in the
Application Code Manager Controller Preview pane.
Controller Objects are only required when additional object configuration is
required for a controller object, such as Instance Execution Ordering.
Parent node:
• <ICOObjs>
Attribute Description
Name The name to be assigned to the controller object.
Obj The instantiated name of the library object.
COParent The name of the parent within which the object resides.
Type The type of object, such as PROGRAM, ROUTINE, or AOI.
NameSub The substitution name, if applied.
Order Specifies where a routine would be displayed under its parent program node
within the ACM Controller Preview panel. For example, a routine with an Order
value of 0 is displayed at the top of the tree. A routine with an Order value of 1
is displayed next in the list.
MarkDel Excludes an AIO for a specific controller.
MainRtn Specifies the level of the routine.
2: Sets the routine as the active routine.
1: Sets the routine as an inactive routine.
0: Sets the routine as a normal routine.
InstExecOrder Specified for ROUTINE types, otherwise the value is blank. The value specifies
the routine execution order number. This value will determine in what
sequence routines are processed when generating a controller from within
ACM.
Legal Notices Rockwell Automation publishes legal notices, such as privacy policies, license
agreements, trademark disclosures, and other terms and conditions on the
Legal Notices page of the Rockwell Automation website.
Literature Library Find installation instructions, manuals, brochures, and technical data publications. rok.auto/literature
Product Compatibility and Download Center Get help determining how products interact, check features and capabilities, and find rok.auto/pcdc
(PCDC) associated firmware.
Documentation feedback
Your comments help us serve your documentation needs better. If you have any suggestions on how to improve our content, complete the form at
rok.auto/docfeedback.
Rockwell Automation maintains current product environmental information on its website at rok.auto/pec.
Allen-Bradley, expanding human possibility, Logix, Rockwell Automation, and Rockwell Software are trademarks of Rockwell Automation, Inc.
Trademarks not belonging to Rockwell Automation are property of their respective companies.
Rockwell Otomayson Ticaret A.Ş. Kar Plaza İş Merkezi E Blok Kat:6 34752, İçerenkÖy, İstanbul, Tel: +90 (216) 5698400 EEE YÖnetmeliğine Uygundur