Professional Documents
Culture Documents
GCCS2MasterRev6 0
GCCS2MasterRev6 0
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, 2015, 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. 6.0 2015 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 2015 General Motors Company. All Rights Reserved Rev. 6.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. 6.0 2015 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 2015 General Motors Company. All Rights Reserved Rev. 6.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. 6.0 2015 General Motors Company. All Rights Reserved 1-5
Tag Scope Defines how visible the tag is and which routines
can access the tags 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 2015 General Motors Company. All Rights Reserved Rev. 6.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. 6.0 2015 General Motors Company. All Rights Reserved 1-7
GM GCCS-1 Common Controls Software
GM NA Blockpoint Release Schedule
GM GME Blockpoint Release Schedule
GM AP Blockpoint Release Schedule
GMNA Powertrain Blockpoint Release Schedule
GM Engineering Process Standards GEP-1
1.10. Locate the Global Ethernet e-Tools.
The Global Ethernet e-Tools are located on GM SupplyPower or Socrates. GM
SupplyPower is hosted on Covisint.com. Users must be registered. Contact your
companys Administrator or GM for registration.
1. From your internet browser type covisint.com
2. Select Automotive from Login menu.
1-8 2015 General Motors Company. All Rights Reserved Rev. 6.0
Figure 3: Covisint Login Screen
Rev. 6.0 2015 General Motors Company. All Rights Reserved 1-9
Figure 5: GM Supply Power Home Page
1-10 2015 General Motors Company. All Rights Reserved Rev. 6.0
Figure 7: GM SupplyPower Vehicle Systems Automation Standards Home Page
Rev. 6.0 2015 General Motors Company. All Rights Reserved 1-11
10. Scroll down to view the Global EtherNet eTools
11. Click the name of any desired eTOOL to begin its download.
1-12 2015 General Motors Company. All Rights Reserved Rev. 6.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. 6.0 2015 General Motors Company. All Rights Reserved 1-13
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-14 2015 General Motors Company. All Rights Reserved Rev. 6.0
2. Value counts, timers, temps
3. Record a user defined structure of digital and value events (ODD, CView,
RPM)
A PFE Logic User Guide is available from GM, for additional information contact:
Jeff Sousley, GM 810.602.8250
1.13. Project Structure
RSLogix 5000 & Studio 5000 permit multiple programs within a single RSLogix
project. Each program is similar to a stand-alone PLC. They have their own
program tags and also have access to global controller tags. Tags will be defined
later.
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. 6.0 2015 General Motors Company. All Rights Reserved 1-15
1.13.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.13.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 11.
1-16 2015 General Motors Company. All Rights Reserved Rev. 6.0
1.13.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
programs 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. 6.0 2015 General Motors Company. All Rights Reserved 1-17
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.14.3. Pass-Thru
In Figure 14, 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 14.
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-18 2015 General Motors Company. All Rights Reserved Rev. 6.0
Figure 14: Pass-Thru Description
Rev. 6.0 2015 General Motors Company. All Rights Reserved 1-19
1.15. 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-20 2015 General Motors Company. All Rights Reserved Rev. 6.0
GCCS-2
Global Common Control Software Design
LMS # 33544
Document Version 6.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, 2015, 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. 6.0 2015 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. 6.0 2015 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. 6.0 2015 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. 6.0 2015 General Motors Company. All Rights Reserved 2-4
Figure 4: Setting the Controller Naming
Rev. 6.0 2015 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. 6.0 2015 General Motors Company. All Rights Reserved 2-6
Figure 6: Selection of the Correct Controller Module to be Added
Rev. 6.0 2015 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. 6.0 2015 General Motors Company. All Rights Reserved 2-8
4. The Setup Wizard will open, Click Next.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 2-9
6. Select Install and click next.
Rev. 6.0 2015 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. 6.0 2015 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. 6.0 2015 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.
(1756-L6x, 1756-L6xS, 1756-L7x, 1756-L7xS)
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. 6.0 2015 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. 6.0 2015 General Motors Company. All Rights Reserved 2-14
2.5.5. Controller Properties Safety Tab Processor
(1756-L6x, 1756-L6xS, 1756-L7x, 1756-L7xS)
Figure 18: Controller Properties Safety Tab Select Configure Always Setting
Rev. 6.0 2015 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. 6.0 2015 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. 6.0 2015 General Motors Company. All Rights Reserved 2-17
2.5.8. DeviceNet
(1756-DNB)
Figure 22: DeviceNet Card Properties Name, Node #, Slot#, Size, Keying
Rev. 6.0 2015 General Motors Company. All Rights Reserved 2-18
Requested Packet Interval (RPI) should be set at 5 to 20ms (20ms is preferred)
for DNB modules (Figure 24).
Rev. 6.0 2015 General Motors Company. All Rights Reserved 2-19
2.5.9. 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 25).
Rev. 6.0 2015 General Motors Company. All Rights Reserved 2-20
2.5.10. 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 26).
Rev. 6.0 2015 General Motors Company. All Rights Reserved 2-21
Open the communications item and select the 1756-ENxT, specified for your
project hardware design or the facilitys Blockpoint. After selection, pick a
Revision, then fill in the data as shown in Figure 27 and Figure 28.
Figure 27: Configuring a Remote ENxT Name, Slot, Chassis, Keying, and IP
Rev. 6.0 2015 General Motors Company. All Rights Reserved 2-22
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 28: Remote ENxT Properties Definitions & Settings
Rev. 6.0 2015 General Motors Company. All Rights Reserved 2-23
Figure 29: 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. 6.0 2015 General Motors Company. All Rights Reserved 2-24
2.5.12. 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
2.5.13. Configuring a Robot for Ethernet IP Communication
Figure 31: Adding a Local Fanuc Ethernet Robot Name, IP, and Parameters
Note: Use GCCS-2 I/O configuration to determine sizes used depending on robot
version, for example Global 1, Global 2 etc. Size varies depending on the robot version
used.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 2-25
Item Description Definition
2 Description Open properties for reference Ethernet
module in the I/O Configuration of the
GCCS2 template. The description will
indicate Global and above robot
configurations. Global 1 description is
simply robot. Adjust the Size column to
coincide with actual robot used.
3 Comm Format Select Data-Int for Communication
Format.
4 IP Address Enter the IP address for the module.
Always select Unicast when it is available. Finally, set the RPI to 60ms on the
Connection tab. See Figure 33.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 2-26
2.5.14. Configuring a Block I/O Module:
Figure 34: Adding an Ethernet IP Block I/O 16 Input Name, IP, and Parameters
Set the RPI to 60ms on the Connection tab and select Use Unicast on the
Connection tab.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 2-27
2.5.15. Configuring a Camera for Ethernet IP Communications:
Rev. 6.0 2015 General Motors Company. All Rights Reserved 2-28
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
Rev. 6.0 2015 General Motors Company. All Rights Reserved 2-29
2.6.2. Pre-Defined Data Types (Advanced)
In
Figure 39 above, the Timer data type is an Advanced Pre-Defined data type and
contains multiple basic data types including BOOLs and DINTs
Rev. 6.0 2015 General Motors Company. All Rights Reserved 2-30
Module Data Type for the DNB. At the same time, an array of DINTs 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. 6.0 2015 General Motors Company. All Rights Reserved 2-31
In Figure 41 above, the first two Data Type entries are DINTs 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.
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.
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. 6.0 2015 General Motors Company. All Rights Reserved 2-32
Tags have scope which defines how visible the tag is and defines which
routines can access the tags data. There are two types of scope tags;
controller scope and program scope.
Controller scope tags can be accessed from anywhere inside the controller
and can be accessed by other controllers via producer-consumer
communication. All programs can see Controller Tags.
Program scope tags are only visible within the program in which they are
contained.
In Figure 43 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. 6.0 2015 General Motors Company. All Rights Reserved 2-33
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 44.
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 45.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 2-34
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 46.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 2-35
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 47: Adding a Controller Tag Definition Description
Rev. 6.0 2015 General Motors Company. All Rights Reserved 2-36
In Figure 48 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. 6.0 2015 General Motors Company. All Rights Reserved 2-37
In Figure 49 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 49: Cell Tag with Alias Makes the Tag Unique and Controller Scope
In Figure 50 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. 6.0 2015 General Motors Company. All Rights Reserved 2-38
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
51.
Figure 51: Do Not Modify Data Types or System Routines with a "Z" Prefix
Rev. 6.0 2015 General Motors Company. All Rights Reserved 2-39
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. 6.0 2015 General Motors Company. All Rights Reserved 2-40
Cell 2 HMIs
PFE (When Equipped)
Rev. 6.0 2015 General Motors Company. All Rights Reserved 2-41
Figure 54: Scheduled Order of the Programs to be Executed
The Program Schedule (Figure 54) can be adjusted from the Main Task
Properties Program Schedule screen as follows:
Rev. 6.0 2015 General Motors Company. All Rights Reserved 2-42
Figure 56: Unscheduled Programs
Rev. 6.0 2015 General Motors Company. All Rights Reserved 2-43
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 57.
Figure 58 shows the proper Periodic Rate setting for a Body shop Guard Logix
safety task. Use the settings in Figure 57 for your specific application.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 2-44
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 52), are organized as follows:
1. Safety Task
a. Cell 1 Safety Program
b. Cell 2 Safety Program
Rev. 6.0 2015 General Motors Company. All Rights Reserved 2-45
Figure 59: Setting the Main Routine for a Program
Rev. 6.0 2015 General Motors Company. All Rights Reserved 2-46
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 61.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 2-47
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 62: RSLogix 5000 User Interface - Definitions & Settings
In addition to the processes listed in Figure 62, 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. 6.0 2015 General Motors Company. All Rights Reserved 2-48
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 63.
c) Set the UDT Name to up_Style
Rev. 6.0 2015 General Motors Company. All Rights Reserved 2-49
Figure 64: New UDT with Members Added
Rev. 6.0 2015 General Motors Company. All Rights Reserved 2-50
5. 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
6. 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 65.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 2-51
a) Expand the new KA070Style tag by clicking on the + sign to its left.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 2-52
7. 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 67.
Figure 67: KA070Tag with DINT used for the Data Type
Rev. 6.0 2015 General Motors Company. All Rights Reserved 2-53
2.11.2. Exercise 2 Creating a Tag Alias.
This exercise demonstrates how to create a tag alias.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 2-54
4. Change the controller tag KA070Tag datatype to INT.
5. Open the controller tag database and select the Edit Tags tab. See
6. Figure 69.
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 70: Effects of Changing the Data Type of the Base Tag on the Alias Data Type
8. Save the project.
End of Exercise 2
Rev. 6.0 2015 General Motors Company. All Rights Reserved 2-55
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 71.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 2-56
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 72: Search Function - Definitions & Settings
Rev. 6.0 2015 General Motors Company. All Rights Reserved 2-57
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 73.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 2-58
Search and Replace (Figure 74) 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. 6.0 2015 General Motors Company. All Rights Reserved 2-59
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 (JSRs).
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 75).
Rev. 6.0 2015 General Motors Company. All Rights Reserved 2-60
Figure 76: 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 78 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. 6.0 2015 General Motors Company. All Rights Reserved 2-61
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.
Consumed data remains in the last state if the Producer/Consumer connection is
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. 6.0 2015 General Motors Company. All Rights Reserved 2-62
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 79. Under Type:, select Produced instead of Base.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 2-63
After selecting Produced, click the Connection button (Figure 80).
When the Connection tab appears, select the number of consumers of this tag
(Figure 81). 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. 6.0 2015 General Motors Company. All Rights Reserved 2-64
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 82. Under the selection of Type:, select Consumed instead of Base.
The data type must match between the producing controller and the consuming
controller.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 2-65
Figure 83: Consumed Tag Setting Connections
Rev. 6.0 2015 General Motors Company. All Rights Reserved 2-66
2.15. Review
Rev. 6.0 2015 General Motors Company. All Rights Reserved 2-67
GCCS-2
Global Common Control Software Design
LMS # 33544
Document Version 6.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.
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, 2015, 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. 6.0 2015 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 2015 General Motors Company. All Rights Reserved Rev. 6.0
Pushbutton / Actuator Switch / Indicator
Mech. Function
Work Load/Unload Work Load/Unload
Rev. 6.0 2015 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 2015 General Motors Company. All Rights Reserved Rev. 6.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. 6.0 2015 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 2015 General Motors Company. All Rights Reserved Rev. 6.0
3.5.1. ControlLogix Program and PLC Processor Naming
The programmable logic controller and program file naming shall use the following
format:
Rev. 6.0 2015 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 2015 General Motors Company. All Rights Reserved Rev. 6.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. 6.0 2015 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 2015 General Motors Company. All Rights Reserved Rev. 6.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 5s 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 GMIT systems
Standard system
Z
routines
B 001_ MapInputs
Example
S 010_ CloseClamp
Figure 10: Routine Naming
Where:
Prefix X is controlled by GMIT
Prefix z is controlled by Standards
For example:
B001_MapInputs
S010_CloseClamp
Rev. 6.0 2015 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 2015 General Motors Company. All Rights Reserved Rev. 6.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. 6.0 2015 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 2015 General Motors Company. All Rights Reserved Rev. 6.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. 6.0 2015 General Motors Company. All Rights Reserved 3-15
3.5.12. Exercise 1: Changing Routine and Tag Names and the Effects
on the 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 2015 General Motors Company. All Rights Reserved Rev. 6.0
3.6. Review
Rev. 6.0 2015 General Motors Company. All Rights Reserved 3-17
GCCS-2
Global Common Control Software Design
LMS # 33544
Document Version 6.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, 2015, 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. 6.0 2015 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 equipments 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
matches
Name
exists w ith EquipmentUDT
same name as type of
program. program.
Program
Station,
Name Robot, Cell,
Tags etc.
Figure 1 Programs
4-2 2015 General Motors Company. All Rights Reserved Rev. 6.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. 6.0 2015 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 2015 General Motors Company. All Rights Reserved Rev. 6.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. 6.0 2015 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 2015 General Motors Company. All Rights Reserved Rev. 6.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. 6.0 2015 General Motors Company. All Rights Reserved 4-7
4.3. Interlocks
Interlocks are necessary between skid 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 2015 General Motors Company. All Rights Reserved Rev. 6.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. 6.0 2015 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 2015 General Motors Company. All Rights Reserved Rev. 6.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. 6.0 2015 General Motors Company. All Rights Reserved 4-11
Figure 12 Custom Interlock UDT RSLogix v19 and above
4-12 2015 General Motors Company. All Rights Reserved Rev. 6.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. 6.0 2015 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 2015 General Motors Company. All Rights Reserved Rev. 6.0
4.4. Review
1. Describe how programs interact in the GCCS-2 standard?
Rev. 6.0 2015 General Motors Company. All Rights Reserved 4-15
GCCS-2
Global Common Control Software
Design
LMS # 33544
Document Version 6.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.
Rev. 6.0 2015 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 2015 General Motors Company. All Rights Reserved Rev. 6.0
5.2.1. Hard-Wired Interface
Figure 2 below identifies the hard-wired buttons and lights that are mounted below
the HMI.
Rev. 6.0 2015 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 2015 General Motors Company. All Rights Reserved Rev. 6.0
Each screen contains multiple objects such as:
Push buttons
Indicators
Message display
Lists
Global alarm banner
Rev. 6.0 2015 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 2015 General Motors Company. All Rights Reserved Rev. 6.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. 6.0 2015 General Motors Company. All Rights Reserved 5-7
Figure 6: Button Color Scheme
5-8 2015 General Motors Company. All Rights Reserved Rev. 6.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. 6.0 2015 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 2015 General Motors Company. All Rights Reserved Rev. 6.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. 6.0 2015 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 2015 General Motors Company. All Rights Reserved Rev. 6.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. 6.0 2015 General Motors Company. All Rights Reserved 5-13
Figures 16 thru 18 illustrate what occurs when different stations are selected.
5-14 2015 General Motors Company. All Rights Reserved Rev. 6.0
Figure 17: Selecting Another Station
Rev. 6.0 2015 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 2015 General Motors Company. All Rights Reserved Rev. 6.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 cant
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. 6.0 2015 General Motors Company. All Rights Reserved 5-17
5.2.8.6. DeviceNet Screen
The diagnostic screen for DeviceNet is shown in Figure 21. A description and
explanation of the screen items is shown in Figure 22.
Item Description/Explanation
Node Status This screen has the ability to show the status of 64
nodes for one scanner.
Color Code Green Everything is fine.
Yellow Safe communication fault.
Red There is a problem with that node.
Black background with white text There is a
mismatch between the processor map I/O and the
DeviceNet scanner configuration.
Next Scanner Switches to the next scanner.
Hold Fault Message Toggles from holding a single message or scrolling all
active messages in all DeviceNet networks in the local
rack.
Fault Code DeviceNet network fault code.
Fault Message DeviceNet network fault message.
Figure 22: DeviceNet Screen Definitions
5-18 2015 General Motors Company. All Rights Reserved Rev. 6.0
5.2.8.7. 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.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 5-19
Figure 25: Ethernet Screen Device Details Robot FA010R03
5-20 2015 General Motors Company. All Rights Reserved Rev. 6.0
5.2.8.8. Scroll List Screen
The scroll list screen (Figure 26) represents the available manual control. This
screens features are built by the program logic.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 5-21
5.2.8.9. 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.
5-22 2015 General Motors Company. All Rights Reserved Rev. 6.0
The GOTO DISPLAYED FAULT pushbutton (
Rev. 6.0 2015 General Motors Company. All Rights Reserved 5-23
Figure 29) 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 30.
5-24 2015 General Motors Company. All Rights Reserved Rev. 6.0
Figure 30: Cell Overview Screen Detail
Rev. 6.0 2015 General Motors Company. All Rights Reserved 5-25
5.2.8.11. 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 31.
The robots name will come from the logic program and is displayed in the yellow
text near the robot pushbutton, currently showing all zeros in Figure 32.
5-26 2015 General Motors Company. All Rights Reserved Rev. 6.0
Figure 32 Robot01_txt displays Robots 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 robots image is desired
to be on an angle. The _pb robot is used for robots requiring square rotation, see
Figure 33.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 5-27
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 34.
5-28 2015 General Motors Company. All Rights Reserved Rev. 6.0
The following Figure 35 is the Sta2_pb example.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 5-29
5.2.8.12. 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 36.
Robot maintenance functions are updated based on the selected robots. This is
described in Figure 37.
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 38.
Robot Status List Gray boxed area displays robot names and status
information.
Figure 37: Robot Screen - Definitions
The next view of the robot screen depicts a selected Robot, shown in reverse video.
5-30 2015 General Motors Company. All Rights Reserved Rev. 6.0
Figure 38: Robot Selected
Next the robot function list can be opened using the Robot Func. bottom left of the
Robot Screen.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 5-31
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 40) displays the top nine active alarms ordered by priority. The highest
priority alarms are located at the top of the screen.
5-32 2015 General Motors Company. All Rights Reserved Rev. 6.0
Figure 40: 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.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 5-33
5.2.8.14. Alarm Screen History View
The alarm maintenance history screen view (Figure 41) displays the past 100 highest
priority alarms. Alarms can be filtered by program.
5-34 2015 General Motors Company. All Rights Reserved Rev. 6.0
5.2.9. Exercise 1: Cell Overview Screen
In this exercise, you will configure the cell screen as shown in Figure 42.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 5-35
Figure 43: Display the Toolbox Menu
5-36 2015 General Motors Company. All Rights Reserved Rev. 6.0
Figure 45: Graphics View Window Inserted
Rev. 6.0 2015 General Motors Company. All Rights Reserved 5-37
9. Select the graphic from browse window, Core05Exercise1.
10. Click Open.
11. Verify the graphic desired is displayed; see Figure 48. 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 49.
5-38 2015 General Motors Company. All Rights Reserved Rev. 6.0
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 Module05Exercise1.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 49.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 5-39
5.2.10. Exercise 2: Station Overview
In this exercise, you will configure the tool screen as shown in
Figure 50.
5-40 2015 General Motors Company. All Rights Reserved Rev. 6.0
Figure 51: Enter Indicator States
F. Complete the remaining ranges. When finished, your screen should look
like Figure 52.
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.
Figure 53: Alarm Values
Rev. 6.0 2015 General Motors Company. All Rights Reserved 5-41
*C02 was completed in step 7.
8. Copy the PM1 indicator to create a BK01 indicator.
A. Click the new indicator then select the Properties tab.
B. Expand General and edit the text in the Text field as shown in
C. Figure 54.
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 56.
5-42 2015 General Motors Company. All Rights Reserved Rev. 6.0
G. Enter the range 1010-1011, see Figure 56.
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.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 5-43
Figure 57: 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.
5-44 2015 General Motors Company. All Rights Reserved Rev. 6.0
Figure 59: Exercise 2
END OF EXERCISE 2
Rev. 6.0 2015 General Motors Company. All Rights Reserved 5-45
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. What controls are on the front panel of the HMI and what are their
functions?
8. How do you navigate between screens in the HMI?
5-46 2015 General Motors Company. All Rights Reserved Rev. 6.0
GCCS-2
Global Common Control Software Design
LMS # 33544
Document Version 6.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.
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, 2015, 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. 6.0 2015 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 2015 General Motors Company. All Rights Reserved Rev. 6.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. 6.0 2015 General Motors Company. All Rights Reserved 6-3
Figure 2 Action Tag with the za_Action Data Type
6-4 2015 General Motors Company. All Rights Reserved Rev. 6.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 projects program. Typical unscheduled programs are
shown expanded in the next figure.
Rev. 6.0 2015 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 2015 General Motors Company. All Rights Reserved Rev. 6.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. 6.0 2015 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 .
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 2015 General Motors Company. All Rights Reserved Rev. 6.0
Figure 8: Selecting za_Action Datatype
Rev. 6.0 2015 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 5s. 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 2015 General Motors Company. All Rights Reserved Rev. 6.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 users 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. 6.0 2015 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 2015 General Motors Company. All Rights Reserved Rev. 6.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. 6.0 2015 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 actions .Out bit
is included on this Action Complete rung because a time delay occurs before the
sensor inputs change state. Including the reverse actions .Out bit helps
prevent equipment collisions by immediately turning off the actions .Comp bit
when the opposite action is initiated. An example of an Action Complete rung is
shown in Figure 14.
6-14 2015 General Motors Company. All Rights Reserved Rev. 6.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. 6.0 2015 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 2015 General Motors Company. All Rights Reserved Rev. 6.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. 6.0 2015 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 (e.g. pins, robot init,
etc.).
6-18 2015 General Motors Company. All Rights Reserved Rev. 6.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. 6.0 2015 General Motors Company. All Rights Reserved 6-19
6.3.9. Action Valve Output Rung
6-20 2015 General Motors Company. All Rights Reserved Rev. 6.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. 6.0 2015 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 2015 General Motors Company. All Rights Reserved Rev. 6.0
6.3.12. Action Enable Bypass Rung
The Action Enable Bypass Rung (Error! Reference source not found.) allows
bypassing 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. 6.0 2015 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 2015 General Motors Company. All Rights Reserved Rev. 6.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. 6.0 2015 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 2015 General Motors Company. All Rights Reserved Rev. 6.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
actions action is
prompting clear Diagnostic Prompt
logic programmed one time
Rev. 6.0 2015 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 2015 General Motors Company. All Rights Reserved Rev. 6.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. 6.0 2015 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 2015 General Motors Company. All Rights Reserved Rev. 6.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. 6.0 2015 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 2015 General Motors Company. All Rights Reserved Rev. 6.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. 6.0 2015 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 2015 General Motors Company. All Rights Reserved Rev. 6.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. 6.0 2015 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 2015 General Motors Company. All Rights Reserved Rev. 6.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. 6.0 2015 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 2015 General Motors Company. All Rights Reserved Rev. 6.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. 6.0 2015 General Motors Company. All Rights Reserved 6-39
6.5. Error Proofing
Error Proofing is designed to insure that all product is completed successfully as
designed. All parts must be present prior to shipping the product to the next station. All
processes must be complete prior to shipping a product to the next station.
6.5.1. Process Actions Completes
Process actions do work to (change) the part. Welding, sealing, machining, piercing,
etc... The .Comp bit is used for these actions to indicate that the step has been
attempted. The .ProcComp bit is used to determine that the work was completed.
6-40 2015 General Motors Company. All Rights Reserved Rev. 6.0
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.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 6-41
Figure 44: Work Complete Status
6-42 2015 General Motors Company. All Rights Reserved Rev. 6.0
Figure 46: Reset Process Complete Rung Comment (MainCycle)
Rev. 6.0 2015 General Motors Company. All Rights Reserved 6-43
6.6. 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.
6-44 2015 General Motors Company. All Rights Reserved Rev. 6.0
GCCS-2
Global Common Control Software
Design
LMS # 33544
Document Version 6.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
Rev. 6.0 2015 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 (Cant 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 2015 General Motors Company. All Rights Reserved Rev. 6.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, Conveyors = 1000 allows 999 prompts/alarms
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. 6.0 2015 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 2015 General Motors Company. All Rights Reserved Rev. 6.0
7.3.3. HMI Message Numbers
The HMI requires unique numbers (values).
Rev. 6.0 2015 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 1000s range. This offset is added to
each diagnostic in the program.
7-6 2015 General Motors Company. All Rights Reserved Rev. 6.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. 6.0 2015 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 welders 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 2015 General Motors Company. All Rights Reserved Rev. 6.0
If station AA030 is selected on the HMI and AA020 has the highest priority
diagnostic:
Rev. 6.0 2015 General Motors Company. All Rights Reserved 7-9
If station AA030 is selected on the HMI and all programs have equal priority.
7-10 2015 General Motors Company. All Rights Reserved Rev. 6.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. 6.0 2015 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 2015 General Motors Company. All Rights Reserved Rev. 6.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. 6.0 2015 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 2015 General Motors Company. All Rights Reserved Rev. 6.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. 6.0 2015 General Motors Company. All Rights Reserved 7-15
kDiag.Prompt.xxxx Purpose
Confirm Press DO to Confirm Prompt (yellow)
PBFeedback Pushbutton Feedback (Cant 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
kDiag.Value.xxxx Purpose
kDiag.Value.Type.xxxx
ProductionCount ProductionCount equals 1
BankCount Bank Count equals 11
ProcessVariable Process Variable equals 21
kDiag.Value.Unit.xxxx
Integer Integer equals 1
BCD BCD equals 2
REAL REAL equals 3
Figure 15: Typical Priorities for Value
7-16 2015 General Motors Company. All Rights Reserved Rev. 6.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
16).
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. 6.0 2015 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 17 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 2015 General Motors Company. All Rights Reserved Rev. 6.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 18: Categories of kHelp
Rev. 6.0 2015 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 2015 General Motors Company. All Rights Reserved Rev. 6.0
7.5. 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 HMIs 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.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 7-21
6. JSR call to the zZ_Diagnostics routine. KAlarm number must be unique
within program.
7-22 2015 General Motors Company. All Rights Reserved Rev. 6.0
Figure 23: Text List for EVs
The following rungs will result in the alarm message shown after the example.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 7-23
Figure 24: EV Example
7-24 2015 General Motors Company. All Rights Reserved Rev. 6.0
7.6. Exercise 1: Programming Alarms
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.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 7-25
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.
7-26 2015 General Motors Company. All Rights Reserved Rev. 6.0
D. Check that you have only three input parameters and zero return
parameters.
E. Update switch bypass bit rung to bits 63 and 64.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 7-27
4. The alarm numbers used in this case are already used elsewhere in this
program, verify using cross reference. Now, find another available alarm
number.
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-28 2015 General Motors Company. All Rights Reserved Rev. 6.0
Figure 29: Sorting by Column in Cross Reference Display
Rev. 6.0 2015 General Motors Company. All Rights Reserved 7-29
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-30 2015 General Motors Company. All Rights Reserved Rev. 6.0
7.7. 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. 6.0 2015 General Motors Company. All Rights Reserved 7-31
GCCS-2
Global Common Control Software Design
LMS # 33544
Document Version 6.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
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, 2015, 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. 6.0 2015 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 2015 General Motors Company. All Rights Reserved Rev. 6.0
8.2.1. Scroll List Screen
The Scroll List screen shows the selected stations 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. 6.0 2015 General Motors Company. All Rights Reserved 8-3
Figure 3: Scroll List Screen (Expand and Collapse List)
8-4 2015 General Motors Company. All Rights Reserved Rev. 6.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. 6.0 2015 General Motors Company. All Rights Reserved 8-5
Figure 5: Function List
8-6 2015 General Motors Company. All Rights Reserved Rev. 6.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. 6.0 2015 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 2015 General Motors Company. All Rights Reserved Rev. 6.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. 6.0 2015 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 2015 General Motors Company. All Rights Reserved Rev. 6.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. 6.0 2015 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 2015 General Motors Company. All Rights Reserved Rev. 6.0
Figure 14: HMI Scroll List Enable Rung (Dual HMIs)
Rev. 6.0 2015 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 2015 General Motors Company. All Rights Reserved Rev. 6.0
The parameters for Do and Undo functions are as follows:
Rev. 6.0 2015 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 2015 General Motors Company. All Rights Reserved Rev. 6.0
Figure 21: Grouping Open Actions
Rev. 6.0 2015 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 2015 General Motors Company. All Rights Reserved Rev. 6.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. 6.0 2015 General Motors Company. All Rights Reserved 8-19
8.4. Exercises:
8.4.1. 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.
1. Open the exercise project Core08Exercises.ACD in RSLogix5000.
2. Add scroll list calls to S000_ Sequence for the S045_CloseClamp2 and
S095_OpenClamp2 routines in the TP005 program.
A. Add a scroll list call rung for the S045_CloseClamp2 action to
S000_Sequence below the S040_CloseClamps1 action (use the
information presented in this module to assist you).
B. Add a scroll list call rung for the S095_OpenClamp2 action to
S000_Sequence below the S090_DisengageLocatingPin.
3. Verify and save the exercise project.
END OF EXERCISE
END OF EXERCISE
8-20 2015 General Motors Company. All Rights Reserved Rev. 6.0
8.5. 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. 6.0 2015 General Motors Company. All Rights Reserved 8-21
GCCS-2
Global Common Control Software Design
LMS # 33544
Document Version 6.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
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, 2015, 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. 6.0 2015 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 2015 General Motors Company. All Rights Reserved Rev. 6.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. 6.0 2015 General Motors Company. All Rights Reserved 9-3
9.4. Style (GRS-3)
Style Numbers (1 to 31) identify different robot paths required by the style of the part
being operated on.
Style Number (1 to 24) for Production Paths
Style Numbers (25 to 31) for Special / Maintenance Paths
The robot reads the style once when Initiate Style Program bit is ON from the
controller and the style is then echoed back to the controller.
The style numbers are detailed in Figure 3. Style numbers need to be defined for each
project.
1 Common STYLE01
2 Division #1 STYLE02
3 Division #2 STYLE03
4 Division #3 STYLE04
5 Division #4 STYLE05
9-4 2015 General Motors Company. All Rights Reserved Rev. 6.0
14 Platform #2 Division #3 STYLE14
31 Repair STYLE31
Rev. 6.0 2015 General Motors Company. All Rights Reserved 9-5
9.5. Options (GRS-3)
The option bits (A, B, and C) identify minor path variations within a given robot style
program. The robot reads options once when the Initiate Style Program bit is ON
from the controller and then the robot echoes the option bits to the controller.
9-6 2015 General Motors Company. All Rights Reserved Rev. 6.0
9.6. Path Segments (GRS-3)
The Path Segments numbers (0 to 63) 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).
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
1059 Template segments
60
Reserved
61
62 Tool Clear segment (Optional)
63 All Clear segment
Figure 4: Path Segment Definitions
Rev. 6.0 2015 General Motors Company. All Rights Reserved 9-7
Path segments 10-59 have template definitions as shown in Figure 5. 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.
9-8 2015 General Motors Company. All Rights Reserved Rev. 6.0
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 6 through Figure 10 illustrate this using a weld program example.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 9-9
Figure 7: Robot Clear of Station
9-10 2015 General Motors Company. All Rights Reserved Rev. 6.0
Figure 9: Weld Task OK Incomplete Process
Rev. 6.0 2015 General Motors Company. All Rights Reserved 9-11
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
9-12 2015 General Motors Company. All Rights Reserved Rev. 6.0
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 13.
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.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 9-13
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.
9-14 2015 General Motors Company. All Rights Reserved Rev. 6.0
9.10. Process Control Signals (GRS-3)
Some common process control signals are highlighted in Figure 16.
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 16: 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)
Rev. 6.0 2015 General Motors Company. All Rights Reserved 9-15
9.11. Status & Miscellaneous Signals
These items are shown in Figure 17.
9-16 2015 General Motors Company. All Rights Reserved Rev. 6.0
9.12. Exercise 1: Draw a Robot Path
The objectives of this exercise are to assign path segments, identify request for
continue points, and use decision codes to control the robot path.
1. Layout the robot path with segment numbers in the diagram below with the
request for continue points and decision codes for the following
operations:
Robot has a dual end-effector with a material handler (MH) and a carried gun.
Pick from either of two locations
Drop to a single location
Wait for station to clamp
Weld
Return home
Rev. 6.0 2015 General Motors Company. All Rights Reserved 9-17
9.13. 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-18 2015 General Motors Company. All Rights Reserved Rev. 6.0
GCCS-2
Global Common Control Software Design
LMS # 33544
Document Version 6.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, 2015, 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. 6.0 2015 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: 198.168.XXX.XXX with a subnet mask of
255.255.255.0.
10-2 2015 General Motors Company. All Rights Reserved Rev. 6.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
computers control panel to access the Network and Sharing Center.)
2. Click Open Network and Sharing Center.
Rev. 6.0 2015 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 2015 General Motors Company. All Rights Reserved Rev. 6.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.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 10-5
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-6 2015 General Motors Company. All Rights Reserved Rev. 6.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. 6.0 2015 General Motors Company. All Rights Reserved 10-7
4. Expand the USB driver.
10-8 2015 General Motors Company. All Rights Reserved Rev. 6.0
7. Set up the Port Configuration as follows:
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 settings with GM project
engineer.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 10-9
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-10 2015 General Motors Company. All Rights Reserved Rev. 6.0
.
4. Configure the module for Static Network Configuration.
5. Select Static under Network Configuration Type.
6. Click OK and close the ENBT Configuration.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 10-11
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-12 2015 General Motors Company. All Rights Reserved Rev. 6.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. 6.0 2015 General Motors Company. All Rights Reserved 10-13
10.5. Importing / Exporting .L5K Files
RSLogix 5000 can save and open files in two different formats; .ACD and
.L5K.
.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 19.
10-14 2015 General Motors Company. All Rights Reserved Rev. 6.0
Figure 20: Import .L5K to Generate an .ACD
The window shown in Figure 20 will display after selecting an *.L5K for import
into RSLogix 5000.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 10-15
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 22.
10-16 2015 General Motors Company. All Rights Reserved Rev. 6.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. 6.0 2015 General Motors Company. All Rights Reserved 10-17
Click Next to continue.
10-18 2015 General Motors Company. All Rights Reserved Rev. 6.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 27. Ensure that the card that is selected matches
the card type selected in Figure 25. 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. 6.0 2015 General Motors Company. All Rights Reserved 10-19
Figure 28: Available Firmware Revisions for Selected Card
10-20 2015 General Motors Company. All Rights Reserved Rev. 6.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 31. 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. 6.0 2015 General Motors Company. All Rights Reserved 10-21
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 32.
10-22 2015 General Motors Company. All Rights Reserved Rev. 6.0
Figure 33 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. 6.0 2015 General Motors Company. All Rights Reserved 10-23
Select the proper drivers as shown in Figure 34.
10-24 2015 General Motors Company. All Rights Reserved Rev. 6.0
At this time, select Set Project Path so the screen looks like
Figure 35. If the Project Path is set and must be changed, click the Clear
Project Path button then click the Set Project Path Button.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 10-25
Now, select Download to prepare for the final confirmation as shown in
Figure 36.
Figure 36 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-26 2015 General Motors Company. All Rights Reserved Rev. 6.0
In Figure 37, 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 38).
At this point, the program is in the controller and the user can begin making
changes and viewing the logic online.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 10-27
10.10. Safety Programming in RSLogix 5000
In GCCS-1, Safety Tags, Safety UDTs, 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
39.
10-28 2015 General Motors Company. All Rights Reserved Rev. 6.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 40.
Figure 40: 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 41.
Figure 41: Select Standard Tags and Matching Safety Tags for Mapping
Rev. 6.0 2015 General Motors Company. All Rights Reserved 10-29
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 users 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 42.
10-30 2015 General Motors Company. All Rights Reserved Rev. 6.0
Figure 43: 1791DS-IB12 Fill in the Proper Data as Shown
Rev. 6.0 2015 General Motors Company. All Rights Reserved 10-31
Figure 45: 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-32 2015 General Motors Company. All Rights Reserved Rev. 6.0
4. The input configuration is set to match the hardware design. An
example is shown in Figure 46.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 10-33
Figure 47 Test Output T2 and T3 Used as Standard Output
10-34 2015 General Motors Company. All Rights Reserved Rev. 6.0
Figure 48 shows the correct input configuration to match.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 10-35
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
49
5. Continue this configuration method for each safe I/O module in the
application.
10-36 2015 General Motors Company. All Rights Reserved Rev. 6.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 50.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 10-37
4. After the module is selected, fill in the appropriate data. See Figure 52.
DeviceNet is shown on the right.
Figure 53: Set the RPI Values as Appropriate for the Application
10-38 2015 General Motors Company. All Rights Reserved Rev. 6.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 54. The correct
configuration for this example is next.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 10-39
Figure 55: Safety Device Receptacles
10-40 2015 General Motors Company. All Rights Reserved Rev. 6.0
1. All input points should be of the type Single. See Figure 56.
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 56: Setting the Input Configuration Point Types and Modes
Rev. 6.0 2015 General Motors Company. All Rights Reserved 10-41
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 57.
If a pulse test output point is used on the prints, it MUST be configured on
this tab as a Pulse Test output.
10-42 2015 General Motors Company. All Rights Reserved Rev. 6.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. 6.0 2015 General Motors Company. All Rights Reserved 10-43
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 59).
10-44 2015 General Motors Company. All Rights Reserved Rev. 6.0
10.13. Exercises
10.13.1. Exercise 1: Configure RSLinx
Rev. 6.0 2015 General Motors Company. All Rights Reserved 10-45
3. Select the Configure Drivers Icon as shown in
4. Figure 63 below.
10-46 2015 General Motors Company. All Rights Reserved Rev. 6.0
7. The Ethernet Devices Driver setup procedure is summarized in Figure
65.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 10-47
10. Once the Ethernet devices driver is added, the Configure driver
Station Mapping screen will open as shown in
11. Figure 67.
10-48 2015 General Motors Company. All Rights Reserved Rev. 6.0
8. 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.
9. Repeat the Control Flash procedure outlined above to flash the
Safety Partner module (L7SP), if using revision 16.
END OF EXERCISE 2
10.13.3. Exercise 3: Download Logic File to the Processor
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.
END OF EXERCISE 3
Rev. 6.0 2015 General Motors Company. All Rights Reserved 10-49
2. From the File menu, select Save As. The Save Window will appear.
The default (the current filename) will be highlighted.
3. Below Filename, select the Save as type pull-down menu and select
RSLogix 5000 Import/Export File [*.L5K] and select Save.
4. The Exporting Progress window will appear.
5. A successful export will end with Project exported with no errors or
warnings message in the lower left corner of the main RSLogix
window.
END OF EXERCISE 4
10-50 2015 General Motors Company. All Rights Reserved Rev. 6.0
10.13.5. Exercise 5: Import a *.L5K File into RSLogix
1. Open RSLogix.
2. Select Open. The file open selection window will appear.
3. Notice that both RSLogix and *.L5K files are displayed.
4. Select the *.L5K created in Exercise 4. Click Open. The Save
Imported Project As window will open.
5. Change the Filename so that you do not overwrite the existing file.
Use Core08Exercises_a.
6. Review the lower left corner of the window is the Revision Level
setting. The From: indicates the RSLogix version utilized for the
project. The To: gives a chance to select the output revision level.
7. Click Import. The Importing status window will appear. A successful
import will end with Project imported with no errors or warnings.
message in the lower left corner of the main RSLogix window.
END OF EXERCISE 5
Rev. 6.0 2015 General Motors Company. All Rights Reserved 10-51
Figure 68: Safety I/O Page F1
10-52 2015 General Motors Company. All Rights Reserved Rev. 6.0
Figure 69: Safety I/O Page F2
Rev. 6.0 2015 General Motors Company. All Rights Reserved 10-53
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-54 2015 General Motors Company. All Rights Reserved Rev. 6.0
10.13.7. Exercise 7: Generate a Safety Network Number
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 Figure 70
Rev. 6.0 2015 General Motors Company. All Rights Reserved 10-55
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 Core08Exercises.
2. Go Online with the processor.
3. Select Program or Remote Program mode. See Figure 72.
10-56 2015 General Motors Company. All Rights Reserved Rev. 6.0
4. Click Safety Locked or Safety Unlocked. When the drop-down menu
appears, select Safety Lock/Unlock. See Figure 73.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 10-57
5. Select Safety Unlock as shown in
6. Figure 75
7. Enter the New Password and enter the Confirm New Password.
8. Click OK. Refer to Figure 75.
10-58 2015 General Motors Company. All Rights Reserved Rev. 6.0
12. Figure 77 shows a locked processor.
The final steps of locking the processor with a Safety Signature will be carried
out from the HMI.
14. From the Select screen, click the Signature Screen Button. See
Figure 79.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 10-59
Figure 79: Open the Mode Screen
15. The status of the Safety Signature is indicated here.
10-60 2015 General Motors Company. All Rights Reserved Rev. 6.0
Figure 81: Signature Screen
17. Press the Use Current PLC Signature Button.
18. After a short delay the signature status will update to [OK-Locked
Safety Signature: (the number, time and date will be displayed).
See Figure 82.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 10-61
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-62 2015 General Motors Company. All Rights Reserved Rev. 6.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. 6.0 2015 General Motors Company. All Rights Reserved 10-63
GCCS-2
Global Common Control Software Design
LMS # 33544
Document Version 6.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
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, 2015, 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. 6.0 2015 General Motors Company. All Rights Reserved 11-1
11.2. Hirschmann Octopus Switch
The global switch is a Hirschmann Octopus (See figure 15). The Octopus 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. The OCTOPUS switch comes in 8,
16, and 24 port varieties.
Standardized 4-pin-M12-D technology for the connection of terminating
equipment
Totally encapsulated design
Management via SNMP v1, v2, v3, Web GUI or TELNET
Support for auto-configuration adapter
Redundancy mechanisms such as Rapid Spanning
Access check according to IEEE 802.1X
Filter possibilities per port
Flow control with prioritization and traffic shaping
Fast commissioning according to the plug & play principle
Redundant power supply for high availability
LED display for device and network status
External signaling of alarms via signal contact
Compatible with PROFINET, EtherNet/IP, Modbus TCP etc.
The OCTOPUS switch can be mounted either on the wall or directly on the machine.
The IP 67 variants of the manageable Hirschmann switches have 8/16/24 twisted
pair ports, utilizing 4-pin-M12-D technology.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 11-3
Configures Hirschmann Octopus and MS020 Switches
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.
HiDiscovery is very helpful for this
Rev. 6.0 2015 General Motors Company. All Rights Reserved 11-5
Figure 3: Import the DCDL
5. Click Import DCDL Information on the bottom of the Read DCDL window.
6. Select the number of ports of the switch. The global trainers in the class
room are all 8 port switches.
7. Select GMT-0500 EST, Eastern US in the Time Zone Tab.
8. Type Controls Engineer in the Contact Person Tab.
9. Select 8 in the IP Range of General Purpose Network. (Add one to second
octet of the IP Address.)
Note: Item 7 and 8 are usually the only manual entry required depending on
imported DCDL completeness.
Important: If Firmware is different after clicking Yes you must select the proper
firmware for the switch to configure properly. Version (07.1.04)
Rev. 6.0 2015 General Motors Company. All Rights Reserved 11-7
Figure 6: Reset Switch Dialogs
16. Verify that the configuration was successful. You will see the dialog box
below if the information configured correctly.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 11-9
11.5. Module Review
1. When configuring the IP addresses of the workstation to the MTEC Trainer,
where are the convenience port IP addresses located?
2. What two software are used to configure a Hirschmann Octopus Switch?
3. What three different variety of ports are offered with the Hirschmann
Octopus Switch.
GCCS-2
Global Common Control Software Design
LMS # 33544
Document Version 6.0
Sponsoring Group:
Document Revisions:
Date Revision By Revision History
Updated graphics. Synchronized DeviceNet
8-26-13 5.0 J. Hocking
to consistent examples.
Synchronized to G16 with Powertrain and
7-9-15 6.0 J. Hocking
EtherNet I/O
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, 2015, 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. 6.0 2015 General Motors Company. All Rights Reserved 12-1
12.2. DeviceNet Limitations in GCCS-1
The defined baud rate for DeviceNet in GCCS-1 is 250k in all PLC applications.
Refer to the proper GM Robot Specifications for the speed of the network
between the robot and the end of arm tooling.
In GCCS-1, the DeviceNet scanner in the MCP is always assigned Node 0 or
Node 1.
DeviceNet allows for 64 total nodes on a network. However, GCCS-1 allows
fewer nodes on the network, as shown in Figure 1. These node limitations are
due to design considerations such as maximum network length, network
troubleshooting, cumulative drop length, and available bandwidth.
12-2 2015 General Motors Company. All Rights Reserved Rev. 6.0
12.3. EDS Files for DeviceNet Devices
Each type of DeviceNet device requires an EDS file registered in RSNetworx to work
properly. EDS files are simple text files used by network configuration tools such as
RSNetworx to help identify products and easily commission them on a network. EDS
files describe a product's device type, product revision, and configurable parameters on
a DeviceNet network. Allen Bradley devices are already registered with RSNetworx by
default. EDS files for the devices typically used by GM MAAC are included with each
GCCS-1 release in the Software directory.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 12-3
Item Description Definition
1 EDS Wizard Select the EDS Wizard from the Tools menu.
2 Welcome Screen Read Wizard tasks and click Next.
3 Register an EDS Select to register a single EDS file or a directory of
file(s) EDS files.
4 Next Proceed with the option selected.
Figure 3: Register an EDS File Descriptions & Definitions
12-4 2015 General Motors Company. All Rights Reserved Rev. 6.0
Figure 6: EDS File Installation Test Results
From the EDS File Installation Test Results screen, click Next to continue.
To change the icon, if required, click the desired file in the installation results list.
Then click Next to change to a different icon.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 12-5
Figure 8: Change Graphic Image
12-6 2015 General Motors Company. All Rights Reserved Rev. 6.0
Figure 10: Select a New Graphic Image (Icon)
Rev. 6.0 2015 General Motors Company. All Rights Reserved 12-7
Figure 12: EDS Wizard is Complete
Note: EDS files need only be registered once per computer. RSNetworx will
automatically recognize the devices the next time it is used.
The graphic image (icon) representing the device can be changed from the EDS
Wizard as a separate task or while registering the EDS file for a single device.
12-8 2015 General Motors Company. All Rights Reserved Rev. 6.0
12.4. Creating an RSNetworx .DNT Configuration File
1. Begin by opening RSNetworx for DeviceNet.
2. Click the Online button, when working from a new file or to use the current
Online path.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 12-9
3
6. Click on the DeviceNet Network that is under the desired scanner module.
7. Click OK.
12-10 2015 General Motors Company. All Rights Reserved Rev. 6.0
6
Rev. 6.0 2015 General Motors Company. All Rights Reserved 12-11
1
2
3
12-12 2015 General Motors Company. All Rights Reserved Rev. 6.0
RSNetworx will scan all of the nodes on the network as shown in Figure 20 and
display them on the screen. If a node is not displayed on the screen, it may be
set with a duplicate address or it may be set with an incorrect baud rate. Devices
with node addresses that are software configured only must be connected to the
network one-at-a-time until the addresses have been set.
Important: Verify against the drawing that all nodes in the network are
represented in the completed online scan.
Once the network scan has been started a *.dnt network file can be saved. As
configuration of the network continues, the file can be saved again at any time.
Use the following procedure to save a *.dnt file:
1. Click File.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 12-13
2. Click Save. See Figure 21.
BA_AB030B01DNet06
12-14 2015 General Motors Company. All Rights Reserved Rev. 6.0
4. Click Save. See Figure 23.
3 4
Rev. 6.0 2015 General Motors Company. All Rights Reserved 12-15
12.5. Configuring a Device
Certain devices may need to be configured inside RSNetworx. The Siemens ET200S
Point IO module is a flexible I/O module that consists of a communication module and a
variable amount of input and output cards.
12-16 2015 General Motors Company. All Rights Reserved Rev. 6.0
1 2 3
Rev. 6.0 2015 General Motors Company. All Rights Reserved 12-17
1
2
3
12-18 2015 General Motors Company. All Rights Reserved Rev. 6.0
Important: Always ensure the module is in Auto Config Mode and the I/O Status Byte
is Enabled. Write down the Data Input Size (Item 1) and the Data Output Size (Item 2)
as shown in
Figure 28. The data sizes are used in the mapping of the device into the scanner since
the .EDS file is generic. Note that the I/O size will vary with the quantity of I/O
connected to the adapter module.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 12-19
Figure 31: Accessing Scanner Properties - Descriptions & Definitions
Selecting the Scanlist, Input, or Output tabs will produce the Upload/Download decision
prompt as shown in Figure 34.
12-20 2015 General Motors Company. All Rights Reserved Rev. 6.0
Important: When configuring a new network, like this example, the Scanlist is not
configured in RSNetworx so the proper selection is to always Upload from the DNB.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 12-21
Figure 35: Move Devices from Available Devices to Scanlist
12-22 2015 General Motors Company. All Rights Reserved Rev. 6.0
.
Most devices will be configured automatically when they are added to the Scanlist
because the .EDS file contains the correct info for RSLinx to determine parameters and
settings. Any modules that were configured in Module 12.5 will also have to be
configured at this point before mapping the I/O. After adding the devices to the Scanlist,
highlight the specific device and select the Edit I/O Parameters button as shown in
Figure 38.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 12-23
Figure 38: Changing the I/O Parameters for a Configurable Device
12-24 2015 General Motors Company. All Rights Reserved Rev. 6.0
As illustrated in Figure 39, the user can input the data that was written down for the
specific device in Module 12.5. The reason this information has to be input like this is
that the .EDS file for a device such as the Siemens ET200S is generic and does not
comprehend the number of input and output cards that have been added to it in the final
configuration.
After all of the configurable nodes have the correct I/O settings, map the scanner.
In Figure 40, all of the devices are now being scanned by the DNB but the mapping of
the actual I/O is not yet complete. Continue by selecting the Input tab. Each device
that contains input data is shown.
The top node window shows each device: Type of connection (polled or Change of
State (COS)), Size (in bytes), and Mapping of the current location in the DNB.
Node 10 is a Change of State Node; 3 bytes of Input data are required, and it is not
currently mapped to any real I/O in the DNB.
The easiest way to map the data for each node is to adjust the Start DWord to Node
number x 2 and click the AutoMap button. Note that this AutoMap button is different
from the AutoMap on Add checkbox on the Scanlist.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 12-25
Figure 41: Using AutoMap to Map the I/O for Each DNB Node
In Figure 41 above, Node 10 has been properly mapped into the DNB starting at word
20 in the DNB. In RSLogix 5000, the I/O for Node 10 on a DNB in slot 6 can now be
found at Local:6:I.Data[20]. Continue this same technique for each node in the Inputs
and Outputs until all devices have been correctly mapped.
In Figure 41, it is important to understand that using the Node number x 2 method
allows only 8 bytes in the mapping for each device. If a device contains more than 8
12-26 2015 General Motors Company. All Rights Reserved Rev. 6.0
bytes (e.g. RF tag reader/writer) of data, it will utilize the data table area reserved for the
next node. Therefore, that node cannot be used by another device.
Example:
Node 10 contains 24 Bytes of Input Data. When it is mapped starting with word 20, the
data will use up a total of 6-32 bit DNB words, ending at word 25. There cannot be a
Node 11 or 12 on this network since the data location is already being used by Node 10
(Node 11 would have used word 22 and node 12 would have started at word 24).
Rev. 6.0 2015 General Motors Company. All Rights Reserved 12-27
12.8. Uploading Parameters from a Device
Most nodes will not need individual configuration in RSNetworx. Examples of nodes
that do not need to be configured individually are Safe Nodes (these are configured
inside RSLogix), Prox Blocks, and Valve Stacks.
After double-clicking on a node that has configurable settings, there will be a prompt to
upload, download, or cancel as shown in Figure 44.
Uploading from a node brings the current configuration from the node into the
RSNetworx software. This is preferred at this point in the configuration since the data in
RSNetworx may not be up to date. After a network is completely set up, individual
nodes can be replaced and downloaded from the saved settings in RSNetworxs.
12-28 2015 General Motors Company. All Rights Reserved Rev. 6.0
12.9. Uploading the Entire Network
Before saving the RSNetworx file, it is important to upload all settings from all of the
devices on the Network. This ensures the offline file contains all of the necessary data
to rebuild the network in the event of a device failure. While online, select Network,
then select Upload from Network.
After the network upload has been completed, save it to the computer as a .DNT file.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 12-29
12.10. Replacing a Node on the DeviceNet Network
Most DeviceNet nodes can be replaced by simply setting the new node to the same
address and baud rate and plugging it in. In the case of intelligent DeviceNet nodes,
the configuration may have to be downloaded to the device from within RSNetworx for
DeviceNet. Safe nodes receive their configuration from the processor and generally will
not have to be downloaded.
12-30 2015 General Motors Company. All Rights Reserved Rev. 6.0
12.12. Troubleshooting a DeviceNet Network
It is important to remember that DeviceNet is a communication network that contains
traffic on the CAN-H and CAN-L wires. Network traffic can be hard to diagnose without
the proper tools.
There are software based tools available that are good at providing the user with
information on the packets of data out on the network. The Net Meter shown below is
the size of a multi-meter, and can be plugged passively into a DeviceNet network to
diagnose issues and take measurements.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 12-31
different measurements available at that particular switch position.
A description of the network errors that the NetMeter can help detect is given in the
following sections.
Figure 48: Example DeviceNet Network with Bus-Off Condition or Error Traffic
Begin isolating the trouble node or network section by moving the terminating
resistors to the scanner on the network. Then cycle the network by removing
and re-inserting the DNB in the chassis.
12-32 2015 General Motors Company. All Rights Reserved Rev. 6.0
TR TR
TR
Rev. 6.0 2015 General Motors Company. All Rights Reserved 12-33
TR
In Figure 51 above, the terminator has been moved out to the first tee in the
problem half of the network. If the meter indicates a problem at this point, the
problem is caused by one of the devices on this tee. In the example network, the
problem is still further downstream, so the meter will still be showing no errors.
Now move the terminator downstream to the next tee.
TR
12-34 2015 General Motors Company. All Rights Reserved Rev. 6.0
12.12.2. Bus Traffic
The NetMeter can monitor the message traffic on the network and identify the
amount of bandwidth that is being consumed. Networks in GCCS-1 should be
designed with a maximum bandwidth usage of 80% to allow for future changes or
upgrades to the network that may consume additional bandwidth. Note that
bandwidth usage can be a deceptive number.
DeviceNet will always poll the network as fast as it can for the baud rate. On a
network with all standard nodes, the bandwidth will eventually level out and the
polling time will slow significantly. Safe Nodes are a higher priority than standard
nodes and will preempt the communication of standard nodes. This can
potentially slow down communication to the standard nodes.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 12-35
12.12.4. Shield Voltage
The NetMeter can measure live, minimum, and maximum voltages between V- and
shield. The DeviceNet specification requires that the shield and V- be connected to
a single location. In GCCS-1, this location is in the MCP.
The following are characteristics of a properly wired network:
a. There is no current flow in the shield, and it is at the same voltage as V-
throughout the system.
b. Current flow in V- causes a voltage rise in V-.
c. Since the maximum voltage drop in V- is 5V, the negative shift in shield
voltage is between -5V and 0V.
d. Systems connected in accordance to the DeviceNet specifications have a
normal shield voltage between -5V and 0V.
e. If the NetMeter indicates an overload (OL) condition, the shield is not
connected. Make sure the shield is connected at the MCP to V- only.
12-36 2015 General Motors Company. All Rights Reserved Rev. 6.0
12.13. Common Mode Voltage
Transceivers in the devices subtract the CANH and CANL signals to determine the
value of the signal as either a 1 or a 0. Noise that is induced into the system is
induced into both wires and therefore is cancelled out. The transceivers require that
the CANH and CANL signals be within specifications so that a 0 or a 1 are not
confused with each other, otherwise errors will result.
DC Common Mode voltage caused by excessive voltage drop in the cabling can
cause a voltage offset on the network and result in errors. The Common Mode
voltage causes a shift in the DC values without a corresponding shift in the
differential voltage. This can cause the Recessive (0) voltage to be confused with
the Dominant (1) voltage.
The NetMeter can measure the maximum total Common Mode Voltage since it was
powered on in the network. The DeviceNet recommendation is not to exceed DC
Common Mode Voltage of 5.0V.
Check for devices that may be requiring more power than expected on the network.
At this time, also double check the cabling in the network for proper length.
12.14. CANH/L Differential Voltage (Recessive Data 1)
The NetMeter measures differential CANH and CANL signals and displays the
difference. Data (0 and 1) are transmitted as the difference in voltage between
CANH and CANL. This value is a measure of the quality of the signal. Typically this
value is in the low millivolt range. If the recessive, a data 1, voltage differential is
insufficiently small, it can be misinterpreted as a dominant, or a data 0, and errors
will occur.
Check for shorts or opens in the CANH and CANL wires. Ensure there are only two
terminators on the network and they are positioned at each end of the network.
12.15. CANH/L Differential Voltage (Dominant Data 0)
The measurement of the Dominant voltage levels is important for the same reasons
as shown above in Module 12.14. The typical dominant differential voltage should
be around 2.0 V. If the differential voltage is too small, it can be interpreted as a
recessive voltage and errors will occur.
The NetMeter measures only when a single node is communicating. A measured
dominant voltage of greater than 3.0V when a single node is communicating
indicates a network problem. Check for shorts and opens in the CANH and CANL
wires. Ensure there are only two terminators on the network and they are positioned
at each end of the network.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 12-37
12.16. Exercise 1: Configure the DeviceNet Scanlist
1. Scan the network for nodes. Verify against the drawing that all nodes are
present.
2. Obtain I/O parameters for devices that do not automatically map (e.g.
Siemens adapter modules).
3. Configure the Scan list.
4. Upload the entire network and save the network.
5. Download to the DNB module.
END OF EXERCISE
12-38 2015 General Motors Company. All Rights Reserved Rev. 6.0
12.17. Review
Rev. 6.0 2015 General Motors Company. All Rights Reserved 12-39
GCCS-2
Global Common Control Software Design
LMS # 33544
Document Version 6.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
Rev. 6.0 2015 General Motors Company. All Rights Reserved 13-1
13.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.
13-2 2015 General Motors Company. All Rights Reserved Rev. 6.0
1
Rev. 6.0 2015 General Motors Company. All Rights Reserved 13-3
13.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
13-4 2015 General Motors Company. All Rights Reserved Rev. 6.0
13.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. 6.0 2015 General Motors Company. All Rights Reserved 13-5
13.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 doesnt 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.
13.3.5. Flags for Non-Alarm, Prompt, or Scroll list Rung Comments
13-6 2015 General Motors Company. All Rights Reserved Rev. 6.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.
13.3.6. Flags for Extraction Options
Rev. 6.0 2015 General Motors Company. All Rights Reserved 13-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).
13-8 2015 General Motors Company. All Rights Reserved Rev. 6.0
Figure 6 : Example of Extracted Tags Date, Time Not Extracted
Rev. 6.0 2015 General Motors Company. All Rights Reserved 13-9
13.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.
13-10 2015 General Motors Company. All Rights Reserved Rev. 6.0
13.5. Using the Message Extractor
This message extractor is designed for Siemens HMI messages. 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.
13.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. 6.0 2015 General Motors Company. All Rights Reserved 13-11
13.5.2. Exercise 1: Run the Message Extractor on a PLC Program
1. Open ComTask13Exercises and save the logic file in RSlogix as an .L5K
file.
2. Open the GlobalMessageExtractor.xls file.
13-12 2015 General Motors Company. All Rights Reserved Rev. 6.0
Figure 10: Open the .L5K File
Rev. 6.0 2015 General Motors Company. All Rights Reserved 13-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 computers 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.
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.
13-14 2015 General Motors Company. All Rights Reserved Rev. 6.0
Figure 13: Errors Tab in Message Extractor *.TMP file
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. 6.0 2015 General Motors Company. All Rights Reserved 13-15
Figure 15: Review the HMI & Alarm Setup Tab
13. If any changes were made to the RSLogix 5000 file, close everything,
resave the modified RSLogix program as an *.L5K file, and run the extractor
again.
END OF EXERCISE 1
13-16 2015 General Motors Company. All Rights Reserved Rev. 6.0
13.6. Language Translation
Not all projects require language translation. The procedure for language translation is
shown in Exercise 2 below.
13.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. 6.0 2015 General Motors Company. All Rights Reserved 13-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 can not 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.
13-18 2015 General Motors Company. All Rights Reserved Rev. 6.0
END OF EXERCISE 2
13.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. 6.0 2015 General Motors Company. All Rights Reserved 13-19
13.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
13-20 2015 General Motors Company. All Rights Reserved Rev. 6.0
13.8. Review
Rev. 6.0 2015 General Motors Company. All Rights Reserved 13-21
GCCS-2
Global Common Control Software Design
LMS # 33544
Document Version 6.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, 2015, 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. 6.0 2015 General Motors Company. All Rights Reserved 14-1
14.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.
14-2 2015 General Motors Company. All Rights Reserved Rev. 6.0
Figure 2: Selecting a File Destination and Making New File Folders
Rev. 6.0 2015 General Motors Company. All Rights Reserved 14-3
6. Click Next on the Extraction Wizard (Figure 3).
14-4 2015 General Motors Company. All Rights Reserved Rev. 6.0
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
Rev. 6.0 2015 General Motors Company. All Rights Reserved 14-5
14.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.
14-6 2015 General Motors Company. All Rights Reserved Rev. 6.0
4. Double-click Transfer.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 14-7
8. Click Specify an IP address.
9. Input the proper IP Address, Subnet Mask, and Gateway.
10. Click OK.
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.
14-8 2015 General Motors Company. All Rights Reserved Rev. 6.0
Figure 11: Reboot the Siemens HMI Panel from OP Properties Tab
Rev. 6.0 2015 General Motors Company. All Rights Reserved 14-9
Open TIA Portal on a laptop.
13. Click Open an Existing Project.
14-10 2015 General Motors Company. All Rights Reserved Rev. 6.0
14. Browse for the .HMI file to be loaded to the HMI panel.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 14-11
15. Right Click the Device_1 folder.
16. Click Properties.
14-12 2015 General Motors Company. All Rights Reserved Rev. 6.0
17. Under PROFINET Interface (X1) click Ethernet addresses.
18. Input the HMI panel IP Address, Mask and Gateway (Router Address).
19. Click OK.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 14-13
20. Right click the Device_1 HMI folder.
21. Click HMI Device Maintenance.
22. Click Update Operating System.
14-14 2015 General Motors Company. All Rights Reserved Rev. 6.0
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.
25. Click Cancel in the Transfer mode window on the HMI panel.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 14-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
14-16 2015 General Motors Company. All Rights Reserved Rev. 6.0
28. Uncheck Screen Taps
29. Click OK on the Volume & Sounds Properties window.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 14-17
Figure 23: HMI Panel Touchscreen Calibration
14-18 2015 General Motors Company. All Rights Reserved Rev. 6.0
36. Change Regional Settings to the appropriate region.
37. Click OK on the Regional Settings window.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 14-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.
14-20 2015 General Motors Company. All Rights Reserved Rev. 6.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. 6.0 2015 General Motors Company. All Rights Reserved 14-21
Figure 31: HMI Panel Loader Window Transfer Button
The HMI panel is now fully configured and ready for the application to be
downloaded.
14-22 2015 General Motors Company. All Rights Reserved Rev. 6.0
14.5. Creation of a *.CSV File
Use Message Extractor as described in Module 14 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 a *.CSV file.
14.5.1. Exercise 2: Creation of a .CSV file
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 13 for directions.
END OF EXERCISE 2
Rev. 6.0 2015 General Motors Company. All Rights Reserved 14-23
14.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.
14.6.1. Exercise 3: Importing Tags and Text Lists
Open the TP010B1HMI1 TIA Portal project created in Exercise 1.
14.6.1.1. Importing Tags
1. Expand the Device
2. Expand HMI tags
3. Double Click Show all tags
4. Click Import
14-24 2015 General Motors Company. All Rights Reserved Rev. 6.0
Figure 34: Importing Tags Open Import File
7. Click Import
Rev. 6.0 2015 General Motors Company. All Rights Reserved 14-25
Figure 36: Importing Text Lists Open the Import Dialog
4. Select the text list file created by message extractor (ApplicationName-
HMIx_AllTextLists.xlsx)
5. Select Import.
14-26 2015 General Motors Company. All Rights Reserved Rev. 6.0
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.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 14-27
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]
14-28 2015 General Motors Company. All Rights Reserved Rev. 6.0
END OF EXERCISE 3
14.6.2. Exercise 4: Transfer the Application to the HMI
14.6.2.1. The Downloading Computer Settings
Before you begin the transfer process it is critical to set the downloading computers
default display size to 100%.
The HMI font size downloaded to the HMI will change based on the downloading
computers 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.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 14-29
2. Select Compile
3. Select Software (rebuild all) in the pull down menu.
14-30 2015 General Motors Company. All Rights Reserved Rev. 6.0
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.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 14-31
14.6.2.5. Download the HMI
Check the computers 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).
14-32 2015 General Motors Company. All Rights Reserved Rev. 6.0
Figure 47: Load Preview
The Extended download to device window will display. Select PN/IE for the
Type of the PG/PC interface. Note: If PN/IE does not connect, select Ethernet.
Select your computers network adapter for the PG/PC interface. 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.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 14-33
14.7. HMI User Additions
14.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.
14-34 2015 General Motors Company. All Rights Reserved Rev. 6.0
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.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 14-35
14.8. Tag Properties
14.8.1. General
14-36 2015 General Motors Company. All Rights Reserved Rev. 6.0
14.8.3. Range
Rev. 6.0 2015 General Motors Company. All Rights Reserved 14-37
14.8.5. Values
14.8.6. Comment
14-38 2015 General Motors Company. All Rights Reserved Rev. 6.0
14.8.7. Multiplexing
Rev. 6.0 2015 General Motors Company. All Rights Reserved 14-39
14.9. How to Create and Fill Screens
14.9.1. HMI Screen Creation
14-40 2015 General Motors Company. All Rights Reserved Rev. 6.0
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.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 14-41
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.
14-42 2015 General Motors Company. All Rights Reserved Rev. 6.0
14.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.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 14-43
14.10.1. Object Appearance
14-44 2015 General Motors Company. All Rights Reserved Rev. 6.0
14.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.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 14-45
14.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.
14-46 2015 General Motors Company. All Rights Reserved Rev. 6.0
14.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
Rev. 6.0 2015 General Motors Company. All Rights Reserved 14-47
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.
14-48 2015 General Motors Company. All Rights Reserved Rev. 6.0
14.12. TIA Portal and GM Screen Applications
14.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.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 14-49
14.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.
14-50 2015 General Motors Company. All Rights Reserved Rev. 6.0
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.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 14-51
Layer 1 is OFF Layer 1 is ON
Rotate robot icon
only.
14-52 2015 General Motors Company. All Rights Reserved Rev. 6.0
Figure 69: 9999 - Cell Overview Graphics Panels
Rev. 6.0 2015 General Motors Company. All Rights Reserved 14-53
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.
14-54 2015 General Motors Company. All Rights Reserved Rev. 6.0
Figure 72: Tool Overview Screen
Rev. 6.0 2015 General Motors Company. All Rights Reserved 14-55
14.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.
14-56 2015 General Motors Company. All Rights Reserved Rev. 6.0
14.12.5. Review
Rev. 6.0 2015 General Motors Company. All Rights Reserved 14-57
GCCS-2
Global Common Control Software Design
LMS # 33544
Document Version 6.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
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. 6.0 2015 General Motors Company. All Rights Reserved 15-1
15.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. 6.0 2015 General Motors Company. All Rights Reserved 15-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. 6.0 2015 General Motors Company. All Rights Reserved 15-3
15.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. 6.0 2015 General Motors Company. All Rights Reserved 15-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. 6.0 2015 General Motors Company. All Rights Reserved 15-5
15.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. 6.0 2015 General Motors Company. All Rights Reserved 15-6
Figure 7: Selection of Graphic Flags for Each Language
Rev. 6.0 2015 General Motors Company. All Rights Reserved 15-7
Figure 8: Unicode Echo Language Tag Change
Rev. 6.0 2015 General Motors Company. All Rights Reserved 15-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. 6.0 2015 General Motors Company. All Rights Reserved 15-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. 6.0 2015 General Motors Company. All Rights Reserved 15-10
Language String Code
Malay - Malaysia ms-my 1086
Malay Brunei ms-bn 2110
Maltese mt 1082
Marathi mr 1102
Norwegian - Bokml 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. 6.0 2015 General Motors Company. All Rights Reserved 15-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. 6.0 2015 General Motors Company. All Rights Reserved 15-12
15.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. 6.0 2015 General Motors Company. All Rights Reserved 15-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. 6.0 2015 General Motors Company. All Rights Reserved 15-14
15.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. 6.0 2015 General Motors Company. All Rights Reserved 15-15
15.3. Review
Rev. 6.0 2015 General Motors Company. All Rights Reserved 15-16
GCCS-2
Global Common Control Software Design
LMS # 33544
Document Version 6.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
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, 2015, 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. 6.0 2015 General Motors Company. All Rights Reserved 16-1
16.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. DNet 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
16-2 2015 General Motors Company. All Rights Reserved Rev. 6.0
16.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.
16.3.6. Debug
Validate that all nodes are present in the network browse. 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
Rev. 6.0 2015 General Motors Company. All Rights Reserved 16-3
process is complete, use a diagnostic tool, such as the NetAlert meter, to validate
that the DeviceNet network is functioning properly.
16-4 2015 General Motors Company. All Rights Reserved Rev. 6.0
16.4.4. Light Curtains
Light curtain and / or safety mat safety circuits can also be found in station fixture
boxes and inter-cell light curtain boxes. Safety Device #1 channel A and B are wired
to the same safety module inputs as discussed in Module 8.4.2. 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. 6.0 2015 General Motors Company. All Rights Reserved 16-5
16.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.
16.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.
16.5.5. Verify Remote Actions
Verify scroll list line items for remote actions that initiate motion in remote cells, if
applicable.
16.5.6. Verify Return to Load / Unload
Confirm the return to load / unload position requests function as expected in each
station.
16.6. Software Checklist
16.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.
16-6 2015 General Motors Company. All Rights Reserved Rev. 6.0
16.6.5. Exercise 1: Search and Replace TBD Bits in Logic.
Exercise is Optional if time permits.
1. Open ComTask16Exercises 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. 6.0 2015 General Motors Company. All Rights Reserved 16-7
16.7. Review
1. How is a cell started?
2. How is the safety system validated?
3. How is the functionality of the cell validated?
16-8 2015 General Motors Company. All Rights Reserved Rev. 6.0
GCCS-2
Global Common Control Software Design
LMS # 33544
Document Version 6.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
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, 2015, 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. 6.0 2015 General Motors Company. All Rights Reserved 17-1
17.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.
17-2 2015 General Motors Company. All Rights Reserved Rev. 6.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. 6.0 2015 General Motors Company. All Rights Reserved 17-3
17.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.
17-4 2015 General Motors Company. All Rights Reserved Rev. 6.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 stations 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. 6.0 2015 General Motors Company. All Rights Reserved 17-5
17.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.
Figure 7 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. The next step is to open the
S000_Sequence routine and delete the rung containing the JSR for the action
routine deleted (see Figure 8).
17-6 2015 General Motors Company. All Rights Reserved Rev. 6.0
Figure 8: Revised S000_Sequence Routine Logic
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.
17.5. Working with Alias Tags
The upcoming exercise will demonstrate how many programs are structured Alias tag
wise similarly.
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
17.5.1. Exercise 1 Working with Alias Tags
1. Open ComTask17_1.
2. Schedule the program KA040, currently unscheduled.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 17-7
Figure 9: Unscheduled Programs Location
17-8 2015 General Motors Company. All Rights Reserved Rev. 6.0
Figure 10: Open the Main Task Properties
Rev. 6.0 2015 General Motors Company. All Rights Reserved 17-9
d. Click Add to Schedule the KA040 program.
e. Click the Move arrows to position the program as desired.
f. Position the KA040 program between the KA030 and KA060 programs.
g. Click OK.
17-10 2015 General Motors Company. All Rights Reserved Rev. 6.0
3. Open the KA060 program tags select the Edit Tags tab.
Note: select Edit Tags tab to view Alias For column and to perform any tag edits.
Since the KA040 program is missing its Alias tags we will copy the Alias tags from
KA060 to get started. Some controller tags will need to be created to match the KA040
station. Some tags may not be useful for the KA040 station; they can be deleted from
the KA040 program tags.
4. Examine the alias tags.
5. Copy the alias tags to the computers clipboard.
a. Double click Sort the tags by the Alias For column.
b. Click the square in front of the first Alias tag, Cell in this case.
c. Press the shift key and click the square in front of the last Alias tag, To
KA060R05 in this case.
d. Press ctrl +c or right click on the selection and press copy.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 17-11
Figure 15: Alias Tags Selected for Copy
17-12 2015 General Motors Company. All Rights Reserved Rev. 6.0
Figure 16: Pasting Tags
Many times the programs inside a project will have similar structure for their alias tags.
Some of the Alias tags will not require edits; these are items that are shared by other
programs. These tags will be at the cell level. The next figure highlights tags that
require no editing.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 17-13
Figure 17: Cell level Controller Tags Edit Not required
6. The Cell level Controller tags in the Alias For column in Figure 17 will not require
new base (Controller) tags because many programs use the tags so the
controller tags were not removed.
7. Create Controller Tags for the Alias Tags indicated in Figure 18; adjust Controller
tags to the KA040 station needs and name.
17-14 2015 General Motors Company. All Rights Reserved Rev. 6.0
Figure 18: Create Controller Tags for Alias Tags
Rev. 6.0 2015 General Motors Company. All Rights Reserved 17-15
Figure 19: Changing Scope
11. Double Click by the top of the Name column to sort by that column.
Note: Double Clicking again will reverse the sort order. The Name and the Alias For
column are the most commonly selected sorting orders.
Creating a Controller Tag has two main methods. The first method is to copy and paste
the Controller Tag and then rename it. The second method is to create a new tag with
the desired name then select the proper Data Type using the pull down menu in the
Data Type cell.
12. Select the Edit Tags tab.
13. Right Click the square in front of the tag name KA060.
14. From the drop down menu select Copy.
17-16 2015 General Motors Company. All Rights Reserved Rev. 6.0
Figure 21: Copy a Controller Tag
15. Right Click the square in the front of the new tag row.
16. Select Paste.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 17-17
Figure 22: Pasting a Tag
Duplicate tag names are not permitted in the same program. RSLogix / Studio 5000 will
add a 1 to the end of the tag name.
17-18 2015 General Motors Company. All Rights Reserved Rev. 6.0
Figure 23: Pasted Tag Duplicate
Now create a tag by entering its name and selecting its desired Data Type. Browse the
controller Tags and find the KA060 tags. Select a Controller tag to add for the KA040
station. Browse the KA060 Controller Tags and choose a tag to copy for station KA040.
18. Remember or write down the Tag Name and its Data Type; KA060HMI in this
case.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 17-19
Figure 25: Tag Name and Data Type
19. Click the Name cell in the Tag Entry row; this is the last row in the editor.
20. Type the desired Tag name.
21. Click in the Data Type Cell.
22. Click the Select Data Type button to access the Select data Type dialog.
23. Select the desire Data Type and click OK.
17-20 2015 General Motors Company. All Rights Reserved Rev. 6.0
Figure 26: Creating a Controller Tag
24. Proceed with creating the Controller tags for KA040 using KA060 as a guide.
Use the tag copy or the create method to create the tags.
25. Look at the KA040 program in the Controller Organizer see Figure 28. Discover
what robots interact in the stations sequence.
26. Three robots work in the station, KN020R04, KA050R01, and KA050R02.
Create program tags for each in this format ToKN020R04.
27. Open the Controller tags and create controller tags for the tags create in step 24
using this format KA040ToKN020R04. Use the data type zc_StaToRbt for each
tag.
28. Set the Alias For column in the KA040 program tags using the tags creted in
steps 24 & 25.
29. Job Data is used to track parts through stations and Material Handling (MH)
robots.
30. Create the following aliases:
Rev. 6.0 2015 General Motors Company. All Rights Reserved 17-21
Program Tag Controller Tag Data Type
StopModes KA040StopModes zc_StationHold
PrevStopModes KN020R04StopModes zc_StationHold
NextStopModes KA050R01StopModes zc_StationHold
17-22 2015 General Motors Company. All Rights Reserved Rev. 6.0
Figure 28: Controller Organizer KA040 Program
End of Exercise 1
Rev. 6.0 2015 General Motors Company. All Rights Reserved 17-23
17.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.
17.6.1. Exercise 2: Deleting the a Station Program (Optional)
1. Open ComTask17Exercise2.
2. Access the MainTask Properties, Program Schedule tab.
3. Select AA075 in the Scheduled list.
4. Click the Remove button. This moves the program to the Unscheduled
category as shown in Figure 29.
5. Click Ok, or Apply to accept the change.
17-24 2015 General Motors Company. All Rights Reserved Rev. 6.0
6. Locate the program in the controller organizer. It should be listed under
Unscheduled Programs. Refer to Figure 30.
7. Expand the tree for Station AA075.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 17-25
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 31.
17-26 2015 General Motors Company. All Rights Reserved Rev. 6.0
11. Select from the pull down <none> for the Main under the Assigned
Routines. Refer to Figure 32.
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
Rev. 6.0 2015 General Motors Company. All Rights Reserved 17-27
17.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 controllers 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.
17.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 ComTask17Exercise4.
1. Open ComTask17Exercise3.
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.
17-28 2015 General Motors Company. All Rights Reserved Rev. 6.0
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
Rev. 6.0 2015 General Motors Company. All Rights Reserved 17-29
7. Verify your program AA072 routines with Figure 33.
END OF EXERCISE 3
17-30 2015 General Motors Company. All Rights Reserved Rev. 6.0
17.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 ComTask17Exercise4
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
Rev. 6.0 2015 General Motors Company. All Rights Reserved 17-31
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
17-32 2015 General Motors Company. All Rights Reserved Rev. 6.0
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.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 17-33
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 36 represents the AA072 program tags edited through to Step 7.
17-34 2015 General Motors Company. All Rights Reserved Rev. 6.0
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.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 17-35
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.
17-36 2015 General Motors Company. All Rights Reserved Rev. 6.0
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
Rev. 6.0 2015 General Motors Company. All Rights Reserved 17-37
Figure 39: 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.
17-38 2015 General Motors Company. All Rights Reserved Rev. 6.0
Figure 40: 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.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 17-39
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 41: Alias For Editing Chart
19. Verify the edits to AA072 program tags as shown in Figure 42.
At this point there are several tags that do not have a controller tag to Alias For.
17-40 2015 General Motors Company. All Rights Reserved Rev. 6.0
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.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 17-41
I. Open the AA072 Program tags. Verify there are no tags with the large X
in front of them. Figure 43 shows how AA072 Program Tags should look
after creating the Alias For controller tags.
Figure 43: AA072 Program Tags after Creating the Alias For Controller Tag
17-42 2015 General Motors Company. All Rights Reserved Rev. 6.0
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 44.
24. Click the pull down arrow and examine the main tag. The
PMCD.AA065B1Cell tag uses the uc_PMCObjectType_AA065B1Cell UDT.
See Figure 45.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 17-43
Figure 45: PMCD Locating the UDT to Edit
17-44 2015 General Motors Company. All Rights Reserved Rev. 6.0
25. Open the User Defined folder under Data Types. See Figure 46.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 17-45
26. As shown in Figure 47, 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).
17-46 2015 General Motors Company. All Rights Reserved Rev. 6.0
27. Right-click the square button preceding the AA070 member.
28. Select Insert Member. See Figure 48.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 17-47
1. Copy the AA070 member into the newly inserted row. See Figure 49.
2. Rename the Member Name and Description to AA072 for the new station.
17-48 2015 General Motors Company. All Rights Reserved Rev. 6.0
3. Verify that your UDT looks like Figure 50.
4. Click Apply or OK to save the updated UDT.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 17-49
5. Open the AA072 Program tags.
6. Edit the Alias For column for station AA072 for the following tags, see
Figure 51:
A. PMCDSta
B. PMCDDFTSta
17-50 2015 General Motors Company. All Rights Reserved Rev. 6.0
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
Rev. 6.0 2015 General Motors Company. All Rights Reserved 17-51
C. S065_AA070R02Drop
D. zZ112_EndGroup (31)
See Figure 53.
Delete
Figure 53: 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.
17-52 2015 General Motors Company. All Rights Reserved Rev. 6.0
B. S070_CloseLHDockingClamps
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
Rev. 6.0 2015 General Motors Company. All Rights Reserved 17-53
17.7.3. Exercise 5: Adding a New Action Routine (Optional)
17. Open ComTask17Exercise5
18. Right-click on the AA070 program in the logix organizer.
19. Click New Routine.
3
2
17-54 2015 General Motors Company. All Rights Reserved Rev. 6.0
4
5
7
Rev. 6.0 2015 General Motors Company. All Rights Reserved 17-55
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
17-56 2015 General Motors Company. All Rights Reserved Rev. 6.0
Figure 57: 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 58.
28. Type Control + C on the keyboard to copy all rungs.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 17-57
Figure 58: Logix Display of Selected Rungs
17-58 2015 General Motors Company. All Rights Reserved Rev. 6.0
30. Right-click the end line and choose paste. The routine window should
appear with the last rung pasted as shown in Figure 59.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 17-59
15
17-60 2015 General Motors Company. All Rights Reserved Rev. 6.0
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 63.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 17-61
Figure 63: Editing the Main Description for a Tag
17-62 2015 General Motors Company. All Rights Reserved Rev. 6.0
24
25
Rev. 6.0 2015 General Motors Company. All Rights Reserved 17-63
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 65.
END OF EXERCISE 5
17-64 2015 General Motors Company. All Rights Reserved Rev. 6.0
17.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 67: Close.Comp Rung Description
Rev. 6.0 2015 General Motors Company. All Rights Reserved 17-65
17.8.1. Exercise 6: Edits After Adding a New Routine (Optional)
1. Open ComTask17Exercise6.
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 68.
B. Click Replace.
3A
3B
17-66 2015 General Motors Company. All Rights Reserved Rev. 6.0
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.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 17-67
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 70.
8. Edit the main description for tags C09 and C10. See Figure 71.
Figure 71: Editing the Main Description for Tags C09 and C10
17-68 2015 General Motors Company. All Rights Reserved Rev. 6.0
9. Open AA070 CloseClamp1 routine.
10. Edit the Switch Internal rung 1.
A. Change all tags within the boxes in Figure 72 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 72.
9B
Rev. 6.0 2015 General Motors Company. All Rights Reserved 17-69
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 73.
12. Delete any remaining switch internal rungs (C03 and C04) after the new C10
switch internal rung.
17-70 2015 General Motors Company. All Rights Reserved Rev. 6.0
Figure 74: 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
75.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 17-71
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 76.
17-72 2015 General Motors Company. All Rights Reserved Rev. 6.0
Figure 78: 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 79.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 17-73
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 80.
17-74 2015 General Motors Company. All Rights Reserved Rev. 6.0
27. Verify the Action Memory, Action Fault, and the Scroll List Not Visible rungs
against
28. Figure 81. Usually edits are not necessary.
Figure 81: Action Close Memory, Fault and SL Not Visible Rungs
Rev. 6.0 2015 General Motors Company. All Rights Reserved 17-75
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 82.
17-76 2015 General Motors Company. All Rights Reserved Rev. 6.0
30. Edit the Switch Diagnostic Rung using the following table:
Rev. 6.0 2015 General Motors Company. All Rights Reserved 17-77
7 5
3 4
1 2
6
Switch
Diagnostic
8
Rung
Switch 11 12
Diagnostic
Bypass
Rung 9
10
Figure 84: Switch Diagnostic Rung and Bypass Bit Rung for Cylinder C09
33. Edit the lower Switch Diagnostic Bypass Rung shown in Figure 84 using the
chart below.
17-78 2015 General Motors Company. All Rights Reserved Rev. 6.0
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 86.
Figure 86: 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
Rev. 6.0 2015 General Motors Company. All Rights Reserved 17-79
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 87, 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 87.
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.
17-80 2015 General Motors Company. All Rights Reserved Rev. 6.0
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 88.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 17-81
39. Match the conditions in the Output Power Prompting rung to the conditions
on the Output Power rung as shown in Figure 89.
40. The Unlatch rung verify that the tags match the routine, Clamp1Close.PB,
Clamp1Close.Prompt, and Clamp1Close.OutPwrPrompt.
17-82 2015 General Motors Company. All Rights Reserved Rev. 6.0
41. In Figure 91, 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
Rev. 6.0 2015 General Motors Company. All Rights Reserved 17-83
17-84 2015 General Motors Company. All Rights Reserved Rev. 6.0
17.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.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 17-85
17.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 robots 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 robots 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 92 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.
17.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.
17.11.2. Adding and Modifying Routines
As shown in Figure 92 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.
17-86 2015 General Motors Company. All Rights Reserved Rev. 6.0
Figure 93 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.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 17-87
17.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 94 below.
17-88 2015 General Motors Company. All Rights Reserved Rev. 6.0
17.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 95 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).
Rev. 6.0 2015 General Motors Company. All Rights Reserved 17-89
The rungs shown in Figure 96 and Figure 97 remained unchanged.
17-90 2015 General Motors Company. All Rights Reserved Rev. 6.0
The branch with the highlighted robot Seg[51] bit was added to the rung shown in
Figure 98 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.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 17-91
The rungs shown in Figure 99 and Figure 100 remained unchanged.
17-92 2015 General Motors Company. All Rights Reserved Rev. 6.0
Figure 101 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.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 17-93
The rung shown in Figure 102 and Figure 103 remained unchanged.
17-94 2015 General Motors Company. All Rights Reserved Rev. 6.0
Figure 104 shows the changes made to the message text for the Not Complete
prompt (see rung comment).
Rev. 6.0 2015 General Motors Company. All Rights Reserved 17-95
The rungs shown in Figure 105 remained unchanged.
Figure 105: HwEnable Prompt, Scroll List PB Unlatch and SL Line Found Rungs
17-96 2015 General Motors Company. All Rights Reserved Rev. 6.0
17.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 106 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 107 illustrate the edits to the Clamps1 open clear setup.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 17-97
The edits to the robot prompt driver rung shown in Figure 108 reflects the changes
made to the Clamps1.Open.Clear rung.
17-98 2015 General Motors Company. All Rights Reserved Rev. 6.0
17.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 109 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 110 and Figure 111 are configured similar to the initial
weld action. The difference is that the .ClrSetup rung is conditioned with Clamps1
Rev. 6.0 2015 General Motors Company. All Rights Reserved 17-99
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 110: Typical Set/Reset Robot WeldClr.Comp / .ProcComp & Auto Rungs
The rung comment shown in Figure 114 will be used to create the scroll list line text
for this new robot action step. The Source of the MOV instruction in Figure 114
must be a unique number relative to this station program. For convenience, the
17-100 2015 General Motors Company. All Rights Reserved Rev. 6.0
number selected for the Source correlates to the sequence step number. This
number, when combined with this programs message offset, will point to a specific
scroll list line text stored within the HMI.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 17-101
Figure 113: Typical WeldClr.Out, .Mem, .Flt Rungs
17-102 2015 General Motors Company. All Rights Reserved Rev. 6.0
Note that the conditioning logic for the prompt latch bits in the rung shown in
Figure 115 mimics the conditioning logic in the clear setup rungs of Figure 111.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 17-103
Note that the prompt message number selected in rung #15 shown in Figure 116
must be unique to this station program.
Figure 116: Typical Prompt, Do /Undo and Scroll List Logic Rungs
17-104 2015 General Motors Company. All Rights Reserved Rev. 6.0
17.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 117.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 17-105
The highlighted portions of the rungs featured in Figure 117represent modifications
necessary to accommodate the additional robot segments resulting from the new
robot action step.
The rung shown in Figure 119 drives the bit used in the Clamps1 open clear setup.
See Figure 118 above.
The R01.Decision.0 bit is the robot decision code for general continue commands.
The highlighted branch of the rung featured in Figure 120 was added to issue the
decision code to the robot following the clamp reposition.
17-106 2015 General Motors Company. All Rights Reserved Rev. 6.0
Figure 120: R01.Decision.0 Rung
17.11.8. S010_MainCycle
The rungs shown in Figure 121 were modified to ensure the .ProcComp and .Comp
bits from both robot sequence steps were present.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 17-107
17.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 17.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 119). 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.
17-108 2015 General Motors Company. All Rights Reserved Rev. 6.0
17.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.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 17-109
17.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.
17.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 123 provides a before (left side) and after (right
side) view of the program routine list.
17-110 2015 General Motors Company. All Rights Reserved Rev. 6.0
17.12.5. Modifying the S000_Sequence Routine
Figure 124 and Figure 125 feature the rungs inserted into the S000_Sequence
routine providing the JSR instructions to call the new action routines.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 17-111
Figure 126: Typical .ToolRdy Rung
17-112 2015 General Motors Company. All Rights Reserved Rev. 6.0
The highlighted branch shown in Figure 127 was added to compliment the
conditional logic in the Weld1.ToolRdy rung.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 17-113
17.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 17.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 129 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.
17-114 2015 General Motors Company. All Rights Reserved Rev. 6.0
Figure 129: Weld2 Complete and Tool Ready Rungs
Rev. 6.0 2015 General Motors Company. All Rights Reserved 17-115
Rung #3 conditioning logic, shown in Figure 130, 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 130: Weld2 Previous Process Complete and Guns Clear Rungs
17-116 2015 General Motors Company. All Rights Reserved Rev. 6.0
Figure 132: Typical Prompting Driver Logic (Contd)
Rev. 6.0 2015 General Motors Company. All Rights Reserved 17-117
17.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 133 were the updating
of the action tags.
17-118 2015 General Motors Company. All Rights Reserved Rev. 6.0
In rung #3 shown in Figure 134, 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 134: Typical 2nd Weld Init.Auto, .Clear, .OutPwr and .InitAntiRpt Rungs
Rev. 6.0 2015 General Motors Company. All Rights Reserved 17-119
No changes are made to the rungs shown in Figure 135.
Figure 135: Typical 2nd Weld Init.Cmd, .Out and .InitWeld Rungs
17-120 2015 General Motors Company. All Rights Reserved Rev. 6.0
No changes are made to the rungs shown in Figure 136.
Changes were made to rung #15 of Figure 137 to reflect the proper scroll list line
text and number for the new weld action.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 17-121
Figure 137: Typical 2nd Weld .Init.FLT, SL.NotVisible and SL Text Rungs
Changes to the rungs shown in Figure 138 included ensuring proper prompt
message numbers in rung #16 and the Weld2.ToolRdy and Weld2.Prompt
17-122 2015 General Motors Company. All Rights Reserved Rev. 6.0
instructions in rung #17 replaced Weld1.ToolRdy and Weld1.Prompt,
respectively.
Figure 138: Typical 2nd Weld Prompt Message and Motion Prompt Rungs
Rev. 6.0 2015 General Motors Company. All Rights Reserved 17-123
The lower two branches for the operator light curtain were added to the rung shown
in Figure 139.
Figure 139: Typical 2nd Weld Output Power Prompt Driver Rungs
Figure 140: Typical 2nd Weld Do / Undo Unlatch and SL Found Rungs
17-124 2015 General Motors Company. All Rights Reserved Rev. 6.0
17.12.10. Modifying the S050_OpenWGRetract Action Routine
The highlighted instructions shown in Figure 141 illustrate the changes made to the
WGRetract.Open.Auto, .Clear rungs.
The highlighted branch shown in Figure 142 was added for the Weld2 motion prompt
driver.
Figure 142: Typical Weld Gun Retract Motion Prompt Driver Rungs
Rev. 6.0 2015 General Motors Company. All Rights Reserved 17-125
17.12.11. Modifying the S063_ReturnWGSlide Action Routine
This is the second of two tooling action routines added (see Module 17.12.4 for
details about adding a tooling action). The rung shown in Figure 143 illustrates the
weld gun slide will return following process complete and the weld gun open and
clear.
Figure 144: Typical Weld Gun Valve Output and SCR .InitiateWeld Logic
17-126 2015 General Motors Company. All Rights Reserved Rev. 6.0
17.12.13. Modifying the S010_MainCycle Routine
The rungs shown in Figure 145 highlight the revisions made to the process complete
and steps complete logic to account for the additional weld action.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 17-127
17.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.
17-128 2015 General Motors Company. All Rights Reserved Rev. 6.0
17.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 17.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.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 17-129
Figure 147: Typical SCR3 Input Mapping Configuration
17-130 2015 General Motors Company. All Rights Reserved Rev. 6.0
Figure 148: Typical SCR3 Output Mapping Configuration
Rev. 6.0 2015 General Motors Company. All Rights Reserved 17-131
In this particular case, the highlighted program tag shown in Figure 150 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 151 represent the tags required for the new
weld action and SCR.
17-132 2015 General Motors Company. All Rights Reserved Rev. 6.0
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.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 17-133
17.13.6. Modifying the S000_Sequence Routine
Figure 153 features the rung (#18) inserted into the S000_Sequence routine
providing the JSR instructions to call the new action routine.
17-134 2015 General Motors Company. All Rights Reserved Rev. 6.0
17.13.7. Modifying the S040_1stWeld Rouitne
The rung shown in
Figure 154, Figure 155, and Figure 156 illustrate the edits made to the Weld1
complete logic for the additional weld gun.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 17-135
Figure 156: Modifications to Weld1.GunsClear Logic
17-136 2015 General Motors Company. All Rights Reserved Rev. 6.0
17.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 157 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.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 17-137
Minor edits were required to the rungs shown in Figure 158. 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 158: Typical Weld Init.Auto, .Clear, .OutPwr and .InitAntiRpt Rungs
17-138 2015 General Motors Company. All Rights Reserved Rev. 6.0
The rungs featured in Figure 159 required no additional configuration other than the
weld controller tag for the highlighted instruction in rung #9 being renamed for the
correct SCR.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 17-139
The rungs featured in Figure 160 required no additional configuration other than the
weld controller tag for the highlighted instruction in rung #10 being renamed for the
correct SCR.
17-140 2015 General Motors Company. All Rights Reserved Rev. 6.0
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.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 17-141
Figure 162: Typical Weld Do / Undo Prompt Message and Prompt Driver Logic
17-142 2015 General Motors Company. All Rights Reserved Rev. 6.0
Figure 163: Typical PB Unlatch and SL.Found Latch Logic
Figure 164: Typical Weld Gun Valve Output and SCR .InitiateWeld Logic
Rev. 6.0 2015 General Motors Company. All Rights Reserved 17-143
The highlighted branches of the rungs shown in Figure 165 and Figure 166 were
added for the spare SCR commissioned for the new weld action.
17-144 2015 General Motors Company. All Rights Reserved Rev. 6.0
Figure 166: Typical SCR .ContactorSaver (Contd) and .ResetSteppers Logic
The highlighted rung branches shown in Figure 168 were added for SCR 3.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 17-145
Figure 168: Typical SCR .WeldModeReq and .StaTryout Rungs
17-146 2015 General Motors Company. All Rights Reserved Rev. 6.0
The highlighted instruction of rung #18, shown in Figure 169, was added for SCR 3.
Rung #22 was added for the new weld gun.
Figure 169: Typical SCR End of Stepper Summation Weld Gun Open Timer Logic
Rev. 6.0 2015 General Motors Company. All Rights Reserved 17-147
17.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 17.13.
17-148 2015 General Motors Company. All Rights Reserved Rev. 6.0
The tags highlighted in Figure 172 represent the new tags required for the additional
weld action.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 17-149
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 174.
The correct z33x_WS2AxSCR routine to use (Figure 175) 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.
17-150 2015 General Motors Company. All Rights Reserved Rev. 6.0
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 17.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 17.12.4 or 17.13.4.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 17-151
17.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.
17-152 2015 General Motors Company. All Rights Reserved Rev. 6.0
17.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 177.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 17-153
17.16.3. Adding the Robot Controller Scope Tags
Figure 178 and Figure 179 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.
17-154 2015 General Motors Company. All Rights Reserved Rev. 6.0
17.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 180, Figure
181, Figure 182, and Figure 183.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 17-155
Figure 183: Safety Task B010_SafetyConfig Routine Modifications
17-156 2015 General Motors Company. All Rights Reserved Rev. 6.0
Figure 184 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.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 17-157
These tags are copied from the reference project and edited per the application.
Figure 186 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.
17-158 2015 General Motors Company. All Rights Reserved Rev. 6.0
17.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 187 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 programs main routine.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 17-159
The rungs shown in Figure 188 represent the only modifications made to the
A000_Main routine as copied from the reference program. All of these JSRs
contained generic routine names.
17-160 2015 General Motors Company. All Rights Reserved Rev. 6.0
The rungs shown in Figure 189 thru Figure 192 represent the rungs requiring
modifications in the B001_MapInputs routine as copied from the reference program.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 17-161
Figure 190: B001_MapInputs Routine Modifications (Contd)
17-162 2015 General Motors Company. All Rights Reserved Rev. 6.0
Figure 191: B001_MapInputs Routine Modifications (Contd)
Rev. 6.0 2015 General Motors Company. All Rights Reserved 17-163
Figure 192: B001_MapInputs Routine Modifications (Contd)
The rungs shown in Figure 193 represent the rungs requiring modifications in the
B002_MapOutputs routine as copied from the reference program.
17-164 2015 General Motors Company. All Rights Reserved Rev. 6.0
The rungs shown in Figure 194 represent the rungs requiring modifications in the
B004_Parameters routine as copied from the reference program.
The rung shown in Figure 195 represents the rung requiring modifications in the
B010_Zones routine as copied from the reference program.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 17-165
The rung shown in Figure 196 represents the rung requiring modifications in the
X100_PMCRobot routine as copied from the reference program. Also refer to
Figure 197 for more information.
17-166 2015 General Motors Company. All Rights Reserved Rev. 6.0
Figure 197: X100_PMCRobot Routine Modifications
Rev. 6.0 2015 General Motors Company. All Rights Reserved 17-167
17.17. Removing a Robot
17-168 2015 General Motors Company. All Rights Reserved Rev. 6.0
17.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.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 17-169
17.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 controllers 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.
17-170 2015 General Motors Company. All Rights Reserved Rev. 6.0
An interlock to another controller is established by right-clicking on the Ethernet
word directly under the controllers 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 200.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 17-171
Figure 201 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 202 below).
The second part of this setup process will link the remote Ethernet module just
created to the controller in the same chassis.
17-172 2015 General Motors Company. All Rights Reserved Rev. 6.0
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 203 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 203, 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.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 17-173
Figure 204 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.
17-174 2015 General Motors Company. All Rights Reserved Rev. 6.0
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 205 below for more
details.
The consumed tags are created in the same manner as the produced but the tag
properties are configured differently.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 17-175
Figure 206 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 206.
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 controllers 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 207 below for more details.
17-176 2015 General Motors Company. All Rights Reserved Rev. 6.0
Figure 207: 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.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 17-177
17.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 208: Typical Consumed Tag Mapping Cell Program, B001_MapInputs Routine
17-178 2015 General Motors Company. All Rights Reserved Rev. 6.0
Figure 209: Typical Standard Consumed Tag Mapping Station Program, B001_MapInputs Routine
Rev. 6.0 2015 General Motors Company. All Rights Reserved 17-179
Figure 210: Typical Standard Consumed Tag Mapping Station Program, B001_MapInputs Routine (Contd)
Figure 211: Typical Standard Consumed Tag Mapping Cell Program, C001_InterlockStatus Routine
17-180 2015 General Motors Company. All Rights Reserved Rev. 6.0
Figure 212: Typical Safety Consumed Tag Data used for Communication Diagnostics Cell Program,
C001_InterlockStatus Routine
Rev. 6.0 2015 General Motors Company. All Rights Reserved 17-181
Figure 213: Typical Safety Consumed Tag Data used for Communication Diagnostics Cell Program,
C001_InterlockStatus Routine (Contd)
17-182 2015 General Motors Company. All Rights Reserved Rev. 6.0
Figure 214: Typical Safety Consumed Tag Data used for E-stop Monitoring Cell Safety Program, B010_SafetyConfig
Routine
Figure 215: Typical Standard Produced Tag Data Mapping Station Program, B002_MapOutputs Routine
Rev. 6.0 2015 General Motors Company. All Rights Reserved 17-183
Figure 216: Typical Standard Produced Tag Data Mapping Station Program, B002_MapOutputs Routine (Contd)
17-184 2015 General Motors Company. All Rights Reserved Rev. 6.0
Figure 217: Typical Safety Produced Tag Data Mapping Cell Safety Program, B002_MapOutputs Routine
Rev. 6.0 2015 General Motors Company. All Rights Reserved 17-185
17.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.
17-186 2015 General Motors Company. All Rights Reserved Rev. 6.0
The rungs shown in Figure 219 are typical of the Jobdata.Valid outputs found in the
J001_JobDataRF and J001_JoDataShiftReg routines, respectively. The highlighted
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 220 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.
Rev. 6.0 2015 General Motors Company. All Rights Reserved 17-187
The rung shown in Figure 221 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.
17-188 2015 General Motors Company. All Rights Reserved Rev. 6.0
17.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?
Rev. 6.0 2015 General Motors Company. All Rights Reserved 17-189