Logix Um003 - en P
Logix Um003 - en P
User Manual
      Version 4.02.00
            ATTENTION: Identifies information about practices or circumstances that can lead to personal injury or death, property damage, or economic loss.
            Attentions help you identify a hazard, avoid a hazard, and recognize the consequence.
IMPORTANT Identifies information that is critical for successful application and understanding of the product.
            BURN HAZARD: Labels may be on or inside the equipment, for example, a drive or motor, to alert people that surfaces may reach dangerous
            temperatures.
            ARC FLASH HAZARD: Labels may be on or inside the equipment, for example, a motor control center, to alert people to potential Arc Flash. Arc Flash will
            cause severe injury or death. Wear proper Personal Protective Equipment (PPE). Follow ALL Regulatory requirements for safe work practices and for
            Personal Protective Equipment (PPE).
Rockwell Automation recognizes that some of the terms that are currently used in our industry and in this publication are not in
alignment with the movement toward inclusive language in technology. We are proactively collaborating with industry peers to
find alternatives to such terms and making changes to our products and content. Please excuse the use of such terms in our
content while we implement these changes.
                                   Chapter 1
Application Code Manager           Product overview ......................................................................................... 7
                                      Design process ....................................................................................... 8
                                      Library objects ...................................................................................... 11
                                      Templates.............................................................................................. 12
                                      Schedules .............................................................................................. 12
                                      Design Automation Concept ............................................................... 13
                                      Create a central ACM database ........................................................... 13
                                      Upgrading a central ACM database .................................................... 14
                                      Initial configuration ............................................................................ 14
                                      Upgrade the application ...................................................................... 15
                                   Navigate the user interface........................................................................ 16
                                   Chapter 2
Connect to an ACM database          Connect to an ACM database .................................................................... 19
                                      Settings of Connection Properties .....................................................20
                                      Settings of Advanced Properties ......................................................... 21
                                   Chapter 3
Project Development                 Project Development ................................................................................. 25
                                       Project commands ............................................................................... 25
                                       Create a new project ........................................................................... 26
                                       Create a project from a project........................................................... 26
                                       Add a Historian object ........................................................................ 27
                                       Add a Historian sub-object ................................................................. 27
                                       Historian Point Type parameters ...................................................... 28
                                       Generate a Historian object ............................................................... 29
                                       Add an HMI object .............................................................................. 30
                                       Add a Display sub-object .................................................................... 30
                                       HMI Display parameters ..................................................................... 31
                                       Generate an HMI object ...................................................................... 31
                                       Add an Alarm Group sub-object ..........................................................32
                                       FTAE Alarm Group parameters........................................................... 33
                                       Find an object ....................................................................................... 33
                                       Update a project library ....................................................................... 33
                                       Extract attached files ........................................................................... 34
                                       Indications ............................................................................................ 35
                                   Chapter 4
Registered Libraries                Registered Libraries overview................................................................... 37
                              Chapter 5
Configure controllers          Configure controllers ................................................................................ 43
                                 Generate a controller file ..................................................................... 44
                                 Add a new controller ........................................................................... 44
                                 Move or copy a controller ....................................................................45
                                 Select Destination Project dialog ....................................................... 46
                                 Add a controller ................................................................................... 46
                                 Update a controller ..............................................................................47
                                 Detach a controller .............................................................................. 48
                                 Contribute instances .......................................................................... 48
                                 Merge controllers ................................................................................ 48
                                 Add a hardware module ...................................................................... 48
                                 Delete a hardware module.................................................................. 49
                                 Use Copy and Paste Special ................................................................ 49
                                 Add a new instance ............................................................................. 50
                                 Add a new software object .................................................................. 50
                                 Generate a partial program ................................................................. 51
                                 Generate a partial routine ................................................................... 51
                                 Object Configuration Wizard ............................................................ 52
                                 Auto Create Linked Objects ................................................................. 53
                              Chapter 6
Use ACM Tools                  Use ACM Tools ........................................................................................... 55
                                  Import Export Manager ...................................................................... 55
                                     Import a schedule .......................................................................... 57
                                     Import tab settings ....................................................................... 58
                                     Export a schedule .......................................................................... 58
                                     Export tab settings.........................................................................59
                                     Compare a project to a schedule .................................................. 60
                                     Compare Tab settings ................................................................... 60
                                     Update controller parameters with the related tag values ......... 61
                                     Tags Import tab settings ............................................................... 61
                                     Create a Tag Configurator workbook........................................... 61
                                     Tags Export tab settings ............................................................... 62
                                     Create an ACM partial import file ............................................... 62
                      Chapter 7
Reports                Reports ...................................................................................................... 103
                          Report command reference .............................................................. 104
                          Generate a report ............................................................................... 105
                      Chapter 8
ACM Console            ACM Console ............................................................................................ 107
                          Open the ACM Console ...................................................................... 108
                          List all commands ..............................................................................108
                          Generate a limited list of commands................................................ 109
                          Generate command information ...................................................... 109
                          Console scripts ................................................................................... 109
                              Create an ACM Console script .................................................... 109
                              Run an ACM Console script ........................................................ 109
                              Extended scripts .......................................................................... 110
Legal Notices          Legal Notices ............................................................................................. 115
                         Studio 5000® Application Code Manager is a tool that enables more efficient
Product overview
                         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.
                              •   Create databases
                              •   Register libraries
                              •   Create projects
                              •   Manage objects
                         Application Code Manager includes an additional command-line tool, the
                         ACM Console. Use the ACM Console to perform the following actions:
                              •   Edit Parameters
                              •   Export All Projects
                              •   Export Libraries by Attribute
                              •   Generate Controller (as an L5X or ACD file)
                              •   Import Project
                              •   Publish Library
                         Before starting a project, become familiar with the basic concepts used in
                         Application Code Manager; the design process on page 8, the different library
                         objects on page 11, the available templates on page 12, the use of schedules on
                         page 12, and the design outputs from Application Code Manager.
                         Activation
                         Activating Application Code Manager provides access to all Application Code
                         Manager features.
                         When not activated Application Code Manager has the following limitations:
                              • Application Code Manager can only connect to a local database
                                instance.
                              • Application Code Manager can only support a single controller per
                                project.
                              • Attempting to import projects with multiple controllers will result in
                                an error.
                                       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.
                                            •   Controller Tags
                                            •   Tasks
                                            •   Motion Groups
                                            •   Add-On Instructions
                                            •   Data Types
                                            •   Trends
                                            •   I/O Configurations
                                       Each Logix object has an internal hierarchy of elements. Example: a task may
                                       contain one or more programs, each of which may contain one or more
                                       routines.
      Library Designer
      Use the Library Designer to assign the project, the controller, and any of the
      Logix objects to one or many library objects. Each library object defines a set
      of functions, capabilities, and connections. Example: those that support
      function of the valve, motor, and controller modules. Rather than being tied to
      one application, library objects can be configured to meet the needs of
      multiple applications. The Library Designer allows the publishing of a library
      directly into an ACM database. Options include the ability to specify the
      location where the library will be published in the ACM database, and the
      ability to specify the status of the library, either Published or Pending.
      Each ACD file can support multiple projects, controller libraries, and library
      objects. The ACD is not required to contain a project or controller library.
      While decoration is stored as part of the ACD file, it is treated as a separate
      layer of information from the base controller code and does not affect code
      execution.
                                       Use Library Object Manager to add HMI displays (FactoryTalk View SE/ME),
                                       FactoryTalk Alarms and Events configurations, FactoryTalk View ME Alarms
                                       and Historian (FactoryTalk Historian SE) 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:
                                       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.
                        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 new library objects so
                        that future projects can use the solutions developed.
                         A library object is the class definition of an object, it can contain links to other
Library objects
                         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.
                                       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 which includes information about the instance and the library that
                                       owns or created the element.
                                       A template defines the static content and format of design output (example: a
Templates
                                       FactoryTalk View display). A template is not a class definition. A template is
                                       not instantiated. Templates have a variety of formats (example: xml, csv, docx,
                                       xlsx) and are stored in the ACM program folder or an individual user folder.
                                       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:
                             The project design outputs are generated automatically by ACM. The objects
Design Automation Concept
                             (instances) and parameter values, stored in the ACM database, are combined
                             with various templates to create the following design outputs:
                                  •   Logix
                                  •   FactoryTalk View SE/ME graphics
                                  •   FactoryTalk Historian SE import file
                                  •   FactoryTalk Alarms and Events import file
                                  •   Excel (Schedules)
Create a central ACM         When planning an ACM deployment if there are multiple people collaborating
                             on projects make sure to select a computer to use as the ACM database server
database
                             that can be accessed by all users in the project. This can be a standard
                             computer that does not belong to a particular user or a project computer. The
                             computer must always be turned on and available. Microsoft SQL Server 2016
                             is the only software required on the shared computer.
                                      Note: The ability to connect to a remote database is only available if the product has a Standard
                                      activation license and is not available in Lite mode.
                             Install SQL Server 2016 via the ACM installation media. Select only SQL Server
                             2016 when presented with the selection of install options.
                             When configuring the SQL Server note the following considerations when
                             supporting multiple user connections to the database:
                                  1. Add Users: Normally ACM uses Windows Authentication to connect to
                                     the ACM database. When the ACM database is located in a remote
                                     computer, local users must be created using the SQL Server
                                     Management Studio. Create one user account that is shared by all the
                                     project collaborators or add an individual user for each collaborator.
                                     Only assign users to the ACM database after the ACM database is
                                     created.
                                      If the SQL user is not a sysadmin, creation of the database for the first
                                      time is a multi-step process:
                                      a. Create users in SQL.
                                                    •   db_owner
                                                    •   db_datareader
                                                    •   db_datawriter
                                                    •   public
                                                d. 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:
                                                    • db_backupoperator
                                            2. 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                 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
database
                                        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:
System View                 A pane that contains a tree control that enables navigation through the different components of an ACM
                            project.
                            The System View pane displays branches for the objects contained in the project including FactoryTalk
                            Historian Server objects, FactoryTalk View SE/ME Server objects, Libraries used in the project, and
                            Controller objects.
                            • Historian branch
                              The Historian branch contains all Historian ScanClass objects in the Project.
                              The Historian objects are organized in a 3-level hierarchy:
                              Historian
                              --> ScanClass
                              ----> Object
                              The Historian Scan Class definitions are Sub-objects in the FT_Historian object (instance).
                            • HMI branch
                              The HMI branch contains all HMI objects in the Project.
                              HMI objects are organized in a 3-level hierarchy:
                              HMI
                              --> Displays
                              ----> Object
                              HMI
                              --> Colors
                              ----> Object
                              and
                              HMI
                              --> Alarms
                              ----> Object
                            • Used Libraries branch
                              The Used Libraries branch displays the libraries that are used in the project.
                              Libraries are organized in a 4-level hierarchy:
                              Solution
                              --> Library Type
                              ----> Library Category
                              ------> Library Catalog Number (Library Version)
Controller Preview          A pane that contains a tree control that enables navigation through the different controllers.
                            The Controller Preview pane displays all the project data organized into the following folders:
                            • Controllers
                            • Controller-specific data
                            • Logix-specific objects
                            • Task/Programs
                            • Control Modules
                            Controller Preview displays Logix content similar to its final state after it is generated.
                            Use this view to add objects, as well as generate code.
Class View                  A pane that contains a tree control that enables navigation through objects grouped by controller.
                            Objects are organized by the Library object catalog numbers and show the instances below them.
                            Use this view to add, copy, or delete any object instances as well as generate code and reports or
                            navigate the library in the Registered Libraries tree.
Object Identifiers          Displays the identification information for the currently selected object. Includes
                            • Name. The name of the object in the database
                            • Description. Object category or user specified label for the object.
                            • Catalog Number. The specific identifier assigned to the object in the library.
                            • Solution. The name of the library object repository for the library object
                         Object Parameters          This pane displays the properties tab for the object currently selected in either the System, Controller,
                                                    or Class view.
                                                    When applicable, a toolbar is present in the parameter pane that provides the ability to:
                                                    • Sort parameters alphabetically
                                                    • Sort parameters into groups
                                                    • Show only visible parameters
                                                    • Show all (visible and hidden) parameters
                                                    • Open additional properties
                                                    The parameter name shows in the column on the left and the parameter value shows in the column on
                                                    the right. Change parameter values by typing a new value in the right column. A description of the
                                                    selected parameter displays at the bottom of the parameters tab.
                                                    Some objects have additional tabs for sub-object parameters, (example: analog input of a 1756-IF16 or
                                                    Attachments for libraries). Sub-object parameters show on an additional tab labeled with the sub-object
                                                    display name.
                                                    Each row in the sub-object parameters tab represents a sub-object. By default, sub-objects sort
                                                    alphabetically by name. Sort sub-objects in groups by clicking on a column header.
                                                    The sub-object name shows in the Name column. Additional columns display the sub-object parameters
                                                    (example: Channel). Change the sub-object name and the sub-object parameter values by typing a new
                                                    value below the column header.
                                                    The sub-object name can be configured as read-only. When the sub-object name is read-only, the value
                                                    is shown dimmed.
                                                    If an object or sub-object parameter value is changed click Apply changes to save the changes to the
                                                    ACM database.
                                                    The version number of the Application Code Manager software displays in lower left corner of the object
                                                    Parameter tab.
                         Registered Libraries       A pane that contains a tree view display of all libraries in the connected ACM database. These libraries
                                                    can be added to an ACM project.
                                                    The libraries are organized in a 4-level hierarchy with statistical information in parenthesis:
                                                    Solution (Number of objects)
                                                    --> Library Type (Number of objects)
                                                    ----> Library Category (Number of objects)
                                                    ------> Library Catalog Number (Library Version)
                         Library Repositories       This pane displays the configured library repositories. A library repository refers to another ACM
                                                    database that can monitored for library updates. Libraries from these source databases can be easily
                                                    replicated over to the currently active database for use within a project. It is unavailable to create an
                                                    object directly from a library in a library repository. The library must first be replicated to the current
                                                    active ACM database before it can be used to create an object. Add or remove library repositories in this
                                                    pane.
                                              The Advanced Properties dialog box provides a means of changing how the
                                              connection between ACM and the SQL Server passes information.
                                              This table describes the settings in the Advanced Properties dialog box. The dialog box is divided into functional
                                              areas.
                                                         Note: Applying the recommended settings will improve ACM performance especially for network
                                                         connections.
                            ConnectRetryInterval                5 (recommended)               Delay between attempts to restore connection. The amount of time
                                                                                              (in seconds) between each reconnection attempt after identifying
                                                                                              that there was a connection failure. This must be an integer
                                                                                              between 1 and 60.
    Context                 Application Name                    .Net SqlClient Data Provider The name of the application.
                            Workstation ID                                                    The name of the workstation connecting to SQL Server.
      Security                 Authentication                  NotSpecified (default)      Specifies the method of authenticating with SQL Server.
                                                               SqlPassword
                                                               ActiveDirectoryPassword
                                                               ActiveDirectoryIntegrated
                               Column Encryption Setting       Enabled                     Default column encryption setting for all the commands on the
                                                               Disabled (default)          connection.
         TrustServerCertificate           True (recommended)           When True (and Encrypt is set to True), SQL Server uses SSL
                                          False                        encryption for all data sent between the client and server without
                                                                       validating the server certificate.
                                                                       If TrustServerCertificate is set to True and Encrypt is set to False,
                                                                       the channel is not encrypted.
         User ID                          sa                           Indicates the user ID to be used when connecting to the data
                                                                       source.
         AttachDbFilename                                              The name of the primary file, including the full path name, of an
Source
                                                                       attachable database.
         Context Connection               True                         When True, indicates the connection should be from the SQL Server
                                          False (default)              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 is connecting to a high-availability, disaster
                                          False (default)              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.
         TransparentNetworkIPResolution   True (default)               If your application connects to different networks, setting this value
                                          False                        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 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 connection will be re-directed to connect to
                                          False (default)              an instance of SQL Server running under the user's account.
Project Development
                                                  •   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.
                                                    Create a new project when the new project is not similar to existing projects.
Create a new project
Create a project from a                             Use an existing project in the ACM database as the basis for a new project if
                                                    the projects use the same components and libraries.
project
                                                    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.
                                                    Group sub-objects
                                                    Group sub-objects into categories based on the data columns.
   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.
                                     Group sub-objects
                                     Group sub-objects into categories based on the data columns.
   DisplayLeft             Sets the left edge of a display to the number of units specified from the left edge of the screen.
   DisplayTop              Sets the top edge of a display to the number of units specified from the top edge of the screen.
   DisplayWidth            Sets the width of a display.
   DisplayHeight           Sets the height of a display.
   DisplayBackColor        Sets the background color of the display.
   DisplaySecurity         Identifies the security class of the screen.
   UpdateRate              Defines the amount of time to update a display in response to an event. Default setting is 1.0 seconds. For best performance
                           set to .1 seconds.
   LeftIndexMax            Identifies the maximum number of entries in the left index.
   VBAProjectObject        Adds a VBA item to the FactoryTalk View SE display. Click the ellipsis (...) button to select a VBA item.
   SubObject Description   Provides a unique description of the display sub-object.
                                     Once a HMI display object has been configured it can then be used to
Generate an HMI object
                                     generate an import file for use with FactoryTalk View SE or FactoryTalk View
                                     ME. This file is an Extensible Markup Language (.xml) file.
                                   Group sub-objects
                                   Group sub-objects into categories based on the data columns.
                                   Use the Find dialog box to search for an object or a library in the Class View
Find an object
                                   pane, contents in the Controller Preview tree, or a library in the Registered
                                   Libraries tree.
                                   To find an object
                                         1. On the toolbar, select EDIT > Find.
                                         2. In Find what, enter the name of an object.
                                         3. In Look in, select Class View, Controller Preview, or Registered
                                            Libraries.
                                         4. (optional) In Find Options, select the check boxes of Match case and
                                            Match whole word.
                                         5. Select Find Next or Find Previous.
Update a project library           Any of the libraries used in a project can be updated to incorporate additions
                                   or modifications to library components.
                                   If Newer Library Version Available is enabled in Application Code Manager
                                   settings, indications appear next to objects that can be updated.
Registered Libraries
                                                 The library nodes on the Registered Libraries tree will show an indication if
                                                 any of the selected library repositories contain a library with the same solution
                                                 and catalog number but a higher revision number.
                                                 Right-click any branch in the Registered Libraries tree view to view the
                                                 commands available.
                                                 This table describes each command. Commands appear at the applicable level
                                                 of the tree.
   Command                                       Description
   Registered Library
   Register                                      Used when a library object is provided as a HSL4 file and needs to be incorporated into ACM. Registers one or more
                                                 library files (HSL4).
   Get updates                                   Updates a library object to a newer version. Notifications appear when Newer Library Version Available in the ACM
                                                 Default Settings is selected.
   View > Pending Libraries                      Displays a report showing Database Pending Libraries report. Available only at the Registered Libraries branch.
   View > Library Usage                          Displays a report showing the Registered Library usage for the libraries in the connected ACM database.
   Export                                        Exports the selected library to an HSL4 (xml) formatted file to a folder, the destination folder is automatically opened.
   Extract Attached Files                        Extracts the attached files in the selected library to a folder, the destination folder is automatically opened.
   Reconstitute ACD                              Opens the ACD Re-constitution Wizard.
   Delete                                        Deletes the selected library in the connected ACM database. Libraries that are used in projects cannot be deleted. If
                                                 the library selected for deletion is in use, a Global Library usage report is displayed instead.
   Delete all unused                             Deletes all unused libraries for the selected level in the connected ACM database.
   Refresh                                       Refreshes the tree view.
   ACM Library
   View > Pending Libraries per Solution         Displays a report showing the registered library usage for the pending libraries in the selected solution. Available only
                                                 at a solution branch.
   View > Library Usage per Solution             Displays a report showing the registered library usage for the libraries in the selected solution. Available only at a
                                                 solution branch node.
   View > Pending Libraries per Library Type     Displays a report showing the registered library usage for the selected pending library type. Available only at a library
                                                 type branch node.
Hardware module libraries and ACM v1.x libraries do not support this feature.
                                         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.
                                         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.
                                          By default library object files and template files are stored in this location:
Local library and template
                                          C:\Users\Public\Public Documents\Rockwell Automation\Studio 5000
file
                                         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 71 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.
                                                 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.
   Command                                                                        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.
Configure controllers
   • Generate Partial Routine                          Displays the Logix Code Generation dialog box. Generates a partial routine for the selected task.
   • Move Up                                           Moves the highlighted object up the tree.
   • Move Down                                         Moves the highlighted object down the tree.
   • Set Main Routine                                  This command is available when multiple main routines have been added from different library objects. There
                                                       can only be one main routine. If a main routine is already selected this command is dimmed.
   • Set Routine Instance Order                        Displays the Instance Execution Order dialog box which specifies the order in which any contributing objects
                                                       insert their code into the routines.
   Object
   • Import                                            Starts Import Export Manager.
   • Export                                            Starts Import Export Manager.
   • Delete                                            Deletes the selected object.
   • Copy                                              Copies the selected object to the clipboard.
   • Rename                                            Renames the selected object.
   • Update                                            Updates the selected libraries to the most recent version.
   View
   • Project Library Usage per Library                 Displays a report showing the registered library usage for the selected library. Available only at a library
                                                       branch.
   • Network Layout                                    Generates Network Layout report.
   • Module I/O Schedule for Rack Module               Displays the I/O Schedule showing rack assignments.
                                                       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
                              To add a controller
                                   1. In the Controller Preview or Class View pane, right-click the
                                       Controllers folder and then click Add New.
                                       The Object Configuration Wizard displays. Controller objects display
                                       in category groups. A triangular marker next to the column name
                                       denotes the current category grouping displayed. Change category
                                       groups by clicking a column heading.
                                   2. Click the + symbol to expand a category and display the controllers in
                                      that group.
                                       Controllers registered in the connected ACM database are listed.
                                   3. Click the desired controller and click Next.
                                   4. In Name, enter a name for the controller.
                                   5. (optional) In Description, modify the descriptive text as needed to help
                                      identify the controller.
                                   6. In the Parameters tab, adjust Controller, HMI, Historian, and Motion
                                      parameters as needed.
                                   7. Click Finish.
                                       The controller adds to the Controller Preview and Class View trees.
Move or copy a controller     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 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.
                             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.
                                 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.
   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 sets 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.
                                                   The Import Export Manager imports and exports ACM project content to and
Import Export Manager
                                                   from schedules using the Excel file format (.xlsx and .xlsm). Schedules include
                                                   the scope of the project (example: Project, Controller, Task, Program, Object,
                                                   Tag) and content for the project (example: Device List, Device Interlocks).
   Import Tab              Specifies what effect the import will have on the target project and the location of the schedule to import.
                           • New - Creates a new project using the specified project name.
                           • Replace - Overwrites the specified project with the project being imported.
                           • Update - Merges the information being imported into the project specified.
                           • Auto Continue - Continues the import process automatically.
                           • Excel File - Enters the path to the schedule Excel file (.xlsx) to import or select the ellipsis to browse to the file location.
                           • Open Backup Folder - Opens the ACM backup folder.
                           • Backup original - Creates a backup of the original project.
      Compare Tab            Compares the currently selected project to a previously saved schedule file and creates a report.
                             • Only Show Changes - When this item is enabled the comparison report will only include items that are different between the current
                               project and the specified schedule file.
                             • Excel File - Provides the path and file name of the schedule file to compare with the current project. Use the ellipsis (...) button to
                               navigate to a file to open.
                             • Compare - Clicking this button runs the compare operation. The results of the comparison are displayed in an Excel spreadsheet.
      Tags Import            Updates parameters in the ACM database with the related tag values in the Tag Configurator workbook. Typically, these values in the
                             workbook are first uploaded from an online Logix Controller using Open Platform Communications (OPC).
                             A Tag Configurator workbook can be used to change, download, and upload a controller's AOI or UDT instance tag values.
                             • Controller - Select an ACM controller to update.
                             • Excel File - Enter full path of the Tag Configurator workbook (.xlsm) to import or click the ellipsis (...) button to browse to the file location.
                             • Configuration File - Enter the configuration file name (.xml) or click the ellipsis (...) button to browse to the file location.
                             • Import - Import the AOI or UDT instance tag values from a Tag Configurator workbook to object parameter values as defined in the
                                configuration file.
      Tag Export             Generates a Tag Configurator workbook from ACM with the tag values of the configured ACM object. The Tag Configurator workbook is then
                             used to write these tag values to an online Logix Controller via Open Platform Communications (OPC).
                             • Controller - Select an ACM controller containing the tags to export to the Tag Configurator workbook (.xlsm).
                             • Template File - Enter the template file name (.xls) or click the ellipsis (...) button to browse to the file location.
                             • Create New Configuration File - Create and uses a new configuration file based on Tag members decorated with the OPC Tag Export
                               option.
                             • Use Existing Configuration File - Use the defined configuration file to generate the Tag Configurator workbook from the ACM project.
                             • Configuration File - Enter the configuration file name (.xml) or click the ellipsis (...) button to browse to the file location.
                             • Export - Export the AOI or UDT instance tag values to a Tag Configurator workbook.
      IAB/Architect          Creates an ACM partial import file containing Logix hardware modules that are configured in Integrated Architecture Builder (IAB), RSLogix
                             Architect, or Studio5000 Architect. The utility converts the IAB/Architect (.xml) file into an ACM partial import file (.xlsx). Import the partial
                             import file when a corresponding ACM library exists in the database.
                             • IAB / RSLogix Architect XML - Enter the configuration file name (.xml) or click the ellipsis (...) button to browse to the file location.
                             • Convert - Create an ACM partial import file.
      Cancel                 Closes the Import Export Manager.
      <<Previous             Not available
      Next>>                 Not available
      Finish                 Closes the Import Export Manager.
                             (Available after the import, export, or compare process is completed.)
                          To import a schedule
                               1. Click Tools, Import Export Manager to open the Import Export
                                   Manager. The most recently used project opens by default.
                               2. To choose a different project to import, click File > Open and then
                                  select the project from the list. If the ACM database does not contain
                                  any projects, the Project is blank.
                               3. Select the import method:
                                   • New - Create a new project.
                                       Use to bring projects into a new ACM database.
                                   • Replace- Overwrite project.
                                       Use to revert projects to a previously exported version.
                                   • Update - Merge with existing project.
                                       Use to add content from other projects, or earlier versions of the
                                       same project, to the current project
                               4. Type a schedule file name (xlsx) in the Excel File text box or click the
                                  ellipsis to browse to the file.
                               5. Click Import.
                                   • If you choose Replace as the import method, the Import dialog box
                                     opens.
                                   • If you choose New or Update as the import method, the Import
                                     Complete dialog box opens.
                                   Errors, warnings, info, and debug log entries display.
                                              Tip: Filter the list of exceptions by clicking Errors, Warnings, Info, and/or Debug.
                               6. (optional) Click Show Log File on the Import Complete dialog box to
                                  display the entire contents of the most recent ACM log file in a text
                                  editor.
                               7. If you chose Replace as the import method, click Next to continue with
                                  the import and change the data in the ACM database.
                                   If you chose New or Update as the import method, click Finish to close
                                   the Import Complete dialog box.
                                                        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   Select this option to update the specified project with the information contained in the imported schedule.
      delete existing objects)                         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.
                                                       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.
                                                        Use the Import Export Manager Export tab to export objects (instances) and
Export a schedule
                                                        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
                                         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:
                           • Controller
                           • Hardware
                           • Object
                           • Library
   Use Template            Select this check box to limit the items exported to the schedule using a schedule template.
                           When selected, choose to use either a Local, Project, or Global schedule template.
   Show Modified           Select this check box to apply color codes in the schedule to denote "changed" (not equal to default) and "unchanged" (equal to
                           default) parameter values.
   Export Used Libraries   Includes all the associated library files for the project/controller in the export.
                                               Use the Import Export Manager Compare tab to compare the current project
Compare a project to a
                                               to a previously saved schedule file and create a report that highlights the
schedule                                       differences.
                                 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.
                                  Use the Import Export Manager Tag Export tab to generate a Tag
Create a Tag Configurator
                                  Configurator workbook from ACM with the tag values of the configured ACM
workbook                          object. The Tag Configurator workbook is then used to write these tag values
                                  to an online Logix Controller via Open Platform Communications (OPC).
                                  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.
                                  Use the Import Export Manager IAB/Architect tab to create an ACM partial
Create an ACM partial
                                  import file containing Logix hardware modules that are configured in the
import file                       Integrated Architecture Builder (IAB) or Studio 5000 Architect. The utility
                                  converts the IAB/Architect (.xml) file to an ACM partial import file (.xlsx).
                                  Import the partial import file when a corresponding ACM library exists in the
                                  database.
                               Use the Template Manager tool of the Import Export Manager to create
Create a new schedule
                               schedule templates. Schedule templates determine the scope of the schedule
template                       (local, project, or global), the library objects used, and the parameters that are
                               visible.
                                                  • 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.
                                         • 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            The Copy/Move Templates tab is used to copy or move a template.
settings                           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.
                                      Use the Template Editor tab of the Template Manager to create, delete, or
Template Editor tab
                                      edit schedule templates.
settings
                                      This table describes the settings on the Template Editor tab.
   Setting                              Description
   Template                             Selects a schedule template. Use the combo boxes to select a schedule template location, a project name (if
                                        located in a project), and a schedule name.
                                        Click New to create a new schedule template
                                        Click Delete to delete the selected schedule template.
                                        If the schedule template format is old, Template Manager asks for permission to upgrade the template format to
                                        the latest version when the schedule template is selected.
   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.
                                        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.
                                                   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.)
   • User name:                                    The SQL Server user name associated with the ACM database.
                                                   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.
Log Debug Information                      To assist in troubleshooting Application Code Manager enable logging of
                                           debug information to the ACM Log File.
                                          Information is written to the ACM log file when design outputs are generated
                                          (example:<CLX>, FactoryTalk View, FactoryTalk Historian, Word) or when
                                          schedules are imported or exported.
                                             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.
   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.
                                                 Output on page 78          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.
                 The Editor, Output, and Code Snippets panes can be undocked and moved
                 around on the desktop to suit your requirements.
                  Selects editing options in the Menu bar. This table describes each option.
Menu bar
                  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.
                                                                    • Copy
                                                                      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.
                                   Selects application configuration options in the Tool bar. This table describes
Tool bar
                                   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
                                     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.
                                  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.
                                   The Output panel contains three tabs for the following output information:
Output panel
                                   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:
       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:
                                   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       Click Add Code To Custom Snippet will invoke the Create New Snippet editor where it will be
                                   custom snippets    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   Right click in the Editor pane and select Execute Selected Fragment to execute a code
                                   fragment           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.
                                                      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.
                                        •    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
      Repeat Types
      Repeat Type           Data Source      Description
      Object                Typed Dataset    All object instances matching the query
                                             All sub object instances matching the query,
      SubObject             Typed Dataset
                                             of the object instance currently iterating
      SubObjectAll          Typed Dataset    All sub object instances matching the query
                                             All objects referencing the instance specified
      ObjectReferences      Typed Dataset
                                             in the query
                            Collection       All collection items of the currently iterating
      Collection
                            Dataset          object or sub-object matching the query
                            Collection       All collection items of all objects matching the
      CollectionAll
                            Dataset          query
                            Raw SQL data
      SQL                                    All items (rows) returned by the query.
                            set
      SubObject and Collection repeat types are only valid when directly nested
      under other specific repeat types.
            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.
      When querying a typed dataset, the following tables list the available
      operators that may be used to build the query statement.
                                  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
                                 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.
                                  The break statement exits the closest enclosing loop in which it appears.
Break instruction
                                  Control is passed to the statement that follows the exited statement, if any.
Example:
Important:
                                       • 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 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:
                            The syntax for using the value of the variable in a template has the following
                            format:
                                    [d.{variable}]
                            Example:
                                    ##Set(myObjName, "[1.{ObjectName}]")
                                    ##Set(myObjNameLength, [1.{ObjectName.Length}])
                            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))
                            It is important to note that all comments are removed from the template
                            during generation.
                             Logging may be added to templates with the following syntax:
Log instruction
                                    ##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’.
                                  Object fields
                                  Field                                Data Type           Original Database Table
                                  ObjectID                             Int                 Objects
                                  ProjectID                            Int                 Objects
                                  ControllerID                         Int                 Objects
                                  ParentObjectID                       Int                 Objects
                                  ObjectName                           String              Objects
                                  ObjectDescription                    String              Objects
                                  LibraryID                            String              RegisteredLibraries
                                  CatalogNumber                        String              RegisteredLibraries
                                  Family                               String              RegisteredLibraries
                                  LibraryType                          String              RegisteredLibraries
                                  CoreType                             String              RegisteredLibraries
                                  Category                             String              RegisteredLibraries
                                  LibraryDescription                   String              RegisteredLibraries
                                  MajorRev                             Int                 RegisteredLibraries
                                  MinorRev                             Int                 RegisteredLibraries
                                  Owner                                String              RegisteredLibraries
                                  SubObject fields
                                  Field                                Data Type           Original Database Table
                                  SubObjectID                          Int                 SubObjects
                                  SubObjectName                        String              SubObjects
                                  SubObjectDescription                 String              SubObjects
                                  SubObjectType                        String              SubObjects
                                  Raw SQL datasets are dynamic and the fields available are dependent on the
Raw SQL data
                                  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.
                                  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
Dataset filtering/scoping
      The first example will return all the Objects in the database regardless of the
      level from which the generation was executed within the ACM.
      ##Repeat.1(SQL: SELECT * FROM Objects)
      [1.{Name}]
      ##EndRepeat.1
      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
                                  SubObject
                                       ##Repeat.1(Object: ...)
                                       ##Repeat.2(SubObject: Query)
                                  SubObjectAll
                                       ##Repeat.1(SubObjectAll: Query)
Collection
                         CollectionAll
                              for each Object where "has collection"
                              {
                                    for each item in collection
                                    {
The ACM database          A working knowledge of the structure of the ACM database will assist when
                          writing document generation scripts for data extraction. There are several
structure
                          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:
           • Objects: All objects used in ACM projects will be recorded in this table.
             Columns available are displayed below:
      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
           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:
                                  A valid SQL query will need to be constructed and verified before it can be
Working with SQL Queries
                                  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.
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:
      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).
      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:
      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
                                  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
                                  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’.
      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".
      Advanced Query
      The following sample will return all libraries in use for a specific library type.
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
                                  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.
                                   Add content from the ACM library to an existing ACD project by opening the
Add content to an ACD
                                   ACD in Application Code Manager.
project
Reports
                                                      Application Code Manager includes a variety of reports to help you track the
Reports
                                                      usage of code objects in your projects.
   Library Usage per Solution (Current Project)           For the selected library in the current project, shows the type of library, the category of the library object, the
                                                          catalog number of the library object, the major revision of the library, the minor revision of the library, the
                                                          number of usages of the library object in the solution, and the status of the library.
   Library Usage per Library Type (Current Project)       For the selected library type in the current library of the current project, shows the category of the library
                                                          object, the catalog number of the library object, the major revision of the library, the minor revision of the
                                                          library, the number of usages of the library object in the solution, and the status of the library.
   Library Usage per Category (Current Project)           For the selected category in the selected library type of the current library associated with the current project,
                                                          shows the catalog number of the library object, the major revision of the library, the minor revision of the
                                                          library, the number of usages of the library object in the solution, and the status of the library.
   Library Usage for Selected Library (Current Project)   For the selected library object within a selected category in the selected library type of the current library
                                                          associated with the current project, shows the total number of times the library object is referenced and the
                                                          number of times the object is used by each controller in the current project.
   Chassis Layout                                         For the chassis of the selected controller object, shows the slot assignments, module names, module type,
                                                          and module information.
   I/O Schedule                                           For the selected I/O module of the current controller object, shows the I/O points, type, module information,
                                                          and description.
   Network Layout                                         For the selected communication module of the current controller object, shows the IP Address assigned to the
                                                          module the module name, the module type, and connections information.
   Library Usage per Project                              For the connected ACM database, shows the solution, the library type, the library category, the catalog
                                                          number, the major revision, the minor revision and the number of times used in projects.
   Pending Libraries in database                          For the connected ACM database, shows the libraries that have not yet been published. Identifying them by
                                                          solution, library type, category, catalog number, major revision and minor revision.
   Library Usage per Solution in database                 For the selected solution in the connected ACM database, shows the library type, the library category, the
                                                          catalog number, the major revision, the minor revision and the number of times used in projects.
   Pending Libraries per Solution in database             For the selected solution in the connected ACM database, shows the libraries that have not yet been
                                                          published. Identifying them by library type, category, catalog number, major revision and minor revision.
       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.
                                                           Reports on page 103 are generated by selecting the report command from the
Report command reference
                                                           View context menu. Different reports are available depending on the object
                                                           selected.
                                                           Use this table to locate each report. Items enclosed in brackets [] are replaced
                                                           by the name of the item in your ACM database.
       Report                                                  Command
       Project History                                         System View > [Project] > View > Project History
       Project Library Usage                                   System View > [Project] > Used Libraries > View > Project Library Usage Count
Project Library Usage per Solution System View > [Project] > Used Libraries > [Library folder] > View > Project Library Usage per Solution
       Project Library Usage per Solution, Library Type        System View > [Project] > Used Libraries > [Library folder] > [Library type folder] > View > Project Library
                                                               Usage per Library Type
       Project Library Usage per Solution, Library Type,       System View > [Project] > Used Libraries > [Library folder] > [Library type folder] > [Library category folder] >
       Category                                                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
   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
                                                    Reports on page 103 are generated from the View context menu. Different
Generate a report
                                                    reports are available depending on the object selected.
                                                   To generate a report
                                                        1. Select the object in the tree that you want to report on. Reports are
                                                            available from objects in the System View, Controller Preview, Class
                                                            View, and Registered Libraries panes.
                                                        2. Right-click the object, select View and then choose the report to run.
                                                        3. The report appears in a new window.
                                                             • If there are multiple pages in the report, use the navigation controls
                                                               to move forwards and backwards through the report information.
                                                             • To rerun the report to incorporate changed information, click
                                                               Refresh.
                                                             • To send the report to a printer, click Print.
                                                                 The Print dialog box opens. Confirm the printer in Select Printer is
                                                                 correct. Optionally, specify the Page Range and Number of copies to
                                                                 print. By default one copy of all pages in the report are printed. Click
                                                                 Print to print the report.
                                                             • To save the report to a file, click Export and then choose Excel, PDF,
                                                               or Word.
                                                                 The Save As dialog box opens. In File name, type a name for the
                                                                 report being exported. Save as type is already selected for the
                                                                 appropriate file format (.pdf, .xlsx, or .docx).
                                                                 Click Save to save the report.
ACM Console
                    The ACM Console commands can be executed directly from the command line
                    which has a few additional arguments:
                                 The ACM Console on page 107 is a separate application from Application Code
Open the ACM Console
                                 Manager.
                                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.
Generate an example              Generate an example Extended script to copy and paste the XML structures
                                 and parameters to a new Extended script file for editing.
Extended script
                          • <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.
                  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.
                          • <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.
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.
                                        • <ILLibs>
                                Attribute                                                Description
                                Name                                                     The name displayed for the Linked Library.
                                Value                                                    The instance name of the target library.
                                The Interface Links <IILink> node represents an interface link for a library
Interface Links
                                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.
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.
                           The Controller Object <ICOObj> node represents an object that appears in the
Controller Object
                           Application Code Manager Controller Preview pane.
                                  • <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.
                      You can view a full list of all open source software used in this product and
                      their corresponding licenses by opening the index.html file located in your
                      product's OPENSOURCE folder on your hard drive.
                      The default location of this file is:
   Literature Library                                                        Find installation instructions, manuals, brochures, and technical data publications.                                      rok.auto/literature
   Product Compatibility and Download Center                                 Get help determining how products interact, check features and capabilities, and                                          rok.auto/pcdc
   (PCDC)                                                                    find associated firmware.
Documentation feedback
Your comments help us serve your documentation needs better. If you have any suggestions on how to improve our content, complete the form at
rok.auto/docfeedback.
Rockwell Automation maintains current product environmental information on its website at rok.auto/pec.
Allen-Bradley, expanding human possibility, Logix, Rockwell Automation, and Rockwell Software are trademarks of Rockwell Automation, Inc.
Trademarks not belonging to Rockwell Automation are property of their respective companies.
Rockwell Otomayson Ticaret A.Ş. Kar Plaza İş Merkezi E Blok Kat:6 34752, İçerenkÖy, İstanbul, Tel: +90 (216) 5698400 EEE YÖnetmeliğine Uygundur