RSLogix 5000
Level 3: Project
Development
Student Manual
Important User Information
This documentation, whether, illustrative, printed, online or electronic (hereinafter Documentation) is intended for
use only as a learning aid when using Rockwell Automation approved demonstration hardware, software and firmware.
The Documentation should only be used as a learning tool by qualified professionals.
The variety of uses for the hardware, software and firmware (hereinafter Products) described in this Documentation,
mandates that those responsible for the application and use of those Products must satisfy themselves that all necessary
steps have been taken to ensure that each application and actual use meets all performance and safety requirements,
including any applicable laws, regulations, codes and standards in addition to any applicable technical documents.
In no event will Rockwell Automation, Inc., or any of its affiliate or subsidiary companies (hereinafter Rockwell
Automation) be responsible or liable for any indirect or consequential damages resulting from the use or application of
the Products described in this Documentation. Rockwell Automation does not assume responsibility or liability for
damages of any kind based on the alleged use of, or reliance on, this Documentation.
No patent liability is assumed by Rockwell Automation with respect to use of information, circuits, equipment, or
software described in the Documentation.
Except as specifically agreed in writing as part of a maintenance or support contract, equipment users are responsible for:
properly using, calibrating, operating, monitoring and maintaining all Products consistent with all Rockwell
Automation or third--party provided instructions, warnings, recommendations and documentation;
ensuring that only properly trained personnel use, operate and maintain the Products at all times;
staying informed of all Product updates and alerts and implementing all updates and fixes; and
all other factors affecting the Products that are outside of the direct control of Rockwell Automation.
Reproduction of the contents of the Documentation, in whole or in part, without written permission of Rockwell
Automation is prohibited.
Throughout this manual we use the following notes to make you aware of safety considerations:
Identifies information about practices or circumstances
that can cause an explosion in a hazardous environment,
which may lead to personal injury or death, property
damage, or economic loss.
Identifies information that is critical for successful
application and understanding of the product.
Identifies information about practices or circumstances
that can lead to personal injury or death, property
damage, or economic loss. Attentions help you:
identify a hazard
avoid a hazard
recognize the consequence
Important User Information
Labels may be located on or inside the drive to alert
people that dangerous voltage may be present.
Labels may be located on or inside the drive to alert
people that surfaces may be dangerous temperatures.
Comment Form
Email: [email protected]
or Fax:
440.646.4425
Page 1 of
Date:
Contact Information:
Name:
Company and Location:
Phone:
Email:
Comments (include lesson title, if applicable):
Course or Product Name (Important):
Page 2
Table of Contents
Introduction
Course Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Course Purpose . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Who Should Attend . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Prerequisites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Agenda . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Meeting Course Objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Student Materials . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Hands-On Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Certificate Candidates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Configuration and Programming Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ControlLogix/RSLogix 5000 Curriculum Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
I
I
I
II
II
III
IV
IV
IV
V
V
Lessons
Updating Logix5000 Firmware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
What You Will Learn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
When You Will Do This . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Before You Begin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Review . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Updating Module Firmware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Heres How . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Demonstration Checklist . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise: Updating Logix5000 Firmware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
How Did You Do? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Answers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Creating and Organizing a New RSLogix 5000 Project . . . . . . . . . . . . . . . . . . . . . . .
What You Will Learn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
When You Will Do This . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Before You Begin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Key Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Project Organization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Default Project Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Creating a New Task . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Continuous Task . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Watchdog Timers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1- 1
1--1
1--1
1--1
1--1
1--1
1--3
1--3
1- 5
1--5
1--6
1--8
1--8
2- 1
2--1
2--1
2--1
2--1
2--1
2--2
2--2
2--3
2--3
ii
Table of Contents
Inhibited Task . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Creating a Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Adjusting a Program Schedule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Actual Program Scan Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Creating a Routine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Program Control Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
System Overhead Timeslice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Asynchronous Updates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Project Organization Best Practices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Example: Project Organization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Verifying Tasks, Programs, and Routines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Heres How . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Heres How . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Demonstration Checklist . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2--4
2--4
2--5
2--5
2--6
2--8
2--8
2--9
2--10
2--11
2--11
2--12
2--12
2--13
2--13
Exercise: Creating and Organizing a New RSLogix 5000 Project . . . . . . . . . . . . . . . 2- 15
Exercise A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
How Did You Do? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Answers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Creating a Periodic Task in an RSLogix 5000 Project . . . . . . . . . . . . . . . . . . . . . . . .
What You Will Learn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
When You Will Do This . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Before You Begin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Task Type Review . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Periodic Task . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Example: Periodic Task Use . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Example: Project Organization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Periodic Task Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Period . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Priority . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Scan Time Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Periodic Task Execution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Example: Periodic Task . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Example: Periodic Task and Continuous Task . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Example: Multiple Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Example: Equal Priorities (Timeslicing) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Heres How . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Heres How . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Demonstration Checklist . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2--15
2--17
2--18
2--18
3- 1
3--1
3--1
3--1
3--1
3--2
3--2
3--3
3--4
3--4
3--5
3--6
3--6
3--6
3--7
3--7
3--7
3--8
3--8
3--9
3--9
Table of Contents
iii
Exercise: Creating a Periodic Task in an RSLogix 5000 Project . . . . . . . . . . . . . . . . 3- 11
Exercise A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
How Did You Do? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Answers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Organizing Data in an RSLogix 5000 Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
What You Will Learn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
When You Will Do This . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Before You Begin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Controller Memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Data Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Memory Allocation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Tag Scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Creating a Tag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Tag Name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Data Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Style . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Defining an Alias Tag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Produced and Consumed Tags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Creating an Array of Tags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Example: Array . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Array Storage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Example: Three Dimensional Array . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Array Addressing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Numeric Element Addressing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Example: Numeric Element Addressing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Example: Numeric Element Addressing for Multiple Dimensions . . . . . . . . . . . . . . . . . . . . . . .
Variable Element Addressing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Example: Variable Element Addressing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Numeric Bit Addressing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Example: Numeric Bit Addressing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Variable Bit Addressing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Example: Variable Bit Addressing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Array Addressing Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Verifying Tags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Monitoring and Editing Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Monitor Tags Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Tags and Members . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Display Style . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Example: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Monitoring and Editing Tag Values through a Routine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Example: Ladder Logic Routine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Example: Function Block Diagram Routine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Monitoring and Editing Tag Values in the Watch Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3--11
3--12
3--14
3--14
4- 1
4--1
4--1
4--1
4--1
4--2
4--3
4--4
4--4
4--5
4--5
4--5
4--6
4--6
4--7
4--7
4--8
4--8
4--9
4--9
4--9
4--9
4--10
4--10
4--10
4--10
4--11
4--11
4--11
4--11
4--11
4--12
4--12
4--12
4--12
4--13
4--13
4--14
4--15
iv
Table of Contents
Quick Watch Tag Monitor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Persistent Quick Watch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Heres How . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Demonstration Checklist . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Monitor Data in RSLinx Classic Professional Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Your Turn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Data Access Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Data Access Control Benefits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Your Turn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4--15
4--16
4--17
4--17
4--17
4--17
4--18
4--18
4--18
Exercise: Organizing Data in an RSLogix 5000 Project . . . . . . . . . . . . . . . . . . . . . . 4- 19
Exercise A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
How Did You Do? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise B . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
How Did You Do? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Answers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise B . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Creating a User-Defined Data Type in an RSLogix 5000 Project . . . . . . . . . . . . . . . .
What You Will Learn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
When You Will Do This . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Before You Begin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Creating a User-Defined Data Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Example: User-Defined Data Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Example: Arrays and User-Defined Data Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
User-Defined Data Type Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
User-Defined Data Type Addressing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Examples: User-Defined Data Type Addressing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exporting and Importing User-Defined Data Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Heres How . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Demonstration Checklist . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise: Creating a User-Defined Data Type in an RSLogix 5000 Project . . . . . . . .
Exercise A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
How Did You Do? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Answers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Entering, Editing, and Verifying Ladder Logic in an RSLogix 5000 Project . . . . . . . .
What You Will Learn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
When You Will Do This . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Before You Begin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ASCII Mnemonic Editing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4--19
4--21
4--21
4--21
4--22
4--22
4--25
5- 1
5--1
5--1
5--1
5--1
5--2
5--3
5--3
5--3
5--3
5--4
5--5
5--5
5- 7
5--7
5--9
5--10
5--10
6- 1
6--1
6--1
6--1
6--2
Table of Contents
Configuring Ladder Logic Quick Keys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Copying and Reusing Ladder Logic Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Example: Copied Ladder Logic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Other Short-Cuts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Verifying a Project or a Project Component Online . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Online Safety Warning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Performing Online Ladder Logic Edits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Finalize Edits Option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Edit Zone Markers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Online Editing in a Multiple-User Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Heres How . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Demonstration Checklist . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6--2
6--2
6--3
6--4
6--4
6--4
6--5
6--6
6--7
6--8
6--9
6--9
Exercise: Entering, Editing, and Verifying Ladder Logic in an RSLogix 5000 Project 6- 11
Exercise A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
How Did You Do? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Answers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Communicating with a Local 1756-I/O Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
What You Will Learn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
When You Will Do This . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Before You Begin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Electronic Keying . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Keying Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Example: Exact Match Keying Prevents Communication . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Example: Compatible Keying Prevents Communication . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Example: Compatible Keying Allows Communication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Disabled Keying . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Asynchronous I/O Update Review . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Digital Module Multicasting Rates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
RPI (Requested Packet Interval) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
COS (Change of State) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Example: RPI and COS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Analog Module Multicasting Rates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
RTS (Real Time Sampling Rate) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Output States . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Diagnostics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Diagnostic Latching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Heres How . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Heres How . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6--11
6--13
6--14
6--14
7- 1
7--1
7--1
7--1
7--1
7--2
7--2
7--3
7--3
7--4
7--4
7--4
7--4
7--5
7--5
7--5
7--6
7--6
7--7
7--8
7--9
7--10
Exercise: Communicating with a Local 1756-I/O Module . . . . . . . . . . . . . . . . . . . . . 7- 11
Exercise A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
How Did You Do? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7--11
7--13
vi
Table of Contents
Answers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Configuring a Logix5000 Controller to Produce and Consume Data . . . . . . . . . . . . .
What You Will Learn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
When You Will Do This . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Before You Begin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Scheduled Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Produced and Consumed Tags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Produced and Consumed Tag Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Configuring a Produced Tag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Adding a Controller to an I/O Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Configuring a Consumed Tag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Tag Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Produced and Consumed Arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Produced Tag Optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Produce/Consume Tag RPI Limits Check . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Heres How . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Demonstration Checklist . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7--14
7--14
8- 1
8--1
8--1
8--1
8--1
8--2
8--2
8--3
8--4
8--4
8--6
8--7
8--7
8--8
8--10
8--10
Exercise: Configuring a Logix5000 Controller to Produce and Consume Data . . . . . 8- 11
Exercise A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
How Did You Do? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise B . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
How Did You Do? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Answers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise B . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Configuring Logix5000 Controllers to Share Data over an EtherNet/IP Network . . . .
What You Will Learn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
When You Will Do This . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Before You Begin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
EtherNet/IP Network Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Overview of IP Addresses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Private IP Addresses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Subnets and Subnet Masks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
How a Subnet Mask Operates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Gateways . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Configuration Overview and Software Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Adding an EtherNet/IP Module and Controller to an I/O Configuration . . . . . . . . . . . . . . . . . . .
Produced and Consumed Tags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Heres How . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Demonstration Checklist . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8--11
8--13
8--13
8--14
8--16
8--16
8--18
9- 1
9--1
9--1
9--1
9--1
9--2
9--3
9--3
9--4
9--4
9--5
9--6
9--6
9--6
9--7
9--7
Table of Contents
Exercise: Configuring Logix5000 Controllers to Share Data over an EtherNet/IP
Network . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
How Did You Do? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Answers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
vii
9- 9
9--9
9--11
9--12
9--12
Communicating with a 1756-I/O Module over an EtherNet/IP Network . . . . . . . . . . . 10- 1
What You Will Learn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
When You Will Do This . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Before You Begin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Effect of RPI on EtherNet/IP Communication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Example: Effect of RPI on EtherNet/IP Communication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Communications Formats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Heres How . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Example: No Rack Connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Example: Rack--optimized Connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Heres How . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10--1
10--1
10--1
10--1
10--1
10--2
10--2
10--2
10--3
10--4
Exercise: Communicating with a 1756-I/O Module over an EtherNet/IP Network . . . . 10- 5
Exercise A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
How Did You Do? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Answers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10--5
10--6
10--8
10--8
Creating an Event Task in an RSLogix 5000 Project . . . . . . . . . . . . . . . . . . . . . . . . . 11- 1
What You Will Learn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
When You Will Do This . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Before You Begin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Task Type Review . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Event Task . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Benefits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Event Task Use . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Example: Project Organization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Event Task Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Trigger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Consumed Tag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Module Input Data State Change . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1756 Local and Remote Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Quick-Response Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Short-Duration Input Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Synchronized-Execution Event . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Single Bit Triggers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Module Input Data State Change -- Design Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . .
Automatic Output Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11--1
11--1
11--1
11--1
11--2
11--2
11--2
11--3
11--3
11--4
11--4
11--5
11--5
11--5
11--6
11--6
11--6
11--7
11--7
viii
Table of Contents
Priority . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Scan Time Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Event Task Timeout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Event Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
IOT Instruction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
UID/UIE Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
CPS Instruction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Heres How . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Demonstration Checklist . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11--8
11--9
11--9
11--9
11--10
11--10
11--11
11--12
11--12
Exercise: Creating an Event Task in an RSLogix 5000 Project . . . . . . . . . . . . . . . . . 11- 13
Exercise A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
How Did You Do? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise B . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
How Did You Do? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
How Did You Do? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Answers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise B . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11--13
11--13
11--14
11--16
11--16
11--18
11--20
11--20
11--21
11--23
Retrieving and Setting Logix5000 Controller Status Values with GSV/SSV
Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12- 1
What You Will Learn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
When You Will Do This . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Before You Begin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Monitoring Controller System Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
GSV/SSV Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Instance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Source or Destination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Example: GSV Instruction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Example: SSV Instruction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Status Flags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Controller Status Flags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Arithmetic Status Flags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Fault Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Non-Recoverable Major Fault . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Recoverable Major Fault . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Recoverable Major Fault Processing: Level 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Fault Routine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Controller Fault Handler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Recoverable Major Fault Processing: Level 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12--1
12--1
12--1
12--1
12--2
12--2
12--2
12--2
12--3
12--4
12--5
12--5
12--6
12--6
12--6
12--7
12--7
12--8
12--8
12--8
12--9
Table of Contents
Multiple Recoverable Major Faults . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Common Major Faults . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Minor Fault . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Heres How . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Demonstration Checklist . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ix
12--10
12--10
12--10
12--12
12--12
Exercise: Retrieving and Setting Logix5000 Controller Status Values with GSV/SSV
Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12- 13
Exercise A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
How Did You Do? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise B . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
How Did You Do? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
How Did You Do? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Answers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise B . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12--13
12--14
12--14
12--15
12--15
12--17
12--18
12--18
12--19
12--22
Programming a BTD Instruction in an RSLogix 5000 Project . . . . . . . . . . . . . . . . . . 13- 1
What You Will Learn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
When You Will Do This . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Before You Begin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Heres How . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
BTD Instruction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Demonstration Checklist . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Your Turn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
13--1
13--1
13--1
13--3
13--3
13--3
13--4
13--4
Exercise: Programming a BTD Instruction in an RSLogix 5000 Project . . . . . . . . . . 13- 5
Exercise A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Status Attribute for the Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
How Did You Do? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Answers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
13--5
13--5
13--6
13--8
13--8
Configuring a Logix5000 Message . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14- 1
What You Will Learn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
When You Will Do This . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Before You Begin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Unscheduled Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Messages to Logix5000 Controllers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Messages to Other Controllers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Configuring a Message . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
14--1
14--1
14--1
14--1
14--1
14--2
14--2
Table of Contents
Read, Write, and Block Transfer Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Creating and Entering a Numeric Communications Path . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
CIP Generic Message Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Message Execution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Heres How . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Demonstration Checklist . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
14--3
14--4
14--4
14--5
14--6
14--6
Exercise: Configuring a Logix5000 Message . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14- 7
Exercise A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
How Did You Do? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise B . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
How Did You Do? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Answers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise B . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
14--7
14--9
14--9
14--11
14--12
14--12
14--14
Developing an Add-On Instruction in Ladder Diagram . . . . . . . . . . . . . . . . . . . . . . . 15- 1
What You Will Learn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
When You Will Do This . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Before You Begin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Add-On Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Example of an Add-On Instruction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
An Add-On Instruction Uses a Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Key Parts of the Definition of an Add-On Instruction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Local Tags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Routine Type Control Editable in AOI Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Changes to the Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Add-On Instruction Design Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Heres How . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Planning the Parameters of an Add-On Instruction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Your Turn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Before You Begin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Language for the Logic Routine of the Instruction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Organization of the Logic Routine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Optional Scan Mode Routines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Heres How . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Deciding If You Need an EnableInFalse Routine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Your Turn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Before You Begin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Accessing Parameters via Logic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Editing an Add-On Instruction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exporting and Importing an Add-On Instruction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15--1
15--1
15--1
15--1
15--2
15--3
15--4
15--5
15--5
15--6
15--7
15--8
15--9
15--9
15--9
15--9
15--10
15--10
15--10
15--11
15--12
15--12
15--12
15--12
15--13
15--13
15--14
15--14
Table of Contents
Online Safety Warning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Referenced Add--On Instructions and User-Defined Data Types . . . . . . . . . . . . . . . . . . . . . . .
Example: When Not To Include Referenced Add-On Instructions and User-Defined Data Types
Heres How . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Creating an Add-On Instruction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Enter the General Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Enter the Definition Logic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Create the Parameters and Local Tags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Looking for Previously Developed Add-On Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Search the Sample Code Library (samplecode.rockwellautomation.com) . . . . . . . . . . . . . . . . .
Example of Search Result . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Heres How . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Using the Detect_Jam Instruction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Heres How . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
xi
15--15
15--16
15--16
15--16
15--17
15--17
15--17
15--18
15--18
15--19
15--19
15--19
15--19
15--20
15--20
15--20
15--20
Exercise: Developing an Add-On Instruction in Ladder Diagram . . . . . . . . . . . . . . . 15- 21
Exercise A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
How Did You Do? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise B . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
How Did You Do? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
How Did You Do? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
How Did You Do? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Answers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise B . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise B . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15--21
15--22
15--23
15--23
15--24
15--27
15--27
15--28
15--30
15--30
15--31
15--31
15--31
15--31
15--33
Managing RSLogix 5000 Project Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16- 1
What You Will Learn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
When You Will Do This . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Before You Begin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
File Storage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exporting a .acd Project File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Importing a .l5k Text File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Importing a .l5x XML File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Multiple Backup Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Compare Tool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
16--1
16--1
16--1
16--1
16--2
16--3
16--4
16--5
16--5
xii
Table of Contents
Heres How . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Demonstration Checklist . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
16--6
16--6
Exercise: Managing RSLogix 5000 Project Files . . . . . . . . . . . . . . . . . . . . . . . . . . . 16- 7
Exercise A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
How Did You Do? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Answers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
16--7
16--9
16--10
16--10
Allocating Connections in a Logix5000 System . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17- 1
What You Will Learn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
When You Will Do This . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Before You Begin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Connection Limits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Conserving Connections by Grouping Produced Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Example: Connection Requirements for Tags vs. an Array . . . . . . . . . . . . . . . . . . . . . . . . . . .
Message Connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Heres How . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Heres How . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
17--1
17--1
17--1
17--1
17--1
17--2
17--2
17--3
17--3
17--4
Exercise: Allocating Connections in a Logix5000 System . . . . . . . . . . . . . . . . . . . . 17- 5
Exercise A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
How Did You Do? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Answers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
17--5
17--5
17--6
17--6
Integrated Practice Developing an RSLogix 5000 Project . . . . . . . . . . . . . . . . . . . 18- 1
What You Will Learn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
18--1
Exercise: Integrated Practice Developing an RSLogix 5000 Project . . . . . . . . . . . 18- 3
Exercise A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
How Did You Do? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Answers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
18--3
18--8
18--10
18--10
Optional Lessons
Configuring Logix5000 Controllers to Share Data over a ControlNet Network . . . . . 19- 1
What You Will Learn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
When You Will Do This . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Before You Begin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Key Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ControlNet Nodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
19--1
19--1
19--1
19--1
19--1
Table of Contents
Cable System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Network Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Scheduled Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Unscheduled Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Information Exchange on the ControlNet Network . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Network Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
NUT (Network Update Time) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Example: NUT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SMAX (Scheduled Maximum Node) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Example: SMAX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
UMAX (Unscheduled Maximum Node) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Example: UMAX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Media Redundancy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Update Intervals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
RPI (Requested Packet Interval) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
API (Actual Packet Interval) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Example: RPI and API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Configuration Overview and Software Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Adding a ControlNet Module and Controller to an I/O Configuration . . . . . . . . . . . . . . . . . . . .
Produced and Consumed Tags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Scheduling a New ControlNet Network . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Heres How . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Demonstration Checklist . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
xiii
19--3
19--4
19--4
19--4
19--5
19--5
19--5
19--6
19--6
19--7
19--7
19--8
19--8
19--9
19--9
19--9
19--10
19--10
19--11
19--11
19--11
19--14
19--14
Exercise: Configuring Logix5000 Controllers to Share Data over a ControlNet
Network . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19- 15
Exercise A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
........................................................................
How Did You Do? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Answers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
19--15
19--15
19--17
19--18
19--18
Communicating with a 1756-I/O Module Over a ControlNet Network . . . . . . . . . . . . 20- 1
What You Will Learn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
When You Will Do This . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Before You Begin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ControlNet Remote I/O . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Heres How . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Demonstration Checklist . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
20--1
20--1
20--1
20--1
20--2
20--2
Exercise: Communicating with a 1756-I/O Module Over a ControlNet Network . . . . . 20- 3
Exercise A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
How Did You Do? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Answers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
20--3
20--4
20--6
20--6
xiv
Table of Contents
Appendices
I/O Wiring Diagrams For The Assembly Application . . . . . . . . . . . . . . . . . . . . . . . . . A- 1
Slot 0 -- 1756-OB16D Digital Output Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Slot 2 -- 1756-IB16D Digital Input Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Slot 4 -- 1756-OB16D Digital Output Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
........................................................................
Slot 7 -- 1756-OF6VI Analog Output Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Slot 8 -- 1756-IF6I Analog Input Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
A--1
A--2
A--3
A--3
A--4
A--5
ControlLogix Workstation I/O Device Assignments . . . . . . . . . . . . . . . . . . . . . . . . . B- 1
Local I/O Tags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
B--2
Node Assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C- 1
Course Overview
Course Overview
Course Purpose
Upon completion of this course, given a functional specification for
an RSLogix 5000 application, you will be able to develop a project
to meet the requirements of the specification.
This course covers tasks common to the following controllers, which
all use the Logix5000 control engine, or operating system:
ControlLogix controllers
CompactLogix controllers
SoftLogix controllers
DriveLogix controllers
This course builds upon your knowledge of common controller terms
and operation and your experience with basic ladder logic
programming.
This course presents a deeper understanding of project development
tasks that are common to all Logix5000 controllers. Such tasks
include organizing tasks and routines, organizing controller data,
configuring modules, and sharing data.
You will also use Producer/Consumer technology to multicast input
and output devices, share data between controllers, and control
remote I/O.
Who Should Attend
Individuals who need to develop RSLogix 5000 projects for any
Logix5000 controller should attend this course.
Activity: Introduce yourself, say the company you work for, and tell
the instructor and others what you hope to take away from this
course.
Course Overview
II
Prerequisites
To successfully complete this course, the following prerequisites are
required:
Ability to perform basic Microsoft Windows tasks
Completion of the RSLogix 5000 Level 1: ControlLogix System
Fundamentals course (Course No. CCP146), or completion of the
RSTrainer for ControlLogix Fundamentals computer-based
training course (9393-RSTCLX), or knowledge of common
controller terms and operation
Completion of the RSLogix 5000 Level 2: Basic Ladder Logic
Programming course (Course No. CCP151) or the ability to write
basic ladder logic with common instructions, such as bit, timer,
counter, move, and comparison instructions
Question: Is everyone comfortable with these skills?
Agenda
This course consists of the following lessons:
Day 1
15 minutes
20 minutes (40 minutes with optional
exercise)
90 minutes
60 minutes
160 minutes
30 minutes
Course Overview
Updating Logix5000 Firmware
Creating and Organizing a New RSLogix 5000 Project
Creating a Periodic Task in an RSLogix 5000 Project
Organizing Data in an RSLogix 5000 Project
Creating a User-Defined Data Type in an RSLogix 5000 Project
Day 2
60 minutes
185 minutes
90 minutes
90 minutes
Entering, Editing, and Verifying Ladder Logic in an
RSLogix 5000 Project
Communicating with a Local 1756-I/O Module
Configuring a Logix5000 Controller to Produce and Consume
Data
Configuring Logix5000 Controllers to Share Data over an
EtherNet/IP Network
(continued)
Course Overview
III
Day 3
45 minutes
Communicating with a 1756-I/O Module over an EtherNet/IP
Network
120 minutes
90 minutes
Creating an Event Task in an RSLogix 5000 Project
Retrieving and Setting Logix5000 Controller Status Values with
GSV/SSV Instructions
60 minutes
105 minutes
Programming a BTD Instruction
Configuring a Logix5000 Message
Day 4
90 minutes
40 minutes
60 minutes
225 minutes
120 minutes
65 minutes
Developing an Add-On Instruction in Ladder Diagram
Managing RSLogix 5000 Project Files
Allocating Connections in a Logix5000 System
Integrated Practice -- Developing an RSLogix 5000 Project
Optional: Configuring Logix5000 Controllers to Share Data over
a ControlNet Network
Optional: Communicating with a 1756-I/O Module Over a
ControlNet Network
Meeting Course Objectives
The following course structure is generally used to help you
understand the content and activities:
One lesson is devoted to each task.
Typical lesson includes most or all of these sections:
-----
What You Will Learn -- lesson objectives
Before You Begin -- preparatory material
Heres How -- demonstration of procedures
Exercise - opportunity to perform new skills, often in a
hands-on lab environment
-- How Did You Do? -- where to go for feedback on
performance
-- Answers -- answers to exercises
Integrated practices provide an opportunity to perform tasks using
the skills obtained during the training.
IV
Course Overview
Student Materials
To enhance and facilitate your learning experience, the following
materials are provided as part of the course package:
Student Manual, which contains the topical outlines and
exercises. Use this manual to follow presentations, take notes, and
work through your exercises.
RSLogix 5000 and Logix5000 Procedures Guide, which provides
all of the steps required to complete basic RSLogix 5000 software
tasks that are common to all Logix5000 hardware platforms. By
following the procedures in this job aid, you can immediately
apply what is learned in the course to your own job.
Logix5000 Controllers Design Considerations Reference Manual,
which contains guidelines for designing a Logix5000 application.
Logix5000 Documentation Reference Guide, which contains
several relevant technical publications. This searchable, electronic
resource contains the most frequently referenced programming
information and is a quick and efficient on-the-job resource.
Reference: Your instructor will show you these job aids now.
Hands-On Exercises
Throughout this course, you will have the opportunity to practice the
skills you have learned through a variety of hands-on exercises.
These exercises focus on the skills introduced in each lesson.
You will also have the opportunity to combine and practice several
key skills by completing an integrated practice.
To complete the exercises and the integrated practice, you will use a
ControlLogix hardware workstation. Because the basic skills taught
in the course apply to all Logix5000 platforms, you can apply what
you have learned to the specific platform that you use in your plant.
Certificate Candidates
If you are a candidate for a Certificate Exam, you must:
Take notes
Ask questions for clarification
Follow along with demonstrations using the job aids
Complete all labs
Tip "
The Certificate Exam questions are scenario--based and may require
you to understand information from all of these areas.
To study for the exam, you must keep all class materials and your
written notes.
Course Overview
Configuration and
Programming Examples
The configuration and programming examples shown in this course
are intended solely for purposes of example.
You will have different requirements associated with your
application. You must verify that the necessary steps have been
taken to meet all performance and safety requirements.
Reference: See the Important User Information in your Student
Manual for more details.
ControlLogix/RSLogix
5000 Curriculum Map
After completing this training, you may be interested in one or more
of the following courses:
RSLogix Level 4: PhaseManager Project Design
[CCP711, 1 day]
RSLogix 5000 Level 4: Motion Programming Using Ladder Logic
[CCN142, 3 days]
GuardLogix Application Development [SAF-LOG101, 2 days]
Reference: See the curriculum map in the front of your Student
Manual for a complete listing of available ControlLogix/RSLogix
5000 courses.
VI
Course Overview
Lesson
Note that this lesson briefly reviews
prerequisite concepts before presenting
the firmware piece. Tailor this lesson as
needed.
What You Will Learn
Updating Logix5000 Firmware
After completing this lesson, you should be able to update module
firmware.
When You Will Do This
You will perform these tasks in the following situations:
You will need to update module firmware:
-- When installing a brand new ControlLogix controller
-- When upgrading to a newer version of RSLogix 5000
software to ensure hardware and software remain in lockstep
Before You Begin
Review
The PowerPoint presentation
contains hidden slides that can
be used to conduct the review.
Activity: Your instructor will briefly review uploading,
downloading, and going online to a controller.
Topics include keyswitch positions;
uploading, downloading, and going
online; and interpreting a
communications path.
Updating Module Firmware
State that customers can obtain the
required revision levels at the
support.rockwellautomation.com/support
website for ControlFLASH.
Note that a minimum of one
communications device is required
to update modules. Serial
communications can be
used, but data transfers
at the slowest rate.
Method
ControlFLASH Utility
AutoFlash Function
To use all of the features of a new revision of RSLogix 5000
software, controller and servo module firmware must be in lock-step
with software.
The firmware loaded in Logix5000 controllers and
motion modules must match the version of
RSLogix 5000 software you are using.
There are three methods available for updating module firmware:
How Used
Standalone tool (can be
launched manually or through
RSLogix 5000 software).
Integrated with RSLogix 5000
software. It automatically
checks firmware during project
download.
Devices Supported
Controllers, communication
modules, I/O modules,
SERCOS drives, and other
devices.
Communication Supported
Valid CIP path to device being
updated (includes serial,
DeviceNet, ControlNet,
EtherNet/IP).
(Continued)
Rev. August 2012
E 2012 Rockwell Automation, Inc. All rights reserved.
FW3sb56r
1--2
Updating Logix5000 Firmware
Method
Firmware Supervisor
How Used
Integrated on the controller
CompactFlash card and runs
without user intervention.
Devices Supported
Supports local and remote
devices that:
Are in the I/O tree and
configured as Exact Match.
Support firmware upgrades
via ControlFLASH.
Are at a hardware revision
that supports the firmware
stored for that device.
Communication Supported
Supports all communication
paths to devices in the
controller I/O tree that also
support ControlFLASH.
When updating a modules firmware, note the
following key points:
Updating a module will delete the current
module contents.
Updating module firmware temporarily disables
the module from controlling other devices.
Evaluate what portion(s) of a process the
module may control before starting an update.
Interrupting an update by disabling
communications or removing the module from
the chassis may damage the module.
Do not backflash a 1756-I/O modules
firmware from firmware revision 3.x to 2.x.
Attempting to backflash or downgrade the
modules firmware will irreversibly damage the
module. You must return modules damaged by an
attempt to backflash to firmware 2.x to Rockwell
Automation.
Do not flash a 1756-I/O modules firmware
from firmware revision 2.x to 3.x. Attempting to
flash a modules firmware will irreversibly
damage the module.
Do not backflash 1756-SOE (Sequence of
Events) modules at firmware revision 1.6 to
revision 1.5 or earlier. Backflashing SOE
modules at firmware revision 1.6 may cause the
SOE module to stop working and require that the
module be returned for repair.
E 2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
FW3sb56r
Updating Logix5000 Firmware
Tip "
Heres How
IMPORTANT: When performing
Exercise A, be sure to run the
Quick Start video for the
students on the overhead. This
will eliminate the need for
earphones or the distraction of
overlapping audio during the exercise.
1--3
If you have questions regarding the compatibility of RSLogix 5000
software with specific controllers or hardware modules, contact your
local distributor or Rockwell Automation Technical Support.
To update module firmware.
Activity: As your instructor demonstrates these procedures, follow
along in the associated job aid(s).
Demonstration Checklist
IMPORTANT: To meet IACET CEU
requirements and fully prepare
certificate students for the final exam,
you must demonstrate all lesson
objectives using the proper job aids.
Use the steps below and the information
on the Demonstration Checklist to help
guide you during the demonstration:
IMPORTANT: Before performing this
demonstration, ensure that the controller
in slot 3 of your demonstration
workstation has been back-flashed to
a firmware version below version 17.
Use the FW3_1756R_DEM1.acd file to
download and go online to the controller
in Slot 1.
Pay attention to these critical aspects of the demonstration:
-
Download the first project and go online.
Download the second project to the controller.
What happens when the project is downloaded?
How is this situation resolved?
What tools are available for flashing module firmware?
Use the FW3_1756R_DEM2.acd file to
download to the controller in slot 3.
When the firmware revision mismatch
occurs, show students how the
automatic firmware update feature
works.
Important: Emphasize that flashing
firmware will not be practiced in the lab.
Rev. August 2012
E 2012 Rockwell Automation, Inc. All rights reserved.
FW3sb56r
1--4
Updating Logix5000 Firmware
E 2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
FW3sb56r
Exercise: Updating Logix5000 Firmware
1--5
Exercise: Updating Logix5000
Firmware
Exercise A
In this exercise, you will practice updating Logix5000 firmware.
Activity: As a group, you will view the Update a Modules
Firmware Quick Start tutorial. The steps below will help you access
the file for later review or independent practice.
This exercise uses RSLogix 5000 Start Pages to
demonstrate the controller flashing procedure. Do
not perform this procedure on the workstation
unless authorized to do so. Failure to correctly
perform this procedure can make the controller
inoperable.
Context:
Before flash updating the new ControlLogix controllers you recently
received, you will review the proper flash update procedure and
answer the corresponding questions.
Directions:
1. If it is closed, open RSLogix 5000 software.
2. View the Start Page.
3. Click the Learning Center tab.
4. From the How Do I? menu, select the Maintain folder.
5. View the Update a Modules Firmware tutorial.
Tip "
Although the video focuses on the CompactLogix platform, the basic
steps can be applied to any Logix5000 controller that supports flash
download.
6. Which modules must always be in lock-step with the version of
RSLogix 5000 you are using?
Rev. August 2012
E 2012 Rockwell Automation, Inc. All rights reserved.
FW3e56r
1--6
Exercise: Updating Logix5000 Firmware
7. When is a maintainer most likely to update other modules (I/O,
communications, etc.)?
8. What tool can be used to update module firmware?
How Did You Do?
E 2012 Rockwell Automation, Inc. All rights reserved.
Turn to the Answers section.
Rev. August 2012
FW3e56r
Exercise: Updating Logix5000 Firmware
Rev. August 2012
1--7
E 2012 Rockwell Automation, Inc. All rights reserved.
FW3e56r
1--8
Exercise: Updating Logix5000 Firmware
Answers
Exercise A
6. Your controllers, motion modules, and SERCOS drives all must
match the version of RSLogix 5000 software you are using.
7. A maintainer is most likely to update other module firmware
when replacing a failed module.
8. The ControlFLASH tool can be used to update module
firmware.
E 2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
FW3e56r
Lesson
Creating and Organizing a New
RSLogix 5000 Project
What You Will Learn
Important: This lesson covers the
default project organization. Periodic
tasks and event tasks are covered in
separate lessons.
Stress that deleting project components
is not as simple as selecting delete from
a right-click menu. Because deleting can
be done online, it is a more detailed
procedure.
Note that the use of tasks and programs
is a major difference from RSLogix 5 and
500 softwares.
Before You Begin
Note that .l5k text files are part of a
separate lesson.
After completing this lesson, you should be able to:
Create a new RSLogix 5000 project file
Modify controller properties
Create a program and routine
Adjust a program schedule
Copy and reuse programs and routines
Delete a routine, program, and task
Verify tasks, programs, and routines
When You Will Do This
Before you enter the logic for your application, you have to
configure the tasks, programs, and routines that will run the logic.
Key Terms
Project/Project File: The RSLogix 5000 software file used to store
all programming and configuration information for a Logix5000
controller.
Project Organization
State that the multitasking system is like
32 separate PLC-5 controllers that take
turns controlling.
Note that task execution is based on
priorities that are assigned by the user.
This will be discussed in detail later.
Rev. August 2012
A Logix5000 controller is a preemptive, multitasking controller with
the following characteristics:
Is single-threaded in that only one task will be active at a time
Has the ability to interrupt an executing task, switch to a different
task, then return control back to the original task when the
interrupting task is complete
E 2012 Rockwell Automation, Inc. All rights reserved.
TS2sb56r
2--2
Creating and Organizing a New RSLogix 5000 Project
Clarify that tasks and programs are
organizing elements (like folders in
Windows Explorer). Routines contain the
actual ladder logic.
To maximize these multitasking capabilities, the following
containers are available to organize an RSLogix 5000 project:
Task: A scheduling mechanism for executing its scheduled
programs.
Program: A set of related routines and tags.
Routine: A set or sequence of executable code.
Default Project Structure
By default, there is one task, program, and routine created in each
new project:
When reviewing this graphic, note the
following elements:
1. Each task can be divided into
programs based on function, area,
or some other attribute.
2. Each program can have as many
routines as memory allows. One
routine must be defined as the main
routine and the rest will be
subroutines.
Tip "
Default Structure
and Names
The names and properties of these components can be modified to
suit your application.
Creating a New Task
A task triggers the execution of its scheduled programs. The
following table outlines the type of tasks that are available:
If students are familiar with PLC-5
controllers, relate the periodic task to an
STI.
Important: Remind students that
periodic and event tasks are only
mentioned here as an overview. This
topic is presented in more detail in a
later lesson.
E 2012 Rockwell Automation, Inc. All rights reserved.
Task Type
Usage
Continuous
A task that runs continuously but can be interrupted by
periodic or event tasks (default task type).
Periodic
A task that executes regularly at a user-specified rate.
When called, it will interrupt any lower priority tasks.
Event
A task that is triggered only when a specific event
occurs. When called, it will interrupt any lower priority
tasks.
Icon
Rev. August 2012
TS2sb56r
Creating and Organizing a New RSLogix 5000 Project
? If a ControlLogix controller has one
continuous task and 4 periodic, how
many event tasks could it have?
Answer: 27 (27+4+1=32)
? If a DriveLogix controller has zero
2--3
Reference: Logix5000 Controllers Design Considerations,
1756--RM094
1. Find the Logix5000 Controller Comparison tables at the front of
the manual.
continuous tasks and 4 periodic, how
many event tasks could it have?
2. Compare the number of tasks you can have in various controllers.
Answer: 4 (4+4 = 8)
Continuous Task
Compare this to the program files in an
RSLogix 5 or 500 project.
A continuous task has the following characteristics:
Is a background task that executes any time other operations, such
as periodic or event tasks, are not executing
Note that self-triggered means that as
soon as it ends, the task begins again. It
also means that the routine does not
have to be called (activated).
Operates in a self-triggered mode (automatically restarts after
If students are familiar with Basic
programming, compare this to
programming a Goto 10 statement in the
last line.
By default, has the lowest priority (one lower than the lowest
each completion)
Can be interrupted by a periodic or event task
periodic or event task)
Only ONE task can be continuous
Watchdog Timers
Note that the watchdog timer in a PLC-5
processor is for the entire controller.
Here, the watchdog timer is set for each
task.
Tip "
Point out that the last scan and max
scan can be viewed online. In a different
lesson, students will learn to monitor the
scan times using ladder logic
instructions.
A watchdog timer monitors the execution of a task. The timer is
started when a task is initiated and stops when all programs within
the task have executed.
A watchdog timer continues to run even if a task is interrupted, so
its important that the watchdog timer is set to a large enough value.
Ensure that the time period is longer than the sum
of the execution time of all the programs assigned
to the task. If the controller detects that a periodic
task trigger occurs for a task that is already
operating, a minor fault occurs.
If a watchdog timer reaches its configured preset, a
major fault occurs. Depending on the controller
fault handler, the controller may shut down.
Rev. August 2012
E 2012 Rockwell Automation, Inc. All rights reserved.
TS2sb56r
2--4
Creating and Organizing a New RSLogix 5000 Project
To inhibit a task:
Inhibited Task
1. Inhibit all tasks except one.
The following icon in the Controller Organizer indicates that the task
has been prevented from executing by a user option or instruction:
2. Run the project and monitor the
execution of the active task.
3. When the task meets the
requirements of the system, repeat
the process, testing a different task.
Inhibited Task
Tip "
State that tasks can also be inhibited or
uninhibited using SSV instructions.
Mention that for information on
equipment phases, attend the
PhaseManager course.
This inhibit option can be used to test, diagnose, or start up a project.
If a task is inhibited, the controller still pre-scans
the task when the controller transitions from
Program to Run or Test mode.
Creating a Program
A program is the second level of scheduling within a project. A
program has the following characteristics:
Each task can schedule up to 100 programs.
When a task is triggered, its programs execute in sequence from
the first scheduled to the last scheduled.
Programs within a task can access input and output data directly
from controller-scoped memory:
Code within any program can modify controller-scoped data.
Code within a program can also modify program-scoped data:
-- Code within one program cannot access or modify the data
that is local to a different program.
The Create New Program button is shown in the following graphic:
Optional Toolbar
Create New Program
E 2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
TS2sb56r
Creating and Organizing a New RSLogix 5000 Project
2--5
Adjusting a Program Schedule
Mention that the entire schedule can be
viewed in the Task Properties dialog
box. Otherwise, programs can be quickly
scheduled or unscheduled in the
Controller Organizer.
Programs can be scheduled in a specific task or left unscheduled:
Original equipment manufacturers may create one project and
then schedule or unschedule a program depending on the
equipments required functionality.
Note that these methods will be
demonstrated in the Heres How section.
Maintenance or field service technicians may create
Add that unscheduled programs do not
use any scan time.
troubleshooting programs that are left unscheduled until needed
to test a project.
The following example shows a program schedule:
Adjust Order
Program
Schedule
Unscheduled
Programs
Actual Program Scan Time
The software can display the maximum scan time and the last scan
time in microseconds for a selected program:
Scan time is based on the number and type of instructions.
These values are execution times for the program and do not
include any time spent waiting for other programs or tasks.
State that a Compute instruction will
take longer than using simple multiply
and divide instructions.
Note that the GSV instructions that are
used to monitor program time are
presented in a different lesson. Tip
Rev. August 2012
These values are for display only.
"
Values can also be monitored using specific instructions in code.
E 2012 Rockwell Automation, Inc. All rights reserved.
TS2sb56r
2--6
Creating and Organizing a New RSLogix 5000 Project
Creating a Routine
A routine provides the executable code, or decision-making
instructions, for a project. Each routine contains a set of elements for
a specific programming language:
Ladder Logic -- suited for relay or discrete applications
Function Block Diagram -- suited for continuous process and
drives control applications
Note that ladder logic is the most
common language used.
Sequential Function Chart -- suited for motion or batch
applications or concurrent applications where more than one state
is active at one time. Also suitable for sequential applications
such as assemble or packaging machines.
Structured Text -- suited for complex math or array applications
or for programs converted from other projects created in
high-level languages like C
Tip "
The availability of these languages will depend on the options that
have been selected and installed.
A routine can be assigned as one of the following types:
Main Routine: A routine that executes automatically when the
controller triggers the associated task and program:
-- Can be of any language
-- Is marked with a 1 in the Controller Organizer
Fault Routine: A routine that is configured to execute when the
controller finds an instruction-execution fault within any routines
in the associated program:
-- Is marked with a yellow triangle in the Controller Organizer
Subroutine: A routine that is called by another routine:
-- Is called by a JSR (Jump to Subroutine) instruction in the
main routine or another subroutine (conditioned or
unconditioned)
-- Returns to the other routine when complete or if a condition is
met
E 2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
TS2sb56r
Creating and Organizing a New RSLogix 5000 Project
Stress that routines are not listed in the
order of execution. JSR instructions
determine the order of the subroutine
execution.
2--7
The main routine is always listed first, followed by a fault routine (if
any), and then all subroutines in alphabetical order:
For troubleshooting, mention that you
can create a cross-reference report that
lists all JSR instructions that call a
subroutine and their locations in the
ladder logic. This will be presented in a
different lesson.
Main Routine
Ladder Logic Routine
Fault Routine
Subroutines
Structured Text Routine
Sequential Function
Chart Routine
Function Block
Diagram Routine
In the graphic point out the 1 on the
main routine.
The following is an example of subroutine structure:
When the conditions are met, the main routine
calls the Level subroutine.
Example Ladder Logic in the Main Routine
Subroutine
If necessary, define a nested routine as
a subroutine that is activated from within
another subroutine.
Note that cross-reference reports are
part of the Documenting and Searching
For Ladder Logic Components lesson.
Rev. August 2012
The Create New Routine button is shown in the following graphic:
Optional Toolbar
Create New Routine
E 2012 Rockwell Automation, Inc. All rights reserved.
TS2sb56r
2--8
Creating and Organizing a New RSLogix 5000 Project
Program Control Instructions
Note that if there are no input
parameters, control passes from the
JSR instruction to the first rung of the
subroutine.
When enabled, the ladder logic JSR instruction directs the logic
execution to the specified subroutine and, if needed, passes
parameters to the subroutine:
Numeric, structured parameters, and BOOL data type tags can be
passed.
The SBR (Subroutine) instruction receives the input parameters and
copies their values into the specified tags:
The optional SBR instruction identifies the tags that store the
incoming parameters.
The RET (Return) instruction ends the subroutine and, if needed,
returns parameters to the JSR instruction:
-- Use the RET instruction only if you are returning parameters
to the JSR instruction.
System Overhead Timeslice
Note that the system overhead timeslice
is located in the Advanced tab of the
Controller Properties dialog box.
Add that because the serial port is in the
controller, it affects controller operation.
If necessary, review RIUP.
In the graphic, point out that the far right
area is used for overhead functions. If
there are no functions, the time is
available for the continuous task.
If there is no continuous task, then the
system overhead timeslice is irrelevant.
Note that 20% is the default.
The user-configurable system overhead timeslice determines the
percentage of controller time that is available for the following
background functions:
Communicating with programing devices and programming
software
Messaging
Bridging communications from the controllers serial port to
other devices via the backplane
Re-establishing and monitoring I/O connections (RIUP
conditions)
The system overhead timeslice percentage does not affect executing
periodic or event tasks:
Controller Execution Time
Time for Periodic or Event Tasks
Time for the Continuous Task %
System Overhead
Timeslice Percentage
E 2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
TS2sb56r
Creating and Organizing a New RSLogix 5000 Project
Mention in step one that the data is
multicast to the backplane then received
by the controller.
Chalk Talk: If students have a PLC or
SLC background, you may want to draw
the PLC/SLC scan diagram on the board
for comparison.
When reviewing the diagram, explain the
following steps based on the experience
of the class and the lessons already
covered:
1. Each rung of ladder logic (code) is
scanned.
2--9
Asynchronous Updates
Asynchronous: Actions that occur independently of each other and
lack a regular pattern.
In Logix5000 controllers, I/O values update asynchronously with the
execution of code:
1. Input modules multicast their data to the backplane at the RPI rate
set in the modules.
2. The code is scanned and the output tags are updated immediately
after the execution of each output instruction.
2. As higher numbered rungs are
3. Values are sent to the output modules at the RPI rate and at the
scanned, the inputs may change and
end of each task.
therefore, the outputs may change
as reflected in the tag
database image.
Tip " The automatic output processing that occurs at the end of a task can
3. The RPI is the rate at which the user
configures the output modules to
update.
be disabled in the properties of the task.
Because of the update process, input devices may change state within
one program scan and at a different rate than the program scan:
Single Scan
Physical Device Data is
received by the input card
RPI Rate
Rung
100
COS
Rung
250
Tag is set or cleared in controller
Optional
RPI Rate
Rev. August 2012
Rung
400
E 2012 Rockwell Automation, Inc. All rights reserved.
TS2sb56r
Creating and Organizing a New RSLogix 5000 Project
2--10
Relate the organizational tips to an
example compressor assembly project:
S
The project has three assembly
machine stations in the first
controller; therefore, an Assembly
task is created.
Each station (press, stake, and
weld) becomes a program in the
Assembly task. Instead of having a
separate controller run the machine
at each station, one controller runs
them all.
Each program has a control routine
for the machine. A main routine is
used to call the control routine (and
any future routines).
If available, give examples of naming
conventions and how they are
constructed.
Give students a few minutes to
read the section.
Project Organization Best Practices
To efficiently organize a project:
Divide the process into functional groups or sections that
represent one or more facets of the process:
-- Sequence of related actions that operators perform
-- Group of related process events
-- Machine or machine sections
Divide each program into routines, where each routine represents
one or more facets of the program:
-- Specific process within the program
-- Section of application code that could be hidden to facilitate
troubleshooting
-- Function that occurs at several instances during the program
-- A main routine that will call up the subroutines of the program
Create and apply plant naming conventions for tasks, programs,
routines, and tags.
Reference: Logix5000 Controllers Design Considerations,
1756--RM094
1. Go to the Divide Logic into Tasks, Programs, Routines, and
Add--On Instructions chapter.
2. Go to the Decide When to Use Tasks, Programs, and Routines
section.
3. Briefly read the information on when to use a task, program, or
routine.
Have each student do this on
their own. Then go over the
answers as a group.
Activity: For each of the situations below, decide if you would
separate the logic at the task, program, or routine level. Check the
appropriate box:
For this situation
Program
A. A conveyor line uses a series of diverters to sort packages. Each diverter uses
identical logic.
Task
B. You only need to update your analog devices every 250 ms, but you must update
your discrete devices every 20 ms.
Routine
C. The logic for a conveyor performs these functions: initialize, run, return status
information, handle faults.
Task
D. A grinding application monitors an over--current sensor on the feed motor. If the
sensor trips, the operation needs to immediately abort to prevent the stone from
shattering.
Routine
E. A mixing tank uses a combination of 2--state devices to mix juice:
Separate the logic at this level
Task
Program Routine
Several valves open and close to add wet and dry ingredients.
A single--speed motor mixes the ingredients.
An outlet valve opens to drain the tank.
E 2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
TS2sb56r
Creating and Organizing a New RSLogix 5000 Project
2--11
Example: Project Organization
Note that the organization of this project
is not very different from a typical PLC-5
project.
In this example, a paper mill converted a time-tested PLC-5
ladder logic project into an RSLogix 5000 project. All of the
logic was placed in one continuous task and follows the basic
default project structure:
Single Continuous Task
Similar to Traditional
Controller Project
Select tool windows can now
be docked in RSLogix 5000s
main window, float on top of
the window, or become an
Auto Hide tool window.
This applies to:
Program
Main Routine
S
S
S
S
S
Subroutines
Controller Organizer
Errors
Search results
Watch
Start page
Verifying Tasks, Programs, and Routines
Mention that the verification process is
similar to the RSLogix 5 and 500
process with the addition of tag
verification.
After organizing your controller project, you can verify it. In this
process, the software looks for errors such as unassigned routines.
The following buttons are available to verify the entire controller
project or routine:
Standard Toolbar
Verify Open Routine
Rev. August 2012
Verify
Controller
E 2012 Rockwell Automation, Inc. All rights reserved.
TS2sb56r
2--12
Creating and Organizing a New RSLogix 5000 Project
Errors or warnings found in the verification process are displayed in
the Output window:
Double-Click to
Go to the Error
or Warning or
Press F4
Heres How
IMPORTANT: To meet IACET CEU
requirements and fully prepare
certificate students for the final
exam, you must demonstrate Tip
all lesson objectives using
the proper job aids.
To access video-based help files:
Follow along as your instructor demonstrates this procedure.
"
There are many video-based help files to assist in everything from
development of an RSLogix 5000 project to maintaining one.
Use the steps below to help guide you
during the demonstration:
Access the files through the Help menus
Learning Center How Do I section.
Show one or two examples of the video
help. You can stop them after a few
moments. This is just to show how the
system works. If Lesson 20 will be used,
skip this Heres How.
Example
E 2012 Rockwell Automation, Inc. All rights reserved.
Access the files through the Help menus Learning Center How Do
I section:
Rev. August 2012
TS2sb56r
Creating and Organizing a New RSLogix 5000 Project
2--13
For example, under Controller Projects you would find subjects on
creating and downloading projects. Under Maintain you would find
information on clearing faults or searching.
Heres How
To perform the following tasks:
Create a new RSLogix 5000 project file
Modify controller properties
Create a program and routine
Adjust a program schedule
Copy and reuse programs and routines
Delete a routine, program, and task
Verify tasks, programs, and routines
Activity: As your instructor demonstrates these procedures, follow
along in the associated job aid(s).
Demonstration Checklist
IMPORTANT: To meet IACET CEU
requirements and fully prepare
certificate students for the final exam,
you must demonstrate all lesson
objectives using the proper job aids.
Use the steps below to help guide you
during the demonstration:
Create a new RSLogix 5000 project.
When demonstrating the listed
procedures, point out the following
items:
Pay attention to these critical aspects of the demonstration:
-
Location of the procedures in the job aid
Revision must match the major firmware revision of the
controller
The MainTask, MainProgram, and
MainRoutine
Initial name of the project file
The Main Routine Assignment
drop-down list
What happens if you change the name of the controller
or the name of the project file
The max scan time
Which name shows up in RSWho
The System Overhead Timeslice
option
Once you pick the firmware revision for a project, you
cannot change it to a lower revision
Task, program, and routine hierarchy
Where you assign a main routine for a program
How to see the maximum scan time of a task
Where you change the system overhead timeslice value
" The copying and reusing programs
and routines procedure is part of the
Copying and Reusing Project
Components procedure in the
Procedures Guide.
Rev. August 2012
E 2012 Rockwell Automation, Inc. All rights reserved.
TS2sb56r
2--14
Creating and Organizing a New RSLogix 5000 Project
E 2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
TS2sb56r
Exercise: Creating and Organizing a New RSLogix 5000 Project
2--15
Exercise: Creating and Organizing
a New RSLogix 5000 Project
Exercise A
In this exercise, you will practice creating and organizing a new
RSLogix 5000 project.
Context:
You are familiar with the systems hardware and software
components. You are now ready to create a new RSLogix 5000
project file to hold your programming and configuration information.
You are also ready to organize the project and direct the execution of
the code.
When you see underlined text, refer to the related procedure or
information in your job aid.
Directions:
1. From the Help Menu open the Learning Center:
A. Select the How Do I tab.
B. Select Controller Projects.
C. View the Video Create a New Project.
D. Remember as you go through the additional lab and steps that
the Help system is there to assist you in your work.
2. Create a new RSLogix 5000 project file for the controller in slot 1
of your workstation. Give it this name: Paint.
3. Modify the following controller properties:
A. For an anticipated increase in communications, change the
system overhead timeslice to 25%.
4. Rename the Main Task as Paint.
Rev. August 2012
E 2012 Rockwell Automation, Inc. All rights reserved.
TS2e56r
2--16
Exercise: Creating and Organizing a New RSLogix 5000 Project
5. Create the following programs and routines:
Task
Paint
(This task
automatically
restarts when it
is done.)
The watchdog
timer value must
be 600 ms.
Programs
Routines
Purpose
Paint_line_1
(Rename the
MainProgram)
MainRoutine
Ladder that enables the
subroutine
Paint_Control
Ladder that controls the
paint gun
MainRoutine
Ladder that enables the
subroutine
Paint_Control
Ladder that controls the
paint gun
MainRoutine
Ladder that enables the
subroutine
Paint_Control
Ladder that controls the
paint gun
Paint_line_2
Paint_line_3
6. Copy the Paint_line_3 program (with all of its contents).
7. Paste the copied program into the Paint task and change its name
to Paint_line_4.
8. Adjust the program schedule in the Paint task so that the
programs execute in this order:
A. Paint_line_3
B. Paint_line_1
C. Paint_line_2
D. Paint_line_4
9. Delete the Paint_line_4 program (and all of its contents).
Tip "
Remember that all elements must be unassigned and removed first.
10. Verify the tasks, programs, and routines and correct any errors.
11. Save the project file.
Tip "
Another programmer was assigned to create and organize the project
for the controller in slot 3 for a quality check. Although this is not
the paint line, you still want to follow the same style and conventions
for easy troubleshooting.
12. Open the TS2_1756r_A1.acd file.
13. Examine all properties of the tasks (continuous and periodic),
programs, and routines programmed in the project.
E 2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
TS2e56r
Exercise: Creating and Organizing a New RSLogix 5000 Project
2--17
14. Which task is periodic?
15. Which task is continuous?
16. In which order do the programs in the continuous task execute?
17. What are the subroutines in the Station_4_Quality program?
How Did You Do?
Rev. August 2012
Turn to the Answers section.
E 2012 Rockwell Automation, Inc. All rights reserved.
TS2e56r
2--18
Exercise: Creating and Organizing a New RSLogix 5000 Project
Answers
Exercise A
3.
A. The System Overhead Time Slice is configured on the
Advanced tab of the Controller Properties dialog box.
5. The main routine for a program is assigned on the
Configuration tab of the program properties dialog box:
7. The tasks, programs, and routines entered in the Paint project
are shown in the following graphic:
Watchdog Timer
Set to 600 ms
Assigned as
Paint_line_3
Main Routine
Assigned as
Paint_line_1
Main Routine
Assigned as
Paint_line_2
Main Routine
Assigned as
Paint_line_4
Main Routine
E 2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
TS2e56r
Exercise: Creating and Organizing a New RSLogix 5000 Project
2--19
9. To delete the Paint_Line_4 program, you must perform the
following actions:
A. Unassign MainRoutine as the main routine.
B. Delete the MainRoutine and the Paint_Control routines.
C. Unschedule the program.
D. Delete the program.
14. Record_Shift_Number, identified by the clock icon, is the
periodic task:
15. Assembly, identified by the round arrow icon, is the continuous
task.
16. The programs in the continuous task execute in this order:
A. Common
B. Station_4_Quality
C. Station_5_Palletize
17. The Station_4_Quality program contains the following
subroutines:
Check
Data_Logging
Reject
Rev. August 2012
E 2012 Rockwell Automation, Inc. All rights reserved.
TS2e56r
2--20
Exercise: Creating and Organizing a New RSLogix 5000 Project
E 2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
TS2e56r
Lesson
Creating a Periodic Task in an
RSLogix 5000 Project
What You Will Learn
After completing this lesson, you should be able to:
Determine the period (rate) for a periodic task
Create a periodic task
When You Will Do This
If you have logic you want to run at a specific time period, create a
period task for it.
Before You Begin
Task Type Review
A task triggers the execution of its scheduled programs. The
following table outlines the type of tasks that are available:
If students are familiar with PLC-5 or
SLC 500 controllers, relate the periodic
task to an STI (Selectable Timed
Interrupt).
Rev. August 2012
Task Type
Usage
Continuous
A task that runs continuously but can be interrupted by
periodic or event tasks.
Periodic
A task that executes regularly at a user-specified rate.
When called, it will interrupt any lower priority tasks.
Event
A task that is triggered only when a specific event
occurs. When called, it will interrupt any lower priority
tasks.
Icon
E 2012 Rockwell Automation, Inc. All rights reserved.
PERsb56r
3--2
Creating a Periodic Task in an RSLogix 5000 Project
Periodic Task
Add that a task that is 8 ms in duration
and is executed every 8 ms will block all
other tasks of lower priority from
executing.
Fault Example: If a periodic task
executes every 8 ms and it is 11 ms in
duration, the controller will fault.
Tip "
A periodic task has the following characteristics:
Is triggered by the controller at a regular, repeated time interval
determined by the user
Always interrupts and suspends the continuous task
May interrupt other periodic or event tasks with a lower priority
level:
-- An interrupted task does not shift its start time.
-- An interrupted task will stop mid-instruction.
When executing, scans all assigned programs once from top to
bottom
After a single scan, an output update is triggered and controller is
returned to the interrupted task at the point it was interrupted
Like a continuous or event task, periodic tasks require at least one
program and one routine.
Example: Periodic Task Use
Periodic tasks are selected for processes that require accurate and
deterministic execution:
Check pressure on a machine at regular intervals
Correct a PID loop at regular intervals
E 2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
PERsb56r
Creating a Periodic Task in an RSLogix 5000 Project
3--3
Example: Project Organization
Note that this project takes advantage of
some of the Logix5000 organizational
elements.
In this example, the motion application includes two periodic
tasks to ensure execution at specific time intervals:
Periodic Task
(with Times
in Names)
Rev. August 2012
E 2012 Rockwell Automation, Inc. All rights reserved.
PERsb56r
3--4
Creating a Periodic Task in an RSLogix 5000 Project
Periodic Task Properties
The user--defined properties for each periodic task determine when
the task is executed:
In the graphic, point out that the period
is when the task starts and not how
long it takes.
Start Interval
Priority Level
Important
Priority
Information
Period
The period determines the start interval for the task:
The trigger time range is 1 ms (millisecond) to 2000 seconds.
The default is 10 ms.
If a periodic task retriggers before the task is
done, a minor fault will occur.
The rate at which a periodic task is triggered
determines the period in which the logic is executed
and the data is manipulated within the task. Data
outputs established by the programs in a task retain
their values until the next execution of the task or
until they are manipulated by another task.
E 2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
PERsb56r
Creating a Periodic Task in an RSLogix 5000 Project
3--5
Priority
Each periodic and event task in a controller has a priority level that
determines which task executes when multiple tasks are triggered:
Priorities are assigned by the user.
Clarify that the lower number (1) gives
the task a higher priority or importance.
There are 15 levels of priority, with 1 being the highest priority
and 15 being the lowest:
-- A task with a higher priority will execute first (i.e., 1 before 3)
Note that the fastest or shortest task will
not necessarily be the highest priority.
Task priorities are relative:
-- If there are only three tasks, priorities of 6, 7, and 8 will
Clarify that this means the continuous
task automatically has the lowest priority.
A user cannot configure the priority for a
continuous task.
function the same as priorities of 1, 2, and 3.
Although no priority level is assigned, the motion task is always
the highest priority.
Although no priority level is assigned, the continuous task is
always one priority level lower than all other tasks.
Highest Priority
Motion Task
Trend
Point out that periodic and event tasks
use the same priority scale/levels.
Therefore, whichever task has the
highest priority executes first, regardless
of the task type.
Event or Periodic Task - Priority 1 . . .
Event or Periodic Task - Priority 5 . . .
Event or Periodic Task - Priority 10 . . .
Event or Periodic Task - Priority 15 . . .
Lowest Priority
Rev. August 2012
Continuous Task
E 2012 Rockwell Automation, Inc. All rights reserved.
PERsb56r
3--6
Creating a Periodic Task in an RSLogix 5000 Project
Scan Time Values
Note that this system creates slightly
more overhead, as the controller writes
the I/O updates after each rung is
scanned and does not wait until all of the
rungs are scanned.
When executing, the software displays the maximum scan time and
the last scan time in microseconds for the selected task in the Task
Properties dialog box:
Online Properties
Length of Execution
Periodic Task Execution
The period and the priority assigned to each task determine the task
execution.
Execution time is based on:
The amount of code in a project
The complexity of the code
Processor speed
Example: Periodic Task
In the graphic, point out that the rate is
when the task starts and not how long
it takes.
Task Execution Every 20 ms
In the following example, the periodic task is triggered every
20 ms:
5 ms
0 ms
20 ms
40 ms
60 ms
80 ms
Task (Duration of 5 ms)
E 2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
PERsb56r
Creating a Periodic Task in an RSLogix 5000 Project
3--7
Example: Periodic Task and Continuous Task
The following example shows how the periodic task interrupts
and suspends the continuous task:
Periodic Task Execution Every 20 ms
5 ms
Continuous Task
0 ms
60 ms
40 ms
20 ms
80 ms
Continuous Task Interrupted for 5 ms
Example: Multiple Tasks
The following example shows how a periodic task interrupts and
suspends the continuous task and another periodic task:
Task A is triggered every 20 ms and has a priority of 3.
Task B is triggered every 22 ms and has a priority of 1.
Therefore, task B will interrupt task A:
22 ms
Task B (Every 22 ms) Priority 1
Task A (Every 20 ms) Priority 3
44 ms
66 ms
88 ms
Continuous Task
0 ms
20 ms
60 ms
40 ms
80 ms
? How many periodic or event tasks
Two tasks can be assigned the same priority. If this occurs, the tasks
will timeslice, or alternate execution, in 1 ms intervals.
Answer: There can be up to 32 periodic
or event tasks (or 31 if there is a
continuous task). However, there are
only 15 levels of priority. (Use this
difference to lead into the discussion on
timeslicing).
Example: Equal Priorities (Timeslicing)
and how many levels of priority can
there be in a ControlLogix project?
The following example shows how two tasks of equal priority
will timeslice:
Task A, Priority 3
Task B, also Priority 3
0 ms
Rev. August 2012
Tip "
1 ms 2 ms 3 ms
4 ms 5 ms
Timeslicing takes slightly more time than having different priorities.
E 2012 Rockwell Automation, Inc. All rights reserved.
PERsb56r
3--8
Creating a Periodic Task in an RSLogix 5000 Project
Heres How
To determine the period (rate) for a periodic task.
1. Note the watchdog timer value.
2. Subtract the required time for the continuous task.
3. Subtract the time of any existing periodic tasks.
4. Divide the time remaining by the time it takes the new periodic
task to execute.
5. Divide the total time allowed by the number of times you want
the second task to execute.
Example
Determining the Period (Rate) for a Periodic Task.
1. Note the watchdog timer value: 450 ms.
2. Subtract the required time for the continuous task: 450--300 =
150.
3. Subtract the time the existing periodic task takes: 150--90=60
90 ms comes from the following calculation:
Executes every 50 ms, or 9 times in 450 ms.
9 times executed * 10 ms each time = 90 ms.
4. Divide the time remaining by the time it takes the second periodic
task to execute: 60 / 20 = 3
5. Divide the total time allowed by the number of times you want
the second task to execute: 450 / 3 = 150
E 2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
PERsb56r
Creating a Periodic Task in an RSLogix 5000 Project
Heres How
3--9
To create a periodic task.
Activity: As your instructor demonstrates this procedure, follow
along in the associated job aid(s).
Demonstration Checklist
IMPORTANT: To meet IACET CEU
requirements and fully prepare
certificate students for the final exam,
you must demonstrate all lesson
objectives using the proper job aids.
Use the CCP143_1756r_DEM2.acd
project.
When demonstrating the task, point out
the following items:
S
The routines within one periodic task
enables the slot 0 outputs while the
other disables them
Pay attention to these critical aspects of the demonstration:
-
Location of the procedure in the job aid
Period and priority of the task
Max scan time (when online)
In Run mode, you can verify when
the task execute by the lights on the
workstation
Rev. August 2012
E 2012 Rockwell Automation, Inc. All rights reserved.
PERsb56r
3--10
Creating a Periodic Task in an RSLogix 5000 Project
E 2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
PERsb56r
Exercise: Creating a Periodic Task in an RSLogix 5000 Project
3--11
Exercise: Creating a Periodic Task
in an RSLogix 5000 Project
Exercise A
In this exercise, you will practice creating and configuring a periodic
task in an RSLogix 5000 project.
Context:
You have already created an RSLogix 5000 project file to hold your
programming and configuration information. You are ready to add a
task that will execute on a regular basis.
When you see underlined text, refer to the related procedure or
information in your job aid.
Directions:
1. What type of application would require a periodic task?
2. Open the PER_1756r_A1.acd file.
3. Review the following information about your project:
Existing periodic task
at priority 2. Takes
about 20 ms and
executes every 50 ms.
Main task takes about
300 ms.
4. You want your new periodic task to have a higher priority than
the Existing_Periodic task. What priority number will you assign
for your task based on the previous information?
5. If your new periodic task was assigned the same priority as
Existing_Periodic task, what would happen if the tasks
attempted to execute simultaneously?
Rev. August 2012
E 2012 Rockwell Automation, Inc. All rights reserved.
PERe56r
3--12
Exercise: Creating a Periodic Task in an RSLogix 5000 Project
6. Review the following application requirements:
Your goal is to execute the new task every 150 ms.
The new task must have a higher priority than
Existing_Periodic task.
7. Create a periodic task named Quality configured for the priority
and rate necessary to meet the application requirements.
8. Add the unscheduled program Quality_Monitor to the program
schedule of your new periodic task.
9. Download your project to the controller and go online.
10. Place the controller in Run or Remote Run mode.
11. What happens when the controller is placed in Run or Remote
Run mode?
12. If the controller experiences a watchdog fault while in Run or
Remote Run modes, how could the configuration of the periodic
task be changed to prevent this fault?
13. Clear the Major Fault from the Controller Properties dialog box.
14. Configure the Quality task to have a rate of 250 ms.
15. Place the controller in Run or Remote Run mode.
16. In the Task Properties window for the Main Task, verify that the
maximum scan time is not greater than the watchdog of 500ms.
How Did You Do?
E 2012 Rockwell Automation, Inc. All rights reserved.
Turn to the Answers section.
Rev. August 2012
PERe56r
Exercise: Creating a Periodic Task in an RSLogix 5000 Project
Rev. August 2012
3--13
E 2012 Rockwell Automation, Inc. All rights reserved.
PERe56r
3--14
Exercise: Creating a Periodic Task in an RSLogix 5000 Project
Answers
Exercise A
1. Any type of application that requires accurate and deterministic
control would be an appropriate response.
4. The only priority higher than 2 is 1.
5. If periodic tasks of the same priority attempt to execute
simultaneously, the tasks will timeslice execution in 1 ms
intervals.
7. Your New Task dialog box should look similar to the following
example:
11. Your controller should experience a major fault when the
controller is placed in Run or Remote mode. This is due to the
Main Task watchdog time expiring.
12. Increasing the period (rate) of the periodic task will reduce the
frequency the periodic task executes. Even a periodic task with
contains little code can fault a watchdog timer if executed
frequently enough. Another option would be to increase the
watchdog timer for the continuous task.
16. Your Task Properties window should look similar to the
following example (scan times will vary):
E 2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
PERe56r
Lesson
Organizing Data in an
RSLogix 5000 Project
What You Will Learn
After completing this lesson, you should be able to:
Create a tag
Define an alias tag
Create an array of tags
Verify tags
Monitor and edit data
When You Will Do This
As you develop your logic, you will have to define tags, aliases, and
arrays to efficiently store your data.
Before You Begin
Controller Memory
Traditional controllers have data files, such as Timer or Integer,
where groups of the same types of data are stored together.
For example, a PLC-5 processor has a
pre-created timer file, where all timers
are stored together.
There are no such pre-defined data files in a Logix5000 controller.
Users must define the memory in a Logix5000 controller by creating
tags.
Tag: An area of controller memory where data from devices,
calculations, faults, etc. is stored. Each area is given a unique name:
Verify that students have an
understanding of bit, byte, and word
lengths. If not, spend some time
reviewing these terms:
S
Bit: The smallest unit of data
represented by the digits 0 and 1.
Byte: A string of 8 bits operated on
as one unit.
Word: A unit of memory in a
controller composed of 16 individual
bits or two bytes that are treated as
one unit.
Drive_Speed Data
Controller Memory
Remind students that the individual bits
of a byte or word can also be monitored
or addressed.
Start Data
Sensor Data
Emphasize that the graphic depicts only
a portion of the controller memory. Note
that in the graphic each line represents a
bit, or the smallest unit of memory.
Rev. August 2012
E 2012 Rockwell Automation, Inc. All rights reserved.
TA2sb56r
4--2
Organizing Data in an RSLogix 5000 Project
Data Types
Add that the data type maps out the data
just as it does in a PLC-5, SLC 500, or
other processor.
Data Type: The definition of how many bits, bytes, or words of data
a tag will use. The data type is based on the source of the
information.
Note that a tag is similar to the symbolic
address in a PLC-5 or SLC 500
controller. The main difference is that
tags are stored in the controller, where
symbols are stored in the computer only.
Pre-Defined Data Types: Commonly used memory sizes or
structures that are already defined in the software.
Indicate that BOOL, SINT, INT DINT,
and REAL data types are called atomic
data types.
Note that the DINT data type is the main
data type. More details will be presented
later in the lesson.
Atomic Data Type: A simple data type made of one piece of data:
Data Type
Definition
BOOL
A single bit where 1 = on and 0 = off (e.g., the state of a
discrete device such as a pushbutton or sensor)
SINT
A short integer (8 bits) between --128 and +127
INT
An integer or word (16 bits) between --32,768 and +32,767
(e.g., PLC-5r data)
DINT
A double integer (32 bits), used to store a base integer number
in the range of --2,147,483,648 to +2,147,483,647 (e.g., serial
number)
LINT
A 64-bit signed integer data type used to represent wall clock
time
REAL
A 32-bit floating point value (e.g., an analog value such as a
potentiometer value)
STRING
A data type that holds character data (e.g., Car or this is
text.
Using these definitions, tags for the given devices require the
following data types:
Controller Memory
Drive_Speed Data
DINT, or 32 Bits
Start Data
BOOL, or 1 Bit
E 2012 Rockwell Automation, Inc. All rights reserved.
Sensor Data
BOOL, or 1 Bit
Rev. August 2012
TA2sb56r
Organizing Data in an RSLogix 5000 Project
4--3
Structure: A more complex data type that is made up of several
pieces of data. E.g., a TIMER data type is made up of a combination
of DINTs and BOOLs:
Relate this to a timer relay where there
is on/off data as well as a preset value.
Tip "
Give an example, such as the
TOTALIZER data type, which is used
with the TOTALIZER function block. The
data type contains a member for each
parameter of the function block.
Data Type
Definition
COUNTER
Increasing or decreasing total
TIMER
Increasing time total (milliseconds)
CONTROL
Length and position for file level instructions
MESSAGE
Control structure for a message instruction
There are other less common, pre-defined data types that are used to
store specific data for function block instructions or motion
instructions.
Module Defined Data Types: Data types used for hardware data,
such as I/O tags.
Memory Allocation
The minimum memory allocation for a tag of any type is a DINT
(double integer or 32 bits). A DINT is the main Logix5000 data type.
Add that a DINT is often called a D word
or a double word.
When data is assigned by the user, the controller assigns the next
available DINT(s) of memory to any data type.
When data types such as BOOL, SINT, and INT are assigned to a
tag, the controller still consumes a full DINT (four bytes) but only
fills part of it:
Use the graphic to review the definitions
of BOOL, SINT, INT, DINT, and REAL.
After describing each data type, point
out the unused area.
Minimum Memory Allocation of 1 DINT
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Unused Memory
BOOL
Rev. August 2012
SINT
INT
Data
Type
Used Memory
DINT
REAL
E 2012 Rockwell Automation, Inc. All rights reserved.
TA2sb56r
4--4
Organizing Data in an RSLogix 5000 Project
Add that students will learn how to
create these components in the next
lesson.
To efficiently use memory for BOOLs, SINTs, or
INTs, an array or a user-defined data type should
be created.
A controller stores tags as they are created and as they fit into
controller memory.
Tags of the same data type are not necessarily stored together in
memory.
Tag Scope
Add that for program-scoped tags,
behind the scenes, the program name
becomes a prefix for each tag name.
This is how tags with the same names in
different programs are kept separate.
Mention that if tags are correctly scoped,
ladder logic that uses the program tags
can be reused in different programs
without changing tag names.
Note that the I/O tags listed in the table
are the tags that are automatically
created when a module is configured.
This does not refer to any alias tags that
might be created.
Mention that the scope dictates the tags
folder in which you will create the tag.
Tags can be created at two different scopes:
Controller-Scoped: Tags, such as I/O tags, that are available to
every task and program within a project.
Program-Scoped: Tags that are only available to the program to
which they are associated.
Scope requirements for specific tags are outlined in the following
table:
To use a tag . . .
In more than one program within the project
To produce or consume data (share it with other
controllers)
Controller-scoped
In a message instruction or with a PanelViewt 1000C
terminal
In only one program (and it is not a message
instruction or a produced or consumed tag)
Note that tags can be defined through a
dialog box or through the Edit Tags
worksheet. The worksheet may be faster
when creating multiple tags.
Creating a Tag
Direct students to the Description entry
in the Glossary of the Procedures Guide
for the description rules.
Style
Data Access Control (optional)
Description (optional)
Note that alias tags will be presented
later in this lesson.
Then select this scope . . .
That is generated when an I/O module is configured
(I/O status, data, etc.)
Program-scoped
To create a tag, the following parameters must be defined:
Tag Name
Data Type
Note that the Monitor Tags tab is for
viewing data that is active in the
controller.
E 2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
TA2sb56r
Organizing Data in an RSLogix 5000 Project
4--5
The parameters are defined in the Edit Tags tab of the Tags window:
Tag
Filter
Another Name
for the Tag
Operand Descriptions
Data Type
Wildcard Filter
Data Access
Control
Display
Style
Icon Indicating
Controller-Scoped
Tags
White = Editable
Field
Editing View
State that tag names are not
case-sensitive. However, case
may help with readability.
Tag Name
Tip "
Have the students turn to the Glossary
of the procedures guide. Review the
naming conventions.
Naming conventions are listed in the Name entry in the Glossary
of the Procedures Guide.
Creating controller-scoped tags and
program-scoped tags with the same names can
cause confusion.
Note that these naming conventions
apply to most components in an
RSLogix 5000 project.
Data Type
Tags can be created using the following data types:
Any pre-defined data type
Any user-defined data type
Style
State that data from a BCD thumbwheel
could be viewed in the hexadecimal
radix.
Style is the display radix for each data type:
For certain data types, the style can be changed to a different
display radix. E.g., the default style for a tag of the DINT data
type is decimal:
-- The style for DINT tags can be changed to binary, octal,
decimal, or hexadecimal.
Rev. August 2012
E 2012 Rockwell Automation, Inc. All rights reserved.
TA2sb56r
4--6
Organizing Data in an RSLogix 5000 Project
Defining an Alias Tag
Alias Tag: An additional name for a tag (or other alias tag):
The tags refer to the same area of memory.
Tell students that if a base tag is used as
an address, any corresponding alias
tags will not be displayed.
State that if the base tag is used directly
in an instruction, that is all that is shown.
Compare this to calling someone by
their name instead of their employee
number, or referring to a
Tip
module by a name instead
of a part number.
"
The tags, therefore, reflect the same values and changes.
Base Tag: The tag to which the alias refers (i.e., the tag where data is
actually stored).
If an alias tag is used as the address for an instruction, the alias tag is
always displayed.
When programming, it may be confusing to sometimes use an alias
tag and other times directly use the tag to which the alias refers.
In the following graphic, trace the chain
Alias tags are commonly used to rename I/O tags that are generated
of alias tags, beginning with Start. When
with complex naming structures:
you reach Alias_4, it will be easier to
explain Base tags.
Alias Tag Name
What the Tag is an Alias for (e.g., an I/O Tag)
If this lesson is part of a standard
school, state that students will
learn how to configure I/O
modules and interpret the
generated I/O tags in the
Communicating with a
Local 1756 I/O Module lesson.
Base or Original Tag
(If There is a Chain of Alias Tags)
Note that the hierarchy of alias tags is
available in the cross--reference report
for a tag. This can be a very helpful
troubleshooting tool.
Use caution in developing applications that utilize
multiple alias tags for the same base tag.
You cannot create a program-scoped alias tag for a
controller-scoped tag of the same name.
Note that there is a separate lesson that
presents the steps for these tasks.
If students are familiar with producing
and consuming tags, point out that the
setup in RSLogix 5000 software is the
same. For Ethernet, the producing
controller is connected to a remote
1756-ENET or 1756-ENBT module.
E 2012 Rockwell Automation, Inc. All rights reserved.
Produced and Consumed Tags
The following controller-scoped tags can be created to share data
between controllers:
Produced Tag: A tag that is shared with other controllers over
the backplane or a control network, such as ControlNett or
EtherNet/IPt.
Consumed Tag: A tag that holds the value of a produced tag that
is received from another controller over the backplane or a
control network.
Rev. August 2012
TA2sb56r
Organizing Data in an RSLogix 5000 Project
4--7
Creating an Array of Tags
Note that an array that is a member of
user-defined data type can only have
one dimension.
Array: A numerically indexed sequence of elements of the same
data type. An array tag occupies a contiguous section of memory in
the controller with each element in sequence. Arrays can have one,
two, or three dimensions.
Element: A single position within an array.
Note that the array Part[40] will have
elements of Part[0] to Part[39].
Point out that you can create an alias
tag for each element of an array. For
example, Cold_Timer might be an alias
for TIMER [34].
Example: Array
To make INT records for 6 parts, a one-dimensional array of INTs
is created:
1 DINT (32 Bits)
Relate this to PLC-5 data, where N7:0 to
N7:9 is a one-dimensional array of
integer data types.
1 INT
Note that if maintenance personnel who
will work on the project are used to
working with PLC-5 controllers, you can
create an array named T4. Each
element, e.g., T4[11], will look similar to
a PLC-5 timer, with brackets instead of a
colon.
Point out that if you create an array tag
from the Tags Editor window, and
manually enter the brackets and
numbers, the first value entered in the
brackets becomes the X value. The
second number entered is Y and the
third is Z.
Note that if you enter the dimensions
from the Tags Properties window Dim0
becomes Z if you create a three
dimensional array. Depending on how
the tag is created you could end up with
two different results.
? What is a structure?
Answer: A data type made up of a
mixture of other data types, such as a
timer (with a mix of DINTS and BOOLS).
Rev. August 2012
Part_Data[1]
Part_Data[0]
Part_Data[3]
Part_Data[5]
Part_Data[2]
Part_Data[4]
The elements in the array occupy memory in order. The array always
starts at 0 and extends to the number of elements minus 1.
An array in the Tags window is shown in the following graphic:
Array of 6 (0- 5) INTs
Same Data Type
Single Element
An array must be created with the following rules in mind:
An array can have up to three dimensions unless it is a part of a
UDT, where then it can have only one dimension.
An array can be of one data type only. Arrays support the
following data types:
-- Any pre-defined data types except Axis data types, Message,
or Motion_Group
-- A user-defined data type
E 2012 Rockwell Automation, Inc. All rights reserved.
TA2sb56r
4--8
Organizing Data in an RSLogix 5000 Project
Tip "
Data of the same type is not automatically grouped in memory. To
store all timers together, create an array of timer tags.
Array Storage
Relate this to a Microsoft Excel
worksheet where one dimension is a
column, two dimensions are rows and
columns (a standard worksheet), and
three dimensions are several pages of
rows and columns.
One Dimension
Arrays can have up to three dimensions and store data in the
following manner:
Two Dimensions
Three Dimensions
Example: Three Dimensional Array
Add that an array might include data
sorted by shift number, part type, and
part number. Note that data might also
be stored by shift, day, and week. Or, x
and y coordinates (for retrieving a part in
storage).
A three dimensional array might store the following data:
Part Number
Part Number, Size
Part Number, Size, Color
Note that each square is an element.
Note that in memory, the first dimension
will not increment until the second
dimension reaches its upper limit.
= Part Number 2, Size 3, Color 0
Ask students to determine the total
number of elements in each of the part
number arrays.
Tip "
E 2012 Rockwell Automation, Inc. All rights reserved.
To determine the total number of elements in an array, multiply the
number of elements in each dimension.
A tag uses a DINT (32 bits) even if it is smaller (8 bits). To conserve
data, put 32 BOOLs, four SINTs, or two INTs into an array.
Rev. August 2012
TA2sb56r
Organizing Data in an RSLogix 5000 Project
4--9
Array Addressing
Note that this section presents the
formats for array addresses. Entering
the addresses will be presented in the
Entering, Editing, and Verifying Ladder
Logic in an RSLogix 5000 Project
lesson.
In an array, the following can be addressed:
A numeric element (fixed)
A variable element
A numeric bit
A variable bit
Numeric Element Addressing
Note that the number or expression in
the brackets is the subscript. Point out
the square brackets that enclose the
element number. Remind students that
the elements begin with 0 (zero).
To access a specific array element (e.g., one DINT in an array of
DINTs), use the following address format:
Note that the subscript is the value or
expression in the square brackets.
Example: Numeric Element Addressing
Tip "
ArrayName[Element Number]
PartData[3]
This reference is fixed because the element value of 3 will not
change.
Data that is stored in two- and three-dimensional arrays can be
addressed using the same format. Additional dimensions are
separated by commas, as outlined in the following table:
Number of
Dimensions
Format
Example
Array_name[0]
Part[3]
Array_name[1, 0]
Part[2,4]
Array_name[2, 1, 0]
Part[3,5,1]
Example: Numeric Element Addressing for Multiple Dimensions
Array=
Part[8]
Part[8,6]
Part[8,6,4]
Part[4,5,2]
Part[2]
Rev. August 2012
Part[1,3]
Part[2,3,0]
E 2012 Rockwell Automation, Inc. All rights reserved.
TA2sb56r
4--10
Organizing Data in an RSLogix 5000 Project
Variable Element Addressing
Add that this is similar to indirect
addressing in PLC-5 programming.
To change the array element that your logic references, use a tag or
expression to point to the element, using the following address
format:
ArrayName[Tag or Expression]
Example: Variable Element Addressing
Part[SerialNumber]
Part[SerialNumber*5]
In the last example, add that if
position1= 7, and position2 = 3, then the
part value is 4.
Part[Position1--Position2]
You can use the following mathematical operators in an expression
to specify an array element:
Operator
Description
Add
--
Subtract/Negate
Multiply
Divide
And
And
Frd
BCD to integer
Not
Complement
Or
Or
Tod
Integer to BCD
Sqr
Square root
Xor
Exclusive or
As an example, state that if
Position1--Position2=48 and the array is
an array of only 40, a major fault will
occur.
Any array value that you enter must be within
the boundaries of the specified array.
Instructions that view arrays as a collection of
elements generate a major fault if a value
exceeds its corresponding dimension.
Numeric Bit Addressing
State that the delimiter before the bit is a
period.
A bit within one element of an array can be addressed using the
following address format:
ArrayName[Element Number].Bit
Note that the example addresses the
second bit in tag element 1 of the part
array.
Example: Numeric Bit Addressing
Part[1].2
Mix_Timer[5].DN
E 2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
TA2sb56r
Organizing Data in an RSLogix 5000 Project
4--11
Variable Bit Addressing
To dynamically change the value of a bit, use the following address
format:
ArrayName[Element Number].[Tag or Expression]
Example: Variable Bit Addressing
Part[SerialNumber].[Position1--Position2]
Array Addressing Summary
Point out that a period signifies a bit or a
member. A tag without a period is the
whole address.
The following table presents a summary of the array address types,
formats, and examples:
Type
Format
Example
Numeric
element
ArrayName[Element Number]
Part[5]
Variable
element
ArrayName[Tag]
Station[Position]
ArrayName[Expression]
Station[Position+5]
Numeric
bit
ArrayName[Element].Bit
Part[5].15
Variable
bit
ArrayName[Element Number].[Tag]
ArrayName[Element Number].[Expression]
Part[Index].[MyIndex]
Part[Index].[MyIndex+31]
Verifying Tags
Mention that the verification process is
similar to the RSLogix 5 and 500
process with the addition of tag
verification.
After tags are entered, they can be verified. In this process, the
software looks for tag errors.
Errors found in the verification process are displayed in the Output
window:
Double-click to
Go to the Error or
Press F4
In the Tag window, tags with errors are also marked with an
State that BOOL data types can now be
toggled in the Monitor tags window
(right-click the tag value or press
[CTRL]+T).
Rev. August 2012
Monitoring and Editing Data
Tags values can be monitored and edited online through the Tags
window or certain instructions.
E 2012 Rockwell Automation, Inc. All rights reserved.
TA2sb56r
4--12
Organizing Data in an RSLogix 5000 Project
Point out the various unlabeled elements
of the spreadsheet, including the rows,
cells, columns, etc.
Mention that operand descriptions will
appear with the tag in logic if configured
to do so.
Right- Click to
Hide/Show
Columns
Monitor Tags Tab
The Monitor Tags tab is a direct view of a controllers memory:
Scope of Current
Collection
Tag and Members
Data Type
Blue
Operand Descriptions
Arrow
(up to 512 characters)
Value in
Controller
Expand to See
Structure Members or
Bits within the Tag
Monitoring View
A blue arrow at the top of a column signifies that
a change to any value in this column will
immediately take effect in the controller when you
press Enter or click another cell.
Stress that finding tags is a key step in
monitoring. The way in which tags are
filtered can help limit the number of tags
displayed. If used improperly, it can also
hide required tags.
Tags and Members
Tags of the same data type are not automatically displayed together
in the Monitor Tags tab:
Tags can be displayed alphabetically (default mode).
Tags can be sorted and filtered (e.g., show DINT tags only).
Tags can be filtered with wildcards (filtered based on their name
or description in addition to their scope, type, and classification).
Tags that are structures (TIMER, etc.) can be expanded to display
members.
Display Style
State that data from a BCD thumbwheel
could be viewed in the hexadecimal
style.
The Style parameter controls how data is displayed for certain tags.
Example:
The default style for a tag of the INT data type is decimal. This
can be changed to binary, octal, decimal, or hexadecimal.
Tip "
E 2012 Rockwell Automation, Inc. All rights reserved.
Style is for display only; it does not affect how data is stored in the
controller.
Rev. August 2012
TA2sb56r
Organizing Data in an RSLogix 5000 Project
4--13
When online, only the tag name, style, and
description can be changed.
From the Tag Properties View window you can monitor a tags
properties, document, toggle values or Force. The Window can also
be docked, or set to auto hide, using the Auto Hide button
located in the banner:
Tag Properties
View Window
Docked or Auto
Hide Button
Tag
Information
Tag Value and
Force Mask
Stress the difference between editing the
tag (e.g., tag name) and changing the
tag data, such as the preset.
In this ladder logic example, point out
that values can be monitored and certain
values, such as timer presets, can be
edited.
Monitoring and Editing Tag Values through a Routine
Tag values can be monitored and sometimes edited online through
instructions in routines:
Example: Ladder Logic Routine
Tag values can be monitored through the corresponding
parameters of an instruction:
Blue Arrow: Change will
Immediately Take Effect
in the Controller
Rev. August 2012
E 2012 Rockwell Automation, Inc. All rights reserved.
TA2sb56r
4--14
Organizing Data in an RSLogix 5000 Project
Example: Function Block Diagram Routine
Note that only the parameters with a
checkmark in the Vis column (Visibility)
are displayed on the function block.
Visible function block parameters can be monitored through the
instructions. Others can be monitored through the Properties
dialog box:
Parameter
Names
Parameter
Values
Parameter
Data Types
Parameter
Description (Up to
128 Characters)
Visibility
Enabled
E 2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
TA2sb56r
Organizing Data in an RSLogix 5000 Project
Note that the Watch tab is accessed
from the View menu.
4--15
Monitoring and Editing Tag Values in the Watch Tab
The Watch tab displays all tags referenced by an active routine of
any type. Values can be monitored or edited:
Refresh Structured
Text Data
Changing Values
Force
Create a
Custom
Monitor
Tag Scope
Because structured text values cannot be
monitored in the programming language, the
Watch tab is extremely useful when monitoring a
structured text routine online.
? Who has used Custom Data
Monitors in RSLogix 500 software?
The Watch tab does not update as you make edits
to a structured text routine. It is updated when you
verify the routine.
Quick Watch Tag Monitor
Note that the custom list of tags allows
you to see only select tags while viewing
code. This helps you avoid the searching
and scrolling necessary with the
Tags monitor.
Rev. August 2012
The Quick Watch Tag Monitor allows you to assemble a custom list
of tags to monitor:
Tags from the controller-scope
Tags from the open routine
Tip "
You can drag tags from the open routine editor to the Quick Watch
Tag Monitor.
Tip "
The tags are maintained in the monitor only while the project is
open.
E 2012 Rockwell Automation, Inc. All rights reserved.
TA2sb56r
4--16
Organizing Data in an RSLogix 5000 Project
Persistent Quick Watch
Features of Persistent Quick Watch include:
Enables creation of named tag groups (Quick Watch Lists)
-- Tags can be added via drag-and-drop from routine(s), from tag
editor/monitor or manually selected via tag browser
Improves ease-of-use and simplifies maintenance
Lists can be easily selected for debugging purposes during
integration or operation and are persistent within the
RSLogix 5000 project:
E 2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
TA2sb56r
Organizing Data in an RSLogix 5000 Project
Heres How
4--17
To perform the following tasks:
Create a tag
Define an alias tag
Create an array of tags
Verify tags
Monitor and edit data
Activity: As your instructor demonstrates these procedures, follow
along in the associated job aid(s).
Demonstration Checklist
IMPORTANT: To meet IACET CEU
requirements and fully prepare
certificate students for the final exam,
you must demonstrate all lesson
objectives using the proper job aids.
Use the CCP143_1756r_DEM2.acd
project.
Monitoring data in RSLinx isnt an
objective of the lesson but it is useful for
the exercise and student.
Note that an RSLinx Classic activation
file is required to access the data table
monitor.
Pay attention to these critical aspects of the demonstration:
-
Location of the procedures in the job aid
Using array dimensions text boxes
Structure of a created array (in the Monitor Tags list)
Show and Toggle Columns options in the Edit Tags
windows
Using grid to pick a bit
Monitor Data in RSLinx Classic Professional Software
Tags can also be monitored (but not edited) in RSLinx Classic
Professional software.
Read-Only Values
Your Turn
Rev. August 2012
Now its your turn. Do Exercise A and return here when youre done.
E 2012 Rockwell Automation, Inc. All rights reserved.
TA2sb56r
4--18
Organizing Data in an RSLogix 5000 Project
Data Access Control
Mention that External Access Control
does not apply to Module Defined tags
or aliases to them.
The data access properties of a tag is used to control how people and
programs access the tag at run-time:
Use External Access to control how an external application, such
as an HMI, historian, or OPC data server, can access a tag:
-- Arrays -- Top level only; UDTs -- by member
-- Possible values are:
-- Read/Write: External applications can both read and
modify the tags value
-- Read Only: External applications can read the tags value,
but not modify it
-- None: External applications can neither read nor write the
tags value
Use Constant to control how controller logic can access a tag:
-- When this attribute is set, the tags value cannot be changed
programmatically
Data Access Control Selections are shown in the following graphic:
Tags Window
Data Access
Control Selections
User-Defined
Data Type
Mention that if a tags external access is
set to None, the tag will not show up in
other application browsers.
Note that if a tag is set to Constant and
a program instruction tries to write a
value to the tag, this would appear as an
error when verifying the project.
Your Turn
E 2012 Rockwell Automation, Inc. All rights reserved.
Data Access Control Benefits
These options give you a way to protect data from being accidentally
or intentionally written to. They can also speed-up HMI creation by
reducing the number of tags that are visible while browsing the
controller from the HMI development environment.
Now its your turn. Do Exercise B.
Rev. August 2012
TA2sb56r
Exercise: Organizing Data in an RSLogix 5000 Project
4--19
Exercise: Organizing Data in an
RSLogix 5000 Project
Exercise A
In this exercise, you will practice the following tasks:
Creating a tag
Defining an alias tag
Creating an array of tags
Verifying tags
Monitoring and editing data
Context:
Sample code to test your production line has been developed. This
code was written before your hardware installation. The hard-wired
addresses were not known when the code was created. You now need
to create base and alias tags and an array of tags so that the code will
function properly.
When you see underlined text, refer to the related procedure or
information in your job aid.
Directions:
1. Open the TA2_1756r_A1.acd file.
2. Review your project and verify the tags referenced in the
MainRoutine of the Line_1 program have not been created.
3. Create a new tag with the following properties:
Name: Stop_Motor
Type: Base
Data Type: BOOL
Scope: Program (Line_1)
4. Create a new alias tag with the following properties:
Name: Start_Motor
Type: Alias
Alias For: Local:2:I.Data.0
Scope: Program (Line_1)
5. Create a new alias tag with the following properties:
Name: Motor_On
Type: Alias
Alias For: Local:0:O.Data.0
Scope: Program (Line_1)
Rev. August 2012
E 2012 Rockwell Automation, Inc. All rights reserved.
TA2e56r
4--20
Exercise: Organizing Data in an RSLogix 5000 Project
6. Create a new tag with the following properties:
Name: Motor_Time
Type: Base
Data Type: TIMER
Scope: Program (Line_1)
7. Within the Program Tags monitor, enter 10,000 for the
Motor_Time.PRE member of the Motor_Time tag.
8. Create a new alias tag with the following properties:
Name: Motor_Speed
Type: Alias
Alias For: Local:8:I.Ch0Data
Scope: Program (Line_1)
9. Create a new alias tag with the following properties:
Name: Speed_Out
Type: Alias
Alias For: Local:7:O.Ch0Data
Scope: Program (Line_1)
10. Create a single-dimension array that will be used to store the
system date and time. This array requires a separate element for
the system year, month, day, hour, minute, seconds, and
microseconds. Configure the array with the following properties:
Name: ClockTime
Type: Base
Data Type: DINT
Array Dimension 0: 7 elements
Scope: Controller
External Access: Read only
11. Download your project to the controller in slot 1 of your
workstation.
12. Place the controller in Run or Remote Run mode.
13. How could the individual members of this UDT be set so they
would not be accessible from any other application?
E 2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
TA2e56r
Exercise: Organizing Data in an RSLogix 5000 Project
4--21
14. Verify you properly created and aliased your tags by performing
the following actions:
A. Press DI0 and observe DO0 indicator light turn on.
B. Adjust pot AI0 and confirm potentiometer AO0 updates in
value while the motor is enabled.
C. Confirm that after ten seconds indicator DO0 turns off.
D. Monitor the ClockTime array and verify the tag is populating
with system date and time information.
Tip "
The system date and time may not be current.
15. Go offline and close your project.
How Did You Do?
Turn to the Answers section.
Exercise B
In this exercise, you will practice setting a tags external access
option, and verify the setting.
Context:
You have created and organized a project file for your production
lines. You now want to protect certain tags from outside access.
When you see underlined text, refer to the related procedure or
information in your job aid.
Directions:
1. Open the TA2_1756r_B1.acd file.
2. Download your project to the controller in slot 1.
3. Make sure your processor is in Run mode.
4. Monitor the ClockTime tag in RSLinx software and make sure
some of the data is changing.
5. Return to the RSLogix 5000 software and go offline.
6. In the Controller tags, set the ClockTime tags external access to
None.
7. Download your project to the controller in slot 1.
8. Is the ClockTime tag visible in RSLinx software?
How Did You Do?
Rev. August 2012
Turn to the Answers section.
E 2012 Rockwell Automation, Inc. All rights reserved.
TA2e56r
4--22
Exercise: Organizing Data in an RSLogix 5000 Project
Answers
Exercise A
3. Your Stop_Motor tag should have the following properties:
4. Your Start_Motor tag should have the following properties:
E 2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
TA2e56r
Exercise: Organizing Data in an RSLogix 5000 Project
4--23
5. Your Motor_On tag should have the following properties:
6. Your Motor_Time tag should have the following properties:
7. Your Motor_Time tag should be configured similar to the
following example:
Rev. August 2012
E 2012 Rockwell Automation, Inc. All rights reserved.
TA2e56r
4--24
Exercise: Organizing Data in an RSLogix 5000 Project
8. Your Motor_Speed tag should have the following properties:
9. Your Speed_Out tag should have the following properties:
10. Your ClockTime tag should have the following properties:
E 2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
TA2e56r
Exercise: Organizing Data in an RSLogix 5000 Project
4--25
13. Set the external access to none.
14.
D. Your ClockTime tag should contain data in each member of
the array like the following example:
Exercise B
6. After setting the ClockTime tags external access to None, your
screen should appear similar to the following:
8. No, the ClockTime tag is not visible. Your screen should appear
similar to the following:
Rev. August 2012
E 2012 Rockwell Automation, Inc. All rights reserved.
TA2e56r
4--26
Exercise: Organizing Data in an RSLogix 5000 Project
E 2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
TA2e56r
Lesson
Creating a User-Defined Data Type
in an RSLogix 5000 Project
What You Will Learn
After completing this lesson, you should be able to:
Create a user-defined data type
Export and import user-defined data types
When You Will Do This
As you develop your logic, you will typically take advantage of
user--defined data types to organize your data.
Before You Begin
Creating a User-Defined Data Type
Add that in RSLogix 5000 software,
timers have some additional bits.
Note that in a PLC-5 controller, T4:5 has
its memory defined using the TIMER
template.
Data Type
Some predefined data types, such as a TIMER, are structures of
several different data types:
Mixed
Data
Types
Members of a
TIMER Data Type
Rev. August 2012
E 2012 Rockwell Automation, Inc. All rights reserved.
UDTsb56r
5--2
Creating a User-Defined Data Type in an RSLogix 5000 Project
Review: An element is one part of an
array.
A member is one part of a data type.
User-Defined Data Type: A structure created by a user to group
data in an application.
Member: One defined data type within the structure.
Example: User-Defined Data Type
Chalk Talk: Before showing the next
slide, have the students help you make
a list of the members that might go into
the user-defined data type for the tank
example. Have the students select the
data type of each member.
There are several identical tanks in a plant. Each tank stores data
for the following values:
Temperature
Steam Valve State
Time over Temperature
Level
Add that this is a more efficient use of
memory than creating a single BOOL for
the steam valve, as the single BOOL
would use a DINT (32 bits) by itself.
To store this data, a user-defined data type can be created. The
data type is a template for storing the information:
Size
Members of
Tank Structure
Provide other examples, including
examples of recipe parameters and
storage data types.
External
Access
Settings
A tag for each tank can be created using this user-defined data
type.
Note that creating an array is easier than
creating 20 individual tags.
E 2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
UDTsb56r
Creating a User-Defined Data Type in an RSLogix 5000 Project
Note that in this scenario, the
user-defined data type is created first,
and then the array of tags is created.
5--3
Example: Arrays and User-Defined Data Types
If there are 25 tanks (5 rows of 5), a programmer can make an
array of tags that uses a user-defined data type:
Tank [0,0]
Total Array = [5,5]
One Specific Element = Tank[1,3]
User-Defined Data Type Parameters
Stress that arrays embedded within a
user-defined data type can only have
one dimension.
Note that memory size is updated after
each member is added and accepted in
the softwares Edit Data Type dialog box.
Chalk Talk: On the board, write the
following data types in order: BOOL,
DINT, and then a BOOL. Discuss how
this structure would take more memory
than the DINT followed by both BOOLs.
Add some additional examples.
Note that this is similar to how you
address TIMER members in other
projects (T4.EN or T4.TT).
State that the delimiter is a period.
To create a user-defined data type, you must define the following
parameters for each member:
A name of up to a maximum of 40 characters
A display style
A description (optional)
One of the following data types:
-- Any pre-defined data type
-- Another user-defined data type
-- Single-dimension array of any pre-defined data types
-- Single-dimension array of any user-defined data types
The memory required by a user-defined data type depends on the
number of members, the data type for each member, and how the
members are organized.
User-Defined Data Type Addressing
Just as you addressed TIMER members in other projects (T4.EN or
T4.TT), you can address members of a user-defined structure using
the following addressing structure:
Tag.Member
Examples: User-Defined Data Type Addressing
Point out that the last example contains
a structure (Load_Info) that is embedded
in the user-defined data type.
SystemTimer.Pre
WaterTank.Level
Input_Location.Load_Info.Height
Rev. August 2012
E 2012 Rockwell Automation, Inc. All rights reserved.
UDTsb56r
5--4
Creating a User-Defined Data Type in an RSLogix 5000 Project
Exporting and Importing User-Defined Data Types
Exporting and importing allows you to have more flexibility in your
programming and creates a user-defined data that:
Is easy to deploy
Creates reusable programming code
When you export a user-defined data type to an .L5X file, the file
contains the definition and any references to the project.
Export a UDT
using a .L5X File
Importing a user-defined data type allows you to perform several
edits in one operation.
When you import a user-defined data type, you can:
Import offline or online (including Remote Run mode)
Import into the same project or different one
Create a new user-defined data type
Update an existing user-defined data type
Import a UDT
into the same or
new project
Specify final
name
E 2012 Rockwell Automation, Inc. All rights reserved.
Obtain
collision
information
Rev. August 2012
UDTsb56r
Creating a User-Defined Data Type in an RSLogix 5000 Project
Heres How
5--5
To perform the following tasks:
Create a user-defined data type
Export and import user-defined data types
Activity: As your instructor demonstrates these procedures, follow
along in the associated job aid(s).
Demonstration Checklist
IMPORTANT: To meet IACET CEU
requirements and fully prepare
certificate students for the final exam,
you must demonstrate all lesson
objectives using the proper job aids.
Use the steps below to help guide you
during the demonstration:
Open the Start Pages and use the
following tools to demonstrate each task:
Pay attention to these critical aspects of the demonstration:
-
Location of the procedures in the job aid
Location of the procedures in the Start Pages
How Do I " Tags, Data Types &
Other Data " Create a
User-Defined Type
Difference between a user--defined data type and an
array
Whats New " Import Online Programs, Routine and Instructions
If the Start Pages are unavailable or
if students prefer, use the
CCP143_1756r_DEM2.acd project.
Overwriting a user--defined data type with a newer
version
Rev. August 2012
E 2012 Rockwell Automation, Inc. All rights reserved.
UDTsb56r
5--6
Creating a User-Defined Data Type in an RSLogix 5000 Project
E 2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
UDTsb56r
Exercise: Creating a User-Defined Data Type in an RSLogix 5000 Project
5--7
Exercise: Creating a User-Defined
Data Type in an RSLogix 5000
Project
Exercise A
In this exercise, you will practice the following tasks:
Create a user-defined data type
Export and import user-defined data types
Context:
You have just created and organized a project file for your line 1
production line. You are now ready to develop code for a second,
identical, production line. Your application requires that you store
each production lines output information in user-defined tags.
When you see underlined text, refer to the related procedure or
information in your job aid.
Directions:
1. Open the UDT_1756r_A1.acd file.
2. Create a UDT named Motor_Status with the following
members:
Name
Data Type
Active
BOOL
Fault
BOOL
ProcessTime
DINT
MotorSpeed
REAL
3. Create a new tag with the following properties:
Name: Line_1
Type: Base
Data Type: Motor_Status
Scope: Controller
4. Open MainRoutine within the Line_1 program.
5. Modify rung 4 so that member Line_1.Active is the operand of
the OTE instruction.
6. Modify rung 5 so that member Line_1.ProcessTime is the
Destination operand of the Move instruction.
7. Modify rung 6 so that member Line_1.MotorSpeed is the
Destination operand of the Move instruction.
Rev. August 2012
E 2012 Rockwell Automation, Inc. All rights reserved.
UDTe56r
5--8
Exercise: Creating a User-Defined Data Type in an RSLogix 5000 Project
8. Create a new tag with the following properties:
Name: Line_2
Type: Base
Data Type: Motor_Status
Scope: Controller
9. Open MainRoutine within the Line_2 program.
10. Modify rung 4 so that member Line_2.Active is the operand of
the OTE instruction.
11. Modify rung 5 so that member Line_2.ProcessTime is the
Destination operand of the Move instruction.
12. Modify rung 6 so that member Line_2.MotorSpeed is the
Destination operand of the Move instruction.
13. Download your project to the controller in slot 1 of your
workstation.
14. Place the controller in Run or Remote Run mode.
15. Verify you properly created your UDT tags by monitoring them
and confirming they update in value when Lines 1 and 2 are
operating.
16. Export the Motor_Status user-defined data type project
component.
17. Go offline.
18. Open the UDT_1756r_A2.acd file.
19. Import the Motor_Status user-defined data type project
component into the UDT_1756r_A2.acd project.
20. From the Import Collision dialog box, click Collision Details.
21. What information changed in the imported UDT?
22. Click Close.
23. Overwrite the existing Motor_Status UDT and keep the same
final name.
24. Click OK.
E 2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
UDTe56r
Exercise: Creating a User-Defined Data Type in an RSLogix 5000 Project
5--9
25. Create a new tag with the following properties:
Name: Line_3
Type: Base
Data Type: Motor_Status
Scope: Controller
26. Open MainRoutine within the Line_3 program.
27. Modify rung 4 so that member Line_3.Active is the operand of
the OTE instruction.
28. Modify rung 5 so that member Line_3.ProcessTime is the
Destination operand of the Move instruction.
29. Modify rung 6 so that member Line_3.MotorSpeed is the
Destination operand of the Move instruction.
30. Download your project to the controller in slot 1 of your
workstation.
31. Place the controller in Run or Remote Run mode.
32. Verify you properly created your UDT tags by monitoring them
and confirming they update in value when Line 3 is operating.
33. Go offline and close your projects.
How Did You Do?
Rev. August 2012
Turn to the Answers section.
E 2012 Rockwell Automation, Inc. All rights reserved.
UDTe56r
5--10
Exercise: Creating a User-Defined Data Type in an RSLogix 5000 Project
Answers
Exercise A
2. Your Motor_Status UDT should look similar to the following
example:
7. Rungs 4--6 of the MainRoutine in the Line_1 program should
now look similar to the following example:
E 2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
UDTe56r
Exercise: Creating a User-Defined Data Type in an RSLogix 5000 Project
5--11
12. Rungs 4--6 of the MainRoutine in the Line_2 program should
now look similar to the following example:
21. The data type size and the structure changed.
23. You should have configured the imported UDT as follows:
Rev. August 2012
E 2012 Rockwell Automation, Inc. All rights reserved.
UDTe56r
5--12
Exercise: Creating a User-Defined Data Type in an RSLogix 5000 Project
29. Rungs 4--6 of the MainRoutine in the Line_3 program should
now look similar to the following example:
E 2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
UDTe56r
Lesson
Note that this lesson briefly reviews
some concepts from the prerequisite
course before presenting more
advanced concepts such as Quick Keys.
Tailor this lesson as needed.
What You Will Learn
Poll the students to see how many have
experience using a Windows-based
programming software from their job, or
pre-requisite classes.
Pace this lesson based on the general
experience level of your class.
Describe which method you personally
find to be fastest and/or easiest when
entering ladder logic.
Before You Begin
Review the first two methods if needed.
Students should be familiar with these.
Entering, Editing, and Verifying
Ladder Logic in an RSLogix 5000
Project
After completing this lesson, you should be able to:
Enter and edit ladder Logic using ASCII mnemonics
Configure ladder logic quick keys
Copy and reuse ladder logic components
Verify a project or a project component (online)
When You Will Do This
Once you have laid out your task and program structure and defined
your data types, you can begin to develop your ladder logic.
Entering and Editing Ladder Logic Components
The RSLogix series of software offers the ability to enter or edit
ladder logic using the following basic methods:
Dragging method
Right-click/Insert key
The RSLogix series of software also offers faster methods for more
proficient programmers:
ASCII mnemonic editing
Quick keys
Rev. August 2012
E 2012 Rockwell Automation, Inc. All rights reserved.
EN2sb56r
6--2
Entering, Editing, and Verifying Ladder Logic in an RSLogix 5000 Project
ASCII Mnemonic Editing
State that ASCII stands for the American
Standards Code for Information
Exchange.
ASCII mnemonics are text codes that represent instructions and
ladder logic elements:
ASCII Text
Entry Line
Graphical
Ladder
Logic
Read each mnemonic in the graphic and
show the corresponding graphical
element.
Note that unlike RSLogix 5 and 500
software, in RSLogix 5000 the ASCII line
is not highlighted by default and
therefore more difficult to accidentally
erase.
In the graphic, note the following items:
The mnemonics are entered, followed by the tag to be operated
on or a ? or a space.
Start and end points for branches can also be entered:
-- BST (Branch start)
-- NXB (Next Branch)
-- BND (Branch End)
Configuring Ladder Logic Quick Keys
Point out that Quick Keys are enabled in
the Options for the Ladder Editor. This
step is included in the procedure in the
Procedures Guide.
To quickly enter instructions and other ladder logic elements using
single keyboard keys, assign quick keys:
Quick keys for several common instructions including XIC, XIO,
and OTE are already assigned.
Quick keys must be enabled to be used.
Copying and Reusing Ladder Logic Components
Describe examples of real applications,
such as auto production lines, where
common machine cells are repeated.
E 2012 Rockwell Automation, Inc. All rights reserved.
If ladder logic contains program-scoped tags, the ladder logic can be
easily copied and reused in different programs without changing the
tag names.
Rev. August 2012
EN2sb56r
Entering, Editing, and Verifying Ladder Logic in an RSLogix 5000 Project
6--3
Example: Copied Ladder Logic
Because the programs are local, the same ladder logic and the
tags (e.g., Station_Timer) can be copied to all programs.
Same
Program_Scoped
Tag Name
Different Program
Same
Program_Scoped
Tag Name
Easy Copy and Paste
The tags within the program are commonly alias
tags for different I/O points.
Remember that controller-scoped tags are shared
by all programs. Be careful when accessing the
same controller-scoped tag from different
routines.
Rev. August 2012
E 2012 Rockwell Automation, Inc. All rights reserved.
EN2sb56r
6--4
Entering, Editing, and Verifying Ladder Logic in an RSLogix 5000 Project
Other Short-Cuts
These additional methods will also make you a more efficient
programmer:
RSLogix 5000 software also offers the ability to open a second
instance of the software:
-- This allows you to easily copy and paste ladder logic between
two open files.
For ladder logic and structured text, you can save instruction
defaults:
-- These defaults are saved to the computer and apply to all
projects opened on the computer.
State that up to four instances of the
software can be opened at one time.
Verifying a Project or a Project Component Online
Note that you can also copy from one
file, close the file, open a different file,
and then paste into the other file. The
copied information is maintained
on the clipboard.
Modifying code online can help you quickly make changes without
stopping production.
Online Safety Warning
When editing ladder logic online, keep the following warning in
mind:
Describe any real-world situations that
you are aware of in which online editing
caused extensive damage in a plant.
? Define offline and online?
Answer: Offline means that the
workstation (computer) is displaying a
copy of the project stored in the
computer memory only. Online means
that the workstation (computer) is
displaying and changing copy of the
project stored in the controller memory.
Add that the Online graphic is animated
in any online mode.
Also note that the left and right power
rails are illuminated in green in the
online mode to indicate that the ladder
logic is being executed.
E 2012 Rockwell Automation, Inc. All rights reserved.
Use extreme caution when entering or editing
ladder logic or data, forcing values, or making other
changes online that will affect the control of
devices. Mistakes can cause unintended machine
motion or loss of process control, possibly injuring
personnel and damaging equipment. Before
performing procedures online, complete these safety
precautions:
Determine if changes must be made online.
Verify that your company permits online
entering and editing.
Assess how machinery will respond to changes.
Check proposed changes for accuracy.
Notify all personnel of the changes.
Verify that you are online to the correct
controller.
Because changes in any online mode can affect
machine and process control, before entering
ladder logic, verify the current communications
mode using the Online toolbar.
Rev. August 2012
EN2sb56r
Entering, Editing, and Verifying Ladder Logic in an RSLogix 5000 Project
6--5
Performing Online Ladder Logic Edits
Editing ladder logic elements online requires different steps in
different modes:
State that the additional online steps are
another reason that online editing is
slower and more difficult. The extra
steps are in place for user safety.
When editing in
this mode . . .
You must perform the
following actions . . .
Routine(s) edits exist only in the
computer. Necessary when changing
an existing rung, but not necessary to
add a new rung.
The project is examined for errors.
Verification can be done separately or
automatically if you skip to the Accept
edits step.
The revised routine(s) are transferred
to the controller.
Routine(s) edits exist only in the
computer. Necessary when changing
an existing rung, but not necessary to
add a new rung.
The project is examined for errors.
Verification can be done separately or
automatically if you skip to the Accept
edits step.
The revised routine(s) are transferred
to the controller but the previous
program continues to execute.
The revised routine(s) executes,
controlling the physical outputs, but the
previous program still exists in the
controller. You can return to the
previous program using Untest edits.
The previous routine(s) language is
discarded and the revised program
continues executing.
Start edits
Tell students that the Verify edits step
can be considered optional since the
verification process will automatically
take place with the Accept edits step.
Online in the Remote
Program mode
Verify edits
Accept edits
Start edits
State that accept puts the change into
the controller memory.
Verify edits
Online in the Remote
Run mode
Important: Stress the difference
between controller Remote Test mode
(outputs set according to Program mode
state) and the Test edits step in Verify,
Accept, Test, Assemble (outputs
scanned and set using the program).
Program mode state is set in the output
module configuration.
If students are interested, review the
names of all of the buttons during the
demonstration using the Tooltips.
Description . . .
Accept edits
Test edits
Assemble edits
Online verification buttons can be used to complete this process:
Standard Toolbar
Verify
Controller
Verify Open Routine
Single-Rung Options
Program-Level Options
Online Edit Toolbar
Cancel Pending Rung Edit
Tip "
Rev. August 2012
Finalize Edits Option
Use tooltips to identify the buttons.
E 2012 Rockwell Automation, Inc. All rights reserved.
EN2sb56r
6--6
Entering, Editing, and Verifying Ladder Logic in an RSLogix 5000 Project
For the invalid data type error, clarify
that a tag of the DINT data type cannot
be used in an XIC bit instruction unless it
is specified to the bit level (e.g., DINT.0
and not just DINT).
When verifying, the software looks for the following errors:
Improper instruction placement
Improper or incomplete addressing
Tags with an invalid data type for the instruction (mismatches)
Improper tag creation
Empty rungs
Shorted branches (reported in error tab as a warning)
Duplicate destructive bits (reported in error tab as a warning)
Point out that this option can be enabled
using ToolsOptions.
The duplicate destructive bit option looks for
instructions that modify the same bit. This
includes instructions such as OTE, ONS, OSF,
and OSR instructions in ladder logic. This option
is enabled by default.
Mention that this is known as duplicate
OTE detection in PLC/SLC processors.
Note that this also includes bits used in
other languages, such as OREFs in
FBD, bits in transitions in SFCs, and bit
assignments in ST.
Presence of Always False Instruction (AFI) (reported in error tab
as a warning)
Presence of forces (reported in error tab as a warning)
Note that this is an option found
in the ToolsOptions dialog box.
Auto Rung Verification: An option that can be enabled to
automatically verify a rung.
Errors found in the verification process are displayed on the Errors
tab of the Output window:
Double-Click to
Go to the Error or
Press F4
Finalize Edits Option
Point out some benefits of this option:
S
Fewer steps required to go from
change to running code
Reduces system startup time by
eliminating delays
Compare these benefits to some of the
inherit risks.
E 2012 Rockwell Automation, Inc. All rights reserved.
The Finalize Edits option allows you to complete online edits in one
step.
For equipment and personnel safety, the full
sequence of steps (verify, accept, test, assemble)
should be used as it requires the programmers to
check the steps and test them before assembling
them in the controller. The Finalize Edits option
should be reserved for changes that will not impact
safety.
Rev. August 2012
EN2sb56r
Entering, Editing, and Verifying Ladder Logic in an RSLogix 5000 Project
6--7
Edit Zone Markers
Poll the students to see if they are aware
of online editing policies in their own
companies.
When you start editing online, a duplicate rung is displayed:
Edit Rung
Original Rung
(Active in Controller)
Rung numbers after the edit are temporarily
changed while the edit rung is being modified.
Mention that an asterisk : on any
instruction, tab, etc., indicates that the
element has been edited but not yet
accepted.
During the editing and verifying process edit zone markers indicate
the type of edit that is being performed:
Once the edit in Remote Run mode is accepted
into the controller memory, the markers change to
uppercase letters.
Note that these markers are the same
as the edit markers in RSLogix 5 and
500 software.
Point out that for reference, this
information is in the Procedures Guide
Glossary under the term Edit Zones.
The following table summarizes the zone markers and their
meanings:
Zone Marker
e
Lowercase
Uppercase (in
controller
memory)
Rev. August 2012
Description
i
r
I
R
D
Rung of ladder logic that is currently edited within
the computer RAM
Rung of ladder logic that is to be inserted
Rung of ladder logic that is to be replaced
Rung of ladder logic that will be inserted
Rung of ladder logic that is going to be replaced by
the rung directly above it
Rung of ladder logic that is marked for deletion
E 2012 Rockwell Automation, Inc. All rights reserved.
EN2sb56r
6--8
Entering, Editing, and Verifying Ladder Logic in an RSLogix 5000 Project
Online Editing in a Multiple-User Environment
RSLogix 5000 software allows more than one user to be online with
the same controller at the same time:
Each user has an up-to-date view of the controller data
Changes made by one user are immediately seen by all other
users.
Two programmers may be online
to the same controller during
commissioning or if a controller
has a large main routine with multiple
blocks of code (i.e., each block of code
controls a different machine in a
system).
Online Toolbar
Question: In what situations might two programmers be online to
the same controller?
Status icons in the Online toolbar and bottom-right corner of the
screen show if multiple users are editing an online project:
Bottom Right
Corner of Screen
Selected
Controller Unlocked
Controller Locked
Controller Locked by Another User
Project Changed by Another User
Keep the following points in mind about editing ladder logic when
multiple users are online:
A common best practice is to lock the controller:
-- This ensures only one person can be making edits to the logic
at one time.
If more than one programmer must be making changes at the
same time, carefully coordinate your work so changes arent
being made to the same routine at the same time:
-- Edits to a routine by one programmer can wipe out pending
edits by other users.
If possible, avoid having two programmers working on different
routines in the same program:
-- The routine edit commands (Accept, Test, Untest, Assemble,
and Cancel) are performed on a program basis.
-- Executing one of these commands affects another users edits,
causing potential loss of work.
E 2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
EN2sb56r
Entering, Editing, and Verifying Ladder Logic in an RSLogix 5000 Project
Heres How
6--9
To enter ladder logic by performing the following tasks:
Enter and edit ladder Logic using ASCII mnemonics
Configure ladder logic quick keys
Copy and reuse ladder logic components
Verify a project or a project component (online)
Activity: As your instructor demonstrates these procedures, follow
along in the associated job aid(s).
Demonstration Checklist
IMPORTANT: To meet IACET CEU
requirements and fully prepare
certificate students for the final exam,
you must demonstrate all lesson
objectives using the proper job aids.
Use the CCP143_1756r_DEM2.acd
project during the demonstration:
" To copy and reuse rungs,
instructions, and branches, refer to
the Copying and Reusing Project
Components procedure.
Rev. August 2012
Pay attention to these critical aspects of the demonstration:
-
Location of the procedures in the job aid
Entering logic using the ASCII text editor
Online verification buttons
Locking the controller
E 2012 Rockwell Automation, Inc. All rights reserved.
EN2sb56r
6--10
Entering, Editing, and Verifying Ladder Logic in an RSLogix 5000 Project
E 2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
EN2sb56r
Exercise: Entering, Editing, and Verifying Ladder Logic in an RSLogix 5000 Project
6--11
Exercise: Entering, Editing, and
Verifying Ladder Logic in an
RSLogix 5000 Project
Exercise A
In this exercise, you will practice entering, editing, and verifying
ladder logic in an RSLogix 5000 project.
Context:
You have been asked to add the ladder logic that will be used to
control the sequential portion of your application to an existing
project.
When you see underlined text, refer to the related procedure or
information in your job aid.
Directions:
1. Open the EN2_1756r_A1.acd file.
2. Download the project and then change the controller to Remote
Run mode.
3. Lock the controller to prevent other users from making online
changes to your project.
4. Open SecondaryRoutine and perform the following actions:
A. Using any method you choose, create the following ladder
logic:
If the value from AI0 is greater than 500, turn on DO0.
B. Assign the existing AI0 and DO0 tags to the logic
components.
C. Verify the rung (online).
D. Test the operation by setting analog input 0 (AI0) to a value
over 500.
E. Check that digital output 0 (DO0) turns on. If not, return and
modify your work.
Rev. August 2012
E 2012 Rockwell Automation, Inc. All rights reserved.
EN2e56r
6--12
Exercise: Entering, Editing, and Verifying Ladder Logic in an RSLogix 5000 Project
F. Use the ASCII mnemonic editing method to enter the
following rung:
G. What does your ASCII text entry line look like for this rung?
(What syntax did you use?)
H. Save and accept the edits and test for proper operation of this
rung.
I. Test the operation by setting analog input 0 (AI0) to a value
between 100 and 200.
J. Check that digital output 0 (DO1) turns on. If not, return and
modify your work.
K. Once your work is correct, turn analog input 0 all the way to
the left to shut off the light.
L. Copy the rung you created in step 4. A. and reuse it to
program the following logic, modifying the rung as
necessary:
If the value from AI0 exceeds 700, turn on DO2.
M. Save the edits.
N. Test the operation by setting analog input 0 (AI0) to a value
over 700.
O. Check that digital output 2 (DO2) turns on. If not, return and
modify your work.
P. Enable the quick keys.
E 2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
EN2e56r
Exercise: Entering, Editing, and Verifying Ladder Logic in an RSLogix 5000 Project
6--13
Q. Configure the F5 key to be the RUNG (Start of Rung -- End
of Rung) command.
R. Using the quick key method, create the following logic and
necessary tags:
If DO0 has been on for three seconds, turn on DO3. If DO0
is turned off, DO3 turns off as well.
S. Save and accept the edits and test for proper operation of
your rung.
T. Are any of these cases where you could use the Finalize Edits
option? Why or why not?
5. When you are finished editing the program, unlock the controller.
How Did You Do?
Rev. August 2012
Turn to the Answers section.
E 2012 Rockwell Automation, Inc. All rights reserved.
EN2e56r
6--14
Exercise: Entering, Editing, and Verifying Ladder Logic in an RSLogix 5000 Project
Answers
Exercise A
4.
A. The rung should look similar to the following example:
G. BST LIM 100 AI0 200 NXB EQU AI0 300 BND OTE DO1
L. The rung should look similar to the following example:
P. To enable the quick keys, from the Tools menu, perform the
following actions:
-- Select Options Ladder Editor.
-- Select the Enable Quick Key check box.
-- Select the Show Quick Key Configuration check box.
E 2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
EN2e56r
Exercise: Entering, Editing, and Verifying Ladder Logic in an RSLogix 5000 Project
6--15
Q. To assign F5 as the SOR command, perform the following
actions:
-- On the Workstation Options Ladder Editor window, click
the Configure button.
-- Scroll to F5 and then double-click _Free.
-- From the drop-down list, select Rung.
R. The rungs should look similar to the following example:
T. The Finalize Edits option should only be used when there is
no safety concern. If this indicator light is not a safety-related
indicator, the Finalize Edits option could be used.
Rev. August 2012
E 2012 Rockwell Automation, Inc. All rights reserved.
EN2e56r
6--16
Exercise: Entering, Editing, and Verifying Ladder Logic in an RSLogix 5000 Project
E 2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
EN2e56r
Lesson
Communicating with a Local
1756-I/O Module
What You Will Learn
After completing this lesson, you should be able to manually add a
1756-I/O module to an I/O configuration.
When You Will Do This
You can add your I/O modules to your project before, during, or after
you develop your application logic. At some point though, you have
to add the I/O modules so you can link your logic to specific devices.
Reference: RSLogix 5000 and Logix5000 Procedures Guide
1. Find the Adding a Local or Remote 1756--I/O Module to an I/O
Configuration procedure in your procedures guide.
2. Briefly read the Get Ready steps.
In this lesson youll focus on
adding local modules.
Question: What does the term local I/O mean? Remote I/O?
Question: When do you usually add I/O modules to your projects?
Point out that in this lesson youll
manually add the modules.
Before You Begin
Question: Are the modules usually installed at that point? Do you
usually have access to them?
Electronic Keying
Before you add an I/O module, plan your electronic keying:
Electronic Keying
and Revision Level
Rev. August 2012
E 2012 Rockwell Automation, Inc. All rights reserved.
IO2sb56r
7--2
Communicating with a Local 1756-I/O Module
If you have already presented the
Troubleshooting Logix5000 Analog I/O
Module Problems lesson, the discussion
on electronic keying, keying attributes,
keying examples, and disabled keying
can be skipped.
The electronic keying feature:
Automatically compares the expected module (as shown in the
I/O Configuration tree) to the physical module before I/O
communications begin
Helps prevent communications to a module that does not match
the type and revision expected
Determines if and how an electronic keying check is performed
Typically, three keying options are available:
Exact Match
Compatible Keying
Disable Keying
Tip "
The compatible keying option is the default selection.
Keying Attributes
Electronic keying is based on these attributes:
Vendor
Product Type
Product Code
Major Revision
Minor Revision
Example: Exact Match Keying Prevents Communication
Module Configuration
Vendor = Allen-Bradley
Product Type = Digital Input Module
Catalog Number = 1756-IB16D
Major Revision = 3
Minor Revision = 1
Communication is Prevented
Physical Module
Vendor = Allen-Bradley
Product Type = Digital Input Module
Catalog Number = 1756-IB16D
Major Revision = 3
Minor Revision = 2
E 2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
IO2sb56r
Communicating with a Local 1756-I/O Module
7--3
Example: Compatible Keying Prevents Communication
Module Configuration
Vendor = Allen-Bradley
Product Type = Digital Input Module
Catalog Number = 1756-IB16D
Major Revision = 3
Minor Revision = 3
Communication is Prevented
Physical Module
Vendor = Allen-Bradley
Product Type = Digital Input Module
Catalog Number = 1756-IB16D
Major Revision = 3
Minor Revision = 2
Example: Compatible Keying Allows Communication
Module Configuration
Vendor = Allen-Bradley
Product Type = Digital Input Module
Catalog Number = 1756-IB16D
Major Revision = 2
Minor Revision = 1
Communication is Allowed
Physical Module
Vendor = Allen-Bradley
Product Type = Digital Input Module
Catalog Number = 1756-IB16D
Major Revision = 3
Minor Revision = 2
Rev. August 2012
E 2012 Rockwell Automation, Inc. All rights reserved.
IO2sb56r
7--4
Communicating with a Local 1756-I/O Module
Disabled Keying
With Disabled Keying, I/O communication may occur with a module
other than the type specified in the I/O Configuration tree with
unpredictable results.
We generally do not recommend using Disabled Keying.
Be extremely cautious when using Disabled
Keying; if used incorrectly, this option can lead to
personal injury or death, property damage, or
economic loss.
Asynchronous I/O Update Review
Point out that this is different from other
controllers that have an input scan, then
a program scan (code), and then an
output scan within the operating cycle.
In Logix5000 controllers, I/O values update asynchronously with the
execution of code:
1. Input modules multicast their data to the backplane at the RPI rate
set in the modules.
2. The code is scanned and the output tags are updated immediately
after the execution of each output instruction.
3. Values are sent to the output modules at the RPI rate and at the
end of each task.
Tip "
The automatic output processing that occurs at the end of a task can
be disabled in the properties of the task.
Digital Module Multicasting Rates
Note that these values must be set in
the initial configuration but can be
adjusted at any time.
The multicasting of digital I/O data is affected by the rates selected
during module configuration:
RPI (Requested Packet Interval)
COS (Change of State)
RPI (Requested Packet Interval)
The RPI controls the following actions:
Specifies the time that elapses before the module multicasts the
current data in the on-board memory:
-- 200 microseconds (.2 ms) -- 750 ms
E 2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
IO2sb56r
Communicating with a Local 1756-I/O Module
7--5
COS (Change of State)
When the COS option is enabled for digital I/O, data transfer occurs
whenever a specified terminal changes state (transitions from on to
off or off to on):
All data is multicast whenever one point changes state.
To clarify, state that COS multicasts
module data on any change of state and
RPI multicasts module data at a
specified time.
Point out that the input data is changing
within the scan of the logic.
An RPI for digital I/O must be specified whether
or not the COS option is enabled. Data will be
multicast at the RPI rate whether or not a change
of state occurs.
Example: RPI and COS
Single Scan
Physical Device Data is
received by the input card
Rung
RPI Rate
100
COS
Tag is set or cleared in controller
Rung
250
Optional
RPI Rate
Rung
400
Analog Module Multicasting Rates
Note that analog module multicasting
rates are different from digital modules
that multicast based on RPI or COS
parameters.
The multicasting of analog data is affected by the rates selected
during module configuration:
RPI -- This parameter works in the same manner as it does for a
digital module
Note that RTS is actually set on a
different screen, but is discussed now
with RPI.
RTS -- (Real Time Sampling Rate)
Rev. August 2012
E 2012 Rockwell Automation, Inc. All rights reserved.
IO2sb56r
7--6
Communicating with a Local 1756-I/O Module
RTS (Real Time Sampling Rate)
The RTS instructs a module to perform the following operations:
Scan all of the input channels and store the data in the on-board
memory
Multicast the updated channel data and other status data to the
backplane of the local chassis
Tip "
RPI multicasts the current contents of the on-board memory. RTS
scans the inputs prior to multicasting.
Output States
For output modules, output states during specific situations can be
set on the Configuration tab:
Output States During
Program Mode
Output States During
Fault Mode
Output State During
Communication Failure
in Program Mode
Output States are Set Per Point
Example: An application that includes a
hot oven might set a fan output to on
during Program, Test, or Fault mode.
E 2012 Rockwell Automation, Inc. All rights reserved.
Operators and other personnel should be aware of the configured
output states for these situations:
Program Mode: Sets the physical output devices to either on,
off, or hold during specific situations:
-- Program or Remote Program mode
-- Remote Test mode
-- During a major recoverable fault
Fault Mode: Sets the physical output devices to either on, off, or
hold during a major non-recoverable fault.
Rev. August 2012
IO2sb56r
Communicating with a Local 1756-I/O Module
7--7
Diagnostics
On the Configuration screen of the wizard, the following other
parameters must be defined:
Diagnostic Features
I/O Points
? How are diagnostic modules
identified in the part number?
Answer: The part number has a D as
the suffix, e.g., 1756-IB16D.
Depending on the module, 1756 digital and analog diagnostic I/O
modules have the following diagnostic features:
Open Wire Detection: Open wire detection senses removed or
disconnected field wiring on an input module:
A leakage resistor must be placed across the contacts of an input
device.
The modules must detect minimum leakage current or a
point-level fault is sent to the controller.
Field Power Loss Detection: When field power to a module is lost,
a point-level fault is sent to the controller.
No Load Detection: Senses the absence of field wiring or a missing
load from each output point in the off state only.
Field Side Output Verification: Indicates that the code changes are
accurately represented on the power side of a switching device (i.e.,
the output is on when it is commanded to be on).
Note that the pulse test is typically
performed during commissioning or
troubleshooting.
Rev. August 2012
Pulse Test: Briefly sends a signal that verifies the output without
energizing the load.
E 2012 Rockwell Automation, Inc. All rights reserved.
IO2sb56r
7--8
Communicating with a Local 1756-I/O Module
Mention that fault data can be monitored
in controller tags for each module. To
create a status window, collect fault data
in a user-defined structure.
Add that latching can help you see
where a fault occurred even if the cause
of the fault has already been cleared
(e.g., if the fault occurred and cleared
overnight).
Note that diagnostic modules require the
most configuration. The workstation
modules are diagnostic. This will give
students the most practice. All other
modules are just subsets.
Note that resetting the module manually
is done by individual points. There is no
reset all points option.
For a standard course, note that the CIP
message instruction that resets the
diagnostics will be presented in the
Configuring a Message in an
RSLogix 5000 Project lesson.
If the Diagnostic Latching parameter in
the configuration is not set, the fault bit
will clear when the source problem is
removed.
E 2012 Rockwell Automation, Inc. All rights reserved.
Point-Level Electronic Fusing: To prevent too much current from
flowing through a module, certain digital modules have internal
electronic fusing. The fuses are cleared when one of the following
actions occurs:
A message instruction in the software resets the fuse.
A power cycle resets the fuse.
Diagnostic Latching
If any of the diagnostic faults are detected, the following events
occur:
The fault data is multicast to all controllers.
The I/O module LED displays a fault.
A fault bit is latched and can be examined in the tags list.
Even if the cause of an error has been cleared, the fault will remain
set until one of the following actions occurs:
The fault bit is manually reset in the I/O Module Properties dialog
box.
A message instruction in a ladder logic routine resets the latch.
A power cycle resets the output module.
You cannot enter a 0 into the I/O fault tag to
reset it.
Turn off the diagnostics for I/O points that will
not be wired. Otherwise, the LED fault lights on
the module will be active for unused I/O points,
possibly confusing maintenance personnel who do
not know that the points are unused.
Rev. August 2012
IO2sb56r
Communicating with a Local 1756-I/O Module
Heres How
7--9
To plan your electronic keying decisions for the module.
Reference: RSLogix 5000 and Logix5000 Procedures Guide
1. Make sure you are still at the Adding a Local or Remote
1756--I/O Module to an I/O Configuration procedure in your
procedures guide.
2. Find the Manually Add an I/O Module section of the procedure.
Give students several situations.
Have them use the decision table
to determine which keying option
to use.
3. Briefly read through the decision table for planning your
electronic keying decision.
Activity: Whos got the lowest rev?
You have decided to use compatible keying in your project. Consider
the rest of the I/O modules in your classroom as possible
replacements. Determine the lowest revision level for each module:
1. Find the I/O wiring diagrams in the back of this manual.
2. Go to your workstation and open RSLinx software.
3. Browse to the backplane of your workstation.
4. Right--click the first module in the chassis and click Device
Properties.
5. Write the revision level for the module on its wiring diagram.
6. Repeat steps 4. and 5. for the rest of the I/O modules in the
chassis.
7. Compare your results with the rest of the class and determine the
lowest revision for each catalog number of module. Write that
number on the modules wiring diagram, circle it, and plan to use
it in the exercise at the end of this lesson.
Result: When you are done, you should have a decision on which
revision level to use for each of your I/O modules.
Rev. August 2012
E 2012 Rockwell Automation, Inc. All rights reserved.
IO2sb56r
7--10
Communicating with a Local 1756-I/O Module
Heres How
IMPORTANT: To meet IACET
CEU requirements and fully
prepare certificate students for
the final exam, you must
demonstrate all lesson objectives
using the proper job aids.
To manually add a 1756-I/O module to an I/O configuration.
Reference: RSLogix 5000 and Logix5000 Procedures Guide
Talk your instructor through the steps in your procedures guide while
he or she demonstrates them.
To demonstrate:
1. Open the
CCP143_1756r_DEM3.acd project.
2. Have students talk you through
adding a digital module.
3. Have student talk you through
adding an analog input module.
4. Have student talk you through
adding an analog output module.
E 2012 Rockwell Automation, Inc. All rights reserved.
Pay attention to these critical aspects of the demonstration:
-
Where to clear diagnostics for unused points
Where to set analog scaling and alarm values
Where to set clamping limits
How to confirm communication is OK after you download
the project
Where to find tags for point data, channel data, point
faults, and alarms
Where to reset latched diagnostics
Rev. August 2012
IO2sb56r
Exercise: Communicating with a Local 1756-I/O Module
7--11
Exercise: Communicating with a
Local 1756-I/O Module
Exercise A
In this exercise, you will practice adding and configuring local
1756-I/O modules to the I/O Configuration of an RSLogix 5000
project.
Directions:
1. Review the partial I/O list below for your application:
Device
Tag (Alias)
Slot
Chan
Min / Off
Max / On
IO2_1756r_A1
12
24 VDC Sink
No Part
Part
CH0_Analog_Input
Conveyor
0--10 VDC
0.0
100.0
Press and Stake
Pressure Indicator
CH0_Analog_Meter
Conveyor
0--10 VDC
0.0
100.0
Weld Pressure
Transmitter
CH1_Analog_Input
Conveyor
0--10 VDC
0.0
1000.0
Weld Pressure
Indicator
CH1_Analog_Meter
Conveyor
0--10 VDC
0.0
1000.0
Conveyor Motor
Starter
Conveyor
Conveyor
24 VDC
Source
Conveyor Start
Pushbutton
Start
Conveyor
24 VDC Sink
Start
Conveyor Stop
Pushbutton
Stop
Conveyor
24 VDC Sink
Stop
Press Actuator
Station_Output
Station_1_Press
24 VDC
Source
Press
Command
Stake Actuator
Station_Output
Station_2_Stake
24 VDC
Source
Stake
Command
Part Present
Photoeye
Part_Sensor
Press and Stake
Pressure
Transmitter
Scope
Signal
Start
Command
2. Review the partial alarm list below for your application:
Slot
Chan
Part Present Photoeye
Device
Part_Sensor_PointFlt
Conveyor
12
24 VDC Sink
Point Fault
Conveyor Start Pushbutton
Start_PointFlt
Conveyor
24 VDC Sink
Point Fault
Conveyor Stop Pushbutton
Stop_PointFlt
Conveyor
24 VDC Sink
Point Fault
Conveyor Motor Starter
Conveyor_PointFlt
Conveyor
24 VDC Source
Point Fault
Press and Stake Pressure
Transmitter
Alarm_High
Station_1_Press
0--10 VDC
>60
Press and Stake Pressure
Transmitter
Alarm_Low
Station_1_Press
0--10 VDC
<40
Weld Pressure Indicator
Alarm_High
Station_2_Weld
0--10 VDC
>600
Weld Pressure Indicator
Alarm_Low
Station_2_Weld
0--10 VDC
<400
Rev. August 2012
Alarm (Alias tag)
Scope
Signal
Trip
E 2012 Rockwell Automation, Inc. All rights reserved.
IO2e56r
7--12
Exercise: Communicating with a Local 1756-I/O Module
3. Open the IO2_1756r_A1.acd file.
4. Add these modules to your projects I/O Configuration. Use the
I/O list, alarm list, wiring diagrams, and your class notes for any
additional information you need:
Slot
Suggested module name
Assembly_Digital_Outputs
System_Digital_Inputs
Assembly_Pressure_Meters
Assembly_Pressure_Sensors
5. Convert these tags to aliases for correct data:
CH0_Analog_Input
CH1_Analog_Meter
CH1_Analog_Input
CH0_Analog_Meter
6. Convert the tags on the alarm list to aliases for the correct fault or
alarm bits.
7. Save your project and download it to the controller.
E 2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
IO2e56r
Exercise: Communicating with a Local 1756-I/O Module
7--13
8. Test the application and verify that it meets the requirements
below. Correct any problems you find:
Requirement
Test / verification method
No I/O module faults.
Visually check the controller and I/O Configuration folder.
No point--level faults for any unused I/O points.
Visually check the front of each digital I/O module.
CH0_Analog_Input shows the range of values.
Monitor the tag in logic and confirm that its minimum and
maximum values match the I/O list specification.
CH0_Analog_Meter shows the range of values.
Monitor the tag in logic and confirm that its minimum and
maximum values match the I/O list specification.
CH1_Analog_Input shows the range of values.
Monitor the tag in logic and confirm that its minimum and
maximum values match the I/O list specification.
CH1_Analog_Meter shows the range of values.
Monitor the tag in logic and confirm that its minimum and
maximum values match the I/O list specification.
High and low alarms for Press and Stake Pressure Transmitter
trip on specified limits.
Monitor the alarm bits in logic and confirm they turn on at the
specified limits.
High and low alarms for Weld Pressure Transmitter trip on
specified limits.
Monitor the alarm bits in logic and confirm they turn on at the
specified limits.
A. Remove the terminal block of the digital output module and
confirm the Conveyor_Flt bit turns on.
B. Replace the terminal block.
Conveyor_Flt bit turns on for any point fault of the conveyor
equipment.
C. Reset any latched diagnostic bits.
D. Remove the terminal block of the digital input module and
confirm the Conveyor_Flt bit turns on.
E. Replace the terminal block.
F. Reset any latched diagnostic bits.
How Did You Do?
Rev. August 2012
Turn to the Answers section.
E 2012 Rockwell Automation, Inc. All rights reserved.
IO2e56r
Exercise: Communicating with a Local 1756-I/O Module
7--14
Answers
Exercise A
4. The complete I/O configuration for the should look like this:
Only these points need diagnostics:
Only points 0 to 5 are wired to
devices. Faults for points 6 to 15
are not set. Otherwise, faults will
be indicated on the module
LEDs.
E 2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
IO2e56r
Exercise: Communicating with a Local 1756-I/O Module
7--15
You should have configured the analog outputs like this:
Rev. August 2012
E 2012 Rockwell Automation, Inc. All rights reserved.
IO2e56r
7--16
Exercise: Communicating with a Local 1756-I/O Module
You should have configured the analog inputs like this:
E 2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
IO2e56r
Exercise: Communicating with a Local 1756-I/O Module
7--17
5. Your analog aliases should look like this:
6. Your alarm aliases should look like this:
Rev. August 2012
E 2012 Rockwell Automation, Inc. All rights reserved.
IO2e56r
7--18
Exercise: Communicating with a Local 1756-I/O Module
E 2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
IO2e56r
Lesson
Configuring a Logix5000 Controller
to Produce and Consume Data
What You Will Learn
Note that in the lesson, data will be
produced and consumed over the
backplane. While this might not be as
common as producing and consuming
them over a network, it will allow
students to practice sharing data before
going into the details of the ControlNet
or EtherNet/IP network.
Add that a separate lesson is available
for sharing data between controllers
over a ControlNet or EtherNet/IP
network.
Before You Begin
?What type of data would be
considered time-critical for your
application?
Note that sharing unscheduled data with
a MSG instruction is presented in a
separate lesson.
After completing this lesson, you should be able configure a
Logix5000 controller to produce and consume data by performing
the following tasks:
Configure a produced tag
Add a controller to an I/O configuration
Configure a consumed tag
Set RPI limits for a produced/consumed tag
When You Will Do This
Use produced and consumed tags when you want to share data
between controllers.
Scheduled Data
Scheduled Data: Information that is sent across a control-level
network, such as ControlNet or EtherNet/IP, on a regular basis. This
data has the following characteristics:
Is time critical, such as I/O status and control interlocking data
Has top priority in information exchange
Occurs in the same time frame during every data transmission
interval
Can be any of the following:
-- Data from an I/O module
-- Peer-to-peer interlocking data of controllers
To control I/O or produce and consume tags in a
Logix5000 ControlNet application, data must be
scheduled.
Rev. August 2012
E 2012 Rockwell Automation, Inc. All rights reserved.
PC3sb56r
8--2
Configuring a Logix5000 Controller to Produce and Consume Data
Produced and Consumed Tags
In the graphic, point out that the Total
tag is available to any other controller on
the backplane.
Note that the tag is still multicast. To
reach two controllers, it does not have to
be passed to one (like a message) then
be passed to another.
Produced Tag: Scheduled data (controller-scoped tag) that is
published (multicast) by a controller and available to one or more
other controllers:
Total
Consumed Tag: A tag whose value comes from a remote controller.
The local controller is the consumer, and the remote controller is the
producer. Consumed tags are always at controller scope.
Produced and Consumed Tag Requirements
Note that these are the 32-bit data
types.
Add that 500 bytes equals 125 DINTs or
250 INTs.
E 2012 Rockwell Automation, Inc. All rights reserved.
Data that meets the following requirements can be shared by
controllers without using messages:
Tag that is 32 bits or larger (e.g., DINT, REAL, TIMER,
COUNTER, etc.), an array of these data types, or user-defined
data type
Data that is less than or equal to 500 bytes
Rev. August 2012
PC3sb56r
Configuring a Logix5000 Controller to Produce and Consume Data
Remind students that this is the tag
being sent.
8--3
Configuring a Produced Tag
In the Tag Properties dialog box, you can configure a tag to be
produced:
Produce Option
Data Access
Options
Highest Possible
Number of
Consumers
Rev. August 2012
Advanced
Settings
E 2012 Rockwell Automation, Inc. All rights reserved.
PC3sb56r
8--4
Configuring a Logix5000 Controller to Produce and Consume Data
Adding a Controller to an I/O Configuration
Note that this is the name of the
controller and not the project (if
different).
Note that the I/O Configuration identifies
if the tag is being produced locally or
over a network (and which network).
To share data, a path is created by adding the producing controller to
the I/O configuration of the consuming controller and defining the
following parameters:
Name of the producing controller
Slot number
Revision (major and minor):
-- Electronic keying is compatible.
Optional:
-- Description
-- Major fault option
-- Inhibit option
Local Controllers
Add that the consumed tag can be
created or it can be an existing tag that
is modified.
Configuring a Consumed Tag
A controller can only consume a single tag once.
Setting up more than one consumed tag in the
same controller results in unpredictable
controller-to-controller communications.
If a consumed tag connection faults, all other tags
being consumed from the producing controller
will also stop receiving data.
E 2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
PC3sb56r
Configuring a Logix5000 Controller to Produce and Consume Data
8--5
A consumed tag is also defined in the Tag Properties dialog box:
In the graphic, point out that
the RPI is per tag and not
controller.
Name of the Consumed Tag
Mention that you must be offline or
online in Program mode to
change the RPI.
Consumed Option
Mention that RPI in relation
to the ControlNet network will be
detailed in a
different lesson.
Source Controller
(as Named in the I/O
Configuration)
Exact Name of the Produced
Tag in the Producing Controller
Rev. August 2012
The Amount of Time
Between Updates of the
Data
E 2012 Rockwell Automation, Inc. All rights reserved.
PC3sb56r
Configuring a Logix5000 Controller to Produce and Consume Data
8--6
Tag Names
Point out that this is not the consumed
tag name.
Tip "
The Remote Data (source tag name) must be exactly the same as the
produced tag name in the producing controller.
For accuracy, the source project should be opened and the tag names
should be copied:
Producer
Consumer
Same
Note that consumed tag names do not
require naming conventions through the
software. However, your plant may opt
to use naming conventions to make
troubleshooting easier.
Emphasize that if structures are the
same size but different layout, data from
the first member in structure A (e.g., a
REAL) will incorrectly transfer to the first
member in the other structure B (e.g., a
DINT).
If a user-defined structure is produced, there must
be a structure with the identical size and layout in
the consuming controller. To ensure accuracy,
copy the structures between projects.
Producer
DINT
DINT
BOOL
TIMER
Producer
DINT
DINT
BOOL
TIMER
E 2012 Rockwell Automation, Inc. All rights reserved.
Data
Consumer
TIMER
BOOL
DINT
DINT
Data
Consumer
DINT
DINT
BOOL
TIMER
Rev. August 2012
PC3sb56r
Configuring a Logix5000 Controller to Produce and Consume Data
8--7
Produced and Consumed Arrays
BOOL, SINT, and INT arrays can be indirectly produced and
consumed by performing the following actions:
Create a user-defined data type containing a single member:
-- Make the single member an array of the desired type
Copy this user-defined data type to both controllers
Produce and consume tags of this data type
In addition, you can produce/consume an array of INTs to/from a
PLC-5C controller over a ControlNet network by performing the
following actions:
Define a user-defined data type with two members:
-- Name the first member Status and assign it a DINT data type
-- Make the second member an array of INTs
Produced Tag Optimization
Note that a separate lesson reviews the
number of connections consumed by
produced and consumed tags.
The number (and not size) of consumed tags is totaled and counted
against the number of connections a system can support.
To limit the number of connections used, consider
grouping data into an array or a user-defined data
type and producing only that array or structure.
A produced or consumed tag cannot be greater
than 500 bytes (250 INTs or 125 DINTs).
Rev. August 2012
E 2012 Rockwell Automation, Inc. All rights reserved.
PC3sb56r
8--8
Configuring a Logix5000 Controller to Produce and Consume Data
Tell the students that when the RPI
request from a consumer is
out-of-range, an automatic negotiation
will allow the consumer to connect to the
producer by using the default RPI value
configured for the produced tag.
RPI negotiation status will be reported to
the user via the Consumed Tag
Connection dialog.
Produce/Consume Tag RPI Limits Check
If someone types a wrong RPI value for a consumed tag, it could
overload the network and halt production. To prevent this, you can:
Define a range of acceptable RPI values for each connection.
Define a default RPI value for out-of-range RPIs:
Minimum, Maximum and
Default values can be modified
Offline only.
Produced Tag Values
Set Min and Max
RPI Range
Set Default RPI
Consumer RPI of 2ms
is out of range.
E 2012 Rockwell Automation, Inc. All rights reserved.
Consumer RPI would
get set to the default
value of 10ms.
Rev. August 2012
PC3sb56r
Configuring a Logix5000 Controller to Produce and Consume Data
8--9
Configure the consuming controller to use the default RPI:
Advanced Tab
Enable RPI
Negotiation Here
Rev. August 2012
E 2012 Rockwell Automation, Inc. All rights reserved.
PC3sb56r
8--10
Configuring a Logix5000 Controller to Produce and Consume Data
Heres How
To configure a Logix5000 controller to share data across the
backplane by performing the following tasks:
Configure a produced tag
Add a controller to an I/O configuration
Configure a consumed tag
Set RPI limits for a produced/consumed tag
Activity: As your instructor demonstrates these procedures, follow
along in the associated job aid(s).
Demonstration Checklist
IMPORTANT: To meet IACET CEU
requirements and fully prepare
certificate students for the final exam,
you must demonstrate all lesson
objectives using the proper job aids.
Use the CCP143_1756r_DEM4.acd
project during the demonstration.
Use the CCP143_1756r_DEM5.acd file
to download to the controller in slot 3.
E 2012 Rockwell Automation, Inc. All rights reserved.
Pay attention to these critical aspects of the demonstration:
-
Location of the procedures in the job aid
Produced check box in the Edit Tags window
Produced For default (2)
Values in both controllers when the produced value
changes
Tags filter to show produced or consumed tags only
Rev. August 2012
PC3sb56r
Exercise: Configuring a Logix5000 Controller to Produce and Consume Data
8--11
Exercise: Configuring a Logix5000
Controller to Produce and
Consume Data
Exercise A
In this exercise, you will practice configuring Logix5000 controllers
to produce and consume data across the backplane.
Context:
You have programmed the complete projects for the controller in slot
1 and the controller in slot 3. To exchange interlocking data between
the controllers, you must configure the controllers to produce and
consume data across the backplane.
Tank level information must be produced from the controller in slot
1 and consumed by the controller in slot 3:
Producer
Consumer
When you see underlined text, refer to the related procedure or
information in your job aid.
Directions:
1. Open the PC3_1756r_A1.acd file.
2. What scope must tags be in order to be produced or consumed?
Rev. August 2012
E 2012 Rockwell Automation, Inc. All rights reserved.
PC3e56r
8--12
Exercise: Configuring a Logix5000 Controller to Produce and Consume Data
3. Which data types can be produced?
4. Create a new tag with the following properties:
Name: Tank_Level
Type: Produced
Connection: 4 Consumers
Data Type: DINT
Set tag to allow Unicast Consumer Connections
5. Verify the project and correct any errors.
6. Save the project.
7. Download the project to the controller in slot 1.
8. Place the controller in the Remote Run mode.
9. Minimize RSLogix 5000 software.
10. Open a second instance of RSLogix 5000 software.
11. Open the PC3_1756r_A2.acd file.
12. To configure the consumed tag, perform the following actions:
A. Create a path by adding the producing controller in slot 1 to
the I/O configuration of the project (name the controller
Producing_Controller.)
B. Create a tag named Slot1_Tank_Level with the following
properties:
-- Select the appropriate data type to consume the data from the
Tank_Level tag in the slot 1 controller.
-- Configure the Slot1_Tank_Level tag to consume the data
from the Tank_Level tag in the slot 1 controller.
-- The consumed tag data must be received by the controller in
slot 3 every 2 ms.
13. Download the project to the controller in slot 3.
14. Place the controller in the Remote Run mode.
E 2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
PC3e56r
Exercise: Configuring a Logix5000 Controller to Produce and Consume Data
8--13
15. Verify that the data from the controller in slot 1 is being
consumed by the controller in slot 3 by performing the following:
Open the Controller Tags editor for the project in slot 1 and
enter a value of 300 for the Tank_Level tag.
Confirm that 300 is now the value of the Slot1_Tank_Level
tag in the slot 3 project.
16. Go offline and close both projects.
How Did You Do?
Turn to the Answers section.
Exercise B
In this exercise, you will practice configuring Logix5000 controllers
to produce and consume data from a user-define data type across the
backplane.
Context:
To exchange interlocking data between the controllers, you must
configure the controllers to produce and consume UDT data across
the backplane.
When you see underlined text, refer to the related procedure or
information in your job aid.
Directions:
1. Open the PC3_1756r_B1.acd file.
2. Configure the Controller_Status tag to be produced for 2
consumers.
3. Verify the project and correct any errors.
4. Save the project.
5. Download the project to the controller in slot 1.
6. Place the controller in Remote Run mode.
7. Minimize RSLogix 5000 software.
8. Open a second instance of RSLogix 5000 software.
9. Open the PC3_1756r_B2.acd file
Rev. August 2012
E 2012 Rockwell Automation, Inc. All rights reserved.
PC3e56r
8--14
Exercise: Configuring a Logix5000 Controller to Produce and Consume Data
10. To configure the consumed tag, perform the following actions:
Create a path by adding the producing controller in slot 1 to
the I/O configuration of the project.
Copy the UDT from the producing controller and paste it into
the consuming controller.
Create a new tag named Slot1_Controller_Status that will
consume the data from the Controller_Status tag in the slot 1
controller.
Tip "
Controller_Status is a tag that uses a user-defined data type. To be
shared correctly, the UDT in the consuming controller must be set up
in the same order as the UDT in the producing controller.
11. Download the project to the controller in slot 3.
12. Place the controller in the Remote Run mode.
13. Monitor the consumed tag.
14. Verify that the data from the controller in slot 1 is being
consumed by the controller in slot 3.
How Did You Do?
E 2012 Rockwell Automation, Inc. All rights reserved.
Turn to the Answers section.
Rev. August 2012
PC3e56r
Exercise: Configuring a Logix5000 Controller to Produce and Consume Data
Rev. August 2012
8--15
E 2012 Rockwell Automation, Inc. All rights reserved.
PC3e56r
8--16
Exercise: Configuring a Logix5000 Controller to Produce and Consume Data
Answers
Exercise A
2. Tags must be controller-scoped to be produced or consumed.
3. Data types that can be produced would include REAL, DINT,
and user-defined data types.
4. The following configurations are required for the Tank_Level
tag:
12.
A. The following is an example of how the I/O Configuration
should look in the slot 3 controller:
E 2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
PC3e56r
Exercise: Configuring a Logix5000 Controller to Produce and Consume Data
8--17
B. The following configurations are required for the
Slot1_Tank_Level tag in the slot 3 controller project:
Data Type in the Consumed
tag must match Data Type in
the Produced tag.
The tag name here must match
the name of the produced tag
in the Producing Controller.
Rev. August 2012
E 2012 Rockwell Automation, Inc. All rights reserved.
PC3e56r
8--18
Exercise: Configuring a Logix5000 Controller to Produce and Consume Data
Exercise B
2. The following configurations are required for the
Controller_Status tag:
10. You should first copy the Status UDT from the producing
controllers project into the consuming controllers project:
E 2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
PC3e56r
Exercise: Configuring a Logix5000 Controller to Produce and Consume Data
8--19
The following configurations are required for the
Slot1_Controller_Status tag in the slot 3 controller project:
Data Type in the Consumed
tag must match Data Type in
the Produced tag.
The tag name here must match
the name of the produced tag
in the Producing Controller.
Rev. August 2012
E 2012 Rockwell Automation, Inc. All rights reserved.
PC3e56r
8--20
Exercise: Configuring a Logix5000 Controller to Produce and Consume Data
E 2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
PC3e56r
Lesson
Configuring Logix5000 Controllers
to Share Data over an EtherNet/IP
Network
What You Will Learn
Important: If this lesson is part of a
national school and you are using
ControlNet for remote data sharing, this
lesson can be skipped.
After completing this lesson, you should be able to:
Add an EtherNet/IP module to an I/O configuration
Add a controller to an I/O configuration
When You Will Do This
Use the procedures in this lesson when you have to pass interlock
data between controllers over an EtherNet/IP network.
Before You Begin
EtherNet/IP Network Overview
Ethernet Network: A high speed, information network designed
primarily for communications between computers and peripheral
devices:
Is widely accepted and has become the defacto standard for
information networks
Can be used with a wide range of devices available from many
different vendors
Was widely used in office networks for decades and now is used
on the plant floor as well
Allows data to be easily exchanged between the plant floor and
? Who owns or controls EtherNet/IP?
Answer: Technically, no one owns it;
however, EtherNet/IP is a trademark of
ControlNet International under license
by ODVA (Open DeviceNet Vendor
Association).
Rev. August 2012
office networks
EtherNet/IP (Industrial Protocol) Network: An Ethernet network
that uses CIP (Common Industrial Protocol) at the application layer
of the OSI model, enabling interconnectivity with other networks
that use CIP at the application layer.
CIP (Common Industrial Protocol): The application layer of the
OSI (open system interconnection) model that enables I/O control
over an EtherNet/IP network. This layer also bridges EtherNet/IP
devices with devices on networks such as ControlNet and DeviceNet
that also use CIP at the application layer.
E 2012 Rockwell Automation, Inc. All rights reserved.
ENTsb56r
9--2
Configuring Logix5000 Controllers to Share Data over an EtherNet/IP Network
Overview of IP Addresses
Let the students know that their will be a
brief discussion on private IP addresses
later in this lesson.
Tell the students that every Rockwell
Automation/Allen-Bradley
Ethernet/EtherNet/IP product has a MAC
address in the form
00:00:BC:XX:XX:XX.
Inform the students that a devices MAC
address is also referred to as the
devices Hardware Address or Ethernet
Address.
? How many possible Ethernet
devices/components can Rockwell
Automation manufacture?
IP (Internet Protocol) Address: A user-defined software address
assigned to a device on an Ethernet network that identifies the
network and the node. An IP address is a 32-bit address that is
normally grouped into 4 bytes for ease of communication and
understanding (e.g., 10.88.244.130).
MAC (Media Access Control) Address: A static address that is
factory-assigned to an Ethernet and/or EtherNet/IP device. This
address is a unique 6-byte address - each digit is a hex number -- that
is embedded in the circuitry of every device that is on an EtherNet/IP
network:
MAC Address (also referred to
as a modules Ethernet address)
Answer: 166 (=16,777,216).
IP addresses are easy-to-use and remember notations for the user to
employ in communication networks:
Devices use their hardware addresses to communicate with each
other.
Each device converts its hardware address to an IP address before
it transmits a message on the network.
As devices communicate with each other, they store information
in their memory that identifies a hardware device with its IP
address.
Ethernet networks support many different types of protocols,
including TCP/IP:
TCP/IP is not limited to an EtherNet/IP network.
EtherNet/IP addresses are used to communicate between devices
on different protocols.
The different protocols that devices use to communicate on are
transparent to the user at the network layer of the OSI model.
E 2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
ENTsb56r
Configuring Logix5000 Controllers to Share Data over an EtherNet/IP Network
Inform students that they should obtain a
list of available private IP addresses
from their IT department before
randomly using one. The ability to reuse
an IP number extends between different
enterprises but not necessarily within a
subnet.
9--3
Private IP Addresses
There are a finite number of IP addresses that have been designated
as private IP addresses. The private IP addresses prohibit message
traffic from being routed to the Internet thereby avoiding conflicts
that would otherwise arise whenever two or more enterprises used
the same IP address:
Class
Private IP Addresses
10.0.0.0 -- 10.255.255.255
172.16.0.0 -- 172.31.255.255
192.168.0.0 -- 192.168.255.255
The advantages of using private IP addresses include:
Readily available for anyone to use at anytime (i.e., you do not
need to register these addresses or obtain approval from an
Internet registry prior to implementing them)
Simultaneous usage by multiple companies thereby allowing
users to create their own private network
Easily expandable number of networks and end devices a user can
employ (thereby addressing the concern of having an insufficient
number of IP addresses)
Inform the students that they will be
shown how to identify if two devices are
on the same network later in this lesson.
This section may confuse your students.
Network administrators are often
stymied by this topic.
If pressed for additional information,
refer them to the Internet. Entering the
terms subnet or subnet mask into their
favorite search engine will reward them
with a plethora of information. The
search results will provide them
background information, subnet
calculators, and web and classroom
learning opportunities.
Subnets and Subnet Masks
Subnet Mask: An address that enables distinction between networks
by masking IP address bits that denote the same network and
exposing bits that denote different networks:
Networks are often divided up into smaller units called subnets.
Network administrators create subnets as a management tool:
-- Routes packets to the appropriate subnetwork based on IP
addresses
-- Easier to monitor the health of the entire network
-- Minimizes effort required to troubleshoot and isolate problems
-- Capable of isolating users based on:
-- Geography
-- Departments
-- Media protocols
-- Communication needs (e.g., plant floor I/O vs office
email).
Plant environment communications benefit when plant floor
communications operate on a separate subnet from the office
communications:
-- Accommodates timeliness of operations
-- Enhances system maintenance and upgrade options
-- Adds levels of security.
Rev. August 2012
E 2012 Rockwell Automation, Inc. All rights reserved.
ENTsb56r
9--4
Configuring Logix5000 Controllers to Share Data over an EtherNet/IP Network
? How would using subnets on a plant
floor assist your companys operations?
Answer: Subnets would make it
possible to isolate different plant floor
operations (e.g., welding, milling) from
each other and from the
office/administrative systems. This
allows one operation to be shut down
without directly impacting the whole
plant. Subnets will reduce the risk of
security threats (e.g., Trojan horse
attacks).
? How many of you have ever
programmed an MVM instruction? How
does it work?
Subnet masks allow for two devices to determine whether or not they
exist on the same subnet:
If two devices are on the same subnet, they are able to
communicate directly with one another.
If two devices are on different subnets, the data must first be sent
to a router before the targeted device receives the data sent by the
source device.
How a Subnet Mask Operates
A subnet mask, like an IP address, is a 32-bit address that is
normally grouped into 4 bytes for ease of communication and
understanding:
Typical Subnet Mask
Inform the students that a subnet mask
operates in a manner similar to an MVM
255.255.XXX.XXX
instruction; hopefully they will be able to
translate some of that familiarity when
identifying if two IP addresses are on the
same subnet.
Binary Equivalent: 1 1 1 1 1 1 1 1 . 1 1 1 1 1 1 1 1 . x x x x x x x x . x x x x x x x x
Consecutive 1s Represent Network Portion of IP Address
A subnet mask uses the 1s to do a bit-by-bit comparison of two IP
addresses to see if the devices associated with the IP address are on
the same subnet:
As long as the IP address bits match each other (independent of
the subnet mask value) whenever there is a corresponding 1 in
the subnet mask, the devices are on the same subnet.
If the network portions:
-- Match up, the devices communicate directly with each other.
-- Dont match up, they are on separate networks and then
communicate through a router (commonly referred to as a
gateway).
Example
Compare the EtherNet/IP addresses of two devices and determine
if they are on the same subnet:
EtherNet/IP Address: 165.88.73.129
EtherNet/IP Address: 165.88.74.187
Subnet Mask: 255.255.240.0
E 2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
ENTsb56r
Configuring Logix5000 Controllers to Share Data over an EtherNet/IP Network
9--5
Converting these decimal values to their binary equivalent yields:
EtherNet/IP Address: 1 0 1 0 0 1 0 1 . 0 1 0 1 1 0 0 0 . 0 1 0 0 1 0 0 1 . 1 0 0 0 0 0 0 1
EtherNet/IP Address: 1 0 1 0 0 1 0 1 . 0 1 0 1 1 0 0 0 . 0 1 0 0 1 0 1 0 . 1 0 1 1 1 0 1 1
Subnet Mask:
11111111.11111111.11110000.00000000
Corresponding bits match
each other; therefore,
these two devices are on
the same subnet.
Compare the same two EtherNet/IP addresses of two devices
using a different subnet mask and determine if they are on the
same subnet:
EtherNet/IP Address: 165.88.73.129
EtherNet/IP Address: 165.88.74.187
Subnet Mask: 255.255.255.0
Converting these decimal values to their binary equivalent yields:
EtherNet/IP Address: 1 0 1 0 0 1 0 1 . 0 1 0 1 1 0 0 0 . 0 1 0 0 1 0 0 1 . 1 0 0 0 0 0 0 1
EtherNet/IP Address: 1 0 1 0 0 1 0 1 . 0 1 0 1 1 0 0 0 . 0 1 0 0 1 0 1 0 . 1 0 1 1 1 0 1 1
Subnet Mask:
11111111.11111111.11111111.00000000
Corresponding bits do not match each other; therefore,
these two devices are not on the same subnet.
? What are some reasons you may
want to expand your network? Contract
it?
Answer: Isolate devices, processes,
and enhance security. Limiting the
number of subnets you have increases
the likelihood that two devices can
communicate directly with each other.
This may reduce the number of routers
you must purchase, maintain, and
monitor.
Gateways are glorified routers that
control the flow of data between external
networks and an enterprises internal
network.
As demonstrated by these examples, it is possible to expand (or
contract) the network environment by changing the subnet masks
associated with the devices on a network.
Gateways
Gateways: Nodes on a network that act as entrance and exit portals
between external networks:
Data packets being shared between internal and external devices
must pass-through at least one gateway in establishing
communications.
Gateways often act as a firewall and protect the resources of a
private network from users from other networks.
Gateways may have more than one IP address associated with
them -- one for internal users and one for external users.
Rev. August 2012
E 2012 Rockwell Automation, Inc. All rights reserved.
ENTsb56r
9--6
Configuring Logix5000 Controllers to Share Data over an EtherNet/IP Network
Default Gateway: The router (gateway) to which all remote packets
must be sent in order to be routed to their final destination (i.e., if
two devices are not on the same network, the packet will be sent to
the gateway).
Gateway Address: The IP address of a devices default gateway.
Configuration Overview and Software Interfaces
Note that this section is a general
introduction to the flow of configuration
procedures. The step-by-step details
and software demonstrations will be
presented in the Heres How section. If
this lesson is part of a national school,
add that remote I/O will be discussed in
a different lesson.
Encourage students to ask any
remaining questions from the
Configuring a Logix5000 Controller to
Produce and Consume Data lesson.
To share data across an EtherNet/IP network, it is necessary to
complete the following procedures:
1. Create the required produced tag.
2. In the controller that is consuming the data, perform the following
actions:
A. Add the local EtherNet/IP module to the I/O configuration.
B. Add the remote EtherNet/IP module to the I/O configuration.
C. Add the producing controller to the I/O configuration.
D. Create the required consumed tags.
Note that the controller was also added
to the project to share data when
producing and consuming tags across
the backplane. However, the controller is
now added under the remote ENBT.
Add that it is not necessary or even
possible to add the controller running the
project to the configuration.
Adding an EtherNet/IP Module and Controller to an I/O
Configuration
The following graphic is an example of a remote EtherNet/IP module
and remote controller added to an I/O configuration in
RSLogix 5000 software:
Local EtherNet/IP Module
Remote EtherNet/IP Module
Remote (Producing) Controller
Produced and Consumed Tags
Note that the produced and consumed
tags are created just as they were
created for transfers over the backplane.
E 2012 Rockwell Automation, Inc. All rights reserved.
Data that is shared over an EtherNet/IP network must be transferred
using produced tags and received (stored) in consumed tags.
Rev. August 2012
ENTsb56r
Configuring Logix5000 Controllers to Share Data over an EtherNet/IP Network
Heres How
9--7
To perform the following tasks:
Add an EtherNet/IP module to an I/O configuration
Add a controller to an I/O configuration
Activity: As your instructor demonstrates these procedures, follow
along in the associated job aid(s).
Demonstration Checklist
IMPORTANT: To meet IACET CEU
requirements and fully prepare
certificate students for the final exam,
you must demonstrate all lesson
objectives using the proper job aids.
Use the steps below to help guide you
during the demonstration:
Be sure to use the
CCP143_1756R_DEM6.acd file and
CCP143_1756R_DEM7.acd file. When
demonstrating the listed procedures, be
sure to point out the following items:
Rev. August 2012
Pay attention to these critical aspects of the demonstration:
-
Location of the procedures in the job aid
Parent--child relationship of the EtherNet/IP and the
controller that you add to the I/O configuration
Produced and consumed tags that you create
E 2012 Rockwell Automation, Inc. All rights reserved.
ENTsb56r
9--8
Configuring Logix5000 Controllers to Share Data over an EtherNet/IP Network
E 2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
ENTsb56r
Exercise: Configuring Logix5000 Controllers to Share Data over an EtherNet/IP Network
9--9
Exercise: Configuring Logix5000
Controllers to Share Data over an
EtherNet/IP Network
Exercise A
In this exercise, you will practice configuring a local Logix5000
controller to share data with a remote Logix5000 controller over an
EtherNet/IP network.
Context:
You have finished programming and testing a complete project for a
production line. To increase productivity, the plant has set up a
second production line. The second production line needs to receive
(consume) the Pressure data from the first assembly line over an
EtherNet/IP network.
Production Line 2
Production Line 1
EtherNet/IP Network
Consumed
n Produced
In this exercise, you will share data with the other workstation on
your EtherNet/IP network. One controller will produce data and the
other will consume the data.
When you see underlined text, refer to the related procedure or
information in your job aid.
Directions:
1. Open the ENT_1756r_A1.acd file (the producer controller.)
2. Create a user-defined data type called Station_Data that will
store the following information from the local controller:
Rev. August 2012
Member
Data type
Description
AI0
REAL
Analog Input channel 0
AI1
REAL
Analog Input channel 1
DI
DINT
Digital Inputs
E 2012 Rockwell Automation, Inc. All rights reserved.
ENTe56r
9--10
Exercise: Configuring Logix5000 Controllers to Share Data over an EtherNet/IP Network
3. Create a controller scoped tag called Local_Station_Data with
the following properties:
Uses the Station_Data data type
Produced for 1 controller
4. Enter ladder logic to copy your analog channel 0 data and channel
1 data as well as your discrete input data to the respective
members of the Local_Station_Data tag.
5. Verify the project, correct any errors, and download the project to
the local controller in slot 1.
6. Place the controller in slot 1 in Remote Run mode.
7. Open the ENT_1756r_A2.acd file (the consumer controller.)
Tip "
This project will be downloaded to the controller in slot 3 of the
remote workstation after you have completed the configuration.
8. Add the following modules to the I/O configuration (review
workstation configuration for appropriate IP addresses):
A. Add the local (relative to the projects controller)
EtherNet/IP module to the I/O configuration.
B. Nested under the local EtherNet/IP module, add the remote
EtherNet/IP module to the I/O configuration.
C. Nested under the remote EtherNet/IP module, add the
controller in slot 1 of the remote workstation to the I/O
configuration and call it Producer_Controller.
9. Copy the Station_Data UDT from the ENT_1756r_A1 project
file into the ENT_1756r_A2 project file.
10. Consume the Local_Station_Data tag from the
Producer_Controller by performing the following actions:
Create a controller scoped tag called Remote_Station_Data
that uses the Station_Data data type.
Configure Remote_Station_Data as a consumed tag with a
rate of 100 ms.
11. Enter ladder logic to copy the Remote_Station_Data tag to your
analog channel 0 and analog channel 1 outputs.
12. Write the logic so that each of the green buttons pushed on your
workstation will light the corresponding light on the remote
workstation.
13. Verify the project, correct any errors, and download the project to
the remote consumer controller in slot 3.
E 2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
ENTe56r
Exercise: Configuring Logix5000 Controllers to Share Data over an EtherNet/IP Network
9--11
14. To verify that each production line is correctly configured to
share data, complete the following actions:
A. Verify that moving your analog channel 0 to the middle
position moves the analog channel 0 meter on the remote
workstation to its middle position.
B. Verify that moving your analog channel 1 to the middle
position moves the analog channel 1 meter on the remote
workstation to its middle position.
C. Verify that pushing the first four discrete buttons on your
workstation light the corresponding lights on the remote
workstation.
How Did You Do?
Rev. August 2012
Turn to the Answers section.
E 2012 Rockwell Automation, Inc. All rights reserved.
ENTe56r
9--12
Exercise: Configuring Logix5000 Controllers to Share Data over an EtherNet/IP Network
Answers
Exercise A
2. The user-defined data type should look similar to the following
example:
3. The tag created should look similar to the following example:
E 2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
ENTe56r
Exercise: Configuring Logix5000 Controllers to Share Data over an EtherNet/IP Network
9--13
4. Your ladder logic should look similar to the following example:
8. The I/O configuration should look similar to the following
example:
9. The Station_Data UDT should now be found in the
EN2_1756r_A2 project:
Rev. August 2012
E 2012 Rockwell Automation, Inc. All rights reserved.
ENTe56r
9--14
Exercise: Configuring Logix5000 Controllers to Share Data over an EtherNet/IP Network
10. The consumed tag should look similar to the following
example:
11. Your ladder logic should look similar to the following example:
E 2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
ENTe56r
Exercise: Configuring Logix5000 Controllers to Share Data over an EtherNet/IP Network
9--15
12. Your ladder logic should look similar to the following example:
Rev. August 2012
E 2012 Rockwell Automation, Inc. All rights reserved.
ENTe56r
9--16
Exercise: Configuring Logix5000 Controllers to Share Data over an EtherNet/IP Network
E 2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
ENTe56r
Lesson
10
Communicating with a 1756-I/O
Module over an EtherNet/IP
Network
What You Will Learn
After completing this lesson, you should be able to add a remote
1756-I/O module to an I/O configuration for communication over an
EtherNet/IP network.
When You Will Do This
Just like with local modules, you can add remote I/O modules at any
point in your development process.
Have students find their
procedures guide and use it for
the steps below. Give them a few
minutes to read the procedures
guide.
Point out that in this lesson youll
manually add remote modules.
Before You Begin
Have students find the manual
and use it for the steps below.
Give them a few minutes to read
the guidelines.
Reference: RSLogix 5000 and Logix5000 Procedures Guide
1. Find the Adding a Local or Remote 1756--I/O Module to an I/O
Configuration procedure in your procedures guide.
2. Briefly read the Get Ready steps.
Effect of RPI on EtherNet/IP Communication
Reference: Logix5000 Controllers Design Considerations,
1756--RM094
1. Go to the Communication with I/O chapter.
2. Go to the Guidelines to Specify an RPI Rate for I/O Modules
section.
3. Notice the guideline on how RPI affects change--of--state
communication over an EtherNet/IP network.
Point out that this also applies to the
RTS of an analog module.
Rev. August 2012
Example: Effect of RPI on EtherNet/IP Communication
If a digital input module uses an RPI = 100 ms, the
EtherNet/IP module sends module data immediately on receiving it
if another data packet was not sent within the last 25 ms.
E 2012 Rockwell Automation, Inc. All rights reserved.
RI2sb56r
10--2
Communicating with a 1756-I/O Module over an EtherNet/IP Network
Communications Formats
Give students a few minutes to
read the benefits and
considerations of each, and then
ask the questions.
Reference: Logix5000 Controllers Design Considerations,
1756--RM094
1. Go to the Communication Formats for I/O Modules section.
2. Briefly read the benefits and considerations of direct and
rack--optimized connections.
Question: Which type of connection uses more network resources?
Question: What is the advantage of a rack--optimized connection?
Point out that you can still have
direct connections with modules
even if the chassis has a
rack--optimized connection.
Heres How
Give students a few minutes to
read the guidelines.
Question: Which type of connection do you need to use if you want
diagnostic data from a module?
To decide which rack connection setting to use.
Reference: Logix5000 Controllers Design Considerations,
1756--RM094
1. Go to the Guidelines to Manage I/O Connections section.
2. Briefly look over the I/O Connection Guidelines.
Example: No Rack Connection
Suppose you have a remote 17--slot chassis with these modules:
1 EtherNet/IP module
15 analog input or output modules
1 digital input module
In this case, set the remote EtherNet/IP modules Rack Connection
setting to None. Choose a direct connection format when you
configure each I/O module.
E 2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
RI2sb56r
Communicating with a 1756-I/O Module over an EtherNet/IP Network
10--3
Example: Rack--optimized Connection
Suppose you have a remote 10--slot chassis with these modules:
1 EtherNet/IP module
1 analog input module
1 fused output module
5 non--diagnostic digital input modules
2 non--fused digital output modules
In this case, set the remote EtherNet/IP modules Rack Connection
setting to Rack Optimization. Choose a direct connection format for
each analog and fused output module. Choose a rack--optimized
format for the rest of the modules.
Have each student do this on
their own. Then go over the
answers as a group.
Activity: For each situation below, decide which rack connection
setting to use and check the appropriate box:
Situation
None
Rack Connection setting
Rack
None
Optimization
A. Remote 10--slot chassis with:
1 EtherNet/IP module
2 analog input modules
6 diagnostic digital input modules
2 non--fused diagnostic output modules
Rack Optimization
B. Remote 13--slot chassis with:
1 EtherNet/IP module
2 analog input modules
7 non--diagnostic digital input modules
3 non--fused diagnostic output modules
Rack Optimization
C. Remote 13--slot chassis with:
2 EtherNet/IP modules
6 non--diagnostic digital input modules
3 non--fused diagnostic output modules
2 empty slots for future expansion
Rev. August 2012
E 2012 Rockwell Automation, Inc. All rights reserved.
RI2sb56r
10--4
Communicating with a 1756-I/O Module over an EtherNet/IP Network
Heres How
IMPORTANT: To meet IACET
CEU requirements and fully
prepare certificate students for
the final exam, you must
demonstrate all lesson objectives
using the proper job aids.
To manually add a remote 1756-I/O module to an I/O configuration
for communication over an EtherNet/IP network.
Reference: RSLogix 5000 and Logix5000 Procedures Guide
Talk your instructor through the steps in your procedures guide while
he or she demonstrates them.
To demonstrate:
1. Continue with either the
CCP143_1756R_DEM6.acd file or
CCP143_1756R_DEM7.acd project.
2. Have students talk you through
adding a remote module using a
direct connection.
3. Have students talk you through
adding a remote module using a
rack optimization connection.
E 2012 Rockwell Automation, Inc. All rights reserved.
Pay attention to these critical aspects of the demonstration:
-
Tag names of the data for the remote module
Rack Connection setting of the remote EtherNet/IP
module if you want a rack--optimized connection
You must be offline to change the Rack Connection
setting of the remote EtherNet/IP module.
The software automatically creates alias tags for the
packet of rack optimization data.
Rev. August 2012
RI2sb56r
Exercise: Communicating with a 1756-I/O Module over an EtherNet/IP Network
10--5
Exercise: Communicating with a
1756-I/O Module over an
EtherNet/IP Network
Exercise A
In this exercise, you will practice configuring a Logix5000 controller
to communicate with a 1756-remote I/O module over an EtherNet/IP
network.
Context:
You have programmed a complete project. As a safety feature for
plant personnel, you want to program an output light to be on when
the production line is active. Because you have used your available
I/O points in the local chassis, you must add a remote chassis to
accommodate the additional I/O requirements. You are now ready to
configure the controller to communicate with the 1756-remote I/O
module over an Ethernet I/P network.
The setup of the remote output is shown in the following graphic:
Production
Line Active
Local
Chassis
Ethernet I/P Network
Remote
Chassis
When you see underlined text, refer to the related procedure or
information in your job aid.
Directions:
1. Download the Blank.acd file to the controller in slot 3.
2. Open the RI2_1756r_A1.acd file.
3. Add the local and remote EtherNet/IP modules to the project I/O
configuration (review your workstation configuration for the
appropriate IP address.)
4. Add and configure the remote output module in slot 4.
5. Add the local input module that is in slot 2 to your I/O
configuration. You will also be owning this module.
Rev. August 2012
E 2012 Rockwell Automation, Inc. All rights reserved.
RI2e56r
10--6
Exercise: Communicating with a 1756-I/O Module over an EtherNet/IP Network
6. Make a new tag, DI12, an alias tag for bit 12 of the local digital
input card in slot 2.
7. Make a new tag, DO11, an alias tag for bit 11 of the the remote
digital output card in slot 4
8. Enter the following ladder logic in your MainRoutine:
9. Download the project to the controller in slot 1 of the
local chassis.
10. Test the project and verify that you have correctly configured the
remote I/O by performing the following actions:
A. Start the conveyor by energizing workstation label DI12.
B. Verify that the remote I/O light DO11 on the other
workstation is on.
C. Turn off DI12 and verify that the remote I/O light on the
other workstation is off.
D. When the project functions correctly, go offline.
How Did You Do?
E 2012 Rockwell Automation, Inc. All rights reserved.
Turn to the Answers section.
Rev. August 2012
RI2e56r
Exercise: Communicating with a 1756-I/O Module over an EtherNet/IP Network
Rev. August 2012
10--7
E 2012 Rockwell Automation, Inc. All rights reserved.
RI2e56r
10--8
Exercise: Communicating with a 1756-I/O Module over an EtherNet/IP Network
Answers
Exercise A
3. Your main configuration screen for the local EtherNet/IP
module in slot 6 should look similar to the example (The
modules IP address will vary depending on your workstation
setup.):
The remote EtherNet/IP module is added to the I/O
Configuration by right-clicking the Ethernet network icon
displayed below the local EtherNet/IP module:
(Continued)
E 2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
RI2e56r
Exercise: Communicating with a 1756-I/O Module over an EtherNet/IP Network
10--9
Your main configuration screen for the remote EtherNet/IP
module in slot 6 should look similar to the example (The
modules IP address will vary depending on your workstation
setup.):
4. Add the remote output module by right-clicking the backplane
displayed beneath the remote EtherNet/IP module:
Your main configuration screen for the remote output module in
slot 4 should look similar to the example:
Rev. August 2012
E 2012 Rockwell Automation, Inc. All rights reserved.
RI2e56r
10--10
Exercise: Communicating with a 1756-I/O Module over an EtherNet/IP Network
5. Your main configuration screen for the local input module in
slot 2 should look similar to the example:
Your completed I/O Configuration within the Controller
Organizer should look similar to the following:
E 2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
RI2e56r
Lesson
11
Creating an Event Task in an
RSLogix 5000 Project
What You Will Learn
After completing this lesson, you should be able to create an event
task in an RSLogix 5000 project.
When You Will Do This
Use an event task when you have logic you want to execute
whenever a specific condition occurs.
Before You Begin
Task Type Review
A task triggers the execution of its scheduled programs. The
following table outlines the type of tasks that are available:
If students are familiar with other
controllers, relate the event task to a PII
(PLC) or DII (SLC) task.
Rev. August 2012
Task Type
Usage
Continuous
A task that runs continuously but can be interrupted by
periodic or event tasks.
Periodic
A task that executes regularly at a user-specified rate.
When called, it will interrupt any lower priority tasks.
Event
A task that is triggered only when a specific event
occurs. When called, it will interrupt any lower priority
tasks.
Icon
E 2012 Rockwell Automation, Inc. All rights reserved.
EVTsb56r
11--2
Creating an Event Task in an RSLogix 5000 Project
Event Task
Note that the fastest or shortest task will
not necessarily be the highest priority.
In the graphic, point out that an event
task icon has a forward arrow because
the task executes once based on a
certain conditional event.
Also, note that like a continuous task or
periodic task, an event task contains
programs, tags, and routines.
An event task is a task that performs a certain function only when
triggered by a specified event:
Each task is assigned a trigger.
Each task is assigned a priority level. When triggered, the event
task interrupts any lower priority tasks (other event, continuous,
or periodic tasks).
Once initiated, all programs assigned to the event task are
executed or scanned once from top to bottom.
Upon completion, control returns to the task that was interrupted,
at the point in which it was interrupted.
Benefits
Note that event tasks can provide an
alternate, more effective way of
balancing the need for high-speed
processing with CPU performance.
Event tasks offer the following benefits:
Improve performance and reduce costs because tasks execute
only when needed
Reduce the amount of code a controller must scan on a regular
basis
Free up CPU resources for other operations
Provide faster throughput and improved loop-closure times,
which translate to higher production output
Tip "
Like a continuous or periodic task, event tasks require at least one
program and one routine.
Event Task Use
Event tasks are selected for processes that should only run when
needed, typically on an infrequent basis.
Perform an operation when a part is rejected
Execute a process when a certain count or time is achieved
E 2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
EVTsb56r
Creating an Event Task in an RSLogix 5000 Project
11--3
Example: Project Organization
Note that this project takes advantage of
some of the Logix5000 organizational
elements.
In this example, the event task is triggered only when the packing
tape is low:
Event Task
Event Task Properties
In the graphic, point out that the trigger
option is where the user chooses how
the event task will be enabled. Tell
students that this means event tasks will
only execute if the required trigger has
occurred.
The properties for each event task determine when the task is
executed:
Enables the Task
Specific Data for Triggers
such as Consumed Tag
Data Arrival or 1756 Module
Input State Change
Timeout Value
All other properties are the same
as those for periodic tasks.
Rev. August 2012
E 2012 Rockwell Automation, Inc. All rights reserved.
EVTsb56r
11--4
Creating an Event Task in an RSLogix 5000 Project
Trigger
The following triggers can initiate an event task:
Note that the Motion Group Execution
event task permits a specialized
algorithm to be synchronized with the
motion group processing. Since the
planner is always a higher priority than
the event task, this event always occurs
when the planner is complete. This
allows you to use specialized control
algorithms to override the normal motion
loop processing.
Note that a physical device determines
the location and triggers Axis
Registration tasks on the off-to-on
transition of these inputs.
To triggers an event task when . . .
Select this trigger type . . .
A consumed tag changed value or its sequence
count just changed
Consumed Data State Change
COS input data on an input module has changed or
its sequence count changed
Module Input Data State Change
An event instruction goes true
EVENT instruction only
" This code specifies the task to
trigger. It is programmed outside
of the event task.
The motion planner executed
Motion Group Execution
The high speed registration input 1 on the motion
card or drive has fired trapping the current axis
position
Axis Registration 1
The high speed registration input 2 on the motion
card or drive has fired trapping the current axis
position
Axis Registration 2
The axis has crossed the assigned watch position.
A watch point is a software-based position that
serves as the trigger for the event
Axis Watch
The triggers that are supported depend on the
controller type.
Multiple controllers can simultaneously
consume the same produced tag.
This technique lets you use smaller,
more modular controllers in flexible
manufacturing cells. You can reconfigure
the cells while avoiding the
interlock-wiring issues that would
otherwise exist.
Consumed Tag
Because a controller produces and consumes data asynchronous to
the execution of its control program, the program may begin
processing with a mixture of old and new data.
Event tasks provide a way to synchronize data exchange to ensure
that a consuming controller receives all of the data before processing
begins:
After the producing controller loads the data into its produced tag,
the controller initiates an IOT (immediate output) instruction.
The consuming controller simply configures an event task to look
for the trigger via the consumed tag.
E 2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
EVTsb56r
Creating an Event Task in an RSLogix 5000 Project
11--5
This technique provides the following advantages:
Automates the data detection processing for the consumer
Eliminates complex handshaking code
Improves the transfer rate
Coordinates the operations of multiple controllers in a distributed
system
? For digital modules, what is the
difference between RPI and COS?
The RPI sends data at a pre-configured
rate. COS sends data from a
digital input when the module
has detected that changes
have occurred (off-to-on, on-to-off, or
both). When any point configured for
COS changes state, the module
multicasts its data for all points.
Tip "
?For analog modules, what is the
difference between RPI and RTS?
RTS (Real Time Sample Rate)
specifies when an analog
module scans its channels and
multicasts data.
Example: Module input data state
change is valuable for applications such
as packaging and material handling,
where detection of a package by an
input sensor must be processed quickly
to drive an output solenoid to manipulate
or divert product.
Poll the class to find out who is using
remote I/O in their application.
Initiates code in the distributed controllers (consumers) based on
an event in a master controller (producer):
-- Eliminates data change detection overhead
-- Simplifies programming
Module Input Data State Change
Certain 1756 input modules support module input state change.
Refer to your module documentation for details.
Upon receipt of the information from a module, the controller
initiates the event task and executes the application code:
Saves valuable execution time by avoiding the need for the
controller to poll the inputs and perform COS (change-of-state)
detection
Captures and processes multiple events without additional CPU
overhead
1756 Local and Remote Options
Remote input modules can be used to trigger an event:
Input modules used to initiate an event task are generally in the
same chassis as the controller that needs to respond to the event.
Input modules can be placed in a remote chassis connected via a
ControlNet or EtherNet/IP network. The associated
communications module connecting the remote I/O must support
input events.
Point out that for many applications, the
benefit of reducing the CPU loading
overrides the need for speed.
Each network adds additional delays.
Quick-Response Events
Example: A packaging line requires a
label each time a product is detected.
Because of the speed with which
product moves by the labeler, an event
task is the only way to guarantee that
every load is detected and labeled.
Quick-Response Event: The delay between the input change and
the control of an output must be minimized:
Controls an output based on receipt of an input
Isolates code to ensure that execution is not impacted by long
continuous task scan times
Works for applications such as material handling, packaging,
gluing
Rev. August 2012
E 2012 Rockwell Automation, Inc. All rights reserved.
EVTsb56r
11--6
Creating an Event Task in an RSLogix 5000 Project
Short-Duration Input Events
With a short-duration event, the input
could change state once and then
change back again faster than the
normal scan of the continuous or
periodic task.
Example: In a bottling line, a sensor
detects an improperly capped bottle that
must be rejected. Because of the high
speed of the line, an event task is the
only way to detect the reject and
respond to it.
Short-Duration Input Event: An input whose duration is shorter
than the normal scan of the controller but the event does not occur
very often.
For short-duration input events, an event task performs the
following:
Executes an operation based on a short-duration (pulsed) input
Ensures capture of inputs that turn on and off faster than the
continuous task scan time
Works for applications such as encoder inputs, position sensing,
proximity devices
Synchronized-Execution Event
Example: Synchronized-execution
event tasks work for applications such
as packaging, process loops, drive
control loops
Synchronized-Execution Event: Typically used with analog data,
where the arrival of new data triggers an operation:
Each analog module has its own internal sample period for
converting analog input signals to digital floating values.
An asynchronous loop can exist between the receipt of new input
values and the execution of the code for the loop.
This discrepancy means that PID calculations
execute with stale data, which could result in
calculation errors.
With an event task, you can synchronize the PID calculation to the
arrival of flow transmitter data to avoid this potential error.
Throughput depends on module type, input
voltage, module temperature, filter and response
time settings, backplane size and loading, and
controller type.
Single Bit Triggers
A task can be triggered on a single bit change even when the task
configuration level is for the entire input module:
1. Access the Change of State options for the input module.
2. Select only the bit transition you want to trigger the event. By
default all transitions are enabled.
3. If there is more than one transition you want to monitor, use code
in the event task to find out what changed.
E 2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
EVTsb56r
Creating an Event Task in an RSLogix 5000 Project
11--7
Change of State options are found on the Configuration tab of the
Module Properties dialog box:
Sends Data
When the
Input
Changes
from Off to
On and On
to Off
Module Input Data State Change -- Design Considerations
At the time of printing, the modules with
the best response times are
1756-IB32/B digital module and
1756-IF4FXOF2F analog module.
The following checklist will help you efficiently use input triggers:
- Limit the number of other modules that are in the same chassis
as the event module and controller. Additional modules
increase the potential for backplane delays.
- For digital inputs, restrict the triggering input to a single point
on the module. Disable COS for the other points. When you
enable COS, all inputs on the module trigger a single event,
increasing the chance of a task overlap.
- In general, set the priority of your event task as the highest
priority.
- Increasing the number of event tasks increases the load on the
CPU, increasing the chance of a task overlap.
- Choose modules with the best current response times.
Automatic Output Processing
Review the wording of this option.
Selecting it will actually disable (not
enable) automatic output processing.
Rev. August 2012
To reduce task overhead, verify the disable automatic output
processing . . . option is selected and use an IOT instruction in a
routine.
E 2012 Rockwell Automation, Inc. All rights reserved.
EVTsb56r
11--8
Creating an Event Task in an RSLogix 5000 Project
Priority
If you already covered this topic in the
Periodic Task lesson, briefly review it
here.
Each periodic and event task in a controller has a priority level that
determines which task executes when multiple tasks are triggered:
Priorities are assigned by the user.
There are 15 levels of priority, with 1 being the highest priority
and 15 being the lowest:
-- A task with a higher priority will execute first (i.e., 1 before 3)
Clarify that the lower number (1) gives
the task a higher priority or importance.
Note that the fastest or shortest task will
not necessarily be the highest priority.
Task priorities are relative:
-- If there are only three tasks, priorities of 6, 7, and 8 will
Clarify that this means the continuous
task automatically has the lowest priority.
A user cannot configure the priority for a
continuous task.
function the same as priorities of 1, 2, and 3.
Although no priority level is assigned, the motion task is always
the highest priority.
Although no priority level is assigned, the continuous task is
always one priority level lower than all other tasks:
Highest Priority
Motion Task
Trend
Point out that periodic and event tasks
use the same priority scale/levels.
Therefore, whichever task has the
highest priority executes first, regardless
of the task type.
Event or Periodic Task - Priority 1 . . .
Event or Periodic Task - Priority 5 . . .
Event or Periodic Task - Priority 10 . . .
Event or Periodic Task - Priority 15 . . .
Lowest Priority
E 2012 Rockwell Automation, Inc. All rights reserved.
Continuous Task
Rev. August 2012
EVTsb56r
Creating an Event Task in an RSLogix 5000 Project
If you already covered this topic in the
Periodic Task lesson, briefly review it
here.
11--9
Scan Time Values
When executing, the software displays the maximum scan time and
the last scan time in milliseconds for the selected task in the Task
properties dialog box:
Online Properties
Length of Execution
Event Task Timeout
Setting this option will trigger a task within a specified period of
time if the required event does not occur:
This timer is reset and started when the task is completed.
This is not the same as a periodic task.
These instructions are explained on the
following pages. For more detailed
information on how these instructions
impact event tasks, see the online Help.
Event Instructions
The following instructions impact event tasks:
IOT (Immediate Output)
UID/UIE (User Interrupt Disable/Enable)
CPS (Copy Synchronize)
Rev. August 2012
E 2012 Rockwell Automation, Inc. All rights reserved.
EVTsb56r
11--10
Creating an Event Task in an RSLogix 5000 Project
IOT Instruction
An IOT instruction causes a value to be sent immediately, thus
improving response latency:
Can operate on a produced tag or an output module tag
Causes value to be sent, thus improving response latency
Avoids having to wait for another RPI to initiate an output update
On a produced tag, permits you to trigger a task in the consuming
controller:
Triggers the Task in the
Consumer
UID/UIE Instructions
These instructions work together to prevent a small number of
critical rungs from being interrupted by other tasks:
UID instruction prevents higher-priority tasks from interrupting
the current task but does not disable execution of a fault routine
or the Controller Fault Handler.
UIE instruction enables other tasks to interrupt the current task:
E 2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
EVTsb56r
Creating an Event Task in an RSLogix 5000 Project
11--11
CPS Instruction
This instruction is considered part of the
File/Misc. group of instructions. It can be
found on the File tab of the Language
Elements toolbar.
The CPS instruction copies the value(s) in the Source to the values in
the Destination:
Performs double buffering of values and manages interrupts/event
tasks:
-- Operation cannot be interrupted by another task.
Reduces the need for application handshaking
Avoids mixture of old/new data
Rev. August 2012
E 2012 Rockwell Automation, Inc. All rights reserved.
EVTsb56r
11--12
Creating an Event Task in an RSLogix 5000 Project
Heres How
To create an event task.
Activity: As your instructor demonstrates this procedure, follow
along in the associated job aid(s).
Demonstration Checklist
IMPORTANT: To meet IACET CEU
requirements and fully prepare
certificate students for the final exam,
you must demonstrate all lesson
objectives using the proper job aids.
Use the CCP143_1756r_DEM2.acd
project during the demonstration.
E 2012 Rockwell Automation, Inc. All rights reserved.
Pay attention to these critical aspects of the demonstration:
-
Location of the procedure in the job aid
Trigger for the event task
Timeout option
Automatic output processing option
Rev. August 2012
EVTsb56r
Exercise: Creating an Event Task in an RSLogix 5000 Project
11--13
Exercise: Creating an Event Task in
an RSLogix 5000 Project
Exercise A
In this exercise, you will practice the basic steps for creating an
event task.
When you see underlined text, refer to the related procedure or
information in your job aid.
Directions:
1. Open the EVT_1756r_A1.acd project.
2. Create a new Event task with the following properties:
Name: Alarms
Trigger: EVENT Instruction Only
Priority: 5
Watchdog: 100 ms
3. Add the unscheduled Alarm_Control program to your new
Event tasks program schedule.
4. Open the MainRoutine within the MainProgram of the
Continuous task.
5. Create a rung of ladder that will momentarily trigger execution of
the Alarms Event task when DI12 (Local:2:I.Data.12,
program-scoped tag) is enabled.
6. Save your project.
7. Verify you correctly configured your Event task by performing
the following:
A. Download the project to the controller in slot 1.
B. Change the controller operating mode to Remote Run.
C. Toggle selector switch DI12 and confirm the output lights on
your workstation begin to flash.
8. Close your project.
How Did You Do?
Rev. August 2012
Turn to the Answers section.
E 2012 Rockwell Automation, Inc. All rights reserved.
EVTe56r
11--14
Exercise: Creating an Event Task in an RSLogix 5000 Project
Exercise B
In this exercise, you will practice creating an event task.
Context:
The width of the roll of tape used in the palletizing station is
measured by an optical sensor. Two alarms must be generated for the
operator when the tape is below a certain width. On the standard
workstation, these inputs and outputs appear as shown:
Active Only When Tape is Low
DI12
DI13
DI14
DI15
When on (right), DI15 indicates that
the tape is low.
When you see underlined text, refer to the related procedure or
information in your job aid.
Directions:
1. Open the EVT_1756r_B1.acd project.
2. Download this project to the controller in slot 1.
3. Change the controller operating mode to Remote Run.
4. Minimize the project.
Tip "
The assembly stations are now running.
5. Open the EVT_1756r_B2.acd project.
6. Configure the local input module to enable change of state (COS)
for bit 15 when it transitions from off to on.
7. Create a new event task named Tape_Low that will trigger when
DI15 (Local:2:I.Data.15) is turned on:
Configure the new tasks trigger to be data state change from
the local input module Local:2:I.
The existing periodic task has a priority level of 5. Your new
event task is more critical than the Clean_Conveyor task.
Configure the tasks priority to meet this requirement.
E 2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
EVTe56r
Exercise: Creating an Event Task in an RSLogix 5000 Project
11--15
8. In the space below, list your tasks from highest priority to lowest
priority according to the values assigned:
Tip "
So far, this is a simple application with only a few short tasks and
little task overhead.
9. In the event task, create a new program named
Low_Tape_Alarms.
10. Create a ladder diagram routine named Alarm_Control within
the program.
11. Assign Alarm_Control as the main routine of the
Low_Tape_Alarms program.
12. Make the controller-scoped tag Alarm_1 an alias for
Local:4:O.Data.10.
13. Make the controller-scoped tag Alarm_2 an alias for
Local:4:O.Data.11.
14. Enter the ladder logic to enable two alarm lights when the task is
active: Alarm_1 and Alarm_2. Put these on an unconditional
rung.
15. Save your project.
Before performing Step 16., turn the bottom row
of inputs (selector switches) off (to the left).
16. Check the operation of this event task by performing the
following steps:
Tip "
Two outputs (DO10 and DO11) should turn on as a visual indication
that the event occurred and the task was scanned. The task should be
scanned only when the tape is low (DI15 = 1).
A. Download your file to the controller in slot 3.
B. Change the controller operating mode to Remote Run.
C. On the workstation, start your conveyor by pressing the start
button (workstation label DI0).
Rev. August 2012
E 2012 Rockwell Automation, Inc. All rights reserved.
EVTe56r
11--16
Exercise: Creating an Event Task in an RSLogix 5000 Project
D. A low tape measurement has not yet been indicated. Did
outputs DO10 and DO11 turn on?
E. Enable any of the other pushbuttons or switches (except
DI15).
F. Did DO10 and DO11 turn on?
G. To indicate that the width of the tape is now low, set DI15 to
the right.
H. Did DO10 and DO11 turn on?
How Did You Do?
Turn to the Answers section.
Exercise C
In this exercise, you will practice creating an event task and
configuring an event instruction.
Context:
According to the functional specification, a task is required that will
inform the operator when a high percentage (3%) of the total parts
has been rejected. On the standard workstation, these inputs and
outputs appear as shown:
Reject Alarm (Flashes Only
When Percentage of
Rejected Parts is Greater
than or Equal to 3)
When you see underlined text, refer to the related procedure or
information in your job aid.
Directions:
1. Open the EVT_1756r_C1.acd project.
2. Download this project to the controller in slot 1.
3. Change the controller operating mode to Remote Run.
E 2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
EVTe56r
Exercise: Creating an Event Task in an RSLogix 5000 Project
Tip "
11--17
The assembly stations are now running.
4. Minimize the project.
5. Open the EVT_1756r_C2.acd project.
6. Open MainRoutine of the Station_4_Quality program in the
Quality task. Look over rung 4. This is the rung that evaluates the
percent of rejected parts.
Contains the
percent of
rejects created.
7. Create a new event task named Reject_Percent that is triggered
by an Event instruction. This task is higher priority than the
periodic task.
8. Create a program in the task that will group the data and code
related to the reject alarms. Name the program Reject_Alarms.
9. Create and assign a main routine named Alarm_Control.
10. Enter ladder logic that will enable the alarm light DO6
(Local:4:O:Data.6) when the task is scanned. If you have time,
make the alarm light flash.
11. Turn off DI12, DI13, DI14, and DI15 on the workstation.
12. After the task is set up, enter the code necessary to enable the task
when the Percent_Rejected tag value is greater than or equal to
3. Enter this logic in the Station_4_Quality MainRoutine, rung
5.
13. Download this project to the controller in slot 3.
14. Set both analog inputs to 0 in order to create poor quality parts.
15. Change the controller operating mode to Remote Run.
16. On the workstation, start your conveyor by pressing the start
button (DI0).
17. To introduce a new part into the system, toggle the part sensor
switch (DI12) from left to right and then back to left.
You will see the first assembly station, Press, is active (DO3).
Rev. August 2012
E 2012 Rockwell Automation, Inc. All rights reserved.
EVTe56r
11--18
Exercise: Creating an Event Task in an RSLogix 5000 Project
18. When the station light (DO3) is off, toggle the part sensor switch
from left to right and then back to left.
Now there are two parts moving down the conveyor. You will see
two stations, Press and Stake active (DO3 and DO4).
19. When both station lights are off, toggle the part sensor switch
(DI12) from left to right and then back to left.
Now you will see all three assembly stations Press, Stake, and
Weld, activate.
Tip "
When the first part has reached station four it will be evaluated for
quality. A part will be rejected if the pressure values are out of range
(40% to 60% is acceptable).
20. Monitor the ladder logic that you entered to enable the event task.
Tip "
This ladder logic should be in the main routine of the
Station_4_Quality program in the Quality task.
Tip "
As soon as the Parts_Rejected value is greater than or equal to 3,
the reject light will be enabled/flashing.
21. Continue to toggle selector switch DI12 as the Press, Stake, and
Weld lights go off until the reject light (DO6) is flashing or on.
22. Go offline with the controller and close the project.
How Did You Do?
E 2012 Rockwell Automation, Inc. All rights reserved.
Turn to the Answers section.
Rev. August 2012
EVTe56r
Exercise: Creating an Event Task in an RSLogix 5000 Project
Rev. August 2012
11--19
E 2012 Rockwell Automation, Inc. All rights reserved.
EVTe56r
11--20
Exercise: Creating an Event Task in an RSLogix 5000 Project
Answers
Exercise A
2. Your task should contain the following information:
3. Your Alarms task program schedule should now look similar to
the following:
5. Your rung of logic should look similar to the following
example:
E 2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
EVTe56r
Exercise: Creating an Event Task in an RSLogix 5000 Project
11--21
Exercise B
6. Your Enable Change of State options should look like the
following example:
Sends Data When the
DI15 Changes from Off to
On.
7. Your task should contain the following information:
The input module is
identified.
This task is more important
than the others; therefore, it
has a lower priority number.
The task takes approximately
45 ms to execute, so the
watchdog timer value is set to 100
ms.
Rev. August 2012
E 2012 Rockwell Automation, Inc. All rights reserved.
EVTe56r
11--22
Exercise: Creating an Event Task in an RSLogix 5000 Project
8. The tasks have the following priorities:
Tape_Low is the most important task. It should have a
priority value of 4 or less.
The Clean_Conveyors task has a priority value of 5.
The Continuous task automatically has the lowest priority.
9. Your program should contain the following information:
10. Your routine should contain the following information:
15. The logic you created should look similar to the following:
E 2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
EVTe56r
Exercise: Creating an Event Task in an RSLogix 5000 Project
11--23
16.
D. No, outputs DO10 and DO11 did not turn on.
F. No, outputs DO10 and DO11 did not turn on.
H. Yes, outputs DO10 and DO11 did turn on.
Exercise C
7. Your task should contain the following information:
With this trigger,
there is no tag
required.
8. Your program should contain the following information:
Rev. August 2012
E 2012 Rockwell Automation, Inc. All rights reserved.
EVTe56r
11--24
Exercise: Creating an Event Task in an RSLogix 5000 Project
9. Your routine should contain the following information:
Tip "
Any routine type could be used.
10. The following ladder logic will flash the alarm light when the
task is enabled. To simply turn the alarm light on without
flashing it, program rung 1 only, without the input instruction:
E 2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
EVTe56r
Exercise: Creating an Event Task in an RSLogix 5000 Project
11--25
12. The following code will enable the task when the
Percent_Rejected value is more than (or equal to) 3:
Static Value
Rev. August 2012
Program Control
Instruction
E 2012 Rockwell Automation, Inc. All rights reserved.
EVTe56r
11--26
Exercise: Creating an Event Task in an RSLogix 5000 Project
E 2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
EVTe56r
Lesson
12
Retrieving and Setting Logix5000
Controller Status Values with
GSV/SSV Instructions
What You Will Learn
After completing this lesson, you should be able to:
Retrieve and set a controller status value using GSV (Get System
Value) and SSV (Set System Value) instructions
Assign a fault routine
When You Will Do This
Poll students to see how many of them
are familiar with PLC-5 or SLC 500
status files.
Before You Begin
Poll students to see how many of them
are familiar with PLC-5 or SLC 500
status files.
Add that by removing the status files, the
controller can perform more efficiently
because it does not have to update
status files when it is not required.
Point out that these instructions are not
available in function block diagram or
sequential function chart languages.
Mention that by default, the GSV and
SSV instructions are part of the
Input/Output tab on the RSLogix 5000
Instruction toolbar.
Rev. August 2012
With Logix5000 controllers, you use GSV and SSV instructions to
access controller status values.
Monitoring Controller System Data
Unlike other controllers, a Logix5000 controller does not constantly
monitor controller system data and update status files.
A Logix5000 controller stores controller system data in structures
called objects.
Objects are monitored and changed using specific ladder logic and
structured text instructions:
GSV (Get System Value) Instruction: An instruction used to
monitor specific controller system data.
SSV (Set System Value) Instruction: An instruction used to set
specific controller system data.
Use the GSV/SSV instructions carefully. Changes
to objects storing controller system data or based on
controller system data can cause unintended
controller operation that may injure personnel and
damage equipment.
E 2012 Rockwell Automation, Inc. All rights reserved.
GS2sb56r
12--2
Retrieving and Setting Logix5000 Controller Status Values with GSV/SSV Instructions
To clarify, state that the object class is
the general category, the instance name
is the specific occurrence, and the
attribute is the specific piece of data.
GSV/SSV Parameters
Note that the source and destination are
similar to the source and destination in a
MOV instruction.
Instance
Attribute
Source (SSV) or destination (GSV)
GSV/SSV instructions operate on the values for these parameters:
Class
Class
Show students examples of object
classes in the Online Help.
The class is the category or type of object that is accessed:
Category
Instance
Note that this is one reason that naming
I/O modules with a descriptive name
(using purpose or location, for example)
is beneficial.
If more than one project component relates to the class selected, an
instance must be selected:
Specific Instance Name
Specific Component
? How would the This option help
Select THIS to identify the current task,
program, or routine. The instruction can then be
easily reused.
programmers work more efficiently?
Answer: The same code can be copied
to another task, program, or routine and
still function properly without further edit.
Attribute
Note that not all attributes are able to be
retrieved and set.
The attribute is the particular property or value that is retrieved or
set:
Property to Monitor
E 2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
GS2sb56r
Retrieving and Setting Logix5000 Controller Status Values with GSV/SSV Instructions
12--3
Source or Destination
Add that the layouts of the required
source or destination data types are
detailed in the documentation reference
guide and in the online Help system.
A source contains values that will be set by an SSV instruction. A
destination stores the values that are retrieved by a GSV instruction:
Storage Tag for Value
The destination tag data type must match the size
and layout of the source as specified in the Help
system.
If the tag is a user-defined data type or an array of
data, select the correct member of the user-defined
data type or element of the array:
User-Defined Data Type Based on Data
Structure in the Help System
The first member of
the tag (Year) must
be selected.
Rev. August 2012
E 2012 Rockwell Automation, Inc. All rights reserved.
GS2sb56r
12--4
Retrieving and Setting Logix5000 Controller Status Values with GSV/SSV Instructions
Example: GSV Instruction
GSV instructions can be used to retrieve information about
program scan time:
Tag
User-Defined
Data Type
In the example instructions, point out the
CIP object class and the CIP object
name and then the attribute name. Note
that these instructions are not
conditioned.
This example shows how to retrieve status information from a
program class. The specified program is named DISCRETE:
One GSV instruction retrieves the value of the last scan time.
The other GSV instruction retrieves the value of the max scan
time.
Both instructions place the data in different members of a
user-defined structure named Discrete_Info.
E 2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
GS2sb56r
Retrieving and Setting Logix5000 Controller Status Values with GSV/SSV Instructions
12--5
Example: SSV Instruction
The following is an example of an SSV instruction:
Add that this method can also be used
to enable or disable an I/O module,
which is similar to inhibiting bits within a
PLC-5 controller.
In the example instructions, point out the
object class and the object name and
then the attribute name.
In this example, an SSV instruction is used to enable or disable a
program.
Based on the value moved into the Discrete_Progr_Flag tag, the
appropriate value is placed in the disable flag attribute of the
program named DISCRETE.
Status Flags
Stress that most controller values are
accessed using GSV and SSV
instructions.
Controller status and arithmetic status flags can also be examined for
specific data.
Note that flags are not base tags.
Programmers will never see or create
alias tags for them.
Most controller configuration and status values are accessed using
the GSV and SSV instructions. There is also a set of status and
arithmetic flags that can be accessed directly in relay instruction
operands.
These flags are not base tags and you cannot
create alias tags for them.
Rev. August 2012
E 2012 Rockwell Automation, Inc. All rights reserved.
GS2sb56r
12--6
Retrieving and Setting Logix5000 Controller Status Values with GSV/SSV Instructions
Controller Status Flags
Limited controller status can be examined using the following
controller status flags:
This status flag . . .
Is set after the . . .
First scan
S:FS
First normal scan of the routines in the current program
Minor fault
S:MINOR
Generation of an instruction-execution minor fault by program
execution
Arithmetic Status Flags
Add that for on-the-job reference, the
status flags are listed in the
documentation reference guide.
Mention that a non-recoverable fault is
often called a hardware fault.
Arithmetic status flags can be used to view the results of an
arithmetic operation:
This status flag . . .
Is set when the . . .
Overflow
S:V
Value being stored cannot fit into the destination because it is
either greater than the maximum value or less than the
minimum value for the destination
Zero
S:Z
Instructions destination value is zero [0]
Sign
S:N
Instructions destination value is negative
Carry
S:C
Instruction generated a carry
Fault Types
The controller detects three main categories of faults:
Non-recoverable major fault
Recoverable major fault
Minor fault
E 2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
GS2sb56r
Retrieving and Setting Logix5000 Controller Status Values with GSV/SSV Instructions
Mention that a non-recoverable fault is
often called a hardware fault.
12--7
Non-Recoverable Major Fault
Non-Recoverable Major Fault: A fault within the controller that is
severe enough to shut it down.
Note that students should have a basic
understanding of digital I/O configuration
from the fundamentals course or
equivalent experience. More in-depth
information is available in the
Troubleshooting Discrete I/O Modules
lesson.
Mention in controllers with older
firmware (version 13 or earlier), a
non-recoverable fault is indicated
by a solid red OK LED.
The following changes take place in the system:
Outputs change to the Fault Mode state set in the I/O
configuration.
The controller clears the project from its memory.
Depending on your controller and firmware, the controller OK
LED turns flashing red or solid red.
The word Faulted is displayed in the Online toolbar.
Flashing Red
(Solid in Some Controllers)
Recoverable Major Fault
Note that the major fault types and
codes and the minor fault types and
codes can be found in the Help system
and the appendices of the Procedures
Guide.
Recoverable Major Fault: A fault that is severe enough to shut
down the controller if the condition is not cleared.
A recoverable major fault can be of two categories:
Instruction execution
Other errors:
-- Power loss
-- Loss of critical I/O
-- Array subscript errors
Rev. August 2012
E 2012 Rockwell Automation, Inc. All rights reserved.
GS2sb56r
12--8
Retrieving and Setting Logix5000 Controller Status Values with GSV/SSV Instructions
Recoverable Major Fault Processing: Level 1
When a recoverable major fault first occurs, the following changes
take place in the system:
A major fault bit is set in the controller.
Any user-programmed fault routines are executed:
-- Program-level fault routine
-- Controller-fault handler
Fault Routine
Tell students that the fault routine is
created in the program and assigned.
Additionally, a GSV instruction can be
used to retrieve the fault code and store
it in a tag.
Remind students that non-instruction
level faults include I/O faults, task
watchdog faults, etc.
Add that for non-instruction faults, no
program fault routines are called.
? How do you access another routine
Each program can have its own fault routine:
The controller executes the programs fault routine when an
instruction-related fault occurs.
If a fault is cleared, the routine continues executing at the
instruction immediately after the one that caused the fault:
-- The controller does not enter Fault mode.
A fault routine normally contains logic to identify a fault and
sometimes clear it:
Fault Routine Icon
from the main routine?
Answer: Program a JSR instruction to
call the specified routine (subroutine)
from the main routine.
Fault Routine Code
Elements 0 to 1: 64-Bit Timestamp
Element 2: Fault Type (Lower 16 Bits) and Code (Upper 16 Bits)
Elements 3 to 10: Fault-Dependent
Information
Controller Fault Handler
Each project contains a Controller Fault Handler folder. A
programmer may add one optional program to it.
A controller fault handler executes in the following situations:
When a recoverable major fault is not related to an instruction
When a program fault routine does not exist or could not clear an
instruction-related fault
E 2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
GS2sb56r
Retrieving and Setting Logix5000 Controller Status Values with GSV/SSV Instructions
Note that the programming language
works in the same manner as the
programming in a fault routine.
12--9
At minimum, a main routine must be created and assigned:
Program
Main Routine
Subroutine
Recoverable Major Fault Processing: Level 2
If the controller fault handler does not exist or cannot clear the
recoverable major fault, the controller enters Fault mode and shuts
down:
Outputs change to the configured output state for Program mode.
The controller OK LED flashes red.
The word Faulted is displayed in the Online toolbar:
Logix5563
Flashing Red
Rev. August 2012
E 2012 Rockwell Automation, Inc. All rights reserved.
GS2sb56r
12--10
Retrieving and Setting Logix5000 Controller Status Values with GSV/SSV Instructions
Multiple Recoverable Major Faults
Remind students that the fault
information is displayed on the Major
Faults tab of the Controller Properties
dialog box.
With multitasking capabilities, a controller can handle as many as 32
simultaneous recoverable major faults.
If multiple recoverable major faults are reported, the following
actions take place:
The controller processes the faults in the order that they occur.
If any of the faults are not cleared by the controller fault handler,
Remind students that a watchdog fault
occurs if the sum of the execution times
for all programs in a task is greater than
the watchdog value.
the controller goes into Fault mode:
-- The fault that was not cleared and up to two additional faults
are logged.
-- This information can be viewed via the Major Faults tab in the
controller properties.
If over 32 major faults occur at the same time, the controller goes
into Fault mode:
-- The first three major faults are logged into the controller fault
log.
If a watchdog fault occurs a second time in the same logic scan,
the controller enters Fault mode, whether or not the controller
fault handler clears the fault.
Common Major Faults
Common major faults include:
Required I/O connection has failed
Array subscript is too big
A timer has a negative preset or accumulated value
Task watchdog timer has expired
Others
Minor Fault
Minor Fault: A fault that is not severe enough to shut down the
controller:
Low battery
Serial port problems
E 2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
GS2sb56r
Retrieving and Setting Logix5000 Controller Status Values with GSV/SSV Instructions
12--11
With a minor fault, the following changes take place in the system:
The program scan and normal I/O control continues.
The controller OK LED remains solid green.
A minor fault bit is set.
Logix5563
Normal
Operating
State
Solid Green
A minor fault may only be detected if
programming language is written to monitor it or
if you monitor the Minor Faults tab in the
Controller properties.
A minor fault does not affect application
operation. However, clearing a minor fault may
improve scan time.
Rev. August 2012
E 2012 Rockwell Automation, Inc. All rights reserved.
GS2sb56r
12--12
Retrieving and Setting Logix5000 Controller Status Values with GSV/SSV Instructions
Heres How
To perform the following tasks:
Retrieve and set a controller status value using GSV and SSV
instructions
Assign a fault routine
Activity: As your instructor demonstrates these procedures, follow
along in the associated job aid(s).
Demonstration Checklist
IMPORTANT: To meet IACET CEU
requirements and fully prepare
certificate students for the final exam,
you must demonstrate all lesson
objectives using the proper job aids.
Use the CCP143_1756r_DEM2.acd
project during the demonstration.
E 2012 Rockwell Automation, Inc. All rights reserved.
Pay attention to these critical aspects of the demonstration:
-
Location of the procedures in the job aid
Object and Attribute information found in the Help
system
Fault Routine Assignment drop-down list
Rev. August 2012
GS2sb56r
Exercise: Retrieving and Setting Logix5000 Controller Status Values with GSV/SSV Instructions
12--13
Exercise: Retrieving and Setting
Logix5000 Controller Status Values
with GSV/SSV Instructions
Exercise A
In this exercise, you will practice retrieving controller status data.
Context:
You have completed and tested your project. You would like to test
your fault routine to verify it works correctly. For troubleshooting
purposes, you want to retrieve the maximum scan time for each
program in the project.
When you see underlined text, refer to the related procedure or
information in your job aid.
Directions:
1. Open the GS2_1756r_A1.acd file.
2. Download your project to the controller in slot 1.
3. Place the controller in Remote Run mode.
4. The controller has faulted because the logic in rung 3 of the Main
routine of the Conveyor program is attempting to place a value in
an element of an array that does not exist. Clear the fault from
within the Controller Properties dialog box.
5. Assign the Conveyor_Fault routine as the fault routine of the
Conveyor program.
6. Place the controller in Remote Run mode and verify the fault has
been corrected.
7. What instruction could be used to retrieve the maximum scan
time of a program?
8. In the MainRoutine of the Conveyor program, create the ladder
logic required to retrieve the maximum scan time for the
Conveyor program. Store this information in an existing program
tag named Max_Scan_Time.
Tip "
Rev. August 2012
Search Help for the MAXSCANTIME attribute for help configuring
your logic.
E 2012 Rockwell Automation, Inc. All rights reserved.
GS2e56r
12--14
Exercise: Retrieving and Setting Logix5000 Controller Status Values with GSV/SSV Instructions
9. Modify your ladder logic so that the rung could be copied to any
program and still retrieve the max scan time without additional
modification.
10. Copy the Max_Scan_Time tag and the ladder logic into the main
routines of the other three programs.
11. Verify and save your project.
12. To test your work, verify that a scan time is recorded in each of
the four ladder logic instructions.
How Did You Do?
Turn to the Answers section.
Exercise B
In this exercise, you will practice retrieving controller status data and
store this information in a user-defined data type.
Context:
Using the project in the controller in slot 3, you want to record shift
numbers based on controller status data. You are now ready to
retrieve the current controller wall clock value.
When you see underlined text, refer to the related procedure or
information in your job aid.
Directions:
1. Open the GS2_1756r_B1.acd file.
2. Based on the WallClockTime Date/Time information in the Help
system, create a user-defined data type called DateTime that will
store the current wall clock time.
3. Create a tag called Wall_Clock that uses the DateTime data type
that you just created.
4. Open the MainRoutine of the Shift_Calculation program in the
Periodic Task.
5. Draft the ladder diagram required to retrieve the current clock
time from the controller and store it in the Wall_Clock tag.
Tip "
Be sure to select the correct member in the Wall_Clock tag.
6. In the Shift_Calculation program tags, create a new DINT tag
called Shift_Number.
E 2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
GS2e56r
Exercise: Retrieving and Setting Logix5000 Controller Status Values with GSV/SSV Instructions
Tip "
12--15
Shift times are calculated using the following parameters. 24-hour
times are used:
If the time is Between (Limited to). . .
The Shift Number Is . . .
14:59
15
22:59
23
6:59
7. In the Shift_Calculation MainRoutine, enter the logic required to
move the correct shift number into the Shift_Number tag based
on the current Wall_Clock.Hour time.
8. Save your project.
9. Download your project to the controller in slot 3.
10. Place the controller in the Remote Run mode.
11. Verify that the current shift is correctly calculated in the ladder
logic.
12. Monitor the Wall_Clock tag to see the values changing for all
members of the structure.
How Did You Do?
Turn to the Answers section.
Exercise C
In this exercise, you will practice retrieving controller status data and
assigning a fault routine.
Context:
You must program a fault routine that will capture a controllers
major fault record and clear the fault record. You must develop logic
that faults the controller to test the fault routine.
When you see underlined text, refer to the related procedure or
information in your job aid.
Directions:
1. Open the GS2_1756r_C1.acd file.
2. Create a user-defined data type named MajorFaultRecord with
the following elements:
Name
Rev. August 2012
Data Type
TimeLow
DINT
TimeHigh
DINT
Type
INT
Code
INT
Info
DINT[8]
E 2012 Rockwell Automation, Inc. All rights reserved.
GS2e56r
12--16
Exercise: Retrieving and Setting Logix5000 Controller Status Values with GSV/SSV Instructions
3. Create two new controller-scoped tags using the
MajorFaultRecord data type:
Capture
Clear
4. In the Controller Fault Handler folder within the Controller
Organizer create a new program name ProgramFaults.
5. Create a new routine within ProgramFaults named
Capture_Clear_Faults.
6. Assign Capture_Clear_Faults as the main routine of the
ProgramFaults program.
7. Open the Capture_Clear_Faults routine.
8. Add a GSV instruction that will store the MajorFaultRecord of
any program that calls this fault handler routine in the
Capture.TimeLow tag.
9. Add a SSV instruction that will use the Clear.TimeLow tag to
clear the MajorFaultRecord of any program that calls this fault
handler routine.
10. Configure the existing Clear_Fault tag as an enabling condition
for the SSV instruction.
11. Open the MainRoutine in the MainProgram of the MainTask.
12. Add the following logic to the MainRoutine:
Tip "
This logic will generate a controller fault by placing an invalid value
into the Timer tag preset when selector switch 12 is enabled.
13. Verify your project.
14. Download to the controller in slot 1 and place your controller in
Remote Run.
E 2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
GS2e56r
Exercise: Retrieving and Setting Logix5000 Controller Status Values with GSV/SSV Instructions
12--17
15. Verify the project is working correctly by performing the
following:
A. Enable selector switch DI12.
B. Verify the controller faults.
C. Monitor the Capture tag and confirm it is populated with data
from the MajorFaultRecord.
D. Access Controller Properties and clear the fault.
E. Enable selector switch DI13.
F. Place the controller in Remote Run mode.
G. Confirm the controller does not enter a faulted state.
H. Go offline and close your project.
How Did You Do?
Rev. August 2012
Turn to the Answers section.
E 2012 Rockwell Automation, Inc. All rights reserved.
GS2e56r
12--18
Exercise: Retrieving and Setting Logix5000 Controller Status Values with GSV/SSV Instructions
Answers
Exercise A
4. The fault can be cleared by selecting the Clear Majors button
from within the Controller Properties dialog box:
5. Assign the Conveyor_Fault routine from the Configuration tab
within the Program Properties dialog box:
7. The Get System Value (GSV) instruction retrieves controller
system data including the maximum scan time for a program.
E 2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
GS2e56r
Exercise: Retrieving and Setting Logix5000 Controller Status Values with GSV/SSV Instructions
12--19
8. Based on the memory structure of the MaxScanTime attribute, a
program-scoped DINT tag was created in the Conveyor
program and the following ladder logic was programmed:
9. Because the THIS instance name was used, the ladder logic
could easily be copied to the three machine stations.
Exercise B
2. The following user-defined data type was created to store the
date/time information in a readable form:
Help System Information:
The data type must be the same order as the
date/time information or data will be stored
incorrectly.
Rev. August 2012
E 2012 Rockwell Automation, Inc. All rights reserved.
GS2e56r
12--20
Exercise: Retrieving and Setting Logix5000 Controller Status Values with GSV/SSV Instructions
3. A tag named Wall_Clock (of the DateTime data type) was
created to store the retrieved wall clock values:
5. The following ladder logic was entered to retrieve the date/time
information and set the shift number:
This is a tag of a
user-defined
data type named
DateTime.
E 2012 Rockwell Automation, Inc. All rights reserved.
The first element of the
address (Year) must be
selected.
Rev. August 2012
GS2e56r
Exercise: Retrieving and Setting Logix5000 Controller Status Values with GSV/SSV Instructions
12--21
7. The following logic could be used to move the correct shift
number into the Shift_Number tag based on the current
Wall_Clock.Hour time:
Time Between 7 and 14:59
Time Between 15 and 22:59
Time Between 23 and 6:59
Rev. August 2012
E 2012 Rockwell Automation, Inc. All rights reserved.
GS2e56r
12--22
Exercise: Retrieving and Setting Logix5000 Controller Status Values with GSV/SSV Instructions
Exercise C
2. The structure of your MajorFaultRecord data type should be
configured similar to the following:
3. You should have added the following controller-scoped tags:
6. Your Controller Fault Handler folder should now look similar to
the following:
8. Your GSV instruction should be configured similar to the
following:
Use the first member
of the Capture tag
E 2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
GS2e56r
Exercise: Retrieving and Setting Logix5000 Controller Status Values with GSV/SSV Instructions
12--23
9. Your SSV instruction should be configured similar to the
following:
10. The rung you placed the SSV instruction on should now look
similar to the following:
Rev. August 2012
E 2012 Rockwell Automation, Inc. All rights reserved.
GS2e56r
12--24
Exercise: Retrieving and Setting Logix5000 Controller Status Values with GSV/SSV Instructions
E 2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
GS2e56r
Lesson
13
Programming a BTD Instruction in
an RSLogix 5000 Project
What You Will Learn
After completing this lesson, you should be able to program a Bit
Field Distribute (BTD) instruction in an RSLogix 5000 project.
When You Will Do This
Sometimes groups of bits within a value have a specific meaning. A
BTD instruction lets you extract those bits so they are easier to use.
Before You Begin
Mention that if the length of the bit field
extends beyond the destination (Dest),
the instruction does not save the extra
bits. Any extra bits do not wrap to the
next word but instead are dropped.
BTD (Bit Field Distribute) Instruction
A BTD instruction copies specified bits from the Source, shifts the
bits to the appropriate position, and writes the bits into the
destination (Dest).
When enabled, a BTD instruction copies a group of bits in the
following manner:
The group of bits is identified by the Source value bit (lowest bit
number of the group) and the length (number of bits to copy).
The destination (Dest) bit identifies the lowest bit number to start
with in the destination (Dest).
The Source value remains unchanged.
Rev. August 2012
E 2012 Rockwell Automation, Inc. All rights reserved.
BTDsb56r
13--2
Programming a BTD Instruction in an RSLogix 5000 Project
The following example copies 6 bits to a different location in the
same tag:
Destination (Dest) Bit
Source Bit
value_1
Before BTD
Instruction
value_1
After BTD
Instruction
The shaded boxes show the bits that changed in value_1.
AFTER MOVE:
E 2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
BTDsb56r
Programming a BTD Instruction in an RSLogix 5000 Project
Heres How
To program a BTD instruction.
Example
BTD Instruction
13--3
This example gets status information about an I/O module and uses a
BTD instruction to make the information easier to use:
1.
2.
3.
4.
5.
To show why you are using bits 12 to 15:
1. Click the GSV instruction.
2. Press F1.
3. Scroll through the help and click the
GSV/SSV Objects link. It is near the
end of the Description section.
1. The GSV instruction gets status information about some part of
the system.
2. In this example, the GSV instruction gets the status of the I/O
module in slot 2 of the workstation.
3. Bits 12 to 15 give the status of the module.
4. Click the MODULE link.
4. The BTD instruction extracts bits 12 to 15 and stores them in a
separate tag.
Remove the I/O module from the
chassis and point out the change in the
status value.
5. It is now a lot easier to use the status information. If the value is
not 4, there is a problem.
Rev. August 2012
E 2012 Rockwell Automation, Inc. All rights reserved.
BTDsb56r
13--4
Programming a BTD Instruction in an RSLogix 5000 Project
Demonstration Checklist
IMPORTANT: To meet IACET CEU
requirements and fully prepare
certificate students for the final exam,
you must demonstrate all lesson
objectives using the proper job aids.
Use the BTD_1756R_DEM1.acd file for
your demonstration.
After you demonstrate, ask each key
point as a question and have the
students tell you what they noticed.
Your Turn
E 2012 Rockwell Automation, Inc. All rights reserved.
Pay attention to these critical aspects of the demonstration:
-
Which side of the bit pattern is the first bit
At what number the source or destination bit starts
Now its your turn. Complete Exercise A.
Rev. August 2012
BTDsb56r
Exercise: Programming a BTD Instruction in an RSLogix 5000 Project
13--5
Exercise: Programming a BTD
Instruction in an RSLogix 5000
Project
Exercise A
Practice programming a Bit Field Distribute (BTD) instruction.
Context:
Suppose you need to know the physical position of the controllers
keyswitch. You already have a GSV instruction that gets the status
attribute for the controller. You want to make it easier to read the
position of the keyswitch.
Status Attribute for the Controller
The status attribute for the controller provides the following
information. You want only the keyswitch position.
Bits
Bits 3--0
Bits 7--4
Bits 11--8
Bits 13--12
Bits 15--14
Bit Pattern
Meaning
Reserved
0000
0001
0010
0011
0100
0101
0110
0111
0001
0010
0100
1000
01
10
11
01
10
reserved
flash update in progress
reserved
reserved
flash is bad
faulted
run
program
recoverable minor fault
unrecoverable minor fault
recoverable major fault
unrecoverable major fault
keyswitch in run
keyswitch in program
keyswitch in remote
controller is changing modes
debug mode if controller is in Run
mode
When you see underlined text, refer to the related procedure or
information in your job aid.
Rev. August 2012
E 2012 Rockwell Automation, Inc. All rights reserved.
BTDe56r
13--6
Exercise: Programming a BTD Instruction in an RSLogix 5000 Project
Directions:
1. Open the BTD_1756R_A1.acd project file.
2. Open MainRoutine.
The MainRoutine has a GSV instruction that retrieves the Status
attribute of the controller. The instruction stores the value in the
Controller_Status tag.
3. Extract the bits for the keyswitch position from the
Controller_Status tag and put them in their own tag. The
Controller_Status tag is an INT data type so create an INT tag to
store the keyswitch bits.
4. Download the project to slot 1 of your workstation.
5. Put the controller in Run mode.
6. Change the position of the keyswitch and check your work:
If you turn the keyswitch to . . .
The status value should be . . .
RUN
REM
7. Save the project.
8. Go offline.
How Did You Do?
E 2012 Rockwell Automation, Inc. All rights reserved.
Turn to the Answers section.
Rev. August 2012
BTDe56r
Exercise: Programming a BTD Instruction in an RSLogix 5000 Project
Rev. August 2012
13--7
E 2012 Rockwell Automation, Inc. All rights reserved.
BTDe56r
13--8
Exercise: Programming a BTD Instruction in an RSLogix 5000 Project
Answers
Exercise A
3. The following graphic shows how to set up the BTD
instruction:
Rung 0
The GSV instruction that retrieves the Status attribute of the
controller and stores it in the Controller_Status tag.
Rung 1
The BTD instruction copies bits 12 and 13 (length = 2) of the
Controller_Status tag. It puts them in bits 0 and 1 of the
Keyswitch_Position tag.
E 2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
BTDe56r
Lesson
14
Configuring a Logix5000 Message
What You Will Learn
Remind students how this is different
than the data they sent earlier across a
ControlNet network. Stress the
difference between produced and
consumed tags (scheduled with RPI)
and messages (unscheduled).
Poll students to find out if they have
programmed messages for any other
types of controllers.
After completing this lesson, you should be able to:
Configure a message (read, write, and CIP generic)
Create and enter a numeric communications path
When You Will Do This
Here are some situations when you may need to use a Message
(MSG) instruction:
Send data to other Logix5000 controllers
Send data to PLC-5 and SLC 500 processors
Reset faulted 1756-I/O modules
Before You Begin
Remind students that deterministic data
is data that arrives at the same time
interval.
Stress that scheduled data, such as
control and I/O data, is given highest
priority on the ControlNet network. Other
information, such as programming or
upload and download operations, does
not interfere with the transport of control
and I/O data.
? How is scheduled data sent?
Unscheduled Data
Unscheduled Data: Non-deterministic information that is not time
critical. This type of data has the following characteristics:
Transmits after all scheduled data has been sent
Can be any of the following:
-- Connection establishment
-- Programming data (uploads and downloads)
-- Ladder-initiated, peer-to-peer messaging data (MSG
instruction)
Answer: Using produced and consumed
tags (locally and over a Control
network).
Messages to Logix5000 Controllers
Note that PLC-5 and SLC 500
controllers require Integer data.
A message is unscheduled data that is exchanged over a
communications network. When using a message to send data to or
from a Logix5000 controller, keep in mind the following rules:
Both the source and destination tags must be controller-scoped.
The source and destination tags cannot be Axis, Message, or
Motion_Group tags.
Array elements and structure members cannot be specified:
-- Use an alias tag to send these types of data.
A portion of an array cannot be transferred:
-- Send the entire array using the array name, or send one
element of an array using an alias tag.
Rev. August 2012
E 2012 Rockwell Automation, Inc. All rights reserved.
MS2sb56r
14--2
Configuring a Logix5000 Message
Messages to Other Controllers
A Logix5000 controller can also send a message to communicate
with the following controllers:
A PLC-5 controller
An SLC 500 controller
A PLC-3 controller
A PLC-2 controller
Configuring a Message
To configure a message to any controller or module, the following
items must be completed in this order:
1. Add the destination controller to the I/O configuration (optional).
Remind students that in other
controllers, the data file is already
created. In this controller, you must
define the memory area with a tag.
2. Create a controller-scoped tag of the message data type.
3. Along with any ladder logic conditions, program a message
(MSG) instruction with the new tag as the message control tag.
4. Configure the MSG instruction.
In the graphic, point out that the
Message tag is the main operand in the
MSG instruction.
The flow of the configuration process is shown in the following
graphic:
1. Add the Destination Controller
2. Create a Tag of the
Message Data Type
3. Program an
MSG Instruction
4. Configure the
MSG Instruction
E 2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
MS2sb56r
Configuring a Logix5000 Message
Mention that complete demonstration
including how to select the values used
in the dialog box will be presented in the
Heres How demonstration.
14--3
To continuously enable a message, condition the message with an
XIO instruction that examines the message control word enable bit:
Note that the message is continuous as
long as the task is active and the routine
is enabled.
Add that when using a message for fault
finding, use a pushbutton to enable the
rung. This will allow the entire message
code to be displayed.
Read, Write, and Block Transfer Parameters
The following is an example of a configuration screen for a read
message:
Note that RSLogix 5000, version 10 and
higher, provides many enhancements for
sharing data with SLC 500 controllers.
To configure a read, write, or block transfer message, the following
parameters must be configured:
Source Element: The tag or logical address currently containing
the data to be transferred:
Note that a read instruction helps
identify the source of the data. Writes do
not identify the destination.
-- For a read message type, the source element is the address of
Example: The tag timer1 is one element
that consists of one timer structure.
the data you want to read in the target device. Use the
addressing syntax of the target device.
-- For a write message type, the source tag is the tag of the data
in the Logix5000 controller that you want to send to the target
device.
Number of Elements: The number of elements to be transferred.
The number of elements you read/write depends on the type of
data you are using.
Destination Element: The tag or logical address to which the
data will be transferred:
-- For a read message type, the destination tag is the tag in the
Logix5000 controller where the data being read from the
target device will be stored.
-- For a write message type, the destination element is the
address in the other device (remote device) where the data will
be written.
Rev. August 2012
E 2012 Rockwell Automation, Inc. All rights reserved.
MS2sb56r
14--4
Configuring a Logix5000 Message
Cache Connections: A bit that instructs the controller to
Note that entering a numeric path is
included in the Procedures Guide. A
detailed example is also included.
maintain or close the connection after a message has executed:
-- Because initiating a message increases scan time, for a
continuous message, enable the cache bit.
-- For a message that is infrequently sent, disable the cache bit.
Path:
-- Select a module or port in the I/O configuration using the
Browse feature.
-- If the module is not available in the network tree, create and
enter a numeric path.
Creating and Entering a Numeric Communications Path
Review the path rules in the Procedures
Guide.
Tip "
Point out the following in the address:
S
1 represents the path out the
backplane of the controller.
ENET_Module is the name of the
selected module.
2 represents the Ethernet
port.
The IP address is the IP address of
Tip "
the destination module.
1 represents the path from the
destination module to the controller
across the backplane.
3 represents the slot number of the
destination controller.
Note that a CIP message can send
configuration information to a module
that can be conditioned by an operator
input.
E 2012 Rockwell Automation, Inc. All rights reserved.
The numeric path rules are provided in the Glossary of the
Procedures Guide. Turn to the Glossary and review the rules now.
A combination of module name and numeric paths can be used:
1, ENET_Module, 2, 130.151.138.104, 1, 3
Numeric Communications Path
Module Name
Programmatic reconfiguration of the communications path, node
address, parameters, and source/destination permits one message to
target multiple devices, reducing the number of messages in a
project.
CIP Generic Message Parameters
A CIP generic message is used to:
Transfer a block of data between Logix5000 controllers
Send configuration data from a Logix5000 controller to an I/O
module:
-- Perform a pulse test on a digital output module
-- Reset electronic fuses on a digital output module
-- Reset latched diagnostics on a digital input or output module
-- Reset latched status on an analog module
Perform a device reset or Device Who operation
Perform custom operations
Rev. August 2012
MS2sb56r
Configuring a Logix5000 Message
Note that a hex code for the Service
type is not always required as of
RSLogix 5000 software, version 10.
14--5
The following is an example of a configuration screen for a CIP
generic message:
To configure a CIP generic message, the following parameters must
be defined:
Service Type: The type of service to be performed on the module
(e.g., resetting latched diagnostics or performing a pulse test).
Depending on the service, some of the following Hex codes may
be required:
Note that these names were changed to
match the Class, Instance, and Attribute
Names of DeviceNet objects (for
DeviceNet explicit messaging).
Mention that logical address refers to an
address in a controller other than a
Logix5000 controller.
Point out that with RSLogix 5000
software, version 10 or higher,
programmatic bumpless reconfiguration
of an I/O module allows you to
reconfigure I/O module settings without
resetting the outputs, providing better
control of I/O.
Tip "
-----
Service code: Category of service to be performed.
Class: The I/O module type.
Instance: Message type ID.
Attribute: The attribute to be reset (such as latched status on
an analog module).
Source Element: The tag or logical address currently containing
the data to be transferred.
Source Length: The number of elements to be transferred.
Destination: The tag or logical address to which the data will be
transferred.
Additional information on Service Type can be found in the
Procedures Guide.
Message Execution
Have the students open the
Documentation Reference Guide.
Review the MSG bits and their functions.
Point out the information on MSG error
codes.
Note that the enhanced message debug
tools also provide error codes that
reduce ambiguity in error messages.
Rev. August 2012
While online, message errors can be identified in RSLogixt 5000
software:
A message that is not received will not have the .DN bit set.
Error codes can be found in the configuration dialog box:
-- Enhanced message debug tools identify which module
generated the run-time error code.
E 2012 Rockwell Automation, Inc. All rights reserved.
MS2sb56r
14--6
Configuring a Logix5000 Message
Heres How
To perform the following tasks:
Configure a message (read, write, and CIP generic)
Create and enter a numeric communications path
Activity: As your instructor demonstrates these procedures, follow
along in the associated job aid(s).
Demonstration Checklist
IMPORTANT: To meet IACET CEU
requirements and fully prepare
certificate students for the final exam,
you must demonstrate all lesson
objectives using the proper job aids.
Use the CCP143_1756r_DEM2.acd
project during the demonstration.
E 2012 Rockwell Automation, Inc. All rights reserved.
Pay attention to these critical aspects of the demonstration:
-
Location of the procedures in the job aid
How to open the Message Configuration dialog box
Cache Connections option
Rev. August 2012
MS2sb56r
Exercise: Configuring a Logix5000 Message
14--7
Exercise: Configuring a Logix5000
Message
Exercise A
In this exercise, you will practice configuring a message that is sent
from one Logix5000 controller to another Logix5000 controller.
Context:
You are part of a team that programmed a Logix5000 compressor
assembly line. This line is running successfully; therefore, you have
set up an identical production line. These lines are connected by a
network. To keep track of daily production, you want the master
controller to read the production total from the other line. You are
now ready to send a message from a Logix5000 controller to another
Logix5000 controller.
The plant setup is shown in the following graphic:
Remote Line
Network
Local Line
When you see underlined text, refer to the related procedure or
information in your job aid.
Directions:
1. Open the MS2_1756r_A2.acd file.
2. Download the project to the controller in slot 3 of the remote
workstation.
3. Place the controller in Remote Run mode.
4. Open the MS2_1756r_A1.acd file.
Rev. August 2012
E 2012 Rockwell Automation, Inc. All rights reserved.
MS2e56r
14--8
Exercise: Configuring a Logix5000 Message
5. To select the controller in the communication path in the message
configuration, add the controller in slot 3 of the remote
workstation to the I/O configuration of the project:
Add a local communications module (the CNB or ENBT) to
the I/O Configuration
Add the remote communications module
Add the remote controller in slot 3, name it
Remote_Controller.
6. In the Conveyor program, create a ladder diagram routine named
Count_Total.
7. In the Conveyor program Main Routine, program a JSR
instruction to access the Count_Total routine.
8. At what scope must a message control tag be created?
9. Create a message control tag for the message execution called
Count_Message.
10. In the Count_Total routine, write ladder logic that enables a
message instruction when DI7 is pressed.
Tip "
Create a tag named Read_Remote_Total and make it an alias for
DI7.
11. Configure the message instruction as follows:
The message uses the Count_Message message control tag.
The message type is CIP Data Table Read.
When DI7 is pressed, the message reads the value of
Count_Passed.ACC from the controller in slot 3 of the
remote station.
Tip "
The timer value (Count_Passed.ACC) is a DINT.
The message stores the value in a new tag called
Count_Passed_Line_2.
Tip "
Be sure that you have created the Count_Passed_Line_2 tag in your
application.
12. Identify the communication path in the communications
configuration of the MSG instruction.
13. Save the project.
14. Download the project to the controller in slot 1.
15. Change the controller operating mode to Remote Run.
E 2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
MS2e56r
Exercise: Configuring a Logix5000 Message
14--9
16. Test your system by performing the following actions and placing
a check in each completed box:
Press DI7.
Monitor the Count_Passed_Line_2 tag.
Record the value: _____________________
At the other production line (workstation) create one or
more new parts.
To create a new part, toggle DI12 from the left then to the right.
Tip "
Press DI7 on the remote workstation and verify that the
value of the Count_Passed_Line_2 tag increases.
Using the other production line, create 1 more new part.
Press DI7 again and verify that the value of the
Count_Passed_Line_2 tag increases again.
How Did You Do?
Turn to the Answers section.
Exercise B
In this exercise, you will practice configuring a CIP Generic
message.
When you see underlined text, refer to the related procedure or
information in your job aid.
Context:
During operation, you want the controller to monitor the part sensor
input for an open-wire condition. If an open-wire condition exists,
you want the controller to turn on an alarm light. When the condition
is cleared, you want the operator to unlatch the module fault bits
using a reset pushbutton.
Directions:
1. Open the MS2_1756r_B1.acd file.
2. Verify the project and correct any errors.
3. Create a control tag for the message execution called
Part_Sensor_Reset_Message.
Rev. August 2012
E 2012 Rockwell Automation, Inc. All rights reserved.
MS2e56r
14--10
Exercise: Configuring a Logix5000 Message
4. In the I/O Diagnostics routine in the Common program, enter
the following ladder logic (the tags have already been created):
5. Make the Part_Sensor_Fault tag an alias tag for an open wire
fault on the part sensor (bit 12 of the input card in slot 2).
6. Read the ladder logic to gain an understanding of its purpose.
A. If the Part Sensor device has an open-wire fault, a pilot light
is illuminated.
B. If the operator pushes the reset button, a message is sent to
reset the module and turn off the light.
7. Create a controller-scoped tag named Part_Fault_Source of
DINT data type.
8. Modify the value of Part_Fault_Source tag so that each bit
within the tag has a value of 1.
Tip "
Entering a value of - 1 in the Part_Fault_Source tag will set each bit
to a value of 1.
9. Configure the message to reset the input module in slot 2.
Message Type: CIP Generic
Service Type: Reset Latched Diagnostics (O)
Source Element: Part_Fault_Source
Communications Path: Input module in slot 2
Tip "
For help, go to the Reset Latched Diagnostics on a Digital Module
procedure within online Help.
10. Download the project to the controller in slot 3 and then place the
controller in the Remote Run mode.
11. To test the application, perform the following actions:
A. To simulate the open-wire fault for the part sensor, unlock
the module wiring arm on the input module in slot two and
then remove the wiring arm.
B. Verify that the operator alarm (DO7) is on.
E 2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
MS2e56r
Exercise: Configuring a Logix5000 Message
14--11
C. Verify that the diagnostic fault lights for the module are on
and that the fault tags each contain a 1.
D. Replace the wiring arm.
E. Acknowledge the alarm and reset the module by pressing
pushbutton DI6.
F. Verify that the module LEDs and the alarm light are reset.
G. Go offline.
How Did You Do?
Rev. August 2012
Turn to the Answers section.
E 2012 Rockwell Automation, Inc. All rights reserved.
MS2e56r
14--12
Exercise: Configuring a Logix5000 Message
Answers
Exercise A
5. The I/O configuration for an EtherNet/IP network should
appear as follows:
Local Comm Module
Remote Comm Module
Message Source
7. Your JSR instruction should be configured similar to the
following example:
8. The message execution tag must be controller-scoped.
10. The ladder logic that initiates the messages should appear as
follows:
New Tag of the MESSAGE Data Type
E 2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
MS2e56r
Exercise: Configuring a Logix5000 Message
14--13
11. The Configuration tab should appear as follows:
Count_Passed_Line_2 is a new tag that must be created.
The Communication tab should appear as follows:
Rev. August 2012
E 2012 Rockwell Automation, Inc. All rights reserved.
MS2e56r
14--14
Exercise: Configuring a Logix5000 Message
Exercise B
If your project is not functioning correctly, verify that you have
completed the following actions:
- Created a controller-scoped tag of the message type for the
message instruction
- Made the Part_Sensor_Fault tag an alias tag for
Local:2:I.OpenWire.12
- Created a source tag (DINT) with each reset value bit set to 1
- Created the ladder logic in the routine and configured the
MSG instruction
- Selected the input module in the Communications tab
The following alias tags and configurations were completed:
Alias for an
Open-Wire Fault
on the Part
Sensor
Input Module Selected on
the Communications Tab
E 2012 Rockwell Automation, Inc. All rights reserved.
Controller-Scoped Message Control Tag
Rev. August 2012
MS2e56r
Lesson
15
Developing an Add-On Instruction
in Ladder Diagram
What You Will Learn
Mention that you can also protect an
add-on instruction so that people cant
change its logic and local data. Or you
can hide the logic and local data
completely. Protecting an add-on
instruction is outside the scope of this
lesson.
Tip "
After completing this lesson, you should be able to:
Plan the parameters of an add-on instruction
Decide if you need an EnableInFalse routine
Create an add-on instruction
Use an add-on instruction in a routine
Monitor the values and logic of an add-on instruction
Export and import an add-on instruction
Use RSLogix 5000 software to learn more. Go to Help > Learning
Center > Whats New.
When You Will Do This
Explain that add-on instructions are
similar to subroutines. Point out the
advantages and tradeoffs of add-on
instructions as you go along.
Use add-on instructions to save development time by making your
code more modular, re-usable, and easy to use:
Encapsulate your most commonly used logic as instructions,
similar to the controllers built-in instructions
Re-use the instructions in any of your projects
Monitor an instruction and see its logic as it executes, even when
you use the instruction multiple times in a project
Before You Begin
Add-On Instructions
Add-On Instruction: An instruction that you build from the built-in
instructions in the controller. An add-on instruction:
Is similar to a subroutine
Lets you encapsulate a routine of logic and use it as an instruction
Rev. August 2012
E 2012 Rockwell Automation, Inc. All rights reserved.
AOILsb56r
15--2
Developing an Add-On Instruction in Ladder Diagram
Explain that an add-on instruction
executes similar to a subroutine. You
give it inputs, execute some code, and
get outputs.
Example of an Add-On Instruction
This add-on instruction checks for jammed product at the entry gate
of a conveyor:
The instruction reads the state of a photoeye at the
entrance of a conveyor.
If the photoeye is on too long, it means that product
is jammed. When that happens, the instruction turns
on the Jammed bit.
When you execute the add-on instruction, it executes its logic:
The Detect_Jam instruction executes
this logic.
E 2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
AOILsb56r
Developing an Add-On Instruction in Ladder Diagram
15--3
An Add-On Instruction Uses a Definition
Point out that with a subroutine you
need a copy of it in each program that
uses the subroutine.
Add-on instructions are global in nature. You first create a definition
for the instruction. Then you enter instances of it into any of your
programs:
This is the definition for the instruction.
Its the template for each instance.
Rev. August 2012
These are instances of the instruction.
E 2012 Rockwell Automation, Inc. All rights reserved.
AOILsb56r
15--4
Developing an Add-On Instruction in Ladder Diagram
Key Parts of the Definition of an Add-On Instruction
The definition of an add-on instruction contains parameters, local
tags, and logic:
Parameters and local tags are the data that the instruction uses.
Logic is the code that the
instruction uses. Its
comprised of one routine.
E 2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
AOILsb56r
Developing an Add-On Instruction in Ladder Diagram
15--5
Parameters
When you create an add-on instruction, you set up parameters for the
instruction:
Parameter: A value or values that you give to an add-on instruction
or get back from it. Parameters create the interface to the code of the
instruction.
Here are some examples:
Configuration values such as set points and timer presets
Commands such as start, stop, and reset
Input values from devices
Output values for devices
Status and health values such as done or faulted
Parameters reduce programming time and complexity.
Local Tags
When you create an add-on instruction, you can also set up local
tags:
Rev. August 2012
E 2012 Rockwell Automation, Inc. All rights reserved.
AOILsb56r
15--6
Developing an Add-On Instruction in Ladder Diagram
Compare this to a subroutine. A
subroutine may show you more data
than you really need to see. This makes
it more difficult to monitor and
troubleshoot.
Local Tag: An intermediate or storage value that an add-on
instruction uses as it executes. It is a value that you dont need to see
or use outside of the instruction.
Here are some examples of local tags:
Timers and counters
Storage arrays
Bits that store the sum of several input conditions
Results of intermediate calculations
You can Alias a Local tag (or one of its members) to an input or
output parameter. In this way, the local tag can be easily
monitored/ modified outside of the AOI.
Routine Type Control Editable in AOI Definition
You can change the programming language of the Logic routine after
you develop the instruction. Keep in mind that changing the
language deletes the existing routine and replaces it with an empty
routine in the new language. This is helpful if you want to develop
several AOIs with similar interfaces but different languages for the
logic.
You can change the language type through the General tab of the
AOI:
E 2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
AOILsb56r
Developing an Add-On Instruction in Ladder Diagram
15--7
Changes to the Definition
If you change the definition, it ripples through all the instances of the
instruction in your project:
Suppose you add a parameter to the
definition.
It ripples through each instance of the instruction.
In version 17 and earlier, if you change a default
value for a parameter or local tag, it doesnt
change existing instances of the instruction. They
keep their current values.
Starting with version 18, you can choose to send
changes you make to default values of a definition
to all its instances in the project.
Rev. August 2012
E 2012 Rockwell Automation, Inc. All rights reserved.
AOILsb56r
15--8
Developing an Add-On Instruction in Ladder Diagram
Mention that default value changes can
also be done in:
S
Context menu
(Controller Organizer only)
Data Monitor
Logic Editor
Watch Pane
Change the default values within the Local Tags tab:
Add-On Instruction Design Considerations
? What happens to logic in a
When a rung of ladder logic contains an add-on instruction, the
following actions occur during each scan:
Data for each input parameter is passed to the instruction.
If the rung-in condition is true, the instructions Logic routine is
executed.
If the rung-in condition is false, the instructions Logic routine is
skipped.
Tip "
subroutine if the JSR rung is False?
Answer: Logic is not scanned and
values in the subroutine remain
unchanged.
Version 18 improves the false scan times of AOIs that arent using an
EnableInFalse routine. See Knowledgebase ID #53903 for ways to
improve the false scan time if you need to use an EnableInFalse
routine.
Tell students the same thing would
happen if an AOIs rung-in condition is
False. So if actions need to occur (like
resetting a timer or counter, unlatching a
bit,) when the rung goes False you could
add an EnableInFalse routine.
E 2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
AOILsb56r
Developing an Add-On Instruction in Ladder Diagram
Heres How
Keep the visuals open.
Example
Relate this to a real system. It could
have many gates, all of which use the
same logic to detect a jam.
15--9
To plan the parameters of an add-on instruction:
Activity: As your instructor demonstrates this procedure, follow
along in the associated job aid(s).
Planning the Parameters of an Add-On Instruction
Suppose you want an instruction that checks for jammed product and
looks like this:
Here are the parameters and local tags for the instruction:
Value
Use?
Required?
Visible?
n Input parameter
D. State of the photoeye that detects the product
E. How long to let the photoeye stay on before the instruction flags a jam. You
want to be able to configure this value.
F. Flag that there is a jam. You want to see this and use it in your application
code.
G. Timer that times how long the photoeye is on. You really dont care about
the accumulated value.
Your Turn
Output parameter
Local tag
n
n
n
n Input parameter
Output parameter
Local tag
Input parameter
n Output parameter
Local tag
Input parameter
Output parameter
n Local tag
Now its your turn. Do Exercise A and return here when youre done.
Tell the students to stay at their desk
and do the exercise. They dont need
the workstation for it. Review the
answers when theyre done. Then
continue with the lesson.
Rev. August 2012
E 2012 Rockwell Automation, Inc. All rights reserved.
AOILsb56r
15--10
Developing an Add-On Instruction in Ladder Diagram
Before You Begin
After you plan the parameters for an add-on instruction, you have to
make these decisions about its logic:
Language for the Logic routine
Organization of the Logic routine
Optional scan mode routines
Language for the Logic Routine of the Instruction
You can program the Logic routine of an add-on instruction in any of
these languages:
Ladder diagram
Function block diagram
Structured text
You can use the instruction in any language, regardless of which
language you use for the Logic routine.
Organization of the Logic Routine
If the students ask, tell them that theres
no defined limit to the levels of nested
instructions. It seems to be around 62
instructions deep. Theyll get a major
fault, stack overflow, if they go too deep.
You cant call subroutines within an add-on instruction. You can
organize the logic of an add-on instruction in two ways:
Put all the logic in one routine
Nest smaller add-on instructions within a larger add-on
instruction
Heres an example of nested instructions:
Main Instruction That
Controls a Conveyor
Sub-Activities, Such
as Starting the Motor
and Watching for Jams
E 2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
AOILsb56r
Developing an Add-On Instruction in Ladder Diagram
15--11
Optional Scan Mode Routines
The controller executes the Logic routine of an add-on instruction
like this:
When this happens . . .
1.
Controller goes to Run mode.
2.
EnableIn parameter of the add-on
instruction is true
3.
EnableIn parameter of the add-on
instruction is false
4.
The last scan of a step of an SFC
thats configured for automatic reset
The controller . . .
Notes
Prescans the Logic routine
As a general rule, prescan executes instructions as if all
conditions are false.
Some instructions dont follow the general rule. See the
documentation for the instruction.
Executes the Logic routine
EnableIn is true in these situations:
Ladder diagram when the rung conditions are true.
Function block diagram True by default.
Structured text Always true.
Doesnt execute or stops executing
the Logic routine
EnableIn is false in these situations:
Ladder diagram when the rung conditions are false.
Function block diagram when you write a zero to the
EnableIn parameter.
Structured text Never. EnableIn is always true.
Postscans the Logic routine
As a general rule, postscan executes instructions as if all
conditions are false.
Some instructions dont follow the general rule. See the
documentation for the instruction.
You can add routines to an add-on instruction that take additional
actions during various scan situations:
The add-on instructions Prescan routine executes one
time after the main program prescan. It executes
according to its logic conditions.
The Postscan routine executes one time after the main
program postscan. It executes according to its logic
conditions.
The EnableInFalse routine executes when conditions
are false.
? What happens to logic in a
subroutine if the JSR rung is False?
Answer: Logic is not scanned and
values in the subroutine remain
unchanged.
Tell students the same thing would
happen if an AOIs rung--in condition is
False. So if actions need to occur (like
resetting a timer or counter, unlatching a
bit,) when the rung goes False you could
add an EnableInFalse routine.
Rev. August 2012
E 2012 Rockwell Automation, Inc. All rights reserved.
AOILsb56r
15--12
Developing an Add-On Instruction in Ladder Diagram
Heres How
Keep the visuals open. Present the
decision. Then apply it to the example.
To decide if you need an EnableInFalse routine:
Ask this question:
Do you need to clear datyes
a or do other reset actions when rung conditions are false?
Yes Use an EnableInFalse routine.
No You dont need an EnableInFalse routine.
Example
Deciding If You Need an EnableInFalse Routine
Suppose your add-on instruction uses a non-retentive timer, like this:
And suppose you want to reset the timer when Conveyor_Running is
off. In that case, use an EnableInFalse routine to reset the timer.
Your Turn
Now its your turn. Do Exercise B and return here when youre done.
Tell the students to stay at their desk
and do the exercise. They dont need
the workstation for it. Review the
answers when theyre done. Then
continue with the lesson.
E 2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
AOILsb56r
Developing an Add-On Instruction in Ladder Diagram
Before You Begin
15--13
Once you have your general design, its time to create and test the
definition. To do that, youll need to be familiar with:
Accessing parameters via logic
Editing the instruction
Exporting and importing
Accessing Parameters via Logic
When you define the parameters, RSLogix 5000 software puts them
into an add-on-defined data type. Use that data type as the first tag
(main operand) in each instruction:
Point out that this is similar to accessing
the data of a timer or counter.
To access a parameter via logic, use this address format:
Add-On-Defined_Tag.Parameter
For example, use this address to read the value of the jammed bit:
Rev. August 2012
E 2012 Rockwell Automation, Inc. All rights reserved.
AOILsb56r
15--14
Developing an Add-On Instruction in Ladder Diagram
Editing an Add-On Instruction
Point out that this is one advantage of
subroutines over add-on instructions.
You can edit a subroutine online.
If you need to change the logic of an add-on instruction, you must go
offline and edit the definition. You cant:
Edit the logic of an add-on instruction while online
Edit just a single instance of the instruction
Exporting and Importing an Add-On Instruction
Compare this to a subroutine. You can
export a subroutine only if you wrote it in
ladder diagram.
You can export an add-on instruction to an .l5x file or import an
instruction into a project via an .l5x file:
Export
Import
When you import an add-on instruction, it changes
any existing instances of the instruction in your
project. Before you import an instruction, identify
the changes. After you import the instruction, check
that each instance of the instruction executes
correctly.
Tip "
E 2012 Rockwell Automation, Inc. All rights reserved.
Beginning with version 17 of RSLogix 5000, you can import a new
add-on instruction while online to a running controller.
Rev. August 2012
AOILsb56r
Developing an Add-On Instruction in Ladder Diagram
15--15
Online Safety Warning
When performing any tasks online, keep the following warning in
mind:
Describe any real-world situations that
you are aware of in which online editing
caused extensive damage in a plant.
? Define offline and online?
Answer: Offline means that the
workstation (computer) is displaying a
copy of the project stored in the
computer memory only. Online means
that the workstation (computer) is
displaying and changing copy of the
project stored in the controller memory.
Use extreme caution when entering or editing
ladder logic or data, forcing values, or making other
changes online that will affect the control of
devices. Mistakes can cause unintended machine
motion or loss of process control, possibly injuring
personnel and damaging equipment. Before
performing procedures online, complete these safety
precautions:
Determine if changes must be made online.
Verify that your company permits online entering
and editing.
Also note that the left and right power
rails are illuminated in the Run and
Remote Run modes to indicate that the
ladder logic is active in the controller.
Add that the Online graphic is animated
in any online mode.
Rev. August 2012
Assess how machinery will respond to changes.
Check proposed changes for accuracy.
Notify all personnel of the changes.
Verify that you are online to the correct controller.
Because changes in any online mode can affect
machine and process control, before importing
add-on instructions, verify the current
communications mode using the Online toolbar.
E 2012 Rockwell Automation, Inc. All rights reserved.
AOILsb56r
15--16
Developing an Add-On Instruction in Ladder Diagram
Referenced Add--On Instructions and User-Defined Data Types
You have to decide how to handle Referenced Add- On
Instructions and User- Defined Data Types.
Example: When Not To Include Referenced Add-On Instructions
and User-Defined Data Types
Suppose you have three add-on instructions that nest a fourth
add-on instruction inside them. And suppose you want to change
the nested add-on instruction. Youll only have to change it once
if you dont include it in the export file. Otherwise, you have to
change it in each instruction that uses it.
Heres How
IMPORTANT: To meet IACET
CEU requirements and fully
prepare certificate students for
the final exam, you must
demonstrate all lesson objectives
using the proper
job aids.
Use AOIL_1756R_DEM1.acd for
the rest of the demonstration.
To create an add-on instruction:
Activity: As your instructor demonstrates this procedure, follow
along in the associated job aid(s).
Tip "
Youve already done the first part of this procedure when you
planned the parameters for the instruction.
The project already has the
workstation tags that you need.
E 2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
AOILsb56r
Developing an Add-On Instruction in Ladder Diagram
Example
15--17
Creating an Add-On Instruction
This example builds an add-on instruction that checks for jammed
product at the entry gate of a conveyor:
The instruction turns on its Jammed bit if the photoeye at the gate
is on for too long.
Youll be able to set how long to wait before signaling a jam.
Enter the General Properties
Rev. August 2012
E 2012 Rockwell Automation, Inc. All rights reserved.
AOILsb56r
15--18
Developing an Add-On Instruction in Ladder Diagram
You can copy this logic from the
Detect_Jam_Routine in the
Unscheduled Programs folder.
Enter the Definition Logic
When youre done, click the Help tab of
the definition and show the finished
instruction.
Create the Parameters and Local Tags
Input Parameter
DINT
Not Required
Input Parameter
BOOL
Required
Not Visible
Local Tag
Output Parameter
BOOL
Not Required
Visible
E 2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
AOILsb56r
Developing an Add-On Instruction in Ladder Diagram
Example
15--19
Looking for Previously Developed Add-On Instructions
You can look for previously developed Add-On Instructions that may
fit your applications within the Rockwell website.
If you have time, show the Video
Faceplate/Add--On Instruction Sets to
the class.
Search the Sample Code Library
(samplecode.rockwellautomation.com)
Fill in the following:
Product Family
Product
Technologies
Example of Search Result
Rev. August 2012
E 2012 Rockwell Automation, Inc. All rights reserved.
AOILsb56r
15--20
Developing an Add-On Instruction in Ladder Diagram
Heres How
Add the example below to the project.
Then use the maintained switched on
the workstation to simulate a jam. Make
sure to show the instructions logic as it
executes.
To perform the following tasks:
Use an add-on instruction in a routine
Monitor the values of an add-on instruction
Monitor the logic of an add-on instruction
Activity: As your instructor demonstrates these procedures, follow
along in the associated job aid(s).
Example
Point out that youre seeing the data for
this instance. This would be more
difficult if this were a subroutine with
multiple calls to it. The data may be
constantly changing to reflect each call.
Using the Detect_Jam Instruction
In this example, the Detect_Jam instruction continually checks for
jammed product at Gate_DI12.
If PE_DI12 = on for > 10 s, then Gate_DI12.Jammed = on.
If Gate_DI12.Jammed = on, then light DO2 = on.
Heres How
IMPORTANT: To meet IACET
CEU requirements and fully
prepare certificate students for
the final exam, you must
demonstrate all lesson objectives
using the proper job aids.
To perform the following tasks:
Export an add-on instruction
Import an add-on instruction
Activity: As your instructor demonstrates these procedures, follow
along in the associated job aid(s).
Use the steps below to help guide
you during the demonstration:
1. Export the instruction.
2. Create a new project.
3. Import the instruction into the
project.
E 2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
AOILsb56r
Exercise: Developing an Add-On Instruction in Ladder Diagram
15--21
Exercise: Developing an Add-On
Instruction in Ladder Diagram
Exercise A
In this exercise, you will practice planning the parameters for an
add-on instruction that starts and stops a motor.
Context:
You want an instruction that starts and stops a single-speed motor
like a seal-in start/stop circuit. You want it to look like this:
Pushbutton that stops the motor
Pushbutton that starts the motor
Contact for the motor
Fault bit for the motor
You also want the option to do the following actions based on the
application:
Jog the motor
Set a fault if the auxiliary contact of the motor doesnt open or
close within a specified time
Directions:
For each of the values in the following table, check whether youll
use it as an input parameter, output parameter, or local tag. Also
check if it will be required or visible. Use the context information to
help you decide.
Rev. August 2012
E 2012 Rockwell Automation, Inc. All rights reserved.
AOILe56r
15--22
Exercise: Developing an Add-On Instruction in Ladder Diagram
Value
Use?
A. State of the pushbutton that starts the motor
B. State of the pushbutton that stops the motor
C. State of the pushbutton that jogs the motor. You want the option to use a
jog pushbutton or not use one based on the application.
D. Bit that stores the combined status of the start and stop inputs. The
instruction uses this bit and the jog input to determine whether to run the
motor.
E. Bit that signals the motor to start
F. State of the motors auxiliary contact. It signals the instruction that the
motor is running. You want the option to use the auxiliary contact or not
based on the application.
G. Timeout value in milliseconds to wait for the auxiliary contact to open or
close. The instruction signals a fault if the contact doesnt open or close
within this time. Youll use the auxiliary contact for some applications but
not others. You also want to be able to set the timeout value based on the
application.
H. Bit that tells the instruction that youre using the auxiliary contact of the
motor. You dont want to have to set this bit. Youll set up the instructions
logic to control this bit based on whether or not theres a timeout value.
I. Fault bit that shows you that the auxiliary contact timed out and the motor
didnt start or stop as commanded
J. Timer that creates a timeout for the auxiliary contact. You can easily write
code to move the timeout value from above into the timers preset value.
K. Bit that youll turn on to clear the fault bit. You want to option to use it or not.
How Did You Do?
E 2012 Rockwell Automation, Inc. All rights reserved.
Input parameter
Output parameter
Local tag
Input parameter
Output parameter
Local tag
Input parameter
Output parameter
Local tag
Input parameter
Output parameter
Local tag
Input parameter
Output parameter
Local tag
Input parameter
Output parameter
Local tag
Input parameter
Output parameter
Local tag
Input parameter
Output parameter
Local tag
Input parameter
Output parameter
Local tag
Input parameter
Output parameter
Local tag
Input parameter
Output parameter
Local tag
Required?
Visible?
Turn to the Answers section.
Rev. August 2012
AOILe56r
Exercise: Developing an Add-On Instruction in Ladder Diagram
Exercise B
15--23
In this exercise, you will practice deciding if an add-on instruction
needs an EnableInFalse routine.
Directions:
For the situations below, decide if you need an EnableInFalse routine
for the add-on instruction.
1. You plan to execute the instruction all the time and wont use any
input conditions to disable it, like this:
Do you need an EnableInFalse routine?
Yes
No
2. The instruction controls a motor. You plan to execute the
instruction conditionally, like this:
Do you need an EnableInFalse routine?
How Did You Do?
Rev. August 2012
Yes
No
Turn to the Answers section.
E 2012 Rockwell Automation, Inc. All rights reserved.
AOILe56r
15--24
Exercise: Developing an Add-On Instruction in Ladder Diagram
Exercise C
In this exercise, you will practice creating and using an add-on
instruction.
Context:
In Exercise A, you made some decisions about the parameters for a
motor starter instruction. Now develop the instruction in
RSLogix 5000 software and verify that it works correctly.
When you see underlined text, refer to the related procedure or
information in your job aid.
Directions:
1. Open the AOIL_1756R_C1.acd project file.
2. Create the definition for the add-on instruction:
Property
Value
Name
Motor_Starter
Description
Starts and stops a motor
Type
Ladder diagram
Open Logic Routine
Yes
Open Definition
Yes
3. Open the Start_Stop_Motor_Routine in the unscheduled
programs folder:
4. Copy all the rungs from the Start_Stop_Motor_Routine and paste
them into the Logic routine of the Motor_Starter instruction.
E 2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
AOILe56r
Exercise: Developing an Add-On Instruction in Ladder Diagram
15--25
The Logic routine of the Motor_Starter instruction should look
like this:
5. Create these parameters and local tags for the Motor_Starter
instruction:
Name
Usage
Alias for
Data type
Description
Stop
Input parameter
BOOL
Enter the tag that gives the stop command for the motor.
Start
Input parameter
BOOL
Enter the tag that gives the start command for the motor.
Jog
Input parameter
BOOL
Jog command for the motor. To jog the motor, turn on this bit.
To stop the jog, turn off this bit.
AuxContact
Input parameter
BOOL
Auxiliary contact of the motor. Make sure you set the
FaultTime. Otherwise, this input doesnt do anything.
ClearFault
Input parameter
BOOL
To clear the fault of the motor, turn on this bit.
Out
Output parameter
BOOL
Output command to the motor starter. If on, the motor starts. If
off, the motor stops.
Fault
Output parameter
BOOL
If on, the motor didnt start or stop.
Fault_Time
Input parameter
DINT
Enter the time (ms) to wait for the auxiliary contact to open or
close. The Fault bit turns on when that time is up.
RunCommand
Local tag
BOOL
CheckAuxContact
Local tag
BOOL
FaultTimer
Local tag
TIMER
Rev. August 2012
Fault_Timer.PRE
E 2012 Rockwell Automation, Inc. All rights reserved.
AOILe56r
15--26
Exercise: Developing an Add-On Instruction in Ladder Diagram
6. Click the Help tab of the instructions definition to see how the
instruction looks.
It should look like this:
7. Verify the routine and correct any errors.
8. Enter an instance of the Motor_Starter instruction into the
MainRoutine of the MainProgram:
Create this tag. Use the Motor_Starter
data type.
Assign these tags. Theyre already
created for you.
Where this tag . . .
Is tied to this workstation device . . .
And simulates . . .
DI12_Stop
Switch DI12
Stop pushbutton for the motor
DI0_Start
Pushbutton DI0
Start pushbutton for the motor
DO1_Motor
Light DO1
Motor
9. Save the project.
10. Download the project to the controller in slot 1 of your
workstation.
11. Put the controller in Run mode.
E 2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
AOILe56r
Exercise: Developing an Add-On Instruction in Ladder Diagram
15--27
12. Test the operation of Motor_Starter_01:
Do this . . .
And check that this happens . . .
A. Turn on DI12
Nothing. This simulates the normally closed
position of the stop pushbutton.
B. Press DI0
DO1 turns on the motor starts.
C. Turn off DI12
DO1 turns off the motor stops.
D. Turn on DI12
Nothing. This simulates the normally closed
position of the stop pushbutton.
13. Add a rung of logic that lets Motor_Starter_01 read the state of
DI13_Aux_Contact. This simulates using the auxiliary contact of
the motor.
14. Add a rung of logic that turns on DO2_Fault if the fault bit of
Motor_Starter_01 turns on.
15. Set the Fault_Time parameter of Motor_Starter_01 to 1000 ms.
Make sure you set the Fault_Time for this
instance of the instruction. Dont change the
definition.
16. Test that Motor_Starter_01 sets its fault bit if the auxiliary
contact of the motor doesnt close:
Do this . . .
And check that this happens . . .
A. Make sure DI12 is on.
Nothing. This simulates the normally closed position of the stop pushbutton.
B. Press DI0 and then immediately turn on DI13.
DO1 turns on the motor starts.
C. Turn off DI12 and then immediately turn off DI13.
DO1 turns off the motor stops.
D. Turn on DI12.
Nothing. This simulates the normally closed position of the stop pushbutton.
E. Press DI0 but leave DI13 turned off.
DO1 turns on the motor gets the command to start.
DO2 turns on the motor didnt start.
DO1 turns back off the instruction clears the start command.
F. Go to the properties of Motor_Starter_01 and clear
the Fault bit.
DO2 turns off.
How Did You Do?
Turn to the Answers section.
Exercise D
In this exercise, you will practice exporting and importing an add-on
instruction.
Context:
In Exercise C, you made made an add-on instruction that controls a
motor. Now export the instruction and import it into another project.
When you see underlined text, refer to the related procedure or
information in your job aid.
Rev. August 2012
E 2012 Rockwell Automation, Inc. All rights reserved.
AOILe56r
15--28
Exercise: Developing an Add-On Instruction in Ladder Diagram
Directions:
1. Export the Motor_Starter instruction.
2. Close the RSLogix project but leave RSLogix 5000 software
open.
3. Open the AOIL_1756R_D2.acd project file.
4. Import the Motor_Starter instruction.
How Did You Do?
E 2012 Rockwell Automation, Inc. All rights reserved.
Turn to the Answers section.
Rev. August 2012
AOILe56r
Exercise: Developing an Add-On Instruction in Ladder Diagram
Rev. August 2012
15--29
E 2012 Rockwell Automation, Inc. All rights reserved.
AOILe56r
15--30
Exercise: Developing an Add-On Instruction in Ladder Diagram
Answers
Exercise A
Value
Use?
A. State of the
pushbutton that
starts the motor
n Input parameter
B. State of the
pushbutton that
stops the motor
n Input parameter
C. State of the
pushbutton that jogs
the motor
n Input parameter
D. Bit that stores the
combined status of
the start and stop
inputs.
E. Bit that signals the
motor to start
Output parameter
Local tag
Output parameter
Local tag
Output parameter
Local tag
Input parameter
Output parameter
G. Timeout value in
milliseconds to wait
for the auxiliary
contact to open or
close.
H. Bit that tells the
instruction that
youre using the
auxiliary contact of
the motor.
n Output parameter
n
n
Its an input parameter because you pass this value
into the instruction. Make it required so you can
assign the tag for the pushbutton directly to the
parameter. All required parameters are also visible.
Its an input parameter because you pass this value
into the instruction. Its not required or visible
because you want the option to use it or not based
on the application.
This is a storage bit that the instructions logic sets
based on other parameters. Make it a local tag
since you dont need to access it.
n
Its an output parameter because the instruction
returns this value based on input conditions. Make
it required so you can assign the tag for the motor
directly to the parameter.
Its an input parameter because you pass this value
into the instruction. Its not required or visible
because you want the option to use it or not based
on the application.
Its an input parameter because you want to be
able to set the timeout value based on the
application.
Its an internal storage bit. Theres no need to
access it.
n
The instruction returns this value. Its visible but not
required because you only want to see its state on
the instruction. You dont want to have to assign it
to a tag.
Theres no need to access the timer.
You want to be able to see it, but you also dont
want to have to use it.
n
n
n
Local tag
n Input parameter
Output parameter
Local tag
n Input parameter
Output parameter
Local tag
Input parameter
Output parameter
n Local tag
Input parameter
Local tag
J. Timer that creates a
timeout for the
auxiliary contact
Input parameter
Output parameter
n Output parameter
Reason
Its an input parameter because you pass this value
into the instruction. Make it required so you can
assign the tag for the pushbutton directly to the
parameter. All required parameters are also visible.
Input parameter
I. Fault bit that shows
you that the auxiliary
contact timed out
K. Bit that youll turn on
to clear the fault bit
Visible?
n Local tag
F. State of the motors
auxiliary contact.
Required?
n Local tag
n Input parameter
Output parameter
Local tag
E 2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
AOILe56r
Exercise: Developing an Add-On Instruction in Ladder Diagram
15--31
Exercise B
1. No, you dont need an EnableInFalse routine. The Logic routine
will execute all the time since the rung condition will always be
true.
2. Yes, you need the EnableInFalse routine if you use input
conditions to make the rung false. In that case, use the
EnableInFalse routine to reset outputs. Otherwise, the motor
could be left running even when the rung goes false.
Exercise C
2. The New Add-On Instruction dialog box should look like this:
Rev. August 2012
E 2012 Rockwell Automation, Inc. All rights reserved.
AOILe56r
15--32
Exercise: Developing an Add-On Instruction in Ladder Diagram
5. The Motor_Starter parameters should look like this:
The local tags of the Motor_Starter instruction should look like
this:
13. The logic must write the value of DI13_Aux_Contact to the
AuxContact parameter of Motor_Starter_01:
E 2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
AOILe56r
Exercise: Developing an Add-On Instruction in Ladder Diagram
15--33
14. The logic must read the value of Motor_Starter_01.Fault:
15. Open the properties for Motor_Starter_01 and enter 1000 into
Fault_Time:
Exercise D
4. The Add-On Instructions folder should look like this:
Rev. August 2012
E 2012 Rockwell Automation, Inc. All rights reserved.
AOILe56r
15--34
Exercise: Developing an Add-On Instruction in Ladder Diagram
E 2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
AOILe56r
Lesson
16
Managing RSLogix 5000 Project
Files
What You Will Learn
After completing this lesson, you should be able to manage
RSLogix 5000 project files by performing the following tasks:
Export a .acd project file
Import a .l5k text file
Import a .l5x XML file
When You Will Do This
Export an RSLogix 5000 project file when you want to back it up or
save it for future use. Once you export it , you have to import it to
use it again.
Before You Begin
File Storage
RSLogix 5000 projects can be stored using the following file
formats:
.acd -- a standard file format
.l5k -- an exported text file
.l5x -- an exported XML file
Tip "
Rev. August 2012
In any format, the entire project, including tags, documentation,
ladder logic, etc. is contained in a single file.
E 2012 Rockwell Automation, Inc. All rights reserved.
FI2sb56r
16--2
Managing RSLogix 5000 Project Files
Exporting a .acd Project File
Add that some other software packages
divide the components of a single
project into separate files. In either
format, the entire project, including tags,
documentation, ladder logic, etc. is
contained in a single file.
Using a Windowsr save procedure, a project is stored as a .acd
file:
Mention that saving is just a standard
Windows saving procedure. Other
standard windows procedures, such as
copying files, can be found in an
appendix in the Procedures Guide.
Save
Bottling.acd
Because RSLogix 5000 projects contain tag
names, the .acd files can be large.
Add that you should not open a project
from a floppy disk or CD-ROM. By
default, the software will attempt to save
the file back to the disk, which will not
work.
You cannot directly save a .acd file to a disk:
If you attempt to do so, you will receive an
error message indicating insufficient space on
the disk, regardless of the size of the project
file.
To save to a disk, a project file must be saved
to the hard drive and then copied to a disk.
When copying files from a CD-ROM,
they will be marked Read-Only. To
make the files useable, you must first
copy them to the hard drive or network.
Then you must clear the Read Only
check box in the file properties.
Note that in RSLogix 5000 software,
version 10, the export process was
optimized to reduce the amount of time
required to perform a Save As
operation. Programs that contain a
large quantity of tags with comments
should have a significant decrease in the
time required for exporting.
Note that the original .acd file is still
maintained as a separate file.
Note that the .l5k file is close in
size to a file that is compressed
using the WinZip utility.
Tip "
Mention that when importing, if a file with
the same name already exists, you will
overwrite it.
Mention that .l5x files can also be used
to import and export project components
such as routines, programs, phases,
add-on instructions, and UDTs.
E 2012 Rockwell Automation, Inc. All rights reserved.
Using the Windows Save As procedure, a .acd file can be exported
as a .l5k file, or text representation of the data for an entire project:
Bottling.acd
Export
(Save As)
Bottling.l5k - Export File
Original File Is Maintained
A .l5k project file is much smaller than a .acd file.
A .acd file can also be exported as a .l5x file, or XML-tagged code
of the data for an entire project:
Bottling.acd
Export
(Save As)
Bottling.l5x - XML File
Original File Is Maintained
Rev. August 2012
FI2sb56r
Managing RSLogix 5000 Project Files
16--3
Importing a .l5k Text File
To be used, a .l5k file must be imported. The original .l5k file will
remain and a separate .acd project file will be created:
Bottling.l5k
Import
(Open)
Bottling.acd - Import File
(Original File Is Maintained)
Although you can change the extension of a
project file through Windows Explorer, this is not
recommended. To convert a file, use the
import/export functions.
The required Import/Export version for
RSLogix 5000 version 19 is 2.10. This version
can be modified and saved in older text files:
RSLogix 5000 Software Version
Import/Export Version
Rev. August 2012
E 2012 Rockwell Automation, Inc. All rights reserved.
FI2sb56r
16--4
Managing RSLogix 5000 Project Files
Importing a .l5x XML File
To be used, a .l5x file must be imported. The original .l5x file will
remain and a separate .acd project file will be created:
Bottling.l5x
Import
(Open)
Bottling.acd - Import File
(Original File Is Maintained)
The .l5x file contains the project file in XML format, as shown in the
following graphic:
XML project files can only be imported into
projects created with RSLogix 5000 version 17 or
above.
If students are familiar with
Tip "
add-on instructions, mention
that starting with v.16, add-on
instructions could be imported/exported
using .l5x files.
E 2012 Rockwell Automation, Inc. All rights reserved.
The .l5x file allows users to manipulate the application source using
text editing tools; build tools to auto-generate projects; and extract or
merge code fragments to build new projects.
Rev. August 2012
FI2sb56r
Managing RSLogix 5000 Project Files
16--5
Multiple Backup Files
Call out the benefits of this feature:
S
Allows you to back out of unwanted
changes by moving to an earlier file
Reduces likelihood of lost work from
disk or file corruption
Tip "
Note that the Compare tool must be
installed and launched separately from
the main software. It is available on the
RSLogix 5000 software CD-ROM
(version 12 or later).
Add that the report can be saved as an
HTML file or XML file.
Rev. August 2012
By default, the software automatically saves incremental backup
project (.acd) files:
A backup file is created each time a Save operation is selected.
The quantity of files is configurable.
The default is 3.
Files are stored in the same location as the original.
Compare Tool
This tool allows you to perform project-to-project comparisons:
Project structure
Tags and user-defined data types
Programming logic
Data values (optional)
Tip "
This tool can only be used for .acd files created in version 10 or later.
Tip "
The report can be saved as an HTML file or XML file.
E 2012 Rockwell Automation, Inc. All rights reserved.
FI2sb56r
16--6
Managing RSLogix 5000 Project Files
Heres How
To manage RSLogix 5000 project files by performing the following
tasks:
Export a .acd project file
Import a .l5k text file
Activity: As your instructor demonstrates these procedures, follow
along in the associated job aid(s).
Demonstration Checklist
IMPORTANT: To meet IACET CEU
requirements and fully prepare
certificate students for the final exam,
you must demonstrate all lesson
objectives using the proper job aids.
Use the CCP143_1756r_DEM2.acd
project during the demonstration.
E 2012 Rockwell Automation, Inc. All rights reserved.
Pay attention to these critical aspects of the demonstration:
-
Location of the procedures in the job aid
Directory where the export and import files can be found
Files of Type drop down list
How to examine files sizes using Windows Explorer
Rev. August 2012
FI2sb56r
Exercise: Managing RSLogix 5000 Project Files
16--7
Exercise: Managing RSLogix 5000
Project Files
Exercise A
In this exercise, you will practice managing RSLogix 5000 project
files.
Context:
You need to save and store a copy of an original HVAC file for
future reference.
When you see underlined text, refer to the related procedure or
information in your job aid.
Directions:
1. Open the FI2_1756r_A1.acd file.
2. Examine some of the file to become familiar with its contents.
3. Export the project file as a .l5k file.
4. Export the project as a .l5x file.
Tip "
Save the project using the same name. Save it in the default project
directory.
5. Open Windowsr Explorer.
6. Locate the RSLogix 5000 software default project directory.
7. From the View drop-down list or using the toolbar icon shown
below, select Details so that the file sizes and dates of the projects
are displayed.
8. Under the Size column, compare the sizes of the FI2_1756R_A1
standard file (.acd) the text file (.l5k), and the XML file (.l5x).
Rev. August 2012
E 2012 Rockwell Automation, Inc. All rights reserved.
FI2e56r
16--8
Exercise: Managing RSLogix 5000 Project Files
9. What are the file sizes?
10. From Windows Explorer, open the .l5k file.
11. In the text file, list the following elements:
A. RSLogix 5000 software version:
B. Import/Export version:
C. Major revision:
D. Minor revision:
E. Chassis size:
12. How would you find the elements listed in Step 11. using the .acd
file?
13. Which file would be easier for you to modify?
14. Close the file.
15. Open a new instance of RSLogix 5000 and import the .l5k file.
E 2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
FI2e56r
Exercise: Managing RSLogix 5000 Project Files
16--9
16. Open the .l5x file to see how its structure is different from the .l5k
text file.
17. Open a new instance of RSLogix 5000 and import the .l5x file.
How Did You Do?
Rev. August 2012
Turn to the Answers section.
E 2012 Rockwell Automation, Inc. All rights reserved.
FI2e56r
16--10
Exercise: Managing RSLogix 5000 Project Files
Answers
Exercise A
9. The approximate size of the .acd file is 400KB. The
approximate size of the .l5k file is 20KB. The approximate size
of the .l5x file is 65KB.
11. The text file uses this format:
RSLogix 5000 Software Version
Import/Export Version
Major Revision
Major Revision
Chassis Size
Minor Revision
12. Using the .acd file, you can find the RSLogix 5000 software
version from the Help menu. The Major revision, minor
revision, and chassis size information can be accessed using the
Controller Properties feature. The import/export version is not
viewable from the .acd file.
13. For some, RSLogix 5000 .acd files may be easier to modify
because of the graphical nature. For others, text files may be
easier to modify. XML files can offer more flexibility when
reusing code. Remember that text files and XML files cannot be
downloaded directly to a controller.
E 2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
FI2e56r
Lesson
17
Allocating Connections in a
Logix5000 System
What You Will Learn
After completing this lesson, you should be able to allocate
communications connections in a Logix5000 system by performing
the following actions:
Determine the number of connections used by a Logix5000
controller
Conserve the number of connections used by a Logix5000
controller
Check connections in RSLogix 5000 with the Task Monitor tool
When You Will Do This
Depending on the size of your system, you may need to consider
how you allocate connections to stay within limits.
Before You Begin
Clarify that a connection is a completed
communications link and not a physical
connection on a network.
Connections
A connection is an established communications link between two
devices or components in a Logix5000 system. Connections may
take many forms, including the following:
Controller to I/O (local or remote)
Controller to communications modules
Produced tag controller to consumed tag controller
Message source controller to message destination
Connection Limits
Have students find the manual
and use it for the steps below.
Give them a few minutes to look
through the tables.
Reference: Logix5000 Controllers Design Considerations,
1756--RM094
1. Go to the Logix5000 Controller Resources chapter.
2. Go to the Controller Connections section.
3. Briefly read the tables on connection limits for controllers and
communication modules.
Rev. August 2012
E 2012 Rockwell Automation, Inc. All rights reserved.
CO2sb56r
17--2
Allocating Connections in a Logix5000 System
Conserving Connections by Grouping Produced Data
To minimize the number of produced tags and therefore the number
of connections, data can be grouped into an array or a user-defined
structure and then produced.
When reviewing the table, note if the
producer used 250 produced and
consumed connections, there would be
no room for I/O modules.
? What is an array?
Answer: A numerically indexed
sequence of tags, for example,
Size[3,5].
? What is a user-defined structure?
Answer: A data type (similar to a timer)
made of members different data types.
The user-defined data type is also
referred to as a user-defined structure.
? Could you make an array within this
data type?
Answer: Yes. You can embed a
one-dimensional array of certain data
types (such as Dint) within a
user-defined data type. Here you could
make an array of four Dints for the
Height, Width, W_Flag, and L_Flag.
The array or user-defined structure must be less
than 500 bytes.
Example: Connection Requirements for Tags vs. an Array
Producing 5 individual tags for two consumers each requires 15
connections, as shown in the following table:
Source Tags
Produced Tags
Connections
Height (Dint)
Height
3 (1 tag plus 2 consumers)
Width (Dint)
Width
Weight (Real)
Weight
W_Flag (Dint)
W_Flag
L_Flag (Dint)
L_Flag
3
15 connections
Producing 1 user-defined data type requires only 3 connections,
as shown in the following table:
Load_Info User-Defined Data Type
Source Tags
Height (Dint)
Width (Dint)
Weight (Real)
W_Flag (Dint)
L_Flag (Dint)
Produced Tag
Load_Info (user-defined
data type made of source
tags)
Connections
3 (1 tag plus 2 consumers)
3 connections
E 2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
CO2sb56r
Allocating Connections in a Logix5000 System
17--3
Message Connections
Note that the cache bit is set or cleared
in the Message Configuration dialog
box, which is accessed through the
ellipses button in the MSG instruction.
Note that opening a new connection for
each message execution increases
execution time.
Some types of messages always require a connection. Other
messages (such as a CIP messages) maintain the connection based on
the configuration of the cache bit:
Clear the cache bit for infrequent messages. This closes the
connection when not in use and frees it for other operations.
Set the cache bit for continuous messages.
Continuous
Connection
Heres How
IMPORTANT: To meet IACET
CEU requirements and fully
prepare certificate students for
the final exam, you must
demonstrate all lesson objectives
using the proper job aids.
To determine the number of connections used by a Logix5000
controller.
Reference: Logix5000 Controllers Design Considerations,
1756--RM094
1. Go to the Determine Total Connection Requirements section.
To demonstrate, tally the connections for
an example system this way:
2. Briefly read the tables for local and remote connection tallies.
1. Describe a device and its quantity
and have the students determine the
connection type and total connection
from the tables.
3. Use the tables to tally the connections for an example system
your instructor gives you.
2. Continue giving them examples of
devices and quantities until youve
tallied the connections for your
example system.
3. Count the tallies to determine the
total connections fro the system.
Rev. August 2012
E 2012 Rockwell Automation, Inc. All rights reserved.
CO2sb56r
17--4
Allocating Connections in a Logix5000 System
Heres How
To check connections in RSLogix 5000 with the Task Monitor tool.
IMPORTANT: To meet IACET CEU
requirements and fully prepare
certificate students for the final exam,
you must demonstrate all lesson
objectives using the proper job aids.
Use the steps below to help guide you
during the demonstration:
1.
From the tools menu select
Logix5000 Task Monitor.
2.
Under Communications select
Monitor.
3.
From the RSWho screen select
the processor you want to monitor.
4.
From the Logix5000 task Monitor
Screen select the Networking Tab.
E 2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
CO2sb56r
Exercise: Allocating Connections in a Logix5000 System
17--5
Exercise: Allocating Connections
in a Logix5000 System
Exercise A
In this group exercise, you will practice allocating connections used
by a Logix5000 controller.
You have just completed a basic project. You now need to determine
the number of connections used by the controller in slot 1.
Refer to the CO2_1756r_A1.acd file and the following key points:
There are 4 local modules and 1 remote I/O module.
There is 1 local and 1 remote ControlNet communication module.
There are 2 produced tags:
-- Initialize System (produced for 1 local and 1 remote
controller)
-- Station_Data_For_Quality (produced for 1 local controller)
There is 1 consumed tag: Stations_Off_Quality.
There are 2 messages (1 Data Table Read and 1 CIP Generic).
Directions:
1. Tally the connections for the controller.
2. Producing 6 individuals tags for two consumers each requires 18
connections. How could the number of connections be reduced to
3?
3. Using direct connections, 2 connections are used to communicate
with 2 remote 1756 digital I/O modules and 1 remote ControlNet
communication module. If the communication format was
changed to Rack optimization, how many connections would be
established?
How Did You Do?
Rev. August 2012
Turn to the Answers section.
E 2012 Rockwell Automation, Inc. All rights reserved.
CO2e56r
17--6
Exercise: Allocating Connections in a Logix5000 System
Answers
Exercise A
1. Your answer should be similar to the following example:
Connection Type
Device Quantity
Connections per
Module
Total
Connections
Local I/O module (direct connections)
SERCOS Motion module
Local ControlNet communication module
Local EtherNet/IP communication module
Local DeviceNet communication module
Local DH+/Remote I/O communication module
Local DH--485 communication module
RSLogix 5000 software access to controller
Remote ControlNet communication module
Remote EtherNet/IP communication module
Other remote communication adapter
Remote I/O modules (direct connections)
Produced tags
--
--
--
Produced tag and first consumer
Each additional consumer
Consumed tags
Connected message (CIP Data Table Read/Write and DH+)
Block-transfer message
0
14
2. Grouping the data into an array or user-defined data type would
reduce the number of connections to 3 (1 tag plus 2 consumers).
3. Rack optimization would consolidate the connections into a
single connection. Data would be sent at one rate specified by
the ControlNet module.
E 2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
CO2e56r
Lesson
18
Integrated Practice Developing
an RSLogix 5000 Project
What You Will Learn
After completing this lesson, you should be able to:
Modify the default task, program, and routine
Add a local 1756-I/O module to an I/O configuration
Rev. August 2012
Create a tag in the Edit Tags list
Define alias tags
Draft simple ladder logic
Enter and edit ladder logic components
Verify a project
Select and change a controllers operating mode
Download a project to a Logix5000t controller
Create an event task
Copy and reuse ladder components
Modify a communications path
Create a communications path
Configure a controller to produce and consume data
E 2012 Rockwell Automation, Inc. All rights reserved.
INPsb56r
18--2
Integrated Practice Developing an RSLogix 5000 Project
E 2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
INPsb56r
Exercise: Integrated Practice Developing an RSLogix 5000 Project
18--3
Exercise: Integrated Practice
Developing an RSLogix 5000
Project
Exercise A
In this exercise, you will practice skills used in developing an
RSLogix 5000 project.
Context:
You have completed and tested the basic project for Line_A. Now
you have been asked to duplicate this logic for Line_B.
When you see underlined text, refer to the related procedure or
information in your job aid.
Directions:
1. Open the INP_1756r_A1.acd file.
Tip "
If you are using a ControlNet network, open the INP_1756r_A3.acd
file.
2. Add an analog output module to slot 7 of the I/O configuration.
The following table outlines the parameters for the module:
Scaling
Catalog
Number
Channel
High Signal
High Eng.
Low Signal
Low Eng.
10.0
10.0
0.0
0.0
10.0
10.0
0.0
0.0
0
OF6VI
(0--10V)
1
Alarms
Limits
High High
High
Low
Low Low
----
High
Clamp
------
Low
Clamp
10
--10
10
--10
3. Modify the configuration of the local and remote communication
modules within the I/O Configuration to match the configuration
of your workstations.
4. From within the tag editor of the Line_A program, create a
program-scoped tag named Meter. This tag should be an alias for
the channel 0 analog output data.
Rev. August 2012
E 2012 Rockwell Automation, Inc. All rights reserved.
INPe56r
18--4
Exercise: Integrated Practice Developing an RSLogix 5000 Project
5. Draft ladder logic in the Process_Order routine that will move
the accumulated value of the Order_Counter tag into the new
Meter tag.
6. Edit the XIO instruction in rung 3 of the Process_Order routine
and change it to an XIC instruction.
7. Create a Line_B program.
8. Copy the program-scoped tags from the Line_A program and
paste them into the Line_B program.
9. Copy the routines from the Line_A program and paste them into
the Line_B program.
10. Configure the MainRoutine as the main routine in the Line_B
program.
11. For these slot 1 program-scoped tags, re-assign the alias
information to the correct I/O points based on the following chart:
Routine Name
E 2012 Rockwell Automation, Inc. All rights reserved.
Tag Name
LineA I/O Point
(Line_A Program)
LineB I/O Point
(Line_B Program)
Read_Order
Read_Order
Local:2:I.Data.0
Local:2:I.Data.4
Process_Order
Apply_Paint
Local:0:O.Data.3
Local:0:O.Data.4
Process_Order
Meter
Local:7.O.Ch0Data
Local:7.O.Ch1Data
Process_Order
Order_In_Progress
Local:0:O.Data.0
Local:0:O.Data.1
Process_Order
Process_Order
Local:2:I.Data.1
Local:2:I.Data.5
Process_Order
Shrink_Wrap
Local:4.O.Data.6
Local:4.O.Data.7
Rev. August 2012
INPe56r
Exercise: Integrated Practice Developing an RSLogix 5000 Project
Tip "
Devices on the standard workstation are arranged and wired in the
following manner:
DI0
DO0
DI1
DO3
DI2
DO6
DI4
DO1
DI5
DO4
DI6
DO7
AI0
AO0
Analog Meter
Analog Meter
Digital Outputs
Analog Outputs
Label
Description
Slot
I/O Tag
DI4
DI5
DO1
DO4
DO7
Digital Input 4
Digital Input 5
Digital Output 1
Digital Output 4
Digital Output 7
2
2
0
0
4
Local:2:I.Data.4
Local:2:I.Data.5
Local:0:O.Data.1
Local:0:O.Data.4
Local:4:O.Data.7
AO1
Analog Output 1
Local:7:O.Ch1Data
Tip "
Analog Input
AI1
AO1
Digital Inputs
18--5
Analog Input
I/O Tag for Alternate Wiring
This chart lists controller-scoped base tags (no alias information) in
the slot 1 controller:
Program Name
Routine Name
Tag Name
Line_A
Read_Order
MSG_Read_LineA
Line_B
Read_Order
MSG_Read_LineB
Line_A
Read_Order
Order_QuantityA
Line_B
Read_Order
Order_QuantityB
12. Cross-reference the MSG_Read_LineA tag and go to the rung
within the Line_B program that uses this tag.
13. Modify the message instruction on the rung you identified in the
previous step by performing the following:
Configure the control tag MSG_Read_LineB as the message
control tag for this instruction.
Configure the message type to be a CIP Data Table Read.
Configure Order_QuantityB as the Source and Destination
Element for the message instruction.
Configure the communication path to point to the controller in
slot 3 of the remote workstation.
14. Within the same rung as the message instruction, make the
Order_QuantityB tag the source tag for the move instruction.
Rev. August 2012
E 2012 Rockwell Automation, Inc. All rights reserved.
INPe56r
18--6
Exercise: Integrated Practice Developing an RSLogix 5000 Project
15. Within the same rung as the message instruction, change the
operand of the XIC instruction that utilizes the
MSG_Read_LineA.DN tag to the MSG_Read_LineB.DN tag.
16. Cross-reference the MSG_Read_LineA tag and go to the rung
within the Line_A program that utilizes this tag.
17. Modify the communications path of the MSG_Read_LineA
message control tag to point to the remote controller in slot 3
18. Verify your changes and correct any errors.
19. Download the project to the controller in slot 1.
20. Place the controller in Remote Run mode.
Tip "
If you are using ControlNet, you may need to reschedule the
network.
21. Open another instance of RSLogix 5000 software.
22. Import the INP_1756r_A2.l5k file.
23. Create the Order_QuantityB tag and make it an alias for AI1.
24. Save your work and download the INP_1756r_A2.acd file to the
controller in slot 3 of the remote workstation.
25. To test your work, verify that the Line_A program of the project
functions as follows:
B
C, H
D
E
F
G
Remote
Workstation
Analog Meter
Analog Meter
Analog Input
Analog Input
A. Set the potentiometer in the remote workstation to the desired
order quantity (the range is 0 to 10).
B. Push the Read Order button (DI0) of the local workstation.
C. The Order_In_Progress (DO0) light in the local workstation
should now be on.
D. Push the Process_Order button (DI1) in the local
workstation.
E 2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
INPe56r
Exercise: Integrated Practice Developing an RSLogix 5000 Project
18--7
E. The Apply_Paint light (DO3) should go on and off the
number of times you have requested from the
Order_Quantity potentiometer in the remote workstation.
F. Each time a part is painted, the Meter should increment.
G. When all parts have been painted, the Shrink_Wrap light
(DO6) should go on for two seconds.
H. Once the Shrink_Wrap has been applied, the
Order_In_Progress (DO0) light should turn off.
26. To test your work, verify that the Line_B program of the project
functions as follows:
B
C, H
D
E
Analog Meter
G
F
Analog Input
A
Analog Meter
Remote
Workstation
Analog Input
A. Set the potentiometer in the remote workstation to the desired
order quantity (the range is 0 to 10).
B. With the controller in slot 3 of the remote workstation pulled
out of the chassis, push the Read_Order button (DI4) of the
local workstation. Explain why the Order_In_Progress light
in the local workstation does not go on:
C. Now insert the controller back into slot 3 and push the
Read_Order button again. The Order_In_Progress light
should now be on.
Tip "
You may need to re-download the INP_1756r_A2.acd file to the
controller in slot 3 if the project was lost while the controller was
removed. If this is the case, press Read_Order button (DI4) again.
D. Push the Process_Order button (DI5).
Rev. August 2012
E 2012 Rockwell Automation, Inc. All rights reserved.
INPe56r
18--8
Exercise: Integrated Practice Developing an RSLogix 5000 Project
E. The Apply_Paint light should go on and off the number of
times you have requested from the Order_Quantity
potentiometer in the remote workstation.
F. Each time a part is painted, the Meter should increment.
G. When all parts have been painted, the Shrink_Wrap light
should go on for two seconds.
H. Once the Shrink_Wrap has been applied, the
Order_In_Progress (DO0) light should turn off.
27. The shrink wrap roll must be measured continuously so that if it
is low, it can be re-filled immediately. A photoeye (at DI8) is in
place to detect sufficient width on the roll. If this sensor goes on,
the event task must be triggered. Configure this new event task
named Refill_Shrink_Wrap in the slot 1 controller.
Tip "
Continue using the existing INP_1756r_A1.acd or INP_1756r_A3
file.
28. When the event task executes, it must increment a tag that tracks
the number of times the event task has executed. This tag is called
Event_Task_Count. Program the necessary logic for this in the
MainRoutine inside the MainProgram of the Event task you
created.
29. Produce the Event_Task_Count tag from the slot 1 controller,
and consume it from the slot 3 controller.
How Did You Do?
E 2012 Rockwell Automation, Inc. All rights reserved.
Turn to the Answers section.
Rev. August 2012
INPe56r
Exercise: Integrated Practice Developing an RSLogix 5000 Project
Rev. August 2012
18--9
E 2012 Rockwell Automation, Inc. All rights reserved.
INPe56r
18--10
Exercise: Integrated Practice Developing an RSLogix 5000 Project
Answers
Exercise A
2. The main configuration screens for the analog module are
shown in the following graphics:
(Continued)
E 2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
INPe56r
Exercise: Integrated Practice Developing an RSLogix 5000 Project
Rev. August 2012
18--11
E 2012 Rockwell Automation, Inc. All rights reserved.
INPe56r
18--12
Exercise: Integrated Practice Developing an RSLogix 5000 Project
4. The tag properties for Meter should look like the following
example:
5. The following ladder logic was entered to move the
accumulator value into the Meter tag:
E 2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
INPe56r
Exercise: Integrated Practice Developing an RSLogix 5000 Project
18--13
6. The rung should look similar to the following example:
9. The Tasks folder within the Controller Organizer should like
similar to the example below:
10. MainRoutine should now be the main routine for the Line_B
program:
Rev. August 2012
E 2012 Rockwell Automation, Inc. All rights reserved.
INPe56r
18--14
Exercise: Integrated Practice Developing an RSLogix 5000 Project
11. Your Line_B Program Tags editor should now look similar to
the following:
12. You should find the MSG_Read_LineA tag located on rung 0
of the Read_Order routine within the Line_B program:
13. Your message instruction should now have MSG_Read_LineB
as the message control tag:
(Continued)
E 2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
INPe56r
Exercise: Integrated Practice Developing an RSLogix 5000 Project
18--15
Your message instruction configuration should look similar to
the following:
Rev. August 2012
E 2012 Rockwell Automation, Inc. All rights reserved.
INPe56r
18--16
Exercise: Integrated Practice Developing an RSLogix 5000 Project
15. The rung with the message instruction in the Line_B program
should be configured similar to the following:
17. Your MSG_Read_LineA tag should be configured as follows:
23. Your Order_QuantityB tag should be configured similar to the
following:
E 2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
INPe56r
Exercise: Integrated Practice Developing an RSLogix 5000 Project
18--17
26.
B. The Order_In_Progress light will not come on if the
controller in slot 3 is removed because the logic tests for the
done bit of a message instruction to that controller in slot 3.
If the controller is not there, the done bit will not go high.
27. The following examples show the event task configuration and
the Shrink_Wrap_Low tag alias information:
28. Your ladder logic should be similar to the example below:
Rev. August 2012
E 2012 Rockwell Automation, Inc. All rights reserved.
INPe56r
18--18
Exercise: Integrated Practice Developing an RSLogix 5000 Project
29. The following example shows the produced tag in the slot 1
controller:
The following example shows the slot 3 I/O configuration for
an EtherNet/IP network:
(Continued)
E 2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
INPe56r
Exercise: Integrated Practice Developing an RSLogix 5000 Project
18--19
The following example shows the slot 3 I/O configuration for a
ControlNet network:
Tip "
Your ControlNet node numbers may vary based on network
configuration.
The following example shows the consumed tag in the slot 3
controller:
Rev. August 2012
E 2012 Rockwell Automation, Inc. All rights reserved.
INPe56r
18--20
Exercise: Integrated Practice Developing an RSLogix 5000 Project
E 2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
INPe56r
Optional Lesson
19
Configuring Logix5000 Controllers
to Share Data over a ControlNet
Network
What You Will Learn
Important: If this lesson is part of a
national school and you are using
EtherNet/IP for remote data sharing, this
lesson can be skipped.
Stress that ControlNet and EtherNet/IP
are two Logix5000 networks designed to
share data between multiple controllers
in remote chassis or between a
controller and I/O in remote chassis.
Note that 1756-remote I/O will be
introduced in a separate lesson.
Before You Begin
After completing this lesson, you should be able to:
Add a ControlNet communication module to an I/O configuration
Add a controller to an I/O configuration
Schedule a new ControlNet network
When You Will Do This
Use the procedures in this lesson when you have to pass interlock
data between controllers over an ControlNet network.
Key Terms
The following terms are defined as they relate to a ControlNet
network in a Logix5000 system:
Remind students that the ControlNet
network is the technology of the
backplane in a network.
Determinism: The ability to reliably predict when data will be
delivered.
Repeatability: Transfer times that are constant and unaffected by
devices connecting to or leaving the network.
In the graphic, review the devices on the
ControlNet network. Cite specific
examples.
Producer/Consumer Model: A communications network model in
which nodes on a network can simultaneously receive the same data
from a single source.
ControlNet Network: A communications network used for
transmitting time-critical and non-time critical data on the same link.
ControlNet Nodes
Note that the 1784-PCICS card is used
for computers with faster processing
speeds.
If you do not have these cards available
but there is a Logix5000 system on the
network with an EtherNet/IP card, you
can use EtherNet/IP as a bridge to the
ControlNet network when working with
RSNetWorx for ControlNet software.
The physical ControlNet network in a Logix5000 system can contain
the following nodes:
A 1784-KTCX15 or 1784-PCIC(S) card to access the network
from a desktop computer
A 1784-PCC (PCMCIA) card to access the network from a laptop
computer
A configured ControlNet module in a Logix5000 chassis
ControlNet-compatible devices
Rev. August 2012
E 2012 Rockwell Automation, Inc. All rights reserved.
CN2sb56r
19--2
Configuring Logix5000 Controllers to Share Data over a ControlNet Network
Common nodes that are connected to a ControlNet network using a
cable system are shown in the following graphic:
Computer
ControlLogix System
ControlLogix System
ControlNet Network
VersaView
Operator Interface
PLC-5/40C Controller
CompactLogix
System
ControlLogix System
Over a ControlNet network, a Logix5000 controller can share data
with the following controllers:
Another Logix5000 controller (remote)
A CompactLogix controller
A PLC-5C processor
An SLC 500 processor
There can be up to 99 nodes on a ControlNet network. Nodes on a
ControlNet network must meet the following requirements:
Nodes must be in the range of 1 to 99.
Node numbers cannot be duplicated.
Node zero is invalid.
Lowest keeper-capable node number (the keeper) in the system
receives information from RSNetWorx for ControlNet software:
-- The keeper is not a master.
-- The keeper only grants access to the network.
-- The keeper maintains the ControlNet schedule.
E 2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
CN2sb56r
19--3
Configuring Logix5000 Controllers to Share Data over a ControlNet Network
Cable System
Point out each component of the
ControlNet cable system connecting
workstations in the classroom. If you
have a repeater, show it to the students.
Nodes on the ControlNet network must be connected using a
ControlNet cable system. The following graphic is an example of a
ControlNet cable system and some of its components:
Trunk Cable
Section Connectors
Segment
Tap
Terminator
Repeater
Node
Note that the components of the
ControlNet network are carefully
selected by the network designers to
accommodate the current (and future)
needs of the network. Exceeding the
length of cable or the number of taps
may cause degradation of the signal and
eventual failure.
Note that repeaters do not just amplify
the signals, they recreate them (and
therefore add some latency). Repeaters
can be purchased to create
coax-to-coax, coax-to-fiber, or
fiber-to-fiber links.
This cable system contains the following basic components:
Taps with no minimum spacing requirements
Cable connectors
Trunk cable:
-- RG-6 coax cable or special-use cable
-- 1000 m with 2 devices and 250 m with 48 devices
-- Each tap subtracts 16.3 m from allowable segment length
-- Flexible topology including bus, tree, and/or star
Terminators
Repeaters, depending on the design
Up to 99 nodes can be connected on a ControlNet
network. 48 nodes can exist on one segment; after
48, a repeater must be used.
Note that ControlNet is a proven
network. Most problems occur in the
installation or configuration.
Tip "
Show the front of a ControlNet
module. Point out the channel A and B
connectors and the RJ45 port.
Rev. August 2012
Cable system design and installation is extremely
important. Most complications with ControlNet
networks can be linked to the network installation.
The cable system is used for permanent nodes. An RJ45 port is
available to connect a computer to the ControlNet module without
breaking a connection or adding a new node to the cable system.
E 2012 Rockwell Automation, Inc. All rights reserved.
CN2sb56r
19--4
Configuring Logix5000 Controllers to Share Data over a ControlNet Network
Tip "
Note that this document is part of the
Logix5000 Documentation Reference
Guide.
For more information on the ControlNet cabling system, refer to the
ControlNet Coax Cable System Planning and Installation Manual.
Network Services
The ControlNet networks function is to transmit the following two
types of information on the same link:
Scheduled (time-critical data)
Unscheduled (non-time critical data)
Scheduled Service
Data that is sent across a network on a regular basis is transmitted as
scheduled data. This data has the following characteristics:
Is time critical, such as I/O status and control interlocking data
?What type of data would be
considered time critical for your
application?
Has top priority in information exchange
Occurs in the same time frame during every data transmission
interval
Can be any of the following:
-- Data from an I/O module
-- Peer-to-peer interlocking data of controllers
Tip "
Components that have an associated RPI (Requested Packet Interval)
send data as scheduled data.
To control I/O or produce and consume tags in a
Logix5000 application, scheduled data is required.
Unscheduled Service
Stress that scheduled data, such as
control and I/O data, is given highest
priority on the ControlNet network. Other
information, such as programming or
upload and download operations, does
not interfere with the transport of control
and I/O data.
Non-deterministic data that is not time critical is transmitted as
unscheduled data. This type of data has the following characteristics:
Transmits after all scheduled data has been sent
Can be any of the following:
-- Connection establishment
-- Ladder-initiated, peer-to-peer messaging data (using a
Message instruction)
-- Programming data (uploads and downloads)
E 2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
CN2sb56r
Configuring Logix5000 Controllers to Share Data over a ControlNet Network
19--5
Information Exchange on the ControlNet Network
Note that this is an overview of the data
transfer process. Details will be given
later in the lesson.
Clarify that this is a ControlNet data
exchange not a message (MSG)
instruction.
The following graphic shows the transfer of information over the
ControlNet network using the Producer/Consumer model:
Establish
Connection
A producer sends a
message to the target
consumer by using a
network address.
Note that the node number is part of the
CID. The source and destination
information is encoded in the CID.
Chalk Talk: To help students learn the
many acronyms in this lesson, keep a
running list on the end of the board.
After learning a new acronym, have the
students supply short descriptions to
define the new acronym.
Communication
Close
Connection
If the node needs
the data, messages
are then consumed.
The connection is
closed.
The following statements describe information exchange on the
ControlNet network:
Data sent by a producer will contain a numeric identifier called a
CID (Connection ID):
-- This ID is created automatically when a ControlNet node is
connected to the network.
Nodes that have been configured to recognize a particular CID
consume the data.
Access to the network is controlled by a time-slice algorithm.
Network Parameters
Note that this section serves as an
introduction to the parameters. Entering
these parameters using RSNetWorx for
ControlNet software will be presented
later in this lesson.
To schedule the network for information exchange, values for the
following network parameters must be selected:
NUT
SMAX (Scheduled Maximum node)
UMAX (Unscheduled Maximum node)
Media Redundancy
NUT (Network Update Time)
Add the term NUT to the acronym list on
the board. Ask the students for a short
definition.
Note that the NUT represents the
aspects of determinism and repeatability
that set the ControlNet network apart
from other networks.
Add the term NUI to the acronym list on
the board. Ask the students
for a short definition.
Rev. August 2012
The NUT is the repeatable base time at which the network transmits
data (scheduled, unscheduled, and maintenance data). The NUT has
the following characteristics:
A configuration of 2 to 100 milliseconds is possible for the NUT.
The value of the NUT includes peer-to-peer, digital, and analog
data.
Data cannot be transferred faster than the NUT.
E 2012 Rockwell Automation, Inc. All rights reserved.
CN2sb56r
19--6
Configuring Logix5000 Controllers to Share Data over a ControlNet Network
Tip "
One occurrence of the NUT is referred to as a NUI (Network Update
Interval).
Example: NUT
The priority of data transfer is shown in the following graphic:
? What will happen during the second
NUI shown?
Answer: Data will be transmitted again
in priority order.
NUT
Scheduled
Operations
Unscheduled
Operations
Maintenance Update
(Guardband)
Note that the maintenance update
includes diagnostics and
communications.
...
...
With the given guidelines in mind, the graphic illustrates that:
Scheduled data is transmitted first, followed by unscheduled
data and then maintenance data.
When the NUT has occurred, the transmissions start over.
SMAX (Scheduled Maximum Node)
Add the term SMAX to the acronym list
on the board. Ask the students for a
short definition.
Mention that it is inefficient to schedule a
computer. Instead, assign computers
your highest node numbers.
State that for an efficient network, node
numbers should be assigned
sequentially starting at 1. The maximum
scheduled node should be set to the
highest number node that will need to
transmit scheduled data.
E 2012 Rockwell Automation, Inc. All rights reserved.
The SMAX is the maximum node number (1 to 99) that can transmit
and receive data during the scheduled portion of the NUT. Keep in
mind the following guidelines when determining the SMAX value:
Nodes at or below the maximum scheduled node transmit every
NUT in the same sequential order (i.e., 1, 2, 3, then 1, 2, 3 . . .).
All nodes sending time-critical data should be at or below the
SMAX.
Each node falling under SMAX can transmit up to 510 bytes of
data during its turn:
-- More than 500 bytes can be sent by one node. However, only
500 bytes can be transferred at one slot time.
-- The bandwidth in this portion of the NUT is reserved and
configured in advance to support real-time data transfer.
-- The boundary for the scheduled portion of the NUT will move
depending on the use of bandwidth.
Slot time is the calculated time a node will wait for a missing
address before taking its turn to transmit:
-- Slot time is based on the physical attributes of the network
including the cable length and the number of repeaters.
Rev. August 2012
CN2sb56r
Configuring Logix5000 Controllers to Share Data over a ControlNet Network
19--7
Example: SMAX
Here is the order of scheduled data transfer:
NUT
1
3
4...n
1
3
4...n
4...n
...
...
SMAX
? Ask students to why it is inefficient
not to assign nodes sequentially?
Answer: Because nodes will wait for
other nodes to transmit. E.g., node five
will wait the entire slot times for nodes
one to four to transmit even if they are
not assigned.
Slot Time
With the given guidelines in mind, the graphic illustrates that:
The first network update interval (NUI) shows nodes (numbers)
falling below SMAX sending scheduled messages.
The second NUI shows the nodes below SMAX sending
messages again starting over from the first scheduled node to
SMAX.
The third NUI shows a node (2) missing from the network.
Therefore, node 3 will wait one time slot before it transmits data.
UMAX (Unscheduled Maximum Node)
Add the term UMAX to the acronym list
on the board. Ask the students for a
short definition.
? What type of data might be included
in the unscheduled portion of the NUT?
Answer: Unscheduled data can include
connection establishment, peer-to-peer
messaging data, programming, and
ladder-initiated communications.
Note that the 1784-KTCX15 driver node
number default is set high, at 99.
Suggest that students change this to a
lower node number. Remind students
that as with all node numbers that
transmit and receive unscheduled data,
the driver/computer node number must
fall under the UMAX.
Rev. August 2012
The UMAX is the maximum ControlNet node number that can
transmit and receive unscheduled data. Keep in mind the following
guidelines when determining the value of the UMAX:
The time remaining after the scheduled and maintenance portions
of the NUT is allotted for unscheduled operations.
The right to transmit first in the unscheduled portion of the NUT
rotates one node number per NUI (i.e., 1, 2, 3, then 2, 3, 4 . . .).
The unscheduled portion of the NUT may not provide enough
time for every node to transmit data during every NUT.
A node will repeat transmission if there is time left in the NUT.
Nodes above the UMAX cannot communicate on
the network. Leave room for laptops to attach
using the RJ45 port. The added slot time will only
affect the unscheduled service.
E 2012 Rockwell Automation, Inc. All rights reserved.
CN2sb56r
19--8
Configuring Logix5000 Controllers to Share Data over a ControlNet Network
Time-critical data must not be included in the
unscheduled portion of the NUT, as it may not
have the opportunity to be sent every NUT.
Example: UMAX
? If UMAX was reached in the second
NUI, which node would transmit
unscheduled data first in the
third NUI?
Here is the rotating order of unscheduled data transfer:
NUT
Answer: Node 1.
In the graphic, point out that
if time remains after the
UMAX is reached, the
remaining time starts over
with node one (scheduled . .
nodes).
8
9
9
10
11
1
2
10
3
11
12
...
UMAX
Point out in the graphic that node 7
transmits first in the first NUI, node 8
transmits first in the second NUI, and
node 9 transmits first in the third NUI.
Note that to send data over 500 bytes in
chunks, frame numbers are assigned to
the data.
With the given guidelines in mind, the graphic illustrates that:
The opportunity to transmit is passed on a rotating basis.
In the third NUI, UMAX is reached. The remaining
unscheduled time is now available to additional nodes on a
sequential basis starting with node 1.
An unscheduled message can transmit only 500
bytes per slot time. If the message is more than
500 bytes, the data will resume transmission on its
next turn.
The same node can transmit both scheduled and
unscheduled data. For example, the controller
might produce a tag (scheduled) and send a
message (unscheduled).
Media Redundancy
Add that all nodes on a network must be
the same. That is, one node cannot be
set for channel A and another node set
for channel B.
E 2012 Rockwell Automation, Inc. All rights reserved.
The network must be configured for one of the following media
redundancy options:
A only, for one cable system using channel A
B only, for one cable system using channel B
A and B, for redundant media
Rev. August 2012
CN2sb56r
Configuring Logix5000 Controllers to Share Data over a ControlNet Network
19--9
To ensure optimization of data transfer, an
accurate representation of the media used on the
network should be defined in RSNetWorx for
ControlNet software.
Update Intervals
The configured or requested node transmit time may be different
than the actual transmit time, as described in the following intervals:
RPI (Requested Packet Interval)
API (Actual Packet Interval)
RPI (Requested Packet Interval)
Add the term RPI to the acronym list on
the board. Ask the students for a short
definition.
Clarify that the RPI tells the modules
when to multicast its data.
The RPI is a user-specified rate that is supplied when an I/O module
or ControlNet module is configured. The RPI defines how long the
module will wait before multicasting its data.
When determining the value of the RPI to enter in the I/O
configuration, note the following:
Each node may have different requirements for sending data
within the NUT.
It is inefficient to send all data at the same rate.
A node can support more than one rate depending on the data
being sent.
RPI must be greater than or equal to the NUT.
API (Actual Packet Interval)
Add the term API to the acronym list on
the white board. Ask the students for a
short definition.
The API is the actual resulting interval. It can be described as
follows:
This rate is based on the NUT and is less than or equal to the RPI.
This rate supports values that are binary multiples (1, 2, 4, 8, 16,
32, 64, 128) of the NUT.
ControlNet networks will always meet or beat the RPI:
-- If the RPI is 20 ms and the nut is 8 ms, the API will be 16 ms
(faster) because it cannot release at 20 ms.
Rev. August 2012
E 2012 Rockwell Automation, Inc. All rights reserved.
CN2sb56r
Configuring Logix5000 Controllers to Share Data over a ControlNet Network
19--10
Example: RPI and API
After reviewing the graphic and the
corresponding statements, ask the
students to determine the API for the
following RPI rates:
1. 100 ms
Answer: 64 ms
2. 31 ms
Answer: 16 ms
3. 2 ms
Answer: 2 ms
After reviewing RPI and API, test the
students understanding of the first half
of the lesson, including the following key
concepts:
S
Producer/Consumer model
NUT, SMAX, UMAX, RPI, and API
Having a good understanding of the
parameters of the ControlNet network is
required to begin examining the software
interfaces and configuration steps.
Break: Note that the introduction of the
ControlNet network concepts ends here.
This is a good place to take a short
break if necessary.
The requested transmit time versus the actual transmit time is
illustrated in the following graphic:
NUT = 2 ms
RPI for discrete data = 10 ms
2 ms
2 ms
API for discrete data = 8 ms
2 ms
2 ms
2 ms
Data
Data
Interval 1
Interval 2
Interval 3
Interval 4
Interval 5
The example illustrates the following points:
Discrete data has an RPI of ten milliseconds.
The software generates an API of eight milliseconds (eight is
the closest binary multiple that is less than ten).
The data is sent every four NUTs.
Configuration Overview and Software Interfaces
Note that this section is a general
introduction to the flow of configuration
procedures. The step-by-step details
and software demonstrations will be
presented in the Heres How section. If
this lesson is part of a national school,
add that remote I/O will be discussed in
a different lesson.
Encourage students to ask any
remaining questions from the
Configuring a Logix5000 Controller to
Produce and Consume Data lesson.
Note that the connection will be made
through a ControlNet or Ethernet
network.
To schedule the ControlNet network in order to share data, it is
necessary to complete the following procedures:
1. Create the required produced tag.
2. In the controller that is consuming the data, perform the following
actions:
A. Add the local ControlNet module to the I/O configuration.
B. Add the remote ControlNet module to the I/O configuration.
C. Add the producing controller to the I/O configuration.
D. Create the required consumed tags.
3. Schedule the ControlNet network.
E 2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
CN2sb56r
Configuring Logix5000 Controllers to Share Data over a ControlNet Network
Note that the controller was also added
to the project to share data when
producing and consuming tags across
the backplane. However, the controller is
now added under the remote CNB.
In the graphic, point out that the remote
module is node 2.
19--11
Adding a ControlNet Module and Controller to an I/O
Configuration
The following graphic is an example of a remote ControlNet module
and remote controller added to an I/O configuration in
RSLogix 5000 software:
Add that it is not necessary or even
possible to add the controller running the
project to the configuration.
Local ControlNet Module
Remote ControlNet Module
Remote (Producing) Controller
Produced and Consumed Tags
Note that the produced and consumed
tags are created just as they were
created for transfers over the backplane.
Data that is shared over a ControlNet network must be transferred
using produced tags and received (stored) in consumed tags.
As with I/O modules, when configuring consumed
tags, select an RPI that is greater than the NUT.
Scheduling a New ControlNet Network
RSNetWorx for ControlNet software schedules a network and
connects the local controller to any controllers or I/O modules in a
remote chassis by performing the following actions:
Create a graphical representation of your network configuration
and configure the parameters that define your network.
Analyze all of the intended traffic for the network and then
determine if the requested amount of traffic is possible.
Display the current percentage of capacity as well as the
percentage of capacity that added traffic will cause:
-- The user can then decide whether to adjust the requested
traffic or schedule it.
Download to network.
Rev. August 2012
E 2012 Rockwell Automation, Inc. All rights reserved.
CN2sb56r
19--12
Configuring Logix5000 Controllers to Share Data over a ControlNet Network
Point out that the procedure for
scheduling a ControlNet network is
detailed in the Procedures Guide. Note
that the steps will be demonstrated in
the Heres How section.
To read the connected nodes on the network and build a network
diagram, an online connection must be established using RSNetWorx
for ControlNet software:
Online Option
Enable Edits
Option
Online Bandwidth
Percentages
Network
Diagram
The online Average Scheduled Bandwidth
percentage should not exceed 50% or 60%.
E 2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
CN2sb56r
Configuring Logix5000 Controllers to Share Data over a ControlNet Network
Using the values in the Pending side of
the graphic, review the following terms:
S
NUT -- Data updates every 5 ms.
SMAX -- Up to 9 controllers or other
scheduled devices.
UMAX -- Up to 24 programming or
other nonscheduled devices.
Current Online
Values
Note that the ControlNet scheduling
information is saved in a .xc
configuration file.
19--13
After going online, the NUT, SMAX, UMAX, and redundancy
parameters are configured in RSNetWorx for ControlNet software:
Pending
Changes
Each time an additional device is added to a
scheduled network or an RPI value is changed, the
ControlNet network must be rescheduled.
A controller must be in Program mode to be
scheduled.
? What other main function
Tip "
requires RSLinx Classic software?
RSNetWorx software communicates with the controller through
RSLinx Classic software.
Answer: Drivers are configured in
RSLinx Classic software.
Rev. August 2012
E 2012 Rockwell Automation, Inc. All rights reserved.
CN2sb56r
19--14
Configuring Logix5000 Controllers to Share Data over a ControlNet Network
Heres How
To configure a local Logix5000 controller to share data with a
remote Logix5000 controller over a ControlNet network by
performing the following tasks:
Add a ControlNet module to an I/O configuration
Add a controller to an I/O configuration
Schedule a new ControlNet network
Activity: As your instructor demonstrates these procedures, follow
along in the associated job aid(s).
Demonstration Checklist
IMPORTANT: To meet IACET CEU
requirements and fully prepare
certificate students for the final exam,
you must demonstrate all lesson
objectives using the proper job aids.
Be sure to use the
CCP143_1756R_DEM6.acd file and
CCP143_1756R_DEM7.acd file.
E 2012 Rockwell Automation, Inc. All rights reserved.
Pay attention to these critical aspects of the demonstration:
-
Location of the procedures in the job aid
Parent--child relationship of the ControlNet and the
controller that you add to the I/O configuration
Produced and consumed tags that you create
Number of scheduled (SMAX) and the number of
unscheduled (UMAX) nodes
Values of the ControlNet network after it is configured
Rev. August 2012
CN2sb56r
Exercise: Configuring Logix5000 Controllers to Share Data over a ControlNet Network
19--15
Exercise: Configuring Logix5000
Controllers to Share Data over a
ControlNet Network
Exercise A
In this exercise, you will practice configuring a local Logix5000
controller to share data with a remote Logix5000 controller over a
ControlNett network.
Context:
You have finished programming and testing a complete project for a
production line. To increase productivity, the plant has set up a
second production line. The second production line needs to receive
(consume) the Pressure data from the first assembly line over a
ControlNet network.
Production Line 2
Production Line 1
ControlNet Network
Consumed
n Produced
When you see underlined text, refer to the related procedure or
information in your job aid.
In this exercise, you will share data with the other workstation on
your ControlNet network. Node 1 will produce data and node 2 will
consume the data.
Directions:
1. Open the CN2_1756r_A1.acd file (the producer controller.)
2. Create a user-defined data type called Station_Data that will
store the following information from the local controller:
Rev. August 2012
Member
Data type
Description
AI0
REAL
Analog Input channel 0
AI1
REAL
Analog Input channel 1
DI
DINT
Digital Inputs
E 2012 Rockwell Automation, Inc. All rights reserved.
CN2e56r
19--16
Exercise: Configuring Logix5000 Controllers to Share Data over a ControlNet Network
3. Create a controller scoped tag called Local_Station_Data with
the following properties:
Uses the Station_Data data type
Produced for 1 controller
4. Enter ladder logic to copy your analog channel 0 data and channel
1 data as well as your discrete input data to the respective
members of the Local_Station_Data tag.
5. Verify the project, correct any errors, and download the project to
your local controller in slot 1.
6. Place the controller in slot 1 in Remote Run mode.
7. Open the CN2_1756r_A2.acd file (the consumer controller.)
Tip "
This project will be downloaded to the controller in slot 3 of the
remote workstation after you have completed the configuration.
8. Add the following modules to the I/O configuration (review
workstation configuration for appropriate node addresses):
A. Add the local (relative to the projects controller) ControlNet
module to the I/O configuration.
B. Nested under the local ControlNet module, add the remote
ControlNet module to the I/O configuration.
C. Nested under the remote ControlNet module, add the
controller in slot 1 of the remote workstation to the I/O
configuration and call it Remote_Controller.
9. Copy the Station_Data UDT from producer and paste it to the
consumer.
10. Consume the Local_Station_Data tag from the
Remote_Controller by performing the following actions:
Create a controller scoped tag called Remote_Station_Data
that uses the Station_Data data type.
Configure Remote_Station_Data as a consumed tag with a
rate of 100 ms.
11. Enter ladder logic to copy the Remote_Station_Data tag to your
analog channel 0 and analog channel 1 outputs.
12. Write the logic so that each of the green buttons pushed on your
workstation will light the corresponding light on the remote
workstation.
13. Verify the project, correct any errors, and download the project to
the remote consumer controller in slot 3.
E 2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
CN2e56r
Exercise: Configuring Logix5000 Controllers to Share Data over a ControlNet Network
19--17
Do not schedule the ControlNet network until
both lines have downloaded the ladder logic.
14. When both production lines are ready, take turns scheduling the
ControlNet network.
15. To verify that each production line is correctly configured to
share data, complete the following actions:
A. Verify that moving your analog channel 0 to the middle
position moves the analog channel 0 meter on the remote
workstation to its middle position.
B. Verify that moving your analog channel 1 to the middle
position moves the analog channel 1 meter on the remote
workstation to its middle position.
C. Verify that pushing the first four discrete buttons on your
workstation light the corresponding lights on the remote
workstation.
How Did You Do?
Rev. August 2012
Turn to the Answers section.
E 2012 Rockwell Automation, Inc. All rights reserved.
CN2e56r
19--18
Exercise: Configuring Logix5000 Controllers to Share Data over a ControlNet Network
Answers
Exercise A
2. The user-defined data type should look similar to the following
example:
3. The tag created should look similar to the following example:
E 2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
CN2e56r
Exercise: Configuring Logix5000 Controllers to Share Data over a ControlNet Network
19--19
4. Your ladder logic should look similar to the following example:
8. The I/O configuration should look similar to the following
example:
The node addresses of
your ControlNet
modules will vary based
on your setup
The slot 1 controller
9. The Station_Data UDT should now be found in the
CN2_1756r_A2 project:
Rev. August 2012
E 2012 Rockwell Automation, Inc. All rights reserved.
CN2e56r
19--20
Exercise: Configuring Logix5000 Controllers to Share Data over a ControlNet Network
10. The consumed tag should look similar to the following
example:
11. Your ladder logic should look similar to the following example:
E 2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
CN2e56r
Exercise: Configuring Logix5000 Controllers to Share Data over a ControlNet Network
19--21
12. Your ladder logic should look similar to the following example:
Rev. August 2012
E 2012 Rockwell Automation, Inc. All rights reserved.
CN2e56r
19--22
Exercise: Configuring Logix5000 Controllers to Share Data over a ControlNet Network
E 2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
CN2e56r
Optional Lesson
20
Communicating with a 1756-I/O
Module Over a ControlNet Network
What You Will Learn
Note that in the prerequisite ControlNet
lesson, students learned to schedule a
ControlNet network. In this lesson,
students will practice rescheduling an
existing network, a common and
important task.
After completing this lesson, you should be able to:
Add a remote 1756-I/O module to an I/O configuration
Reschedule an existing ControlNett network
When You Will Do This
RSLogix 5000 software lets you add your I/O configuration to the
project before, during, or after you develop your application logic.
Do this task when:
Your I/O modules are connected to the controller by a ControlNet
network, and
Your system is installed or you have drawings and specifications
that outline to location and configuration of your I/O modules
Before You Begin
ControlNet Remote I/O
Configuring remote I/O using a ControlNet network requires the
following tasks to be performed:
1. Add the local and remote ControlNet module to an I/O
configuration.
In the standard school, note that the
ControlNet network was previously
scheduled. This lesson will provide an
opportunity to reschedule the network -a common and important action.
2. Add a remote 1756-I/O module to an I/O configuration.
3. Schedule the ControlNet network.
Here is a summary of when the data updates:
If data is multicast in the same
chassis
For this remote module
If data Is transferred across a ControlNet network
The RPI only determines when the owner controller receives the data
over the network.
Digital Input
RPI and COS values define when the
module multicasts data within its own
chassis.
Digital Output
N/A
An output receives data from the owner-controller only at the RPI rate.
Analog Input
The RPI and RTS rates define when the
module multicasts data within its own
chassis.
The RPI only determines when the owner- controller receives the data
over the network.
Analog Output
N/A
An output receives data from the owner-controller only at the RPI rate.
Rev. August 2012
" The timing may not coincide with the exact value of the RPI;
however, the owner-controller will receive data at least as often as
the RPI.
E 2012 Rockwell Automation, Inc. All rights reserved.
RC2sb56r
20--2
Communicating with a 1756-I/O Module Over a ControlNet Network
Heres How
To perform the following tasks:
Add a remote 1756-I/O module to an I/O configuration
Reschedule an existing ControlNet network
Activity: As your instructor demonstrates these procedures, follow
along in the associated job aid(s).
Demonstration Checklist
IMPORTANT: To meet IACET CEU
requirements and fully prepare
certificate students for the final exam,
you must demonstrate all lesson
objectives using the proper job aids.
Continue with the RSLogix 5000 project
you used for sharing data over a
ControlNet network.
Note that if you saved the demonstration
file from the Configuring Logix5000
Controllers to Share Data over a
ControlNet Network lesson, it is not
required to configure the remote I/O
module.
E 2012 Rockwell Automation, Inc. All rights reserved.
Pay attention to these critical aspects of the demonstration:
-
Location of the procedures in the job aid
Parent-child relationship with the ControlNet module and
the remote modules
Module configuration, including the multicasting rates
Resulting module tags
Rev. August 2012
RC2sb56r
20--3
Exercise: Communicating with a 1756-I/O Module Over a ControlNet Network
Exercise: Communicating with a
1756-I/O Module Over a ControlNet
Network
Exercise A
In this exercise, you will practice configuring a Logix5000 controller
to communicate with a 1756-remote I/O module and reschedule the
ControlNet network.
Context:
You have programmed a complete project. As a safety feature for
plant personnel, you want to program an output light to be on when
the production line is active. Because you have used your available
I/O points in the local chassis, you must add a remote chassis to
accommodate the additional I/O requirements. You are now ready to
configure the controller to communicate with the 1756-remote I/O
module.
The setup of the remote output is shown in the following graphic:
Production
Line Active
Production Line
Local
Chassis
Tip "
ControlNet Network
Remote
Chassis
In this exercise, you will share data with another workstation on a
ControlNet network. Your workstation will be the local chassis. The
other workstation will be the remote chassis.
When you see underlined text, refer to the related procedure or
information in your job aid.
Directions:
1. Download the Blank.acd file to the controller in slot 3.
2. Open the RC2_1756r_A1.acd file.
3. Add the local and remote ControlNet modules to the project I/O
configuration.
4. Add and configure the remote output module in slot 4. You will
be owning this module, which is located in the remote chassis.
Rev. August 2012
E 2012 Rockwell Automation, Inc. All rights reserved.
RC2e56r
20--4
Exercise: Communicating with a 1756-I/O Module Over a ControlNet Network
5. Add the local input module that is in slot 2 to your I/O
configuration. You will also be owning this module.
6. Make a new tag, DI12, an alias tag for bit 12 of the local digital
input card in slot 2.
7. Make a new tag, DO11, an an alias tag for bit 11 of the remote
digital output card in slot 4.
8. Enter the following ladder logic in your MainRoutine:
9. Download the project to the controller in slot 1 of the
local chassis.
Do not reschedule the ControlNet network until
the projects have been downloaded to both the
local and remote controllers.
10. When both lines are ready, reschedule the ControlNet network.
11. Test the project and verify that you have correctly configured the
remote I/O by performing the following actions:
A. Start the conveyor by energizing DI12.
B. Verify that the remote I/O light DO11 on the other
workstation is on.
C. Turn off DI12 and verify that the remote I/O light on the
other workstation is off.
D. When the project functions correctly, go offline.
How Did You Do?
E 2012 Rockwell Automation, Inc. All rights reserved.
Turn to the Answers section.
Rev. August 2012
RC2e56r
Exercise: Communicating with a 1756-I/O Module Over a ControlNet Network
Rev. August 2012
20--5
E 2012 Rockwell Automation, Inc. All rights reserved.
RC2e56r
20--6
Exercise: Communicating with a 1756-I/O Module Over a ControlNet Network
Answers
Exercise A
3. Your main configuration screen for the local ControlNet module
in slot 5 should look similar to the example (The ControlNet
node number will vary depending on your workstation setup.):
The remote ControlNet module is added to the I/O
Configuration by right-clicking the ControlNet network icon
displayed below the local ControlNet module:
E 2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
RC2e56r
Exercise: Communicating with a 1756-I/O Module Over a ControlNet Network
20--7
Your main configuration screen for the remote ControlNet
module in slot 5 should look similar to the example (The
ControlNet node address will vary depending on your
workstation setup.):
4. Add the remote output module by right-clicking the backplane
displayed beneath the remote ControlNet module:
Rev. August 2012
E 2012 Rockwell Automation, Inc. All rights reserved.
RC2e56r
20--8
Exercise: Communicating with a 1756-I/O Module Over a ControlNet Network
Your main configuration screen for the remote output module in
slot 4 should look similar to the example:
5. Your main configuration screen for the local input module in
slot 2 should look similar to the example:
(Continued)
Your completed I/O Configuration within the Controller
Organizer should look similar to the following:
E 2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
RC2e56r
Exercise: Communicating with a 1756-I/O Module Over a ControlNet Network
20--9
10. If you did not receive the appropriate system response after
rescheduling the ControlNet network, verify that you have
completed the following actions:
- Set the SMAX to be equal to the highest number node that
can use scheduled time on the network
- Set the UMAX to be equal to the highest number node that
can use unscheduled time on the network
- Reschedule the network if any changes were made after the
first rescheduling
Rev. August 2012
E 2012 Rockwell Automation, Inc. All rights reserved.
RC2e56r
20--10
Exercise: Communicating with a 1756-I/O Module Over a ControlNet Network
E 2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
RC2e56r
Appendix
I/O Wiring Diagrams For The
Assembly Application
Slot 0 - 1756-OB16D Digital Output Module
WORKSTATION
LABEL
DEVICE
RED
+DC- 0
+DC- 0
+DC- 0
+DC- 0
+DC- 0
+DC- 0
+DC- 0
OUT- 0
DO0
OUT- 1
DO1
OUT- 2
10
OUT- 3
DO3
STATION OUTPUT (PRESS)
12
OUT- 4
DO4
STATION OUTPUT (STAKE)
11
OUT- 5
DO5
STATION OUTPUT (WELD)
6
8
14
16
+DC- 1
30
GND- 1
GND- 1
Not Used
32
BLACK
GND- 0
+DC- 1
+DC- 1
+DC- 1
+DC- 1
+DC- 1
+DC- 1
CONVEYOR
DO2
18
20
22
24
26
28
34
36
BLACK
RED
APPLICATION
OUTPUT
- GREEN PILOT LIGHT
- AMBER PILOT LIGHT
- RED PILOT LIGHT
24VDC
Rev. August 2012
E 2012 Rockwell Automation, Inc. All rights reserved.
WDAa56r
A--2
I/O Wiring Diagrams For The Assembly Application
Slot 2 - 1756-IB16D Digital Input Module
WORKSTATION
DEVICE
BLACK
BLACK
GND- 0
GND- 1
GND- 1
GND- 1
10
12
11
IN- 4
IN- 5
14
13
IN- 6
GND- 1
GND- 2
GND- 2
GND- 2
GND- 2
GND- 3
GND- 3
GND- 3
16
15
18
17
20
19
22
21
IN- 7
IN- 8
IN- 9
IN- 10
24
23
26
25
28
27
30
29
GND- 3
GND- 3
NOT USED
32
31
34
33
IN- 11
IN- 12
IN- 13
IN- 14
IN- 15
NOT USED
36
35
NOT USED
DI0
DI1
DI2
DI3
DI4
DI5
DI6
DI7
DI8
DI9
DI10
DI11
DI12
APPLICATION
OUTPUT
+24VDC
START
PART SENSOR FAULT RESET
READ REMOTE TOTAL
STOP
PART SENSOR
DI13
DI14
DI15
BLACK
BLACK
IN- 0
IN- 1
IN- 2
IN- 3
GND- 0
GND- 0
GND- 0
LABEL
- NORMALLY OPEN PUSHBUTTON
- SELECTOR SWITCH
E 2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
WDAa56r
I/O Wiring Diagrams For The Assembly Application
A--3
Slot 4 - 1756-OB16D Digital Output Module
RED
+DC- 0
+DC- 0
+DC- 0
+DC- 0
+DC- 0
+DC- 0
+DC- 0
2
4
6
8
12
13
GND- 0
+DC- 1
+DC- 1
+DC- 1
+DC- 1
+DC- 1
+DC- 1
+DC- 1
16
15
18
17
GND- 1
GND- 1
NOT USED
32
BLACK
14
22
21
24
23
OUT- 11
19
G
A
R
G
A
R
DO6
DO7
DO8
DO9
DO10
DO11
PART SENSOR FAULT INDICATOR
STATION OUTPUT (REJECT)
STATION OUTPUT (PALLETIZE)
LINE ACTIVE
26
28
30
34
36
BLACK
RED
OUT- 6
OUT- 7
OUT- 8
OUT- 9
OUT- 10
20
APPLICATION
OUTPUT
WORKSTATION LABEL
DEVICE
10
- GREEN PILOT LIGHT
- AMBER PILOT LIGHT
- RED PILOT LIGHT
+24VDC
Rev. August 2012
E 2012 Rockwell Automation, Inc. All rights reserved.
WDAa56r
I/O Wiring Diagrams For The Assembly Application
A--4
Slot 7 - 1756-OF6VI Analog Output Module
WORKSTATION
DEVICE
AO1 (Channel 1)
AO0
Return
WORKSTATION
DEVICE
OUT- 1
OUT- 0
NOT USED
NOT USED
RTN- 1
RTN- 0
OUT- 3
OUT- 2
NOT USED
10
NOT USED
RTN- 3
12
11
RTN- 2
NOT USED
14
13
NOT USED
OUT- 5
16
15
OUT- 4
NOT USED
18
17
NOT USED
RTN- 5
20
19
RTN- 4
E 2012 Rockwell Automation, Inc. All rights reserved.
AO0 (Channel 0)
AO1
Return
Rev. August 2012
WDAa56r
I/O Wiring Diagrams For The Assembly Application
A--5
Slot 8 - 1756-IF6I Analog Input Module
+10VDC
+10VDC
WORKSTATION
DEVICE
AI1
(Channel 1)
AI1
Return
Rev. August 2012
WORKSTATION
DEVICE
IN- 1/V
IN- 0/V
IN- 1/I
IN- 0/I
RET- 1
RET- 0
IN- 3/V
IN- 2/V
IN- 3/I
10
IN- 2/I
RET- 3
12
11
RET- 2
NOT USED
14
13
NOT USED
IN- 5/V
16
15
IN- 4/V
IN- 5/I
18
17
IN- 4/I
RET- 5
20
19
RET- 4
AI0
(Channel 0)
AI0
Return
E 2012 Rockwell Automation, Inc. All rights reserved.
WDAa56r
A--6
I/O Wiring Diagrams For The Assembly Application
E 2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
WDAa56r
Rev. August 2012
DI6
DI5
DI11
DO11
DI15
DI10
DO8
DI14
DO5
DI13
DI12
DO10
DI7
DI3
DO9
DI9
DO4
DO6
DO3
DO7
DI2
DI1
Outputs (6- 11 in Slot 4)
DI8
DO2
DI4
DO1
DI0
DO0
Outputs (0- 5 in Slot 0)
Inputs Run Left to Right (All Wired to Slot 2)
Ch01 Analog
Meter Output
Ch00 Analog
Meter Output
Ch01 Analog
Meter Input
Ch00 Analog
Meter Input
Appendix
ControlLogix Workstation I/O
Device Assignments
The following standard ControlLogix workstation inputs and outputs
are used in this course (Local I/O tags are listed on the next page):
E 2012 Rockwell Automation, Inc. All rights reserved.
WI3a56r
B--2
ControlLogix Workstation I/O Device Assignments
Local I/O Tags
The devices used in the workstation have the following I/O base
tags:
Module
Digital Input
wired to Slot 2
Digital Output
wired to Slot 0
Digital Output
wired to Slot 4
E 2012 Rockwell Automation, Inc. All rights reserved.
Workstation Device
DI0
DI1
DI2
DI3
DI4
DI5
DI6
DI7
DI8
DI9
DI10
DI11
DI12
DI13
DI14
DI15
D00
D01
D02
D03
D04
D05
D06
D07
D08
D09
D010
D011
I/O Base Tag
Local:2:I.Data.0
Local:2:I.Data.1
Local:2:I.Data.2
Local:2:I.Data.3
Local:2:I.Data.4
Local:2:I.Data.5
Local:2:I.Data.6
Local:2:I.Data.7
Local:2:I.Data.8
Local:2:I.Data.9
Local:2:I.Data.10
Local:2:I.Data.11
Local:2:I.Data.12
Local:2:I.Data.13
Local:2:I.Data.14
Local:2:I.Data.15
Local:0.O.Data.0
Local:0.O.Data.1
Local:0.O.Data.2
Local:0.O.Data.3
Local:0.O.Data.4
Local:0.O.Data.5
Local:4:O.Data.6
Local:4:O.Data.7
Local:4:O.Data.8
Local:4:O.Data.9
Local:4:O.Data.10
Local:4:O.Data.11
Rev. August 2012
WI3a56r
Appendix
Node Assignments
If you are in an environment with multiple workstations on a
ControlNet or EtherNet/IP network, ask your network specialist to
supply the following information:
EtherNet or EtherNet/IP
Network
Workstation
Number
1756-ENBT IP Address
ControlNet Network
1756-CNB
or
1756- CN2
Node
Address*
1784- PCICS
Card Node
Address
1784- PCC
Card Node
Address
1784-KTCX15 Interface
Card
10
Rev. August 2012
E 2012 Rockwell Automation, Inc. All rights reserved.
NO3a56r
C--2
Node Assignments
E 2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
NO3a56r
The following are trademarks of Rockwell Automation, Inc.:
1336 FORCE
1336 PLUS
ControlBus
Data Highway Plus
DriveTools
Flex
Logix5000
PanelBuilder
PLC-5
PowerFlex
RSLinx
RSView
SCANPort
SoftLogix
1336 IMPACT
CompactLogix
ControlLogix
DH+
FactoryTalk
FlexLogix
Logix5550
PanelView
PHOTOSWITCH
RediSTATION
RSLogix
RSNetWorx
SLC
Ultra
EtherNet/IP and ControlNet are trademarks of ControlNet International Ltd.
DeviceNet is a trademark of the Open DeviceNet Vendor Association, Inc. (ODVA).
The following are registered trademarks of Microsoft Corporation:
MS-DOS
Windows
PowerPoint
Windows NT
IBM is a registered trademark of International Business Machines Corporation.
Pentium is a registered trademark of Intel Corporation.
All other trademarks are the property of their respective holders and are hereby acknowledged.
Catalog Number ABT-CCP143-TSM -- August 2012
Supersedes Catalog Number ABT-CCP143-TSM - June 2012
E 2012 Rockwell Automation, Inc. All rights reserved. Printed in USA