FactoryTalk Application Code Manager User Manual
PDF
Document
Advertisement
Advertisement
Application Code Manager
User Manual
Version 4.04.00
User Manual
Original Instructions
Important User Information
Read this document and the documents listed in the additional resources section about installation, configuration, and operation of this equipment before you install,
configure, operate, or maintain this product. Users are required to familiarize themselves with installation and wiring instructions in addition to requirements of all
applicable codes, laws, and standards.
Activities including installation, adjustments, putting into service, use, assembly, disassembly, and maintenance are required to be carried out by suitably trained
personnel in accordance with applicable code of practice.
If this equipment is used in a manner not specified by the manufacturer, the protection provided by the equipment may be impaired.
In no event will Rockwell Automation, Inc. be responsible or liable for indirect or consequential damages resulting from the use or application of this equipment.
The examples and diagrams in this manual are included solely for illustrative purposes. Because of the many variables and requirements associated with any particular
installation, Rockwell Automation, Inc. cannot assume responsibility or liability for actual use based on the examples and diagrams.
No patent liability is assumed by Rockwell Automation, Inc. with respect to use of information, circuits, equipment, or software described in this manual.
Reproduction of the contents of this manual, in whole or in part, without written permission of Rockwell Automation, Inc., is prohibited.
Throughout this manual, when necessary, we use notes to make you aware of safety considerations.
WARNING: Identifies information about practices or circumstances that can cause an explosion in a hazardous environment, which may lead to personal
injury or death, property damage, or economic loss.
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.
These labels may also be on or inside the equipment to provide specific precautions.
SHOCK HAZARD: Labels may be on or inside the equipment, for example, a drive or motor, to alert people that dangerous voltage may be present.
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).
The following icon may appear in the text of this document.
Tip: Identifies information that is useful and can help to make a process easier to do or easier to understand.
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.
2
LOGIX-UM003K-EN-E - March 2024
Rockwell Automation, Inc.
Contents
Application Code Manager....................................................................................................................................................................................................................... 7
Product overview.....................................................................................................................................................................................................................................................................7
Design process..............................................................................................................................................................................................................................................................8
Library objects.............................................................................................................................................................................................................................................................10
Templates.......................................................................................................................................................................................................................................................................11
Schedules.......................................................................................................................................................................................................................................................................11
Design Automation Concept...................................................................................................................................................................................................................................... 12
Create a central ACM database................................................................................................................................................................................................................................ 12
Upgrading a central ACM database..........................................................................................................................................................................................................................13
Initial configuration.....................................................................................................................................................................................................................................................13
Upgrade the application............................................................................................................................................................................................................................................ 14
Navigate the user interface.................................................................................................................................................................................................................................................15
Connect to an ACM database................................................................................................................................................................................................................. 18
Settings of Connection Properties......................................................................................................................................................................................................................................19
Settings of Advanced Properties....................................................................................................................................................................................................................................... 20
Project Development..............................................................................................................................................................................................................................27
Project commands................................................................................................................................................................................................................................................................ 27
Create a new project............................................................................................................................................................................................................................................................28
Create a project from a project.........................................................................................................................................................................................................................................29
Add a Historian object......................................................................................................................................................................................................................................................... 29
Add a Historian sub-object................................................................................................................................................................................................................................................. 29
Historian Point Type parameters.......................................................................................................................................................................................................................................30
Generate a Historian object................................................................................................................................................................................................................................................32
Add an HMI object.................................................................................................................................................................................................................................................................33
Add a Display sub-object.....................................................................................................................................................................................................................................................33
HMI Display parameters.......................................................................................................................................................................................................................................................34
Generate an HMI object........................................................................................................................................................................................................................................................35
Add an Alarm Group sub-object......................................................................................................................................................................................................................................... 35
FTAE Alarm Group parameters........................................................................................................................................................................................................................................... 36
Find an object........................................................................................................................................................................................................................................................................36
Update a project library...................................................................................................................................................................................................................................................... 36
Extract attached files...........................................................................................................................................................................................................................................................37
Indications..............................................................................................................................................................................................................................................................................38
Rockwell Automation, Inc.
LOGIX-UM003K-EN-E - March 2024
3
Registered Libraries.............................................................................................................................................................................................................................. 39
Registered Libraries overview............................................................................................................................................................................................................................................ 39
Register an ACM library object................................................................................................................................................................................................................................ 40
Reconstitute an ACD file........................................................................................................................................................................................................................................... 40
View registered library usage...................................................................................................................................................................................................................................41
Share reusable resources......................................................................................................................................................................................................................................... 42
Local library and template file................................................................................................................................................................................................................................ 42
Library Repositories............................................................................................................................................................................................................................................................. 42
Configure controllers............................................................................................................................................................................................................................ 44
Generate a controller file.................................................................................................................................................................................................................................................... 45
Add a new controller............................................................................................................................................................................................................................................................ 46
Move or copy a controller....................................................................................................................................................................................................................................................47
Select Destination Project dialog.......................................................................................................................................................................................................................................47
Add a controller..................................................................................................................................................................................................................................................................... 47
Update a controller...............................................................................................................................................................................................................................................................48
Detach a controller............................................................................................................................................................................................................................................................... 49
Contribute instances............................................................................................................................................................................................................................................................ 49
Merge controllers...................................................................................................................................................................................................................................................................49
Add a hardware module.......................................................................................................................................................................................................................................................49
Delete a hardware module..................................................................................................................................................................................................................................................50
Use Copy and Paste Special...............................................................................................................................................................................................................................................50
Add a new instance...............................................................................................................................................................................................................................................................51
Add a new software object..................................................................................................................................................................................................................................................51
Generate a partial program................................................................................................................................................................................................................................................. 51
Generate a partial routine...................................................................................................................................................................................................................................................52
Object Configuration Wizard............................................................................................................................................................................................................................................... 52
Auto Create Linked Objects.................................................................................................................................................................................................................................................53
Use ACM Tools .......................................................................................................................................................................................................................................55
Import Export Manager........................................................................................................................................................................................................................................................ 55
Import a schedule...................................................................................................................................................................................................................................................... 58
Import tab settings.................................................................................................................................................................................................................................................... 59
Export a schedule...................................................................................................................................................................................................................................................... 60
Export tab settings..................................................................................................................................................................................................................................................... 61
Compare a project to a schedule............................................................................................................................................................................................................................62
Compare Tab settings................................................................................................................................................................................................................................................62
4
LOGIX-UM003K-EN-E - March 2024
Rockwell Automation, Inc.
Update controller parameters with the related tag values................................................................................................................................................................................63
Tags Import tab settings.......................................................................................................................................................................................................................................... 63
Create a Tag Configurator workbook..................................................................................................................................................................................................................... 64
Tags Export tab settings...........................................................................................................................................................................................................................................64
Create an ACM partial import file............................................................................................................................................................................................................................64
IAB/Architect tab settings.........................................................................................................................................................................................................................................65
Create a new schedule template.............................................................................................................................................................................................................................65
Import Export Template Manager................................................................................................................................................................................................................. 66
Copy/Move Templates tab settings...............................................................................................................................................................................................................66
Template Editor tab settings......................................................................................................................................................................................................................... 67
Database Manager................................................................................................................................................................................................................................................................ 68
Create an ACM database...........................................................................................................................................................................................................................................68
Upgrade an ACM database........................................................................................................................................................................................................................................69
Backup an ACM database..........................................................................................................................................................................................................................................69
Restore an ACM database......................................................................................................................................................................................................................................... 70
Delete an ACM database.............................................................................................................................................................................................................................................71
Database Manager settings....................................................................................................................................................................................................................................... 71
Log Debug Information........................................................................................................................................................................................................................................................ 72
Log File Viewer...................................................................................................................................................................................................................................................................... 73
ACM Default Settings.............................................................................................................................................................................................................................................................73
Document Template Editor..................................................................................................................................................................................................................................................74
Components................................................................................................................................................................................................................................................................. 75
Menu bar.......................................................................................................................................................................................................................................................................76
Tool bar.........................................................................................................................................................................................................................................................................79
Output panel.................................................................................................................................................................................................................................................................81
Editor pane................................................................................................................................................................................................................................................................... 81
Supported instructions..............................................................................................................................................................................................................................................84
Repeat instruction........................................................................................................................................................................................................................................... 84
Break instruction..............................................................................................................................................................................................................................................87
Conditional instruction....................................................................................................................................................................................................................................88
Substitution instruction.................................................................................................................................................................................................................................. 88
Define instruction............................................................................................................................................................................................................................................ 89
Set instruction.................................................................................................................................................................................................................................................. 89
Comment instruction.......................................................................................................................................................................................................................................90
Log instruction................................................................................................................................................................................................................................................. 90
Rockwell Automation, Inc.
LOGIX-UM003K-EN-E - March 2024
5
Types datasets.............................................................................................................................................................................................................................................................91
Raw SQL data.....................................................................................................................................................................................................................................................91
Review of looping statements..................................................................................................................................................................................................................................93
The ACM database structure.................................................................................................................................................................................................................................... 96
Working with SQL Queries....................................................................................................................................................................................................................................... 104
Add content to an ACD project......................................................................................................................................................................................................................................... 108
Reports.................................................................................................................................................................................................................................................. 110
Report command reference................................................................................................................................................................................................................................................ 111
Generate a report................................................................................................................................................................................................................................................................. 112
ACM Console.......................................................................................................................................................................................................................................... 114
Open the ACM Console.........................................................................................................................................................................................................................................................115
List all commands................................................................................................................................................................................................................................................................116
Generate a limited list of commands...............................................................................................................................................................................................................................116
Generate command information........................................................................................................................................................................................................................................116
Console scripts......................................................................................................................................................................................................................................................................116
Create an ACM Console script................................................................................................................................................................................................................................. 116
Run an ACM Console script...................................................................................................................................................................................................................................... 117
Extended scripts.........................................................................................................................................................................................................................................................117
Generate an example Extended script........................................................................................................................................................................................................118
Library................................................................................................................................................................................................................................................................118
Parameter..........................................................................................................................................................................................................................................................119
SubObject.......................................................................................................................................................................................................................................................... 119
Linked Library.................................................................................................................................................................................................................................................. 119
Interface Links................................................................................................................................................................................................................................................ 120
Interface Members......................................................................................................................................................................................................................................... 120
Controller Object............................................................................................................................................................................................................................................. 120
Legal Notices........................................................................................................................................................................................................................................ 122
6
LOGIX-UM003K-EN-E - March 2024
Rockwell Automation, Inc.
Chapter 1
Application Code Manager
Product overview
Studio 5000® Application Code Manager is a tool that enables more efficient project development with libraries of
reusable code. Application Code 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 10, the available templates on page 11, the use of
schedules on page 11, 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.
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.
•
The ability to add multiple controllers to a project or open an existing project containing
multiple controllers is only available if the product has a Standard activation license and is
not available in Lite mode.
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
Rockwell Automation, Inc.
LOGIX-UM003K-EN-E - March 2024
7
Chapter 1
Application Code Manager
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.
Design process
The Application Code Manager (ACM) design process introduces a modular, object-based approach to the creation of
ACD controller code, FactoryTalk® View Site Edition (SE) or FactoryTalk® View Machine Edition (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 management workflow: Studio 5000 Logix Designer
The library management workflow begins when a specific instance of ACD controller code is created in the Logix
Designer application. The specific instance is a single project containing a single controller. The project includes a
logical structure containing these Logix objects:
•
Controller Tags
•
Tasks
•
Motion Groups
•
Add-On Instructions
•
Data Types
•
Trends
•
I/O Configurations
Each Logix object has an internal hierarchy of elements. For example, a task may contain one or more programs,
each of which may contain one or more routines.
Every project has one controller. There may be one, many, or no instances of any type of Logix object in the project
when the specific instance is created. This single instance of controller code is saved to an ACD file.
Traditionally, controller code was designed and configured for a specific project. In the library management workflow,
content is not designed for a specific project, but to provide a widely applicable set of functions known as project
components that are then used to create library objects. Each library object is an independent functional entity that
can be easily configured to meet a wide range of applications and can be used in many projects.
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. For example, those that support
the 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
8
LOGIX-UM003K-EN-E - March 2024
Rockwell Automation, Inc.
Chapter 1
Application Code Manager
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, subobjects, 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. For 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 the 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 Object Manager
The library management workflow continues by opening the decorated ACD file in the Library Object Manager
application. The Library Object Manager application can be used to publish each library object, either directly to the
ACM database or to a file in HSL4 format. HSL4 files can be distributed individually or as part of a repository.
Use Library Object Manager to add HMI displays (FactoryTalk View SE or FactoryTalk View ME), FactoryTalk®
Alarms and Events configurations, FactoryTalk View ME Alarms and Historian (FactoryTalk® Historian Site Edition)
components to the library object. This can only be done after the library object has been published from the ACD file
to a folder or ACM database. The features added in the Library Object Manager application are saved to the individual
HSL4 file or database entry for the library object and are not saved to the original ACD file.
Each library object file saved from the Library Object Manager application is classified within a four-level hierarchy:
Solution -> Library Type -> Category -> Catalog Number
For example, an analog input module might be classified as:
•
Solution: (RA-LIB) ACM
Solution will, in most cases, name the library object repository for the library object.
•
Library Type: Modules
Library Type is a general classification for the library object based on its function, such as module, control
module or design pattern.
•
Category: Analog
Category is a more specific classification for the library object, based on its function.
•
Catalog Number: 1734-IE2C/C
The specific identifier for the library object.
Rockwell Automation, Inc.
LOGIX-UM003K-EN-E - March 2024
9
Chapter 1
Application Code Manager
Each library object file must have a distinct version number per solution. Just as the same Logix object can be used
to create one or many library objects within the Library Designer, the same library object can be used to create one
or many distinct library object files (versions) within the Library Object Manager application.
Library objects can be quickly distributed, then registered into and configured for multiple Projects in multiple
locations. Library objects are available to any project that requires the functionality the library object provides.
Using Library Object Manager new library objects can be created and distributed rapidly to meet the needs of specific
applications.
FactoryTalk View Studio
Use FactoryTalk View Studio to create Site Edition (SE) and Machine Edition (ME) graphic displays. When the graphic
displays are exported to XML, they are called "Symbol objects." The XML files can be imported into the Library Object
Manager application and the graphic displays added as non-Logix content to library objects.
The Project Execution Workflow: Application Code Manager
In the Application Code Manager application, library objects become the building blocks used to create and deploy
projects rapidly.
Execution is simply a matter of registering, adding, and configuring the library objects. Projects can be completed
without requiring high-end programming support.
In the project execution workflow, library objects are selected in the ACM application and then the library object
parameters are configured to meet the requirements of the current application. The workflow is complete when the
Project to ACD controller code is created.
During the project, new library objects can be created using Library Designer, library objects from previous projects
can be reused, or library objects can be shared from other databases.
After the project is complete, it can be used to create library objects so that future projects can use the solutions
developed.
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.
10
LOGIX-UM003K-EN-E - March 2024
Rockwell Automation, Inc.
Chapter 1
Application Code Manager
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, (for example, Logix) and HMI
code, (for example, FactoryTalk View SE/ME).
Library objects contain controller code, as well as decoration. Decoration is a set of custom properties applied to a
library object using the Library Designer. Decoration can be inherited from a library object that is higher in scope
such as the Controller and Project object. Decoration that is applied to a library object is inherited by, or available
to, all elements that are contained within the library object. Decoration can also be applied directly to an element,
overriding inheritance from the library object and from library objects of higher scope.
ACM provides the option to include Project Data during the controller code generation. If this option is selected all
instances with their parameter values, as well as all libraries (zipped) will be included as part of the Controller's
Custom Properties.
Every element created and included by ACM will also have project data custom properties that include information
about the instance and the library that owns or created the element.
Templates
A template defines the static content and format of design output (for example, a FactoryTalk View display). A
template is not a class definition. A template is not instantiated. Templates have a variety of formats (for example,
xml, csv, docx, and 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 (for example, the I/O Schedule
report).
Rockwell Automation, Inc.
LOGIX-UM003K-EN-E - March 2024
11
Chapter 1
Application Code Manager
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 database
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 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 Microsoft SQL Server 2016 via the ACM installation media. Select only Microsoft 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 and public.
▪
Permissions on Securables should be Connect SQL, Control Server, and 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.
12
LOGIX-UM003K-EN-E - March 2024
Rockwell Automation, Inc.
Chapter 1
c.
Application Code Manager
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:
d.
▪
db_owner
▪
db_datareader
▪
db_datawriter
▪
public
In order for the user to back-up the database, add the newly created database to the User Mapping in
SQL and set the memberships on the database to:
▪
2.
db_backupoperator
Record Database Connection Information: Record the SQL Server computer name and/or computer IP
address, the SQL Server instance name, the SQL Server authentication (username and password), and the
ACM database name. This information is required by ACM users attempting to connect to the central ACM
database.
Upgrading a central ACM database
After installing a new version of ACM, the database may sometimes require upgrading due to the adding of new tables
or fields. You will be notified to upgrade the database if applicable.
The failure of the upgrade process could be related to you having insufficient permissions of the central server
to execute the upgrade commands. The upgrade process could also fail due to the requirement of additional
prerequisite software needed on the SQL server host machine.
If upgrading ACM from v2.xx to v4.xx then this error is likely due to the x64 versions of the following components not
being installed:
•
Microsoft System CLR Types for SQL Server 2012 (x64)
•
Microsoft SQL Server 2012 Management Objects (x64)
It is recommended that when installing a new version of ACM on a client machine on which the same version of ACM is
also installed on the SQL server host machine to ensure all prerequisite software is also installed.
Initial configuration
Before using Application Code Manager, initial configuration must be completed. In this procedure, a database is
created, the database connection 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.
To complete the initial configuration of Application Code Manager
1.
Open Application Code Manager. On the main menu, click Tools > Database Manager.
2.
In Server Name, select the computer name and SQL Server instance from the drop down list or type a
computer name and SQL Server instance in the following format:
<Computer Name> \ <SQL Server Instance>
3.
In Log on to the server, type the User name and Password to use to authenticate the connection to the SQL
Server, then click Connect.
Status updates to Connected.
Rockwell Automation, Inc.
LOGIX-UM003K-EN-E - March 2024
13
Chapter 1
Application Code Manager
4.
In Specify the database, type a unique name for the ACM database.
5.
In Actions, select Create database and then click Execute Task.
Once the database is created an Action completed successfully message displays. Click OK.
6.
Click Close to close Database Manager.
Tip: The Application Code Manager title bar displays the application icon and application name
followed by the computer name, SQL Server instance, and database name formatted as:
<Computer Name> \ <SQL Server Instance>.<DataBase Name>
If Application Code Manager is not able to connect to a database the title bar displays (Not
Connected).
7.
In Application Code Manager, right click Registered Libraries and then select Register.
The Open dialog box displays the default library file location.
C:\User\Public\Public Documents\Rockwell Automation\Studio 5000\Libraries\Application Code Manager
8.
Open the (RA-LIB) ACM folder. Select all the objects in the folder and then click Open.
9.
The Libraries Registration window opens and displays the status of the library registration process.
Review any errors or warnings that were encountered.
Tip: The results of the registration process are also saved to a log file. Click Show Log File to
view the contents of the Log file.
10.
Click Finish to close the Libraries Registration window.
The registered libraries display Application Code Manager under Registered Libraries.
Upgrade the application
When upgrading the Application Code Manager application, consider updating the libraries used in the ACM projects
for a particular ACM database and obsoleting the previous version libraries.
IMPORTANT: It is recommended to back up the current ACM database using the Database Manager
before performing an upgrade. With the Export Used Libraries option enabled, export all projects
using the Import Export Manager on page 55 can also back up database.
To upgrade the Application Code Manager application
1.
Install a newer version of Application Code Manager.
2.
Open Application Code Manager. A message appears with a prompt to upgrade the database. Click OK. The
Database Manager displays.
3.
Select Upgrade database in the Actions - Tasks area and then click Execute Task.
Click Close to close Database Manager.
4.
Right click Registered Libraries and then select Register to ensure any new libraries are added to the
database.
In the Open dialog box, browse the default library file location.
C:\User\Public\Documents\Studio 5000\Libraries\Application Code Manager
14
5.
Open each folder. Select all the objects in the folder and then click Open.
6.
The Libraries Registration window opens and displays the status of the library registration process.
LOGIX-UM003K-EN-E - March 2024
Rockwell Automation, Inc.
Chapter 1
Application Code Manager
Review any errors or warnings that were encountered.
Tip: Results of the registration process are also saved to a log file. Click Show Log File to view
the contents of the Log file.
7.
Click Finish to close the Libraries Registration window.
The registered libraries display in Application Code Manager under Registered Libraries.
Navigate the user interface
Application Code Manager is composed of a menu bar, a toolbar, and several different panes that navigate through
different objects. The objects (instances) contained in a project are arranged in a hierarchy. There are three ways to
view the hierarchy, which are accessed by clicking one of the three panes (System View, Controller Preview, and Class
View). Hide or float the panes so that they can be arranged according to preference.
This table provides an overview of the user interface panes.
Pane
Description
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
Rockwell Automation, Inc.
LOGIX-UM003K-EN-E - March 2024
15
Chapter 1
Application Code Manager
Pane
Description
•
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:
16
LOGIX-UM003K-EN-E - March 2024
•
Sort parameters alphabetically
•
Sort parameters into groups
•
Show only visible parameters
Rockwell Automation, Inc.
Chapter 1
Pane
Application Code Manager
Description
•
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,
(for 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 (for 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.
Rockwell Automation, Inc.
LOGIX-UM003K-EN-E - March 2024
17
Chapter 2
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.
To connect to an ACM database
1.
Open Application Code Manager. On the main menu, click File > Connect.
2.
In Data source confirm that the database type is Microsoft SQL Server (SqlClient).
3.
In Server Name, select the computer name and SQL Server instance from the drop down list or type a
computer name and SQL Server instance in the following format:
<Computer Name> \ <SQL Server Instance>
Tip: If the database is located on the same computer as Application Code Manager, type
localhost.
4.
In Log on to the server, either:
◦
Choose Use Windows Authentication to allow SQL Server log on using the logged on user account
credentials.
◦
Choose Use SQL Server Authentication to allow SQL Server log on using SQL Server authentication.
If this method is selected then type the User name and Password to use to authenticate the
connection to the SQL Server. If the SQL database is created by the ACM installer then the user name is
"sa" and the default password is "ApplicationAdm1n".
Tip: Select Save my password to allow Application Code Manager to retain the password
and log on automatically.
5.
In Connect to a database, determine whether to connect to a database on the server or to attach a
database file.
◦
Choose Select or enter a database name to select a database name from a pull-down list or enter a
database name. The database must exist on the database server.
◦
Choose Attach a database file and then type a database file name or click Browse to navigate to the
file.
Then, in Logical name type the name of the database within the file that Application Code Manager
should connect to.
6.
(optional) Click Advanced to configure settings related to connection protocols, resiliency, content,
initialization, pooling, replication, and additional security controls. Applying the recommended settings as
defined on the help page for the Advanced Properties will improve performance, especially for network
connections.
7.
Click Test Connection to verify the connection settings specified. If the connection succeeds, click OK to
close Connection Properties.
18
LOGIX-UM003K-EN-E - March 2024
Rockwell Automation, Inc.
Chapter 2
Connect to an ACM database
Settings of Connection Properties
How do I open the Connection Properties dialog box?
•
On the main menu, click File > Connect.
The Connection Properties dialog box defines the settings for how Application Code Manager connects with the SQL
Server database. Use this dialog box to set the data source, the type of user authentication, to specify a different
database file, or to modify advanced security settings.
This table describes the settings in the Connection Properties dialog box.
Setting
Description
Data source:
Database type.
Always select Microsoft SQL Server (SqlClient)
Server name:
Selects a computer name and SQL Server instance from the
list or type a computer name and SQL Server instance in the
following format:
<Computer Name> \ <SQL Server Instance>
Log on to the server
Use Windows Authentication
Allows SQL Server log on using Windows authentication. When
selected the logged on Windows user account credential will be
sent to SQL Server to authenticate the session.
Use SQL Server Authentication
Allows SQL Server log on using SQL Server authentication. When
selected the user name and password must be provided for
authentication by the SQL Server.
•
User name. The SQL Server user name, "sa" by default.
•
Password. The SQL Server password associated with the
user name specified, "ApplicationAdm1n" by default.
•
Save my password. When selected, saves the SQL Server
password specified so that it can be used in the next
session.
Connect to a database
Select or enter a database name:
Select a database name from the list or enter a database name.
Attach a database file:
When selected specify the identifiers for the database file. SQL
Server database files have two names, the operating system
file name used to locate the database in the file system and the
logical file name used to identify the database within SQL Server
transactions.
•
Type a database file name or use the Browse button to
use the Open dialog to locate the database file by clicking
through the file system.
•
Rockwell Automation, Inc.
In Logical name, type the logical name of the database.
Advanced
Select to configure advanced database properties.
Test Connection
Tests the connection to the database.
LOGIX-UM003K-EN-E - March 2024
19
Chapter 2
Connect to an ACM database
Setting
Description
If a "Test connection succeeded." message is not returned,
check that the following settings are correct:
•
Computer name
•
SQL Server authentication
•
Network access (remote SQL Server)
Settings of Advanced Properties
How do I open the Advanced Properties dialog box?
1.
On the main menu, click File > Connect to open Connection Properties.
2.
Click Advanced.
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.
Area
Setting
Possible Values
Description
Advanced
MultipleActiveResultSets
True
When True, multiple result sets
False (default)
can be returned and read from
one connection.
Network Library
Packet Size
blank (required if local)
The network library used to
Named Pipes (DBNMPNTW)
establish a connection to an
Shared Memory (DBMSLPCN)
instance of SQL Server. Do not
TCP/IP (DBMSSOCN)
use when the SQL Server is
(recommended if
resident on the local host
networked)
computer, value should be
VIA (DBMSGNET)
blank.
8000 (recommended)
Size in bytes of the network
packets used to communicate
with an instance of SQL Server.
PacketSize may be a value
in the range of 512 and 32767
bytes.
Transaction Binding
Implicit Unbind (default)
Indicates the binding
Explicit Unbind
behavior of connection to
the System.Transactions
namespace.
When set to Implicit Unbind,
the connection detaches from
20
LOGIX-UM003K-EN-E - March 2024
Rockwell Automation, Inc.
Chapter 2
Area
Setting
Possible Values
Connect to an ACM database
Description
the transaction when it ends,
switching back to autocommit
mode.
When set to Explicit Unbind
the connection remains
attached to the transaction
until the transaction is closed.
The connection will fail if the
associated transaction is not
active or does not match the
current transaction.
Type System Version
Connection Resiliency
ConnectRetryCount
Latest (default)
Indicates which server
SQL Server 2012
type system the provider
SQL Server 2008
will expose through the
SQL Server 2005
DataReader.
2 (recommended)
Number of attempts to restore
a connection. The number
of reconnections attempted
after identifying that there
was a connection failure.
This must be an integer
between 0 and 255. Set to 0 to
disable reconnecting on idle
connection failures.
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
Workstation ID
The name of the application.
The name of the workstation
connecting to SQL Server.
Initialization
ApplicationIntent
ReadWrite (default)
Declares the application
ReadOnly
workload type when
connecting to a server.
Asynchronous Processing
True
When true, enables usage of
False (default)
the Asynchronous functionality
in the .Net Framework Data
Provider.
Rockwell Automation, Inc.
LOGIX-UM003K-EN-E - March 2024
21
Chapter 2
Connect to an ACM database
Area
Setting
Possible Values
Description
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.
Pooling
Enlist
True (default)
When True sessions in
False
a Component Services
environment should
automatically be enlisted in
a global transaction where
required.
Load Balance Timeout
30 (default)
The minimum amount of
time (in seconds) for this
connection to live in the pool
before being destroyed.
When a connection is returned
to the pool, its creation time
is compared with the current
time, and the connection is
destroyed if that time span (in
seconds) exceeds the value
specified by Load Balance
Timeout.
A value of zero (0) causes
pooled connections to have
the maximum connection
timeout.
Max Pool Size
1000 (recommended)
The maximum number of
connections allowed in the
pool.
Valid values are greater than
or equal to 1. Values that
are less than Min Pool Size
generate an error.
22
LOGIX-UM003K-EN-E - March 2024
Rockwell Automation, Inc.
Chapter 2
Area
Connect to an ACM database
Setting
Possible Values
Description
Min Pool Size
1 (default)
The minimum number of
connections allowed in the
pool.
Valid values are greater than
or equal to 0. Zero (0) in this
field means no minimum
connections are initially
opened.
Values that are greater than
Max Pool Size generate an
error.
PoolBlockingPeriod
Auto
Defines the blocking period
AlwaysBlock
behavior for a connection pool.
NeverBlock (recommended)
When connection pooling is
enabled and a timeout error
or other login error occurs,
an exception will be thrown
and subsequent connection
attempts will fail for the next
five seconds, the "blocking
period". If the application
attempts to connect within
the blocking period, the first
exception will be thrown again.
Subsequent failures after
a blocking period ends will
result in a new blocking period
that is twice as long as the
previous blocking period, up to
a maximum of one minute.
Pooling
True (recommended)
When True, the connection
False
object is drawn from the
appropriate pool, or if
necessary, is created and
added to the appropriate pool.
Any newly created connection
is added to the pool when
closed by the application.
In the next attempt to open
the same connection, that
connection will be drawn from
the pool.
Connections are considered
the same if they have the
Rockwell Automation, Inc.
LOGIX-UM003K-EN-E - March 2024
23
Chapter 2
Connect to an ACM database
Area
Setting
Possible Values
Description
same connection string.
Different connections have
different connection strings.
Replication
Replication
False (default)
Used by SQL Server in
True
replication.
Set to True if replication
is supported using the
connection.
Security
Authentication
NotSpecified (default)
Specifies the method of
SqlPassword
authenticating with SQL
ActiveDirectoryPassword
Server.
ActiveDirectoryIntegrated
Column Encryption Setting
Enabled
Default column encryption
Disabled (default)
setting for all the commands
on the connection.
Encrypt
True
When True, SQL Server uses
False (default)
SSL encryption for all data
sent between the client and
server if the server has a
certificate installed.
Integrated Security
True
Whether the connection is to
False (default)
be a secure connection or not.
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
False (default)
information, such as the
password, is not 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
False
to True), SQL Server uses SSL
encryption for all data sent
between the client and server
without validating the server
certificate.
24
LOGIX-UM003K-EN-E - March 2024
Rockwell Automation, Inc.
Chapter 2
Area
Setting
Possible Values
Connect to an ACM database
Description
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.
Source
AttachDbFilename
The name of the primary file,
including the full path name, of
an attachable database.
Context Connection
True
When True, indicates the
False (default)
connection should be from the
SQL Server context. Available
only when running in the SQL
Server process.
Data Source
localhost\SQLACM (default)
Indicates the name of the data
source to connect to.
Failover Partner
The name or network address
of the instance of SQL Server
that acts as a failover partner.
Initial Catalog
Initial Database Name
The name of the initial catalog
or database in the data source.
MultiSubnetFailover
True
If your application
False (default)
is connecting to a
high-availability, disaster
recovery (AlwaysOn)
availability group (AG) on
different subnets, setting
this value to True configures
SqlConnection to provide
faster detection of and
connection to the (currently)
active server.
TransparentNetworkIPResolut
True (default)
If your application connects
ion
False
to different networks, setting
this value to True configures
SqlConnection to provide
transparent connection
resolution to the currently
active server, independently of
the network IP topology.
When set to True, the
application is required to
Rockwell Automation, Inc.
LOGIX-UM003K-EN-E - March 2024
25
Chapter 2
Connect to an ACM database
Area
Setting
Possible Values
Description
retrieve all IP addresses for
a particular DNS entry and
attempt to connect with the
first one in the list. If the
connection is not established
within 0.5 seconds, the
application will try to connect
to all others IP addresses
in parallel. When the first
IP address answers, the
application will establish
the connection with the
respondent IP address.
If MultiSubnetFailover is set
to True, this setting is ignored.
If Failover Partner is
specified, this setting is
ignored.
The default setting is False if
Authentication is set to either
Active Directory Password or
Active Directory Integrated,
otherwise the default setting
is True.
User Instance
True
Indicates whether the
False (default)
connection will be re-directed
to connect to an instance of
SQL Server running under the
user's account.
26
LOGIX-UM003K-EN-E - March 2024
Rockwell Automation, Inc.
Chapter 3
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, Library
Starts the Import Export Manager.
Module
Import
Project (top)
Starts the Import Export Manager.
Delete
Project (top), Historian object, Displays
Deletes the selected object.
object, Alarms object
Note: The Projects Delete dialog box
supports multiple select.
Rename
Project (top), Historian object, Displays
Renames the selected object.
object, Alarms object
Refresh
Project (top), Historian, ScanClass,
Refreshes the tree view.
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, Alarms
Adds a new object (instance) to the
selected Category.
Paste Special
ScanClass, Colors, Displays, Alarms
Displays PasteSpecial window where
child objects and reference values can be
included or excluded.
Paste
ScanClass, Colors, Displays, Alarms
Pastes a copied object in the selected
location.
Copy
Rockwell Automation, Inc.
Historian object, Displays object
LOGIX-UM003K-EN-E - March 2024
Copies the selected object.
27
Chapter 3
Project Development
Command
Branch
Description
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.
Generate Documentation
Project (top)
Generates the selected template file
against the project object from ACM.As
these templates are often custom built,
generating at this level may not result in
the desired outcome. The resulting file is
saved to an external folder.
View > Project Library Usage Count
Used Libraries
Displays the Project Library Usage
report for the selected object.
View > Project Library per Solution
Library Solution
Displays the Project Library Usage per
Solution report for the selected object.
View > Project Library Usage per Library
Library Type
Type
Displays the Project Library Usage per
Solution, Library Type report for the
selected object.
View > Project Library Usage per Category Library Category
Displays the Project Library Usage per
Solution, Library Type, Category report
for the selected object.
View > Project Library Usage per Library
Library Object
Displays the Project Library Usage per
Library report for the selected object.
Create a new project
Create a new project when the new project is not similar to existing projects.
To create a new project
1.
Click File point to New and then click Project. The Object Configuration Wizard is displayed.
2.
On the Select a library page click the + symbol to expand the library category and display the libraries
registered in the connected ACM database.
3.
Click a library to select it and then click Next.
4.
If the library contains a library link, click the Linked Libraries tab.
5.
Click the link and choose how to instantiate the linked library, select either:
a.
Create New Instance. To create a new instance of the library the link is attached to.
b.
Link to Existing Instance. To link to a library instance of the target library that has already been
created.
28
LOGIX-UM003K-EN-E - March 2024
Rockwell Automation, Inc.
Chapter 3
6.
Project Development
Enter a unique name in the Name field. Enter a description in the Description field and click Finish.
The new project appears highlighted in the System View pane.
Create a project from a project
Use an existing project in the ACM database as the basis for a new project if the projects use the same components
and libraries.
If the project is in a different ACM database, such as one from another installation, you must connect to that
database, export the project, and then import it to the current database.
To create a new project from an existing project
1.
Click File point to New and then click Project from Existing Project. The New Project Wizard is displayed.
2.
On the Create a new Project from an existing Project page in From Project type a Project name or select
the project name from the list.
3.
In New Name, type a name for the new project.
4.
(optional) In New Description, type a description of the new project.
5.
Click Finish.
The new project appears highlighted in the System View pane.
Add a Historian object
Add a Historian object to the project to support integration of Historian data.
To add a Historian object
1.
In the System View pane, expand Historian, right click ScanClass and then click Add.
The Object Configuration Wizard appears.
2.
Under Select a library in the Solution column, click the + symbol to expand a library category and display
the Historian libraries registered in the connected ACM database.
3.
Click a Historian library, the row highlights to indicate that it is selected. Click Next.
4.
In Name, type a unique name for the Historian object and then click Finish.
The Historian object is added to the System View pane as a child object of ScanClass.
Add a Historian sub-object
Historian objects have sub-objects that represent the point types configured. A FactoryTalk Historian point is the
basic building block for controlling data flow to and from the FactoryTalk Historian SE server. A single point is
configured for each measurement value that needs to be archived.
To add a Historian sub-object
1.
In the System View pane, expand Historian, expand ScanClass and then click the Historian object to which
the sub-object will be added.
2.
In the object parameters pane, select the Point Type on page 30 tab.
3.
Right-click in the white space below the objects shown in the tab. Click Add New.
Repeat this step to add all of the points that require configuration.
Rockwell Automation, Inc.
4.
Click the appropriate column and modify the parameters as needed.
5.
Click Apply Changes to save the parameter configuration.
LOGIX-UM003K-EN-E - March 2024
29
Chapter 3
Project Development
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.
Historian Point Type parameters
The Point Type tab displays a columnar grid of the parameters defined for the points of the Historian object.
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. For 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.
30
LOGIX-UM003K-EN-E - March 2024
Rockwell Automation, Inc.
Chapter 3
Parameter
Project Development
Description
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 (for 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. For example, “VaLuE” and “valUe” are
evaluated as equal. For Blob events, any change is significant.
Step
The Step parameter affects only numeric points. It defines how
numeric archived values are interpolated.
•
When the checkbox is clear (OFF) archived values for the
point are interpreted as a continuous signal and adjacent
archived values are linearly interpolated. For example, at
12:00:00, the value 101.0 is archived and at 12:01:00, the
value 102.0 is archived. A request for the archive value at
12:00:30 would return 101.5.
Rockwell Automation, Inc.
LOGIX-UM003K-EN-E - March 2024
31
Chapter 3
Project Development
Parameter
Description
•
When the checkbox is selected (ON) archived values for
the point are interpreted discretely and adjacent archived
values are not interpolated. An archived value is assumed
constant until the next archived value is recorded. For
example, at 12:00:00, the value 101.0 is archived, at
12:01:00, the value 102.0 is archived. A request for the
value at 12:00:30 would return 101.0.
Data coming from continuous signals (such as signals from
thermocouples, flow meters, and other devices that provide
continuous measurement) should be archived in points with the
step flag OFF.
Data coming from discrete measurements (such as sampled
lab data, batch charge weight, and other user-defined inputs)
should be archived in points with the step flag ON.
In addition, the step flag affects the compression calculation.
When it is ON a linear change of value greater than or equal to
CompDev passes compression. When the step flag is OFF the
complete compression algorithm is applied.
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.
32
LOGIX-UM003K-EN-E - March 2024
Rockwell Automation, Inc.
Chapter 3
Project Development
To generate a Historian object file
1.
In the System View pane, expand the Historian folder and the ScanClass folder so that the Historian objects
are visible.
2.
Right-click the Historian object to export and then choose the controller for which support is required.
◦
Click All Controllers to create an export file that supports all controllers in the project.
◦
Click a specific controller from the list if this object will only be used with that type of controller.
The Save As dialog box opens.
3.
Use the tree control to browse to the location in which to save the Historian object file or use the default
location:
C:\Users\<user name>\Documents\Studio 5000\Projects
The variable <user name> is replaced by the logged in user account name.
4.
In File name type a name for the file or use the default file name which is created according to the following
pattern:
<Controller Name>_<Historian object Name>.csv
The variable <Controller Name> is replaced by the name of the controller selected if a specific controller
support was selected. If All Controllers are supported the controller portion of the default file name and the
underscore are omitted.
5.
Click Save. The Historian object generation is started.
6.
Once the process is completed, the Generation Complete status dialog box appears, click OK to close the
dialog box.
Add an HMI object
Add an HMI object to support FactoryTalk View SE, FactoryTalk View ME, or Alarms displays in the project.
To add an HMI object
1.
In the System View pane, expand HMI to see the HMI categories.
◦
To add a FactoryTalk View SE or FactoryTalk View ME HMI object, right-click Displays and then click
Add.
◦
To add a FactoryTalk Alarms and Events object or FactoryTalk View ME alarm object, right-click Alarms
and then click Add.
The Object Configuration Wizard appears.
2.
Under Select a library in the Solution column, click the + symbol to expand a library category and display
the libraries registered in the connected ACM database.
3.
Click a library, the row highlights to indicate that it is selected. Click Next.
4.
In Name, type a unique name for the object and then click Finish.
The object is added to the System View pane as a child object of the HMI category.
Add a Display sub-object
FactoryTalk View objects have sub-objects that represent the display types configured. A FactoryTalk View graphic
display represents a run-time operator’s view of plant activity. A graphic display can show system or process data,
and provide an operator with ways to write values to external devices such as programmable controllers.
Rockwell Automation, Inc.
LOGIX-UM003K-EN-E - March 2024
33
Chapter 3
Project Development
To add a Display sub-object
1.
In the System View pane, expand HMI, expand Displays and then click the FactoryTalk View object to which
the sub-object will be added.
2.
In the object parameters pane, select the Displays tab.
3.
Right-click in the white space below the objects shown in the tab. Click Add New.
Repeat this step to add all of the Displays that require configuration.
4.
Click the appropriate column and modify the parameters as needed.
5.
Click Apply Changes to save the parameter configuration.
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
34
LOGIX-UM003K-EN-E - March 2024
Provides a unique description of the display sub-object.
Rockwell Automation, Inc.
Chapter 3
Project Development
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.
To generate an HMI object file
1.
In the System View pane, expand the HMI folder and the display category folder so that the objects are
visible.
2.
Right-click the object to export.
◦
For FactoryTalk View objects, select Generate Displays and then click All Displays to create an export
file that supports all display types.
◦
For Alarms objects, select Generate Alarms and then click a specific controller from the list if this
object will only be used with that type of controller or click All Controllers if this object will be used
with all project controllers.
The Save As dialog box opens.
3.
Use the tree control to browse to the location in which to save the HMI object file or use the default location:
C:\Users\<user name>\Documents\Studio 5000\Projects
The variable <user name> is replaced by the logged in user account name.
4.
In File name type a name for the file or use the default file name which is created according to the following
pattern:
<Controller Name>_<Object Name>.csv
The controller portion of the default file name and the underscore are omitted when the All Controllers
option is selected. For Alarms objects the variable <Controller Name> is replaced by the name of the
controller selected if a specific controller was selected. FactoryTalk View objects are not controller specific.
5.
Click Save. The HMI object generation is started.
6.
Once the process is completed, the Generation Complete status dialog box appears, click OK to close the
dialog box.
Add an Alarm Group sub-object
FactoryTalk Alarm and Event objects have sub-objects that represent the Alarm Groups configured in the FTAE
system. In FactoryTalk Alarm and Events, alarms can be assigned to groups. A group represents a set of alarms with
a common association. An alarm group can contain other groups organized in a hierarchy (FTAE only supports to 5
levels deep).
To add an Alarm Group sub-object
1.
In the System View pane, expand HMI, expand Alarms and then click the FactoryTalk FTAE object to which
the sub-object will be added.
2.
In the object parameters pane, select the Alarm Group tab.
3.
Right-click in the white space below the objects shown in the tab. Click Add New.
Repeat this step to add all of the Alarm Group that requires configuration.
4.
An alarm group hierarchy is achieved by associating one alarm group to another using the
ParentAlarmGroupID parameter.
Rockwell Automation, Inc.
5.
Click the appropriate column and modify the parameters as needed.
6.
Click Apply Changes to save the parameter configuration.
LOGIX-UM003K-EN-E - March 2024
35
Chapter 3
Project Development
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.
FTAE Alarm Group parameters
The Alarm Group tab displays a columnar grid of the parameters defined for the alarm groups of the FactoryTalk
Alarms and Events object.
This table describes the parameters in the Alarm Group tab.
Parameter
Description
Name
The name of the sub-object representing the Alarm Group (this
is not the name that will be used in the FTAE system). Through
name formatting a unique sub-object name is built up from the
AlarmGroup and ParentAlarmGroupID parameters.
AlarmGroupID
Each AlarmGroupID must be unique (0 is reserved for the
FTAETagServer ID).
ParentAlarmGroupID
The ParentAlarmGroupID determines the alarm group hierarchy
(Default: 0 = FTAETagServer ID).
AlarmGroup
The alarm group name that will be created in the FTAE system
and assigned to FTAE alarm tag objects that reference it.
SubObject Description
Provides a unique description of the alarm group sub-object.
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 checkboxes 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.
36
LOGIX-UM003K-EN-E - March 2024
Rockwell Automation, Inc.
Chapter 3
Project Development
To update a project library
1.
In the System View pane, expand Used Libraries to see the library branches. Library versions are shown in
parenthesis.
2.
Right-click the library branch to be updated and then click Update.
The Update Used Libraries dialog box is displayed.
3.
A tab is shown for each library in the selected library branch. Libraries with available updates will have
different revisions.
If multiple libraries are included in the library branch, click the tab for the library to update. Each library tab
has three sub-tabs.
4.
In Update Library Revision, click the drop-down arrow to select the new revision number for the library.
5.
Click the Library Changes sub-tab to review the parameter changes for the new version.
6.
Click the Objects to Update sub-tab to define which objects in the library are to be updated.
7.
◦
Under Update, select the checkbox to update the project objects that reference this project library.
◦
Clear the checkbox for each object that should not be updated.
Click the Relink References to Removed Items sub-tab and select the parameters and sub-parameters to
relink to the objects that are affected by this update.
8.
Click Finish.
Extract attached files
Files attached to a project, Historian object, HMI display, FactoryTalk Alarms and Events server, controller, library, or
library object can be extracted to a folder of your choice. When extracting the attachments from the various scopes
in a project, all the objects within the scope have their attachment include conditions evaluated and only those
attachments that evaluate to true will be extracted to their relative path. If the relative path is parameterized, the
path will be resolved. If the resolved path is invalid, the attachment will be extracted to the root extraction folder.
Attachments that are the same, but have a different relative path will be extracted into each of the relative paths.
Attachments that already exist at the relative path will be overwritten.
To extract attached files in System View
1.
2.
In System View, right-click on one of the following, then select Extract Attached Files:
◦
The ACM project
◦
A Historian object
◦
An HMI display
◦
A FactoryTalk Alarms and Events server
◦
A controller or controllers
◦
A library
◦
A library object
In Browse for Folder, select a folder where the files should be extracted, then select OK.
To extract attached files in Registered Libraries
1.
In Register Libraries, right-click an object or its descendant objects with an attachment, and then select
Extract Attached Files.
2.
In Browse for Folder, select a folder where the file should be extracted or create a new folder, and then click
OK.
Rockwell Automation, Inc.
LOGIX-UM003K-EN-E - March 2024
37
Chapter 3
Project Development
To extract attached files in Class View
1.
In Class View, right-click an object or its descendant objects with an attachment, and then select Extract
Attached Files.
2.
In Browse for Folder, select a folder where the file should be extracted or create a new folder, and then click
OK.
When you extract an attachment in Class View, if the extraction path of an attachment in the library is
configured as {ObjectName}\Folder1\Folder2 by an expression in Library Object Manager and
the Object instance is "XV100", then upon extraction of the attachment the extracted relative path will be
XV100\Folder1\Folder2.
Indications
If Modified Objects or Newer Library Version Available is enabled in Application Code Manager settings, indications
appear next to objects that have been modified or libraries that can be updated.
Indication
Description
This object has been modified since controller was last
generated. The flag will be reset once the controller is
generated.
Class View: This library has a newer version available in
Registered Libraries.
Registered Libraries: This library has a newer version available
in the configured Library Repositories.
This node or folder contains one or more libraries that has a
newer version available in Registered Libraries.
38
LOGIX-UM003K-EN-E - March 2024
Rockwell Automation, Inc.
Chapter 4
Registered Libraries
Registered Libraries overview
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 (for example,
Logix) and HMI code (for 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
Rockwell Automation, Inc.
LOGIX-UM003K-EN-E - March 2024
39
Chapter 4
Registered Libraries
Command
Description
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.
View > Library Usage per Category
Displays a report showing the registered library usage for the
libraries in the selected library category. Available only at a
library category branch node.
View > Library Usage per Library
Displays a report showing the registered library usage for the
selected library. Available only at a library branch node.
Register an ACM library object
Register an ACM library object to use it in a project.
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.
To register an ACM library object
1.
In the Register Libraries tree, right-click the library object to register.
2.
Click Register.
3.
The Libraries Registration window opens.
4.
Review the information provided in the Library Registration window. Perform any indicated actions.
5.
Click Finish to complete the registration process.
Reconstitute an ACD file
Reconstitute an ACD file when the original Logix Designer project used to create the object is not available for editing.
After reconstituting the ACD file, it can be edited using Logix Designer.
Hardware module libraries and ACM v1.x libraries do not support this feature.
40
LOGIX-UM003K-EN-E - March 2024
Rockwell Automation, Inc.
Chapter 4
Registered Libraries
To reconstitute an ACD file
1.
In the Registered Libraries tree view, right-click the library file(s).
To select multiple files hold down the <Ctrl> key and select the library files.
2.
Click Reconstitute ACD.
The ACD Reconstitution Wizard opens.
3.
The Object Configuration page displays the details of the objects to be included in the ACD file.
Click Next.
4.
The Resolve Dependencies page displays any dependencies between the library objects that must be
resolved.
◦
Click Add Dependency Library
and add the library that contains required add-on instructions
(AOIs) or user-defined data types (UDTs).
◦
5.
Click Next.
The Unresolved Names page displays any objects that have unresolved name value. Click in the Value
column and type valid values for any names highlighted on the page then click Next.
6.
The L5X Generation Successful page displays a preview of the Logix content contained in the ACD file
displays.
7.
Click Next to display the Save As screen. In File name type a file name for the ACD file.
8.
Click Save to save the file. The ACD successfully saved message displays with a link to open the folder
where the file was saved.
9.
Click Finish to close the wizard.
View registered library usage
There are several different reports that provide information about registered library usage. Determine the scope of
the report by navigating to the level of interest and then generate the report.
To view registered library usage
1.
Select the scope of the report.
◦
To generate a report that includes all of the registered libraries in the connected ACM database:
Right-click Registered Libraries, then point to View, then click Library Usage.
◦
To generate a report that includes all of the registered libraries used in a solution:
In the Registered Libraries tree, right-click the solution folder, then point to View, then click Library
Usage per Solution.
◦
To generate a report that includes all of the registered libraries used in a library type:
In the Registered Libraries tree, expand the solution folder, right-click the library type folder, then
point to View, then click Library Usage per Library Type.
◦
To generate a report that includes all of the registered libraries used in a library category
In the Registered Libraries tree, expand the solution folder, expand the library type folder, right-click
the library category folder, then point to View, then click Library Usage per Library Category.
◦
To generate a report that includes all of the registered libraries used for a library object
In the Registered Libraries tree, expand the solution folder, expand the library type folder, expand the
library category folder, right click the library object then point to View, then click Library Usage per
Library.
2.
Rockwell Automation, Inc.
The selected report appears in a new window.
LOGIX-UM003K-EN-E - March 2024
41
Chapter 4
Registered Libraries
Share reusable resources
All libraries in the Registered Libraries tree are available to all ACM users that are connected to the ACM database.
Schedule templates can be created that are limited to just a specific user account. If a template that is limited to a
user account needs to be shared with other users, use Import/Export Manager to either copy or move the template
from the users folder to the central ACM database.
ACM Program folder templates can be shared by placing the template files in a shared network folder.
Project data that can be reused in multiple ACM projects can be exported to a schedule and shared by placing the
Schedule file in a shared network folder.
To avoid the possibility of ACM users overwriting each other’s work in a central ACM database, ACM users should work
in different projects or branches of the same project tree view. Project work can be divided by function (for example,
Controller Hardware, Controller Software, HMI, and Historian) or by area (for example, Receiving, Mixer, and Shipyard).
Use the partial export option to avoid exporting the same data to more than one schedule. If the same data is
imported from more than one schedule, the last schedule imported will determine the data.
To help ensure that work is not lost, export a project schedule periodically for backup.
Local library and template file
By default library object files and template files are stored in this location:
C:\Users\Public\Public Documents\Rockwell Automation\Studio 5000
There are separate Libraries and Templates folders with an Application Code Manager subfolder in each. The
library object repositories, (RA-LIB) ACM and (RA-LIB) Process, and the template repository, (RA-TPL) ACM, are
located in their respective subfolders.
The (RA-TPL) ACM folder is set as the default documentation path for the Application Code Manager application. To
change the documentation path open ACM Default Settings on page 73 and specify the path to use.
Tip: If working in a collaborative design environment with a shared ACM database, template files can be
copied to a shared folder so that all users can access them.
Library Repositories
Library Repositories displays the configured library repositories. A library repository refers to another ACM database
that can be 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.
Click View and select Library Repositories to open this pane.
Right-click any branch in the Library Repositories tree view to view the commands available.
This table describes each command. Commands appear at the applicable level of the tree.
42
LOGIX-UM003K-EN-E - March 2024
Rockwell Automation, Inc.
Chapter 4
Command
Registered Libraries
Description
Library Repositories
Replicate to Active Database
Loads the Available Libraries form to select libraries to copy or
register to the current active ACM database.
Export
Exports the Library Repositories to an HSL4 (xml) formatted
file.
Extract Attached Files
Extracts the attached files to a folder.
Disable All
Disables all update status checking of the databases.
Add
Adds a library repository.
Remove All
Removes all library repositories.
Refresh
Refreshes all library repositories.
Library repository nodes
Replicate to Active Database
Loads the Available Libraries form to select libraries to copy or
register to the current ACM database.
Export
Exports this library repository to an HSL4 (xml) formatted file.
Extract Attached Files
Extracts the attached files of this library repository to a folder.
Disable
Disables update status checking of this database.
Remove
Removes this library repository.
Connect
Sets this database as the current active database.
Refresh
Refreshes all contents in this library repository.
Solution, library type, and category branch
Replicate to Active Database
Loads the Available Libraries form to select libraries to copy or
register to the current active ACM database.
Export
Exports this branch to an HSL4 (xml) formatted file.
Extract Attached Files
Extracts the attached files of this branch to a folder.
Refresh
Refreshes all contents in this branch.
Catalog number node
Replicate to Active Database
Loads the Available Libraries form to select libraries to copy or
register to the current active ACM database.
Rockwell Automation, Inc.
Export
Exports this library to an HSL4 (xml) formatted file.
Extract Attached Files
Extracts the attached files in this library to a folder.
Refresh
Refreshes this node.
LOGIX-UM003K-EN-E - March 2024
43
Chapter 5
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 (for
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
44
LOGIX-UM003K-EN-E - March 2024
Rockwell Automation, Inc.
Chapter 5
Command
Configure controllers
Description
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.
Project Library Usage per Library
Displays a report showing the registered library usage for the
View
•
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.
•
Exclude AOI (Add On Instructions)
Excludes the AOI (included by default). Only available in the
Add-On Instructions branch.
When two AOIs with same major and minor revision, but
different extended text are added in the Controller Preview
tree, AOI conflict shows. You can use Exclude AOI to select
which one to use.
•
Include AOI (Add On Instructions)
Includes the AOI. Only available in the Add-On Instructions
branch.
•
Refresh
Refreshes the tree view.
Generate a controller file
After configuring a controller in Application Code Manager, generate the Logix Designer files for the controller.
Rockwell Automation, Inc.
LOGIX-UM003K-EN-E - March 2024
45
Chapter 5
Configure controllers
To generate a controller file
1.
In the Controller Preview or Class View pane, right-click the Controller folder or the controller object and
then click Generate Controllers.
2.
In the Logix Code Generation dialog box, select the Generate and ACM Project Data checkboxes.
◦
Select the Overwrite Existing checkbox to replace an earlier controller file with the same name.
◦
Select Create ACD to create a Logix Designer Project file (.ACD) in addition to the Logix Designer XML
file (.L5X).
IMPORTANT: Generating controller files with ACM Project Data selected produces the
most complete record of the controller data. Always select ACM Project Data when
generating a controller file as part of a disaster recovery backup.
If there is not a matching Studio 5000 Logix designer version installed and the
SoftwareRevision is selected, the Create ACD checkbox is disabled.
3.
In Save Path, type the path where the controller files should be saved or use the default path:
C:\Users\<user name>\AppData\Local\Rockwell Automation\Application Code
Manager\Output
The variable <user name> is replaced by the logged in user account name.
4.
Click Generate.
The controller files are generated. A status message displays when completed.
5.
(optional) Click Open Folder to open the file explorer to the controller file location.
Add a new controller
Use the Object Configuration Wizard to add a controller from a predefined controller library that resides in the
registered libraries, configure its parameters, and include it in the ACM design output.
NOTE: The ability to add multiple controllers to a project or open an existing project containing
multiple controllers is only available if the product has a Standard activation license and is not
available in Lite mode.
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.
46
LOGIX-UM003K-EN-E - March 2024
Rockwell Automation, Inc.
Chapter 5
Configure controllers
Move or copy a controller
For projects in the same database, Copy To and Move To allow you to copy or 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.
To move or copy a controller to another project
1.
In the Class View pane, expand Controllers.
2.
Right-click the controller that will be copied or moved to another project.
◦
Select Copy To.
When selecting Copy To, the controller will be copied and pasted to the destination project.
◦
Select Move To.
When selecting Move To, the controller will be cut and pasted to the destination project. When the
controller has unresolvable references, they will be cleared.
3.
In Select Destination Project on page 47, select an existing project or create a new project as the
destination project.
When there is a name conflict between the moved controller and the controller in the existing project,
rename the destination controller in Rename Destination Controller.
4.
Click OK.
◦
When prompted, select OK.
◦
Once the Log File Viewer opens, track the errors, warning, informational, and debug events.
Select Destination Project dialog
The following table shows the options in the Select Destination Project dialog box.
Options
Descriptions
Name
Displays the name of the destination project.
Description
Displays the description of the destination project.
New
Opens the Object Configuration Wizard dialog box to create a
new project.
OK
Starts the copying or moving process.
Cancel
Returns the home page.
Add a controller
Add controllers to the Application Code Manager project from an existing Logix Designer XML file (.L5X) or Logix
Designer Project file (.ACD).
To add a controller from an ACD or L5X file
1.
In the Controller Preview or Class View pane, right-click the Controller folder and then click Add New from
ACD/L5X.
2.
Rockwell Automation, Inc.
In the Select an ACD/L5X File dialog box, select the file to add then click Open.
LOGIX-UM003K-EN-E - March 2024
47
Chapter 5
Configure controllers
3.
In the Import From ACD Wizard - Instance Import Actions page review the items listed. Items with Add in
the Action column are imported.
4.
If any objects should not be imported, click Add and then select Exclude.
5.
Select Next. The Import dialog displays. The information grid shows any errors, warning, info, or debug
messages generated during the import. Review any warnings or errors listed.
◦
Click View Changes to see a comparison of the original and updated information in an Excel
spreadsheet.
◦
Information buttons show how many of each type of message are present. Filter the displayed
messages by clicking the button for the message type to toggle the display of those messages.
6.
Select Next. The Import From ACD Wizard - Content Imported page displays.
7.
Select Finish.
The new object will appear in the Controller Preview pane and Class View pane.
Update a controller
Update controller configurations in an Application Code Manager project using information from a Logix Designer XML
file (.L5X) or a Logix Designer Project file (.ACD).
To update a controller using an ACD/L5X file
1.
In the Controller Preview or Class View pane right-click the controller to update and select Update from
ACD/L5X.
2.
In Select an ACD/L5X File choose the ACD or L5X file to use to update the controller
The Import from ACD Wizard - Instance Import Actions page displays.
◦
Objects that are present in the file but not in the target controller will be selected to be added by
default. If any of these objects should not be added select Exclude from the Action column.
◦
Objects that already exist in the target controller will default to being excluded from the update. If any
of these objects should be updated using the information in the file select Update from the Action
column.
NOTE: When excluding an object, information in the ACM project is preserved. When
an update is performed, information from the ACD or L5X overwrites the ACM project
information.
3.
Select Next. The import operation proceeds. After the operation is finished the Import Complete page
displays. The information grid shows any error, warning, info, or debug messages generated during the
import. Review any Warnings or Errors listed.
◦
Click View Changes to see a comparison of the original and updated information in an Excel
spreadsheet.
◦
Information buttons show how many of each type of message are present. Filter the displayed
messages by clicking the button for the message type to toggle the display of those messages.
4.
Select Finish. The Import From ACD Wizard - Content Imported dialog appears. If one or more objects are
set to update, then Update the Original Snapshot will be checked by default. Clear the checkbox to prevent
the snapshot information from updating the current configuration and then click Finish to close the wizard.
48
LOGIX-UM003K-EN-E - March 2024
Rockwell Automation, Inc.
Chapter 5
Configure controllers
NOTE: Snapshot information is used for the original ACM project data when performing the
merge.
If all items are excluded, by default Update the Original Snapshot is not checked.
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 a controller
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 detach from an ACD/L5X file
•
In the Controller Preview or Class View pane, right-click the controller to which the file is attached to and
then select Detach from ACD/L5X.
Contribute instances
Use Contributing instances to view and edit the properties of an object instance.
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.
Rockwell Automation, Inc.
LOGIX-UM003K-EN-E - March 2024
49
Chapter 5
Configure controllers
To add a hardware module
1.
In the Controller Preview pane, expand the Controllers node, expand the controller object, expand the I/O
Configuration folder and then right-click Backplane and then click Add New.
The Object Configuration Wizard displays.
2.
Click the + symbol to expand the library category and display the hardware module libraries registered in the
connected ACM database.
3.
Select the library that will be copied to create the new hardware module and click Next.
4.
(optional) In Description, type a unique description of the hardware module or accept the default
description.
5.
Click Finish.
The hardware module object appears in the Controller Preview pane under Backplane.
Delete a hardware module
If a module is no longer relevant to the application it can be deleted from the project.
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.
To use Copy and Paste Special
1.
2.
Select the object that will be copied to create the new object. Right-click and click Copy.
◦
Right-click the destination of the copied object and click Paste Special.
◦
Select the branch where the object will reside. Right-click and click Paste Special.
The PasteSpecial dialog box displays.
◦
Select the Include Children checkbox to include Communication Module Children.
◦
Select the Include Sub-Objects checkbox to include I/O Module Sub-Objects (for example, Channels).
◦
Select the Include IO Reference Values checkbox to maintain references to I/O objects.
◦
Select the Include Non-IO Reference Values to maintain references to other types of objects
3.
Click Paste.
4.
The Rename dialog displays. The object names that must be changed to prevent a naming conflict are shown
in red.
◦
Enter a new name when a naming conflict exists. When there are no conflicts, the name is black in
color.
◦
50
Click OK to paste the object.
LOGIX-UM003K-EN-E - March 2024
Rockwell Automation, Inc.
Chapter 5
Configure controllers
Add a new instance
Use Add a new instance to add a new library object instance to an existing library class in the Class View.
To add a new instance
1.
In the Class View pane, right-click the library class from which the new instance will be created and then
click Add New Instance.
The Object Configuration Wizard is displayed.
2.
(optional) In Name, type a new name for this instance.
3.
(optional) In Description, type identifying information about this instance.
4.
Configure the associated Task and Program.
5.
Click Finish to add the new instance.
Add a new software object
Add re-usable code for software objects (tasks, routines and programs) to the controller from the Application Code
Manager library.
To add a new software object to a controller
1.
Use one of the following methods:
◦
In Controller Preview, expand Controllers, expand the controller object, right-click a task or program
object, then click Add New.
◦
2.
In Class View, expand Controllers, right-click the controller object, then click Add New.
In the Object Configuration Wizard, expand the library categories to display the software libraries
registered in the ACM database.
3.
Select the library object to add to the selected task or program, then select Next.
4.
(optional) In Description, type a unique description of the software or accept the default description.
5.
(optional) Edit software object parameters and fields in the tabs on the bottom half of the Object
Configuration Wizard on page 52.
6.
(optional) If the software object depends on other linked library objects, select the Linked Libraries tab, then
select Auto Create Linked Objects on page 53. Select linked library creation options, then click OK.
7.
Select Finish.
The software object appears in the Controller Preview and Class View panes.
Generate a partial program
Generate Partial Program exports a Logix Designer XML file (L5X) that can be imported into the Logix Designer as a
program.
To generate a partial program
1.
In the Controller Preview pane, expand Controllers, expand the controller object, right-click the program
object to export and then click Generate Partial Program.
The Logix Code Generation dialog box displays.
2.
(optional) To rename the file click in the Save As field. The text box becomes editable and the current file
name is highlighted. Type the new file name.
Rockwell Automation, Inc.
LOGIX-UM003K-EN-E - March 2024
51
Chapter 5
Configure controllers
3.
Verify that the Generate and ACM Project Data checkboxes are selected.
◦
Select the Overwrite Existing checkbox if you want to replace an earlier file with the same name.
The Create ACD option is disabled. Partial program and routine items can only be generated using .L5X
files.
4.
In Save Path, type the path where the exported files should be saved or use the default path:
C:\Users\<user name>\AppData\Local\Rockwell Automation\Application Code
Manager\Output
The variable <user name> is replaced by the logged in user account name.
5.
Click Generate.
The files are generated. A status message displays when completed.
6.
(optional) Click Open Folder to open the file explorer to the file location.
Generate a partial routine
Generate Partial Routine allows you to create an export file (L5X) that can be imported into the Logix Designer as a
routine.
To generate a partial routine
1.
In the Controller Preview pane, expand Controllers, expand the controller object, right-click the routine
object to export and then click Generate Partial Routine.
The Logix Code Generation dialog box displays.
2.
(optional) To rename the file double-click in the Save As field. The text box becomes editable and the current
file name is highlighted. Type the new file name.
3.
Verify that the Generate and ACM Project Data checkboxes are selected.
◦
Select the Overwrite Existing checkbox if you want to replace an earlier file with the same name.
The Create ACD option is disabled. Partial program and routine items can only be generated using .L5X
files.
4.
In Save Path, type the path where the exported files should be saved or use the default path:
C:\Users\<user name>\AppData\Local\Rockwell Automation\Application Code
Manager\Output
The variable <user name> is replaced by the logged in user account name.
5.
Click Generate.
The files are generated. A status message displays when completed.
6.
(optional) Click Open Folder to open the file explorer to the file location.
Object Configuration Wizard
How do I open the Object Configuration Wizard?
Use one of these methods:
•
In Controller Preview, right-click a folder, task, program, or I/O configuration node in the project, then select
Add New, Add New Task, or Add New Program.
•
52
In Class View, right-click the project, controller, or library, then select Add New or Add New Instance.
LOGIX-UM003K-EN-E - March 2024
Rockwell Automation, Inc.
Chapter 5
Configure controllers
Use the Object Configuration Wizard to add a library object, program, or task to a project. The Object Configuration
Wizard consists of two pages, the Select a Library page and the Parameters page.
•
Select a Library displays the latest revisions of library objects, separated by category. Select Show All
Revisions to display all revisions. To quickly search for a library, enter criteria in Filter.
•
Parameters displays the name, description, and configuration parameters for a library object, program,
or task. Parameters may be broken up into object-specific tabs, such as SubObjects, Linked Libraries, or
Interface Links. Editable fields appear black, non-editable fields appear gray.
NOTE: If a library object contains links to other linked library objects, these objects can be
created automatically. Select the Linked Libraries tab (if applicable), then select Auto Create
Linked Objects on page 53.
Auto Create Linked Objects
How do I open Auto Create Linked Objects?
1.
Use one of the following two methods:
◦
In Controller Preview, expand Controllers, expand the controller object, right-click a task or program
object, then click Add New.
◦
2.
In Class View, expand Controllers, right-click a controller project, then click Add New.
In the Object Configuration Wizard, expand the library categories to display the software libraries
registered in the ACM database.
3.
Select the library object to add to the selected task or program, then select Next.
4.
If the software object depends on other linked library objects, select the Linked Libraries tab, then select
Auto Create Linked Objects.
Use Auto Create Linked Objects to add objects linked by a library object to a project, rather than manually adding
them to the project one at a time.
Hardware modules cannot be Auto Created but can still be linked to if they already exist in the project.
Column
Description
Link Name
Displays the name of the link in the object being added to the
project. Auto Create Linked Objects uses the link name to find
a matching library.
Library
Displays the name and version of a library that matches the
link name. The latest version of the library is always used if the
version was not specified.
If an exact library match cannot be found, the Library column
displays "No unique library matches link criteria". The Action
field is locked to Ignore.
Rockwell Automation, Inc.
LOGIX-UM003K-EN-E - March 2024
53
Chapter 5
Configure controllers
Column
Description
Action
Sets the action that Auto Create Linked Objects should take
for the linked library:
•
Create New: Creates a new library object with the
parameters from the matched library object.
•
Use Existing: Uses the matched library object.
•
Ignore: Does not create or use the linked library object.
Mandatory linked libraries cannot be set to Ignore.
Select multiple linked objects and use the action list to set the
action to these objects.
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.
54
LOGIX-UM003K-EN-E - March 2024
Rockwell Automation, Inc.
Chapter 6
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 68
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, (for example, <CLX>, FactoryTalk View,
FactoryTalk Historian, and 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 (for example, Project, Controller, Task, Program,
Object, and Tag) and content for the project (for example, Device List, and 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.
Rockwell Automation, Inc.
LOGIX-UM003K-EN-E - March 2024
55
Chapter 6
Use ACM Tools
Control
Description
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.
Export Tab
•
Open Backup Folder - Opens the ACM backup folder.
•
Backup original - Creates a backup of the original project.
Defines the scope and details of the export schedule.
•
All Projects - Exports all projects in the connected ACM
database.
•
Complete Project - Exports the currently specified
project.
•
Partial - Exports only specific objects and parameter
values. To specify the objects to include in the export
select the appropriate values from the Type and
Controller drop-down menus.
•
Use Template - Limit the content of the schedule to
either:
Local - Locally available devices.
Project - Devices used in the project being exported.
Global - All devices in the library.
•
Show Modified - Color codes "changed" (not equal to
default) and "unchanged" (equal to default) parameter
values in the export file.
•
Export Used Libraries - Includes the libraries used by the
projects being exported in the export schedule.
•
Export - Clicking this button performs the export as
specified.
•
Export and Open - Clicking this button performs the
export as specified and opens the exported schedule file.
Not available when exporting all projects.
56
LOGIX-UM003K-EN-E - March 2024
Rockwell Automation, Inc.
Chapter 6
Use ACM Tools
Control
Description
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.
Rockwell Automation, Inc.
LOGIX-UM003K-EN-E - March 2024
57
Chapter 6
Use ACM Tools
Control
Description
•
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.
Tip: When importing objects (instances), a compatible library (class) must be registered in the ACM
database.
The Catalog Number of the registered library must match the Catalog Number in the schedule and a
Library with a revision greater than or equal to the revision in the schedule must be registered.
If a library with the same revision is registered, the library with the same revision is used.
If a library with the same revision is not registered and a library with a greater revision is registered, the
newest library is used.
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.
58
LOGIX-UM003K-EN-E - March 2024
Rockwell Automation, Inc.
Chapter 6
3.
Use ACM Tools
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 tab settings
The Import Export Manager Import tab is used to import objects and parameter values from a schedule file.
This table describes the settings on the Import Export Manager Import Tab.
Setting
Description
New – Create new project
Select this option to create a new project based on the imported
schedule. The project name in the schedule cannot exist in the
connected ACM database.
Replace – Overwrite project
Select this option to replace the specified project with the
project in the imported schedule.
The project name in the schedule must be the same as the
project name specified in the Project text box.
When this import option is run the current version of the
specified project is exported to the ACM backup folder and
deleted from the ACM database before importing the schedule
to the project.
Update – Merge with existing project (will not delete existing
Select this option to update the specified project with the
objects)
information contained in the imported schedule.
When this import option is run the current version of the
specified project is exported to the ACM backup folder and
deleted from the ACM database before merging the imported
schedule with the project.
Rockwell Automation, Inc.
LOGIX-UM003K-EN-E - March 2024
59
Chapter 6
Use ACM Tools
Setting
Description
Schedule content that is new will be added to the specified
project while schedule content that is different between the
project in the database and the project in the schedule will be
updated to match the content from the schedule.
However, schedule content that was deleted or was not
exported is not deleted from the selected Project.
Auto-Continue
Select this checkbox to automatically continue the import
process using the specified schedule without requiring
additional confirmations if no errors or warnings are present.
Excel File:
Type the path to the schedule Excel file (.xlsx) to import or click
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.
Import
Imports the specified schedule file to the specified project.
The Import button is available when the import configuration is
valid.
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 (for example, Device List and Device Interlocks) of the schedule by selecting the
Use Template checkbox. Under the Type category the following options are available:
6.
◦
Choose Local to limit the schedule to locally available devices.
◦
Choose Project to limit the schedule to only those devices used in the project being exported.
◦
Choose Global to include all devices in the library.
(optional) Select Show Modified to color code "changed" (not equal to default) and "unchanged" (equal to
default) parameter values.
60
LOGIX-UM003K-EN-E - March 2024
Rockwell Automation, Inc.
Chapter 6
Use ACM Tools
7.
(optional) Select Export Used Libraries to include the libraries in the schedule.
8.
Click Export.
9.
Enter a path and file name in the Save As dialog.
10.
Click Save to save the schedule as an Excel Workbook (*.xlsx) file.
11.
If there is an error or warning, the ACM Log File entries are displayed when the export is complete.
Tip: Errors, warnings, info, and debug information are displayed by default. Filter the list of
exceptions by clicking Errors, Warnings, Info, and/or Debug.
Clicking the Show Log File command will display the contents of the most recent ACM Log File.
Click Finish to return to the Import Export Manager.
12.
Click Finish to close the Import Export Manager.
Export tab settings
The Import Export Manager Export tab is used to export objects and parameter values to a schedule file.
This table describes the settings on the Import Export Manager Export Tab.
Setting
Description
All Projects
Select this option to export a schedule for each project in the
connected ACM database.
A template cannot be applied.
Complete Project
Select this option to export a schedule for the current project
A template can be applied to the export.
Partial
Select this option to export a schedule that includes only
selected information from the current project.
With this option, these types of items can be specifically
exported:
Use Template
•
Controller
•
Hardware
•
Object
•
Library
Select this checkbox 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 checkbox 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.
Rockwell Automation, Inc.
LOGIX-UM003K-EN-E - March 2024
61
Chapter 6
Use ACM Tools
Setting
Description
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 schedule
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 differences.
To compare a project to a saved schedule
1.
Click Tools, Import Export Manager to open the Import Export Manager. The most recently used project is
opened by default.
2.
To choose a different project to compare with, click File > Open and then select the project from the list.
3.
Click the Compare tab.
4.
In Excel File type the name of the schedule file to use for comparison or click the ellipsis to browse to the
schedule file.
5.
(optional) Select Only Show Changes to limit the content of the comparison report to items in the current
project that differ from the schedule.
6.
Click Compare.
The comparison report opens in Excel.
7.
Click Finish to close the Import Export Manager.
Compare Tab settings
Use the Import Export Manager Compare tab to compare the current project to a previously saved schedule.
This table describes the settings on the Import Export Manager Compare Tab.
Control
Description
Only Show Changes
Select this checkbox to create a report that only lists the
project content that has changed.
Excel File:
Click the ellipsis to identify the schedule file (*.xlsx) to compare
with the current project.
Compare
Compares the current project to the selected schedule file.
The Compare button is available when a valid schedule has
been selected.
Cancel
Cancels the comparison.
The Cancel button is available once the comparison is in
progress.
62
Previous
Not used
Next
Not used
Finish
Closes the tab.
LOGIX-UM003K-EN-E - March 2024
Rockwell Automation, Inc.
Chapter 6
Control
Use ACM Tools
Description
The Finish button is available once the comparison file has
been created.
Update controller parameters with the related tag values
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. 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.
To update controller parameters with the related tag values
1.
Click Tools > Import Export Manager > Tag Import.
2.
In the Controller box, select a controller.
3.
In the Excel File box, do one of the following:
4.
5.
◦
Enter the full path of the Tag Configurator workbook (.xlsm).
◦
Click the ellipsis (...) button to browse to the file location.
In the Configuration File box, do one of the following:
◦
Enter the full path of the configuration file name (.xml).
◦
Click the ellipsis (...) button to browse to the file location.
Click Import.
Tags Import tab settings
The Import Export Manager Tags Import tab is used to update parameters in the ACM database with the related tag
values in the Excel Tag Configurator workbook.
This table describes the settings on the Import Export Manager Tags Import Tab.
Setting
Description
Controller
Select an ACM controller to update.
Excel File
Enter the 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 full path of 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.
The Import button is available when the import configuration is
valid.
Rockwell Automation, Inc.
LOGIX-UM003K-EN-E - March 2024
63
Chapter 6
Use ACM Tools
Create a Tag Configurator workbook
Use the Import Export Manager Tag Export tab to generate 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).
To generate a Tag Configurator workbook
1.
Click Tools > Import Export Manager > Tag Export.
2.
In the Controller box, select a controller.
3.
In the Template File box, do one of the following:
◦
Enter the full path of the template file name(.xls).
◦
Click the ellipsis (...) button to browse to the file location.
4.
Select Create New Configuration File or Use Existing Configuration File.
5.
In the Configuration File box, do one of the following:
6.
◦
Enter the full path of the configuration file name (.xml).
◦
Click the ellipsis (...) button to browse to the file location.
Click Export.
Tags Export tab settings
The Import Export Manager Tags Export tab is used to generate an Excel Tag Configurator workbook from ACM with
the tag values of the configured ACM object.
This table describes the settings on the Import Export Manager Tags Export Tab.
Setting
Description
Controller
Select an ACM controller containing the tags to export to the Tag
Configurator workbook (.xlsm).
Template File
Enter the full path of the template file name (.xls) or click the
ellipsis (...) button to browse to the file location.
Create New Configuration File
Create and use 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 full path of 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.
The Export button is available when the export configuration is
valid.
Create an ACM partial import file
Use the Import Export Manager IAB/Architect tab to create an ACM partial import file containing Logix hardware
modules that are configured in the Integrated Architecture Builder (IAB) or Studio 5000 Architect. The utility converts
64
LOGIX-UM003K-EN-E - March 2024
Rockwell Automation, Inc.
Chapter 6
Use ACM Tools
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.
To create an ACM partial import file
1.
Click Tools > Import Export Manager > IAB/Architect.
2.
In the IAB/Architect XML box, do one of the following:
◦
Enter the full path of the configuration file (.xml).
◦
Click the ellipsis (...) button to browse to the file location.
3.
Click Convert.
4.
In Object Configuration Wizard, configure properties of the imported file.
5.
Click Finish.
IAB/Architect tab settings
The Import Export Manager IAB/Architect tab is used to create an ACM partial import file containing Logix
hardware modules that are configured in the Integrated Architecture Builder (IAB) or Studio5000 Architect.
IMPORTANT: Select the EPlan XML export option when exporting the configuration file from IAB.
This table describes the settings on the Import Export Manager IAB/Architect Tab.
Setting
Description
IAB/Architect XML
Enter the full path of the configuration file (.xml) or click the
ellipsis (...) button to browse to the file location.
Convert
Create an ACM partial import file.
Create a new schedule template
Use the Template Manager tool of the Import Export Manager to create schedule templates. Schedule templates
determine the scope of the schedule (local, project, or global), the library objects used, and the parameters that are
visible.
To create a new schedule template
1.
Click Tools > Import Export Manager.
The Import Export Manager appears.
2.
In the Import Export Manager, click Tools > Import Export Template Editor.
The Template Manager appears with the Template Editor tab displayed.
3.
In the Template area, make the following selections:
a.
Rockwell Automation, Inc.
Select the scope of the template:
▪
Local
▪
Project
▪
Global
b.
(if project scoped) Click the down arrow and select the project name.
c.
Click the down arrow and select the schedule template.
4.
Click New. The Template Name dialog box appears.
5.
In New Template Name, enter a name for the new schedule template and click OK.
LOGIX-UM003K-EN-E - March 2024
65
Chapter 6
Use ACM Tools
The new schedule template name appears in the Template area.
In the Library Section Selection area, add the object and sub-object parameters to the new schedule
6.
template.
a.
Select an object in the Library Section Selection area.
b.
In the Not Visible Parameters area select the parameters to include.
Click Select All to select all of the parameters for an object.
c.
Click Add >.
d.
Repeat as needed.
e.
In the Visible Parameters area, order the parameters as they should appear in the template file.
7.
Click Save to save the changes.
8.
Click Reload to cancel all edits made since the last time the Save command was executed.
9.
Click Finish to close the Import Export Template Manager.
Import Export Template Manager
How do I open the Template 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.
Copy/Move Templates tab settings
The Copy/Move Templates tab is used to copy or move a template.
This table describes the settings on the Copy/Move Templates tab.
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.
66
LOGIX-UM003K-EN-E - March 2024
Rockwell Automation, Inc.
Chapter 6
Setting
Use ACM Tools
Description
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 Editor tab settings
Use the Template Editor tab of the Template Manager to create, delete, or edit schedule templates.
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.
Library Section Selection
Selects a library object or sub-object definition from the
registered libraries. The object or sub-object parameters
display in the Not Visible Parameters or Visible Parameters
list boxes.
Not Visible Parameters
Displays the object or sub-object parameters that are not be
included in schedules exported using this schedule template.
To include a parameter in the exported schedule, select the
item from the Not Visible Parameters list and then click Add
to move it to the Visible Parameters list.
Use the mouse key combinations Ctrl-click, Shift-Click,
Click-and-Drag, and the Select All, and Deselect All buttons to
select multiple parameters.
Visible Parameters
Displays the object or sub-object parameters included in
schedules exported using this schedule template.
To remove a parameter from the exported schedule, select the
item from the Visible Parameters list and then click Remove
to move it to the Not Visible Parameters list.
Rockwell Automation, Inc.
LOGIX-UM003K-EN-E - March 2024
67
Chapter 6
Use ACM Tools
Setting
Description
Use the mouse key combinations Ctrl-click, Shift-Click,
Click-and-Drag, and the Select All, and Deselect All buttons to
select multiple parameters.
Use the Up, Down, Top, and Bottom commands to control the
order in which the parameters display in the exported schedule.
Use the sort buttons to display the parameters in category
groups or alphabetically.
Add >
Moves the parameter selected in the Not Visible Parameter list
to the Visible Parameter list.
< Remove
Moves the parameter selected in the Visible Parameter list to
the Not Visible Parameter list.
Save
Saves the schedule template to the schedule template
settings file (C:\Documents and Settings\<username>\Local
Settings\Application Data\ Rockwell Automation\Application
Code Manager \Templates\<template>).
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.
To create an ACM database
1.
Open Application Code Manager, in the main menu, click Tools > Database Manager.
2.
In Server Name, select the computer name and SQL Server instance from the drop down list or type a
computer name and SQL Server instance in the following format:
<Computer Name> \ <SQL Server Instance>
3.
In Log on to the server, use Windows Authentication or type the User name and Password to use to
authenticate the connection to the SQL Server, then click Connect.
Status updates to Connected.
68
4.
In Specify the database, type a unique name for the ACM database.
5.
In Actions, select Create database and then click Execute Task.
LOGIX-UM003K-EN-E - March 2024
Rockwell Automation, Inc.
Chapter 6
Use ACM Tools
Once the database is created an Action completed successfully message displays. Click OK.
6.
Click Close to close Database Manager.
Upgrade an ACM database
Application Code Manager (ACM) uses a database to store re-usable code. If ACM is upgraded to a newer version the
existing ACM database can still be used, but the database schema must be upgraded.
To upgrade an ACM database
1.
Open Application Code Manager, in the main menu, click Tools > Database Manager.
2.
In Server Name, select the computer name and SQL Server instance from the drop down list or type a
computer name and SQL Server instance in the following format:
<Computer Name> \ <SQL Server Instance>
3.
In Log on to the server, use Windows Authentication or type the User name and Password to use to
authenticate the connection to the SQL Server, then click Connect.
Status updates to Connected.
4.
In Specify the database, select the name of the ACM database you want to upgrade.
5.
In Actions, select Upgrade database and then click Execute Task.
Once the database is created an Action completed successfully message displays. Click OK.
6.
Click Close to close Database Manager.
Backup an ACM database
Application Code Manager (ACM) uses a database to store re-usable code. Making a backup of the ACM database on
a regular schedule is recommended to ensure that your re-usable code library can be restored in case of hardware
failure or unintended changes to the data.
IMPORTANT: When backing up a remote database, the file location must be accessible with read and
write access granted to the user account under which the remote database service runs.
To backup an ACM database
1.
Open Application Code Manager, in the main menu, click Tools > Database Manager.
2.
In Server Name, select the computer name and SQL Server instance from the drop down list or type a
computer name and SQL Server instance in the following format:
<Computer Name> \ <SQL Server Instance>
3.
In Log on to the server, use Windows Authentication or type the User name and Password to use to
authenticate the connection to the SQL Server, then click Connect.
Status updates to Connected.
4.
In Specify the database, select the ACM database you want to backup.
5.
In Actions, select Backup database and then click Execute Recovery. The Select file to backup database
dialog box opens.
6.
In File name type a name for the backup file being created and then click Save.
Once the backup file is created an Action completed successfully message displays. Click OK.
7.
Rockwell Automation, Inc.
Click Close to close Database Manager.
LOGIX-UM003K-EN-E - March 2024
69
Chapter 6
Use ACM Tools
Restore an ACM database
Application Code Manager (ACM) uses a database to store re-usable code. If ACM is being moved to new database
server or if the existing database server has incorrect ACM data, the backup made of the database can be restored to
the database server so that all of the previous data is available.
IMPORTANT: When restoring a remote database, the file location must be accessible with read and
write access granted to the user account under which the remote database service runs.
Restoring an ACM database backup onto a machine other than the one on which it was created
will require database ownership to be set. This is because the user associated with the backedup database does not exist in the new environment. If ownership is not set, then ACM users will
continuously receive the following message: “Timed out waiting for the heart beat notification from
the SQL Broker from within the ACM application. Please check the log file for details”.
Database ownership can be set by the database administrator. The database administrator will need
to run the script as below within either a SQL Management Studio query window or via a SQLCMD
session:
ALTER AUTHORIZATION on DATABASE::[Database Name] TO [SQL User]
•
The [Database Name] section must be replaced with the ACM database name.
•
The [SQL User] section must be replaced with the name of the user who will be assigned
ownership of the database.
Running the above script ensures that you will no longer receives the timeout messages.
To restore an ACM database
1.
Open Application Code Manager, in the main menu, click Tools > Database Manager.
2.
In Server Name, select the computer name and SQL Server instance from the drop down list or type a
computer name and SQL Server instance in the following format:
<Computer Name> \ <SQL Server Instance>
3.
In Log on to the server, use Windows Authentication or type the User name and Password to use to
authenticate the connection to the SQL Server, then click Connect.
Status updates to Connected.
4.
In Specify the database, select the name of the ACM database on which you want to restore the data.
Tip: If you are restoring databases to a new database server or if the database is not present on
the database server, create the database before restoring the data to it.
5.
In Actions, select Restore database and then click Execute Recovery. The Selected database backup to
restore dialog box opens.
6.
Select the database backup file (.bak) to restore and then click Open.
7.
The Confirm database restore dialog box opens warning you that the current database will be overwritten
and asking you if you are sure you want to restore the database.
Click Yes to confirm the restoration process.
70
LOGIX-UM003K-EN-E - March 2024
Rockwell Automation, Inc.
Chapter 6
8.
Once the database is restored an Action completed successfully message displays. Click OK.
9.
Click Close to close Database Manager.
Use ACM Tools
Delete an ACM database
Application Code Manager (ACM) uses a database to store re-usable code. At least one database is required.
To delete an ACM database
1.
Open Application Code Manager, in the main menu, click Tools > Database Manager.
2.
In Server Name, select the computer name and SQL Server instance from the drop down list or type a
computer name and SQL Server instance in the following format:
<Computer Name> \ <SQL Server Instance>
3.
In Log on to the server, use Windows Authentication or type the User name and Password to use to
authenticate the connection to the SQL Server, then click Connect.
Status updates to Connected.
4.
In Specify the database, select the ACM database to delete.
5.
In Actions, select Delete database and then click Execute Task. The Confirm database delete dialog box
opens.
6.
Click Yes to confirm deletion of the database
Once the database is deleted an Action completed successfully message displays. Click OK.
7.
Click Close to close Database Manager.
Database Manager settings
How do I open the Database Manager dialog box?
On the main menu, click Tools > Database Manager.
•
The Database Manager dialog box contains the settings that control how Application Code Manager interacts with
the SQL Server database. It also provides the ability to create, backup, and recover databases.
This table describes the settings in the Database Manager dialog box.
Setting
Description
Server name:
Identifies the server that is hosting the SQL Server used by
ACM. Use the drop-down list to select a computer name and SQL
Server instance from, or enter a computer name and SQL Server
instance in the following format:
<Computer Name> \ <SQL Server Instance>
Refresh
Queries the network for a list of SQL Server computer names
and instances and updates the selections available in the
drop-down list with the results.
Log on to the server
Using Windows Authentication or SQL Server Authentication
(Note: This account and password are configured during installation of SQL Server.)
•
Rockwell Automation, Inc.
User name:
LOGIX-UM003K-EN-E - March 2024
The SQL Server user name associated with the ACM database.
71
Chapter 6
Use ACM Tools
Setting
Description
The default user name is "sa".
•
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.
•
Status:
Displays the result of the database connection attempt.
•
Connected
•
Login failed for user
Specify the database
•
Select a database name
Identifies the database to manage. Enter a name or select an
existing name from the list. If the name entered is not present
on the SQL Server, the option is provided to create a new
database.
Actions - Tasks
•
Create database
Creates a database with the database name entered in the
Select a database name on the SQL Server entered in the
Server name when Execute Task is clicked.
•
Upgrade database
Upgrades the ACM database named in the Select a database
name combo box with the current schema when Execute Task
is clicked.
•
Delete database
Deletes the database named in Select a database name from
the SQL Server identified in Server name when Execute Task
is clicked.
•
Execute Task
Performs the selected task.
Actions – Disaster Recovery
Backup database
Makes a backup copy of the database file named in Select a
database name when Execute Recovery is clicked.
Restore database
Replaces the database file named in Select a database name
combo box with the backup database file when Execute
Recovery is clicked.
Execute Recovery
Performs the selected recovery.
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, (for example, <CLX>, FactoryTalk View,
FactoryTalk Historian, and Word) or when schedules are imported or exported.
72
LOGIX-UM003K-EN-E - March 2024
Rockwell Automation, Inc.
Chapter 6
Use ACM Tools
Once the additional logging information is no longer needed, disable log debug information.
To log debug information
•
Click Tools > Log Debug Information.
A check mark appears next to the Log Debug Information entry in the Tools menu. Clicking the item again
disables logging of debug information.
Log File Viewer
The Log File Viewer provides a quick way to view the most recent events sent to the ACM log file. The Log File Viewer
can be opened from the Application Code Manager Tools menu and from the Import Export Manager Tools menu.
The Log File Viewer displays errors, warning, informational, and debug events in a grid.
At the top of the Log File Viewer is a set of buttons listing of the type of log entries and the number of entries for
each type:
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.
ACM Default Settings
How do I open ACM Default Settings?
•
From the Tools menu, select Settings.
Use ACM Default Settings to specify the location of the system file, the language shown in the display, how Control
Logix content is generated, and whether or not to show indications.
Setting
Description
System Documentation Path
The location of the template files. By default these are located
at \Users\Public\Documents\Studio 5000\Templates\Application
Code Manager.
Language
The language used by Application Code Manager. The default
value uses the operating system language.
Rockwell Automation, Inc.
LOGIX-UM003K-EN-E - March 2024
73
Chapter 6
Use ACM Tools
Setting
Description
Auto-expand Controller Preview
Determines whether the tree in Controller Preview is
automatically expanded. The default value is selected.
Control Logix Generation Defaults
Determines what is selected to include in Logix code generated
by ACM and whether Application Code Manager should overwrite
existing output with new code.
Overwrite Existing Output
The default setting for Overwrite Existing in the Logix Code
Generation window.
ACM Project Data
The default setting for ACM Project Data in the Logix Code
Generation window.
Create ACD
The default setting for Create ACD in the Logix Code
Generation window.
Show ACD Warnings
Determines whether the Status column in the Logix Code
Generation window shows ACD warnings. Find the warnings in
the log file.
Indications on page 38
Determines whether indications are shown.
Modified Objects
Sets whether an indication is shown when a library object has
been modified. The default value is cleared.
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.
Document Template Editor
How do I open the Document Template Editor?
•
From the Tools menu, select Document Template Editor.
The Document Template Editor provides an environment to develop and test document generation templates.
NOTE: The ability to use this is only available if the product has a Standard activation license and is
not available in Lite mode.
The Document Template Editor includes the following functions:
74
•
Highlights reserved words in the template language.
•
Folds repeat blocks.
•
Error checking and highlighting.
LOGIX-UM003K-EN-E - March 2024
Rockwell Automation, Inc.
Chapter 6
•
Ability to save frequently used code fragments for later re-use.
•
Generates an output template file.
Use ACM Tools
Components
This table describes each section of the Document Template Editor.
Item
Name
Description
Menu on page 76 and toolbar on page
Selects editing options and features or
79
application configuration options in this
section.
Editor on page 81
Develops and tests templates in this
section.
Output on page 81
Displays the Output, Syntax Error, and
Compile Info panes.
•
Output
Displays output results from the
template after the generation
process. You can save the output to
a file.
•
Syntax Error
Displays any current syntax error
descriptions that appear in the
Editor pane.
•
Compile Info
Provides compilation information
about the previously executed
template generation process.
Rockwell Automation, Inc.
LOGIX-UM003K-EN-E - March 2024
75
Chapter 6
Use ACM Tools
Item
Name
Description
Code Snippets
Displays usable code snippets, including
Base Snippets and Custom Snippets.
•
Base Snippets
Includes snippets, which are the
predefined template instructions
that make up the template
generation language.
•
Custom Snippets
Includes snippets, which are
reusable code fragments consist of
pre-configured base snippets.
Drag snippets to the Editor pane for
implementation in a template.
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.
Edit
•
Cut
Cuts the selected text in the Editor pane to the clipboard.
This option is only active if more than one character is
selected in the active Editor pane.
•
76
LOGIX-UM003K-EN-E - March 2024
Copy
Rockwell Automation, Inc.
Chapter 6
Item
Use ACM Tools
Description
Copies the selected text in the Editor pane to the
clipboard. This option is only active if more than one
character is selected in the active Editor pane.
•
Paste
Pastes text from the clipboard into the current position
selected in the Editor pane. This option is only active if the
clipboard is not empty.
•
Clear Clipboard
Clears all items copied to the clipboard.
•
Delete
Deletes selected text in the Editor pane. This option is only
active if more than one character is selected in the active
Editor pane.
•
Undo
Undoes the last operation executed in the active Editor
pane.
•
Redo
Redoes the last undo operation.
•
Find / Replace
Starts the Find / Replace dialog box where text strings
can be found and replaced.
Find / Replace
•
Match Case
Matches words that conform exactly to the sequence of
upper and lower case text.
•
Match whole word
Matches against entire word sequences. If a word contains
the sequence but contains other characters, then the
match will not be found.
•
Regular Expression
Includes special non printable characters that may be
included in a search word. As an example, a search word
containing a carriage return character sequence would
only be matched against words in the search document
where the word includes the carriage return. These special
characters will not be included in the search when this
option is not selected i.e. a match would be found on a
word that may include a special character like a carriage
return character.
•
Wildcards
Includes the "*" character in the search word. Characters
appearing between the sequence will be matched i.e. in
the search word "R*t", Repeat would be a match as "epea"
are treated as wild card characters. If "?" is included in
the search word then any single character will be matched
Rockwell Automation, Inc.
LOGIX-UM003K-EN-E - March 2024
77
Chapter 6
Use ACM Tools
Item
Description
in the placeholder where the wildcard is placed i.e. in the
search word "Repe?at", "Repe1at" will be a match.
•
Search up
Starts the search at the end of the document and works
its way up to the start. Otherwise if not selected then the
search would begin as normal from the beginning of the
template document.
View
•
Restore Default Layout
Restores all undocked windows back to their original
positions.
•
Float All Windows
Undocks all docked windows.
•
Snippets View
Closes or opens the Code Snippets pane.
•
Output View
Closes or opens the Output pane.
Settings > Preferences > General
•
Show Toolbar
Adds or removes the tool bar.
•
Show Menubar
Adds or removes the menu bar.
Press F12 to show the menu bar if it is removed.
•
Show Statusbar
Sets the status bar displayed at the bottom be visible or
not.
Settings > Preferences >Editing
•
Display Line Numbers
Shows or hides the editor line numbers depending on this
selection. This option is global for all open editor panes
and the setting is saved and will be applied on application
startup.
•
Enable Line Wrap
Wraps the text in the editor to the space available in the
Editor pane depending on this selection. This option is
global for all open editor panes and the setting will be
saved and applied on application startup.
•
Display End Of Line Character
Shows the carriage return character when this option is
selected. This option is global for all open editor panes and
the setting will be applied on application startup.
Settings > Preferences > Compile
•
Compile Messages
Two selections are possible, either Basic or Advanced.
When generating documentation compile information will
be generated in the Compile Info pane. This information
can be useful to debug a template or to determine how
78
LOGIX-UM003K-EN-E - March 2024
Rockwell Automation, Inc.
Chapter 6
Item
Use ACM Tools
Description
long the document generation process is spending
within specific instruction loops. The Advanced option is
verbose intensive and provides detailed information on the
generation process.
•
Send Messages to ACM log
Enables or disables the writing of document generation
messages to the ACM log.
Tool bar
Selects application configuration options in the Tool bar. This table describes the options in the Tool bar.
Item
Description
New File
Creates a new template file. A new Editor pane will be created
starting with the name new (x), (x) being the first new unique
number used after the last new file was opened i.e. if a new
unsaved file is already loaded with the name new 1, then this
editor pane will get the name new 2. Once the file is saved to
disk then this name will be replaced with the actual file name of
the template document.
Open File
Opens the File Browse dialog to navigate and select a template
file to open. Files of type (.txt), (.csv) and (.xml) can be selected
and opened.
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
Rockwell Automation, Inc.
LOGIX-UM003K-EN-E - March 2024
79
Chapter 6
Use ACM Tools
Item
Description
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.
Selected ACM Object
Compiles document template against various available ACM
objects. All available project objects will show in a grouped
drop down list control. The categories of items available
include Controller, Display, Alarms and Historian. The list
will only contain items appearing in the project. All objects
in the Execute Against list can be compiled against a
specific controller or all controllers in the project by selecting
a controller option from the Controller selection option
(discussed in the next section), except for Display objects
which can only be compiled against all controllers. When
selecting a Display item, the Controller selection list will
be disabled with the Generate All Controllers option will be
pre-set.
80
LOGIX-UM003K-EN-E - March 2024
Rockwell Automation, Inc.
Chapter 6
Use ACM Tools
Item
Description
Selected Controller
Displays all controllers configured in the ACM project. Once a
project object has been selected as outlined in the previous
section (excluding display objects), a single controller or all
controllers can be selected to compile against. Output would
then only be generated for the specific controller selection.
This option will be disabled if a display object is selected in the
Execute Against list discussed in the previous section.
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.
Rockwell Automation, Inc.
LOGIX-UM003K-EN-E - March 2024
81
Chapter 6
Use ACM Tools
Item
Description
Language keyword highlighting
The Editor pane supports language text highlighting for the
documentation generation language.
Document generation instructions are always highlighted in
blue:
.
Library items in orange:
.
Comments will be printed in green:
.
Code completion
The Editor pane provides code completion functionality where
a list of keywords is supplied after a matching text sequence
has been typed. This allows the engineer to add an instruction
without having to type out the complete text sequence.
Here is a graphic example of Code Completion options
available through a sequence of typed characters:
82
LOGIX-UM003K-EN-E - March 2024
Rockwell Automation, Inc.
Chapter 6
Item
Use ACM Tools
Description
With the completed line looking as follows:
Text folding
Text folding consists of grouping a section of code so that it
can be collapsed as a complete section to make other areas
of the document easier to read. In the above example we are
creating folding sections around each repeat block, identified
by the repeat number. The Repeat.2 block is encased within the
Repeat.1 block and is shown as collapsed within the Repeat.1
block. The Repeat.1 block can also be collapsed.
Working with custom snippets
Click Add Code To Custom Snippet will invoke the Create New
Snippet editor where it will be possible to create a new custom
snippet.
Click Insert Snippet will display a list of base and custom
snippets which can be selected for inclusion in the active
template document.
Tip: Some sample snippets are provided. Right-click Custom
Snippets and select Import.
From the Open dialog box navigate to the default file location:
C:\Users\Public\Documents\Studio 5000\Samples\Application
Code Manager\Snippets Select the sample snippet to import,
repeat if required.
Executing a code fragment
Right click in the Editor pane and select Execute Selected
Fragment to execute a code fragment or highlight a section of
code. The Execute Selected Fragment menu option is only be
enabled if text has been selected in the editor:
Important: Select and execute a fragment could result in
syntax errors being generated as it’s possible to select any
combination of lines for execution which could result in
required block termination instructions been excluded when
document generation processing takes place.
Rockwell Automation, Inc.
LOGIX-UM003K-EN-E - March 2024
83
Chapter 6
Use ACM Tools
Item
Description
In the above example the ##Repeat.1 block instruction has
been selected and if executed will result in a syntax error as the
fragment does not include an ##EndRepeat.1 instruction.
Supported instructions
Use instructions to develop a document template in the Editor on page 81 pane. The Document Template Editor on
page 74 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
The looping statement consists of an opening and closing denominator, with the ##Repeat determining the
beginning and the ##EndRepeat statement defining the ending of the block of text to be repeated. For every
##Repeat.n statement there must be a corresponding ##EndRepeat.n statement.
Repeat Block Structure
Statement Breakdown
Description
##Repeat
This instruction informs the documentation that the current line
denotes the start of the loop.
Specifies the nesting level of the repeat statement. This is used
n
to attach substitution links.
This is the type of loop being performed, the repeat type
Repeat Type
determines which data source is used to execute the repeat
block.
84
LOGIX-UM003K-EN-E - March 2024
Rockwell Automation, Inc.
Chapter 6
Use ACM Tools
Statement Breakdown
Description
Query
This is the query string used to filter the resulting dataset that
is then iterated by the repeat statement.
This instruction informs the documentation that the current line
##EndRepeat
denotes the end of the loop.
(Optional)This instruction allows the values returned in a
OrderBy
##Repeat statement based on the provided query to be sorted
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
SubObject
Typed Dataset
All sub object instances matching the
query, of the object instance currently
iterating
SubObjectAll
Typed Dataset
All sub object instances matching the
query
ObjectReferences
Typed Dataset
All objects referencing the instance
specified in the query
Collection
Collection Dataset
All collection items of the currently
iterating object or sub-object matching
the query
CollectionAll
Collection Dataset
All collection items of all objects matching
the query
SQL
Raw SQL data set
All items (rows) returned by the query.
SubObject and Collection repeat types are only valid when directly nested under other specific repeat types.
1.
SubObject
Must be directly nested under an Object repeat type
2.
Collection
Must be directly nested under either an Object, SubObject or SubObjectAll repeat type.
When using the above two repeat types, care must be taken to ensure that the nesting levels follow numerically i.e.
the statements are directly nested.
Object, SubObject and SubObjectAll Queries
When querying a typed dataset, the following tables list the available operators that may be used to build the query
statement.
Binary computational operators
Rockwell Automation, Inc.
LOGIX-UM003K-EN-E - March 2024
85
Chapter 6
Use ACM Tools
Operator
Description
*
Multiply
/
Divide
%
Modulo
mod
+
Add
-
Subtract
&
String Concatenate
Unary logical operators
Operator
Description
!
Logical Not
Not
Binary logical operators
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
Ternary logical operators
Operator
Description
?:
Logical If
Object Reference Queries
Object reference queries are designed to filter objects and subobjects referencing each other. This is achieved in
ACM by declaring a parameter or sub-parameter (parameter on a subobject) as a Reference and then referencing the
objects to each other.
The syntax for this query type is as follows:
86
LOGIX-UM003K-EN-E - March 2024
Rockwell Automation, Inc.
Chapter 6
Use ACM Tools
##Repeat.n(ObjectReferences: ReferenceType = "id")
Object References query reference types
Reference Type
ID
ObjectRef
Object ID. The query will return all objects referencing this ID.
SubObjectRef
SubObjectID. The query will return all parent objects of
subobjects referencing this ID.
Collection Dataset Queries
There is only one possible query on collection datasets:
Name = "CollectionName"
Raw SQL Queries
There is no predefined syntax for raw SQL queries. When executing these repeat types the documentation engine
passes the SQL query straight through the project database. Any valid SQL statement may be entered.
Important: SQL statements must me entered on a single line within the template i.e. no line-breaks may be present
within the SQL statement.
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.
Rockwell Automation, Inc.
LOGIX-UM003K-EN-E - March 2024
87
Chapter 6
Use ACM Tools
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.
The conditional statement is defined as follows:
##If statement ##Then
... Text to be included if statement is true ...
##ElseIf statement ##Then
... Text to be included if statement is true ...
##Else
... Text to be included if statement is false ...
##EndIf
The ##ElseIf and ##Else portions of the conditional statement is optional and may be omitted.
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}]
Breakdown of [n.{Substitution}] syntax
88
Statement Breakdown
Description
n
The data source number.
FieldName
Any valid field name for the associated data source.
LOGIX-UM003K-EN-E - March 2024
Rockwell Automation, Inc.
Chapter 6
Use ACM Tools
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:
##Define(variable, datatype, value)
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:
Rockwell Automation, Inc.
LOGIX-UM003K-EN-E - March 2024
89
Chapter 6
Use ACM Tools
##Set(myObjName, "[1.{ObjectName}]")
##Set(myObjNameLength, [1.{ObjectName.Length}])
A number of standard Microsoft functions can be used with the instruction when assigning or manipulating the value
and are listed in the following table.
Function
Example
Round
##Set(myRound,Round(87.6))
Format
##Set(myFormat, Format(87.6, "###0.00"))
Modulus
##Set(myMod, Modulus(5,4))
ABS
##Set(myABS, ABS(-87.6))
INT
##Set(myINT, INT(87.6))
Length
##Set(myLength, Length("[1.{ObjectDescription}]"))
Ucase
##Set(myUpperCase, Ucase("[1.{ObjectDescription}]"))
Lcase
##Set(myLowerCase, Lcase("[1.{ObjectDescription}]"))
Truncate
##Set(myTruncate, Truncate([1.{MaxValue}]))
Sin
##Set(mySin, Sin(87.6))
Cos
##Set(myCos, Cos(87.6))
Tan
##Set(myTan, Tan(87.6))
now()
##Set(myDateTime, now())
##Set(myDateTimeFormated, Format(now(), "dd MMM yyyy"))
Today()
##Set(myDate, Today())
Rnd()
##Set(myRandomize, Rnd())
Trim
##Set(myTrim, Trim("[1.{ObjectDescription}]"))
IndexOf
##Set(myIndexOf, IndexOf("[1.{ObjectDescription}]", "word"))
Mid
##Set(myMid1, Mid("[1.{ObjectDescription}]", 12, 22))
Right
##Set(myRight, Right("[1.{ObjectDescription}]", 12))
Left
##Set(myLeft, Left("[1.{ObjectDescription}]", 22))
Substring
##Set(mySubString1, substring("[1.{ObjectDescription}]", 12, 22))
Pow
##Set(myPower, Pow(2, 0) + Pow(2, 1) + Pow(2, 2) + Pow(2, 3) +
Pow(2, 4))
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:
90
LOGIX-UM003K-EN-E - March 2024
Rockwell Automation, Inc.
Chapter 6
Use ACM Tools
##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
Field
Data Type
Original Database Table
SubObjectID
Int
SubObjects
SubObjectName
String
SubObjects
SubObjectDescription
String
SubObjects
SubObjectType
String
SubObjects
SubObject fields
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.
Rockwell Automation, Inc.
LOGIX-UM003K-EN-E - March 2024
91
Chapter 6
Use ACM Tools
The core ACM database layout, consists of four main tables: Objects, Parameters, SubObjects and SubParameters.
Although not holding core project information, the RegisteredLibraries table provides a way to fine tune the object
filtering based on CoreType (Solution), Family, LibraryType, etc.
Reference Parameters
Objects within an ACM project can reference each other, normally either by an Object or SubObject reference. This
relationship is denoted in the ACM database by the "RefType" column in both the Parameters and SubParameters
table. This column contains an enumeration denoting what the data in the Value column of these tables represents. A
full list of this enumeration is given in the table below.
ACM reference types enumeration
Reference Type
Name
1
Immediate
2
ObjectRef
3
SubObjectRef
4
ParentObjectRef (Not Used)
5
ObjectNIBRef (Object External Reference)
6
Calculated
7
SubObjectNIBRef (SubObject External Reference)
8
InterfaceRef
9
InterfaceMemberRef
10
ParameterRef
11
SubParameterRef
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}]
92
LOGIX-UM003K-EN-E - March 2024
Rockwell Automation, Inc.
Chapter 6
Use ACM Tools
##EndRepeat.1
The second example which uses the temporary table #Objects, will only return the objects from the level which the
document was generated (i.e. Project objects or Controller Objects).
##Repeat.1(SQL: SELECT * FROM #Objects)
[1.{Name}]
##EndRepeat.1
Review of looping statements
Perform a technical review on the following methods after code editing.
Object
##Repeat.1(Object: Query)
... Text to be repeated ...
##EndRepeat.1
for each object where Query
{
... Text to be repeated ...
}
SubObject
##Repeat.1(Object: ...)
##Repeat.2(SubObject: Query)
... Text to be repeated ...
Rockwell Automation, Inc.
LOGIX-UM003K-EN-E - March 2024
93
Chapter 6
Use ACM Tools
##EndRepeat.2
##EndRepeat.1
for each object where ...
{
for each SubObject where Query And ObjectId = [1.{ObjectId}]
{
... Text to be repeated ...
}
}
SubObjectAll
##Repeat.1(SubObjectAll: Query)
... Text to be repeated ...
##EndRepeat.1
for each SubObject where Query
94
LOGIX-UM003K-EN-E - March 2024
Rockwell Automation, Inc.
Chapter 6
Use ACM Tools
{
... Text to be repeated ...
}
Collection
##Repeat.1(Object/SubObject/SubObjectAll: ...)
##Repeat.2(Collection: Query)
... Text to be repeated ...
##EndRepeat.2
##EndRepeat.1
for each object/sub-object where ...
{
for each item in collection And ObjectId = [1.{ObjectId}]/SubObjectId =
[1.{SubObjectId}]
{
... Text to be repeated ...
}
Rockwell Automation, Inc.
LOGIX-UM003K-EN-E - March 2024
95
Chapter 6
Use ACM Tools
}
CollectionAll
for each Object where "has collection"
{
for each item in collection
{
... Text to be repeated ...
}
}
The ACM database structure
A working knowledge of the structure of the ACM database will assist when writing document generation scripts for
data extraction. There are several tables and views which will be useful for generating documentation.
In addition to the SQL tables there are also several views available. A view is a virtual table which can be queried in
the same way as a table. Views can provide advantages over tables in the following ways:
96
•
Views can represent a subset of data contained within a table.
•
Views can join and simplify multiple tables into a single virtual table.
LOGIX-UM003K-EN-E - March 2024
Rockwell Automation, Inc.
Chapter 6
Use ACM Tools
Important tables in use in the ACM database are as follows:
Rockwell Automation, Inc.
LOGIX-UM003K-EN-E - March 2024
97
Chapter 6
Use ACM Tools
Table descriptions
•
Projects: Contains ACM project information. Columns available in this table are displayed below:
•
Controllers: All controllers in use in projects in the ACM database will be recorded in this table. Columns
available are displayed below:
•
Objects: All objects used in ACM projects will be recorded in this table. Columns available are displayed
below:
98
LOGIX-UM003K-EN-E - March 2024
Rockwell Automation, Inc.
Chapter 6
•
Use ACM Tools
SubObjects: All SubObjects linked to parent objects in use in ACM projects in the ACM database will be stored
in this table. Columns available are displayed below:
Rockwell Automation, Inc.
LOGIX-UM003K-EN-E - March 2024
99
Chapter 6
Use ACM Tools
•
SubParameters: All parameters created for SubObjects used in ACM projects will be recorded in this table.
Columns available are displayed below:
•
RegisterdLibraries: All libraries registered in the ACM database will be recorded in this table. Columns
available are displayed below:
View Descriptions
As mentioned earlier, several views are available which contain consolidated information that may simplify SQL query
construction in that they make information from different tables available from a single source. Search parameters
will need to be provided to ensure that only data for the loaded ACM project is retrieved.
100
LOGIX-UM003K-EN-E - March 2024
Rockwell Automation, Inc.
Chapter 6
Use ACM Tools
Views available are as follows:
•
ControllerDetail: Provides information about each controller including the controller name, library catalog
number, description and other library information. Columns available in this view are displayed below:
•
ObjectsDetail: Provides information about each object in use in projects within the ACM database. Useful
information provided includes the object name, object description and library information including the
current revision in use. Columns available in the view are displayed below:
Rockwell Automation, Inc.
LOGIX-UM003K-EN-E - March 2024
101
Chapter 6
Use ACM Tools
•
ProjectsDetail: Provides information about projects available within the ACM database. Useful information
includes the project name and library information for each project type library. Columns available in the view
are displayed below:
•
SubObjectDetail: Provides information about sub objects linked to objects within the ACM database. Useful
information includes the name for the object to which the sub object belongs, the description for the object
to which the sub object belongs, sub object name, sub object description and library information for the
object to which the sub object belongs. The columns available in the view are displayed below:
102
LOGIX-UM003K-EN-E - March 2024
Rockwell Automation, Inc.
Chapter 6
•
Use ACM Tools
SubParameterDetail: Provides information about sub parameters belonging to sub objects. These sub
objects in turn would belong to a specific object. Useful information provided includes the sub parameter
name, datatype, reference type, name of the sub object and library information for the object to which the
sub parameters parent (sub object) belongs. The columns available in the view are displayed below:
Practical Scenario Overview
The number of instances created in an ACM project for the library with CatlogNumber MsDinSiS are needed for a
project management meeting. This information can be easily obtained from the ACM database via the use of a
number of SQL queries. The first step is to get the Project Id of the relevant project in ACM. We know the name of the
project and can get the Id from the Projects table via a SQL statement. The first step is to open either a query window
within Microsoft SQL Server Management Studio, a new command line session for Microsoft sqlcmd or via the use of
any other tool that provides access to the ACM database for querying purposes.
The following SQL query will retrieve the ProjectID for the known project name RAMSProjectSmall:
SELECT ProjectID, Name
Rockwell Automation, Inc.
LOGIX-UM003K-EN-E - March 2024
103
Chapter 6
Use ACM Tools
FROM [ACM_V400].[dbo].[Projects] WHERE Name = 'RAMSProjectSmall'
In the above query we are returning only the ProjectID and Name columns for records that match on the name
RAMSProjectSmall. The following result is returned for the given example:
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 in the total count of returned records and not the records themselves. In
order to accomplish this we will use the SQL COUNT instruction.
The query to return the required information will look as follows:
SELECT COUNT(*) AS Total FROM [ACM].[dbo].[Objects] WHERE ProjectID = 6 AND CatalogNumber = 'MsDinSiS'
Breakdown and Explanation:
•
COUNT(*) AS Total: Ensures that the total number of matched records rather than the records themselves is
returned. The returned count column is given the name of Total.
•
FROM [ACM].[dbo].[Objects]: References the Objects table within the ACM database.
•
WHERE ProjectID = 6 AND CatalogNumber = 'MsDinSiS': This section of the SQL statement provides the filtering
required in order to ensure that only relevant records are returned. Firstly, only records relating to the project
with an ID of 6 are returned (ProjectID = 6) and in addition to this, only objects that match on the name
'MsDinSiS' in the CatalogNumber column will be returned.
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
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: keyword. A basic working knowledge of SQL would be required in order to 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.
104
LOGIX-UM003K-EN-E - March 2024
Rockwell Automation, Inc.
Chapter 6
Use ACM Tools
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
In this example we are going to return a list of all objects within the ACM database. The SQL statement that we will be
using is as follows:
SELECT * FROM Objects.
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).
We will be using a document generation ##Repeat instruction to print each record contained within the SQL result
set which is returned from the database. The statement we will be inserting into the Document Template Editor is as
follows:
##Repeat.1(SQL: SELECT * FROM Objects)
[1.{Name}]
##EndRepeat.1
Once the SQL query completes execution, we will have a dataset containing matched data from the database. This
matched data object can be thought of as a temporary table of information existing in memory. The ##Repeat
instruction will be used to iterate through this temporary table and in the above example we have elected to return
data from the column named "Name". This column must exist within the returned dataset. Any column can be
selected for returned data and the original ACM Objects table can be reviewed to check on what columns may contain
information that may be useful for the task at hand. As an example: information on each object may be required and
the required columns that are need are known ("Name" and "Description" columns in the Objects table). All columns
are specified to be returned via the SQL statement by using the "*" wildcard character: (SELECT * FROM Objects). The
following document generation script will enable us to return the information as required:
##Repeat.1(SQL: SELECT * FROM Objects)
Rockwell Automation, Inc.
LOGIX-UM003K-EN-E - March 2024
105
Chapter 6
Use ACM Tools
[1.{Name}], [1.{Description}]
##EndRepeat.1
The highlighted section above shows the columns that will be returned ("Name" and "Description" fields). Running this
script within the Document Template Editor would return a list of all information contained within the Objects table of
the ACM database. Below is an example of output from the above script (returned information will vary depending on
how the objects are created within the ACM database):
MyProject, Project Information
My_Controller, ControlLogix Controller
Controller_Fault_Handler, Task Description
PowerUp_Handler, Task Description
Unscheduled, Task Description
FTAlarmEvent_Server, FactoryTalk Alarms and Events
FTViewSE_Server, FactoryTalk View SE Display
FTHistorianSE_Server, FactoryTalk Historian SE Scan Classes
Looking at the information returned above, we may decide that we only want to return objects related to the currently
opened ACM project. Earlier in this section we spoke of the four temporary tables created behind the scenes when
running a document generation script. One of these tables (#Objects) contains information pertaining to objects for
the current ACM project. Switching the SQL script to use the temporary objects table can be achieved by changing the
table name to the temporary table name:
SQL: SELECT * FROM #Objects
The complete script would now look as follows:
##Repeat.1(SQL: SELECT * FROM #Objects)
[1.{Name}], [1.{Description}]
##EndRepeat.1
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’.
106
LOGIX-UM003K-EN-E - March 2024
Rockwell Automation, Inc.
Chapter 6
Use ACM Tools
The statement we will be inserting into the Document Template Editor is as follows:
##Repeat.1(SQL: SELECT Name, Description FROM #Objects WHERE CatalogNumber='MsVlv2sS')
[1.{Name}], [1.{Description}]
##EndRepeat.1
As can be seen via the highlighted section, we have replaced the "*" wildcard used in example 1 with the actual field
names that are required from the dataset. This will improve efficiency and will be seen in the speed of execution of
the query with only the required columns returned.
Once again, each record that is returned in the result-set will be processed by the ##Repeat instruction and we will
be returning both available columns, namely "Name" and "Description".
Below is an example of some returned information (returned information will vary depending on how the objects are
created within the ACM database):
XV_0001, Valve Two State 1
XV_0002, Valve Two State 2
XV_0003, Valve Two State 3
XV_0004, Valve Two State 4
XV_0005, Valve Two State 5
Advanced Query
The following sample will return all libraries in use for a specific library type.
The SQL statement that we will be using is as follows:
SELECT COUNT(libs.CatalogNumber) AS Qty, libs.CatalogNumber, libs.Description
FROM #Objects AS objs INNER JOIN RegisteredLibraries AS libs
ON objs.LibraryID = libs.LibraryID
WHERE libs.LibraryType = 'ControlModule'
GROUP BY libs.CatalogNumber, libs.Description
ORDER BY libs.CatalogNumber
The above query selects information across two tables (#Objects and RegisteredLibraries) and returns all libraries
of the type ‘ControlModule’ in use within the currently loaded ACM project as we are querying information from the
temporary #Objects table as discussed earlier.
Note that the query above is making use of the temporary #Objects table. The "#" will need to be removed when
testing this query with a SQL tool like SQL Management Studio or sqlcmd as the temporary Objects table is only
created by the Documentation Generation Engine when a documentation generation script is run within ACM. An error
will be generated if the "#" is not removed as the table does not exist within the ACM database.
Rockwell Automation, Inc.
LOGIX-UM003K-EN-E - March 2024
107
Chapter 6
Use ACM Tools
The complete document generation script would look as follows:
##Repeat.1(SQL: SELECT COUNT(libs.CatalogNumber) AS Qty, libs.CatalogNumber,libs.Description FROM #Objects
AS objs INNER JOIN RegisteredLibraries AS libs ON objs.LibraryID = libs.LibraryID WHERE libs.LibraryType =
'ControlModule'GROUP BY libs.CatalogNumber, libs.Description ORDER BY libs.CatalogNumber)
[1.{Qty}] [1.{CatalogNumber}] [1.{Description}]
##EndRepeat.1
Once the data has been retrieved from the database, the result-set is then processed and itereated through via the
##Repeat instruction. Three columns would be created in the output. The first column would display the number of
instances in which the selected library is used, followed by the catalog number for the library and finally the libraries
description information in the last column.
Below is an example of some returned information (returned information will vary depending on how the objects are
created within the ACM database):
112 MsAinSiS Analog Input
128 MsDinSiS Digital Input
128 MsVlv2sS Valve Two State
Add content to an ACD project
Add content from the ACM library to an existing ACD project by opening the ACD in Application Code Manager.
To add ACM library content to an ACD project
1.
Click Tools and click Open Target ACD. The Open dialog will display.
2.
Select the desired ACD file and click Open.
3.
The Target ACD File tab will replace the Controller Preview pane.
4.
Drag and drop content from the registered libraries or an existing ACM project to the Target ACD File tab. The
Target ACD Generation Wizard - Object Configuration page appears.
Tip: Click the Override Calculated Parameters button to unlock the calculated parameter of
this object. The unlocked calculated parameter can be edited. After editing, click the Enforce
Calculated Parameters button to lock this parameter.
5.
(optional) Click Options > Include Project Data to include all instances with their parameter values, as well
as all libraries (zipped) will be included as part of the Controller's Custom Properties.
6.
Resolve any values in the Unresolved Names page, then click Next. The Target ACD Generation Wizard Merge Actions page appears.
7.
Review the list of merge actions.
◦
If any merge actions are incorrect, click Back to update the parameters as needed.
◦
If the merge actions are correct, click Next.
The Target ACD Generation Wizard - L5X Generation Successful page appears.
108
LOGIX-UM003K-EN-E - March 2024
Rockwell Automation, Inc.
Chapter 6
8.
9.
Rockwell Automation, Inc.
Use ACM Tools
Click Finish. The Save As dialog box opens. In File name either:
◦
Type a new name for the ACD file that contains the merged content.
◦
Leave the original name to overwrite the existing ACD project (default).
Click Save to save the target ACD file.
LOGIX-UM003K-EN-E - March 2024
109
Chapter 7
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
110
LOGIX-UM003K-EN-E - March 2024
Rockwell Automation, Inc.
Chapter 7
Report
Reports
Description
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.
Pending Libraries per Library Type in database
For the selected library type of a solution in the connected ACM
database, shows the libraries that have not yet been published.
Identifying them by category, catalog number, major revision
and minor revision.
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 110 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
Rockwell Automation, Inc.
LOGIX-UM003K-EN-E - March 2024
111
Chapter 7
Reports
Report
Command
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, Category
System View > [Project] > Used Libraries > [Library folder] >
[Library type folder] > [Library category folder] > View > 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
Library Usage
Registered Libraries > View > Library Usage
Pending Libraries
Registered Libraries > View > Pending Libraries
Database Library Usage per Solution
Registered Libraries > [Solution] > View > Library Usage per
Solution
Database Pending Libraries per Solution
Registered Libraries > [Solution] > View > Pending Libraries per
Solution
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 110 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.
112
Right-click the object, select View and then choose the report to run.
LOGIX-UM003K-EN-E - March 2024
Rockwell Automation, Inc.
Chapter 7
3.
Reports
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.
Rockwell Automation, Inc.
LOGIX-UM003K-EN-E - March 2024
113
Chapter 8
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.
114
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.
LOGIX-UM003K-EN-E - March 2024
Rockwell Automation, Inc.
Chapter 8
ACM Console
Command
Description
exportlibrariesbyquery
Exports libraries filtered by query to HSL4 files.
exportpartial
Exports part of an ACM project to an Excel file.
exportproject
Exports an ACM project to an Excel file.
extractattachmentsbycontroller
Extracts the attachments of a specified controller and its
children objects to the output path.
extractattachmentsbyobject
Extracts the attachments of a specified object to the output
path.
extractattachmentsbyproject
Extracts the attachments of a specified project and its children
objects (including controllers and their children objects) to the
output path.
generatealarms
Generates alarm import file (supports FactoryTalk Alarms and
Events and FactoryTalk View ME Alarms).
generatecontroller
Generates the specified controller as an L5X or ACD file.
generatedisplays
Generates FactoryTalk View SE or FactoryTalk View ME display
import files.
generatehistorian
Generates historian tag import file.
generatepartial
Generates the specified program or routine as an L5X file.
generateprojectcontrollers
Generates all the controllers of a specified project as L5X or
ACD files.
help
Displays command help.
importproject
Imports an ACM project from an Excel file.
monitorlog
Begins a monitored log section.
publishbyscript
Extracts and publishes a library from an ACD using a script file.
publishlibrary
Extracts and publishes a library from an ACD.
registerlibrary
Registers the library into the ACM database.
run
Runs a script.
showlog
Shows the log memory content in the log viewer.
switchdatabase
Switches to a different ACM database at any point within a
script.
writelogmessage
Writes a message to the log.
Open the ACM Console
The ACM Console on page 114 is a separate application from Application Code Manager.
To open the ACM Console
1.
Minimize or close the Application Code Manager if it is open.
2.
On the desktop, double-click the ACM Console icon or click Start > Rockwell Software > ACM Console.
The ACM Console appears.
Rockwell Automation, Inc.
LOGIX-UM003K-EN-E - March 2024
115
Chapter 8
ACM Console
List all commands
The help function in the ACM console can provide a list of all the ACM commands.
To list all commands
1.
Open the ACM Console.
2.
At the $ prompt, type help and then press Enter.
A list of all commands is displayed.
Generate a limited list of commands
Use the help function in the ACM Console on page 114 to provide a limited list of commands.
To generate a limited list of commands
1.
Open the ACM Console on page 115.
2.
At the $ prompt, type help and the first letters of the command that to limit the list to and then press the Tab
key.
For example, typing "help g" and then pressing the Tab key results in the prompt automatically completing
the "g" to generate, pressing tab again returns a comma delimited list of generatecontroller and
generatepartial.
Generate command information
Use the help function in the ACM Console on page 114 to provide detailed information about a specific command.
To generate detailed command information
1.
Open the ACM Console on page 115.
2.
Type help then the full command and then press Enter.
For example, type help exportproject, then press Enter.
Detailed information on the exportproject command displays.
Console scripts
A console script is a text file (.txt) containing a set of valid Application Code Manager Console commands. The
commands are run in order, top to bottom.
If using the CREATEPROJECT, CREATECONTROLLER, or CREATEOBJECTS commands, the console script requires an
Extended script (.xml) file. The Extended script on page 117 is called as part of the command to provide data to
Application Code Manager about the project, controller, or object that is created.
Create an ACM Console script
Create an Application Code Manager Console script to store a set of commands for later or repeated use.
To create an Application Code Manager Console script
116
1.
Open a text editor, such as Notepad.
2.
Enter one or more valid Application Code Manager Console commands into the script.
LOGIX-UM003K-EN-E - March 2024
Rockwell Automation, Inc.
Chapter 8
ACM Console
IMPORTANT: Only enter one Application Code Manager Console command per line of the
script.
3.
Save the script as a plain text (.txt) file.
Run an ACM Console script
Run an Application Code Manager Console script to execute a set of predefined commands on the Application Code
Manager database.
To run an Application Code Manager Console script
1.
Double-click the ACM Console shortcut on the desktop.
2.
Select File > Run Script.
3.
In Select an ACM Script File locate the file, then click Open.
The script executes.
Alternatively:
•
At the Application Code Manager Console prompt, type run filelocationpath
\scriptfilename.txt, then press Enter.
Replace filelocationpath with the file path, such as C:\Users\<username>\Desktop\ and
scriptfilename.txt with the script filename.
Extended scripts
An Extended script is an XML (.xml) file that contains information about a project, controller, or library object. The
Extended script is called from a CREATE command in an Application Code Manager Console script, which passes the
object data contained in the Extended script to the Application Code Manager database.
Projects and controllers may not be defined in the same XML file. For best results, create three Extended scripts: one
for the project, one for the controller, and one for all the associated objects.
Tip: When creating a Project or Controller XML file, set up a reference (@Project or @Controller) to
use the project name passed in from the Application Code Manager Console script. This allows a single
Project or Controller XML file to be used for multiple projects.
An example of an Application Code Manager Console script that calls an Extended script is:
BEGINCREATE
CREATEPROJECT "myProject" "C:\Script Files\Project.xml"
CREATECONTROLLER "myProject" "myController" "C:\Script Files\Controller.xml"
CREATEOBJECTS "myProject" "myController" "C:\Script Files\Objects.xml"
ENDCREATE
Rockwell Automation, Inc.
LOGIX-UM003K-EN-E - March 2024
117
Chapter 8
ACM Console
Generate an example Extended script
Generate an example Extended script to copy and paste the XML structures and parameters to a new Extended script
file for editing.
To generate an example Extended script
1.
Create a Project, Controller, and Object in Application Code Manager.
2.
Generate an L5X controller file with the ACM Project Data option enabled.
3.
Open the .L5X controller file in a text editor.
4.
Copy the <IObjs> and <ICOObjs> nodes to a new Extended script file.
Library
The Library <IObj> node represents a library instance configuration.
Parent node:
•
<IObjs>
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.
118
LOGIX-UM003K-EN-E - March 2024
Rockwell Automation, Inc.
Chapter 8
ACM Console
Attribute
Description
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.
Parameter
The Parameter <IPar> node represents a library parameter.
Parent node:
•
<IPars>
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
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>
Attribute
Description
Name
The name of the SubObject, such as Inp_Intlk01.
Type
The type of SubObject, such as Interlock.
Description
The description of the SubObject.
OverrideDesc
If formatting is applied to the SubObject description field in
the library and this field is set to true, then the description
can be overridden.
Linked Library
The Linked Library <ILLib> node represents a linked library reference.
Rockwell Automation, Inc.
LOGIX-UM003K-EN-E - March 2024
119
Chapter 8
ACM Console
Parent node:
•
<ILLibs>
Attribute
Description
Name
The name displayed for the Linked Library.
Value
The instance name of the target library.
Interface Links
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
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.
Value
The library instance name and output interface member to
which to connect.
RefVal
The name of the output interface member in the
destination library.
Controller Object
The Controller Object <ICOObj> node represents an object that appears in the Application Code Manager Controller
Preview pane.
120
LOGIX-UM003K-EN-E - March 2024
Rockwell Automation, Inc.
Chapter 8
ACM Console
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.
Rockwell Automation, Inc.
LOGIX-UM003K-EN-E - March 2024
121
Legal Notices
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.
Software and Cloud Services Agreement
Review and accept the Rockwell Automation Software and Cloud Services Agreement here.
Open Source Software Licenses
The software included in this product contains copyrighted software that is licensed under one or more open source
licenses.
You can view a full list of all open source software used in this product and their corresponding licenses by opening
the oss_license.txt file located in your product's OPENSOURCE folder on your hard disk drive. This file is divided into
these sections:
•
Components
Includes the name of the open source component, its version number, and the type of license.
•
Copyright Text
Includes the name of the open source component, its version number, and the copyright declaration.
•
Licenses
Includes the name of the license, the list of open source components citing the license, and the terms of the
license.
The default location of this file is:
C:\Program Files\Common Files\Rockwell\Help\<product name>\Release Notes\OPENSOURCE\oss_licenses.txt.
You may obtain the Corresponding Source code for open source packages included in this product from
their respective project websites. Alternatively, you may obtain complete Corresponding Source code
by contacting Rockwell Automation via the Contact form on the Rockwell Automation website: http://
www.rockwellautomation.com/global/about-us/contact/contact.page. Include "Open Source" as part of the request
text.
122
LOGIX-UM003K-EN-E - March 2024
Rockwell Automation, Inc.
Rockwell Automation Support
Use these resources to access support information.
Technical Support Center
Find help with how-to videos, FAQs, chat, user forums, and product notification updates.
rok.auto/support
Knowledgebase
Access Knowledgebase articles.
rok.auto/knowledgebase
Local Technical Support Phone Numbers
Locate the telephone number for your country.
rok.auto/phonesupport
Literature Library
Find installation instructions, manuals, brochures, and technical data publications.
rok.auto/literature
Product Compatibility and Download
Get help determining how products interact, check features and capabilities, and find
rok.auto/pcdc
Center (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.
Waste Electrical and Electronic Equipment (WEEE)
At the end of life, this equipment should be collected separately from any unsorted municipal waste.
Rockwell Automation maintains current product environmental information on its website at rok.auto/pec.
Rockwell Otomasyon Ticaret A.Ş. Kar Plaza İş Merkezi E Blok Kat:6 34752 İçerenköy, İstanbul, Tel: +90 (216) 5698400 EEE Yönetmeliğine Uygundur
LOGIX-UM003K-EN-E - March 2024
Supersedes Publication LOGIX-UM003J-EN-P - April 2023
Copyright © 2024, Rockwell Automation Technologies, Inc. All rights reserved. Printed in the U.S.A.
">
/
Download
Just a friendly reminder. You can view the document right here. But most importantly, our AI has already read it. It can explain complex things in simple terms, answer your questions in any language, and help you quickly navigate even the longest or most compilcated documents.
Advertisement