GCCS2 Master Rev7.0 1
GCCS2 Master Rev7.0 1
Module 1: Overview
DOCUMENT MANAGEMENT INFORMATION
Sponsoring Group:
Document Revisions:
This training is based on the Course Title. Please refer to the Standard manual found
on the “GM intranet” or www.gmsupplypower.com. The Standard manual is
comprehensive and will have the latest information. This training manual is used as an
instructional guide
Copyright Information
Copyright General Motors Company, 2019, Detroit, Michigan. All rights reserved under
U.S., International, and Universal Copyright Conventions. Published in the United
States of America. These materials may be used only with related printed materials.
In no event will the General Motors Company be responsible or liable for
incidental or consequential damages resulting from the use or application of the
materials in this manual.
The examples, diagrams, and charts in this manual are included solely for illustrative
purposes. Because of the many variables and requirements associated with any
particular safety situation, the General Motors Company expressly disclaims all
express and implied warranties relating to the materials in this manual, including
all examples, diagrams, and charts.
Reproduction of the contents of this manual, in whole or in part, without written
permission of the General Motors Company is prohibited.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 1-1
well as the quality of the products produced. The application of this standard shall
result in common systems software that:
1. Assures the safe operation and maintainability of the manufacturing
equipment.
2. Introduces common systems to all areas of the facility.
3. Reduces development costs.
4. Leverages global engineering resources.
5. Provides flexible designs to accommodate changes to the product and/or
process.
1-2 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
1.6. Module 1: Objectives
1. The student will be able to describe the purpose of GCCS-1 and GCCS-2
standards.
2. The student will be able to describe how ladder logic is generated for various
manufacturing applications.
3. The student will be able to demonstrate how to document program
descriptions.
4. The student will be able to demonstrate how to document rung comments.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 1-3
1.7. Deviations
Any deviation from GCCS-1 standard requires the advance, written approval of
the controls engineer responsible for the project. Any approved deviation(s) shall
only apply to that specific instance; it shall not be considered a change to this
standard. Past approved deviations from this standard shall not be construed as
setting any approved precedent alternative to the provisions of this specification.
1-4 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
1.8. Definitions
ControlLogix, These terms all refer to the Programmable Logic
GuardLogix, Controller (PLC) that is used on all GM projects.
Logix5000
Processor,
Controller
RSLogix5000 Windows-Based programming software used to
develop, upload/download, and maintain the PLC
software.
Firmware Computer code running at a hardware level in the
PLC and other smart cards in this architecture.
Specific bugs can be fixed by using the correct
firmware identified on the Blockpoint.
Blockpoint A GM specific document that defines, by project,
what the proper software and firmware versions
are. Projects should not move ahead or lag behind
the versions listed for the specific project on the
Blockpoint.
Data Types Defines the size and memory layout that will be
allocated when a tag of a particular data type is
created. All tags have a data type.
Predefined Basic data types that are pre-defined by the
Data Type controller.
Module Are pre-defined and are used in the tags that are
Defined Data automatically created when I/O modules are added
Type to the I/O Configuration.
UDTs UDTs are made from pre-defined, module-defined,
or other user-defined data types. UDTs are visible
throughout the controller. User-Defined Data Types
are created by either the -Automation Standards
group or the actual user.
Tags A Tag is a named memory area that holds data of a
defined data type. Tags are defined by their data
type, either pre-defined or user-defined. Data in a
Logix processor is contained in tags.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 1-5
Tag Scope Defines how visible the tag is and which routines
can access the tag’s data. Tags have scope of
either program or controller. All programs can see
Controller Tags. Conversely, Program Tags are
only visible within the program in which they are
contained.
Tag Aliasing Points a tag to another tag so that the two tags
have the same meaning and share the same data.
The data resides in the base tag. GCCS-1 base
tags are always controller tags. When alias tags
are used, the base tag is a controller tag and the
alias tag is a program scope tag. All non alias tags
are base tags, not all base tags have alias tags.
Tag Class Either Standard or Safety. All tags within the safety
task have to be of the class “Safety”, as well as any
controller tags accessed by the safety task.
Tasks Tasks used in GCCS-1 are continuous or periodic.
The Main Task is continuous, executes all
programs, then starts over, and calls all programs
except those in the Safety Task. The Safety Task
is periodic, interrupts the Main Task, and calls all
safety programs.
Normative References which contain hardware, software, and
References operating standards.
Ladder Logic A program written in a format resembling a ladder-
like diagram. The program is used by a
programmable controller to control equipment
motion or process.
The ladder is broken down into smaller steps called
rungs to simplify the identification and modification
of operations.
Rung Rung comments describe logic function or how to
Comments configure a rung based on a specific situation.
Operand Describes the address of computer instruction
Description data to be operated on.
1-6 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
Add-On User defined instruction sets that behave like a
Instruction Logix predefined instruction. Add-On Instructions
(AOI) are a collection of Logix instructions constructed
with ladder logic or other programming languages.
They reside in the Add-On Instruction folder in the
Controller Organizer and resemble an RSLogix
program. AOIs can be copied and
exported/imported to other projects.
Item Description
1 AOI name, also used in project routines where AOI functionality is used
2 Parameters and tags used by the AOI
3 AOI Logic routine, one or more may be used
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 1-7
GM GCCS-1 Common Controls Software
GM xx Blockpoint Release Schedule
Xx = GM region where project exists
GM Engineering Process Standards GEP-1
3. Click Automotive
1-8 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
4. Enter your User ID and Password.
5. Click “Login”
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 1-9
Figure 3: Covisint Login Screen
1-10 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
Figure 4: Covisint Directed Communications Page
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 1-11
Figure 6: GM Supply Power Home Page – Application
1-12 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
Figure 7: Acknowledge the 2-Step Verification
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 1-13
11. Once you receive the 2-Step Verification code, type it in the Enter Code item
and click Submit.
1-14 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
13. Click eTools & Checklists
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 1-15
14. Scroll down to view the Global EtherNet eTools
15. Click the name of any desired eTOOL to begin its download.
1-16 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
1.11. ControlLogix Environment
Logix 5000 PLC programs are created with the following software or templates. Their
use is dependent upon where the program is used in the plant:
o Controls Design environment, CDE Software
o eConveyor Software
o GCCS-2 reference software and templates for the specific equipment
The development conventions are as follows:
Bodyshop - Logix 5000 PLC programs shall be developed with the CDE software
generation tool.
Conveyance outside of tooling – Logix 5000 PLC programs shall be developed
with the eConveyor software generation tool.
Powertrain - Logix 5000 PLC programs shall be developed with GCCS-2
reference software and templates provided for the specific equipment.
General Assembly – Logix 5000 PLC programs shall be developed with GCCS-2
reference software and templates provided for the specific equipment.
Paint – Logix 5000 PLC programs shall be developed with GCCS-2 reference
software and templates provided for the specific equipment.
Metal Stamping - Logix 5000 PLC programs shall be developed with GCCS-2
reference software and templates provided for the specific equipment.
All work must be performed using the versions of RSLogix and ControlLogix firmware
specified in the latest GM Blockpoint Release Schedule. An applicable version of
this document shall be made available on request by the GM Automation Standards
Controls Project Engineer or designated representative. Powertrain projects must
use RSLogix and ControlLogix firmware as specified in the latest GMNAPT
Blockpoint Release Schedule.
1.11.1. Definitions
GCCS-1 uses numerous terms to describe system components and functions. A
discussion of the more commonly used items follows here:
ControlLogix, GuardLogix, CompactLogix, Logix 5000, Processor, Controller -
all refer to the Programmable Logic Controller (PLC) that is used on all GM projects.
RSLogix 5000 & Studio 5000- is the Windows-Based programming software used
to develop, upload/download, and maintain the PLC software.
Firmware – is the code running at a hardware level in the PLC and other smart cards
in the architecture. Specific bugs can be fixed by using the correct firmware
identified on the Blockpoint.
Blockpoint – Is a GM specific document that defines, by project, what the proper
software and firmware versions are. Projects should not move ahead or lag behind
the versions listed for the specific project on the Blockpoint.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 1-17
Data types – define the size and memory layout that will be allocated when a tag of
a particular data type is created. All tags have a data type.
• Three categories of data types are used:
– Pre-Defined
– Module-Defined
– User-Defined
Pre-Defined Data Types - Basic data types that are pre-defined by the controller.
Module-Defined Data Types - Are pre-defined and are used in the tags that are
automatically created when I/O modules are added to the I/O Configuration.
User-Defined Data Types (UDTs) - UDTs are made from Pre-Defined, Module-
Defined, or other User-Defined Data Types. UDTs are visible throughout the
controller. User-Defined Data Types are created by either or the actual user.
1-18 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
program tags and also have access to global controller tags. Programs have their
own routines.
Each controller program structure is based on cell component data configured
during the software generation process. The GCCS-1 standard mandates that
the logic structure consist of at least one task, the Main Task.
The Main Task is a continuous task containing control programs for cell(s),
stations and related automation components. The Main Task executes all
programs, then starts over, and calls all programs except those in the Safety
Task.
Projects using GuardLogix also require a “Safety Task.” The Safety Task
monitors all of the cell safety I/O systems.
The Safety Task is periodic, interrupts the Main Task, and calls all safety
programs.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 1-19
1.14.1. Controls Design Environment, CDE Software Tool
The CDE software tool generation process creates the entire controller logic
program structure. This ensures common logic structures from controller to
controller. Note that the output from the CDE software will require modification by
the start-up engineer to complete and start up the equipment.
1.14.2. Program Description
Each program and routine in the Main Task and Safety Task shall include
descriptions of their function in their properties’ description box. See Figure 14.
1-20 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
1.14.3. Main Routine
Every program will have a main routine (A000_Main) that will call most of the
remaining routines of the program. Routines not called by A000_Main must be
called by other routines in the program. Uncalled routines cannot reside in a
program’s logic structure.
The software generation process as well as template logic may contain ladder
logic rungs that have place-holder bits. These bits are identified by the TBD tag.
All TBD bits must be removed or replaced with the appropriate logic. Finished
logic that is ready for buy-off must not contain TBD, Temp Bits, or Jumpers of any
kind unless hardware devices are not present at the time of buy-off. Rung
comments often explain what is required to replace the TBD appropriately in the
logic.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 1-21
comments. A macro program is used to extract alarms and prompts from an L5K
text file of the controller logic for importation into the HMI.
1.15.3. Pass-Thru
In Figure 17, the top or Main Description can be edited to indicate the appropriate
cylinder number. The UDT will “pass-thru” main description text to all members of
the UDT, indicating that each member is part of the tag as shown in Figure 17.
“Pass-thru” descriptions have a grayed-out appearance. UDT member comments
will be added to the main tag comment to create the individual tag comment.
1-22 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
Figure 17: Pass-Thru Description
Note: Only the Main Description can be editable in the tad editor.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 1-23
1.16. Review
1. What is the purpose of the GCCS-1 standard?
2. What is the purpose of GCCS-2 standard?
3. How is ladder logic generated for the various GM groups?
4. What types of objects must be documented in the ladder logic?
1-24 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
GCCS-2
Global Common Control Software Design
LMS # 33544
Document Version 7.0
Sponsoring Group:
Document Revisions:
This training is based on the Global Common Software Design Standards, GCCS-1.
Please refer to the GCCS-1 manual found on the “GM intranet” or
www.gmsupplypower.com. The GCCS-1 manual is comprehensive and will have the
latest information. This training manual is used as an instructional guide.
Copyright Information
Copyright General Motors Company, 2019, Detroit, Michigan. All rights reserved under
U.S., International, and Universal Copyright Conventions. Published in the United
States of America. These materials may be used only with related printed materials.
In no event will the General Motors Company be responsible or liable for
incidental or consequential damages resulting from the use or application of the
materials in this manual.
The examples, diagrams, and charts in this manual are included solely for illustrative
purposes. Because of the many variables and requirements associated with any
particular safety situation, the General Motors Company expressly disclaims all
express and implied warranties relating to the materials in this manual, including
all examples, diagrams, and charts.
Reproduction of the contents of this manual, in whole or in part, without written
permission of the General Motors Company, is prohibited.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 2-1
2.2. GCCS-1 Systems
The following is an overview of the systems used in the GCCS-1 standard to control
machines and processes as well as provide a way interface with users. We will explore
more detail on specific systems as we go along.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 2-2
Routines are contained in programs. A program can have an unlimited number of
routines, limited only by the memory of the processor.
Ladder logic is contained in routines.
Programs are limited to 100.
Standard Processor
Continuous Task
Program 1
Program Scope Tags
Routine 1
Routine 2
Routine 3
Routine 4
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 2-3
Guard Logix Processor
Program 1 Program 1
Program Scope Tags Program Scope Tags
Routine 1 Routine 1
Routine 2 Routine 2
Routine 3 Routine 3
Routine 4 Routine 4
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 2-4
Figure 4: Setting the Controller Naming
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 2-5
Modules are added by right-clicking on the chassis under I/O Configuration. Then select
New Module.
To narrow the scope of your search, select the module type and type
vendor.
Then select the correct controller module (Figure 6).
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 2-6
Figure 6: Selection of the Correct Controller Module to be Added
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 2-7
Once the correct controller module is selected, there are multiple items that must
be filled in that are specific to the selected module. Some typical examples,
including the processor, Ethernet, I/O cards, and DeviceNet begins in section
2.5.2.
In some cases, it will be necessary to add new modules to your RS Logix
installation, the procedure follows in section 2.5.1.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 2-8
4. The Setup Wizard will open, Click Next.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 2-9
6. Select Install and click next.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 2-10
8. The Finish window will open. Click Finish.
Note: You can deselect the “Display RSLogix 5000 Module Profiles Release
Notes” if you want to skip them.
9. Repeat procedure for any other new modules.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 2-11
2.5.2. Configuration Review Utility
Use the GM Configuration Review Utility to verify your configuration or locate
configuration errors present in your project. The utility is Excel-based. The
"Configuration Review Utility" scans an .L5K file, RSLogix 5000 text import/export
file, and outputs the current configuration of the PLC project. Any configuration
issues that are found are highlighted in yellow along with a description of the
problem. An .L5K file is necessary to use the utility.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 2-12
2.5.3. Controller Properties General Tab – Processor
When possible, copy needed modules from the GCCS-2 template and paste them
into your project. This is faster and easier than using the module dialogs. The
following sections provide examples of configuring Modules in RSLogix I/O
configuration.
Figure 14: Controller Properties General Tab – Slot #, Chassis Size, Name
When configuring the processor, provide the following information on the General tab:
Item Description Definition
1 General Tab General controller properties
2 Name Name of the controller
3 Chassis Type Quantity of slots for ControlLogix Chassis
4 Slot Slot that the processor resides in. Default is 0.
The Safety Partner is defaulted to slot 1.
Figure 15: Controller Properties General Tab – Definitions & Settings
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 2-13
2.5.4. Controller Properties Advanced Tab – Processor
(1756-L6x, 1756-L6xS, 1756-L7x, 1756-L7xS)
Figure 16: Controller Properties Advanced Tab – Fault Handler, Overhead Time Slice
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 2-14
2.5.5. Controller Properties Safety Tab – Processor
Figure 18: Controller Properties Safety Tab – Select Configure Always Setting
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 2-15
2.5.6. Input and Output Card
These are legacy items and are not readily encountered since the PLC in a box was
introduced.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 2-16
To configure ENXT (Ethernet Bridge Module) properties:
Item Description Definition
1 Name The Ethernet card name is ENet## where ## is
replaced by the two-digit PLC slot number.
2 Slot The slot where the ENxT module is to reside.
The GCCH-1 standard is slot 2.
3 IP Address The IP address for the ENxT. Obtain from PFS
or GMIT.
4 Electronic Electronic keying should be set at Disable
Keying Keying. Use the Change button to access
keying.
Figure 21: ENxT Properties – Definitions & Settings
Important: Set “Rack Connection” or “Comm Format” to None. The “Rack Connection”
setting replaces “Comm Format” in certain modules.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 2-17
2.5.8. Configuring Remote Devices
After properly configuring the cards that are located in the local chassis, the user
must configure certain remote devices in the I/O Configuration.
On the Ethernet network, the user must configure any scheduled connection such
as Remote Processors, Hard Auto Weld Controllers, Inspection Cameras, and
Robot Controllers. HMIs are not currently scheduled traffic; therefore they are not
configured at this time.
Expand the Local Ethernet ENxT card by left-clicking on the + sign to the left of
the ENxT card. Next, expand the configured connections by left-clicking on the +
to the left of Ethernet. Now a tree view of all the scheduled Ethernet connections
for this ENxT card will be visible (Figure 22).
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 2-18
2.5.9. Configuring a Remote Processor for Producer/Consumer
To configure a remote processor for producer/consumer communication, first
create the remote Ethernet card. Right-click on the Ethernet Network, then
select New Module (Figure 23).
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 2-19
Open the communications item and select the 1756-ENxT, specified for your
project hardware design or the facility’s Blockpoint. After selection, pick a
Revision, then fill in the data as shown in Figure 24 and Figure 25.
Figure 24: Configuring a Remote ENxT – Name, Slot, Chassis, Keying, and IP
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 2-20
To configure a remote EnxT module:
Item Description Definition
1 Name The name for the remote ENxT is
XXXXX_Enet## where XXXXX is the
Remote Cell ID, and ## is the slot number
of the ENXT in the remote chassis.
2 Chassis Size The IP address for the ENxT. Obtain from
PFS or GMIT.
3 Slot The slot where the ENxT module is to
reside in the remote chassis. The GCCH-1
standard is slot 2.
4 Change Access Module Definition options. Use to
access items 5-7.
5 Electronic Electronic keying should be set to Disable
Keying Keying.
6 Rack IMPORTANT: Select None for Rack
Connection Connection.
7 Chassis Size The number of slots in the chassis that the
remote ENxT resides in.
8 OK Accept the Module Definition Options
9 OK Accept all changes.
Figure 25: Remote ENxT Properties – Definitions & Settings
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 2-21
Figure 26: Adding a Remote Processor
IMPORTANT: Use the processor that is the closest match to the physical remote
processor. The selected processor does not need to be an exact match. For
example a L62S can be used in place of a L72S.
Now the remote processor is available for Producer/Consumer communications.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 2-22
2.5.11. Configuring Devices for Ethernet IP Communication
Modules should always be copied and pasted from GCCS-2 if available. Consult the
GCCS2 standard template logic to obtain parameters specific for the desired type of
device. The following parameters should be obtained from the template logic specific to
the destination area:
Input Assembly Instance and Size
Output Assembly Instance and Size
Configuration Assembly Instance and Size
Note: Always select Unicast when it is available.
2.5.12. Requested Packet Interval (RPI) Settings
Current RPI settings:
20ms Standard Input / Output
20ms Safety Input
20ms Safety Task / Safety Output
Legacy Tooling:
60ms Standard Input / Output
15ms Safety Input
30ms Safety Task / Safety Output
Legacy Conveyors
60ms Standard Input / Output
30ms Safety Input
60ms Safety Task / Safety Output
Figure 28: Requested Packet Interval (RPI) Settings
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 2-23
2.5.13. Configuring a Robot for Ethernet IP Communication
Figure 29: Adding a Local Fanuc Ethernet Robot – Name, IP, and Parameters
Note: Use GCCS-2 I/O configuration to determine the module to use based on which
Global robot is installed.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 2-24
Figure 31: Select Unicast for all Connections. Set RPI as listed in Figure 25
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 2-25
2.5.14. Configuring a 1734-AENTR Module
A 1734-AENTR 3 slot chassis is shown as it appears in the I/O Configuration of Studio
5000.
Open the Properties for the selected 1734-AENTR module. Begin the configuration as
follows:
1. Set the Name
2. Under IP Address, if device is on the Private network, select the Private
Network radio button.
Note: The address should be set on the physical device (rotary switches,
thumbwheels, dip switches etc.)
3. Click the Change button to set:
Electronic Keying to Disable Keying
Connection to None
The Chassis Size (# of I/O modules +1)
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 2-26
4. Set the Safety Network Number
5. On the Connection tab, select Use Unicast Connection over EtherNet/IP.
Figure 34: Generate the Safety Network Number and Select Unicast
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 2-27
Figure 35: Setting the Safety tab
8. Input Configuration tab use GCCS2 settings for any GCCS2 ECS or ECT
panel. Follow prints if ECS or ECT is not used.
All inputs shown on the print connected to a pulse test should be
configured as a Safety Pulse Test and use the test source from the
prints.
All inputs not using Safety Pulse Test should be set to Safety.
Unused inputs should be set to Unused.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 2-28
9. Test Output tab should be set to match the prints.
All Test Outputs used should be set to Pulse Test.
In this example, points 2 and 3 are set as Standard outputs.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 2-29
Figure 38: Generic Ethernet Module-Global 3 Robot
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 2-30
2.6. Data Types – Pre-Defined, Module-Defined, and User-
Defined
Data types define the organization of data within a tag
Data types are globally accessible within the controller
Data types are not limited in number, only by the memory capacity of the
controller
Data types are categorized as Pre-Defined, Module-Defined, or User-Defined
2.6.1. Pre-Defined Data Types (Basic)
The following is a list of Pre-Defined Data Types and their characteristics. Note
that Pre-Defined Data Types are defined in the controller and are not editable.
BOOL - Boolean. A single bit which is either on (1) or off (0).
SINT - Short integer. An eight bit signed number with values of -128 to +127.
Also used to represent an ASCII character
INT - Integer. A sixteen bit signed number with values of -32,768 to +32,767.
DINT - Double integer. A thirty-two bit signed number with values of –
2,147,483,648 to +2,147,483,647.
REAL - A floating point number with values -3.40E38 to 3.40E38.
All other Data Types are comprised of the basic Pre-Defined data types
listed above.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 2-31
2.6.2. Pre-Defined Data Types (Advanced)
In
Figure 40 above, the Timer data type is an Advanced Pre-Defined data type and
contains multiple basic data types including BOOL’s and DINT’s
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 2-32
Module Data Type for the DNB. At the same time, an array of DINT’s has been created
that will contain data for the module.
User-defined data types are created by the end user to compress multiple pieces
of data into a single tag. Each piece of data can be a pre-defined data type, a
module-defined data type, or other user-defined data types.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 2-33
In Figure 42 above, the first two Data Type entries are DINT’s and the rest are all
other user-defined data-types. If there are any errors in the user-defined data
types, there will be question marks (????) shown for the Data Type Size (1). This
could be due to a single item not completely filled out, or possibly an error in
another data type being used in this data type.
UDTs should always be built by grouping like datatypes together. Begin with
BOOLs, then SINTs, then INTs, then DINTs then sub UDTs. UDT memory is
grouped in 4 Byte increments. A Bool followed by a DINT will allocate 4 bytes for
the BOOL and 4 Bytes for the DINT. 32 BOOLs grouped together followed by a
DINT will allocate 4 bytes for the BOOLs and 4 bytes for the DINT. The following
is an example of a UDT created by GM Vehicle Systems, note the order of its
member datatypes.
User Defined Tags in GCCS-1 always contain a revision level in the Description
Box so that future users will know when the data type is at the proper revision
level for updates.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 2-34
Many User-Defined Data Types are created by GM for use in logic projects.
Do NOT modify system data types or system routines. Both are identified
by the z designation in the prefix.
(Examples: zZ999_Diagnostics, za_Action)
2.7. Tags
A tag is a named memory area that holds data of a defined data type. Tags
have both scope and class.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 2-35
In Figure 45 below, the controller scope tags are visible to the routines in both
Program 1 and Program 2. Program scope tags are different. The program
scope tags in Program 1 are visible only to Program 1. The program scope
tags in Program 2 are visible only to Program 2. Note that there may be tags
with the same exact name and data type in Programs 1 & 2 because these
are visible only to the program in which they reside. Consequently, there are
no duplicate tags within a program. There are no limits to the number of tags
that can be created; the size of the controller memory is the limiting factor.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 2-36
2.7.2. Tag Classes
Tags are one of two classes; Standard or Safety. Only Safety class tags can be used by
programs which reside in the safety task. Standard class tags are used anywhere within
the main task programs. See Figure 46.
All tags within the safety task have to be of the class “Safety”, as well as any controller
tags accessed by the safety task. See Figure 47.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 2-37
2.7.3. Tag Aliasing
Tag aliasing points a tag to another tag so that the two tags have the same
meaning and share the same data. The data resides in the base tag. GCCS-1
base tags are always controller tags.
Tag aliasing is used extensively in GCCS-2 in the following areas:
Bodyshop
Conveyance outside of tooling
General Assembly
Metal Stamping
Paint has minimal use of alias tags; primarily for HMI configuration GCCS-2.
2.7.3.1. Benefits
o Logic can be written with generic tags such as ‘cell’ or ‘robot’ then aliased
to the specific cell or robot. This is faster and easier than searching and
replacing each instance.
o The same logic can be used over and over in driver files. Tags are then
only aliased to the specific piece of hardware which makes it unique.
o The alias of a tag is not dynamic; it can only be modified offline.
2.7.4. Setting up an Alias
Create the correct base tag if it does not exist in the controller tags. The base tag
must be created before the “Alias For” can be pointed. See Figure 48.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 2-38
Item Description Procedure
1 Scope Select Controller Scope, displayed with controller icon as
shown.
2 Edit Tags Tab Before editing Tags, be sure this tab is selected.
3 Enter Tags Row Type in the Name Field the tag to be added.
4 Select Row When copying tags form another program, select the box in
Button – Enter front of the enter tags row then paste. This will bring in all
Tags Row information with the tag including the datatype.
5 Controller Base Enter the tag name and datatype from the pull-down menu.
Tag The Program tag will point to this base tag.
Figure 49: Adding a Controller Tag – Definition Description
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 2-39
In Figure 50 below, the Program Scope tag ‘Cell’ does not refer to any particular
cell since it is a program scope tag that can only be viewed inside the current
program. In this example, AAxx1 is shown in the Scope selection box in the
upper left corner. When creating an alias for a new tag, it is not important to
select the proper data type. After an alias is set, the tag will automatically take on
the same data type as the Base Tag.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 2-40
In Figure 51 below, the alias has been added to the tag ‘cell’ which now makes
any instructions using the bits inside Cell the same as if they were using
AAcc1Cell. The (C) after the tag indicates that this tag is a controller-scoped tag.
Figure 51: Cell Tag with Alias Makes the Tag Unique and Controller Scope
In Figure 52 below, the logic was written to be generic by using the tag “Cell.”
After the Cell tag has been aliased, the logic is now specific to AAcc1Cell, as
shown above. The alias’ base tag shows up below the program scoped tag with
<> around it.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 2-41
2.7.5. Modifying Tags and User-Defined Data Types (UDTs)
Do not modify system data types or system routines. Both are identified by the z
designation in the prefix. (Examples: zZ999_Diagnostics, za_Action) See Figure
53.
Figure 53: Do Not Modify Data Types or System Routines with a "Z" Prefix
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 2-42
2.8. Tasks – Main and Safety
Each controller program structure is based on cell component data configured
during the software generation process. The GCCS-1 standard mandates that the
logic structure consist of at least one task, this is the Main Task. The Main Task
is a continuous task containing control programs for cell(s), stations and related
automation components.
The Main Task executes all programs, then starts over, and calls all programs
except those in the Safety Task. Projects using GuardLogix also require a “Safety
Task.” The Safety Task monitors all of the cell safety I/O systems. The Safety
Task is periodic, interrupts the Main Task, and calls all safety programs.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 2-43
Cell 2 HMIs
PFE (When Equipped)
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 2-44
Figure 56: Scheduled Order of the Programs to be Executed
The Program Schedule (Figure 56) can be adjusted from the Main Task
Properties Program Schedule screen as follows:
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 2-45
Figure 58: Unscheduled Programs
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 2-46
2.8.2. Safety Task
Guard Logix projects also have a second task that is periodic in nature and will
interrupt the Main Task at a timed interval. The rate of the periodic safety task is
calculated by the requirements to stop the tooling in a pre-established maximum
amount of time. Refer to Figure 59.
Figure 60 shows the proper Periodic Rate setting for a Body shop Guard Logix
safety task. Use the settings in Figure 59 for your specific application.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 2-47
2.8.3. Safety Task Organization
The Safety Task consists of Cell Safety Programs. These programs handle all of
the safety-related I/O aspects of the logic structure. A safety program will exist
for each cell in the Main Task.
The programs of the Safety Task, (Figure 54), are organized as follows:
1. Safety Task
a. Cell 1 Safety Program
b. Cell 2 Safety Program
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 2-48
Figure 61: Setting the Main Routine for a Program
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 2-49
2.10. Studio 5000 Navigation
RSLogix 5000 is the primary software used to develop, download, and monitor
the logic used in Control Logix controllers. After launching RSLogix 5000, the
user will be presented with a screen as shown below in Figure 63.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 2-50
Item Description Definition
1 Cut, Copy, and Paste Use on Rungs, Programs,
Routines, and Data Types.
2 Processor Status Run, Program, Online, Forces,
Edits, and Safety Task Status
3 Processor Indicator Lights Duplicates the front of the
processor
4 Controller Organizer List of Tasks, Programs,
Routines, Tags, Data Types, and
I/O Configuration
5 Ladder Caret Indicates with a colored square
the rung that is selected.
6 Editing Window Edit Tags, Logic, UDTs. Displays
Cross Reference Results
7 Ladder Element Toolbar All of the instructions available
for the current processor.
Includes branch and new
rung tools.
8 Controller Organizer Toggles display of Controller
Display Button Organizer. Especially handy
when looking at lengthy ladder
rungs.
9 Verify Routine, The tool on the left verifies the
Verify Controller current routine. The tool on the
right verifies the entire controller.
10 RSLogix Status Bar Indicates controller name. The
active program and routine are
displayed next.
Note: If the file name is not the
same as the controller, the
controller name will be followed
by ‘in’ and then the file name.
Figure 64: RSLogix 5000 User Interface - Definitions & Settings
In addition to the processes listed in Figure 64, another method of inserting rungs,
branches, and instructions is available. Right click on a rung, then select Add Ladder
Element and a list of available instructions will display. Select the desired instruction
and click OK. You can also access the ladder element list by typing Alt+Insert, selecting
the desired item, and clicking OK.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 2-51
2.11. Exercises
2.11.1. Exercise 1 Creating UDTs and Tags.
The following exercise demonstrates the basics of creating UDTs and Tags.
1. Open the exercise project Core02Exercises in RSLogix5000
2. Create a new datatype named up_Style with the members WriteRequest,
WriteSetup, and WriteComplete all members are of type DINT.
a) In the controller organizer, click on Datatypes and select User-
Defined
b) Right click and select New Data Type… Refer to Figure 65.
c) Set the UDT Name to up_Style
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 2-52
Figure 66: New UDT with Members Added
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 2-53
3. Create a controller tag named KA070Style of the type “up_Style.”
a) Open the controller tag database and select the Edit Tags tab
b) Move the cursor to the bottom of the tag list to the row with the tag
icon in the left margin
c) Click in the Name column on that row and set the name to
KA070Style
4. Click in the Data Type column, click […] and select up_Style from the data
type dialog box (when making a tag edit, you must move off the current
row to accept the edit). Refer to Figure 67.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 2-54
a) Expand the new KA070Style tag by clicking on the “+” sign to its left.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 2-55
5. Create controller tag name KA070Tag of type DINT
a) Open the controller tag database and select the Edit tab.
b) Move the cursor to the bottom of the tag list to the row with tag icon
in the left margin.
c) Click in the Name column on that row and set the name to
KA070Tag.
d) Click in the Type column, click […] and select DINT from the data
type dialog box. (Default datatype may already be DINT)
e) Expand the new KA070Tag by clicking on “+”.
Notice that KA070Tag is a DINT and contains 32 bits (BOOLS). See Figure 69.
Figure 69: KA070Tag with DINT used for the Data Type
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 2-56
2.11.2. Exercise 2 Creating a Tag Alias.
This exercise demonstrates how to create a tag alias.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 2-57
4. Change the controller tag KA070Tag datatype to INT.
5. Open the controller tag database and select the Edit Tags tab. See
6. Figure 71.
a) Click in the Type column of the KA070Tag row.
b) Click […] and select INT from the data type dialog box.
c) Accept the tag edit by moving off the row.
Figure 72: Effects of Changing the Data Type of the Base Tag on the Alias’ Data Type
8. Save the project.
End of Exercise 2
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 2-58
2.12. Searching the Logic
Searching is the most common method of finding the location of logic
instructions being referenced from a specific tag. The search function is located
at the top of the menu bar, or by pressing CTRL+F. The Search screen will
appear as shown in Figure 73.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 2-59
Item Description Definition
1 Find What Enter in the address of the
tag or text that you are
searching for, such as
Cell.Mode.AnyStaAuto or
Cell.Safety.NoEStops.
2 Find Where Select from the following
options:
This routine only
All routines in the
current program
All routines in the
current task
All routines in the
project
3 Wrap, Direction, Configures direction and if
Match Whole Word Only search will wrap. Allows
search for exact phrases
only.
4 Components and Options Provides choices to define
the search.
5 Find Within Toggles view of
components and options so
that search options can
be set.
Figure 74: Search Function - Definitions & Settings
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 2-60
To search for a tag, type in the tag you wish to find and select Find Next. The
next occurrence in the logic will be displayed as shown in Figure 75.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 2-61
Search and Replace (Figure 76) is available only in offline editing. It is
recommended that a backup file be created before Search and Replace is
utilized. Caution should be exercised when using Search and Replace as
unexpected results may occur. So, ensure the search settings are correct for the
intended outcome.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 2-62
2.13. Logic Cross Referencing
Logic cross referencing is a way of locating programs or tags within a logic
project.
Cross referencing is the method most commonly used for finding specific
information about routines and tags in the RS Logix controller.
Cross referencing a specific routine, usually from the controller organizer, will
show where the routine is used in the controller. This is useful when locating
embedded subroutines (JSR’s).
Cross referencing can also be used on Tags both at the controller and program
scope levels. When a Tag is cross referenced, all the data within the associated
tag is also cross referenced and the location of the data within the tag is
displayed at the Program/Routine/Rung levels.
To cross reference a tag, right-click on the tag and select ‘Go To Cross
Reference . . .’ (Figure 77).
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 2-63
Figure 78: Cross Reference Results
Double-clicking a row in the Cross Reference result window will navigate the view
to that use in the logic. Remember when searching for duplicate alarm, prompt,
or scroll list trigger numbers that duplication occurs only when more than one use
of alarm, prompt, or scroll list number occurs in the same program.
Figure 80 is the result of cross referencing kalarm[501]. Notice that only the last
thee lines have their Reference column equal to kalarm[501]. The Container
column shows that they are all in different programs. In this case, there is no
duplicate use of kalarm[501].
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 2-64
2.14. Producer/Consumer Communications
Allows sharing of controller tags between controllers.
Identifies tags to be produced; no destination is required.
Creates consumed tags, points to produced tags.
A produced tag can be consumed by multiple consumers (This is not preferred).
No logic is required for basic Producer/Consumer operation.
When Producer/Consumer is used across Ethernet/IP, it is produced at the
Request for Packet Interval (RPI) setting.
May be across the backplane when controllers are in the same chassis.
Producer/Consumer traffic occurs independently of the controller mode.
Producer/Consumer operates when either controller is in Run, Program, or
Faulted modes. When the producing controller is in Program or Faulted mode,
produced data will remain in the last state when the Producer/Consumer
connection was lost.
Producer/Consumer communication occurs asynchronous to program scan.
The process begins with setting up the producer, then the consumer. It
concludes with downloading both programs to the controllers.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 2-65
2.14.1. Setting up the Producer
To set up a Producer/Consumer connection, right-click on the controller scope tag
and select Edit Properties. The window that comes up will look similar to the one
shown in Figure 81. Under Type:, select Produced instead of Base.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 2-66
After selecting Produced, click the Connection button (Figure 82).
When the Connection tab appears, select the number of consumers of this tag
(Figure 83). The default is always one consumer for each producer. It is not
necessary to define the consumer at this point.
Note: Always set Max Consumers to the number of consumers plus 1. Use 2 for one
consumer.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 2-67
2.14.2. Setting up the Consumer(s)
To set up a consumed tag, right-click on the controller scope tag and select Edit
Tag Properties. The window that comes up will look similar to the one shown in
Figure 84. Under the selection of Type:, select Consumed instead of Base.
The data type must match between the producing controller and the consuming
controller.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 2-68
Figure 85: Consumed Tag – Setting Connections
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 2-69
2.15. Review
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 2-70
GCCS-2
Global Common Control Software Design
LMS # 33544
Document Version 7.0
Module 3: Naming
DOCUMENT MANAGEMENT INFORMATION
Sponsoring Group:
Document Revisions:
Date Revision By Revision History
8-26-13 5.0 J. Hocking Revised graphics and exercise directions.
Synchronized to G16 with Powertrain and
6-18-15 6.0 J. Hocking
EtherNet I/O.
8-29-19 7.0 J. Hocking Minor routine and Data Type updates
This training is based on the Global Common Software Design Standards, GCCS-1.
Please refer to the GCCS-1 manual found on the “GM intranet” or
www.gmsupplypower.com. The GCCS-1 manual is comprehensive and will have the
latest information. This training manual is used as an instructional guide.
Copyright Information
Copyright General Motors Company, 2019, Detroit, Michigan. All rights reserved
under U.S., International, and Universal Copyright Conventions. Published in the
United States of America. These materials may be used only with related printed
materials.
In no event will the General Motors Company be responsible or liable for
incidental or consequential damages resulting from the use or application
of the materials in this manual.
The examples, diagrams, and charts in this manual are included solely for
illustrative purposes. Because of the many variables and requirements
associated with any particular safety situation, the General Motors Company
expressly disclaims all express and implied warranties relating to the
materials in this manual, including all examples, diagrams, and charts.
Reproduction of the contents of this manual, in whole or in part, without written
permission of the General Motors Company, is prohibited.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 3-1
3.2. Software Naming Convention
All software names used should match the hardware names used. This applies to all
names provided even if they are not consistent with the standard naming rules.
3.3. Action / Result Naming Conventions
The GCCH-1 standard provides a list of action results for various devices as shown
below. These names are printed on the component labels, found in the Logix
program, and are displayed on the HMI screens.
Pushbutton / Actuator Switch / Indicator
Mech. Function
Work Load/Unload Work Load/Unload
Clamp
Contactor
Gate
Pierce CLOSE OPEN CLOSED OPENED
Weld Gun
Weld Gun Backup
Dump
Ejector
Index
Locator
Pivot
ADVANCE RETURN ADVANCED RETURNED
Pre-Loader
Slide
Transfer
Trunnion
Turnover
Shot Pin
Locating Pin ENGAGE DISENGAGE ENGAGED DISENGAGED
Latch
Stops
Transfer Press
RAISE LOWER RAISED LOWERED
Vertical Slide
Lifter
3-2 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
Pushbutton / Actuator Switch / Indicator
Mech. Function
Work Load/Unload Work Load/Unload
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 3-3
3.4. Device Naming
Devices (other than pushbuttons, actuators, detectors, and indicators) are also
named.
3.4.1. Panel Devices
Inside panels and cabinets, devices are named so as to be easily found on the
matching wiring diagram, as shown in Figure 2.
Device Type Device ID
Safety Relay ExxxSR
Control Relay ExxxCR or FxxxCR
Ethernet Switch ENSx
Circuit Breaker ExxxCB
Fuses ExxxFU
Motor Starter ExxxMx
Motor Starter Overload ExxxMOL, FxxxMOL
Figure 2: Panel Devices
Where:
xxx = Sheet number and line number
x = Number from 1 - 9
3.4.2. Field Devices
Devices outside of the cabinets, such as valve manifolds, input / output blocks, etc.,
are also named so as to be readily identifiable. See Figure 3.
Device Type Device ID
Pneumatic Valve Manifold PMx
Hydraulic Valve Manifold HMx
IP67 Input/Output Block BKxx
Motor Mx
Figure 3: Field Devices
Where:
xx = Two digit number from 01 - 99
x = Number from 1 - 9
3.4.3. Switches and Cylinders
3-4 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
The MD-1, Module 2 also specifies names for switches and cylinders as shown in
Figure 4.
Device Type Device ID
Cylinder Cxx
Proximity Switch PXx
Limit Switch LSx
Photo-electric Switch PEx
Part Present Pyyx
Figure 4: Switch and Cylinder Naming
Where:
x = digit number from 1 to 9
xx = digit number from 01 to 99
yy = switch type from this table
For example:
C02PX1 Cylinder #02, Home Position Switch
C02PX2 Cylinder #02, Work Position Switch
PPX1 Part Present Proximity Switch #1
PLS2 Part Present Limit Switch #2
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 3-5
3.5. IEC Naming Standard and Logix Naming
The IEC-61131.3 standard specifies that components with names (like PLC programs or
HMIs), are permitted to use upper- or lower-case characters, numbers, and the
underscore ( _ ) mark in the name itself. They also have the following requirements:
Names must start with an alphabetic character or underscore
Maximum length of 40 characters — nested UDTs have a maximum length of 40
characters per nest level
Cannot have consecutive or trailing underscores, or spaces
Are case insensitive — ABCDE is identical to AbCdE
3-6 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
3.5.1. ControlLogix Program and PLC Processor Naming
The programmable logic controller and program file naming shall use the following
format:
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 3-7
3.5.2. HMI
HMI application files shall be named as follows:
For example, the configuration file of the first HMI attached to the previous PLC
(BA_AB030B01) would be BA_AB030B01HMI1
Note: The ACD file extension indicates a non-user readable format that can only be
viewed inside the RSLogix 5000 software.
3.5.3. Task
Since we are using only one continuous task, we use the default name: “MainTask”.
In Guard Logix applications, a periodic task, the SafetyTask, exists for safety.
3-8 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
3.5.4. Program
Each type of controller program has its own name as shown in Figure 9.
Main Task
MCP
1st Cell
Station-1st cell
2nd Cell
Weld Controller
Station-2nd Cell
Robot-2nd Cell
1st HMI
Safety Task
Remember to correct the ASCII name for programs that you rename. The ASCII
name is configured in the Parameters routine of each program.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 3-9
3.5.5. Robot
Robot naming is similar to controller naming. Typically, the robot is named with the
station # with the addition of Rxx. This also depends on how the robot(s) is (are)
labeled at the time of build. Also, there may be more than one R01 in the cell based
on different stations. In the HMI program, the Robots are numbered sequentially
from R01 to R24.
3.5.6. Routine
Routines in the RSLogix5000 controller organizer are currently sorted alphabetically.
Routine names consist of a prefix and a short descriptive name of what the routine
does. This allows proper ordering of routines. See Figure 10.
3-10 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
Format * (Prefix ID) ###_ “Description”
Letter Description
A Main
B Mapping/Config
Controller/Module
C
Diagnostics
F Magnetics Diagnostics Three digits
G Gatebox/Guards followed by
an
J Job Data / Shift Register underscore.
Short name for what
M Modes
the routine does.
P HMI Screen Support For ‘S’
Description
prefixes,
S Sequence (Action)
skip by 5’s Multiple words are
Turntable Common to allow titlecase.
T
Routines easy
reordering
Robot & Other Device (005, 010,
V
Common Routines 015, …)
W Weld Common
X Standards routines
Standard system
Z
routines
B 001_ MapInputs
Example
S 010_ CloseClamp
Figure 10: Routine Naming
Where:
Prefix “X” and “z” are controlled by Standards
For example:
B001_MapInputs
S010_CloseClamp
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 3-11
3.5.7. Module
Modules listed in the Logix I/O Configuration area of the controller should be named.
This includes modules that are accessed across Ethernet in remote chassis.
Modules shall be named as shown in Figure 11.
For example:
DNet09
SQ060_ENet02
3-12 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
3.5.8. User Defined Datatype (UDT)
UDTs will have a short descriptive name of what the UDT represents. A prefix will
be added to allow organizing their usage as shown in Figure 12.
*
Format ‘Description’
(Prefix)
Prefix Used to create…
UDT examples:
zc_Station
zz_StaMode
Notes: Any prefix that begins with a letter ‘z’ is not to be modified. Do not create
UDTs using any prefix that begins with the letter ‘z’.
For custom UDTs, use the prefixes “uc”, “ud”, “up”, or “u”. The prefix “s_uc” is
the only currently available custom safety UDT.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 3-13
3.5.9. Safety User-Defined Data Type (UDT)
The UDTs in Figure 12 are specific for naming Safety UDTs.
Format * (Prefix) ‘Description’
Description Prefix Used to create … Short name for what the
UDT does. Multiple words
s_zc Safety, controller scoped tags
are title case.
s_zd Safety, device tags
s_uc Safety, controller-scoped tags (User
UDT)
s_zz Safety, other UDTs.
s_zc_ For examples, see below. Body safety cell
Sample
s_zd_ MCP W/O HMI
Figure 13: Safety UDT Naming
For Example:
s_zc_BodySafetyCell
s_zd_ECS421xMCP
3.5.11. Tags
Tag names representing devices shall use the device name as documented in the
drawings and as defined in GCCH-1. All other tags shall be named in a way to
describe the data.
Tag naming rules:
All general GCCS-2 naming rules apply
3-14 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
Program tags must not be created with the same name as a controller tag
Begin with a capital letter, unless otherwise shown in Figure 14
Some tags in the controller have prefixes added to the tag name to help
identify the use of the tag (Figure 13).
Prefix Description
k (lowercase) Tag that contains constants — kDiag
z (lowercase Tag used internally by system routines — zDNet
s_ (lowercase) Safety Tag
Figure 14: Tag Name Prefixes
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 3-15
3.5.12. Exercise 1: Changing Routine and Tag Names and the Effects
on the Logic
This exercise demonstrates the results of renaming routines and tags in logic.
1. Open Core03Exercise.
2. In the KA030 rename the S040_CloseClamp to S040_CloseClampTest1
and observe the effects.
A. Expand the KA030 program.
B. Right-click the S040_CloseClamp routine.
C. Select Cross Reference.
D. Observe that a single use is referenced
E. Double-click the use to navigate to it.
F. Observe a JSR (Jump to Subroutine) that calls S040_CloseClamp.
G. Right-click on S040_CloseClamp in the controller organizer.
H. Select Properties.
I. Add text “Test1” to the end of the Name box.
J. Click OK on the Properties window.
K. Observe that the JSR and the controller organizer have changed.
3. Rename the Jobdata to JobdataTest1 and observe the effects.
A. Open the Program tags in the KA030 program, select the Edit tab.
B. Locate and expand a tag named Jobdata.
C. Click in the Name cell for the Jobdata.
D. Rename the tag Jobdata to JobdataTest1.
E. Click another tag row to accept your edits.
F. Observe what happens to all members of the tag.
G. Select the JobdataTest1.NoOperation member of the tag.
H. Right-click and select Cross Reference.
I. Double-click the row with the reference of JobdataTest1.NoOperation.
J. Observe the tag use and its name.
The JobdataTest1 tag is an alias for KA030JobData(C).
4. Rename the KA030JobData to KA030JobDataTest1 and observe the
effects.
A. Open the controller tags, select the Edit tab.
B. Locate and expand the KA030JobData controller tag.
C. Rename KA030JobData to KA030JobDataTest1.
D. Observe what happens to all members of the controller tag.
E. Return to the KA030 program tags and observe JobdataTest1 tag and its
Alias For and Base Tag columns.
5. Verify and save the project.
END OF EXERCISE 1
3-16 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
3.6. Review
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 3-17
GCCS-2
Global Common Control Software Design
LMS # 33544
Document Version 7.0
Sponsoring Group:
Document Revisions:
This training is based on the Course Title. Please refer to the Standard manual found
on the “GM intranet” or www.gmsupplypower.com. The Standard manual is
comprehensive and will have the latest information. This training manual is used as an
instructional guide
Copyright Information
Copyright General Motors Company, 2019, Detroit, Michigan. All rights reserved under
U.S., International, and Universal Copyright Conventions. Published in the United
States of America. These materials may be used only with related printed materials.
In no event will the General Motors Company be responsible or liable for
incidental or consequential damages resulting from the use or application of the
materials in this manual.
The examples, diagrams, and charts in this manual are included solely for illustrative
purposes. Because of the many variables and requirements associated with any
particular safety situation, the General Motors Company expressly disclaims all
express and implied warranties relating to the materials in this manual, including
all examples, diagrams, and charts.
Reproduction of the contents of this manual, in whole or in part, without written
permission of the General Motors Company is prohibited.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 4-1
4.2. Programs
A program represents a major piece of equipment that is to be controlled by the Logix
5000 / Studio 5000 or a Guard Logix processor. It is given a short name to describe
what the program is.
Each program has a corresponding controller tag with the same name as the
program. This tag contains the equipment’s information that needs to be available
to other programs.
Each major piece of equipment has a user defined datatype (UDT) that defines
this information.
All other information that is not required by other programs is contained in
program tags.
Controller Tag
Controller Tag UDT used
Name
exists w ith matches
EquipmentUDT
same name as type of
program. program.
Program
Station,
Name Robot, Cell,
Tags etc.
Figure 1 Programs
4-2 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
Controller Tags
Program Tags
In station type programs, the Mode and Sts are Aliases for the Controller Tags
AAxx1.Mode and AAxx1.Sts. In this case the program tags point to different members
of the same tag AAxx1.
1. Program Tag Mode is aliased to Controller Tag AAxx1.Mode
2. Program Tag Sts is aliased to Controller Tag AAxx1.Sts
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 4-3
4.2.1. Program Tags
Tag names match physical device names. A clamp cylinder C08 mounted on a
station has a corresponding tag with same name in the station program.
Datatypes describe physical devices. Datatype zp_Cylinder contains members
PX1 and PX2 to represent switches on the cylinder. Tag C08 is of type
zp_Cylinder the home switch is addressed as C08.PX1
Using program tags will allow reuse of programs
o Prevents naming conflicts
o Tag C08 can exist in multiple programs.
o Also shows direct physical relationships
o The cylinder is “contained” within the station and is contained in the station
program.
Program tags are used unless data needs to be shared between programs
o Sharing requires the use of controller tags
o Program alias tags are used to access controller tags
4.2.2. Controller Tags for Program Examples
Program types and their corresponding datatypes are shown below.
4-4 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
4.2.2.1. Creating a Station
The following is an example of creating station 20.
Create a program to control station 20, name it AA020.
Create a controller tag with the same name and give it the appropriate datatype.
Add logic to set data in the controller tag AA020.
Controller Tag
AA020
Program Type Datatype zc_Station
Cell zc_BodySafetyCell
AA020
Station zc_Station
Robot zc_Robot
Weld Controller zc_WS2WC6SCR
PanelView zc_HMI
Program
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 4-5
4.2.3. Use of Tag Aliases
Tag aliases are used to promote easy copying of programs.
4.2.3.1. The Mode Alias
zc_Station contains 2 pieces of data: Mode and Sts (Status)
Create a program tag alias called Mode and point it to controller tag AA020.Mode
Write all logic in program AA020 using the alias tag Mode.
This output energize, (OTE) instruction, is entered using the Mode.Auto tag. The
text in brackets <> shows that the Mode.Auto tag is an alias and that the real tag
being accessed is AA020.Mode.Auto
AA020
Mode
Sts
zc_Station
AA020
Mode
Mode.Auto
<AA020.Mode.Auto>
-------( )-------
4-6 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
4.2.3.2. The Status Alias (Sts)
Status data is handled in the same manner as the Mode data
Create a program tag alias called Sts and point it to controller tag AA020.Sts
Write all logic in program AA020 using the alias tag Sts
This output energize, (OTE) instruction, is entered using the Sts.Faulted tag. The
text in brackets <> shows that the Mode.Auto tag is an alias and that the real tag
being accessed is AA020.Sts.Faulted.
AA020
Mode
Sts
zc_Station
AA020
Mode
Sts
Sts.Faulted
<AA020.Sts.Faulted>
-------( )-------
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 4-7
4.3. Interlocks
Interlocks are necessary between 2 stations. Interlock data is separate from the
status data. This eliminates confusion and permits the creation of as many tags as
required for interlocking purposes. A separate tag is created for each item that a
program needs to talk to. The names show the flow of the data: Interlocks from
Station 20 to Station 30 are named AA020toAA030. The datatype used depends on
the two programs being interlocked.
Create program aliases ToPrev and ToNext for these interlock tags. Write logic
using the alias tags, as shown in Figure 7.
AA010toAA020 AA020toAA030
FromPrev “Interlock UDT” FromPrev “Interlock UDT” FromPrev
Create an alias named FromPrev in AA020 to access the interlocks from AA010
(controller tag AA010toAA020). Create an alias named FromNext in AA010 program
tags to access the interlocks from AA020 (tag AA020toAA010), see Figure 8.
4-8 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
AA010 AA020 AA030
AA010toAA020 AA020toAA030
FromPrev “Interlock UDT” FromPrev “Interlock UDT” FromPrev
AA010toAA020 AA020toAA030
FromPrev “Interlock UDT” FromPrev “Interlock UDT” FromPrev
AA030toAA050
“Interlock UDT”
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 4-9
4.3.1. Interlocks between Processors
When stations, such as skids, must interlock with stations that are in separate
processors it is necessary to ensure that communications are not lost. A Custom
UDT is used to accommodate interlocks between processors. An interlock UDT and
other device interlock UDTs may also be included such as remote actions and
robots. A connection status member will be included to ensure that the connection is
functioning.
4.3.1.1. Creating interlocks between processors
1. Create a custom UDT uc_AA010ToAA050Interlocks in MCP AA010.
A. Right click User Defined under Data Types in the Controller Organizer
B. Select New Data Type
2. Include members:
A. Comm Datatype = CONNECTION_STATUS
B. AA030ToNext Datatype = zc_SKInterlockToNext
The UDT should look like
Figure 10. Note that the Data Type Size will update after an Apply or OK button is
selected.
4-10 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
5. Point the ToNext alias in station 30 Program Tags to the AA030ToNext
Controller Tag.
6. Use the CPS, Synchronous Copy command, to copy the data in the ToNext
tag to the AA010ToAA050Interlocks.AA030ToNext tag in the AA030
B002_MapOutputs routine. See Figure 11.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 4-11
Figure 12 Custom Interlock UDT RSLogix v19 and above
4-12 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
Figure 13 CPS Buffered Copy Consumed Tags
It will be necessary to construct two interlocks in the next processor, AA050 in this
example.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 4-13
4.3.1.2. Producer Consumer
The separation of the interlock tags supports producing and consuming of the tags
across Ethernet, allowing a software design that is independent of the actual
controller boundaries.
AA030toAA020 AA020toAA030
“Interlock UDT” “Interlock UDT”
4-14 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
Figure 15: Interlock Tags
1. Open Core04Exercise
2. Create a UDT named uc_KA010B9ToKA030B9Interlocks
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 4-15
Figure 17: Entering the Datatype
4-16 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
Figure 18: Datatype with Members added
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 4-17
Figure 19: Add the Controller Tag
4-18 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
Figure 20: Interlock Datatype
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 4-19
4.4. Review
1. Describe how programs interact in the GCCS-2 standard?
4-20 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
GCCS-2
Global Common Control Software
Design
LMS # 33544
Document Version 7.0
Sponsoring Group:
Document Revisions:
Date Revision By Revision History
Replaced graphics and content for TIA
8-26-13 5.0 J. Hocking
portal HMI differences.
Synchronized to G16 with Powertrain and
6-18-15 6.0 J. Hocking
EtherNet I/O.
Updated Exercise descriptions. Matched
8-28-19 7.0 J. Hocking
Action routine numbers to logic file.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 5-1
5.2. Human Machine Interface (HMI)
The Human-Machine Interface (HMI) controls are hard-wired pushbuttons and switches
that are used in conjunction with HMI operations but are not part of the HMI itself.
These devices are mounted directly beneath the HMI in the HMI enclosure. Figure 1
illustrates the HMI and its associated hardware.
5-2 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
5.2.1. Hard-Wired Interface
Figure 2 below identifies the hard-wired buttons and lights that are mounted below
the HMI.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 5-3
5.2.2. HMI Organizer (Siemens Specific)
Each production cell is unique in some way, and it is impractical to cover all the
variations and functionality that you might find in the entire plant. Therefore, for the
purposes of instruction, we will illustrate only the basic HMI screens.
5-4 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
Each screen contains multiple objects such as:
Push buttons
Indicators
Message display
Lists
Global alarm banner
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 5-5
5.2.3. Communication
The HMI initiates all of the communication with the ControlLogix processor. HMI
communications use Ethernet I/P.
An example is shown in Figure 4 and Figure 5.
5-6 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
5.2.4. Screen Navigation
Typical screens are:
o Select
o Help
o Mode
o Alarm
o Scroll List
o Ethernet
o Robot
o Single Robot
o Cell overview
o Station overview
o Maintenance
Screen navigation occurs on the Select screen. The ControlLogix processor
controls all screen changes; there are no GOTO screen buttons. However,
shortcuts exist between screens when appropriate (e.g. cell overview, screen
overview).
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 5-7
Figure 6: Button Color Scheme
5-8 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
5.2.7. Common Screen Banner
There is a common banner area on all screens. The boxed area at the top of Figure
7 highlights the common banner area.
Figure 8 shows the various items located in the banner area. Figure 10 defines the
various items.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 5-9
Item Indication/Explanation
Fault Reset “ON” when an alarm exists. Flashes when an alarm exists in
“Auto.”
Highest Priority Usually sent to upper level systems, logged to downtime
Alarm reports, and put on marquees in order to call people over.
(broadcast)
Highest Priority Only visible on the HMI. Is a means to help the HMI user.
Prompt (local)
Diagnostic Indicates the program is producing an alarm / prompt.
Locator
More Help When the alarm is present and more help is available, the
button is highlighted. When no help is available, it shows the
time and date.
Safety Cell safety status.
Production Has a GREEN background when normal and YELLOW when
Status any of the run / tryout modes are active.
Bypass Status Indicates the status of bypasses in the cell. Has a GREEN
background when no bypasses are active and BLUE if
functions are actively bypassed.
Login Status Indicates the status of the login.
Back Allows return to the previous screen.
(navigation)
Flag Selects the Language for the HMI Display.
Q&A Allows navigation to the Q & A screen. User selects from
available choices a possible solution to a machine interruption.
Figure 9: Common Banner Area – Definitions
5-10 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
5.2.8. Individual Screens
5.2.8.1. Configuration Screen
The Configuration Screen gives the user the choice of closing or returning to the
application. Password Management can be accessed form the screen. Project
status info is available.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 5-11
5.2.8.2. Help Screen
The help screen layout is shown in Figure 12. It shows any additional text that may
be stored in the HMI to assist in correcting the current alarm. Figure 13 explains the
different items on the help screen.
Item Indication/Explanation
Help Category Allows the user to associate specific text with the given
message number.
Alarm-Specific When a problem occurs with DeviceNet, Safety Relay,
Help Text etc., the help category provides advice for the user (help
message that applies to multiple alarms). This is already
programmed for standard help categories.
Back Returns the user to the previous screen.
Figure 12: Help Screen - Definitions
5-12 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
5.2.8.3. Select Screen
The select screen is the main navigation screen. Figure 14 shows the physical
arrangement of these items on the screen. Figure 15 explains the different items.
Item Description/Explanation
Station Select Highlights the user selected station and shows all other
stations “grayed out”.
Screen All blue buttons are valid per the station that is selected in
Navigation the station select area.
Figure 14: Select Screen – Definitions
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 5-13
Figures 16 thru 18 illustrate what occurs when different stations are selected.
5-14 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
Figure 17: Selecting Another Station
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 5-15
5.2.8.4. Mode Screen
The Mode Screen has Modes, Holds, and requests. The screen provides tryout
mode functions, enabling and disabling all process equipment, lamp test, etc. This
screen is shown in Figure 18.
Item Description
Tryout Mode Toggles tryout mode on / off.
Runout Mode Toggles runout mode on / off.
End of Cycle Toggles End of Cycle Hold (EOCH). Equivalent to
EOCH button on gate box.
Fast Stop Allows actions in process finish, prohibits the start of
any new actions
Energy Stop Stops in the best position to turn off air and electricity.
Can be with parts, may be without parts, etc.
5-16 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
Item Description
Prepare To Stop Limits the robot(s) to only pick up parts if the dropoff
location is available. The mode should prevent a
situation where a robot is holding a part that it can’t
drop. Allows all robots to get home if a different stop
mode is selected.
Lamp Test Press to test pilot lamps and horns
Remove Bypasses Removes non-robotic bypasses (scroll list, switch
bypasses
All Processes On Turns on all non-robotic process equipment.
All Processes Off Turns off all non-robotic process equipment.
Figure 19: Select Mode Screen Button - Definitions
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 5-17
5.2.8.6. Ethernet Screens
There are two levels of Ethernet screens. There is a network overview screen with
indicators for devices on the network. The indicators are pressed to view detailed
information about the device selected.
The next screen is the Detail Screen for the Cell EN2T.
The next screen is the Detail Screen for the Robot FA010R03.
5-18 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
Figure 23: Ethernet Screen – Device Details Robot FA010R03
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 5-19
5.2.8.7. Scroll List Screen
The scroll list screen (Figure 26) represents the available manual control. This
screen’s features are built by the program logic.
5-20 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
5.2.8.8. Tool / Station Overview Screen
The tool overview screen assists in locating the device that is in the alarm banner. A
flashing red light indicates the alarm location.
Fault indicators are designed to flash Red when the alarm shown in the top
banner is for that device. All alarm triggers (alarm number + message offset)
must be entered into each of the indicators. Each switch will usually have 2
faults Not on and Not off. Most cylinders will have 4 faults, 2 for each switch
(extended and retracted).
Indicators on the Tool Overview screen may be copied to create additional
indicators since the indicators are driven by unique alarm trigger values.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 5-21
The GOTO DISPLAYED FAULT pushbutton (
5-22 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
Figure 27) shows the cell / equipment status. It also allows the screen operator to
navigate to the tool overview and robot screens.
If a fault is located within the station, the buttons will turn red. The station with
the highest priority blinks red. Buttons update to indicate the alarm status. This
is illustrated in Figure 28.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 5-23
Figure 28: Cell Overview Screen Detail
5-24 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
5.2.8.10. Cell Overview Pushbutton Configuration
The robot and station pushbuttons have been setup to simplify their configuration.
Robot Pushbutton Configuration
Robot pushbuttons have tags assigned that will coincide with HMI program tag
aliasing see Figure 29.
The robot’s name will come from the logic program and is displayed in the yellow
text near the robot pushbutton, currently showing all zeros in Figure 30.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 5-25
Figure 30 Robot01_txt displays Robot’s Name
In similar fashion, Robot02 gets its name form the logic program. Note that each robot
has 2 images on the reference screen rot45 is used when the robot’s image is desired
to be on an angle. The _pb robot is used for robots requiring square rotation, see
Figure 31.
5-26 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
Copy any remaining robot pushbuttons from the reference screen. Match the
program tag in the HMI logic program.
The HMI Program tag Sta01 is an Alias For TP005. Enter TP005in Text Off field
for the Sta1_pb, see Figure 32.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 5-27
The following Figure 33 is the Sta2_pb example.
5-28 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
5.2.8.11. Robot Screen
The robot screen indicates the status of all robots in the cell. It also provides
maintenance functions. The robot screen is shown in Figure 34.
Robot maintenance functions are updated based on the selected robots. This is
described in Figure 35.
Item Description/Explanation
Cursor Up Moves the cursor Up within the robot list.
Cursor Down Moves the cursor Down within the robot list.
Select/Unselect Selects or Unselects the robot that the cursor points to.
Robot
Select/Unselect All Selects or Unselects all robots in the display.
Rbts
Robot Function List Displays the Robot Function window enabling function
selection for selected robots. See Figure 36.
Robot Status List Gray boxed area displays robot names and status
information.
Figure 35: Robot Screen - Definitions
The next view of the robot screen depicts a selected Robot, shown in reverse video.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 5-29
Figure 36: Robot Selected
Next the robot function list can be opened using the Robot Func. bottom left of the
Robot Screen.
5-30 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
Tip Dress Robot(s) Process 1/Process 2
Startup/Purge Process 1/Process 2 (Short)
Statup/Purge Process 1/Process 2 (Long)
Reset Steppers After Cap Change
Turn Process 1/Process 2 On or Off
Bypass/Remove Robot Bypass
Bypass/Remove Process 1/Process 2 Bypass
Spare Robot Functions 20-31
Figure 38) displays the top nine active alarms ordered by priority. The highest
priority alarms are located at the top of the screen.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 5-31
Figure 38: Alarm Screen Status View
Note: if an alarm on a yellow background is seen with the following text: ALARM
#/*HMI\ScnCom\O\Alarm*/ NOT PROGRAMMED IN HMI
SEARCH FOR KALARM[/*HMI\ScnCom\O\AlarmSearchNum*/] IN PROGRAM
"/*HMI\ScnCom\O\AlarmPgmName*/" this message means that an alarm
message is active in the PLC that does not have text in the HMI. Run the
message extractor see Module 14.
5-32 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
5.2.8.13. Alarm Screen History View
The alarm maintenance history screen view (Figure 39) displays the past 100 highest
priority alarms. Alarms can be filtered by program.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 5-33
5.2.9. Exercise 1: Cell Overview Screen
The Cell overview is used to see all stations or robots that have alarms at a glance.
The screen includes ability to navigate to any station or the robot screen to view
specific details about alarms. In this exercise, you will configure the cell screen as
shown in Figure 40.
5-34 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
Figure 41: Display the Toolbox Menu
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 5-35
Figure 43: Graphics View Window Inserted
5-36 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
9. Select the graphic from browse window, Core05Exercise1.
10. Click Open.
11. Verify the graphic desired is displayed; see Figure 46. Note: you can
resize the graphic anytime, just click and drag a grip to resize. Resize the
image to approximately the same size as shown in Figure 47.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 5-37
12. Copy the following graphics and indicators from the Cell Overview
Graphics screens:
9999 – Cell Overview Graphics – Gate, Guards
9999 – Cell Overview Graphics – Panels
9999 – Cell Overview Graphics – Robots
Follow the directions given on the Cell Overview Graphics screens, to add indicator
pushbuttons and graphics to build the Cell Overview. Note: Indicators/pushbuttons
are designed to coincide with station and robot numbers in the HMI logic, for
example:
R01 = Robot1 in Cell Overview Graphics
Sta01 = STA1 in Cell Overview Graphics
Always copy the correct numbered pushbutton/indicators for the stations and
robots into your project. Do not copy STA1 for all your stations etc.
13. Use the RSLogix project Core05Exercise1.ACD to determine the order of
the robot and station buttons in the project.
14. Verify your project looks like the Cell Overview shown in Figure 47.
5-38 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
5.2.10. Exercise 2: Station Overview
The Station Overview screen displays the location of the highest priority fault. The
screen also aids in bypassing faulted switches. In this exercise, you will configure the
tool screen as shown in
Figure 48.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 5-39
Figure 49: Enter Indicator States
F. Complete the remaining ranges. When finished, your screen should look
like Figure 50.
Item Indication/Explanation
C01 1500, 1510, 1501, 1511
*C02 1502, 1503, 1512, 1513.
WG200 1560, 1570.
PPX1 1101, 1111.
BK01 1010, 1011.
BK02 1012, 1013.
PM1 1014, 1015, 1016.
PM2 1024, 1025, 1026.
5-40 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
Figure 51: Alarm Values
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 5-41
F. Select the Animations tab, and then select Appearance under Display.
Right click in front of any unwanted states to select then choose delete.
See Figure 54.
G. Enter the range 1010-1011, see Figure 54.
Note: For W/G open switches, part present switches, and any other 2-state switches,
delete the first 2 ranges. Right click at the beginning of the row to be deleted; then
select Delete.
5-42 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
Figure 55: Black Background Color DeviceNet Fault Indicator Configuration
Multiple rows can be selected to delete simply hold the Ctrl key on the keyboard and left
click the selection button in front of the Value column to select then right click delete or
use the keyboard delete.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 5-43
Figure 57: Exercise 2
END OF EXERCISE 2
5-44 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
5.3. Review
1. What is the function of the Scroll List screen?
2. What is the function of the Tool/Station Overview screen?
3. What is the function of the Cell Overview screen?
4. What is the function of the Robot screen?
5. What is the function of the Alarm Screen Status view?
6. What is the function of the Alarm Screen History view?
7. How do you navigate between screens in the HMI?
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 5-45
GCCS-2
Global Common Control Software Design
LMS # 33544
Document Version 7.0
Module 6: Actions
DOCUMENT MANAGEMENT INFORMATION
Sponsoring Group:
Document Revisions:
Date Revision By Revision History
8-26-13 5.0 J. Hocking Updated graphics
Synchronized to G16 with Powertrain and
7-21-15 6.0 J. Hocking
EtherNet I/O.
8-29-19 7.0 J. Hocking Added part Present Logic.
This training is based on the Global Common Software Design Standards, GCCS-1.
Please refer to the GCCS-1 manual found on the “GM intranet” or
www.gmsupplypower.com. The GCCS-1 manual is comprehensive and will have the
latest information. This training manual is used as an instructional guide.
Copyright Information
Copyright General Motors Company, 2019, Detroit, Michigan. All rights reserved
under U.S., International, and Universal Copyright Conventions. Published in the
United States of America. These materials may be used only with related printed
materials.
In no event will the General Motors Company be responsible or liable for
incidental or consequential damages resulting from the use or application
of the materials in this manual.
The examples, diagrams, and charts in this manual are included solely for
illustrative purposes. Because of the many variables and requirements
associated with any particular safety situation, the General Motors Company
expressly disclaims all express and implied warranties relating to the
materials in this manual, including all examples, diagrams, and charts.
Reproduction of the contents of this manual, in whole or in part, without written
permission of the General Motors Company, is prohibited.
Table of Figures
Figure 1: za_Action Datatype Status Data ........................................................6-3
Figure 2 Action Tag with the za_Action Data Type ............................................6-4
Figure 3: Unscheduled Programs – Action Routines ........................................6-5
Figure 4: Copy the Template Routines .............................................................6-6
Figure 5: Copy and Paste Template Routines ..................................................6-7
Figure 6: Renaming a Routine ..........................................................................6-7
Figure 7: Action Routine Organization ..............................................................6-8
Figure 8: Selecting za_Action Datatype ............................................................6-9
Figure 9: Sequentially Naming Routines .........................................................6-10
Figure 10: TBD Example ..................................................................................6-11
Figure 11: Auto & Clear Rungs Do Not Copy Conditions ................................6-12
Figure 12: @eLogic Flags ...............................................................................6-12
Figure 13: Switch Internal Rung ......................................................................6-13
Figure 14: Action Complete Rung ...................................................................6-14
Figure 15: Action Auto Rung ...........................................................................6-15
Figure 16: Action Clear Rung ..........................................................................6-16
Figure 17: Action Output Power Rung ............................................................6-17
Figure 18: Action Command Rung ..................................................................6-18
Figure 19: Action Output Internal Rung – “Real” Output Link ..........................6-19
Figure 20: Action Valve Output Rung..............................................................6-20
Figure 21: Action Memory Rung .....................................................................6-21
Figure 22: Action Fault Timer Rung ................................................................6-22
Figure 23: Action Enable Bypass Rung ..........................................................6-23
Figure 24: Diagnostic Alarm Rung ..................................................................6-23
Figure 25: Switch Bypass Bit Rung .................................................................6-24
Figure 26: Setting HMI Action Text and Action StatusType Triggers ..............6-25
Figure 27: Action Diagnostic Prompt...............................................................6-27
Figure 28: Motion Prompts Rung ....................................................................6-28
Figure 29: Action Output Power Prompt Rung ................................................6-29
Figure 30: Action Do/Undo Unlatch Rung .......................................................6-30
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 6-1
6.2. Actions
A “sequence action” or simply “action” refers to a single sequence step of a
machine, such as closing a clamp. For the remainder of this module, sequence
actions will simply be called actions. Actions have their own datatypes defined for
use.
6.2.1. Action
An action consists of a basic unit of data and the logic associated with that
machine sequence step. The data is represented by the action datatype
“za_Action”. The control logic and diagnostics for an action are located in the
action routine. Some examples of data and logic for an action include:
Switch internal
Complete conditions
Process Complete (when required)
Automatic mode conditions
Clear conditions
Output power
Command
Motion timer
Scrollist text and status ID
All control logic and diagnostics for a motion is in one routine
o ClampClose would be in one routine
o ClampOpen would be in a different routine
6-2 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
6.2.2. Action Datatype
As shown in Figure 1, all the status data are Boolean except the timer, text, and
status ID.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 6-3
Figure 2 Action Tag with the za_Action Data Type
6-4 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
6.3. Action Routines
The GCCS-2 template has many examples of action routines that can be used to
quickly meet the needs of most actions. Proceed to the unscheduled programs for
routine examples.
Routines can be copied into programs as needed. Some edits will be needed to match
the details of the destination project’s program. Typical unscheduled programs are
shown expanded in the next figure.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 6-5
Figure 4: Copy the Template Routines
Most likely you will not require all routines in the Template unscheduled program,
depending on what routines already exists in your destination project. Right click each
routine individually, choose copy, then locate the destination program and choose paste
on the program name.
6-6 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
Figure 5: Copy and Paste Template Routines
After pasting the routine rename it to the appropriate name, update the S prefix number
to position the new routine in desired order.
Program tags can be copied to the destination program. The examples are arranged in
small programs that contain tags and routines that can be copied to a project. Each
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 6-7
action has its own routine that contains all the control logic and diagnostics for that
action. The routine S000_Sequence builds the scroll list. It calls all Action routines. A
sample organization of these routines is shown in Error! Reference source not f
ound..
Each action has its own routine that contains all the control logic and diagnostics for that
action. The routine S000_Sequence builds the Scroll List. It calls all Action routines.
6-8 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
Figure 8: Selecting za_Action Datatype
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 6-9
Routines must be created for each required action. Name them so they appear in the
desired sequence order relative to each other as shown in Figure 9.
Note: The routine names should initially skip numbers by 5’s. This will make re-
sequencing actions easier because fewer routines will need to be renamed. This is
strictly a visible ordering of the routines. The action logic contained in the routine will
dictate the equipment sequence.
Add calls to these routines in the S000_Sequence. The order of the calls is the order
of display for the scroll list. Once the routines are created, the jumps (JSR – jump
subroutine) to these routines are added in the S000_Sequence routine. The order of
the jumps is the order of the scroll list display on the HMI.
6-10 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
6.3.1. Logic Structure
The logic structure is set up so that the first rung(s) is (are) the Switch Internal
rung(s) followed by the Action Complete rung. As logic rungs are conditioned,
instructions added or removed to achieve the desired rung output for the application,
it will be necessary to delete TBD bits which are part of the GCCS-2 standard. TBD
bits are designed to bring the user’s attention to areas where user input is required.
Rung comments will give info on what is to replace TBD bits, see Figure 10.
It is important that the Action Auto and the Action Clear rungs do NOT have their
conditions duplicated. Remove any duplicate contacts from the Auto rung.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 6-11
Figure 11: Auto & Clear Rungs Do Not Copy Conditions
Note: many rung comments will contain flags that are used by the logic generator
software, they begin with @eLogic and are eliminated later in the process. See Figure
12.
6-12 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
6.3.2. Switch Internal Rung
Internal switch logic is used to enable switch bypassing. Further explanation is given in
Module 6.3.21 Switch Logic. The Switch Internal rung is introduced in
Figure 13. For switches that do not allow bypassing, the input point will directly drive
the switch internal.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 6-13
6.3.3. Action Complete Rung
The Action Complete Rung is located near the top of the routine to allow you to
quickly determine the complete state of the action. The reverse action’s “.Out” bit
is included on this Action Complete rung because a time delay occurs before the
sensor inputs change state. Including the reverse action’s “.Out” bit helps
prevent equipment collisions by immediately turning off the action’s “.Comp” bit
when the opposite action is initiated. An example of an Action Complete rung is
shown in Figure 14.
6-14 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
6.3.4. Action Auto Rung
The Action Auto Rung follows the Action Complete Rung. This rung includes all
conditions required for an action to run in Auto Mode. An example is shown in
Figure 15.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 6-15
6.3.5. Action Clear Rung
The Action Clear Rung contains all conditions for the action to move in either
auto or manual mode. It must also contain all conditions needed to prevent
equipment damage. Action Clear Conditions follow the Auto Mode conditions and
are shown in Figure 16.
Do not duplicate conditions in both the Action Auto and Action Clear rungs.
Remove any duplicate conditions from the Auto rung
6-16 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
6.3.6. Action Output Power Rung
The Action Output Power Rung conditions for the action. Configure with all
power conditions necessary for motion of the device.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 6-17
6.3.7. Action Command Rung
The Action Command Rung sums both the Auto and Clear conditions and is
shown in Figure 18. When the action operates before / after the main cycle,
“Maincycle.InCycle” will need to be replaced by “Mode.Auto” (typically transfer
actions, robot pick/drop, transfer part in etc.).
6-18 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
6.3.8. Action Output Internal Rung
The Action Output Internal Rung is turned on by the Action Command. This
requires fewer logic changes and minimizes the use of the “Real” Output. The
“Real” Output is, in turn, turned on by the Action Output Internal Rung as shown
in Figure 19.
The “Real” Output occurs only on this rung. This allows most of the logic to be
written without knowing the real output address.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 6-19
6.3.9. Action Valve Output Rung
6-20 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
6.3.10. Action Memory Rung
The Action Memory Rung remembers the last commanded direction. It is set and
reset by the Action Internal Output rung as shown in Figure 21.
Correctly sets
Memory bits
when manually
valving a tool.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 6-21
6.3.11. Action Fault Timer Rung
The Action Fault Timer Rung is used to determine when the action is faulted and
allows time for the action to complete as shown in Figure 22. The fault timer
preset value must be set to allow enough time for the action to complete without
triggering a motion fault.
6-22 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
6.3.12. Action Enable Bypass Rung
The Action Enable Bypass Rung (Error! Reference source not found.) allows b
ypassing the diagnostic switches for the action. No more than one cylinder per
action is allowed to be bypassed at any given time. Switch bypassing is not
available in motions that have only one cylinder.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 6-23
6.3.14. Switch Bypass Bit Rung
The bits in the Switch Bypass Bit Rung are set based on currently active alarm
triggers. These active alarm triggers are displayed in the top banner on the HMI
and are maintained in the BypSw[ ] BOOL array.
6-24 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
6.3.15. Scroll List Configuration Rung
The last rung of the Action routine starts with setting the HMI scroll list Action Text
trigger and Action Status Type trigger as shown in
Figure 26.
Figure 26: Setting HMI Action Text and Action StatusType Triggers
The scroll list logic adds the program message offset to the Action Text value
before it is sent to the HMI. For example, if the message offset for this program
is 1000, the value sent to the HMI is 1002. A corresponding HMI scroll list
message with a trigger value of 1002 must be programmed in the HMI.
The “kSL” constants are used to select the appropriate text and color to describe
the action. In the example in Figure 16, the Clamp1Close.StatusType value
displays “Closed”, “Closing”, or “Closed Fault”. The text color is then used to
further identify the action.
Yellow = work position
Green = home position
Red = faulted
White is everything else (e.g., complete, present, etc.)
The scroll list logic also adds an offset value to the “Action.StatusType” to display
the action status on the HMI as follows:
Add 1 when the action is complete
Add 2 when the action is in motion
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 6-25
Add 3 when the action is faulted
For example, if the kSL.Yellow.Close has a value of 10, the following values and
text are generated:
11: “Closed” in Yellow text
12: “Closing” in Yellow text
13: “Close Flt” in Red text
6-26 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
6.3.16. Action Prompt Rung
The Action Prompt Rung is the diagnostic prompt for that action. This rung
displays the prompt for this action when the “Action.Prompt” bit is set by another
action. This is illustrated in Figure 27.
Set by Prompt
other only when
action’s action is
prompting clear Diagnostic Prompt
logic programmed one time
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 6-27
6.3.17. Motion Prompts Rung
The Motion Prompts Rung latches prompts for all motion conditions found in the Action
Clear rung. You must add branches for all items in the Clear Rung, as shown in
Figure 28.
6-28 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
6.3.18. Action Output Power Prompt Rung
The Action Output Power Prompt sets latches for output power devices that are in the
Output Power rung. Ensure a latch branch is added for all components in the Output
Power Rung as shown in
Figure 29.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 6-29
6.3.19. Action Do/Undo PB Unlatch Rung
The Action Do/Undo PB Unlatch Rung, as shown in Figure 30, clears the Action
Internal Push Button bit. This ensures the internal Action Push Button bit is
turned off. This rung also unlatches the OutPwrPrompt and the current motion
prompt.
6-30 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
6.3.20. Action Found Rung
The Action Found Rung controls the cursor when Auto Cursor mode is enabled.
The conditions shown in Figure 31 will work in most cases. However, in some
instances, they may need to be modified for the Auto Cursor to work properly.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 6-31
6.3.21. Switch Logic
Switch logic is used for three primary functions:
To determine when an action is complete.
To determine if a fault has occurred for the switch (failed on/failed off).
To allow bypassing of certain switch faults. This allows production to
continue until the problem can be fixed.
Figure 32 shows a proximity switch providing an input to the Action Complete
rung.
Action
Motion Timer
Done
When Switch is
bypassed
6-32 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
A switch internal is driven by the actual switch input or by a timer in the event of a
fault that is bypassed.
When the switch is not bypassed, the “Real” input is used. When the switch is
bypassed, the logic waits for the Action Motion Timer to finish to satisfy input to
the Action Complete rung. This is because:
Waiting for the Motion Timer allows time for the action to complete and
helps prevent equipment crashes
Using the Motion Timer also works for switches that have failed in the
“ON” position.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 6-33
6.3.22. Switch Diagnostics Rung
The Switch Diagnostics Rung is shown in
Figure 33. When diagnosing switches, both the “on” and the “off” states must be
diagnosed.
6-34 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
Figure 34: Bypassing Bits Used in Switch Rungs
As shown in
Figure 34, to bypass the “switch not on”, the switch rung is located in the same
routine.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 6-35
Bypass bits for the “Open” Switch PX1 Not Off are also set based on alarm triggers as
shown in Figure 35.
6-36 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
6.4. Prompting
Prompting starts by looking at the Clear conditions for the action. The prompting rung
triggers prompts when the user cannot perform the action. An example is shown in
Figure 36.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 6-37
As shown in Figure 37, the Clamp1 prompting logic triggers the Robot Not Clear
prompt.
6-38 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
The following example illustrates how another action would trigger the Clamp1 prompt.
In this example,
Figure 38, the Close Clamp2 action requires Clamp1 to be closed.
If the user is attempting to close Clamp 2 while Clamp 1 is not closed and not clear,
the prompt displayed on the HMI will indicate that Clamp1 is not closed. If Clamp1
is not clear, then prompting will indicate why. The prompting will eventually direct
the user to something that is clear and can be moved.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 6-39
6.5. Part Present in Actions
The part present actions / logic has bits that represent the part switches:
PartName.PresSwitches
PartName.NotPresSwitches
The PartName is replaced with the actual name of the part.
Note: Sample Part Action logic routines are located in StationPartActions in the
Unscheduled Programs of GCCS-2.
All part present switch internals are summed in the rung shown above. The rung
provides all part present switches or no part present switches on.
6-40 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
6.5.1. Part Load Status Memory
The bit PartName.Load.Comp is memory of the part load status.
In general, most actions should use the PartName.Load.Comp memory, if part status is
needed at all. Only part load / unload actions should use part switch status.
6.5.2. Load/Unload actions check actual Switch Status
Part load / unload actions should check actual switch status to ensure the part is
properly loaded.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 6-41
6.5.3. MainCycle Logic Checks that all Parts are Present
The MainCycle logic checks that all parts are present before starting the cycle.
Actions using MainCycle.InCycle on the Command rung do not need part present status
programmed in the Action’s Auto rung.
6-42 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
6.6.2. Error Proofing in Actions
Error Proofing in Actions is intended to insure that all parts needed are present in the
machine/station AND that all work has been completed on those parts.
A MainCycle routine and tag is usually present to sum that status.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 6-43
6.6.3. Error Proofing in Part Load Actions
Actions controlling steps where parts are loaded to the machine must check the status
of the Work.ProcComp (work has been done) and Part.PresMemory (part loaded
memory) bits. Typically, all ProcComp bits must be in the OFF state prior to loading
parts. All part load memory bits must be in the OFF state prior to loading the first part.
This provides anti-repeat / error proofing the actions to prevent a machine cycle where
parts that may not be loaded or work that may not be done.
6-44 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
6.6.4. Error Proofing in Part Load Actions
In the Part check and Clear actions, the tooling part present switches are checked to
ensure that the robot has properly loaded in the tool.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 6-45
6.6.5. Error Proofing in Part Unload Actions
Action controlling steps where parts are unloaded from the machine/station must check
the status of the ProcComp (work has been done) and .PresMemory (part loaded
memory) bits. All .ProcComp bits must be in the ON state before unloading parts. All
part load memory bits must be in the ON state before unloading parts. This provides
anti-repeat / error proofing of the actions to prevent a machine cycle where parts may
not be loaded or work may not be done.
6-46 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
6.6.6. The MainCycle Routine
The MainCycle tag and routine are used to track the status of the machine’s cycle
including work complete and part load memories. Work complete status is shown next.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 6-47
6.6.7. Setting / Resetting Work an Part Memories (MainCycle)
The MainCycle routine controls the resetting of the part and work memories for each
machine/station cycle. The part and work memories should be reset by the MainCycle
routine once the unload action is complete. Rungs for the reset process complete and
set process complete follow.
6.6.7.1. Resetting Work Memories (Main Cycle)
The Reset Process Complete rung comment contains information to assist the user in
setting up the rung appropriately. Configuration information is after the @TODO flag.
6-48 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
6.6.7.2. Setting Work Memories (Main Cycle)
The set process complete rung is next. Do not edit this rung.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 6-49
6.7. Review
1. What rung shows the status of the clamp in the routine?
2. The Action Clear rung does what job?
3. Describe switch bypassing logic?
4. Describe prompting logic?
5. What is the main purpose of error proofing?
6-50 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
GCCS-2
Global Common Control Software
Design
LMS # 33544
Document Version 7.0
Module 7: Diagnostics
DOCUMENT MANAGEMENT INFORMATION
Sponsoring Group:
Document Revisions:
Date Revision By Revision History
8-26-13 5.0 J. Hocking
Synchronized to G16 with Powertrain and
7-1-15 6.0 J. Hocking
EtherNet I/O
Adjusted message offset range for
8-29-19 7.0 J. Hocking Conveyors, removed CFlex and kDiag.Value
priorities.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 7-1
7.2. Diagnostics Categories
The two basic categories of diagnostics messages are:
Alarms/Warnings/Status
o Call for maintenance.
o Appear in the Alarm Banner on the HMI.
o Are sent to CIMplicity, Marquees.
o Are managed by the Plant Floor Event (PFE) program.
PromptsAssist in operating the HMI.
Tell why an operation is not allowed (“Can’t Do”) messages.
Display instructions for confirm/cancel of certain actions.
o Appear in the Local Message Display on the HMI.
o Are local to the HMI.Are managed by the HMI program.
7.3. Diagnostic Numbers
Each program (station, robot, cell, etc…) generates its own Alarms and Prompts
as shown in Figure 1.
7-2 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
7.3.1. Message Offset and Message Ranges
The Message Offset dictates the available Message Range. The offset is
adjusted based on area and individual program need.
Examples:
Body shop, Press, GA, = 1000 – allows 999 prompts/alarms
Conveyors = 2000 to 3000
Paint = 3000 – allows 2999 prompts/alarms
Message Offsets may be adjusted as needed by individual programs within a
project.
This table is an example only and is not typical.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 7-3
7.3.2. Program Diagnostic Numbers
The 999 Alarm numbers and 999 Prompt numbers are used as shown in Figure
2.
7-4 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
7.3.3. HMI Message Numbers
The HMI requires unique numbers (values).
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 7-5
7.3.4. Program Message Offsets
Message offsets allow programs to be easily duplicated. Each program is
assigned a message offset value in the 1000’s range. This offset is added to
each diagnostic in the program.
7-6 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
Figure 5: New Message Offset
*Note: All projects will have an MCP program which uses 0 for its offset. All
cell programs will require an offset to be assigned.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 7-7
It is possible for several programs to send messages to the HMI program at the
same time. For example, a robot may “crash” on an auto station welder’s clamp.
Two faults would be generated; one from the robot (cannot move due to following
error) and one from the welding station routine (cannot open or close the clamp).
However, the HMI can display only one alarm and one prompt at a time in the
banner at the top of the screen. See
Figure 7.
So, one alarm and one prompt must be chosen. This is done based on
priority and selected station, as shown in Figure 8 and Figure 9.
7-8 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
If station AA030 is selected on the HMI and AA020 has the highest priority
diagnostic:
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 7-9
If station AA030 is selected on the HMI and all programs have equal priority.
7-10 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
7.4. HMI Diagnostic Display
The message offset and the program name is stored inside the “HMI” tag for each
program. This information is displayed along with the diagnostic, including: the HMI
message number (message number + message offset), the program message
number, and the program name.
Actual
Actual HMI Message
Program
PV Message
Message Number
Message Program Name
Number 1-999 ASCII String
number Number
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 7-11
Common Program
Diagnostics Routine
JSR
Jump To Subroutine
Routine Name zZ999_Diagnostics
Input Par kDiag.Alarm.Comm
Input Par kAlarm[301]
Input Par kHelp.DNFlt
7-12 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
7.4.1. First Input Parameter: Priority
The priority comes from the controller tag, kDiag, which provides named
“constant” values for priority and is used to distinguish alarms from prompts. The
names (for example, “kDiag.Alarm.Comm”) represent numbers that are sent to
the diagnostics routine for evaluation. The routine has to choose which alarm
has highest priority; this is how it makes the choice.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 7-13
The following table shows typical Alarm priorities:
kDiag.Alarm.xxxx Purpose
AirAndHyd Air Pressure and Hydraulic Faults
AppFault Logix Programming Faults
Comm Communication Faults
SafetyComm Safety Communication Faults
Cycle Automatic Cycle Faults
EStops Emergency Stop PB and Power Faults
Gates Perimeter Gate Faults
LocalIO Local Chassis Input and Output Card Faults
MagnFaults Relay Faults (abnormal operation)
MagnSts Relay Status
Master Master On Faults
Mode Automatic Mode Faults
PartPres Part Present Faults
Power Power Supply and Circuit Breaker Faults
ProcessEquip Misc. Process Equipment Faults
Robots Robot Faults
Status Lowest Level Faults
SwitchFlts Switch Faults Not Bypassable
SwitchFltsBypassable Switch Faults Bypassable
SwitchFltsNoMotion Switch Fault No Motion-Not Bypassable
SwitchFltsMotionGrpLimit Switch Fault Motion Group Limit reached
VFD Variable Frequency Drive Faults
Welding Welding Faults
ProdFltAndonStop Production Fault Andon Line Stop
ProdFltOperLoad Production Fault Operator Load Device
ProdFltGeneral Production Fault General
ToolFltDimExceeded Tooling Fault Dimension Exceeded
ToolFltGeneral Tooling Fault General
QualFltGeneral Quality Fault General
TputFltBlocked Thruput Fault Blocked
TputFltStarved Thruput Fault Starved
TputFltGeneral Thruput Fault General
SysFltGeneral System Fault General
MatlFltOutOfParts Material Fault Out of Parts
MatlFltGeneral Material Fault General
MaintWarnPLCSW PLC Software Maintenance Warning (Minor Fault ...)
MaintWarnPLCHW PLC Hardware Maintenance Warning (Battery Low ...)
MaintWarnGeneral Maintenance Warning General
ProdWarn Production Warning
7-14 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
kDiag.Alarm.xxxx Purpose
ToolWarn Tooling Warning
QualWarn Quality Warning
TputWarn Thruput Warning
SysWarn System Warning
MatlWarn Material Warning
MaintStatusPLCForceEdit PLC Forces and/or Edits Present and/or Active
MaintStatusGeneral Maintenance Status General
ProdStatus Production Status
ToolStatus Tooling Status
QualStatus Quality Status
TputStatus Thruput Status
SysStatus System Status
MatlStatus Material Status
Figure 13: Typical Priorities for Alarm
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 7-15
kDiag.Prompt.xxxx Purpose
Confirm Press DO to Confirm Prompt (yellow)
PBFeedback Pushbutton Feedback (Can’t Do)
Prompt
General General Prompt
Alert Alert / Warning (Process, Battery,
etc.)
Status1 Status Level 1
Status2 Status Level 2
Status3 Status Level 3
Bypass Device / Item Bypassed Prompt
Figure 14: Typical Priorities for Prompt
7-16 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
7.4.2. Second Input Parameter: Message Number
The message number is the second parameter sent to the diagnostics routine. It
is a “value” that will tell the HMI which message to display.
o Diagnostics are initiated by value
Alarm message numbers come from the controller tag kAlarm[ ]
Prompt message numbers come from the controller tag
kPrompt[ ]
o They provide named “constant” values for Alarms and Prompts.
o The array position contains a matching constant number.
kAlarm[301] contains the “constant” value 301 (shown in Figure
15).
kPrompt[34] contains the “constant” value 34
This enables searching and the cross-reference feature to show the use of all
diagnostics, and to quickly find used and unused diagnostics.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 7-17
7.4.3. Third Input Parameter: More Help
The More Help value comes from the controller tag, kHelp. It provides named
“constant” values for help categories. The example shown in Figure 16 would
show the “DNet Node Not Active” help message.
If no help screen or message is provided, the number zero (“0”) is passed to the
diagnostics routine. This is accomplished by using the parameter “kHelp.None”.
7-18 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
kHelp.xxxx Purpose
None No Help Available
SpecificExists Specific Help Exists
AppFault Application (z_ Routine) Fault Help
CircuitBreaker Circuit Breaker Help
ProdConsume Producer/Consumer Help
RemProc Remote Controller not in Run Help
DNFlt DeviceNet Node Fault Help
SafetyDNFlt Safety Assembly DeviceNet Node Fault Help
ComboDNFlt Safety and Standard Devicenet Fault Help
EStop E-Stop Help
Module Logix Chassis Module Fault Help
NotOn Switch Not On (Not Made) Help
NotOnNoMotion Switch Not On (Not Made) - No Motion Detected
Help
NotOff Switch Not Off (Not Released/Stuck On) Help
Relay Control Relay Help
SRFuseOk Safety Relay Fuse Ok Help
SRNotOn Safety Relay Not On Help
SRNotOff Safety Relay Not Off (Failed/Stuck On) Help
ChOffFault Safety Channel Off Fault Help
IOPulseFault Safety I/O Pulse Test Or Input Fault
IOInputFault Safety I/O Input Fault
IOOutputFault Safety I/O Output Fault
Robot Robot Help Array
WeldController Weld Controller Help Array
User User Help Array
Figure 17: Categories of kHelp
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 7-19
7.4.3.1. User Help
The “User” General Help value comes from the controller tag, kHelp.User[x].
Nineteen predefined values are pre-programmed.
o User must enter the help message text in the HMI.
o Use these when multiple instances of the same help is required
Example Siemens ET200S Module Fault
7-20 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
7.5. Diagnostic Examples
This section shows diagnostics for a work action and home action cylinder.
7.5.1. Typical Work Action Diagnostic
In the work action routine the home switch not off and the work switch not on are
diagnosed. The Alarm numbers in the rung comment and the kalarm numbers in the
JSRs must match in order from top to bottom.
The BypSw bool array bit must match the alarm numbers from the diagnostic rung
just above this rung. The bit turns on when a switch bypass is selected from the HMI
Tool Overview Screen.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 7-21
Figure 21: Typical Work Action Switch Bypass Bit Rung
7-22 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
The BypSw bool array bit must match the alarm numbers from the diagnostic rung
just above this rung. The bit turns on when a switch bypass is selected from the
HMI.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 7-23
7.6. Variable Messages
The PFE Alarm protocol includes Embedded Variable (EV) Alarm feature on both
HMIs and GPM&C screens. Alarm messages with EV can be substituted with
numeric and/or ASCII texts. The PLC and HMI EV Alarms code uses 3 variables
(PFEControl.VAR1, VAR2, and Var3) and the HMI’s VariableTexts_TL[] text list
array to function. The following is the AlarmEmbeddedVariableExample from the
unscheduled programs in the GCCS2 template logic, consult GCCS2 for more
information.
Rung 0 is a rung comment that states the minimum revision levels required for
UDTs, Routines and Programs to permit Embedded Variables to function properly.
Rung 1 this is the Sample Embedded Variable Alarm Rung. Your rung will vary. Up
to 3 different embedded variables can be used and they can be used more than
once each. Do not include any MOV that is not used in your EV alarm.
1. Replace the TBD with logic conditions that will enable the alarm.
2. Replace the PFEPointer1 tag with the tag that will provide number that
populates PFEControl.Var1 (variable 1) Remove if the variable is not used.
3. Replace the PFEPointer1 tag with the tag that will provide number that
populates PFEControl.Var2 (variable 2) Remove if the variable is not used.
4. Replace the PFEPointer1 tag with the tag that will provide number that
populates PFEControl.Var3 (variable 3) Remove if the variable is not used.
5. Insert the OTL (latch) of PFEControl.IsEmbeddedVariable before the JSR
zZ999_Diagnostics.
7-24 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
6. JSR call to the zZ_Diagnostics routine. KAlarm number must be unique
within program.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 7-25
Figure 26: Text List for EVs
The following rungs will result in the alarm message shown after the example.
7-26 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
Figure 27: EV Example
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 7-27
7.7. Exercise 1: Programming Alarms
Alarms help maintenance and others determine what is not functioning properly in
an automation cell or station. GM places alarms in the routine that controls the
movement or process. This exercise will demonstrate the steps to enter an alarm
and make sure that the alarm numbers are unique within the program. In this
exercise, you will:
Enter an alarm.
Use Cross Reference to find available alarm numbers.
Change the alarm numbers.
Change the alarm rung comments.
Change the Switch Bypass Bit rung.
7-28 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
C. Replace NOP instructions with a zZ999 diagnostic for alarm 63 and
64 with appropriate Help (use the alarm priority and help category
lists presented in this module to assist you). Use bypassable priority
for both alarms.
D. Check that you have only three input parameters and zero return
parameters.
E. Update switch bypass bit rung to bits 63 and 64. (Should be correct)
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 7-29
A. Open the controller tag database. You can just cross reference
and select the kAlarm tag.
B. Select the kAlarm tag, right click, and select Go to Cross
Reference.
C. Use the Show pull down menu to change to the TP005 under
Container (Program)
7-30 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
Figure 32: Sorting by Column in Cross Reference Display
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 7-31
5. Change the alarm number of the Clamps1 Opened Not Off alarm and the
Clamps1 Closed Not On alarm.
A. Edit the alarm number (value) of the alarm in Step 2 (alarms 63,
64) to the new alarm number found in step 4E above.
B. Check that you have only three input parameters and zero return
parameters.
6. Correct the rung comment on the alarm rung to reflect the new alarm
number.
A. Double click the rung comment in the ladder editor window.
B. Change “Alarm[63]” and “Alarm[64]” to match the new alarm
number.
C. Click the green check mark when complete.
7. Update switch bypass bit rung to match the new alarm numbers chosen.
The Switch Bypass Bit rung immediately follows the Switch Diagnostic
(Alarm) rung.
8. Verify and save the exercise project.
END OF EXERCISE
7-32 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
7.8. Review
1. Name the two categories of diagnostic messages.
2. In the body shop, how many prompt and alarm messages are possible?
3. What are the three values present in a diagnostic message?
4. How are messages prioritized for the HMI display?
5. How is the HMI help screen used to identify fault information?
6. How can a HMI message be used to find the rung of PLC logic that is
generating a HMI alarm message?
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 7-33
GCCS-2
Global Common Control Software Design
LMS # 33544
Document Version 7.0
Sponsoring Group:
Document Revisions:
Date Revision By Revision History
8-26-13 5.0 J. Hocking Revised KSL content. Updated exercise.
Synchronized to G16 with Powertrain and
7-30-15 6.0 J. Hocking
EtherNet I/O
8-29-19 7.0 J. Hocking Revised exercises.
This training is based on the Global Common Software Design Standards, GCCS-1.
Please refer to the GCCS-1 manual found on the “GM intranet” or
www.gmsupplypower.com. The GCCS-1 manual is comprehensive and will have the
latest information. This training manual is used as an instructional guide.
Copyright Information
Copyright General Motors Company, 2019, Detroit, Michigan. All rights reserved
under U.S., International, and Universal Copyright Conventions. Published in the
United States of America. These materials may be used only with related printed
materials.
In no event will the General Motors Company be responsible or liable for
incidental or consequential damages resulting from the use or application
of the materials in this manual.
The examples, diagrams, and charts in this manual are included solely for
illustrative purposes. Because of the many variables and requirements
associated with any particular safety situation, the General Motors Company
expressly disclaims all express and implied warranties relating to the
materials in this manual, including all examples, diagrams, and charts.
Reproduction of the contents of this manual, in whole or in part, without written
permission of the General Motors Company, is prohibited.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 8-1
8.2. Scroll List Features
The Scroll List (Figure 1) represents the available manual control. For a station, this
would be the sequence of operations. For equipment without a “sequence”, the Scroll
List contains manual functions.
The Scroll List order is built by logic, and there are no limits to the length of list. The list
can be dynamically changed within the logic (for example, based on style or mode
selection). It also displays the status for each line with meaningful text. For example:
Close Clamps has status: Closed, Closing, and Close Flt; and Load Part has status:
Present, Not Present, and Partial.
The Scroll List also features Auto Cursor capability (Cursor follows machine sequence)
and is controlled by a rung in the Action logic routine. The Scroll List allows the grouping
of actions together (Collapse/Expand). The collapsed view shows the group line only. In
Figure 1, the “Oper Loads Door” is the group line. The expanded view shows all actions
within the group. In the manual mode, all actions can be:
Triggered together by pointing to the group line.
Triggered independently by pointing to a specific line within the group.
Note the group line is not an action and does not require an action routine.
8-2 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
8.2.1. Scroll List Screen
The Scroll List screen shows the selected station’s available manual control,
including the following:
Cursor and Page Up/Page Down buttons.
Blue cursor buttons are in manual mode or “active.”
Gray cursor buttons are disabled because Auto Cursor is active. Touching gray
cursor buttons will make them active and disable Auto Cursor.
The Scroll List is expanded or collapsed by touching the area to the left of the list.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 8-3
Figure 3: Scroll List Screen (Expand and Collapse List)
8-4 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
8.2.3. Function List
The Scroll Screen Function List provides maintenance functions not included on the
Scroll List.
The Scroll List function list is updated based on the selected station and the selected
line. The functions that may be presented to the user include:
o View Normal Scroll List/Bypassable Lines/Skippable Lines.
o Turn Auto Cursor On/Off.
o Return to Load Position.
o Return to Unload Position.
o Reset/Set All Completes.
o Reset/Set Line Complete.
o Bypass Current Line / Remove Bypass.
o Skip Current Line/Remove Skip.
o Turn User Function 1-6 On/Off (example: Weld On/Off).
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 8-5
Figure 5: Function List
8-6 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
o Skipping a line will require setting the station cycle complete at the end of
the cycle.
o Station specific functions
o Example: Weld On/Off
Skippable At Unload
Indicator Description
No Process Complete No process is complete in the station.
Some Processes
Some processes in the station are complete.
Complete
All Process Complete All processes in the station are complete.
The black box means you cannot skip the
Skip Indicator
current Scroll List line.
Skippable The current Scroll List line may be skipped.
The black box means you cannot bypass the
Bypass Indicator
current Scroll List line.
The current Scroll List line may be
Bypassable
bypassed.
Load position indicator Green means station is at load position.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 8-7
Indicator Description
Gray means station is not at load position.
Unload position Green means station is at unload position.
indicator Gray means station is not at unload position.
Station specific Text and color will vary depending on for
functions what indicator is used.
Figure 7: Function List Indicators
8-8 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
Figure 9: Scroll List Text Value – MOV
2. The KSL.Color.Action is a controller tag that represents a constant that is
assigned its value by the routine zZ010_Constants routine located in the
MCP program. This is used to display status of the action on the right side
of the scroll list in a corresponding color. Typical actions will have an
indicator in both the work and home routines.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 8-9
Figure 11: KSL Controller Tag (Partial)
The KSL controller tag has many parts. Action status indicators for the Scroll List are
handled by the first two members of the tag, KSL.Yellow and KSL.Green, they both
have the members shown in Figure 12.
8-10 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
or KSL.Green Green Colored Status Indicators
Close Close Status Indicator
Open Open Status Indicator
Advance Advance Status Indicator
Return Return Status Indicator
Engage Engage Status Indicator
Disengage Disengage Status Indicator
Raise Raise Status Indicator
Lower Lower Status Indicator
On On Status Indicator
Off Off Status Indicator
Forward Forward Status Indicator
Back Back Status Indicator
InPosn In Posn Status Indicator
Work Work Status Indicator
Home Home Status Indicator
Increase Increase Status Indicator
Decrease Decrease Status Indicator
NoCarrier No Carrier Indicator
Figure 13: KSL.Yellow Status Indicator Members
Work and Home indicators display when the output memory for an Action routine is
turned on. If the Action routine completes before the Action timer is done action
completed indicator displays. If not, motion indicator displays a fault. (See below)
8.3. Scroll List Logic
All actions routines are called from the S000_Sequence routine. The Scroll List is built
by logic in the S000_Sequence routine. There are two versions of the seven routines
used to build the Scroll List. One version is used for Single HMI applications; the other
is for Dual HMI Applications. Note that two HMIs can be used per station. The routines
for single and dual applications share the same routine names as shown below:
zZ101_StartList
zZ102_AddLine
zZ103_DoUndo
zZ104_TextLine
zZ111_StartGroup
zZ112_EndGroup
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 8-11
zZ121_EndList
When the application has two HMIs, the HMI Scroll List enable rung must be added to
the top of the S000_Sequence routine. Refer to Figure 14.
8-12 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
Figure 14: HMI Scroll List Enable Rung (Dual HMIs)
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 8-13
8.3.1. Sequence Routines
The Scroll List is started by calling the “zZ101_StartList”. See Figure 11.
Then, as the actions (sequence steps) are programmed, they are added to the Scroll
List by the logic shown in Figure 17.
Note: The order of the rungs in the S000_Sequence routine dictates the display
order of the Scroll List.
8-14 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
The parameters for “Do” and “Undo” functions are as follows:
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 8-15
8.3.2. Grouping
To group actions, actions are surrounded with “StartGroup” and “EndGroup” routines
in the logic. See Figure 15.
8-16 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
Figure 21: Grouping Open Actions
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 8-17
Groups cannot be nested: a group must be ended before a new group is started.
The parameters for the StartGroup and EndGroup are as follows:
8-18 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
Figure 23: Group Details
Note: Copy the rung comment from the Scroll List Configuration rung in any action
routine, like S###_CloseClamps for example. Do not forget to edit after you paste in the
rung comment.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 8-19
Exercises:
8.3.3. Exercise 1: Add Items to the Scroll List
The objective of this exercise is to add calls to the action routine and add the action
to the scroll List. Use the material presented in this module for any guidance
required.
1. Open the exercise project “Core08Exercises.ACD” in RSLogix5000.
2. Add scroll list calls to S000_ Sequence for the S020_CloseClamp2 and
S105_OpenClamp2 routines in the TP005 program.
A. Add a scroll list call rung for the S020_CloseClamp2 action to
S000_Sequence below the S015_CloseClamps1 action (use the
information presented in this module to assist you).
B. Add a scroll list call rung for the S105_OpenClamp2 action to
S000_Sequence below the S100_OpenClamp1.
3. Verify and save the exercise project.
END OF EXERCISE
END OF EXERCISE
8-20 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
8.4. Review
1. How do you expand and collapse the Scroll List tree?
2. How do you use the Action Clear indicator in the Scroll List?
3. Name some items found on the Function List in the Scroll List?
4. What are the Function Indicators in the Scroll List?
5. What routine in the logic is used to generate a Scroll List?
6. How are the controls operated on the Scroll List Screen?
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 8-21
GCCS-2
Global Common Control Software Design
LMS # 33544
Document Version 7.0
Sponsoring Group:
Document Revisions:
Date Revision By Revision History
Added Path Control Signals for Global 3
8-26-13 5.0 J. Hocking
robots
Synchronized to G16 with Powertrain and
7-9-15 6.0 J. Hocking
EtherNet I/O
Changed focus to Global 3 and above robot
9-20-19 7.0 J. Hocking
standards.
This training is based on the Global Common Software Design Standards, GCCS-1.
Please refer to the GCCS-1 manual found on the “GM intranet” or
www.gmsupplypower.com. The GCCS-1 manual is comprehensive and will have the
latest information. This training manual is used as an instructional guide.
Copyright Information
Copyright General Motors Company, 2019, Detroit, Michigan. All rights reserved
under U.S., International, and Universal Copyright Conventions. Published in the
United States of America. These materials may be used only with related printed
materials.
In no event will the General Motors Company be responsible or liable for
incidental or consequential damages resulting from the use or application of the
materials in this manual.
The examples, diagrams, and charts in this manual are included solely for illustrative
purposes. Because of the many variables and requirements associated with any
particular safety situation, the General Motors Company expressly disclaims all
express and implied warranties relating to the materials in this manual,
including all examples, diagrams, and charts.
Reproduction of the contents of this manual, in whole or in part, without written
permission of the General Motors Company, is prohibited.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 9-1
9.2. Robot Specification
GRS1 Robot Technical Specification
o Out of the box content
o Defines hardwire interface
o Defines MCP controller to robot controller interface:
EtherNet Safe communication for all safety signals
Ethernet for upload/download support and control
Safety power
o Defines interface to Auxiliary Panels
Process Control Equipment
Weld Controllers, Dispense Controllers, etc…)
Dens-Pack (including PedWeld)
Defines Receptacle / Cable / Pinout for Power
9-2 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
9.3. Path Control Signals (GRS-3)
There are several “types” of application signals, such as Path Control, Process
Control, and Status. The Path Control signals contain information concerning the
commanded motion. Figure 1 summarizes the Path Control signals for Global 3 and
greater robots; the details of the signal usage are coming.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 9-3
9.6. Path Segments (GRS-3)
The Path Segments numbers (0 to 255) identify the location of a robot along its path
within a style program.
For example: A robot with Path Segment number equal to 1 represents the
robot “Moving to Pounce.”
Path Segment numbers must be unique within a style program.
Path Segment numbers are reused between style programs (for example: Path
segment 50 is always “Robot in Process”, but different style programs will have
different process paths).
Path segments 0–9 and 60–63 have standard definitions as shown in Figure 2.
Segment # Usage
0 Unknown / Invalid segment
1 Pounce segment
2 Home to Repair segment
3 Repair to Home segment
Process 1 Tip Dress/Purge
4
segment
Process 2 Tip Dress/Purge
5
segment
6 Cap Change segment
7 Tool Change
8 Spare
9 Fast Fault Recovery
10–59 Template segments
60
Reserved
61
62 Tool Clear segment (Optional)
63 All Clear segment
Figure 2: Path Segment Definitions
9-4 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
Path segments 10-59 have template definitions as shown in Figure 3. Keep in mind
that:
Most robots use these template segment numbers
Some robots may require re-defining these segments based on the application,
for example, a pizza rack or stacker robot with multiple drop locations.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 9-5
9.7. “Continue” Signals (GRS-3)
A “Request to Continue” (RTC) signal is required when the robot needs to handshake
with the controller at a specific point in the path. Some of these points may be:
At pounce position (always requires RTC).
Clear to drop / pick.
No part check / part check.
Decision code point.
A path segment number with “Request to Continue” ON identifies a robot at a specific
point in its path. For example: A robot with path segment number equal to 1 AND with
the “Request to Continue” bit On, represents the robot “At Pounce”.
After the robot turns on the “Request to Continue”, it must wait for the “Continue OK”
bit from the controller. Once the “Continue OK” bit is ON, the robot changes the path
segment number and continues.
Figure 4 through Figure 8 illustrate this using a weld program example.
9-6 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
Figure 5: Robot Clear of Station
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 9-7
Figure 7: Weld Task OK — Incomplete Process
9-8 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
Note: This is only an example and may not match actual robot programs
GO[PathSegment] = 1 -- Group Output
Message(“In Pounce”) -- Message to Teach Pendant
Move ... Robot indicates to PLC
Move ... “Moving to Pounce”
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 9-9
9.8. Path Decision Control
Decision Code numbers are used when different paths are required within the
same robot style program as shown in Figure 11.
Typical use: Multiple pick / drop locations for the same style of part.
Requires the robot to be at a “Request to Continue” point.
Decision code is read by the robot when the “Continue OK” bit is ON from the
controller and is then echoed back to controller.
9-10 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
9.9. Robot Clear
Instead of trying to identify all of the other segment numbers, the logic will check that
the robot is NOT in segment 30 or 31. Changes can be made to other areas of the
path and not affect this clear condition.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 9-11
9.10. Process Control Signals (GRS-3)
Some common process control signals are highlighted in Figure 14.
Controller to
Robot to Controller
Robot
Tryout Mode Tryout Mode Tells Robot there
Request are no parts
Process 1 ON Process 1 Enabled
Request
Process 2 ON Process 2 Enabled
Request
MH Fault
Robot stops
Process 1 Fault
Process 2 Fault
MH Alert Robot continues
Process 1 Alert
Process 2 Alert
Figure 14: Process Control Signals
These are generic signal names; the application defines the meaning. For example,
Process 1 or 2 Enabled could be:
For Spot Welding — weld on / off
For Dispensing — wet / dry
The HMI shows process specific messages (e.g. robot screen, alarms, prompts)
9-12 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
9.11. Status & Miscellaneous Signals
These items are shown in Figure 15.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 9-13
9.12. Review
1. Where would you expect to find information about robot dress?
2. How are style numbers used between the MCP controller and the robot?
3. How are option bits used between the MCP controller and the robot?
4. What do path segments signal to the controller?
5. What is a “Request to Continue” bit and what sets it?
6. What is an “OK to Continue” bit and what sets it?
9-14 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
GCCS-2
Global Common Control Software Design
LMS # 33544
Document Version 7.0
Sponsoring Group:
Document Revisions:
This training is based on the Global Common Software Design Standards, GCCS-1.
Please refer to the GCCS-1 manual found on the “GM intranet” or
www.gmsupplypower.com. The GCCS-1 manual is comprehensive and will have the
latest information. This training manual is used as an instructional guide.
Copyright Information
Copyright General Motors Company, 2019, Detroit, Michigan. All rights reserved under
U.S., International, and Universal Copyright Conventions. Published in the United States
of America. These materials may be used only with related printed materials.
In no event will the General Motors Company be responsible or liable for incidental
or consequential damages resulting from the use or application of the materials in
this manual.
The examples, diagrams, and charts in this manual are included solely for illustrative
purposes. Because of the many variables and requirements associated with any
particular safety situation, the General Motors Company expressly disclaims all
express and implied warranties relating to the materials in this manual, including
all examples, diagrams, and charts.
Reproduction of the contents of this manual, in whole or in part, without written
permission of the General Motors Company, is prohibited.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 10-1
10.2. Device Level Ethernet Address Assignment
Setting up the Ethernet system requires that each device on the network has an
individual address including the following:
Each ENxT
Each HMI
Each Robot
Each Weld SCR
Each Managed Switch
Each MWS – Maintenance Workstation
Each PC such as a Process Tool or Vision Computer
Optional – Each Programming Port
Ethernet I/O devices
It is easiest to use the real addresses when setting up the network the first time.
The Plant Floor Systems (PFS) group requires a comprehensive list of devices
that will require IP addresses to properly assign them in the plant. For each of
the devices, the PFS group will need the type of device, the MAC ID, and
possible additional information depending on the facility.
After all of the devices above are submitted to the PFS group, a spreadsheet will
be delivered back to the responsible GM engineer with the proper IP addresses.
If the devices must be configured before the official IP addresses are delivered,
the startup engineer can pick a temporary range of addresses to begin with then
switch at a later point. For example: 2.3.4.XXX with a subnet mask of
255.255.255.0.
10-2 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
10.2.2. Set the Static IP Address on a Windows PC
1. Right click the wireless signal display. (if not available use the
computer’s control panel to access the Network and Sharing Center.)
2. Click Open Network and Sharing Center.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 10-3
Figure 4: Open Internet Protocol Version 4
6. Select Use the following IP address:
7. Enter IP Address, Subnet Mask, and Gateway.
10-4 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
The following is an example of configuring the TCP/IP properties for a Windows
computer.
Many computers can adjust the IP address without a re-boot of the machine.
However, if Windows prompts for a re-boot, re-boot. The computer should now
be ready to communicate on the network.
Working with systems that have private and public networks it will be necessary
to pay particular attention to gateway settings on the devices as well as the
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 10-5
computer that you will use to program. Configure gateway on the computer like
the example that follows:
In order to access devices on the private network, 192.168.1.xxx you must set
the gateway of the programming computer’s NIC to the address of the Controller
(Cell) switch. The PLC and HMI should also use this gateway.
10-6 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
Figure 9: Click the Advanced button to Disable NETBIOS over TCP
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 10-7
10.2.4. Assigning IP Addresses to Devices Using the BootP
Server
In most cases it is best to use the USB method, shown next, instead of BootP to
configure the initial IP address in ENxT Ethernet modules and Compact Logix
Controllers. USB is easier to use. BootP will be necessary if the device does not
have the USB connection.
To assign addresses to equipment configured with BootP, first ensure that the
Ethernet network is powered up and all devices including the maintenance
workstation (or maintenance laptop) are connected to the switch. Open the
BootP software on the computer and wait for the devices to begin requesting
addresses as shown in Figure 17. If the BootP server can not be located on the
computer, it can be found on the GM Supply Power website under GCCS
applications.
There is a possibility that software running on the computer will prevent the
computer from getting the broadcast message from the devices that are
requesting addresses. Some software firewalls have been known to block these
requests and, therefore, the firewall software should be shut down while using
the BootP server.
10-8 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
9. The time data stamp and the Ethernet MAC Address of the requesting
device(s) will appear as each device requests.
10. Double-click the Ethernet Address (MAC) and the New Entry window
appears. (To verify the MAC ID belongs to the device you are trying
to address, look on the device for a white sticker with the Ethernet
Address on it.)
11. Enter the IP address and Subnet Mask, and Gateway address; omit
Gateway if the network does not have a Gateway.
12. Click OK.
The Status window at the bottom of the BootP server will read “Unable to service
BootP request” for a brief moment. However, when the device requests an IP
address again, the Status window will read: “Sent IP address to device.” Also
note that the Request History will now show the device as having an IP address
and a Subnet Mask.
After the IP addresses have been assigned, close the BootP Server.
10.2.5. Configuring an ENxT with USB
Starting with EN2T model Ethernet modules an USB connection is available on
the front of the module to interface between the module and your computer.
RSLinx is used to establish communication.
1. Connect a USB cable from the programming computer to the port on the
front of the ENxT module.
2. Open RSLinx.
3. Click the RS Who button.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 10-9
4. Expand the USB driver.
5. Right click the ENxT that appears directly below the USB driver.
10-10 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
a. Select the Port Configuration tab.
b. Select Static
c. Enter IP Address
d. Enter Network Mask
e. Enter Gateway Address
f. Verify that the Auto Negotiate check box is selected
Important: Auto-negotiate setting is project specific. Some projects may use
Speed=100 and Full duplex. Please confirm appropriate Need new
settings screen
with GM project shot
engineer.
• Auto Negotiate
• Gateway
• Public Address
120.7.1.?
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 10-11
10.3. Disabling BootP After a Device Has Been Assigned an
IP Address
Once an IP address has been assigned to a device, the BOOTP feature needs to
be disabled. This will ensure that the device will retain its IP address even when
power on the device is cycled.
10-12 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
.
4. Configure the module for Static Network Configuration.
5. Select Static under Network Configuration Type.
6. Click OK and close the ENxT Configuration.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 10-13
10.4. Configuring RSLinx
RSLinx is the communications package used by Rockwell Software that allows
Windows-based Rockwell programs to interface with Rockwell Hardware. The
software packages that GCCS-1 currently uses are RSLogix and RSNetworx.
These software packages, when using RSLinx, allow many different
communication paths to the hardware such as Ethernet, USB, ControlNet, and
Serial. This manual exercise will focus on Ethernet and USB with a Serial
backup should problems arise.
RSLinx can be run as a service on your computer, starts at boot-up and is always
running. It can cause problems with some communication tasks that your
computer performs, for example printing. You can elect to use the Launch
Control Panel to start and stop RSLinx software as needed.
Using the RSLinx Classic Launch Control Panel
1. Click the start menu, expand All Programs, expand Rockwell Software,
expand RSLinx and select RSLinx Classic Launch Control Panel. You can
make a shortcut or pin it to the Start Menu or tool bar.
10-14 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
3. If RSLinx does not open, look for the RSLinx symbol on your tool bar or
notification window. Click the symbol to open RSLinx.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 10-15
10.5. Importing / Exporting .L5K Files
RSLogix 5000 can save and open files in multiple formats; .ACD, .L5K, .L5X,
etc..
.ACD is the default format and is used to view the logic in a graphical format
online. The .ACD format is a non-user readable format that can only be
viewed inside the RSLogix 5000 software.
.L5K is a text-based format that can be read using any text editor, such as
Notepad or Excel. The .L5K format contains all of the information needed to
recreate the logic and configuration in the controller. Since .L5K is a text-
based format, it is used to manipulate the logic with GM specific tools, such as
the Message Extractor.
To import the .L5K, open RSLogix 5000 and choose to open a file. Then
select the proper directory where both the .ACD and .L5K files will be
displayed. Set the Files of type: to All RSLogix 5000 Files (*.ACD, *.L5K,
*.L5X, *XML) as shown in Figure 22.
10-16 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
Figure 23: Import .L5K to Generate an .ACD
The window shown in Figure 23 will display after selecting an *.L5K for import
into RSLogix 5000.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 10-17
10.7. Exporting to .L5k File
To save an opened file in RSLogix 5000 as an .L5K file, use Save as type:
from the file menu then select *.L5K as the type as shown in Figure 25.
10-18 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
For Control Flash to work properly, the proper files for each revision need to
be installed. The firmware files are contained on the GCCS-1 release disks
under “Software,” on the Blockpoint software disks, and directly from the
Rockwell Automation website.
Locate the Control Flash shortcut or find it in the Program menu, under Flash
Programming Tools. Select Control Flash.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 10-19
Click Next to continue.
10-20 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
Once the Next button is clicked, an RSLinx window will open.
Now select the proper card, using the correct IP address and slot number in the
backplane as shown in Figure 30. Ensure that the card that is selected matches
the card type selected in Figure 28. Click the OK button.
IMPORTANT: When using Control Flash to update a Guard Logix
Controller (LxS), you must also update the Safety Partner (LSP).
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 10-21
Figure 31: Available Firmware Revisions for Selected Card
10-22 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
Certain hardware series of cards will not accept all revision levels for the
product ID. Example: 1756-DNB Series B cannot be flashed to a revision lower
than 6.002 even though 1756-DNB Series A can be flashed to all of the
lower revisions.
After starting a firmware update, DO NOT interrupt the process until the
screen looks similar to
Figure 34. Interrupting the update could cause the module to end up in an
unusable state. Starting with Control Flash version 19 the Safety Partner will
be updated when the Safety Controller is updated.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 10-23
are stored in the .ACD file. Communications paths to the processor are set
up in RSLinx, which is covered in Exercise 2.
The first time that a processor is downloaded, there will not be a path set up in
the .ACD file. The easiest way to download to the processor is to use the
“Who Active” function of RSLogix as shown in Figure 35.
10-24 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
Figure 36 shows the different drivers that have been set up in RSLinx. It also
shows that the path is set for the open project in RSLogix 5000.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 10-25
Select the proper drivers as shown in Figure 37.
10-26 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
At this time, select Set Project Path so the screen looks like
Figure 38. If the Project Path is set and must be changed, click the Clear
Project Path button then click the Set Project Path Button.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 10-27
Now, select Download to prepare for the final confirmation as shown in
Figure 39.
Figure 39 above shows the final confirmation before the project will be
downloaded to the controller. There is no program in the controller currently,
so it is OK to download this program.
10-28 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
In Figure 40, the controller already has a program that matches the program
that is to be downloaded. This is the typical screen that the user should see.
If the names do not match, check to ensure the processor selection is correct.
After the download is complete, the user may be asked to go back into the run
mode if the controller was in the run mode before the download (Figure 41).
At this point, the program is in the controller and the user can begin making
changes and viewing the logic online.
If a download fails with controller faulted check and repair items causing Major
Faults. When the failure occurs without controller faults with an attribute error/
can’t create module in Error window, file is likely corrupt. Save RSLogix/Studio
5000 as an *.L5K and Import *.L5K then down load. Exporting and importing to
either an *.L5K or a *.L5X often fixes issues with corrupted files.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 10-29
10.10. Safety Programming in RSLogix 5000
In GCCS-1, Safety Tags, Safety UDT’s, and Safety I/O tags are identified
uniquely with the first letter of s. Additional letters may follow the s such as sz_,
su_, or s_. The only exception is Safety Program Scope tags which are not
named with the s. The Safety Program can only contain Safety tags. See Figure
42.
10-30 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
Standard tags that are to be used in the Safety Task must be first mapped
into Safety Tags. Only tags of the class Safety can be used in the Safety
Task. To map a standard tag into a safety tag, select Logic, Map Safety
Tags as shown in Figure 43.
Figure 43: Mapping Standard Tags to Safety Tags for use in Safety Task
In the left column, select the standard tag name. In the right column,
select the matching safety tag name. Refer to Figure 44.
Figure 44: Select Standard Tags and Matching Safety Tags for Mapping
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 10-31
10.11. Safety Module Configuration
For networks, Safe I/O must have their safety connections configured in
RSLogix 5000. GCCS-2 contains examples of the safe I/O configuration for
many of the ECS panels. It is recommended that the configuration from
GCCS-2 be used for all existing modules.
Safe I/O can be copied from the GCCS-2 reference and modified or can be
added from scratch. The copying procedure is outlined below.
Typical configurations for the GCCS-2 safe I/O can be dragged and dropped
from the GCCS-2 template to the user’s application. Safe I/O modules must be
configured.
1. Once the module has been copied or dragged and dropped to
desired Network. Under I/O Configuration, Expand the view of the
network then right-click on the proper safe I/O module and select
Properties. See Figure 45.
10-32 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
Figure 46: 1791DS-IB12 Fill in the Proper Data as Shown
Refer to the “Safety IO BK Config yyyy mm dd for the correct I/O settings for
known devices. The document is located on Supply Power in GCCS
Applications.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 10-33
Figure 48: Set the RPI to the Proper Value for the Application
3. Set the RPI settings to the appropriate value for the application, see
Module 2.
10-34 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
4. The input configuration is set to match the hardware design. An
example is shown in Figure 49.
In Figure 49, Input points 0, 4, and 5 are wired to pulse test T0. All of the
other inputs shown are wired as safety inputs without pulse testing. Test
Outputs T2 and T3 are used as standard outputs as shown in Figure 50.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 10-35
Figure 50 Test Output T2 and T3 Used as Standard Output
10-36 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
Figure 51 shows the correct input configuration to match.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 10-37
4. The Test Output tab must be configured with each of the output
points identified as a Pulse Test, Standard or Power Supply
Output. Configure all test outputs connected to input devices as
pulse test. Configure test outputs connected to output devices as
standard. Configure unused test outputs as standard. See Figure
52
5. Continue this configuration method for each safe I/O module in the
application.
10-38 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
For Safe nodes that are not listed in GCCS-2, follow the instructions below
to add new Safe nodes into the application.
1. Under I/O Configuration, right click on the network below the proper
DeviceNet scanner and select New Module as shown in
2. Figure 53.
3. Select the module that matches the prints. Refer to Figure 54.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 10-39
4. After the module is selected, fill in the appropriate data. See Figure 55.
DeviceNet is shown on the right.
5. Set the RPI values to the appropriate value for the application. Refer to
Figure 56. The input configuration is set to match the hardware design.
Figure 56: Set the RPI Values as Appropriate for the Application
10-40 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
Input Point 0 is wired to pulse test T0. All of the other inputs shown are wired
as safety inputs without pulse testing. Refer to Figure 57. The correct
configuration for this example is next.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 10-41
Figure 58: Safety Device Receptacles
10-42 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
1. All input points should be of the type “Single.” See Figure 59.
2. Only points identified on the prints as being pulse tested should be
selected as Safety Pulse Test; otherwise they should be marked as
Safety. Any points that have been identified as a Safety Pulse Test must
also have an associated Test Source that is clearly identified on the prints.
In the example, Input Point 0 has a test source of T0.
Figure 59: Setting the Input Configuration Point Types and Modes
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 10-43
3. The Test Output tab must be configured with each of the test output points
identified as a Pulse Test or Standard Output. Refer to Figure 60.
If a pulse test output point is used on the prints, it MUST be configured on
this tab as a Pulse Test output.
10-44 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
4. The outputs on the Output Configuration tab should be set as Single and
Safety Pulse Test. Refer to. Continue this method for each safe I/O
module in the application.
Note: Not all modules will have this tab in their configuration.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 10-45
10.12.2. Managing Safety Network Numbers
Safety Network Numbers assigned to each safety network or network
segment must be unique. You must ensure that unique Safety Network
Numbers (SNNs) are assigned to each:
DeviceNet network that contains safety nodes
Chassis that contains one or more safety devices
After the Safe I/O modules have been created, generate a Safety Network
Number for all modules (Figure 62).
Select Time-based and click the Generate button on each module you open.
This process must be repeated for each DeviceNet Network in the chassis,
generate a unique number for each device on all networks.
10-46 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
10.13. Exercises
10.13.1. Exercise 1: Configure RSLinx
RSLinx is a tool used to create communication drivers used to communicate from
a computer to a PLC. The driver only needs to know the IP Addresses of the
controller(s) desired to connect with. ALWAYS use the Ethernet Devices driver,
as shown in this exercise.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 10-47
Figure 65: Main RSLinx Window
10-48 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
3. Select the Configure Drivers Icon as shown in Figure 66 below.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 10-49
5. The Ethernet Devices Driver setup procedure is summarized in Figure
68.
10-50 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
7. Once the Ethernet devices driver is added, the Configure driver –
Station Mapping screen will open as shown in Figure 70.
This screen allows the user to define all of the IP addresses that RSLinx will be
communicating with. Only Rockwell Ethernet devices (e.g. 1756-ENxT) need to
be entered into the RSLinx drive. Other devices on the Ethernet network may
use a different software package for communication.
10.13.2. Exercise 2: Update Controller Firmware Using Control
Flash
Using Control Flash is an important skill for individuals that startup or replace
PLC modules. Firmware needs to be consistent with the GM Blockpoint listings
for the facility you are working in. Control Flash is used to update modules to the
desired firmware. This exercise will familiarize you with the use of Control Flash.
Note: If the controller is unlocked, proceed to step 7.
1. Open your Core08ExercisesT*, *=1-4, file from Core08, using Studio
5000.
2. Go online with the controller on the trainer, choose download if
asked.
3. Enter the Safety password “plc”, if asked.
4. Access the Safety Lock/Unlock dialog
A. Click Safety Locked pull down button
B. Click Safety Lock/Unlock
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 10-51
Figure 71: Accessing Safety Lock/Unlock
5. Delete the Safety Signature and Unlock the Safety.
A. On the Unlock dialog, select the Delete Safety Signature box.
B. Click Unlock
C. Confirm the Delete safety signature warning.
Figure 72: Unlocking the Controller Safety and Deleting the Signature
6. Go Offline and close the project.
A. Select the Online pull down button
B. Choose Go Offline
C. Close the project
10-52 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
7. Update the controller’s firmware. Find the Control Flash icon or in
the program menu under Flash Programming Tools, select Control
Flash.
8. Select the catalog number for the device to be updated, which is
Guard Logix Processor 1756-L71S.
9. Click Next.
10. Select the proper card in the RSLinx window using the IP Address
and backplanes as shown below. Make sure the card selected is
the same type as that selected above.
11. Click OK.
12. Select the appropriate firmware revision level. Notice you can see
the card type, serial number, and the current revision level.
13. Click Next.
14. Do not interrupt the process at this point. Wait until the Update
status screen appears with the status window message indicating
Update Complete. The box will be green. Interrupting this process
may leave the module in an unusable state.
Note: When using RSLogix v16 repeat the Control Flash procedure
outlined above to flash the Safety Partner module (L7SP). RSLogix v16
is not used in the classroom.
END OF EXERCISE 2
10.13.3. Exercise 3: Download Logic File to the Processor
Downloading to the processor allows the user to load the project from the
computer.
Warning: Uploading a processor when a matching logic file is not present
on the host computer will result in a file that is missing the documentation,
such as rung comments and address comments.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 10-53
6. The Download confirmation window will appear. Verify the project is
going to download to the proper processor, then click Download. If
you are unsure, the project is correct, click Cancel and begin again
from Step 1.
7. The Download progress window will appear, tracking the Download
status.
END OF EXERCISE 3
10.13.4. Exercise 4: Export a *.L5K File
Many of GM’s tools work with an *.L5K file. The tools are helpful and require the
understanding of how to create the files needed. This exercise will demonstrate
exporting an *.L5K.
END OF EXERCISE 4
END OF EXERCISE 5
10-54 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
10.13.6. Exercise 6: Create a Safe Node in RSLogix
This exercise explains the manual creation of a Safe Node in RSLogix. Students
will learn how to follow a Wiring Diagram to enter settings in the I/O configuration
of the Logix project.
NOTE: The best way to create a device in your project is to copy in an example
from the GCCS-2 template and adjust as needed.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 10-55
Figure 73: Safety I/O Page F1
10-56 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
Figure 74: Safety I/O Page F2
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 10-57
5. Pulse Test T0 is used by Inputs 0, 2, 4, 6, 14.
6. Pulse Test T1 is used by Inputs 5, 7.
7. Test Outputs 2-15 are configured as standard outputs.
END OF EXERCISE 6
10.13.7. Exercise 7: Generate a Safety Network Number
When safe devices are added to the I/O configuration of a Logix project a Safety
Network Number must be generated. A unique number is added for each device.
The SNN is required to safely route traffic through bridges switches or routers.
This student will learn to generate SNN.
1. Open ComTask10Exercise7.
2. Open the I/O configuration at the end of the Controller Organizer.
3. Generate a New Safety Network Number for each module in DNet03.
Begin with the first Safety I/O Module as shown in Error! Reference s
ource not found.
10-58 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
Figure 76: Safety Network Number Generation and Copy/Paste
Each device will have its own unique Safety Network Number. Click Generate for
each module, do not use Copy.
END OF EXERCISE 7
10.13.8. Exercise 8: Generate a Safety Signature
After the Safety Task has been created and verified for functionality, it must be
locked with a password to prevent future changes. A ‘Signature’ is a mixture of
time and the program checksum. The signature is used to identify that the
Safety Task has not been changed from the time that the task was validated.
1. Open Core08ExercisesT*, *=1-4 in Studio 5000.
2. Go Online with the processor.
3. Select Program or Remote Program mode. See Error! Reference s
ource not found..
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 10-59
Figure 77: Select Program or Remote Program
10-60 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
4. Click Safety Locked or Safety Unlocked. When the drop-down menu
appears, select Safety Lock/Unlock. See Error! Reference source n
ot found..
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 10-61
5. Select Safety Unlock as shown in
6. Enter “plc”, this will be the New Password and enter the Confirm New
Password.
7. Click OK. Refer to Figure 80.
10-62 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
10. Figure 82 shows a locked processor.
The final steps of locking the processor with a Safety Signature will be carried
out from the HMI.
12. From the Select screen, click the Signature Screen Button. See
Error! Reference source not found..
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 10-63
Figure 84: Open the Signature Screen
13. The Signature Screen opens.
10-64 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
Figure 86: Signature Screen – Use Current Signature Screen Button
16. After a slight delay the signature status will update to [OK-Locked
Safety Signature: (the number, time and date will be displayed).
See Error! Reference source not found..
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 10-65
Once the processor has a signature or is locked, edits to the Safety Task are
no longer possible. This is the steady state of the tooling in a production
ready state. The Monitored Power System (MPS) is designed to function only
after there is a signature that matches the signature stored in the processor.
There is typically an additional memory location for the signature (either
PM&C or possibly plant safety) to verify that the Safety Task is intact and
verified.
END OF EXERCISE 8
END OF EXERCISE 9
10-66 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
10.14. Review
1. How do you import an .l5K file?
2. How do you export an .l5K file?
3. How do you update firmware in certain smart cards?
4. How is logic downloaded to the processor?
5. How do you create Safety I/O Modules in RSLogix?
6. How is the Safety Network Number Created?
7. How do you generate the safety signature and lock the processor with
a password?
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 10-67
GCCS-2
Global Common Control Software Design
LMS # 33544
Document Version 7.0
Sponsoring Group:
Document Revisions:
Date Revision By Revision History
8-26-13 5.0 J. Hocking Updated Supply Power graphic
Synchronized to G16 with Powertrain and
7-9-15 6.0 J. Hocking
EtherNet I/O
9-18-19 7.0 J. Hocking Updated to GM standard Ethernet switch
This training is based on the Global Common Software Design Standards, GCCS-1.
Please refer to the GCCS-1 manual found on the “GM intranet” or
www.gmsupplypower.com. The GCCS-1 manual is comprehensive and will have the
latest information. This training manual is used as an instructional guide.
Copyright Information
Copyright General Motors Company, 2019, Detroit, Michigan. All rights reserved
under U.S., International, and Universal Copyright Conventions. Published in the
United States of America. These materials may be used only with related printed
materials.
In no event will the General Motors Company be responsible or liable for
incidental or consequential damages resulting from the use or application of the
materials in this manual.
The examples, diagrams, and charts in this manual are included solely for illustrative
purposes. Because of the many variables and requirements associated with any
particular safety situation, the General Motors Company expressly disclaims all
express and implied warranties relating to the materials in this manual,
including all examples, diagrams, and charts.
Reproduction of the contents of this manual, in whole or in part, without written
permission of the General Motors Company, is prohibited.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 11-1
11.2. GM Standard Switch
The switch is an IP 67 managed switch. IP 67 is a number to specify the
environmental protection of the enclosure of the switch. The first number 6
represents an enclosure that totally protects against dust. The second number 7
represents protection against the effect on immersion between 15 cm and 1 m.
layer 3 device, legacy switch is layer 2 device.
4-pin M12 D connectors.
IP67 (protected from dust and liquid immersion).
DLR capable allows single hop routing.
Eliminates the need for additional network card in PLC rack – saves money.
Supports additional network address ie:
120.7.6.xxx PLCs, Robots, HMIs etc..
192.168.1.xxx for I/O blocks, valve manifolds etc.
The OCTOPUS switch can be mounted either on the fence or directly on the
machine.
11-2 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
The Ethernet Switch Setup Utility can be found in the e-Tools portion of the GM
Standards homepage. The utility links to the GM standard switch configuration
procedure found in GCCS-1 on GM SupplyPower.
Key points of the Switch Configuration e-Tool:
• Can import the DCDL data or be filled out by manual input.
• Stand-alone application – Does not use other applications as dependencies
• Requires the switch firmware to be at an acceptable blockpoint revision
• Switch must have the correct IP Address from the DCDL configured.
There are two versions of the GM Ethernet Switch Utility eTool download and
installed version(s) needed.
Note: Versions shown are not necessarily the most current and are updated in Supply
Power frequently.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 11-3
11.3.1.1. GM Standard L3 Switch Configuration eTool
1. After installation of the GM Standard L3 Switch Configuration.
2. It can be opened through utility through the “Start” menu located under “All
Programs”.
11-4 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
Figure 5: GM Standard L3 Switch Configuration-Firmware and IP Addresses
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 11-5
Figure 7: GM Standard L3 Switch Configuration-SNTP & SNMP and Time Zone
11-6 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
Figure 9: GM Standard L3 Switch Configuration-VLAN
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 11-7
Figure 10: Setting Temporary IP Address on the PC
11-8 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
3. Using HiView or browser interface, from Basic Settings->Software verify the
switch firmware ‘Running Version’ is HiOS-6.1.04 (Octo. II)
Update if needed using the ‘Software Update’ section.
For this example:
Software should already be set to HiOS-6.1.04
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 11-9
Figure 13: Launch the GM Standard L3 Configuration Tool
5. Import switch data from DCDL. Follow DCDL Import dialog prompts to select the
switch and populate the form.
Alternately, the form data can be manually entered.
For this example, use DCDL for G16 Trainers
11-10 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
6. Once data in the form is correct, select ‘Write Config to Switch’ to send the
parameters to the switch.
When it is complete, communications will be lost to the switch.
The temporary address can no longer be seen since the port-VLAN IDs have been set
to either 120 or 192 and the switch is now running as a router.
7. Once the Configuration has finished writing to the switch, Clear the Temporary IP
info.
NOTE: Status Log may indicate that Temporary IP Info was cleared.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 11-11
Figure 16: Clear the Temporary IP Address
11-12 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
11.4. Module Review
1. What is meant by single hop routing?
2. When configuring the IP addresses of the workstation to the MTEC Trainer,
where are the convenience port IP addresses located?
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 11-13
GCCS-2
Global Common Control Software Design
LMS # 33544
Document Version 7.0
Sponsoring Group:
Document Revisions:
Date Revision By Revision History
8-26-13 5.0 J. Hocking Updated graphics and procedures.
Synchronized to G16 with Powertrain and
7-9-15 6.0 J. Hocking
EtherNet I/O
9-19-19 7.0 J. Hocking Revised module number was 13.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 12-1
12.2. Message Extractor Overview
Checks an RSLogix *.L5K file, for certain common programming errors relating to
the length and formatting of documentation
Extracts alarm, prompt, scroll list, and text list information for Siemens
WinCCFlexible and Comfort (TIA Portal) HMI displays. Only Siemens HMIs are
used in the global architecture at this time.
Extracts tag information for the Siemens HMI.
Handles language translations in the HMI and also writes the translated
information back into the *.L5K file.
Provides error and warning messages for prompt, scroll list, alarm and text lists.
12-2 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
1
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 12-3
12.3.2. Message Extractor Requirements for Scrollist Text in Logic
Each action displayed on the Scrollist requires a matching piece of text in the rung
comment that must be properly formatted to document the message appropriately.
Figure 2: Typical GCCS-1 Scrollist Text Setup and Corresponding Rung Comment
12-4 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
12.3.3. Message Extractor Requirements for Text Lists in Logic
Each Text List (TL) entry that you want created from the PLC program requires a
matching piece of text in a rung comment to document the message appropriately.
Figure 3: Typical GCCS-1 Text List (TL) Setup and Corresponding Rung Comment
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 12-5
12.3.4. Message Extractor Requirements for Multiple Items in a Single
Rung Comment
Messages are displayed in the rung comment immediately above the location that
will call the message in logic, in most cases. There are some situations where the
alarm number might be a variable.
In the near future, when the alarm number is a variable, there will be a rung
comment with many alarms, but a single call that doesn’t match the values in the
comment above. The extractor checks each of the extracted messages to make
sure that the values in the comment match the values in the rung calling them. In
these specific situations, additional functionality has been added to the extractor to
suppress the warnings.
The warning flag corrects the condition listed above. Any rung comment surrounded
by the warning flag <@WA=Off> (1) and <@WA=On> (2) will not be processed for
any potential warnings that the Message Extractor might discover. See figure 6.2.3
for an example of proper use of the warning flag.
The prompts listed above will not trigger any warning messages for duplicate prompt
messages, or for not having a properly formatted rung.
12.3.5. Flags for Non-Alarm, Prompt, or Scroll list Rung Comments
12-6 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
Rung comments that contain information outside of alarms, prompts, and scrollist
text can be modified via the extractor with the proper flag. SYS, INFO, USER,
PARAM, and TODO are all flags that are used to inform Message Extractor that the
rung comments are of particular importance, and therefore can be translated or
deleted, as required. The flags are for these different types of rung comments are:
The SYS flag (1 in Figure 5) is slightly different than the others, in that the Message
Extractor will not allow deletion of those comments.
You can use multiple flags in the same comment one after another if there are
different sections of the rung comment with separate functions. Note that all of
these flags must be above the listing of alarm, prompt, or scroll list messages. This
is to facilitate the translation of those messages for multiple languages.
12.3.6. Flags for Extraction Options
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 12-7
The extraction option flags shown below allow flexibility in how messages are
extracted, diagnosed, and formatted for the HMI.
WA - Warning/Error for RC message (defaulted ON).
PN/PM - Add program name to message (default Alarms:ON, SL:OFF,
Prompt:OFF).
EX - Extract RC message (default ON).
12-8 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
Figure 6 : Example of Extracted Tags – Date, Time Not Extracted
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 12-9
12.4.2. Message Extractor Additional Tags Option
If there are tags or UDTs that are not structured properly to be automatically
extracted, there is an “Additional Tags” sheet in Message Extractor. Type in the tag
or UDT name that needs to be extracted, along with a “T” or “U” to indicate if it is a
tag or a UDT. Message Extractor will also extract any tags that have that name or
that UDT name in addition to the tags that are properly formatted.
12-10 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
12.5. Using the Message Extractor
This message extractor it will create GM config files required for the Siemens HMI. For
the application to run properly Macro security must be set to Medium or lower.
12.5.1. Additional Message Extractor Features
The message extractor zip package includes a PDF description of added functions of
the message extractor. Once a L5K file is extracted, a HMI & Alarm Setup tab will be
provided next to the Errors tab. This tab reveals status of the projects Diagnostic
Name, Message Offset, and other items. Cells that are shaded in yellow have
warnings; red shaded cells indicate errors are present. All errors, including Scroll List,
Prompts, Alarms, and Text Lists must be resolved before HMI files can be generated.
This helps prevent erroneous HMI projects from being built.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 12-11
12.5.2. Exercise 1: Run the Message Extractor on a PLC Program
The message extractor is a GM eTool used to indicate errors in diagnostics in Logix
projects. Much of the errors that it finds relate to duplicate or missing Alarms, Prompts,
Scroll lists and the messages that coincide with them. Once errors are corrected in the
Logix, the messages will then be imported to the HMI(s) used in the Controller (Cell).
IMPORTANT: Extract all files from the Message Extractor zip file. The message
extractor will NOT function properly from inside the zip file.
12-12 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
Figure 10: Open the .L5K File
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 12-13
6. If the program is a conveyor, pre-G08 or a paint program check the “> 1000
Alarms per Program (paint, pre-G08 Conveyor” selection. Refer to Figure
11.
7. To include the HMI name to the output files for the HMI select the Add HMI
Name to the Output file names, these will be imported through WinCC to the
HMI project.
8. Select from the menu list the HMI type for your application. Select TIA
Portal for any TIA Portal application.
9. Click the Extract Msgs button, this process will take 10 to 60 seconds
depending on application size and the computer’s speed.
The Main File Extractor will display the total quantity of errors and warnings. While it is
helpful to resolve Warnings, the Errors must be resolved to get output files from the
Message Extractor.
12-14 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
Figure 12: Main File Extractor
10. Correct any errors in the RSLogix 5000 application that are listed on the
“Errors” tab of message extraction data file. Errors must be corrected in the
logic that save as an .L5K and re-run the message extractor until the project
is error free. You can cross reference for any kprompt or kalarm numbers if
listed. You can search for Alarm/Prompt or Msg/Text entries. Make sure to
copy the text from the Excel formula bar. This can be pasted to the Find
dialog in the logic.
Additional hints for locating errors in the logic using the Message Extractor:
Column F indicates the Program, Routine and Rung number of the error location. You
can navigate to the rung directly.
The Scroll List , Prompts, Alarms, and Text Lists tabs list all diagnostics that are in the
project.
These tabs are useful for diagnosing duplicate message numbers and what values are
available to use.
11. Check the “Warnings” tab and correct any issues in the RSLogix 5000
application.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 12-15
Figure 14: Warnings Tab in Message Extractor *.TMP file
12. Resolve any errors (red items) displayed on the HMI & Alarm Setup tab.
END OF EXERCISE 1
12-16 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
12.6. Language Translation
Not all projects require language translation. The procedure for language translation is
shown in Exercise 2 below.
12.6.1. Exercise 2: Language Translation
1. Open the *.XLS file that is created by the Global MessageExtractor.
2. Select the Main Tab
3. Click Load Language File (Figure 14) and follow the steps below.
4. Select “Global Translation Library.xls”
5. Click “Open” from the Open Excel file window.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 12-17
Figure 17 Language Translator Options
6. Select the languages for alarms, prompts, scroll list, and rung comments
under Message Languages Selected.
A. The available languages in the drop down boxes are based on the
languages listed in the translation library file. Note that one or more of
the language options might be grayed out indicating that the language
was already set from the information read in the *.L5K file.
B. Any of the messages that have already been translated will not be re-
translated. If the translation is not correct, simply delete the entry from
the translation column and it will be translated again.
7. Select the proper options for the rung comment flags. The three options are
“Translate”, “Leave As Is”, and “Delete”. Note that the system flagged
messages cannot be deleted.
8. Select the current language and the desired language to translate the user
defined data types.
A. Unlike the rung comments which show all of the translated languages, the
user defined data types replace the current language with the newly
selected language. This is due to the limited length of tag comments.
9. When all of the options needed for translation have been set, click
Translate Languages.
Once the translations are completed, check each tab and verify that all
messages have been translated and the translation is correct.
END OF EXERCISE 2
12-18 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
12.6.2. Language Discrepancies
1. If there are any messages that were not translated, there are three different
ways to continue. They are listed below in order of complexity.
o Translate the message manually in the appropriate column. The
translation will be saved for this PLC program only and will be lost if it is
not written back to the *.L5K file (see below). This method is best used if
there is a unique message that is unlikely to occur again anywhere else.
o Add the translation into the Translation Library.xls file under the
appropriate “User” section. Updating the translation library will require re-
running MessageExtractor.xls from the beginning (unless you also did the
1st option listed above.) However, placing it here will ensure that the
translation will be used for all messages. Use this option if there is a
message that will need translation often, or if you have many similar
messages that can be translated via parameters.
o If a message translation is incorrect or does not exist, and you believe that
it is a common message that would apply to all GM applications, submit
the message along with its translation to the GM engineer responsible.
The messages will be added to the common messages in the next release
of the translation library. Since this procedure can take some time, use
one of the above methods for your project in the interim.
2. Once all messages are translated to your satisfaction, go back to the Main
tab and click on the Create Multi-Language L5K file. This will create a
*_new.L5K file that can be imported using RSLogix 5000. This ensures all
the translations will be stored for later reprocessing, if necessary. It also
ensures the translated information will have the ability to be read inside of
the RSLogix 5000 program.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 12-19
12.6.3. Proper Use of Parameters in the Translation Library
Parameters can be set for all messages except “Comments” and “UDTs”. These
parameters should have a recognizable name and be enclosed in braces {}. A
parameter will replace any one word or number, determined by the next space ‘ ‘
encountered. Parameters properly set allow the translation of one message added
to the user section to translate multiple similar messages.
GATE {GATE} I/O MODULE {MODULE} INPUT FLTD /*R*/ INPUT/PULSE TEST
12-20 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
12.8. Review
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 12-21
GCCS-2
Global Common Control Software Design
LMS # 33544
Document Version 7.0
Sponsoring Group:
Document Revisions:
This training is based on the Global Common Software Design Standards, GCCS-1.
Please refer to the GCCS-1 manual found on the “GM intranet” or
www.gmsupplypower.com. The GCCS-1 manual is comprehensive and will have the
latest information. This training manual is used as an instructional guide.
Copyright Information
Copyright General Motors Company, 2019, Detroit, Michigan. All rights reserved under
U.S., International, and Universal Copyright Conventions. Published in the United States
of America. These materials may be used only with related printed materials.
In no event will the General Motors Company be responsible or liable for incidental
or consequential damages resulting from the use or application of the materials in
this manual.
The examples, diagrams, and charts in this manual are included solely for illustrative
purposes. Because of the many variables and requirements associated with any
particular safety situation, the General Motors Company expressly disclaims all
express and implied warranties relating to the materials in this manual, including
all examples, diagrams, and charts.
Reproduction of the contents of this manual, in whole or in part, without written
permission of the General Motors Company, is prohibited.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 13-1
13.2. TIA Portal Initial Installation
TIA Portal is the programming software used to develop, configure, and transfer
applications from a workstation to the Siemens Multi-Panel HMIs. For information on
installing TIA Portal, refer to the Socrates or GM Supply Power websites and look under
the GCCS-1a heading.
1. Right-click on the v11 TP1200 Core App v1.291PFE.zip file. See Figure 1.
2. Select Extract All.
13-2 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
Figure 2: Selecting a File Destination and Making New File Folders
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 13-3
Figure 4: Correct File Directory Appearance
When creating the project, use the application name for the .ap11 file and the folder
containing the .ap11 file. For example, AA110B1HMI1.ap11 and AA110B1HMI1 folder
name. Subfolder names are controlled by TIA Portal.
8. Rename the folder and the .ap11 file to TP010B1HMI1
9. Double-click TP010B1HMI1.ap11 to open the application.
10. Close the application; verify that file and folder name remained.
END OF EXERCISE 1
13-4 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
13.4. Siemens HMI Panel Initial Terminal Setup
The procedure for setting up a new Siemens Multi-panel terminal is outlined in the
following pages.
1. Power up the HMI panel.
2. Click on Cancel in the Transfer mode.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 13-5
4. Double-click Transfer.
5. Select Ethernet.
6. Select Automatic under Transfer
7. Click Properties.
13-6 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
8. Click Specify an IP address.
9. Input the proper IP Address, Subnet Mask, and Gateway.
Important: Set Gateway to match the address of the Controller (Cell)
Ethernet Switch
10. Click OK.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 13-7
12. Toggle power to the WinCC unit by clicking OP on the OP Properties tab, then
the Device tab, then Reboot, or by disconnecting and reconnecting the power
source.
Figure 11: Reboot the Siemens HMI Panel from OP Properties Tab
13-8 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
Open TIA Portal on a laptop.
13. Click Open an Existing Project.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 13-9
14. Browse for the .HMI file to be loaded to the HMI panel.
13-10 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
15. Right Click the Device_1 folder.
16. Click Properties.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 13-11
17. Under PROFINET Interface (X1) click Ethernet addresses.
18. Input the HMI panel IP Address, Mask and Gateway (Router Address).
19. Click OK.
13-12 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
20. Right click the Device_1… HMI folder.
21. Click HMI Device Maintenance.
22. Click Update Operating System.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 13-13
23. Click Update OS.
24. Click Yes.
Update OS should take about 5-10 minutes. The HMI Panel will reboot itself when it
is finished.
Note: This needs to be performed only for a new HMI unit. Once a unit has
been updated, it will not need another update unless the WinCCFlexible
version changes.
IMPORTANT: Do Not download v11 firmware to a new HMI. The HMI will fail
and must be returned to Siemens.
25. Click Cancel in the Transfer mode window on the HMI panel.
13-14 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 13-15
26. Click Control Panel.
27. On the HMI Control Panel, double-click Volume & Sounds. Note: Volume &
Sounds is not available on portable HMI.
Figure 20: HMI Panel Control Panel – Open Volume and Sounds
13-16 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
28. Uncheck Screen Taps
29. Click OK on the Volume & Sounds Properties window.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 13-17
Figure 23: HMI Panel Touchscreen Calibration
13-18 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
36. Change Regional Settings to the appropriate region.
37. Click OK on the Regional Settings window.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 13-19
40. Press and hold the double arrows next to the Close button.
41. Resize the HMI keyboard to the width of the screen, with an appropriate height.
13-20 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
42. Click Save on the Input Panel window.
43. Deselect Show Resize Button.
44. Click Close Input Panel.
45. Click OK on the Input Panel window.
46. Reset the IP Address if it was deleted or changed during the OS Update process.
If so, repeat Steps 4-12 outlined earlier.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 13-21
Figure 31: HMI Panel Loader Window Transfer Button
The HMI panel is now fully configured and ready for the application to be
downloaded.
13.5. Creation of the *.XLSX Files
Use Message Extractor as described in Module 13 to extract the messages from the
Logix 5000 .L5k file. Do not use the language translator for this exercise. Use the
procedure in Exercise 2 to create two .XLXS files.
13.5.1. Exercise 2: Creation of the .XLSX files
Select the Export all Siemens Files button (Figure 32).
1. Open Core08Exercises.acd
2. Save a *.L5K
3. Run the Message Extractor, do not use the Language Translator, see
Module 12 for directions.
END OF EXERCISE 2
13-22 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
13.6. Importing Tags and Text Lists into TIA Portal
Message Extractor creates tags and text lists from the PLC program for use in the HMI
application. Follow the instructions in the Message Extractor; refer to Module 14, to
create the tag and text list import files from the PLC program.
13.6.1. Exercise 3: Importing Tags and Text Lists
Open the TP010B1HMI1 TIA Portal project created in Exercise 1.
13.6.1.1. Importing Tags
1. Expand the Device
2. Expand HMI tags
3. Double Click Show all tags
4. Click Import
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 13-23
Figure 34: Importing Tags – Open Import File
7. Click Import
13-24 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
Figure 36: Importing Text Lists – Open the Import Dialog
4. Select the text list file created by message extractor (ApplicationName-
HMIx_AllTextLists.xlsx) “Core08Exercises-HMI1_AllTextLists.xlsx”
5. Select Import.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 13-25
Figure 38: Set the Project HMI IP Address – Access the IP Protocol
4. The Properties should be displayed.
5. Use IP protocol should be selected.
6. Use IP router should be selected.
7. Set IP address in the project should be selected.
8. Enter the IP address, subnet mask, and IP router (gateway address) for the HMI
project.
13-26 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
1. Double click Connections, the PLC connection will be displayed.
2. ETHERNET Interface should be selected.
3. Set the PLC IP address.
4. If the PLC is not in slot 0, update the Communication path with 1, [Slot number of
PLC]
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 13-27
END OF EXERCISE 3
13.6.2. Exercise 4: Transfer the Application to the HMI
13.6.2.1. The Downloading Computer Settings
Before you begin the transfer process it is critical to set the downloading computer’s
default display size to 100%.
The HMI font size downloaded to the HMI will change based on the downloading
computer’s Display setting (see picture). To insure consistent HMI font sizes, all
computers used to download HMIs must have 100% as their active setting prior to
download.
To insure a proper download, close all TIA Portal windows. Click on the Start button,
Control Panel, then open the Display property window shown below, and select
100%. After that setting is correct, open the HMI project file, do a full compile, then
download.
13-28 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
2. Select Compile
3. Select Software (rebuild all) in the pull down menu.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 13-29
Figure 44: Open the Operating System Update (ProSave)
The Prosave application will launch. To test your computer and the connection
to the HMI, click on the Device status(1) button. If an error message is returned,
correct the problem. If a message that indicates that the HMI is ready for update,
click on Update OS(2) button to load the firmware.
13-30 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
13.6.2.5. Download the HMI
Check the computer’s Control Panel – Display setting prior to downloading the HMI.
The computer must be set to the default 100% prior to compiling / downloading.
Download the program to the HMI:
1. Right click on the Device,
2. Select Download to device
3. Select Software (all).
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 13-31
Figure 47: Load Preview
The Extended download to device window will display. Select Ethernet for the
Type of the PG/PC interface. Note: If Ethernet does not connect, select PN/IE.
Select your computer’s network adapter for the PG/PC interface. Click the Try
to Connect Button. The software will attempt to connect to the HMI. If a
communication error is displayed, correct the source of the error and try again.
Once communication is established, click on Load.
13-32 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
13.7. HMI User Additions
13.7.1. How to Create Tags
Many tags are already created in the core application, and many more are created
through the Message Extractor and imported into the HMI application. Still, there
may be more data that needs to be retrieved from the PLC, or potentially needs an
internal tag for HMI use only.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 13-33
Figure 49: HMI Tag Creation
If you are creating a PLC tag, you will need to set Connection to Connection_1. Then
select the data type from the drop down list. Next, set the Address of the tag. This
should be in the following format: <PLC Program Name>:<UDT Tag Name>.<UDT Tag
Name>.<Base Data Type tag Name>. An example of this would be
“HMI1:ScnCom.O.Alarm.” Next, enter the array length (if it is an individual tag enter 1).
Finally, ensure the Acquisition mode is Cyclic on Use and the Acquisition cycle is set to
500 ms for all tags but strings, which should be set to 1 second.
13-34 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
13.8. Tag Properties
13.8.1. General
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 13-35
13.8.3. Range
13-36 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
13.8.5. Values
13.8.6. Comment
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 13-37
13.8.7. Multiplexing
13-38 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
13.9. How to Create and Fill Screens
13.9.1. HMI Screen Creation
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 13-39
Note that several screens are developed and available for you to add custom screen
information. These include 030 – Servo_VFD, 040 – Barcode, 100-105 – Spare 0-5,
200 – Cell Overview, and 201-230 – Tool Overview Station 1-30. These screens
have been created, but left blank for you to develop for your custom application. Any
additional screens will have to have a method to launch the screens. The most
common way to implement this is to have a button that will launch a screen – this will
be covered under Screen Objects that follows.
13-40 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
TextFields display static text on the screen. Refer to Figure 59. IO Fields display tag
values – either internal tags or PLC tags. IO Fields will display either string or
integer based tag values. Graphic IO Fields will display a graphic or an item from a
graphic list based on the value of a tag (see Text and Graphic Lists below for more
information.) Similarly Symbolic IO Fields will display static text or a static test list
based on the value of a tag (again see Text and Graphic Lists below for more
information.) Finally, Buttons will allow you to trigger events based on a click, press,
or release of the button.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 13-41
13.10. Object Properties
For all objects there are a few common properties that are the same. To set the name
of an object click on the object, then on the Properties tab in the Properties header,
click on the Misc section. Here you can change the object name and set what layer the
object should be on. By default the layer is 0. Most objects should be on this layer.
Invisible buttons have been assigned layer 1 and tags that are on the screen only to
trigger scripts (more on this later) have been assigned layer 31. If you have several
objects overlapping one another on the screen it is recommended that you assign layer
numbers to the groups of objects that are overlapping so that you can easily turn the
layers on and off via the screen Properties header Layers section. This will make it
easier to modify the objects later if need be.
13-42 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
13.10.1. Object Appearance
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 13-43
13.10.2. Object Visibility
The Visibility section, when enabled, allows you to display or hide the object based
off of the value of a tag. Note: The Enable object section, which is only available for
objects that allow input – such as I/O fields and buttons, is set up exactly like the
visibility section. The only difference is that instead of hiding or showing the object,
the object is instead enabled or disabled for value entry.
13-44 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
13.10.3. Object Movement
The Movement sections all do roughly the same thing, just in different orientations.
When they are enabled, they allow a tag to shift the starting x and/or y position. The
range that is set up will be scaled based on the starting and ending positions to
determine the actual location of the object. Direct Movement is slightly different in
that it will allow different values for the x and y positions on a single animation, but
they are not scaled – the value of the tag will determine how far the object is shifted
with no scaling.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 13-45
13.11. System Functions
The Events header is available for tags, screens, and for objects that display data
based on tag values, such as IO Fields and Symbolic IO Fields. There are over 140
System functions that can be triggered. User written scripts can be launched, as well
(scripts will be covered below.)
Three of the more common System functions will be described in the next sections,
including:
Calculation Functions
Edit bits Functions
Screens Functions
13-46 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
If you need more information, or want information on a System function not covered in
this document, hold the mouse cursor over the System function key inside of TIA Portal
for a few seconds and a description of the function will be displayed.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 13-47
13.12. TIA Portal and GM Screen Applications
13.12.1. Finishing the Application
There are several standard screens that will require modification for your specific
application, including the:
Style Screen
Cell Overview Screen
Tool Overview Screens (any that are necessary for your application)
If any extra screens are needed, the Spare 0 through Spare 5 Screens are available
for modification and use.
13-48 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
13.12.2. Style Screen Configuration
1. Open the Style Screen, named 050 – Style. Do this by using the Project
Tab, and navigating through Device_1->Screens->050 – Style. Double-click
on 050 – Style to open the screen.
2. Navigate to the Screen Properties.
3. Turn off Layer 1 (see Figure 65). This will hide the invisible buttons over the
Style, Option, and Build Status sections and allow you to modify the objects
beneath the buttons.
4. Click on 0: No Style and modify the text in the Properties tab in the General
category. Do the same for each Style, Option, and Build Status test field.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 13-49
1. Open 200 – Cell Overview from the Project tab.
2. Also open all of the 9999 – Cell Overview Graphics screens. Refer to Figure
66 Copy any objects that you require for the Cell Overview Screen, following
the instructions listed on the 9999 screens. This will allow you to properly
place the objects and configure them. Be sure to acquire all of the
associated items for each object. Note that each robot has two images.
This is because images in TIA Portal can be rotated in 90 degree increments
only. Select the image that can be best rotated for your application. To
rotate the image, click on the screen background, go to the Properties tab,
and turn Layer 1 off. This will hide the button that opens the robot screen.
You can then select the Robot##Body_grp object and rotate it. Turn layer 1
back on once you have rotated the object, otherwise the button will not be
copied and the object will not work properly. See Figure 67.
13-50 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
Layer 1 is OFF Layer 1 is ON
Rotate robot icon
only.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 13-51
Figure 69: 9999 - Cell Overview Graphics – Panels
13-52 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
Figure 71: 9999 – Cell Power & I/O Graphics
Next open each of the 2xx – Tool Overview Station xx Screens that you will need
for your application, and the 9999 – Station Overview Graphics screens. Refer to
Figure 72 and Figure 73.
Follow the same procedure to create the Station Overview screens as you used for
the Cell Overview screen. Be sure to use the Station Overview Graphics screens
instead of the Cell Overview Graphics.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 13-53
Figure 72: Tool Overview Screen
13-54 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
13.12.4. Custom Screen Configuration
To build any custom screens that your application may require, use the 10x – Spare
x screens first as these screens can be enabled through the PLC. If more screens
are required, you will need to trigger the screen launch yourself, either in the HMI, or
through modification of the PLC program.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 13-55
13.12.5. Review
13-56 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
GCCS-2
Global Common Control Software Design
LMS # 33544
Document Version 7.0
Sponsoring Group:
Document Revisions:
Date Revision By Revision History
8-26-13 5.0 J. Hocking Updated graphics and procedures
Synchronized to G16 with Powertrain and
7-9-15 6.0 J. Hocking
EtherNet I/O
9-19-19 7.0 J. Hocking Module was 15.
This training is based on the Global Common Software Design Standards, GCCS-1.
Please refer to the GCCS-1 manual found on the “GM intranet” or
www.gmsupplypower.com. The GCCS-1 manual is comprehensive and will have the
latest information. This training manual is used as an instructional guide.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 14-1
14.2. Configuring the HMI Application for Multi-Language
After the HMI application has been fully developed, complete the following steps to
enable the application to support multiple languages in run-time mode.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 14-2
Under Language and Resources, select Project Languages and the screen will
look similar to Figure 2.
Most applications will only contain 2-3 languages with English being one of them.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 14-3
14.2.2. Selection of Languages to be Included in Runtime
Under Device_1 [TP1200 Comfort] (model used may vary), double click Runtime
settings then click Languages & Fonts and the screen will look similar to Figure 4.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 14-4
Figure 4: Selection of Languages and Fonts in Runtime
The table in Figure 4 populates based on the Project Languages selected earlier.
Select the Enable check box to include language in runtime.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 14-5
14.2.3. Selection of Flags for Each Language
Double click Project Graphics to begin flag selection. For each language, select the
Flag graphic and right click on the picture. Select Load from file (Figure 7). The flag
icons are stored in the Miscellaneous folder. Select the proper flag for each language
using this method. If the required flag is not available in the directory, obtain a .BMP
image of the flag and define the path to the image.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 14-6
Figure 7: Selection of Graphic Flags for Each Language
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 14-7
Figure 8: Unicode Echo Language Tag Change
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 14-8
Language String Code
Afrikaans af 1078
Albanian sq 1052
Arabic United Arab ar-ae 14337
Emirates
Arabic - Bahrain ar-bh 15361
Arabic - Algeria ar-dz 5121
Arabic - Egypt ar-eg 3073
Arabic - Iraq ar-iq 2049
Arabic - Jordan ar-jo 11265
Arabic - Kuwait ar-kw 13313
Arabic - Lebanon ar-lb 12289
Arabic - Libya ar-ly 4097
Arabic - Morocco ar-ma 6145
Arabic - Oman ar-om 8193
Arabic - Qatar ar-qa 16385
Arabic - Saudi Arabia ar-sa 1025
Arabic - Syria ar-sy 10241
Arabic - Tunisia ar-tn 7169
Arabic - Yemen ar-ye 9217
Armenian hy 1067
Azeri Latin az-az 1068
Azeri Cyrillic az-az 2092
Basque eu 1069
Belarusian be 1059
Bulgarian bg 1026
Catalan ca 1027
Chinese - China zh-cn 2052
Chinese - Hong Kong zh-hk 3076
S.A.R.
Chinese Macau S.A.R zh-mo 5124
Chinese - Singapore zh-sg 4100
Chinese - Taiwan zh-tw 1028
Croatian hr 1050
Czech cs 1029
Danish da 1030
Dutch The Netherlands nl-nl 1043
Dutch - Belgium nl-be 2067
English - Australia en-au 3081
English - Belize en-bz 10249
English - Canada en-ca 4105
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 14-9
Language String Code
English Carribbean en-cb 9225
English - Ireland en-ie 6153
English - Jamaica en-jm 8201
English - New Zealand en-nz 5129
English Phillippines en-ph 13321
English - South Africa en-za 7177
English - Trinidad en-tt 11273
English - United en-gb 2057
Kingdom
English - United States en-us 1033
Estonian et 1061
Farsi fa 1065
Finnish fi 1035
Faroese fo 1080
French - Canada fr-ca 3084
French - France fr-fr 1036
French - Belgium fr-be 2060
French - Luxembourg fr-lu 5132
French - Switzerland fr-ch 4108
Gaelic Ireland gd-ie 2108
Gaelic - Scotland gd 1084
German - Germany de-de 1031
German - Austria de-at 3079
German - de-li 5127
Liechtenstein
German - Luxembourg de-lu 4103
German - Switzerland de-ch 2055
Greek el 1032
Hebrew he 1037
Hindi hi 1081
Hungarian hu 1038
Icelandic is 1039
Indonesian id 1057
Italian - Italy it-it 1040
Italian - Switzerland it-ch 2064
Japanese ja 1041
Korean ko 1042
Latvian lv 1062
Lithuanian lt 1063
FYRO Macedonian mk 1071
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 14-10
Language String Code
Malay - Malaysia ms-my 1086
Malay Brunei ms-bn 2110
Maltese mt 1082
Marathi mr 1102
Norwegian - Bokmål no-no 1044
Norwegian Nynorsk no-no 2068
Polish pl 1045
Portuguese - Portugal pt-pt 2070
Portuguese - Brazil pt-br 1046
Raeto-Romance rm 1047
Romanian - Romania ro 1048
Romanian - Moldova ro-mo 2072
Russian ru 1049
Russian - Moldova ru-mo 2073
Sanskrit sa 1103
Serbian - Cyrillic sr-sp 3098
Serbian Latin sr-sp 2074
Setsuana tn 1074
Slovenian sl 1060
Slovak sk 1051
Sorbian sb 1070
Spanish - Spain es-es 1034
Spanish - Argentina es-ar 11274
Spanish - Bolivia es-bo 16394
Spanish - Chile es-cl 13322
Spanish - Colombia es-co 9226
Spanish - Costa Rica es-cr 5130
Spanish - Dominican es-do 7178
Republic
Spanish - Ecuador es-ec 12298
Spanish - Guatemala es-gt 4106
Spanish - Honduras es-hn 18442
Spanish - Mexico es-mx 2058
Spanish - Nicaragua es-ni 19466
Spanish - Panama es-pa 6154
Spanish - Peru es-pe 10250
Spanish - Puerto Rico es-pr 20490
Spanish - Paraguay es-py 15370
Spanish - El Salvador es-sv 17418
Spanish - Uruguay es-uy 14346
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 14-11
Language String Code
Spanish - Venezuela es-ve 8202
Sutu sx 1072
Swahili sw 1089
Swedish - Sweden sv-se 1053
Swedish - Finland sv-fi 2077
Tamil ta 1097
Tatar tt 1092
Thai th 1054
Turkish tr 1055
Tsonga ts 1073
Ukrainian uk 1058
Urdu ur 1056
Uzbek Cyrillic uz-uz 2115
Uzbek Latin uz-uz 1091
Vietnamese vi 1066
Xhosa xh 1076
Yiddish yi 1085
Zulu zu 1077
Figure 9: WinCC Flexible Language Codes
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 14-12
14.2.5. Translation of HMI Text
The final step that must be completed is the translation of the HMI text itself. The
HMI text includes all of the text buttons and indicators.
To do this, select Tools (1) -> Export project texts (2) -> as shown in Figure 10
below.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 14-13
Select the Source Language (1) and Target Language (2) and click Export (3).
This will create an Excel file named “ProjectTextExport.xlsx. Open this file and verify
the translation.
Once you have finished the translation, re-import the screens by selecting Tools ->
Texts -> Import project texts.
Repeat these steps for each additional language that the application needs to
support.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 14-14
14.2.6. Final Review of the Translation
When all the text has been translated, review each screen for every language and
make sure that the text fits in the areas that they are designated for. In some cases,
the text may have to be changed or abbreviated to allow it to fit into the area
provided.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 14-15
14.3. Review
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 14-16
GCCS-2
Global Common Control Software Design
LMS # 33544
Document Version 7.0
Sponsoring Group:
Document Revisions:
Date Revision By Revision History
Updated DeviceNet addressing section and
8-26-13 5.0 J. Hocking
graphics.
Synchronized to G16 with Powertrain and
7-9-15 6.0 J. Hocking
EtherNet I/O
9-19-19 7.0 J. Hocking Module was 16. Updated DeviceNet.
This training is based on the Global Common Software Design Standards, GCCS-1.
Please refer to the GCCS-1 manual found on the “GM intranet” or
www.gmsupplypower.com. The GCCS-1 manual is comprehensive and will have the
latest information. This training manual is used as an instructional guide.
Copyright Information
Copyright General Motors Company, 2019, Detroit, Michigan. All rights reserved under
U.S., International, and Universal Copyright Conventions. Published in the United
States of America. These materials may be used only with related printed materials.
In no event will the General Motors Company be responsible or liable for
incidental or consequential damages resulting from the use or application of the
materials in this manual.
The examples, diagrams, and charts in this manual are included solely for illustrative
purposes. Because of the many variables and requirements associated with any
particular safety situation, the General Motors Company expressly disclaims all
express and implied warranties relating to the materials in this manual, including
all examples, diagrams, and charts.
Reproduction of the contents of this manual, in whole or in part, without written
permission of the General Motors Company, is prohibited.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 15-1
15.2. Cell Validation Requirements
The following is a list of items that must be validated when starting up a tooling cell.
1. Ethernet System Configuration
2. Load firmware in all firmware upgradable devices
3. I/O Communications (Standard & Safe)
4. Safety System check – EStop, Perimeter, MPS
5. Robot path segment and Interference zone check.
6. Full Cell Reset (Master On – Gates Reset)
7. Manual Tool Operation from Scroll list on HMI
8. Interlocks to other cells + Transfer System
9. Validate Producer/Consumer
10. Auto Mode
A. Tryout Mode
B. With Parts
11. Interlocks to Upper Level (PMC, Tput, Ascii Echo)
12. Through-put evaluation of cell/system – modify operation for required cycle
time improvements
13. Validate tooling alarms
15-2 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
15.3.2. Setup DNB
The default node address of the DNB is set to 63 from the factory. GCCS-1 now
uses node 0 for all DeviceNet scanner modules (DNB) in Logix racks and node 1 for
all (SDN) scanner modules in CompactLogix systems.
15.3.6. Debug
Validate that all nodes are present on the Ethernet or DeviceNet screens. After all
nodes are properly configured, add them to the scan list and map the nodes.
Complete this same process for each DeviceNet DNB Scanner in the MCP. After
the configuration process is complete, use a diagnostic tool, such as the NetAlert
meter, to validate that the DeviceNet network is functioning properly.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 15-3
The Perimeter Guard can be used for light curtains or safety mats. Regardless of the
sensing device used, two redundant ‘clear’ channels are connected to a safe I/O
module within the enclosure. Confirm the module status indicators for these inputs
change state during Perimeter Guard violation. Confirm the Perimeter Guard Reset
PBLT remains off until the reset PB is pressed.
15-4 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
15.4.4. Light Curtains
Light curtain and / or safety mat safety circuits can also be found in station fixture
boxes. Safety Device #1 channel A and B are wired to the same safety module
inputs as discussed earlier. Fixture boxes may offer the option for up to three more
sets of safety devices: Safety Device #2, Safety Device #3, and Safety Device #4.
Confirm the change of state of the module status indicators for these inputs during
light curtain violation.
Inputs are also mapped to the safety data structure using the same basic tag names
- ‘XXX.I.LCYClearCh1’ and ‘XXX.I.LCYClearCh2’: where ‘XXX’ correlates to the
enclosure subscript (e.g. F1 – Fixture Box 1, LE1 – Entrance Light Curtain 1, LX2 –
Exit Light Curtain 2, etc.). ‘Y’ correlates to the safety device number (e.g. Light
Curtain #1, Safety Mat #2, etc.). Like the Perimeter Guard safety devices, these tags
are used in RIN instructions.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 15-5
15.5.3. Verify Group / Ungroup Functionality
Confirm that any scroll list line items that are ‘grouped’ can be expanded to the
correct number of line items and condensed again. With the group expanded,
manually initiate each line item.
15.5.4. Initiate Robot to Pounce and Back
Manually initiate any scroll list motion actions that send robots to the ‘Pounce’
position. Verify the ‘Undo’ pushbutton will initiate motion to return the robot from
‘Pounce’ to ‘Home’.
15.5.5. Verify Remote Actions
Verify scroll list line items for remote actions that initiate motion in remote cells, if
applicable.
15.5.6. Verify Return to Load / Unload
Confirm the return to load / unload position requests function as expected in each
station.
15.6. Software Checklist
15.6.4. Interlocks
Confirm the configuration of station-to-station and cell-to-cell interlocks, if applicable.
For cell-to-cell communication, verify that the controller heartbeat is monitored at
each end and that alarm messages are present to announce communication
interruptions.
15-6 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
15.6.5. Exercise 1: Search and Replace ‘TBD’ Bits in Logic.
Exercise is Optional if time permits.
1. Open ComTask15Exercises program in RSLogix 5000.
2. Open Cross Reference.
3. Verify the following settings:
4. Type = tag
5. Scope = controller has controller icon
6. Show = Show All
7. Name = TBD
8. Select Refresh to update cross reference or click Enter.
9. Double-click any cross reference line to navigate to the TBD bit use in the
logic.
10. Do what the @TODO rung comment tells you to do.
Note: TBD bits will require application-specific logic edits. Some examples are as
follows:
o Add conditions to Action Auto or Clear Rungs
o Add prompts for contacts in the clear rung to the action prompt rung
o Add routines to match your application where placeholders are given
11. Repeat this process until all TBD bits are replaced or removed.
END OF EXERCISE 1
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 15-7
15.7. Review
1. How is a cell started?
2. How is the safety system validated?
3. How is the functionality of the cell validated?
15-8 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
GCCS-2
Global Common Control Software Design
LMS # 33544
Document Version 7.0
Sponsoring Group:
Document Revisions:
Date Revision By Revision History
8-26-13 5.0 J. Hocking Exercise Files changed
Synchronized to G16 with Powertrain and
7-17-15 6.0 J. Hocking
EtherNet I/O
Module was 17. Updated deletion order for
9-19-19 7.0 J. Hocking
a routine and its calling JSR.
This training is based on the Global Common Software Design Standards, GCCS-1.
Please refer to the GCCS-1 manual found on the “GM intranet” or
www.gmsupplypower.com. The GCCS-1 manual is comprehensive and will have the
latest information. This training manual is used as an instructional guide.
Copyright Information
Copyright General Motors Company, 2019, Detroit, Michigan. All rights reserved under
U.S., International, and Universal Copyright Conventions. Published in the United
States of America. These materials may be used only with related printed materials.
In no event will the General Motors Company be responsible or liable for
incidental or consequential damages resulting from the use or application of the
materials in this manual.
The examples, diagrams, and charts in this manual are included solely for illustrative
purposes. Because of the many variables and requirements associated with any
particular safety situation, the General Motors Company expressly disclaims all
express and implied warranties relating to the materials in this manual, including
all examples, diagrams, and charts.
Reproduction of the contents of this manual, in whole or in part, without written
permission of the General Motors Company, is prohibited.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 16-1
16.2. Overview
Once the cell equipment and PLC have been powered up and checked out, the PLC
logic will undergo almost constant changing and updating to ensure that the equipment
controlled by the system functions as designed.
Up to and sometimes including the start of production, it is critical to maintain good
backups for the ever-changing logic files. These changes typically progress from:
Simple logic modifications in the beginning to get the tooling to function as
designed.
Later product changes which may result in tooling sequence revisions.
Tooling cycle time improvements which can result in more sequence
modifications as the start of production nears.
The intent of this module is to present some common scenarios which result in changes
to the controller logic.
16-2 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
Although Figure 2 shows the same two rungs as Figure 1, Figure 2 illustrates how two
sequence steps that execute simultaneously are separated so that one step is
dependent on the other.
The closing of ‘Clamps1’ will operate as before. The closing of ‘Clamps2’ now depends
on ‘Clamps1’ being closed first, thus altering the station tooling sequence.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 16-3
16.4.1. Adding Tooling Actions
Adding a tooling action step involves adding program tags for tooling cylinders (used
for clamps in this example) and, if necessary, additional input block tags (BK) and
pneumatic valve manifold tags (PM). Adding the proper tooling action routine to the
station program will follow.
The way tags and routines are added will depend on whether these changes are
made with the controller project online or offline. If changes are made online, a
project download to the PLC will not be necessary. The downside is that tags and
routines cannot be copied and directly pasted into the program, instead, tags will
have to be created individually. Routines must be created, but the rung logic within
can be copied and directly pasted in. On the other hand, with the project offline, tags
and routines can be directly pasted in. This method offers the added benefit of tag
descriptions carried over with the pasted tag, reducing the amount of operand
description editing. The downside is the processor will require a download to go
back online with the new program changes.
For the example considered here, Clamps1 will consist of cylinders C01, C02 and
C03. Clamps2 consists of C04 and C05. The new sequence step for Clamps3 will
consist of C06 and C07. The three clamp steps will execute sequentially.
Figure 4 shows the tags added to the station program tag list. The BK03 and PM2
tags were added because the new cylinders (C06, C07) will be tied to a new input
block and valve manifold for demonstration purposes.
16-4 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
The cylinders could have utilized spare I/O if available on existing input blocks and
pneumatic manifolds. The BK03 and PM2 tags will need to be mapped to the Local
I/O in the station program B001_MapInputs and B002_MapOutputs routines (see
GCCS-1, Module 4 for more details).
Note the data type of the Clamps3 tag. Tooling action tags for cylinders are of type
za_action. See GCCS-1a, Module 2 for more information on UDT definitions and
uses.
Figure 5 shows the view of a station’s tooling action routine list before and after a
routine is added for an additional close clamps sequence step. Sequence step
numbering is in increments of five, permitting easier step insertion later. The GeRWD
software generation process assigns the sequence step number when generating.
As shown in Figure 5, the new step is easily inserted between two existing steps without
the need to renumber the entire list of sequence steps.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 16-5
16.4.2. Removing Tooling Actions
Removing a tooling action is accomplished in a way that is very similar to adding a
tooling action, but in reverse. Consider the previous example in which a third clamp
closed sequence step was added to the two current clamp closed steps. Using this
example, the Clamps2 close step will be removed.
The Clamps3Close.Auto rung shown in Figure 6 illustrates the third clamps close
sequence will now execute based on the first clamps close being completed. Note
that the cross-hatched Clamps2Close.Comp is shown here for illustrative purposes
only. The bit is actually deleted in the logic.
16-6 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
The next step is to open the S000_Sequence routine and delete the rung containing
the JSR for the action routine deleted (see Figure 7).
Figure 8 shows the view of the program routine list before and after the deletion of
the Clamps2 close routine. Right-clicking on the routine name and selecting ‘Delete’
is all that is necessary to delete the routine.
A cross reference on the program tag for the action deleted will indicate where the tag is
still being used throughout the rest of the program. Where ever the tag is still used, it
must be revised. Once all occurrences of the action tag are removed from the program,
the tag can be deleted from the program tag list.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 16-7
16.5. Working with Alias Tags
The upcoming exercise will demonstrate how many programs are structured Alias tag
wise similarly.
16.5.1. Exercise 1
The exercise is designed to enhance your ability to create Controller Base tags and
Program Alias tags based on the tags in other station programs within the Logix project.
1. Open ComTask16_1.
2. Schedule the program KA040, currently unscheduled.
16-8 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
Figure 10: Open the Main Task Properties
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 16-9
Figure 11: The Properties Program / Phase Schedule Tab
f. Position the KA040 program between the KA030 and KA060 programs.
g. Click OK.
3. Expand the KA060 program tags and sort by the Alias For column.
16-10 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
a. Expand the KA060 program.
b. Double click to open the program tags.
c. Select the Edit Tags tab.
d. Double click the Alias For column heading to sort the tags.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 16-11
Figure 14: Selecting Alias Tags for Copy
16-12 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
6. Open KA040 Program Tags and paste in the copied tags (From KA060, in this
case).
a. Open KA040 Program Tags
b. Select the Edit Tags tab
c. Right click the New Tag Row’s selection square
d. Select Paste from the pop-up menu
Note: When copying and pasting tags always use the selection box in front of the tag or
the New Tag Row. Selecting the name cell for the paste can result in all data copied
into that one cell. You will need to delete the data and try again.
The tags that are selected in the following figure are tags that are used at the Cell level.
They will not require new Controller Tags as they Controller Tags already exist in this
project.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 16-13
Figure 17: Cell Level Controller Tags Already Exist in This Project
7. Change the Alias For column for the From1stHMI and the From2ndHMI.
a. Change Alias For From1stHMI to KA030HMI1toKA040
b. Create the Controller Tag
c. Change Alias For From2ndHMI to KA030HMI2toKA040
d. Create the Controller Tag
16-14 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
Figure 18: Change the Alias For Column
A red stop sign with an X in it appears in the select square of all tags that have an Alias
For column entry that does not have a matching tag in the project.
Figure 19: Red X Indicates that Alias For Tag Does Not Exist
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 16-15
8. Create the Controller Tags for KA030HMI1toKA040 and KA030HMI2toKA040
a. Copy an existing Controller tag and rename it, KA030HMI1toKA060 for
example.
-OR-
b. Create the tag using the zc_HMIToSta Data Type.
9. Determine which robots perform actions in the station, you can determine the
names of the robots that work in a station in two ways.
a. The first method is identifying the robot Action tags, remember each
Action routine has an Action Program Tag that represents the action.
b. In the KA040 program tags there are action tags for three different robots:
KA050R01
KA050R02
KN020R04
c. In this case the KN020R04 is part of a remote cell that is dropping its part
into the KA040 station.
16-16 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
Figure 21: Using Action Routines to Determine what Robots Act in the Station
10. The second method for determining the robots that work in the station involves
looking at the Controller Organizer Window
a. In the KA040 program there are action routines for three different robots:
KA050R01
KA050R02
KN020R04
b. KN020R04 is part of a remote cell that drops its part into the KA040
station.
See Figure 22.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 16-17
Figure 22: Find the Robots that Work in the Station using the Controller Organizer Window
11. Create station to robot tags for the 3 robots in the station.
Note: KA060, the station that we copied our tags from, had 5 robots working in the
station.
16-18 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
12. KA040 only has 3 robots working in the station. In KA040 Program Tags delete
the tags ToKA060R02 and ToKA060R05.
13. The first tag to create is the ToKA050R01 which is an Alias For
KA40ToKA050R01.
a. This tag existed in the KA060 program tags that we copied. We need to
create the controller tag now.
b. In the Alias For column for the ToKA050R01 tag type the name
KA040ToKA050R01, click enter or click another cell to accept.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 16-19
Figure 24: Type in the Alias For Controller Tag
The red stop sign with an X in it indicates that the Alias For tag does not exist
Figure 25: The Alias For does not have a Controller Tag
14. Open the Controller Tags and create the tag KA040ToKA050R01.
a. Type the tag name KA040ToKA050R01
b. Click in the Data Type cell.
16-20 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
Figure 26: Creating a Controller Tag
15. Using the popup menu select the zc_StaToRbt Data Type. Use the following
methods to select the Data Type:
a. You can begin typing the Data Type, the dialog will navigate toward the
name typed.
b. You can scroll to locate your Data Type.
c. You can also type the Data Type directly in the cell.
Alternatively, you can copy and paste any of the station to robot tags so long as they
use the same Data Type.
Important: Do Not Forget to EDIT your copied tag!
16. The completed Tag and its Controller Base Tag are shown here.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 16-21
Note: The “(C)” in the Alias For column indicates that the chosen Base Tag is a
Controller Tag.
17. Use the following table to replace the ToKA030R01 and ToKA060R01 tags:
18. Create Controller tags for the Alias For tag name.
16-22 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
Figure 29: Creating Controller Tags for the Alias For Column
When working with a GM station the sequence routines begin with an S in the prefix
followed by the three digits to organize the routine order in the Controller Organizer
Window. The first routine is the S000_Sequence. In this case it is followed by the
S010_MainCycle. The next routine is the S020_KN020R04. This routine and the
KN020R04 robot supply the part for the KA040 station.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 16-23
Figure 30: Determine the JobdataPrev and PrevStopModes
JobdataPrev is the Alias For the item that loads the part into the current station.
In this case the robot KN020R04 is the only source of a part for the KA040 station.
19. Replace the JobdataPrev Alias For with KN020R04JobData.
20. Create the controller tag for KN020R04JobData.
16-24 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
Figure 32: Adding PrevStopModes for Station KA040
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 16-25
22. Delete the entire tag Prev2StopModes, it is not needed for KA040 station.
Now consider the JobdataNext and the NextStopModes. The robot or device that takes
the part out of KA040 and places it in the KA060 station, in this case KA050R01, will be
the JobdataNext and NextStopModes.
23. Replace the Alias For with following:
Jobdata = KA040JobData
JobdataNext = KA050R01JobData
NextStopModes = KA050R01StopModes
StopModes = KA040StopModes
Create these controller tags.
After typing the tag in the Alias For column if the tag is not proceeded by the X then it
exists in the project.
24. Continue with creating the missing controller tags.
16-26 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
Figure 35: Red Stop Sign with an X in it Shows Controller Tags to Create
The Mode and the Sts tags are actually both an Alias For the same tag, a station tag, in
this case KA040.
The tags are an Alias for:
Mode = KA040.Mode
Sts = KA040.Sts.
25. Replace the KA060 with KA040 for these two tags
26. Create the KA040 Controller tag, it uses the zc_Station Data Type.
Note: Copy any station controller tag and rename it to the station KA040 tag or create a
new tag with the zc_Station Data Type.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 16-27
Figure 36: Creating the Station Tag with Mode and Sts Members
27. Replace the KA060 with KA040 for these five tags in the KA040 Program Tags:
16-28 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
Figure 37: Change the Alias For
End of Exercise 1
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 16-29
16.6. Removing a Station
A variety of tasks must be completed in order to delete a program, for example, a
station, cell, or robot. Exercise 6 will guide you through the minimum required tasks to
delete a station program.
16-30 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
6. Locate the program in the controller organizer. It should be listed under
Unscheduled Programs. Refer to Figure 40.
7. Expand the tree for Station AA075.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 16-31
Figure 40: AA075 in Controller Organizer
16-32 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
8. Notice the little “1” on the A000_Main routine. This indicates that
A000_Main is assigned to the program, as the main, and must be
unassigned. See Figure 41.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 16-33
11. Select from the pull down <none> for the “Main” under the “Assigned
Routines”. Refer to Figure 42.
11
12. Open the Program Tags for AA075, and enter the edit mode.
13. Delete all program tags for program AA075.
A. Select the selection button in front of the first row in the program tags.
B. Move to the last row.
C. Press and hold the Shift Key and select the selection button. All rows
should highlight.
D. Press Delete on the keyboard.
14. Now delete all routines.
A. Select the first routine, A000_Main.
B. Press the Delete key from the keyboard, click Yes.
C. Hold the Shift key, from the keyboard, while pressing the Delete key.
This will eliminate the “Delete the routine…” warning. Repeat until all
AA075 routines are deleted.
15. Delete the program AA075 from the Unscheduled folder.
16. Verify the I/O configuration to confirm that there are no DeviceNet Safety I/O
nodes for AA 075 station equipment (i.e. Fixture Boxes, Run Stands, etc.).
Note: Controller tags that reference the deleted program should be deleted.
END OF EXERCISE 2
16-34 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
16.7. Adding a Station
Adding a station to a running cell will involve many modifications to the PLC project.
These modifications may include revising the controller’s I/O Configuration and the
Safety Task. The controller tag list will be updated to accommodate the new station
program. Finally, the new station program will be constructed using program tags and
routines copied from other references and editing them to suit the application.
For this example, a main line station to pick up additional weld spots will be added. The
station will contain four carried weld gun robots and will have its part transfer in and out
on a skid.
16.7.1. Exercise 3: Adding a New Station (Optional)
In this exercise, a new station, AA072, is to be created between stations AA070 and
AA075. AA072 will be a four robot welding station. Additional station edits will be
applied in ComTask16Exercise4.
1. Open ComTask16Exercise3.
2. Copy station program AA070.
A. Right-click the AA070 Program.
B. Select Copy.
C. Select MainTask.
D. Right-click and choose Paste.
3. Rename AA0701 to AA072.
Note: RS Logix 5000 / Studio 5000 will always add a “1” to the end of any tag, UDT,
routine or program, that causes a collision, already exists in project.
A. Right-click AA0701 and select Properties.
B. Rename AA0701 to AA072 (located in “Name:” box on the General tab).
C. Click OK.
4. Move AA072 into position between AA070 and AA075.
A. Right-click MainTask.
B. Select Properties.
C. Select Program Schedule.
D. Locate the AA072 program in the Program Schedule (it will be last in the
list).
E. Select the AA072 program.
F. Move the AA072 program between AA070 and AA075 using the Up/Down
arrow buttons.
G. Click OK to accept your changes.
H. Verify that program AA072 now appears between AA070 and AA075.
It is necessary to modify some routines in the new AA072 program that was just
created. The AA072 station is a weld re-spot station. Therefore, there are no parts
being introduced into this station. Robots AA070R01 and AA070R02 (material
handlers) will not be used in the AA072 station being created.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 16-35
5. Delete the following routines in the AA072 program:
A. Right-click the routine S060_AA070R01Drop and choose Delete. Use
the same procedure to delete the following routines:
B. S065_AA070R02Drop
C. S070_CloseLHDockingClamps
D. S075_CloseRHDockingClamps
E. S135_AA070R01Repo
F. S140_AA070R02Repo
G. S145_OpenLHDockingClamps
H. S150_OpenRHDockingClamps
I. S160_AA070R01PrtChkClr
J. S165_AA070R02PrtChkClr
K. V100_AA070R01Common
L. V100_AA070R02Common
Routines containing robot names must be renamed to match the new station.
6. Right-click the S035_AA070R03Init routine and select Properties. In the
Name: field, enter S035_AA072R03Init. Use the same procedure to
rename the following routines:
A. S040_AA070R04Init to S040_AA072R04Init
B. S045_AA070R05Init to S045_AA072R05Init
C. S050_AA070R06Init to S050_AA072R06Init
D. S085_AA070R03Weld to S085_AA072R03Weld
E. S090_AA070R04Weld to S090_AA072R04Weld
F. S095_AA070R03Repo to S095_AA072R03Repo
G. S100_AA070R04Repo to S100_AA072R04Repo
H. S105_AA070R05Repo to S105_AA072R05Repo
I. S110_AA070R06Repo to S110_AA072R06Repo
J. S115_AA070R03WeldClr to S115_AA072R03WeldClr
K. S120_AA070R04WeldClr to S120_AA072R04WeldClr
L. S125_AA070R05WeldClr to S125_AA072R05WeldClr
M. S130_AA070R06WeldClr to S130_AA072R06WeldClr
N. V100_AA070R03Common to V100_AA072R03Common
O. V100_AA070R04Common to V100_AA072R04Common
P. V100_AA070R05Common to V100_AA072R05Common
Q. V100_AA070R06Common to V100_AA072R06Common
16-36 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
7. Verify your program AA072 routines with Figure 43.
END OF EXERCISE 3
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 16-37
16.7.2. Exercise 4: Editing a New Station (Optional)
Now that the program has been created and the routines are renamed for the new
AA072 station, some edits must be made to complete the transformation of the new
station. We will begin by editing some program tags.
1. Open ComTask16Exercise4
2. Click the + sign next to the AA072 program. This will expand the tree view
of the program.
3. Double-click the Program Tags located under the AA072 program name.
4. Select the Edit Tags tab on the bottom of the tag editor window.
5. Delete the following AA070R01 and AA070R02 za_Action tags:
A. AA070R01Drop
B. AA070R01PrtChkClr
C. AA070R01Repo
D. AA070R02Drop
E. AA070R02PrtChkClr
F. AA070R02Repo
16-38 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
6. In the AA072 Program Tags, rename the following robot za_Action tags:
A. Click the cell, in the Name column, containing AA070R03Init to enter the
tag edit mode. Rename the tag to AA072R03Init. Use the same
procedure to rename the following tags:
B. AA070R03Ret to AA072R03Ret
C. AA070R03Repo to AA072R03Repo
D. AA070R03Weld to AA072R03Weld
E. AA070R03WeldClr to AA072R03WeldClr
F. AA070R04Init to AA072R04Init
G. AA070R04Ret to AA072R04Ret
H. AA070R04Repo to AA072R04Repo
I. AA070R04Weld to AA072R04Weld
J. AA070R04WeldClr to AA072R04WeldClr
K. AA070R05Init to AA072R05Init
L. AA070R05Ret to AA072R05Ret
M. AA070R05Repo to AA072R05Repo
N. AA070R05WeldClr to AA072R05WeldClr
O. AA070R06Init to AA072R06Init
P. AA070R06Ret to AA072R06Ret
Q. AA070R06Repo to AA072R06Repo
R. AA070R06WeldClr to AA072R06WeldClr
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 16-39
In Exercise 3, several action routines were deleted to create the AA072 program.
Some of these actions or S routines contained cylinders that were moved as a result
of the action. It is necessary to delete the zp_Cylinder tags from the removed action
routines.
16-40 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
7. Use Cross Reference for Cylinders C01 – C08. Determine tags that are
unused and delete them:
A. Right-click the square button in front of the tag name that you wish to
cross reference.
B. Select Go to Cross Reference.
C. Observe the cross reference results.
If the tag is used, check the next tag.
If the tag is not used, delete it.
D. Continue Cross Referencing and deleting through all Cylinders.
Note: Four cylinders will be deleted.
Figure 46 represents the AA072 program tags edited through to Step 7.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 16-41
Many routines that contained part present logic were deleted in Exercise 3. It is
necessary to check for unused part tags and delete them as necessary.
8. Cross reference the following tags. Delete them if they are not used:
A. HingePillarLH
B. HingePillarRH
When cross referencing za_Action tags some may appear to be used. Navigating to
the uses in the logic will reveal that the use is in the S000_Sequence routine and is
in a call rung for a routine that was deleted in earlier edits.
16-42 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
10. Double-click all occurrences for each tag cross reference. This will navigate
to each use of the tag.
Tag Use
(Cross
reference)
11. Observe that the occurrences of the tag usage are in the S000_Sequence
routine and that they are used in the sequence calls for the routines that
were deleted.
12. After similar verification for the remaining tags, delete the following tags from
the AA072 program tags:
A. LHDockingClampsClose
B. LHDockingClampsOpen
C. RHDockingClampsClose
D. RHDockingClampsOpen
The unused sequence calls in the S000_Sequence will be deleted at a later time.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 16-43
13. Cross reference the tags listed below. In this case, these tags are used and
should not be deleted.
A. PinClampsClose
B. PinClampsOpen
14. Double-click the column heading for the “Alias For” column. This will sort
the tag listing in the order of the “Alias For” Column.
Many of the tags that have an “Alias For” must have it re-pointed. RS Logix will
indicate an error with a big X in front of a tag that does not have a correct alias. We
can take advantage of this to rename our “Alias For” and then later create missing
controller tags.
15. Observe that some “Alias For” entries are controller tags that reference cell
level tags. These tags will not require an update. Do not update the
following tags Alias For:
A. A1: Alias For: AA065A1(C)
B. Cell: Alias For: AA065B1Cell(C)
C. D1: Alias For: AA065B1CellD1(C)
D. FromHMI1JobData: Alias For: AA065B1HMI1JobData(C)
16. Delete the following AA072 program tags:
A. ToAA070R01
B. ToAA070R02
17. Update the “Alias For” column for the tag From1stHMI
A. Click in the “Alias For” column and edit: AA065B1HMI1toAA070 to
AA065B1HMI1toAA072
16-44 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
Figure 49: Editing the First AA072 Program Tag Alias For
B. Observe that the (C) that follows the tag name in the “Alias For” column
will disappear after the edit is complete and that there is a big X in front of
the tag. This is because a controller tag must be created. To do this:
C. Open the Controller tag editor.
D. Select the square button in front of the row that contains the controller tag
AA065B1HMI1toAA070.
E. Copy the entire row. This ensures that the datatype will be copied.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 16-45
Figure 50: Copy a Controller Tag
F. Select the new tag button to highlight the last row in the tag editor.
G. Paste the tag AA065B1HMI1toAA070, RSLogix will add a 1 at the end of
the tag. AA065B1HMI1toAA0701
H. Rename the tag:
AA065B1HMI1toAA0701 to AA065B1HMI1toAA072
I. Open the AA072 Program Tags.
J. Confirm that the tag From1stHMI has the “Alias For” equal to
AA065B1HMI1toAA072(C). Also notice the X is gone from the tag button.
18. Edit the “Alias For” column for the following tags:
Note: You may edit the Alias For the Program tags first and then create the
controller tags or complete one tag at a time as shown above. The table that follows
contains the remaining tag and “Alias For” edits required for the AA072 station.
16-46 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
Existing Tag Name New Tag Name Existing Alias For New Alias For
FromPrev FromPrev AA065ToAA070(C) AA070ToAA072
ToNext ToNext AA070ToAA075(C) AA072ToAA075
Mode Mode AA070.Mode(C) AA072.Mode
Sts Sts AA070.Sts(C) AA072.Sts
HMI HMI AA070HMI(C) AA072HMI
Jobdata Jobdata AA070JobData(C) AA072JobData
ToPrev ToPrev AA070ToAA065(C) AA072ToAA070
To1stHMI To1stHMI AA070toAA065B1HMI1(C) AA072toAA065B1HMI1
ToAA070R03 ToAA072R03 AA070toAA070R03(C) AA072toAA072R03
ToAA070R04 ToAA072R04 AA070toAA070R04(C) AA072toAA072R04
ToAA070R05 ToAA072R05 AA070toAA070R05(C) AA072toAA072R05
ToAA070R06 ToAA072R06 AA070toAA070R06(C) AA072toAA072R06
FromNext FromNext AA075ToAA070(C) AA075ToAA072
Figure 51: “Alias For” Editing Chart
19. Verify the edits to AA072 program tags as shown in Figure 52.
At this point there are several tags that do not have a controller tag to “Alias For.”
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 16-47
20. Open the Controller Tag editor.
21. Create the following controller tags:
Tag Name Alias For (controller tags) Data Type
FromPrev AA070ToAA072 zc_SKInterlockToNext
ToNext AA072ToAA075 zc_SKInterlockToNext
Mode AA072.Mode zz_StaMode*
Sts AA072.Sts zz_StaStatus*
HMI AA072HMI zc_StaHMI
Jobdata AA072JobData zc_JobData
ToPrev AA072ToAA070 zc_SKInterlockToPrev
To1stHMI AA072toAA065B1HMI1 zc_StaToHMI
FromNext AA075ToAA072 zc_SKInterlockToPrev
*Note: zz_StaMode and zz_StaStatus are members (nested UDTs) the UDT zc_Station.
A. Copy the tag AA070 in the controller tags and rename it to AA072.
B. Copy the tag AA065ToAA070 in the controller tags and rename it to
AA070ToAA072.
C. Copy the tag AA070ToAA075 in the controller tags and rename it to
AA072ToAA075.
D. Copy the tag AA070HMI in the controller tags and rename it to
AA072HMI.
E. Copy the tag AA070JobData in the controller tags and rename it to
AA072JobData.
F. Copy the tag AA070ToAA065 in the controller tags and rename it to
AA072ToAA070.
G. Copy the tag AA070ToAA065B1HMI1 in the controller tags and rename it
to AA072ToAA065B1HMI1.
H. Copy the tag AA075ToAA070 in the controller tags and rename it to
AA075ToAA072.
16-48 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
I. Open the AA072 Program tags. Verify there are no tags with the large X
in front of them. Figure 53 shows how AA072 Program Tags should look
after creating the “Alias For” controller tags.
Figure 53: AA072 Program Tags after Creating the “Alias For” Controller Tag
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 16-49
To update the “Alias For” for the PMCDSta and PMCDDFTSta tags it will be necessary
to update a UDT to accommodate the new AA072 station being added.
22. Open the AA072 Program tags.
23. Left-click the + in front of the PMCD tags to expand the view of the tags as
shown in Figure 54.
24. Click the pull down arrow and examine the main tag. The
PMCD.AA065B1Cell tag uses the uc_PMCObjectType_AA065B1Cell UDT.
See Figure 55.
16-50 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
Figure 55: PMCD Locating the UDT to Edit
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 16-51
25. Open the User Defined folder under Data Types. See Figure 56.
16-52 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
26. As shown in Figure 57, the Data Type Size (1) will indicate “???” when there
is a problem with one the data type (UDT) used by one or more members
(2), usually the UDT for a member is missing from the project. Any UDT
used by a member must exist in the Data Types\User-Defined folder (3).
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 16-53
27. Right-click the square button preceding the AA070 member.
28. Select Insert Member. See Figure 58.
16-54 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
1. Copy the AA070 member into the newly inserted row. See Figure 59.
2. Rename the Member Name and Description to AA072 for the new station.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 16-55
3. Verify that your UDT looks like Figure 60.
4. Click Apply or OK to save the updated UDT.
16-56 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
5. Open the AA072 Program tags.
6. Edit the “Alias For” column for station AA072 for the following tags, see
Figure 61:
A. PMCDSta
B. PMCDDFTSta
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 16-57
The steps taken to this point have left errors that point to routines that do not exist in the
new AA072 program. Now some corrections in the A000_Main and S000_Sequence
must be made.
7. Delete the following calls to sub routines in the A000_Main of program
AA072:
A. V100_AA070R01Common
B. V100_AA070R02Common
Delete
These routines are not used in the AA072 but were in the reference program AA070.
8. Delete the following calls (the entire rung of logic) to sub routines in the
S000_Sequence of program AA072:
A. zZ111_StartGroup (1st Input Par = 31). The robot actions that are
contained in this group are not in the AA072 program.
B. S060_AA070R01Drop
C. S065_AA070R02Drop
16-58 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
D. zZ112_EndGroup (31)
See Figure 63.
Delete
Figure 63: Delete Action Routine Calls and Group That Are Not Used.
The docking clamps are not necessary since no part is loaded into re-spot station
AA072.
9. Delete the following calls (the entire rung of logic) to sub routines in the
S000_Sequence of program AA072:
A. zZ111_StartGroup (1st Input Par = 32). The Docking Clamp actions that
are contained in this group are not in the AA072 program.
B. S070_CloseLHDockingClamps
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 16-59
C. S075_CloseRHDockingClamps
D. zZ112_EndGroup (32).
10. Delete the call to the S080_HingePillarPartPresentDwell sub routine (The
entire rung of logic) in the S000_Sequence of program AA072:
11. Delete the following calls (the entire rung of logic) to sub routines in the
S000_Sequence of program AA072:
A. zZ111_StartGroup (1st Input Par = 36). The robot actions that are
contained in this group are not in the AA072 program.
B. S135_AA070R01Repo
C. S140_AA070R02Repo
D. zZ112_EndGroup (36)
12. Delete the following calls (the entire rung of logic) to sub routines in the
S000_Sequence of program AA072:
A. zZ111_StartGroup (1st Input Par = 37). The Docking Clamp actions that
are contained in this group are not in the AA072 program.
B. S145_OpenLHDockingClamps
C. S150_OpenRHDockingClamps
D. zZ112_EndGroup (37)
13. Delete the following calls (the entire rung of logic) to sub routines in the
S000_Sequence of program AA072:
A. zZ111_StartGroup (1st Input Par = 38). The robot actions that are
contained in this group are not in the AA072 program.
B. S160_AA070R01PrtChkClr
C. S165_AA070R02 PrtChkClr
D. zZ112_EndGroup (38)
14. Edit the Message Offset to 5000
A. Open B005_Parameters in the AA072 program.
B. Update the Move Source in the Program Message Offset rung to 5000.
15. Update the Program Name (using ASCII codes)
A. Use the ASCII converter or look up the proper codes.
B. Open B005_Parameters in the AA072 program and edit the program
name as necessary.
16. Verify and save project.
END OF EXERCISE 4
16-60 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
16.7.3. Exercise 5: Adding a New Action Routine (Optional)
17. Open ComTask16Exercise5
18. Right-click on the AA070 program in the logix organizer.
19. Click New Routine.
3
2
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 16-61
4
5
7
16-62 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
24. Verify the new routine, S057_CloseClamp1, is displayed where desired in
the controller organizer, between S055 & S060 for this project.
25. Verify the new routine ladder is empty.
26. Open the S055_ClosePinClamps routine in station AA070
10
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 16-63
Figure 67: Reference Routine for Copy
Note: Using a routine from the current project will eliminate some work because some
conditioning will already be completed. If a suitable routine does not exist in the project,
then utilize a comparable routine from the unscheduled programs in the GCCS-2
RSLogix 5000 reference project. The GCCS-2 RSLogix 5000 reference project contains
the standard reference routines for all tooling action sequence steps.
27. Type Control + A on the keyboard to select all rungs. Rungs selected will
have a green box (dashed here for clarity) around the rung number as in
Figure 68.
28. Type Control + C on the keyboard to copy all rungs.
16-64 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
Figure 68: Logix Display of Selected Rungs
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 16-65
30. Right-click the end line and choose paste. The routine window should
appear with the last rung pasted as shown in Figure 69.
16-66 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
15
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 16-67
34. Copy the Tags PinClampsClose and PinClampsOpen to the clipboard.
A. Select gray box to copy all information.
35. Paste the Close and Open PinClamp tags; RSLogix will change to
PinClampsClose1 and PinClampsOpen1 to avoid a name collision.
A. Select the tag box to ensure data type and other info paste properly.
37. Edit the main description for Clamp1Close and Clamp1Open. This is a nice
new feature known as the pass – through comment from the UDT structure.
See Figure 73.
16-68 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
Figure 73: Editing the Main Description for a Tag
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 16-69
24
25
16-70 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
42. Select Input and Return Parameters:
A. First Input Par = Clamp1Close (Where the unit moves to when Do is
pressed.)
B. Second Input = Clamp1Open (Where the unit moves to when Undo is
pressed.)
C. Return Parameters = Copy in exact order the input parameters.
D. When the edits are finished, they should appear similar to Figure 75.
END OF EXERCISE 5
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 16-71
16.8. Editing an Action Routine
Regardless of the methods used to create the new action routine, the logic will require
the same changes. The first is to perform a “Search and Replace” on the action tags. A
search and replace can be performed, for example, on all text in the routine that
matches ‘PinClamps’ and replace with ‘Clamp1’, or whatever is the desired tag name.
This action completes a large portion the necessary edits but the logic now requires a
rung-by-rung analysis to ensure proper configuration. “Search and Replace” is
available only during offline edits. Ensure that the Search and Replace Find Within
scope is set to affect the desired routines with the replace function.
Item Description
1 Rung copied from an existing routine within the program.
2 Source rung from GCCS-1 reference project.
3 Finished rung after edits to form Clamp3Close.comp.
Figure 77: Close.Comp Rung Description
16-72 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
16.8.1. Exercise 6: Edits After Adding a New Routine (Optional)
1. Open ComTask16Exercise6.
2. Open S057_CloseClamp1, in the AA070 station.
3. Use Search and Replace to change PinClamps to Clamp1.
A. Select Search menu from tool bar. See Figure 78.
B. Click Replace.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 16-73
IMPORTANT: Be sure to select Find Where search scope as needed, in this case,
use ‘Current Routine’ setting.
Enter the Find What = PinClamps (what you are searching for).
Enter the Replace With = Clamp1, what you want to change to.
The Find Within button allows defining where to find the search string. All
categories selected is fine for this search.
C. Click Replace ALL.
16-74 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
4. Open the program tags for station AA070.
5. Add C09 & C10 tags.
6. Copy an existing cylinder tag.
7. Rename the copied tag (datatype should be zp_Cylinder). See Figure 80.
8. Edit the main description for tags C09 and C10. See Figure 81.
Figure 81: Editing the Main Description for Tags C09 and C10
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 16-75
9. Open AA070 CloseClamp1 routine.
10. Edit the Switch Internal rung 1.
A. Change all tags within the boxes in Figure 82 to begin with C09
B. Edit the input to BK01.I.D13
Note: To determine unused input addresses, cross reference tag BK01.I
with the scope set to the program of interest. Any used addresses should
display in the cross reference result.
C. The finished rung should look like Figure 82.
9B
16-76 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
11. Edit the Switch Internal rung 2.
A. Change tags to C10 as shown in Step 9.
B. Edit input to BK02.I.D13 as shown in Figure 83.
12. Delete any remaining switch internal rungs (C03 and C04) after the new C10
switch internal rung.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 16-77
Figure 84: CloseClamp1.Comp Rung
17. Edit the Action Auto Rung so that Clamp1 closes after PinClampsClose is
complete.
18. Ensure XIO of MainCycle.ProcComp is in the rung.
19. Add XIC of PinClampsClose.Comp.
20. Delete any unneeded operands. The finished rung should look like Figure
85.
16-78 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
21. Clamp1 will now close once PinClampsClose is complete.
22. Add AA070R05 and AA070R06 to ActionClear Rung. This allows Clamps1
to close only when these robots are clear of station AA070.
A. Add XIC of ToAA070R05.Clear.1.
B. Add XIC of ToAA070R06.Clear.1.
C. The finished rung should look like Figure 86.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 16-79
Figure 88: Action Output Power Rung
24. Verify that the Action Command and Output Internal Rungs do not require
edits. The finished rung should look like Figure 89.
16-80 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
25. Edit the output valve assignment to PM1.O.V4S14.
26. Cross-reference to determine that this valve address is not used more than
once. The finished rung should look like Figure 90.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 16-81
27. Verify the Action Memory, Action Fault, and the Scroll List Not Visible rungs
against
28. Figure 91. Usually edits are not necessary.
Figure 91: Action Close Memory, Fault and SL Not Visible Rungs
16-82 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
29. Edit the zDiagnostic Internal Enable Bypass rung.
A. Add XIO C09.BypPX2NOn.
B. Add XIO C09.BypPX2NOff.
C. Add XIO C10.BypPX2NOn.
D. Add XIO C10.BypPX2NOff.
E. Delete any unwanted operands.
The finished rung should look like Figure 92.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 16-83
30. Edit the Switch Diagnostic Rung using the following table:
16-84 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
7 5
3 4
1 2
6
Switch
Diagnostic
8
Rung
Switch 11 12
Diagnostic
Bypass
Rung
9
10
Figure 94: Switch Diagnostic Rung and Bypass Bit Rung for Cylinder C09
33. Edit the lower Switch Diagnostic Bypass Rung shown in Figure 94 using the
chart below.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 16-85
The Switch Bypass Bit rung corresponds to the Switch Diagnostic rung that precedes it.
The XIC BypSw[] needs to match:
The alarm numbers used in the Switch Diagnostic rung.
Alarm[] in the rung comment.
kalarm[] in the JSR call to the diagnostic program.
The OTE must match the switch that is being diagnosed by the alarm.
Complete similar edits for cylinder C10 Alarm and Switch Bypass Bit rungs. See
Figure 96.
Figure 96: Switch Diagnostic Rung and Bypass Bit Rung for Cylinder C10
The diagnostic rungs required cylinder tag revisions. Unique kAlarms were identified for
the fault messages. Using cross reference for ‘kAlarm’ produces a list of all kAlarms
used in the entire project, broken down by program. Scan the list of used kAlarms with
16-86 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
your eyes for this station program and select unused kAlarm numbers near the ones
used for the Pin Clamps. When multiple cylinders exist in a routine, usually also on the
same valve, the edits for diagnostic rung will be repeated for each cylinder.
34. Delete the remaining Alarm and Switch Bypass Bit rungs. (Cylinders C03
and C04).
The SL number and the scroll list text value, items A & B in Figure 97, must be unique
within the current program. In this case, the number 8 cannot be used for the scroll list
text value because it is already used in the ClosePinClamps routine in station AA070
program.
35. Update the Scroll List Configuration rung as shown in Figure 97.
A. Enter the rung comment: <SL[200]: Close Clamp1>
B. Enter the constant, 200. This constant must match the SL[] number in the
rung comment.
C. Enter Move Destination, Clamp1Close.Text.
D. Enter Move Source, KSL.Yellow.Close, this is a named constant that
represents the anticipated state of the unit at the end of the sequence
step. Yellow is used for the Work position whereas Green is used for the
Home position.
E. Enter Move Destination, Clamp1Close.Status.Type, this will hold the
value used to display sequence step status on the HMI scroll list.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 16-87
36. Choose a Prompt[ ] and kprompt[ ] number in the same manner as choosing
a kalarm. Use Prompt[231].
37. Enter Clamp1 Not Closed in the rung comment.
38. Enter motion prompts for all devices in the action clear rung as parallel
branches as shown in see Figure 98.
16-88 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
39. Match the conditions in the Output Power Prompting rung to the conditions
on the Output Power rung as shown in Figure 99.
40. The Unlatch rung verify that the tags match the routine, Clamp1Close.PB,
Clamp1Close.Prompt, and Clamp1Close.OutPwrPrompt.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 16-89
41. In Figure 101, the SL Found rung verifies that the tags match the routine,
Clamp1Close.Auto, Clamp1Close.Clear, and Clamp1Close.Comp. Note:
this rung can be adjusted to accommodate unusual sequences to obtain
proper Auto Cursor functioning.
END OF EXERCISE 6
16-90 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 16-91
16.10. Adding a Gate Box
In light of there being a few different choices for gate boxes depending on the project
and the block point that is to be used it is recommended to utilize the Unscheduled
Programs within the GCCS-2 template to configure a gate box for the project. The
boxes will be identified by the ECS number and there will be two template programs for
each ECS gate box CellGateBox and SafeGateBox. Depending on the gate box ECS
accessed the SafeGateBox will contain a routine with instruction for use in the rung
comment. Some gate boxes will also have instructions in the Cell Gate Box.
16-92 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
16.11. Adding / Removing Robot Actions
Like the examples presented in Modules 9.1-9.9, adding or removing robot actions will
involve creating or deleting tags and routines. For this example, a reposition step will be
added to a robot’s weld path. Using the previous example of the two clamp motions, the
opening sequence will be revised from all clamps opening after all welding to one set of
clamps opening during the robot’s weld path (i.e. a reposition) and then the robot
continuing to weld.
These program changes will affect the program tag list, program routine list, the
S000_Sequence routine, the clamps open routines, the robot weld routines and the
V100_RobotCommon routine.
Figure 102 provides some insight into the changes to the program structure resulting
from the newly added robot sequence step. Note that S050 now indicates the robot will
weld to a reposition location. The Clamps1 will open, the robot will continue its weld
path, followed by Clamps2 opening.
16.11.1. Adding and Modifying Tags
Before adding a tag for the new robot action step the tag used for the current robot
action step is modified. Editing the tag name in the program tag list will automatically
update the action tag names in the current robot step.
16.11.2. Adding and Modifying Routines
As shown in Figure 102 on the previous page, the S050_BG010R01WeldClr is
renamed S050_BG010R01WeldRepo. The S067_BG010R01WeldClr routine is
added to the program routine list by right-clicking on the program name and
selecting ‘New Routine…’. The new robot action is assigned a step number between
65 and 70 so, when created, it will appear between the S065_OpenClamps1 and
S070_OpenClamps2 in the routine list.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 16-93
Figure 103 provides views of the robot action tags before and after the weld action tag
was modified and the new action tag added. As mentioned above, before the new robot
action tag was added the current tag, BG010R01WeldClr, was renamed to
BG010R01WeldRepo. RSLogix 5000 automatically renames all occurrences of this tag
in the program. The new tag, BG010R01WeldClr, was then added, which happened to
be the same name of the original tag.
16-94 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
16.11.3. Modifying the S000_Sequence Routine
The S000_Sequence routine is modified in much the same way it was for adding a
tooling action step (see Module 9.6). The changes to the logic involve adding a JSR
rung to call the new robot action routine. This rung is placed between the JSR rungs
for the open Clamps1 and open Clamps2 See Figure 104 below.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 16-95
16.11.4. Modifying the S050_R01WeldRepo Routine
A robot performing a typical weld operation without a reposition will run through path
Seg[1] (pounce), Seg[50] (weld to clear), Seg[62] (clear of tool) and Seg[63] (all
clear) before returning to the ‘Home’ position.
A robot performing a typical weld operation with a clamp reposition will run a path
with the weld portion made of two additional path segments: Seg[50] (weld), Seg[51]
(clear for clamp reposition) and Seg[52] (continue weld).
Figure 105 represents the start of logic modifications to the S050_R01WeldRepo
routine (formerly the S050_R01WeldClr routine). The figure provides a before and
after view of the WeldRepo.Comp rung logic edits (see the highlighted robot
segment bits).
16-96 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
The rungs shown in Figure 106 and Figure 107 remained unchanged.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 16-97
The branch with the highlighted robot Seg[51] bit was added to the rung shown in
Figure 108 to maintain the .Clear signal while the robot transitions from Seg[50] to the
end of Seg[51] . At that point the robot motion will stop until the clamp reposition
executes.
16-98 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
The rungs shown in Figure 109 and Figure 110 remained unchanged.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 16-99
Figure 111 illustrates the changes made to the rung comment. This rung comment
contains the text of the scroll list line that will be displayed on the HMI for this robot
action sequence step.
16-100 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
The rung shown in Figure 112 and Figure 113 remained unchanged.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 16-101
Figure 114 shows the changes made to the message text for the Not Complete
prompt (see rung comment).
16-102 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
The rungs shown in Figure 115 remained unchanged.
Figure 115: HwEnable Prompt, Scroll List PB Unlatch and SL Line Found Rungs
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 16-103
16.11.5. Modifying the S065_OpenClamps1 Routine
The following examples illustrate the changes made to the open Clamps1 routine
relative to the robot request for the clamps reposition.
The rungs shown in Figure 116 represent the original Clamps1 open auto setup and
the revisions made to reposition the clamps when the robot has completed its initial
welding.
The rungs shown in Figure 117 illustrate the edits to the Clamps1 open clear setup.
16-104 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
The edits to the robot prompt driver rung shown in Figure 118 reflects the changes
made to the Clamps1.Open.Clear rung.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 16-105
16.11.6. Configuring the S067_R01WeldClr Routine
This is the new robot action routine added to the station program structure back in
Module 9.10. This routine is empty at this point. The correct logic for a ‘continue from
reposition’ robot action routine can be found in the current version of the GCCS-2
RSLogix 5000 reference project. Simply copy the routine contents and paste them
into the routine added to this program.
Once the routine logic is pasted in, the generic action tags will be revised and the
correct rung conditioning logic inserted into each rung.
The intent of the example shown in Figure 119 is to provide an idea of what a typical
rung (top rung in the example) from the reference routine looks like. Note that the
only changes to this rung were to rename the robot action tags which can be
completed using the ‘search – and – replace’ function on this routine.
The rungs shown in Figure 120 and Figure 121 are configured similar to the initial
weld action. The difference is that the .ClrSetup rung is conditioned with Clamps1
16-106 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
open rather than closed and the .Clear rung will go true when the robot has reached
the end of path Seg [51], remaining true through Seg [52].
Figure 120: Typical Set/Reset Robot WeldClr.Comp / .ProcComp & Auto Rungs
The rung comment shown in Figure 124 will be used to create the scroll list line text
for this new robot action step. The ‘Source’ of the MOV instruction in Figure 124
must be a unique number relative to this station program. For convenience, the
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 16-107
number selected for the ‘Source’ correlates to the sequence step number. This
number, when combined with this program’s message offset, will point to a specific
scroll list line text stored within the HMI.
16-108 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
Figure 123: Typical WeldClr.Out, .Mem, .Flt Rungs
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 16-109
Note that the conditioning logic for the prompt latch bits in the rung shown in
Figure 125 mimics the conditioning logic in the clear setup rungs of Figure 121.
16-110 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
Note that the prompt message number selected in rung #15 shown in Figure 126
must be unique to this station program.
Figure 126: Typical Prompt, Do /Undo and Scroll List Logic Rungs
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 16-111
16.11.7. V100_R01Common
This is the robot to station interface routine. There are minor changes necessary to
this routine to account for the new robot action step. Refer to Figure 127.
16-112 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
The highlighted portions of the rungs featured in Figure 127represent modifications
necessary to accommodate the additional robot segments resulting from the new
robot action step.
The rung shown in Figure 129 drives the bit used in the Clamps1 open clear setup.
See Figure 128 above.
The R01.Decision.0 bit is the robot decision code for general ‘continue’ commands.
The highlighted branch of the rung featured in Figure 130 was added to issue the
decision code to the robot following the clamp reposition.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 16-113
Figure 130: R01.Decision.0 Rung
16.11.8. S010_MainCycle
The rungs shown in Figure 131 were modified to ensure the .ProcComp and .Comp
bits from both robot sequence steps were present.
16-114 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
16.11.9. Removing a Robot Action
Looking back at the last section in which a robot reposition action was added to the
station tooling sequence, this section will cover what needs to be done to the station
program to remove the robot action.
Open the controller tag list. Perform a cross reference on the robot segment tags
recorded in Module 16.11.9.2. The results will show the routines where the tags are
still used. Modify these routines accordingly. Among these routines should be the
station V100_RobotCommon routine.
Robot path segment tags are used in the ‘.Clear.x’ rungs (see Figure 129). Record
any clear bits specific to the robot action being removed. Cross reference any
applicable clear tags and modify the routines where they are used accordingly.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 16-115
16.12. Adding / Removing Welding Actions
For certain situations, the procedure for adding or removing welding actions will be
similar to the revisions of the other sequence actions presented previously. There are
other situations where characteristics specific to welding actions must be considered,
that is whether the new action to be added will be for a new weld gun connected to an
existing weld controller or a new weld controller. Each one of these cases will result in
different edits to the PLC project.
16-116 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
16.12.3. Adding and Modifying Routines
Adding and modifying routines requires creating sequence routines for the program
routine list. All of the sequence routines added will require a rung with the respective
JSR added to the S000_Sequence routine.
16.12.4. Adding the New Weld Action Routines
Right-click on the station program name and select ‘New Routine…’ to create the
new sequence routines. Figure 133 provides a before (left side) and after (right
side) view of the program routine list.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 16-117
16.12.5. Modifying the S000_Sequence Routine
Figure 134 and Figure 135 feature the rungs inserted into the S000_Sequence
routine providing the JSR instructions to call the new action routines.
16-118 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
Figure 136: Typical .ToolRdy Rung
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 16-119
The highlighted branch shown in Figure 137 was added to compliment the
conditional logic in the Weld1.ToolRdy rung.
16-120 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
16.12.8. Configuring the S048_2ndWeld Routine
The S048_2ndWeld routine is one of two weld action routines added. This routine
starts out empty following its creation in Module 16.12.4. The rung contents for this
routine are copied from the current version of the GCCS-2 RSLogix 5000 reference
project.
Both of the rungs in Figure 139 required modification of the logic pasted in. In rung
#1 there were ‘TBD’ bits in each branch that were removed and all weld gun
conditioning bits were corrected with the proper tag names. The rung outputs bits
required no edits. The conditioning of rung #2 was modified for this station.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 16-121
Figure 139: Weld2 Complete and Tool Ready Rungs
16-122 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
Rung #3 conditioning logic, shown in Figure 140, as copied from reference logic
contained the ‘.Comp’ bit rather than the ‘.ProcComp’ bit. Rung #4 required the weld
gun conditioning bits be corrected with the proper tag names.
Figure 140: Weld2 Previous Process Complete and Guns Clear Rungs
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 16-123
Figure 142: Typical Prompting Driver Logic (Cont’d)
16-124 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
16.12.9. Configuring the S049_InitW2WG01 Action Routine
This is the second of two weld action routines added. The rung contents for this
routine are also copied from the current version of the GCCS-2 RSLogix 5000
reference project. Prior to any rung configuration, a ‘Search and Replace’ is
performed on all weld action tags used in the routine. As shown in the following
examples, these are the instructions assigned the W2WG01RE tags.
The only modifications required to the rungs shown in Figure 143 were the updating
of the action tags.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 16-125
In rung #3 shown in Figure 144, the W2.PrevProcComp bit replaced
W1.PrevProcComp. The Weld2.ToolRdy bit replaced the Weld1.ToolRdy bit in rung
#4. The F1.MinorPwrOn bit in rung #5 replaced a ‘TBD’ place holder. No changes
were needed in rung #6.
Figure 144: Typical 2nd Weld Init.Auto, .Clear, .OutPwr and .InitAntiRpt Rungs
16-126 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
No changes are made to the rungs shown in Figure 145.
Figure 145: Typical 2nd Weld Init.Cmd, .Out and .InitWeld Rungs
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 16-127
No changes are made to the rungs shown in Figure 146.
Changes were made to rung #15 of Figure 147 to reflect the proper scroll list line
text and number for the new weld action.
16-128 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
Figure 147: Typical 2nd Weld .Init.FLT, SL.NotVisible and SL Text Rungs
Changes to the rungs shown in Figure 148 included ensuring proper prompt
message numbers in rung #16 and the Weld2.ToolRdy and Weld2.Prompt
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 16-129
instructions in rung #17 replaced Weld1.ToolRdy and Weld1.Prompt,
respectively.
Figure 148: Typical 2nd Weld Prompt Message and Motion Prompt Rungs
16-130 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
The lower two branches for the operator light curtain were added to the rung shown
in Figure 149.
Figure 149: Typical 2nd Weld Output Power Prompt Driver Rungs
Figure 150: Typical 2nd Weld Do / Undo Unlatch and SL Found Rungs
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 16-131
16.12.10. Modifying the S050_OpenWGRetract Action Routine
The highlighted instructions shown in Figure 151 illustrate the changes made to the
WGRetract.Open.Auto, .Clear rungs.
The highlighted branch shown in Figure 152 was added for the Weld2 motion prompt
driver.
Figure 152: Typical Weld Gun Retract Motion Prompt Driver Rungs
16-132 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
16.12.11. Modifying the S063_ReturnWGSlide Action Routine
This is the second of two tooling action routines added (see Module 16.12.4 for
details about adding a tooling action). The rung shown in Figure 153 illustrates the
weld gun slide will return following process complete and the weld gun open and
clear.
Figure 154: Typical Weld Gun Valve Output and SCR .InitiateWeld Logic
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 16-133
16.12.13. Modifying the S010_MainCycle Routine
The rungs shown in Figure 155 highlight the revisions made to the process complete
and steps complete logic to account for the additional weld action.
16-134 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
16.13. Adding Weld Action – Case 2
This example will explore the program edits that need to be performed when a new weld
gun is connected to a spare SCR of an existing weld controller. The station currently
contains two weld guns connected to a SCR3 weld controller.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 16-135
16.13.2. Mapping the SCR3 I/O
To establish control of the weld controller SCR, the I/O must be mapped. When the
SCR Ethernet module was created in Module 16.14.1 the controller scope input and
output tags were created as well. These tags are mapped to the PLC control data in
the B001_MapInputs and B002_MapOutputs routines of the weld controller program.
See the GCCS-1 Standard Section 6 Hard Auto Weld Program for details on
mapping SCR I/O.
16-136 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
Figure 157: Typical SCR3 Input Mapping Configuration
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 16-137
Figure 158: Typical SCR3 Output Mapping Configuration
16-138 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
In this particular case, the highlighted program tag shown in Figure 160 was created
during the software generation process. The controller tag featured in the previous
figure is aliased to this program tag to complete this portion of the station to weld
controller interface.
The highlighted tags shown in Figure 161 represent the tags required for the new
weld action and SCR.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 16-139
The example under consideration in this section will result in one new sequence
routine added to the program routine list and a rung with the respective JSR added
to the S000_Sequence routine.
16-140 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
16.13.6. Modifying the S000_Sequence Routine
Figure 163 features the rung (#18) inserted into the S000_Sequence routine
providing the JSR instructions to call the new action routine.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 16-141
16.13.7. Modifying the S040_1stWeld Rouitne
The rung shown in
Figure 164, Figure 165, and Figure 166 illustrate the edits made to the Weld1
complete logic for the additional weld gun.
16-142 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
Figure 166: Modifications to Weld1.GunsClear Logic
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 16-143
16.13.8. Configuring the S051_InitWG03 Routine
The rung contents for this routine are copied from the current version of the GCCS-2
RSLogix 5000 reference project. Prior to any rung configuration a ‘Search and
Replace’ is performed on all weld action tags used in the routine.
The rungs shown in Figure 167 required no further changes beyond renaming the
weld action tags (except for renaming the weld controller tags for the correct SCR)
Refer to the highlighted instructions at the top of rung #1.
16-144 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
Minor edits were required to the rungs shown in Figure 168. The weld controller tag
for the highlighted instruction in rung #3 was renamed for the correct SCR. The robot
clear of tooling bit was added for this station in rung #4. The F1.MinorPwrOn bit in
rung #5 replaced a ‘TBD’ place holder. No changes were needed in rung #6.
Figure 168: Typical Weld Init.Auto, .Clear, .OutPwr and .InitAntiRpt Rungs
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 16-145
The rungs featured in Figure 169 required no additional configuration other than the
weld controller tag for the highlighted instruction in rung #9 being renamed for the
correct SCR.
16-146 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
The rungs featured in Figure 170 required no additional configuration other than the
weld controller tag for the highlighted instruction in rung #10 being renamed for the
correct SCR.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 16-147
The weld controller tag for the highlighted instruction in rung #13 was renamed
for the correct SCR.
The rung comment for rung #15 was revised for the new weld gun.
The MOV instruction for the text number in rung#15 was revised.
16-148 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
Figure 172: Typical Weld Do / Undo Prompt Message and Prompt Driver Logic
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 16-149
Figure 173: Typical PB Unlatch and SL.Found Latch Logic
Figure 174: Typical Weld Gun Valve Output and SCR .InitiateWeld Logic
16-150 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
The highlighted branches of the rungs shown in Figure 175 and Figure 176 were
added for the spare SCR commissioned for the new weld action.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 16-151
Figure 176: Typical SCR .ContactorSaver (Cont’d) and .ResetSteppers Logic
The highlighted rung branches shown in Figure 178 were added for SCR 3.
16-152 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
Figure 178: Typical SCR .WeldModeReq and .StaTryout Rungs
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 16-153
The highlighted instruction of rung #18, shown in Figure 179, was added for SCR 3.
Rung #22 was added for the new weld gun.
Figure 179: Typical SCR End of Stepper Summation Weld Gun Open Timer Logic
16-154 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
16.14. Adding Weld Action – Case 3
This example will explore the program edits that need to be performed in a situation in
which a new weld gun is connected to a new weld controller (WC02). Much of the
routine creation and modifications associated with this scenario was covered in the
previous examples. The major differences include the types of tags that need to be
created and the additional weld controller program that will be added. For convenience,
this example will build on the one used in Module 16.13.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 16-155
The tags highlighted in Figure 182 represent the new tags required for the additional
weld action.
16-156 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
The program tags and routines for this program can be copied from the GCCS-2
RSLogix 5000 reference project although they will require some configuration.
To begin, the program tags will need to be aliased to the correct controller tags.
Refer to Figure 184.
The correct ‘z33x_WS2AxSCR’ routine to use (Figure 185) will be determined by the
number of SCRs contained in the weld controller. The example used here is a single
SCR weld controller.
After the program routines are copied, the ‘A000_Main’ routine is designated the
‘main’ routine of the program by right-clicking on the program name, selecting
‘Properties’ and selecting the ‘Configuration’ tab.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 16-157
Minor edits may need to be made to the A000_Main for the correct SCR driver
routine JSR. The configuration of the B001_MapInputs and B002_MapOutputs
routines was covered in Module 16.13.2. The correct program message offset and
name is defined in the B004_Parameters routine. The last two routines are standard,
no-edit routines.
Routines added to the station program pertaining to the new weld action in this
example have been previously discussed in Modules 16.12.4 or 16.13.4.
16-158 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
16.16. Adding a Robot
Adding a robot to a running cell will involve several modifications to the PLC project.
These tasks include:
Configuring the robot Ethernet and DeviceNet I/O modules
Adding robot controller tags
Modifying the Safety Task
Creating the robot program.
Creating the robot program will require copying program tags and routines from the
GCCS-2 RSLogix 5000 reference project and editing them to suit the application.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 16-159
16.16.2. Adding the Robot DeviceNet Safety I/O
The method used to add the robot DeviceNet Safety I/O module is similar to the one
used to add the Ethernet module. In this case, a duplicate of the module at node 11
is made by:
Right-clicking on the module
Selecting ‘Copy’
Right clicking on the ‘DeviceNet’ word
Selecting ‘Paste’
Configuring the new module for the correct node number and robot name is
performed by right-clicking on the module and selecting ‘Properties’. The new
module is highlighted in Figure 187.
16-160 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
16.16.3. Adding the Robot Controller Scope Tags
Figure 188 and Figure 189 illustrate the tags added to the controller tag list for the
new robot. Note that the highlighted tags within the shaded regions were created
during the robot Ethernet and Safety I/O module configuration.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 16-161
16.16.4. Modifying the Safety Task
Updating the Safety Task for a new robot involves modifying the program tag list and
several of the routines supporting robot functionality. Refer to Figure 190, Figure
191, Figure 192, and Figure 193.
16-162 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
Figure 193: Safety Task B010_SafetyConfig Routine Modifications
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 16-163
Figure 194 highlights the modifications made to the Safety Task robot routines. The
‘R000_5Robots’ routine replaced ‘R000_4Robots’. This is the routine that calls the
individual robot routines that follow. ‘R005_Robot5’ was added for the new robot.
Note that the ‘R000_5Robots’ routine is called by ‘A000_Main’. Therefore, the rung
containing the JSR calling the former ‘R000_4Robots’ routine was modified.
16-164 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
These tags are copied from the reference project and edited per the application.
Figure 196 illustrates the robot program tag list as copied from the RSLogix 5000
reference project. Note that aliases for the ‘Cell’, ‘FromSta1’, ‘HMI’, ‘R’ and
‘TputRbtCT’ tags have been updated per this application. Also, to update the aliases
for the ‘PMCDDFTRobot’ and ‘PMCDRobot’ tags the
‘uc_PMCObjectType_BP008Cell’ UDT was revised to include the new robot.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 16-165
16.16.7. Adding the Robot Program Routines
The routines to build the robot program are copied from the GCCS-2 reference
project. After opening the reference project, it is best to expand the robot program.
Opening each routine will determine if the routine can be copied as is or if it is a
place holder directing the engineer to another area within the reference project to
obtain the routine specific to the application.
All of the routines are first assembled in the destination project and then each one is
configured as required. Of the 19 routines used to build the robot program, only six
required some form of configuration in this case.
Figure 197 represents the completed routine list for the new robot. A check of each
routine will determine any configuration necessary to the logic copied from the robot
reference program. At this point, right-click on the program name and select
‘Properties’. Select the ‘Configuration’ tab and designate the ‘A000_Main’ routine
as the program’s main routine.
16-166 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
The rungs shown in Figure 198 represent the only modifications made to the
‘A000_Main’ routine as copied from the reference program. All of these JSRs
contained generic routine names.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 16-167
The rungs shown in Figure 199 thru Figure 202 represent the rungs requiring
modifications in the ‘B001_MapInputs’ routine as copied from the reference program.
16-168 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
Figure 200: B001_MapInputs Routine Modifications (Cont’d)
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 16-169
Figure 201: B001_MapInputs Routine Modifications (Cont’d)
16-170 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
Figure 202: B001_MapInputs Routine Modifications (Cont’d)
The rungs shown in Figure 203 represent the rungs requiring modifications in the
‘B002_MapOutputs’ routine as copied from the reference program.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 16-171
The rungs shown in Figure 204 represent the rungs requiring modifications in the
‘B004_Parameters’ routine as copied from the reference program.
The rung shown in Figure 205 represents the rung requiring modifications in the
‘B010_Zones’ routine as copied from the reference program.
16-172 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
The rung shown in Figure 206 represents the rung requiring modifications in the
‘X100_PMCRobot’ routine as copied from the reference program. Also refer to
Figure 207 for more information.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 16-173
Figure 207: X100_PMCRobot Routine Modifications
16-174 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
16.17. Removing a Robot
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 16-175
16.17.2. Deleting the Robot Program
Expand the robot program tree. Right-click on each routine and select ‘Delete’.
Open the program tag list and select the ‘Edit Tags’ tab. Highlight all of the tags and
select ‘Delete’. Close the program tag list. Right-click on the robot program name
and select ‘Delete’.
16-176 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
16.18. Adding / Removing Interlocks to Other Devices
A common example of an interlock between devices is when a station within one cell
must interact with a station from another cell. This scenario will require the two cells be
interlocked so that information such as communication, mode, e-stop and interference
statuses are made available to the stations on both sides. Interlocks are actually
controller scope tags ‘produced’ by one controller and ‘consumed’ by other controller(s).
The ‘producer’ / ‘consumer’ communication takes place over the cell – to – cell Ethernet
network.
Creating an interlock between two controllers will require adding an Ethernet module to
each controller’s I/O Configuration. Custom UDTs for the ‘produced’ / ‘consumed’ tags
will be created based on the type of information shared between cells. Finally, the tags
will be mapped accordingly in each cell.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 16-177
An interlock to another controller is established by right-clicking on the ‘Ethernet’
word directly under the controller’s Ethernet module (Enet02 in the figure above) and
selecting ‘New Module’. This will open the ‘Select Module’ dialog consisting of three
categories:
Communications
HMI
Others.
Expand the ‘Communications’ tree and select the ‘1756-ENBT/A’ type module and
select ‘OK’. Refer to Figure 210.
16-178 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
Figure 211 shows the new module setup dialog that opens once the Ethernet
module type is selected. The items highlighted are filled in according to the Ethernet
module in which the interlock is being established. When the ‘OK’ button is pressed,
the module will appear in the controller I/O Configuration (see Figure 212 below).
The second part of this setup process will link the remote Ethernet module just
created to the controller in the same chassis.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 16-179
This will open the ‘Select Module’ dialog consisting of six categories:
Analog
Communications
Controllers
Digital
Other
Specialty.
Expand the ‘Controllers’ tree and select the controller type that matches the remote
PLC (in this case a 1756-L61S) and select ‘OK’.
Figure 213 shows the new module setup dialog that opens once the controller
module type is selected. The items highlighted are filled in according to the controller
in which the interlock is being established.
When the ‘OK’ button is pressed, the module will appear in the controller I/O
Configuration (see Figure 213, above, right) under the Ethernet module previous
created. Note that the modules appearing in slot 1 (Partner) and slot 2
(BC010_Enet02) were created when the controller in slot 0 was created.
This completes the I/O Configuration modifications in this controller. The controller in
which the interlock is being established will require the same edits to its I/O
Configuration before communication can begin.
16-180 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
Figure 214 shows the two tags (one standard, one safety) this controller (BB010)
‘produces’ to the interlocked controller (BC010). In this example, the station BB040
(located in this cell, BB010) will control the pick action for a robot residing in the
BC010 Cell. The UDT of the standard tag (‘BB010toBC010Interlocks’ in this
example) is a custom data structure based on the amount of interaction between the
cells. The UDT of the safety tag (‘s_BB010Interlocks’) is more standardized, typically
providing the communication and other cell safety statuses.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 16-181
After the tags are created, they must be defined as ‘produced’ in order for the
remote controller to retrieve the data from the tag structure. To access the properties
dialog of the tag begin by right clicking on the tag name in the tag list and select ‘Edit
properties’. ‘Produced’ is selected from the pull down menu for tag ‘Type:’. Pressing
the ‘Connection…’ button opens a dialog in which the maximum number of
controllers ‘consuming’ the tag data is defined. See Figure 215 below for more
details.
The ‘consumed’ tags are created in the same manner as the ‘produced’ but the tag
properties are configured differently.
16-182 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
Figure 216 shows the two tags (one standard, one safety) this controller (BB010)
‘consumes’ from the interlocked controller (BC010). Again, the UDT of the standard
tag (‘BC010toBB010Interlocks’ in this example) is a custom data structure based on
the amount of interaction between the cells. This tag contains the bits to manually
initiate the robot actions from the BC010 (remote) Cell. The UDT of the safety tag
(‘s_BC010Interlocks’) provides the same data as the ‘produced’ safety tag described
in Figure 216.
After the tags are created, they must be defined as ‘consumed’ in order to retrieve
the data from the ‘produced’ tag structure in the remote controller. To access the
properties dialog of the tag, begin by right-clicking on the tag name in the tag list and
select ‘Edit properties’. ‘Consumed’ is selected from the pull down menu for tag
‘Type:’. The ‘Connection…’ button opens a dialog to specify where to get the data for
the ‘consumed’ tag. The ‘Producer:’ pull down menu contains a list of all controllers
with an Ethernet communication connection defined in this controller’s I/O
Configuration. Simply select the remote controller from the list. The ‘Remote Data:’ is
filled in with the name of the ‘produced’ tag providing the desired data. The ‘RPI:’ is
set to 60ms for standard ‘consumed’ tag data (Note that the ‘RPI:’ is set to 30ms
for safety tag data). See Figure 217 below for more details.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 16-183
Figure 217: Tag Properties Dialog
The procedure referenced above for adding the ‘produced / consumed’ interlock tags
to this controller must be performed on the remote controller before communication
can be established.
16-184 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
16.18.3. Mapping the Consumed Tag Data
The standard ‘consumed’ tag data is mapped to controller tags in the cell and station
level programs. The safety ‘consumed’ tag data is used in the ‘C001_InterlockStatus’
routine of the cell program and the ‘B010_SafetyConfig’ routine of the cell safety
program. Refer to Figures 202 thru 208 below.
Figure 218: Typical ‘Consumed’ Tag Mapping – Cell Program, B001_MapInputs Routine
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 16-185
Figure 219: Typical Standard ‘Consumed’ Tag Mapping – Station Program, B001_MapInputs Routine
16-186 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
Figure 220: Typical Standard ‘Consumed’ Tag Mapping – Station Program, B001_MapInputs Routine (Cont’d)
Figure 221: Typical Standard ‘Consumed’ Tag Mapping – Cell Program, C001_InterlockStatus Routine
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 16-187
Figure 222: Typical Safety ‘Consumed’ Tag Data used for Communication Diagnostics – Cell Program,
C001_InterlockStatus Routine
16-188 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
Figure 223: Typical Safety ‘Consumed’ Tag Data used for Communication Diagnostics – Cell Program,
C001_InterlockStatus Routine (Cont’d)
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 16-189
Figure 224: Typical Safety ‘Consumed’ Tag Data used for E-stop Monitoring – Cell Safety Program, B010_SafetyConfig
Routine
Figure 225: Typical Standard ‘Produced’ Tag Data Mapping – Station Program, B002_MapOutputs Routine
16-190 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
Figure 226: Typical Standard ‘Produced’ Tag Data Mapping – Station Program, B002_MapOutputs Routine (Cont’d)
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 16-191
Figure 227: Typical Safety ‘Produced’ Tag Data Mapping – Cell Safety Program, B002_MapOutputs Routine
16-192 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
16.20. Adding / Removing Styles
Adding or removing job styles will require modifications to station program job data and
throughput routines. Job data transfers from stations to robots are automatic but any
throughput routines residing in robot programs will require edits.
The rungs shown in Figure 229 are typical of the ‘Jobdata.Valid’ outputs found in the
‘J001_JobDataRF’ and ‘J001_JoDataShiftReg routines, respectively. The highlighted
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 16-193
branch in rung #12 was added for the new style. The ‘High Limit’ of the LIM
instruction in rung #13 was increased to ensure the new style was included in the
range of valid styles.
The rung shown in Figure 230 is taken from the station ‘X224_TputUser’ throughput
routine. To activate this rung for the new style, an ‘AlwayOff’ bit was removed from
the top branch and the EQU instruction ‘Source B’ was assigned the number ‘9’ for
the new style.
16-194 © 2019 General Motors Company. All Rights Reserved Rev. 7.0
The rung shown in Figure 231 is taken from the robot ‘X200_TputRbtUser’
throughput routine. To activate this rung for the new style an ‘AlwayOff’ bit was
removed from the beginning of the rung and the EQU instruction ‘Source B’ was
assigned the number ‘9’ for the new style.
Rev. 7.0 © 2019 General Motors Company. All Rights Reserved 16-195
16.21. Review
1. How do you change / update a tooling sequence?
2. How do you add / remove a tooling action?
3. How do you edit an action routine?
4. How do you add a new station?
5. How do you delete a station?
16-196 © 2019 General Motors Company. All Rights Reserved Rev. 7.0