You are on page 1of 376

Student Manual

RSLogix

5000
Level 3: Project
Development
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: ratps@ra.rockwell.com
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
Introduction
Course Overview I . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Course Purpose I . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Who Should Attend I . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Prerequisites II . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Agenda II . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Meeting Course Objectives III . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Student Materials IV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Hands-On Exercises IV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Certificate Candidates IV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Configuration and Programming Examples V . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ControlLogix/RSLogix 5000 Curriculum Map V . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Lessons
Updating Logix5000 Firmware 1- 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
What You Will Learn 1--1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
When You Will Do This 1--1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Before You Begin 1--1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Review 1--1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Updating Module Firmware 1--1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Heres How 1--3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Demonstration Checklist 1--3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise: Updating Logix5000 Firmware 1- 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise A 1--5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
How Did You Do? 1--6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Answers 1--8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise A 1--8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Creating and Organizing a New RSLogix 5000 Project 2- 1 . . . . . . . . . . . . . . . . . . . . . . .
What You Will Learn 2--1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
When You Will Do This 2--1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Before You Begin 2--1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Key Terms 2--1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Project Organization 2--1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Default Project Structure 2--2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Creating a New Task 2--2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Continuous Task 2--3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Watchdog Timers 2--3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Table of Contents
Table of Contents ii
Inhibited Task 2--4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Creating a Program 2--4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Adjusting a Program Schedule 2--5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Actual Program Scan Time 2--5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Creating a Routine 2--6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Program Control Instructions 2--8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
System Overhead Timeslice 2--8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Asynchronous Updates 2--9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Project Organization Best Practices 2--10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Example: Project Organization 2--11 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Verifying Tasks, Programs, and Routines 2--11 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Heres How 2--12 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Example 2--12 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Heres How 2--13 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Demonstration Checklist 2--13 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise: Creating and Organizing a New RSLogix 5000 Project 2- 15 . . . . . . . . . . . . . . .
Exercise A 2--15 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
How Did You Do? 2--17 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Answers 2--18 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise A 2--18 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Creating a Periodic Task in an RSLogix 5000 Project 3- 1 . . . . . . . . . . . . . . . . . . . . . . . .
What You Will Learn 3--1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
When You Will Do This 3--1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Before You Begin 3--1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Task Type Review 3--1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Periodic Task 3--2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Example: Periodic Task Use 3--2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Example: Project Organization 3--3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Periodic Task Properties 3--4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Period 3--4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Priority 3--5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Scan Time Values 3--6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Periodic Task Execution 3--6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Example: Periodic Task 3--6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Example: Periodic Task and Continuous Task 3--7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Example: Multiple Tasks 3--7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Example: Equal Priorities (Timeslicing) 3--7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Heres How 3--8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Example 3--8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Heres How 3--9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Demonstration Checklist 3--9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Table of Contents iii
Exercise: Creating a Periodic Task in an RSLogix 5000 Project 3- 11 . . . . . . . . . . . . . . . .
Exercise A 3--11 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
How Did You Do? 3--12 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Answers 3--14 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise A 3--14 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Organizing Data in an RSLogix 5000 Project 4- 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
What You Will Learn 4--1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
When You Will Do This 4--1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Before You Begin 4--1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Controller Memory 4--1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Data Types 4--2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Memory Allocation 4--3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Tag Scope 4--4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Creating a Tag 4--4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Tag Name 4--5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Data Type 4--5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Style 4--5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Defining an Alias Tag 4--6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Produced and Consumed Tags 4--6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Creating an Array of Tags 4--7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Example: Array 4--7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Array Storage 4--8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Example: Three Dimensional Array 4--8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Array Addressing 4--9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Numeric Element Addressing 4--9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Example: Numeric Element Addressing 4--9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Example: Numeric Element Addressing for Multiple Dimensions 4--9 . . . . . . . . . . . . . . . . . . . . . . .
Variable Element Addressing 4--10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Example: Variable Element Addressing 4--10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Numeric Bit Addressing 4--10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Example: Numeric Bit Addressing 4--10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Variable Bit Addressing 4--11 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Example: Variable Bit Addressing 4--11 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Array Addressing Summary 4--11 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Verifying Tags 4--11 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Monitoring and Editing Data 4--11 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Monitor Tags Tab 4--12 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Tags and Members 4--12 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Display Style 4--12 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Example: 4--12 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Monitoring and Editing Tag Values through a Routine 4--13 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Example: Ladder Logic Routine 4--13 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Example: Function Block Diagram Routine 4--14 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Monitoring and Editing Tag Values in the Watch Tab 4--15 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Table of Contents iv
Quick Watch Tag Monitor 4--15 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Persistent Quick Watch 4--16 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Heres How 4--17 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Demonstration Checklist 4--17 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Monitor Data in RSLinx Classic Professional Software 4--17 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Your Turn 4--17 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Data Access Control 4--18 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Data Access Control Benefits 4--18 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Your Turn 4--18 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise: Organizing Data in an RSLogix 5000 Project 4- 19 . . . . . . . . . . . . . . . . . . . . . .
Exercise A 4--19 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
How Did You Do? 4--21 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise B 4--21 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
How Did You Do? 4--21 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Answers 4--22 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise A 4--22 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise B 4--25 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Creating a User-Defined Data Type in an RSLogix 5000 Project 5- 1 . . . . . . . . . . . . . . . .
What You Will Learn 5--1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
When You Will Do This 5--1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Before You Begin 5--1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Creating a User-Defined Data Type 5--1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Example: User-Defined Data Type 5--2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Example: Arrays and User-Defined Data Types 5--3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
User-Defined Data Type Parameters 5--3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
User-Defined Data Type Addressing 5--3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Examples: User-Defined Data Type Addressing 5--3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exporting and Importing User-Defined Data Types 5--4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Heres How 5--5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Demonstration Checklist 5--5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise: Creating a User-Defined Data Type in an RSLogix 5000 Project 5- 7 . . . . . . . .
Exercise A 5--7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
How Did You Do? 5--9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Answers 5--10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise A 5--10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Entering, Editing, and Verifying Ladder Logic in an RSLogix 5000 Project 6- 1 . . . . . . . .
What You Will Learn 6--1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
When You Will Do This 6--1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Before You Begin 6--1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ASCII Mnemonic Editing 6--2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Table of Contents v
Configuring Ladder Logic Quick Keys 6--2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Copying and Reusing Ladder Logic Components 6--2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Example: Copied Ladder Logic 6--3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Other Short-Cuts 6--4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Verifying a Project or a Project Component Online 6--4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Online Safety Warning 6--4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Performing Online Ladder Logic Edits 6--5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Finalize Edits Option 6--6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Edit Zone Markers 6--7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Online Editing in a Multiple-User Environment 6--8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Heres How 6--9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Demonstration Checklist 6--9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise: Entering, Editing, and Verifying Ladder Logic in an RSLogix 5000 Project 6- 11
Exercise A 6--11 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
How Did You Do? 6--13 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Answers 6--14 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise A 6--14 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Communicating with a Local 1756-I/O Module 7- 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
What You Will Learn 7--1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
When You Will Do This 7--1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Before You Begin 7--1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Electronic Keying 7--1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Keying Attributes 7--2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Example: Exact Match Keying Prevents Communication 7--2 . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Example: Compatible Keying Prevents Communication 7--3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Example: Compatible Keying Allows Communication 7--3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Disabled Keying 7--4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Asynchronous I/O Update Review 7--4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Digital Module Multicasting Rates 7--4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
RPI (Requested Packet Interval) 7--4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
COS (Change of State) 7--5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Example: RPI and COS 7--5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Analog Module Multicasting Rates 7--5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
RTS (Real Time Sampling Rate) 7--6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Output States 7--6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Diagnostics 7--7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Diagnostic Latching 7--8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Heres How 7--9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Heres How 7--10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise: Communicating with a Local 1756-I/O Module 7- 11 . . . . . . . . . . . . . . . . . . . . .
Exercise A 7--11 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
How Did You Do? 7--13 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Table of Contents vi
Answers 7--14 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise A 7--14 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Configuring a Logix5000 Controller to Produce and Consume Data 8- 1 . . . . . . . . . . . . .
What You Will Learn 8--1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
When You Will Do This 8--1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Before You Begin 8--1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Scheduled Data 8--1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Produced and Consumed Tags 8--2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Produced and Consumed Tag Requirements 8--2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Configuring a Produced Tag 8--3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Adding a Controller to an I/O Configuration 8--4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Configuring a Consumed Tag 8--4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Tag Names 8--6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Produced and Consumed Arrays 8--7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Produced Tag Optimization 8--7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Produce/Consume Tag RPI Limits Check 8--8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Heres How 8--10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Demonstration Checklist 8--10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise: Configuring a Logix5000 Controller to Produce and Consume Data 8- 11 . . . . .
Exercise A 8--11 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
How Did You Do? 8--13 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise B 8--13 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
How Did You Do? 8--14 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Answers 8--16 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise A 8--16 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise B 8--18 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Configuring Logix5000 Controllers to Share Data over an EtherNet/IP Network 9- 1 . . . .
What You Will Learn 9--1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
When You Will Do This 9--1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Before You Begin 9--1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
EtherNet/IP Network Overview 9--1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Overview of IP Addresses 9--2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Private IP Addresses 9--3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Subnets and Subnet Masks 9--3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
How a Subnet Mask Operates 9--4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Example 9--4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Gateways 9--5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Configuration Overview and Software Interfaces 9--6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Adding an EtherNet/IP Module and Controller to an I/O Configuration 9--6 . . . . . . . . . . . . . . . . . . .
Produced and Consumed Tags 9--6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Heres How 9--7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Demonstration Checklist 9--7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Table of Contents vii
Exercise: Configuring Logix5000 Controllers to Share Data over an EtherNet/IP
Network 9- 9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise A 9--9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
How Did You Do? 9--11 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Answers 9--12 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise A 9--12 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Communicating with a 1756-I/O Module over an EtherNet/IP Network 10- 1 . . . . . . . . . . .
What You Will Learn 10--1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
When You Will Do This 10--1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Before You Begin 10--1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Effect of RPI on EtherNet/IP Communication 10--1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Example: Effect of RPI on EtherNet/IP Communication 10--1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Communications Formats 10--2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Heres How 10--2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Example: No Rack Connection 10--2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Example: Rack--optimized Connection 10--3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Heres How 10--4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise: Communicating with a 1756-I/O Module over an EtherNet/IP Network 10- 5 . . . .
Exercise A 10--5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
How Did You Do? 10--6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Answers 10--8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise A 10--8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Creating an Event Task in an RSLogix 5000 Project 11- 1 . . . . . . . . . . . . . . . . . . . . . . . . .
What You Will Learn 11--1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
When You Will Do This 11--1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Before You Begin 11--1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Task Type Review 11--1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Event Task 11--2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Benefits 11--2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Event Task Use 11--2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Example: Project Organization 11--3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Event Task Properties 11--3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Trigger 11--4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Consumed Tag 11--4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Module Input Data State Change 11--5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1756 Local and Remote Options 11--5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Quick-Response Events 11--5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Short-Duration Input Events 11--6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Synchronized-Execution Event 11--6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Single Bit Triggers 11--6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Module Input Data State Change -- Design Considerations 11--7 . . . . . . . . . . . . . . . . . . . . . . . . . . .
Automatic Output Processing 11--7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Table of Contents viii
Priority 11--8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Scan Time Values 11--9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Event Task Timeout 11--9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Event Instructions 11--9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
IOT Instruction 11--10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
UID/UIE Instructions 11--10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
CPS Instruction 11--11 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Heres How 11--12 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Demonstration Checklist 11--12 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise: Creating an Event Task in an RSLogix 5000 Project 11- 13 . . . . . . . . . . . . . . . . .
Exercise A 11--13 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
How Did You Do? 11--13 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise B 11--14 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
How Did You Do? 11--16 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise C 11--16 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
How Did You Do? 11--18 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Answers 11--20 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise A 11--20 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise B 11--21 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise C 11--23 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Retrieving and Setting Logix5000 Controller Status Values with GSV/SSV
Instructions 12- 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
What You Will Learn 12--1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
When You Will Do This 12--1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Before You Begin 12--1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Monitoring Controller System Data 12--1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
GSV/SSV Parameters 12--2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Class 12--2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Instance 12--2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Attribute 12--2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Source or Destination 12--3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Example: GSV Instruction 12--4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Example: SSV Instruction 12--5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Status Flags 12--5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Controller Status Flags 12--6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Arithmetic Status Flags 12--6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Fault Types 12--6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Non-Recoverable Major Fault 12--7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Recoverable Major Fault 12--7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Recoverable Major Fault Processing: Level 1 12--8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Fault Routine 12--8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Controller Fault Handler 12--8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Recoverable Major Fault Processing: Level 2 12--9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Table of Contents ix
Multiple Recoverable Major Faults 12--10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Common Major Faults 12--10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Minor Fault 12--10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Heres How 12--12 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Demonstration Checklist 12--12 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise: Retrieving and Setting Logix5000 Controller Status Values with GSV/SSV
Instructions 12- 13 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise A 12--13 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
How Did You Do? 12--14 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise B 12--14 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
How Did You Do? 12--15 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise C 12--15 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
How Did You Do? 12--17 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Answers 12--18 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise A 12--18 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise B 12--19 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise C 12--22 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Programming a BTD Instruction in an RSLogix 5000 Project 13- 1 . . . . . . . . . . . . . . . . . .
What You Will Learn 13--1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
When You Will Do This 13--1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Before You Begin 13--1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Heres How 13--3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Example 13--3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
BTD Instruction 13--3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Demonstration Checklist 13--4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Your Turn 13--4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise: Programming a BTD Instruction in an RSLogix 5000 Project 13- 5 . . . . . . . . . .
Exercise A 13--5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Status Attribute for the Controller 13--5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
How Did You Do? 13--6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Answers 13--8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise A 13--8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Configuring a Logix5000 Message 14- 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
What You Will Learn 14--1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
When You Will Do This 14--1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Before You Begin 14--1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Unscheduled Data 14--1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Messages to Logix5000 Controllers 14--1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Messages to Other Controllers 14--2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Configuring a Message 14--2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Table of Contents x
Read, Write, and Block Transfer Parameters 14--3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Creating and Entering a Numeric Communications Path 14--4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
CIP Generic Message Parameters 14--4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Message Execution 14--5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Heres How 14--6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Demonstration Checklist 14--6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise: Configuring a Logix5000 Message 14- 7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise A 14--7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
How Did You Do? 14--9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise B 14--9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
How Did You Do? 14--11 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Answers 14--12 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise A 14--12 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise B 14--14 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Developing an Add-On Instruction in Ladder Diagram 15- 1 . . . . . . . . . . . . . . . . . . . . . . .
What You Will Learn 15--1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
When You Will Do This 15--1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Before You Begin 15--1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Add-On Instructions 15--1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Example of an Add-On Instruction 15--2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
An Add-On Instruction Uses a Definition 15--3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Key Parts of the Definition of an Add-On Instruction 15--4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Parameters 15--5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Local Tags 15--5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Routine Type Control Editable in AOI Definition 15--6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Changes to the Definition 15--7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Add-On Instruction Design Considerations 15--8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Heres How 15--9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Example 15--9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Planning the Parameters of an Add-On Instruction 15--9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Your Turn 15--9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Before You Begin 15--10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Language for the Logic Routine of the Instruction 15--10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Organization of the Logic Routine 15--10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Optional Scan Mode Routines 15--11 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Heres How 15--12 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Example 15--12 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Deciding If You Need an EnableInFalse Routine 15--12 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Your Turn 15--12 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Before You Begin 15--13 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Accessing Parameters via Logic 15--13 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Editing an Add-On Instruction 15--14 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exporting and Importing an Add-On Instruction 15--14 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Table of Contents xi
Online Safety Warning 15--15 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Referenced Add--On Instructions and User-Defined Data Types 15--16 . . . . . . . . . . . . . . . . . . . . . . .
Example: When Not To Include Referenced Add-On Instructions and User-Defined Data Types 15--16
Heres How 15--16 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Example 15--17 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Creating an Add-On Instruction 15--17 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Enter the General Properties 15--17 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Enter the Definition Logic 15--18 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Create the Parameters and Local Tags 15--18 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Example 15--19 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Looking for Previously Developed Add-On Instructions 15--19 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Search the Sample Code Library (samplecode.rockwellautomation.com) 15--19 . . . . . . . . . . . . . . . . .
Example of Search Result 15--19 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Heres How 15--20 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Example 15--20 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Using the Detect_Jam Instruction 15--20 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Heres How 15--20 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise: Developing an Add-On Instruction in Ladder Diagram 15- 21 . . . . . . . . . . . . . . .
Exercise A 15--21 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
How Did You Do? 15--22 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise B 15--23 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
How Did You Do? 15--23 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise C 15--24 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
How Did You Do? 15--27 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise D 15--27 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
How Did You Do? 15--28 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Answers 15--30 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise A 15--30 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise B 15--31 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise B 15--31 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise C 15--31 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise C 15--31 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise D 15--33 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Managing RSLogix 5000 Project Files 16- 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
What You Will Learn 16--1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
When You Will Do This 16--1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Before You Begin 16--1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
File Storage 16--1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exporting a .acd Project File 16--2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Importing a .l5k Text File 16--3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Importing a .l5x XML File 16--4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Multiple Backup Files 16--5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Compare Tool 16--5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Table of Contents xii
Heres How 16--6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Demonstration Checklist 16--6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise: Managing RSLogix 5000 Project Files 16- 7 . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise A 16--7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
How Did You Do? 16--9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Answers 16--10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise A 16--10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Allocating Connections in a Logix5000 System 17- 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . .
What You Will Learn 17--1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
When You Will Do This 17--1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Before You Begin 17--1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Connections 17--1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Connection Limits 17--1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Conserving Connections by Grouping Produced Data 17--2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Example: Connection Requirements for Tags vs. an Array 17--2 . . . . . . . . . . . . . . . . . . . . . . . . . . .
Message Connections 17--3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Heres How 17--3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Heres How 17--4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise: Allocating Connections in a Logix5000 System 17- 5 . . . . . . . . . . . . . . . . . . . .
Exercise A 17--5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
How Did You Do? 17--5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Answers 17--6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise A 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 18--3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
How Did You Do? 18--8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Answers 18--10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise A 18--10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Optional Lessons
Configuring Logix5000 Controllers to Share Data over a ControlNet Network 19- 1 . . . . .
What You Will Learn 19--1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
When You Will Do This 19--1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Before You Begin 19--1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Key Terms 19--1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ControlNet Nodes 19--1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Table of Contents xiii
Cable System 19--3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Network Services 19--4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Scheduled Service 19--4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Unscheduled Service 19--4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Information Exchange on the ControlNet Network 19--5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Network Parameters 19--5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
NUT (Network Update Time) 19--5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Example: NUT 19--6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SMAX (Scheduled Maximum Node) 19--6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Example: SMAX 19--7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
UMAX (Unscheduled Maximum Node) 19--7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Example: UMAX 19--8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Media Redundancy 19--8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Update Intervals 19--9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
RPI (Requested Packet Interval) 19--9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
API (Actual Packet Interval) 19--9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Example: RPI and API 19--10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Configuration Overview and Software Interfaces 19--10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Adding a ControlNet Module and Controller to an I/O Configuration 19--11 . . . . . . . . . . . . . . . . . . . .
Produced and Consumed Tags 19--11 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Scheduling a New ControlNet Network 19--11 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Heres How 19--14 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Demonstration Checklist 19--14 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise: Configuring Logix5000 Controllers to Share Data over a ControlNet
Network 19- 15 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise A 19--15 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
19--15 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
How Did You Do? 19--17 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Answers 19--18 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise A 19--18 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Communicating with a 1756-I/O Module Over a ControlNet Network 20- 1 . . . . . . . . . . . .
What You Will Learn 20--1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
When You Will Do This 20--1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Before You Begin 20--1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ControlNet Remote I/O 20--1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Heres How 20--2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Demonstration Checklist 20--2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise: Communicating with a 1756-I/O Module Over a ControlNet Network 20- 3 . . . . .
Exercise A 20--3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
How Did You Do? 20--4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Answers 20--6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercise A 20--6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Table of Contents xiv
Appendices
I/O Wiring Diagrams For The Assembly Application A- 1 . . . . . . . . . . . . . . . . . . . . . . . . .
Slot 0 -- 1756-OB16D Digital Output Module A--1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Slot 2 -- 1756-IB16D Digital Input Module A--2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Slot 4 -- 1756-OB16D Digital Output Module A--3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
A--3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Slot 7 -- 1756-OF6VI Analog Output Module A--4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Slot 8 -- 1756-IF6I Analog Input Module A--5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ControlLogix Workstation I/O Device Assignments B- 1 . . . . . . . . . . . . . . . . . . . . . . . . .
Local I/O Tags B--2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Node Assignments C- 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
I Course Overview
Course Overview
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.
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 Purpose
Who Should Attend
II Course Overview
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?
This course consists of the following lessons:
Day 1
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
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)
Prerequisites
Agenda
15 minutes
20 minutes (40 minutes with optional
exercise)
90 minutes
60 minutes
160 minutes
30 minutes
60 minutes
185 minutes
90 minutes
90 minutes
III Course Overview
Day 3
Communicating with a 1756-I/O Module over an EtherNet/IP
Network
Creating an Event Task in an RSLogix 5000 Project
Retrieving and Setting Logix5000 Controller Status Values with
GSV/SSV Instructions
Programming a BTD Instruction
Configuring a Logix5000 Message
Day 4
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
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.
45 minutes
120 minutes
90 minutes
60 minutes
105 minutes
90 minutes
40 minutes
60 minutes
225 minutes
120 minutes
65 minutes
Meeting Course Objectives
IV Course Overview
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.
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.
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
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.
Student Materials
Hands-On Exercises
Certificate Candidates
"
Tip
V Course Overview
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.
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.
Configuration and
Programming Examples
ControlLogix/RSLogix
5000 Curriculum Map
VI Course Overview
Lesson 1
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
FW3sb56r
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
Review
Activity: Your instructor will briefly review uploading,
downloading, and going online to a controller.
Updating Module Firmware
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:
Method How Used Devices Supported Communication Supported
ControlFLASH Utility
Standalone tool (can be
launched manually or through
RSLogix 5000 software).
Controllers, communication
modules, I/O modules,
SERCOS drives, and other
devices.
Valid CIP path to device being
updated (includes serial,
DeviceNet, ControlNet,
EtherNet/IP). AutoFlash Function
Integrated with RSLogix 5000
software. It automatically
checks firmware during project
download.
(Continued)
Note that this lesson briefly reviews
prerequisite concepts before presenting
the firmware piece. Tailor this lesson as
needed.
What You Will Learn
Before You Begin
The PowerPoint presentation
contains hidden slides that can
be used to conduct the review.
Topics include keyswitch positions;
uploading, downloading, and going
online; and interpreting a
communications path.
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.
1--2 Updating Logix5000 Firmware
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
FW3sb56r
Method How Used Devices Supported Communication Supported
Firmware Supervisor
Integrated on the controller
CompactFlash card and runs
without user intervention.
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.
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.
1--3 Updating Logix5000 Firmware
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
FW3sb56r
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).
- 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?
Pay attention to these critical aspects of the demonstration:
"
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.
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.
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.
Demonstration Checklist
1--4 Updating Logix5000 Firmware
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
FW3sb56r
1--5 Exercise: Updating Logix5000 Firmware
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
FW3e56r
Exercise: Updating Logix5000
Firmware
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.
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?
Exercise A
"
Tip
1--6 Exercise: Updating Logix5000 Firmware
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
FW3e56r
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?
Turn to the Answers section. How Did You Do?
1--7 Exercise: Updating Logix5000 Firmware
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
FW3e56r
1--8 Exercise: Updating Logix5000 Firmware
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
FW3e56r
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.
Answers
Lesson 2
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
TS2sb56r
Creating and Organizing a New
RSLogix 5000 Project
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
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
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.
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.
2--2 Creating and Organizing a New RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
TS2sb56r
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:
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:
Task Type Usage Icon
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.
Clarify that tasks and programs are
organizing elements (like folders in
Windows Explorer). Routines contain the
actual ladder logic.
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
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.
2--3 Creating and Organizing a New RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
TS2sb56r
Reference: Logix5000 Controllers Design Considerations,
1756--RM094
1. Find the Logix5000 Controller Comparison tables at the front of
the manual.
2. Compare the number of tasks you can have in various controllers.
Continuous Task
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
Operates in a self-triggered mode (automatically restarts after
each completion)
Can be interrupted by a periodic or event task
By default, has the lowest priority (one lower than the lowest
periodic or event task)
Only ONE task can be continuous
Watchdog Timers
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.
?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
continuous tasks and 4 periodic, how
many event tasks could it have?
Answer: 4 (4+4 = 8)
Compare this to the program files in an
RSLogix 5 or 500 project.
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).
If students are familiar with Basic
programming, compare this to
programming a Goto 10 statement in the
last line.
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.
2--4 Creating and Organizing a New RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
TS2sb56r
Inhibited Task
The following icon in the Controller Organizer indicates that the task
has been prevented from executing by a user option or instruction:
Inhibited Task
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:
Create New Program
Optional Toolbar
To inhibit a task:
1. Inhibit all tasks except one.
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.
"
Tip
State that tasks can also be inhibited or
uninhibited using SSV instructions.
Mention that for information on
equipment phases, attend the
PhaseManager course.
2--5 Creating and Organizing a New RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
TS2sb56r
Adjusting a Program Schedule
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.
Maintenance or field service technicians may create
troubleshooting programs that are left unscheduled until needed
to test a project.
The following example shows a program schedule:
Unscheduled
Programs
Program
Schedule
Adjust Order
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.
These values are for display only.
Values can also be monitored using specific instructions in code.
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.
Note that these methods will be
demonstrated in the Heres How section.
Add that unscheduled programs do not
use any scan time.
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
2--6 Creating and Organizing a New RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
TS2sb56r
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
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
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
Note that ladder logic is the most
common language used.
"
Tip
2--7 Creating and Organizing a New RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
TS2sb56r
The main routine is always listed first, followed by a fault routine (if
any), and then all subroutines in alphabetical order:
Ladder Logic Routine
Structured Text Routine
Sequential Function
Chart Routine
Function Block
Diagram Routine
Main Routine
Fault Routine
Subroutines
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
The Create New Routine button is shown in the following graphic:
Create New Routine
Optional Toolbar
Stress that routines are not listed in the
order of execution. JSR instructions
determine the order of the subroutine
execution.
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.
In the graphic point out the 1 on the
main routine.
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.
2--8 Creating and Organizing a New RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
TS2sb56r
Program Control Instructions
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
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:
Time for Periodic or Event Tasks
Time for the Continuous Task
System Overhead
Timeslice Percentage
Controller Execution Time
%
Note that if there are no input
parameters, control passes from the
JSR instruction to the first rung of the
subroutine.
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.
2--9 Creating and Organizing a New RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
TS2sb56r
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.
3. Values are sent to the output modules at the RPI rate and at the
end of each task.
The automatic output processing that occurs at the end of a task can
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:
Rung
100
Rung
250
Rung
400
Tag is set or cleared in controller
Physical Device Data is
received by the input card
Optional
RPI Rate
RPI Rate
COS
Single Scan
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. As higher numbered rungs are
scanned, the inputs may change and
therefore, the outputs may change
as reflected in the tag
database image.
3. The RPI is the rate at which the user
configures the output modules to
update.
"
Tip
2--10 Creating and Organizing a New RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
TS2sb56r
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.
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
Separate the logic at this level
Task Program Routine
A. A conveyor line uses a series of diverters to sort packages. Each diverter uses
identical logic.
B. You only need to update your analog devices every 250 ms, but you must update
your discrete devices every 20 ms.
C. The logic for a conveyor performs these functions: initialize, run, return status
information, handle faults.
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.
E. A mixing tank uses a combination of 2--state devices to mix juice:
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.
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.
S 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.
S 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.
Have each student do this on
their own. Then go over the
answers as a group.
Program
Task
Routine
Task
Routine
2--11 Creating and Organizing a New RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
TS2sb56r
Example: Project Organization
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
Program
Main Routine
Subroutines
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:
S Controller Organizer
S Errors
S Search results
S Watch
S Start page
Verifying Tasks, Programs, and Routines
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:
Verify Open Routine
Verify
Controller
Standard Toolbar
Note that the organization of this project
is not very different from a typical PLC-5
project.
Mention that the verification process is
similar to the RSLogix 5 and 500
process with the addition of tag
verification.
2--12 Creating and Organizing a New RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
TS2sb56r
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
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.
Access the files through the Help menus Learning Center How Do
I section:
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 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.
"
Tip
Example
2--13 Creating and Organizing a New RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
TS2sb56r
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.
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).
- Location of the procedures in the job aid
- Revision must match the major firmware revision of the
controller
- Initial name of the project file
- What happens if you change the name of the controller
or the name of the project file
- Which name shows up in RSWho
- 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
Pay attention to these critical aspects of the demonstration:
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 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:
S The MainTask, MainProgram, and
MainRoutine
S The Main Routine Assignment
drop-down list
S The max scan time
S The System Overhead Timeslice
option
" The copying and reusing programs
and routines procedure is part of the
Copying and Reusing Project
Components procedure in the
Procedures Guide.
Demonstration Checklist
2--14 Creating and Organizing a New RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
TS2sb56r
2--15 Exercise: Creating and Organizing a New RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
TS2e56r
Exercise: Creating and Organizing
a New RSLogix 5000 Project
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.
Exercise A
2--16 Exercise: Creating and Organizing a New RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
TS2e56r
5. Create the following programs and routines:
Task Programs Routines Purpose
Paint
(This task
automatically
restarts when it
is done.)
The watchdog
timer value must
be 600 ms.
Paint_line_1
(Rename the
MainProgram)
MainRoutine
Ladder that enables the
subroutine
Paint_Control
Ladder that controls the
paint gun
Paint_line_2
MainRoutine
Ladder that enables the
subroutine
Paint_Control
Ladder that controls the
paint gun
Paint_line_3
MainRoutine
Ladder that enables the
subroutine
Paint_Control
Ladder that controls the
paint gun
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).
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.
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.
"
Tip
"
Tip
2--17 Exercise: Creating and Organizing a New RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
TS2e56r
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?
Turn to the Answers section. How Did You Do?
2--18 Exercise: Creating and Organizing a New RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
TS2e56r
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:
Assigned as
Paint_line_3
Main Routine
Assigned as
Paint_line_1
Main Routine
Assigned as
Paint_line_2
Main Routine
Watchdog Timer
Set to 600 ms
Assigned as
Paint_line_4
Main Routine
Answers
2--19 Exercise: Creating and Organizing a New RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
TS2e56r
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
2--20 Exercise: Creating and Organizing a New RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
TS2e56r
Lesson 3
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
PERsb56r
Creating a Periodic Task in an
RSLogix 5000 Project
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.
Task Type Review
A task triggers the execution of its scheduled programs. The
following table outlines the type of tasks that are available:
Task Type Usage Icon
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.
What You Will Learn
Before You Begin
If students are familiar with PLC-5 or
SLC 500 controllers, relate the periodic
task to an STI (Selectable Timed
Interrupt).
3--2 Creating a Periodic Task in an RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
PERsb56r
Periodic Task
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
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
3--3 Creating a Periodic Task in an RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
PERsb56r
Example: Project Organization
In this example, the motion application includes two periodic
tasks to ensure execution at specific time intervals:
Periodic Task
(with Times
in Names)
Note that this project takes advantage of
some of the Logix5000 organizational
elements.
3--4 Creating a Periodic Task in an RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
PERsb56r
Periodic Task Properties
The user--defined properties for each periodic task determine when
the task is executed:
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.
In the graphic, point out that the period
is when the task starts and not how
long it takes.
3--5 Creating a Periodic Task in an RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
PERsb56r
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.
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)
Task priorities are relative:
-- If there are only three tasks, priorities of 6, 7, and 8 will
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
Lowest Priority
Motion Task
Trend
Event or Periodic Task - Priority 1 . . .
Event or Periodic Task - Priority 5 . . .
Event or Periodic Task - Priority 10 . . .
Event or Periodic Task - Priority 15 . . .
Continuous Task
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.
Clarify that this means the continuous
task automatically has the lowest priority.
A user cannot configure the priority for a
continuous task.
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.
3--6 Creating a Periodic Task in an RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
PERsb56r
Scan Time Values
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 following example, the periodic task is triggered every
20 ms:
0 ms 20 ms 40 ms 60 ms 80 ms
Task Execution Every 20 ms
5 ms
Task (Duration of 5 ms)
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.
In the graphic, point out that the rate is
when the task starts and not how long
it takes.
3--7 Creating a Periodic Task in an RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
PERsb56r
Example: Periodic Task and Continuous Task
The following example shows how the periodic task interrupts
and suspends the continuous task:
0 ms 20 ms 40 ms 60 ms 80 ms
Periodic Task Execution Every 20 ms
Continuous Task
Continuous Task Interrupted for 5 ms
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:
0 ms 20 ms 40 ms 60 ms 80 ms
Continuous Task
Task A (Every 20 ms) Priority 3
Task B (Every 22 ms) Priority 1
22 ms 44 ms 66 ms 88 ms
Two tasks can be assigned the same priority. If this occurs, the tasks
will timeslice, or alternate execution, in 1 ms intervals.
Example: Equal Priorities (Timeslicing)
The following example shows how two tasks of equal priority
will timeslice:
0 ms 1 ms 2 ms 3 ms 4 ms
Task A, Priority 3
5 ms
Task B, also Priority 3
Timeslicing takes slightly more time than having different priorities.
? How many periodic or event tasks
and how many levels of priority can
there be in a ControlLogix project?
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).
"
Tip
3--8 Creating a Periodic Task in an RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
PERsb56r
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.
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
Heres How
Example
3--9 Creating a Periodic Task in an RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
PERsb56r
To create a periodic task.
Activity: As your instructor demonstrates this procedure, follow
along in the associated job aid(s).
- Location of the procedure in the job aid
- Period and priority of the task
- Max scan time (when online)
Pay attention to these critical aspects of the demonstration:
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 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
S In Run mode, you can verify when
the task execute by the lights on the
workstation
Demonstration Checklist
3--10 Creating a Periodic Task in an RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
PERsb56r
3--11 Exercise: Creating a Periodic Task in an RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
PERe56r
Exercise: Creating a Periodic Task
in an RSLogix 5000 Project
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?
Exercise A
3--12 Exercise: Creating a Periodic Task in an RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
PERe56r
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.
Turn to the Answers section. How Did You Do?
3--13 Exercise: Creating a Periodic Task in an RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
PERe56r
3--14 Exercise: Creating a Periodic Task in an RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
PERe56r
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):
Answers
Lesson 4
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
TA2sb56r
Organizing Data in an
RSLogix 5000 Project
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.
Controller Memory
Traditional controllers have data files, such as Timer or Integer,
where groups of the same types of data 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:
Controller Memory
Start Data
Sensor Data
Drive_Speed Data
What You Will Learn
Before You Begin
For example, a PLC-5 processor has a
pre-created timer file, where all timers
are stored together.
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.
S Byte: A string of 8 bits operated on
as one unit.
S Word: A unit of memory in a
controller composed of 16 individual
bits or two bytes that are treated as
one unit.
Remind students that the individual bits
of a byte or word can also be monitored
or addressed.
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.
4--2 Organizing Data in an RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
TA2sb56r
Data Types
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.
Pre-Defined Data Types: Commonly used memory sizes or
structures that are already defined in the software.
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
Start Data
BOOL, or 1 Bit
Sensor Data
BOOL, or 1 Bit
Drive_Speed Data
DINT, or 32 Bits
Add that the data type maps out the data
just as it does in a PLC-5, SLC 500, or
other processor.
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.
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.
4--3 Organizing Data in an RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
TA2sb56r
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:
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.
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:
Minimum Memory Allocation of 1 DINT
Data
Type
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
SINT
INT
Used Memory DINT
REAL
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.
Add that a DINT is often called a D word
or a double word.
Use the graphic to review the definitions
of BOOL, SINT, INT, DINT, and REAL.
After describing each data type, point
out the unused area.
4--4 Organizing Data in an RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
TA2sb56r
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
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 . . . Then select this scope . . .
That is generated when an I/O module is configured
(I/O status, data, etc.)
Controller-scoped
In more than one program within the project
To produce or consume data (share it with other
controllers)
In a message instruction or with a PanelViewt1000C
terminal
In only one program (and it is not a message
instruction or a produced or consumed tag)
Program-scoped
Creating a Tag
To create a tag, the following parameters must be defined:
Tag Name
Data Type
Style
Data Access Control (optional)
Description (optional)
Add that students will learn how to
create these components in the next
lesson.
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.
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.
Direct students to the Description entry
in the Glossary of the Procedures Guide
for the description rules.
Note that alias tags will be presented
later in this lesson.
Note that the Monitor Tags tab is for
viewing data that is active in the
controller.
4--5 Organizing Data in an RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
TA2sb56r
The parameters are defined in the Edit Tags tab of the Tags window:
Data Type Tag
Operand Descriptions
Editing View
Another Name
for the Tag
White = Editable
Field
Icon Indicating
Controller-Scoped
Tags
Filter Wildcard Filter
Display
Style
Data Access
Control
Tag Name
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.
Data Type
Tags can be created using the following data types:
Any pre-defined data type
Any user-defined data type
Style
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.
State that tag names are not
case-sensitive. However, case
may help with readability. "
Tip
Have the students turn to the Glossary
of the procedures guide. Review the
naming conventions.
Note that these naming conventions
apply to most components in an
RSLogix 5000 project.
State that data from a BCD thumbwheel
could be viewed in the hexadecimal
radix.
4--6 Organizing Data in an RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
TA2sb56r
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.
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.
Alias tags are commonly used to rename I/O tags that are generated
with complex naming structures:
Alias Tag Name What the Tag is an Alias for (e.g., an I/O Tag)
Base or Original Tag
(If There is a Chain of Alias Tags)
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.
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 ControlNettor
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.
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
module by a name instead
of a part number.
"
Tip
In the following graphic, trace the chain
of alias tags, beginning with Start. When
you reach Alias_4, it will be easier to
explain Base tags.
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.
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.
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.
4--7 Organizing Data in an RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
TA2sb56r
Creating an Array of Tags
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.
Example: Array
To make INT records for 6 parts, a one-dimensional array of INTs
is created:
1 DINT (32 Bits)
Part_Data[0] Part_Data[1]
Part_Data[2] Part_Data[3]
Part_Data[4] Part_Data[5]
1 INT
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
Note that an array that is a member of
user-defined data type can only have
one dimension.
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].
Relate this to PLC-5 data, where N7:0 to
N7:9 is a one-dimensional array of
integer data types.
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).
4--8 Organizing Data in an RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
TA2sb56r
Data of the same type is not automatically grouped in memory. To
store all timers together, create an array of timer tags.
Array Storage
Arrays can have up to three dimensions and store data in the
following manner:
One Dimension
Two Dimensions
Three Dimensions
Example: Three Dimensional Array
A three dimensional array might store the following data:
Part Number Part Number, Size
Part Number, Size, Color
= Part Number 2, Size 3, Color 0
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.
"
Tip
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.
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).
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.
Ask students to determine the total
number of elements in each of the part
number arrays.
"
Tip
4--9 Organizing Data in an RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
TA2sb56r
Array Addressing
In an array, the following can be addressed:
A numeric element (fixed)
A variable element
A numeric bit
A variable bit
Numeric Element Addressing
To access a specific array element (e.g., one DINT in an array of
DINTs), use the following address format:
ArrayName[Element Number]
Example: Numeric Element Addressing
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
1 Array_name[
0
] Part[3]
2 Array_name[
1, 0
] Part[2,4]
3 Array_name[
2, 1, 0
] Part[3,5,1]
Example: Numeric Element Addressing for Multiple Dimensions
Part[2,3,0]
Part[4,5,2]
Part[2]
Array=
Part[8]
Part[8,6]
Part[8,6,4]
Part[1,3]
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.
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).
Note that the subscript is the value or
expression in the square brackets.
"
Tip
4--10 Organizing Data in an RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
TA2sb56r
Variable Element Addressing
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]
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
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
A bit within one element of an array can be addressed using the
following address format:
ArrayName[Element Number].Bit
Example: Numeric Bit Addressing
Part[1].2
Mix_Timer[5].DN
Add that this is similar to indirect
addressing in PLC-5 programming.
In the last example, add that if
position1= 7, and position2 = 3, then the
part value is 4.
As an example, state that if
Position1--Position2=48 and the array is
an array of only 40, a major fault will
occur.
State that the delimiter before the bit is a
period.
Note that the example addresses the
second bit in tag element 1 of the part
array.
4--11 Organizing Data in an RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
TA2sb56r
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
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] Part[Index].[MyIndex]
ArrayName[Element Number].[Expression] Part[Index].[MyIndex+31]
Verifying Tags
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 .
Monitoring and Editing Data
Tags values can be monitored and edited online through the Tags
window or certain instructions.
Point out that a period signifies a bit or a
member. A tag without a period is the
whole address.
Mention that the verification process is
similar to the RSLogix 5 and 500
process with the addition of tag
verification.
State that BOOL data types can now be
toggled in the Monitor tags window
(right-click the tag value or press
[CTRL]+T).
4--12 Organizing Data in an RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
TA2sb56r
Monitor Tags Tab
The Monitor Tags tab is a direct view of a controllers memory:
Scope of Current
Collection
Data Type
Tag and Members
Operand Descriptions
(up to 512 characters)
Blue
Arrow
Value in
Controller
Expand to See
Structure Members or
Bits within the Tag
Monitoring View
Right- Click to
Hide/Show
Columns
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.
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
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.
Style is for display only; it does not affect how data is stored in the
controller.
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.
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.
State that data from a BCD thumbwheel
could be viewed in the hexadecimal
style.
"
Tip
4--13 Organizing Data in an RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
TA2sb56r
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
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
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.
4--14 Organizing Data in an RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
TA2sb56r
Example: Function Block Diagram Routine
Visible function block parameters can be monitored through the
instructions. Others can be monitored through the Properties
dialog box:
Visibility
Enabled
Parameter
Values
Parameter
Names
Parameter
Data Types
Parameter
Description (Up to
128 Characters)
Note that only the parameters with a
checkmark in the Vis column (Visibility)
are displayed on the function block.
4--15 Organizing Data in an RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
TA2sb56r
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:
Tag Scope
Changing Values
Create a
Custom
Monitor
Refresh Structured
Text Data Force
Because structured text values cannot be
monitored in the programming language, the
Watch tab is extremely useful when monitoring a
structured text routine online.
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
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
You can drag tags from the open routine editor to the Quick Watch
Tag Monitor.
The tags are maintained in the monitor only while the project is
open.
Note that the Watch tab is accessed
from the View menu.
?Who has used Custom Data
Monitors in RSLogix 500 software?
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.
"
Tip
"
Tip
4--16 Organizing Data in an RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
TA2sb56r
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:
4--17 Organizing Data in an RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
TA2sb56r
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).
- 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
Pay attention to these critical aspects of the demonstration:
Monitor Data in RSLinx Classic Professional Software
Tags can also be monitored (but not edited) in RSLinx Classic
Professional software.
Read-Only Values
Now its your turn. Do Exercise A and return here when youre done.
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 the CCP143_1756r_DEM2.acd
project.
Demonstration Checklist
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.
Your Turn
4--18 Organizing Data in an RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
TA2sb56r
Data Access Control
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:
Data Access
Control Selections
Tags Window
User-Defined
Data Type
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.
Mention that External Access Control
does not apply to Module Defined tags
or aliases to them.
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
4--19 Exercise: Organizing Data in an RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
TA2e56r
Exercise: Organizing Data in an
RSLogix 5000 Project
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)
Exercise A
4--20 Exercise: Organizing Data in an RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
TA2e56r
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?
4--21 Exercise: Organizing Data in an RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
TA2e56r
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.
The system date and time may not be current.
15. Go offline and close your project.
Turn to the Answers section.
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?
Turn to the Answers section.
"
Tip
How Did You Do?
Exercise B
How Did You Do?
4--22 Exercise: Organizing Data in an RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
TA2e56r
Exercise A
3. Your Stop_Motor tag should have the following properties:
4. Your Start_Motor tag should have the following properties:
Answers
4--23 Exercise: Organizing Data in an RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
TA2e56r
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:
4--24 Exercise: Organizing Data in an RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
TA2e56r
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:
4--25 Exercise: Organizing Data in an RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
TA2e56r
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:
4--26 Exercise: Organizing Data in an RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
TA2e56r
Lesson 5
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
UDTsb56r
Creating a User-Defined Data Type
in an RSLogix 5000 Project
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.
Creating a User-Defined Data Type
Some predefined data types, such as a TIMER, are structures of
several different data types:
Members of a
TIMER Data Type
Mixed
Data
Types
Data Type
What You Will Learn
Before You Begin
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.
5--2 Creating a User-Defined Data Type in an RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
UDTsb56r
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
There are several identical tanks in a plant. Each tank stores data
for the following values:
Temperature
Steam Valve State
Level
Time over Temperature
To store this data, a user-defined data type can be created. The
data type is a template for storing the information:
Members of
Tank Structure
Size
External
Access
Settings
A tag for each tank can be created using this user-defined data
type.
Review: An element is one part of an
array.
A member is one part of a 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.
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.
Provide other examples, including
examples of recipe parameters and
storage data types.
Note that creating an array is easier than
creating 20 individual tags.
5--3 Creating a User-Defined Data Type in an RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
UDTsb56r
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
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
SystemTimer.Pre
WaterTank.Level
Input_Location.Load_Info.Height
Note that in this scenario, the
user-defined data type is created first,
and then the array of tags is created.
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.
Point out that the last example contains
a structure (Load_Info) that is embedded
in the user-defined data type.
5--4 Creating a User-Defined Data Type in an RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
UDTsb56r
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
Obtain
collision
information
Specify final
name
5--5 Creating a User-Defined Data Type in an RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
UDTsb56r
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).
- Location of the procedures in the job aid
- Location of the procedures in the Start Pages
- Difference between a user--defined data type and an
array
- Overwriting a user--defined data type with a newer
version
Pay attention to these critical aspects of the demonstration:
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 the steps below to help guide you
during the demonstration:
Open the Start Pages and use the
following tools to demonstrate each task:
S How Do I "Tags, Data Types &
Other Data "Create a
User-Defined Type
S Whats New "Import Online -
Programs, Routine and Instructions
S If the Start Pages are unavailable or
if students prefer, use the
CCP143_1756r_DEM2.acd project.
Demonstration Checklist
5--6 Creating a User-Defined Data Type in an RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
UDTsb56r
5--7 Exercise: Creating a User-Defined Data Type in an RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
UDTe56r
Exercise: Creating a User-Defined
Data Type in an RSLogix 5000
Project
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.
Exercise A
5--8 Exercise: Creating a User-Defined Data Type in an RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
UDTe56r
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.
5--9 Exercise: Creating a User-Defined Data Type in an RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
UDTe56r
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.
Turn to the Answers section. How Did You Do?
5--10 Exercise: Creating a User-Defined Data Type in an RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
UDTe56r
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:
Answers
5--11 Exercise: Creating a User-Defined Data Type in an RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
UDTe56r
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:
5--12 Exercise: Creating a User-Defined Data Type in an RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
UDTe56r
29. Rungs 4--6 of the MainRoutine in the Line_3 program should
now look similar to the following example:
Lesson 6
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
EN2sb56r
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
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.
6--2 Entering, Editing, and Verifying Ladder Logic in an RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
EN2sb56r
ASCII Mnemonic Editing
ASCII mnemonics are text codes that represent instructions and
ladder logic elements:
ASCII Text
Entry Line
Graphical
Ladder
Logic
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
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
If ladder logic contains program-scoped tags, the ladder logic can be
easily copied and reused in different programs without changing the
tag names.
State that ASCII stands for the American
Standards Code for Information
Exchange.
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.
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.
Describe examples of real applications,
such as auto production lines, where
common machine cells are repeated.
6--3 Entering, Editing, and Verifying Ladder Logic in an RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
EN2sb56r
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
Same
Program_Scoped
Tag Name
Different Program
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.
6--4 Entering, Editing, and Verifying Ladder Logic in an RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
EN2sb56r
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.
Verifying a Project or a Project Component Online
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:
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.
State that up to four instances of the
software can be opened at one time.
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.
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.
6--5 Entering, Editing, and Verifying Ladder Logic in an RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
EN2sb56r
Performing Online Ladder Logic Edits
Editing ladder logic elements online requires different steps in
different modes:
When editing in
this mode . . .
You must perform the
following actions . . .
Description . . .
Online in the Remote
Program mode
Start edits
Routine(s) edits exist only in the
computer. Necessary when changing
an existing rung, but not necessary to
add a new rung.
Verify edits
The project is examined for errors.
Verification can be done separately or
automatically if you skip to the Accept
edits step.
Accept edits
The revised routine(s) are transferred
to the controller.
Online in the Remote
Run mode
Start edits
Routine(s) edits exist only in the
computer. Necessary when changing
an existing rung, but not necessary to
add a new rung.
Verify edits
The project is examined for errors.
Verification can be done separately or
automatically if you skip to the Accept
edits step.
Accept edits
The revised routine(s) are transferred
to the controller but the previous
program continues to execute.
Test edits
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.
Assemble edits
The previous routine(s) language is
discarded and the revised program
continues executing.
Online verification buttons can be used to complete this process:
Cancel Pending Rung Edit
Single-Rung Options Program-Level Options
Finalize Edits Option
Verify Open Routine
Verify
Controller
Standard Toolbar
Online Edit Toolbar
Use tooltips to identify the buttons.
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.
Tell students that the Verify edits step
can be considered optional since the
verification process will automatically
take place with the Accept edits step.
State that accept puts the change into
the controller memory.
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.
"
Tip
6--6 Entering, Editing, and Verifying Ladder Logic in an RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
EN2sb56r
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)
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.
Presence of Always False Instruction (AFI) (reported in error tab
as a warning)
Presence of forces (reported in error tab as a warning)
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
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.
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).
Point out that this option can be enabled
using ToolsOptions.
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.
Note that this is an option found
in the ToolsOptions dialog box.
Point out some benefits of this option:
S Fewer steps required to go from
change to running code
S Reduces system startup time by
eliminating delays
Compare these benefits to some of the
inherit risks.
6--7 Entering, Editing, and Verifying Ladder Logic in an RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
EN2sb56r
Edit Zone Markers
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.
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.
The following table summarizes the zone markers and their
meanings:
Zone Marker Description
Lowercase
e
Rung of ladder logic that is currently edited within
the computer RAM
i Rung of ladder logic that is to be inserted
r Rung of ladder logic that is to be replaced
Uppercase (in
controller
memory)
I Rung of ladder logic that will be inserted
R
Rung of ladder logic that is going to be replaced by
the rung directly above it
D Rung of ladder logic that is marked for deletion
Poll the students to see if they are aware
of online editing policies in their own
companies.
Mention that an asterisk : on any
instruction, tab, etc., indicates that the
element has been edited but not yet
accepted.
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.
6--8 Entering, Editing, and Verifying Ladder Logic in an RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
EN2sb56r
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.
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:
Controller Locked
Controller Unlocked
Controller Locked by Another User
Project Changed by Another User
Selected
Bottom Right
Corner of Screen
Online Toolbar
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.
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).
6--9 Entering, Editing, and Verifying Ladder Logic in an RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
EN2sb56r
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).
- Location of the procedures in the job aid
- Entering logic using the ASCII text editor
- Online verification buttons
- Locking the controller
Pay attention to these critical aspects of the demonstration:
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 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.
Demonstration Checklist
6--10 Entering, Editing, and Verifying Ladder Logic in an RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
EN2sb56r
6--11 Exercise: Entering, Editing, and Verifying Ladder Logic in an RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
EN2e56r
Exercise: Entering, Editing, and
Verifying Ladder Logic in an
RSLogix 5000 Project
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.
Exercise A
6--12 Exercise: Entering, Editing, and Verifying Ladder Logic in an RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
EN2e56r
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.
6--13 Exercise: Entering, Editing, and Verifying Ladder Logic in an RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
EN2e56r
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.
Turn to the Answers section. How Did You Do?
6--14 Exercise: Entering, Editing, and Verifying Ladder Logic in an RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
EN2e56r
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.
Answers
6--15 Exercise: Entering, Editing, and Verifying Ladder Logic in an RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
EN2e56r
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.
6--16 Exercise: Entering, Editing, and Verifying Ladder Logic in an RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
EN2e56r
Lesson 7
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
IO2sb56r
Communicating with a Local
1756-I/O Module
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.
Question: What does the term local I/O mean? Remote I/O?
Question: When do you usually add I/O modules to your projects?
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
What You Will Learn
In this lesson youll focus on
adding local modules.
Point out that in this lesson youll
manually add the modules.
Before You Begin
7--2 Communicating with a Local 1756-I/O Module
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
IO2sb56r
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
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
Catalog Number = 1756-IB16D
Vendor = Allen-Bradley
Product Type = Digital Input Module
Major Revision = 3
Minor Revision = 1
X
Physical Module
Catalog Number = 1756-IB16D
Vendor = Allen-Bradley
Product Type = Digital Input Module
Major Revision = 3
Minor Revision = 2
Communication is Prevented
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.
"
Tip
7--3 Communicating with a Local 1756-I/O Module
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
IO2sb56r
Example: Compatible Keying Prevents Communication
Module Configuration
Catalog Number = 1756-IB16D
Vendor = Allen-Bradley
Product Type = Digital Input Module
Major Revision = 3
Minor Revision = 3
X
Physical Module
Catalog Number = 1756-IB16D
Vendor = Allen-Bradley
Product Type = Digital Input Module
Major Revision = 3
Minor Revision = 2
Communication is Prevented
Example: Compatible Keying Allows Communication
Module Configuration
Catalog Number = 1756-IB16D
Vendor = Allen-Bradley
Product Type = Digital Input Module
Major Revision = 2
Minor Revision = 1
Physical Module
Catalog Number = 1756-IB16D
Vendor = Allen-Bradley
Product Type = Digital Input Module
Major Revision = 3
Minor Revision = 2
Communication is Allowed
7--4 Communicating with a Local 1756-I/O Module
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
IO2sb56r
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
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.
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
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
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.
"
Tip
Note that these values must be set in
the initial configuration but can be
adjusted at any time.
7--5 Communicating with a Local 1756-I/O Module
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
IO2sb56r
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.
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
Rung
100
Rung
250
Rung
400
Tag is set or cleared in controller
Physical Device Data is
received by the input card
Optional
RPI Rate
RPI Rate
COS
Single Scan
Analog Module Multicasting Rates
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
RTS -- (Real Time Sampling Rate)
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.
Note that analog module multicasting
rates are different from digital modules
that multicast based on RPI or COS
parameters.
Note that RTS is actually set on a
different screen, but is discussed now
with RPI.
7--6 Communicating with a Local 1756-I/O Module
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
IO2sb56r
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
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
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.
"
Tip
Example: An application that includes a
hot oven might set a fan output to on
during Program, Test, or Fault mode.
7--7 Communicating with a Local 1756-I/O Module
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
IO2sb56r
Diagnostics
On the Configuration screen of the wizard, the following other
parameters must be defined:
Diagnostic Features
I/O Points
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).
Pulse Test: Briefly sends a signal that verifies the output without
energizing the load.
?How are diagnostic modules
identified in the part number?
Answer: The part number has a D as
the suffix, e.g., 1756-IB16D.
Note that the pulse test is typically
performed during commissioning or
troubleshooting.
7--8 Communicating with a Local 1756-I/O Module
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
IO2sb56r
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.
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.
7--9 Communicating with a Local 1756-I/O Module
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
IO2sb56r
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.
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.
Heres How
Give students several situations.
Have them use the decision table
to determine which keying option
to use.
7--10 Communicating with a Local 1756-I/O Module
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
IO2sb56r
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.
- 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
Pay attention to these critical aspects of the demonstration:
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 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.
7--11 Exercise: Communicating with a Local 1756-I/O Module
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
IO2e56r
Exercise: Communicating with a
Local 1756-I/O Module
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) Scope Slot Chan Signal Min / Off Max / On
Part Present
Photoeye
Part_Sensor IO2_1756r_A1 2 12 24 VDC Sink No Part Part
Press and Stake
Pressure
Transmitter
CH0_Analog_Input Conveyor 8 0 0--10 VDC 0.0 100.0
Press and Stake
Pressure Indicator
CH0_Analog_Meter Conveyor 7 0 0--10 VDC 0.0 100.0
Weld Pressure
Transmitter
CH1_Analog_Input Conveyor 8 1 0--10 VDC 0.0 1000.0
Weld Pressure
Indicator
CH1_Analog_Meter Conveyor 7 1 0--10 VDC 0.0 1000.0
Conveyor Motor
Starter
Conveyor Conveyor 0 1
24 VDC
Source
Start
Command
Conveyor Start
Pushbutton
Start Conveyor 2 0 24 VDC Sink Start
Conveyor Stop
Pushbutton
Stop Conveyor 2 8 24 VDC Sink Stop
Press Actuator Station_Output Station_1_Press 0 3
24 VDC
Source
Press
Command
Stake Actuator Station_Output Station_2_Stake 0 4
24 VDC
Source
Stake
Command
2. Review the partial alarm list below for your application:
Device Alarm (Alias tag) Scope Slot Chan Signal Trip
Part Present Photoeye Part_Sensor_PointFlt Conveyor 2 12 24 VDC Sink Point Fault
Conveyor Start Pushbutton Start_PointFlt Conveyor 2 0 24 VDC Sink Point Fault
Conveyor Stop Pushbutton Stop_PointFlt Conveyor 2 8 24 VDC Sink Point Fault
Conveyor Motor Starter Conveyor_PointFlt Conveyor 0 1 24 VDC Source Point Fault
Press and Stake Pressure
Transmitter
Alarm_High Station_1_Press 8 0 0--10 VDC >60
Press and Stake Pressure
Transmitter
Alarm_Low Station_1_Press 8 0 0--10 VDC <40
Weld Pressure Indicator Alarm_High Station_2_Weld 8 1 0--10 VDC >600
Weld Pressure Indicator Alarm_Low Station_2_Weld 8 1 0--10 VDC <400
Exercise A
7--12 Exercise: Communicating with a Local 1756-I/O Module
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
IO2e56r
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
- 0 Assembly_Digital_Outputs
- 2 System_Digital_Inputs
- 7 Assembly_Pressure_Meters
- 8 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.
7--13 Exercise: Communicating with a Local 1756-I/O Module
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
IO2e56r
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.
-
Conveyor_Flt bit turns on for any point fault of the conveyor
equipment.
A. Remove the terminal block of the digital output module and
confirm the Conveyor_Flt bit turns on.
B. Replace the terminal block.
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.
Turn to the Answers section. How Did You Do?
7--14 Exercise: Communicating with a Local 1756-I/O Module
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
IO2e56r
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.
Answers
7--15 Exercise: Communicating with a Local 1756-I/O Module
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
IO2e56r
You should have configured the analog outputs like this:
7--16 Exercise: Communicating with a Local 1756-I/O Module
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
IO2e56r
You should have configured the analog inputs like this:
7--17 Exercise: Communicating with a Local 1756-I/O Module
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
IO2e56r
5. Your analog aliases should look like this:
6. Your alarm aliases should look like this:
7--18 Exercise: Communicating with a Local 1756-I/O Module
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
IO2e56r
Lesson 8
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
PC3sb56r
Configuring a Logix5000 Controller
to Produce and Consume Data
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.
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.
8--2 Configuring a Logix5000 Controller to Produce and Consume Data
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
PC3sb56r
Produced and Consumed Tags
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
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
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.
Note that these are the 32-bit data
types.
Add that 500 bytes equals 125 DINTs or
250 INTs.
8--3 Configuring a Logix5000 Controller to Produce and Consume Data
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
PC3sb56r
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
Advanced
Settings
Remind students that this is the tag
being sent.
8--4 Configuring a Logix5000 Controller to Produce and Consume Data
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
PC3sb56r
Adding a Controller to an I/O Configuration
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
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.
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).
Add that the consumed tag can be
created or it can be an existing tag that
is modified.
8--5 Configuring a Logix5000 Controller to Produce and Consume Data
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
PC3sb56r
A consumed tag is also defined in the Tag Properties dialog box:
Consumed Option
Name of the Consumed Tag
Source Controller
(as Named in the I/O
Configuration)
Exact Name of the Produced
Tag in the Producing Controller
The Amount of Time
Between Updates of the
Data
In the graphic, point out that
the RPI is per tag and not
controller.
Mention that you must be offline or
online in Program mode to
change the RPI.
Mention that RPI in relation
to the ControlNet network will be
detailed in a
different lesson.
8--6 Configuring a Logix5000 Controller to Produce and Consume Data
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
PC3sb56r
Tag Names
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
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.
DINT
DINT
BOOL
TIMER
TIMER
BOOL
DINT
DINT
Data
DINT
DINT
BOOL
TIMER
DINT
DINT
BOOL
TIMER
Data
Producer Consumer
Producer Consumer
Point out that this is not the consumed
tag name.
"
Tip
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).
8--7 Configuring a Logix5000 Controller to Produce and Consume Data
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
PC3sb56r
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
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).
Note that a separate lesson reviews the
number of connections consumed by
produced and consumed tags.
8--8 Configuring a Logix5000 Controller to Produce and Consume Data
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
PC3sb56r
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:
Set Min and Max
RPI Range
Set Default RPI
Produced Tag Values
=
Consumer RPI of 2ms
is out of range.
Consumer RPI would
get set to the default
value of 10ms.
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.
Minimum, Maximum and
Default values can be modified
Offline only.
8--9 Configuring a Logix5000 Controller to Produce and Consume Data
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
PC3sb56r
Configure the consuming controller to use the default RPI:
Advanced Tab
Enable RPI
Negotiation Here
8--10 Configuring a Logix5000 Controller to Produce and Consume Data
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
PC3sb56r
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).
- 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
Pay attention to these critical aspects of the demonstration:
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 the CCP143_1756r_DEM4.acd
project during the demonstration.
Use the CCP143_1756r_DEM5.acd file
to download to the controller in slot 3.
Demonstration Checklist
8--11 Exercise: Configuring a Logix5000 Controller to Produce and Consume Data
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
PC3e56r
Exercise: Configuring a Logix5000
Controller to Produce and
Consume Data
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?
Exercise A
8--12 Exercise: Configuring a Logix5000 Controller to Produce and Consume Data
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
PC3e56r
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.
8--13 Exercise: Configuring a Logix5000 Controller to Produce and Consume Data
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
PC3e56r
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.
Turn to the Answers section.
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
How Did You Do?
Exercise B
8--14 Exercise: Configuring a Logix5000 Controller to Produce and Consume Data
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
PC3e56r
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.
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.
Turn to the Answers section.
"
Tip
How Did You Do?
8--15 Exercise: Configuring a Logix5000 Controller to Produce and Consume Data
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
PC3e56r
8--16 Exercise: Configuring a Logix5000 Controller to Produce and Consume Data
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
PC3e56r
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:
Answers
8--17 Exercise: Configuring a Logix5000 Controller to Produce and Consume Data
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
PC3e56r
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.
8--18 Exercise: Configuring a Logix5000 Controller to Produce and Consume Data
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
PC3e56r
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:
8--19 Exercise: Configuring a Logix5000 Controller to Produce and Consume Data
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
PC3e56r
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.
8--20 Exercise: Configuring a Logix5000 Controller to Produce and Consume Data
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
PC3e56r
Lesson 9
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
ENTsb56r
Configuring Logix5000 Controllers
to Share Data over an EtherNet/IP
Network
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.
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
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.
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.
Before You Begin
?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).
9--2 Configuring Logix5000 Controllers to Share Data over an EtherNet/IP Network
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
ENTsb56r
Overview of IP Addresses
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)
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.
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?
Answer: 16
6
(=16,777,216).
9--3 Configuring Logix5000 Controllers to Share Data over an EtherNet/IP Network
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
ENTsb56r
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
A 10.0.0.0 -- 10.255.255.255
B 172.16.0.0 -- 172.31.255.255
C 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)
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.
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.
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.
9--4 Configuring Logix5000 Controllers to Share Data over an EtherNet/IP Network
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
ENTsb56r
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:
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
Typical Subnet Mask
2 5 5 . 2 5 5 . 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
?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?
Inform the students that a subnet mask
operates in a manner similar to an MVM
instruction; hopefully they will be able to
translate some of that familiarity when
identifying if two IP addresses are on the
same subnet.
9--5 Configuring Logix5000 Controllers to Share Data over an EtherNet/IP Network
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
ENTsb56r
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: 1 1 1 1 1 1 1 1 . 1 1 1 1 1 1 1 1 . 1 1 1 1 0 0 0 0 . 0 0 0 0 0 0 0 0
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: 1 1 1 1 1 1 1 1 . 1 1 1 1 1 1 1 1 . 1 1 1 1 1 1 1 1 . 0 0 0 0 0 0 0 0
Corresponding bits do not match each other; therefore,
these two devices are not on the same subnet.
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.
?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.
9--6 Configuring Logix5000 Controllers to Share Data over an EtherNet/IP Network
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
ENTsb56r
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
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.
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 (Producing) Controller
Remote EtherNet/IP Module
Produced and Consumed Tags
Data that is shared over an EtherNet/IP network must be transferred
using produced tags and received (stored) in consumed tags.
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 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.
Note that the produced and consumed
tags are created just as they were
created for transfers over the backplane.
9--7 Configuring Logix5000 Controllers to Share Data over an EtherNet/IP Network
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
ENTsb56r
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).
- 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
Pay attention to these critical aspects of the demonstration:
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 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:
Demonstration Checklist
9--8 Configuring Logix5000 Controllers to Share Data over an EtherNet/IP Network
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
ENTsb56r
9--9 Exercise: Configuring Logix5000 Controllers to Share Data over an EtherNet/IP Network
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
ENTe56r
Exercise: Configuring Logix5000
Controllers to Share Data over an
EtherNet/IP Network
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.
EtherNet/IP Network
Production Line 1
Production Line 2
nProduced
Consumed
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:
Member Data type Description
AI0 REAL Analog Input channel 0
AI1 REAL Analog Input channel 1
DI DINT Digital Inputs
Exercise A
9--10 Exercise: Configuring Logix5000 Controllers to Share Data over an EtherNet/IP Network
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
ENTe56r
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.)
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.
"
Tip
9--11 Exercise: Configuring Logix5000 Controllers to Share Data over an EtherNet/IP Network
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
ENTe56r
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.
Turn to the Answers section. How Did You Do?
9--12 Exercise: Configuring Logix5000 Controllers to Share Data over an EtherNet/IP Network
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
ENTe56r
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:
Answers
9--13 Exercise: Configuring Logix5000 Controllers to Share Data over an EtherNet/IP Network
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
ENTe56r
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:
9--14 Exercise: Configuring Logix5000 Controllers to Share Data over an EtherNet/IP Network
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
ENTe56r
10. The consumed tag should look similar to the following
example:
11. Your ladder logic should look similar to the following example:
9--15 Exercise: Configuring Logix5000 Controllers to Share Data over an EtherNet/IP Network
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
ENTe56r
12. Your ladder logic should look similar to the following example:
9--16 Exercise: Configuring Logix5000 Controllers to Share Data over an EtherNet/IP Network
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
ENTe56r
Lesson 10
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
RI2sb56r
Communicating with a 1756-I/O
Module over an EtherNet/IP
Network
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.
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.
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.
What You Will Learn
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.
Point out that this also applies to the
RTS of an analog module.
10--2 Communicating with a 1756-I/O Module over an EtherNet/IP Network
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
RI2sb56r
Communications Formats
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?
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.
Give students a few minutes to
read the benefits and
considerations of each, and then
ask the questions.
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.
10--3 Communicating with a 1756-I/O Module over an EtherNet/IP Network
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
RI2sb56r
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.
Activity: For each situation below, decide which rack connection
setting to use and check the appropriate box:
Situation
Rack Connection setting
None
Rack
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
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
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
Have each student do this on
their own. Then go over the
answers as a group.
None
Rack Optimization
Rack Optimization
10--4 Communicating with a 1756-I/O Module over an EtherNet/IP Network
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
RI2sb56r
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.
- 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.
Pay attention to these critical aspects of the demonstration:
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 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.
10--5 Exercise: Communicating with a 1756-I/O Module over an EtherNet/IP Network
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
RI2e56r
Exercise: Communicating with a
1756-I/O Module over an
EtherNet/IP Network
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:
Ethernet I/P Network
Local
Chassis
Remote
Chassis
Production
Line Active
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.
Exercise A
10--6 Exercise: Communicating with a 1756-I/O Module over an EtherNet/IP Network
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
RI2e56r
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.
Turn to the Answers section. How Did You Do?
10--7 Exercise: Communicating with a 1756-I/O Module over an EtherNet/IP Network
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
RI2e56r
10--8 Exercise: Communicating with a 1756-I/O Module over an EtherNet/IP Network
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
RI2e56r
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)
Answers
10--9 Exercise: Communicating with a 1756-I/O Module over an EtherNet/IP Network
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
RI2e56r
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:
10--10 Exercise: Communicating with a 1756-I/O Module over an EtherNet/IP Network
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
RI2e56r
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:
Lesson 11
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
EVTsb56r
Creating an Event Task in an
RSLogix 5000 Project
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.
Task Type Review
A task triggers the execution of its scheduled programs. The
following table outlines the type of tasks that are available:
Task Type Usage Icon
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.
What You Will Learn
Before You Begin
If students are familiar with other
controllers, relate the event task to a PII
(PLC) or DII (SLC) task.
11--2 Creating an Event Task in an RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
EVTsb56r
Event Task
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
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
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
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.
Note that event tasks can provide an
alternate, more effective way of
balancing the need for high-speed
processing with CPU performance.
"
Tip
11--3 Creating an Event Task in an RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
EVTsb56r
Example: Project Organization
In this example, the event task is triggered only when the packing
tape is low:
Event Task
Event Task Properties
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.
Note that this project takes advantage of
some of the Logix5000 organizational
elements.
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.
11--4 Creating an Event Task in an RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
EVTsb56r
Trigger
The following triggers can initiate an event task:
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.
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.
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.
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.
11--5 Creating an Event Task in an RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
EVTsb56r
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
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.
Each network adds additional delays.
Quick-Response Events
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
?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.
?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.
"
Tip
Poll the class to find out who is using
remote I/O in their application.
Point out that for many applications, the
benefit of reducing the CPU loading
overrides the need for speed.
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.
11--6 Creating an Event Task in an RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
EVTsb56r
Short-Duration Input Events
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
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.
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.
Example: Synchronized-execution
event tasks work for applications such
as packaging, process loops, drive
control loops
11--7 Creating an Event Task in an RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
EVTsb56r
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
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
To reduce task overhead, verify the disable automatic output
processing . . . option is selected and use an IOT instruction in a
routine.
At the time of printing, the modules with
the best response times are
1756-IB32/B digital module and
1756-IF4FXOF2F analog module.
Review the wording of this option.
Selecting it will actually disable (not
enable) automatic output processing.
11--8 Creating an Event Task in an RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
EVTsb56r
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.
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)
Task priorities are relative:
-- If there are only three tasks, priorities of 6, 7, and 8 will
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
Lowest Priority
Motion Task
Trend
Event or Periodic Task - Priority 1 . . .
Event or Periodic Task - Priority 5 . . .
Event or Periodic Task - Priority 10 . . .
Event or Periodic Task - Priority 15 . . .
Continuous Task
If you already covered this topic in the
Periodic Task lesson, briefly review it
here.
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.
Clarify that this means the continuous
task automatically has the lowest priority.
A user cannot configure the priority for a
continuous task.
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.
11--9 Creating an Event Task in an RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
EVTsb56r
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.
Event Instructions
The following instructions impact event tasks:
IOT (Immediate Output)
UID/UIE (User Interrupt Disable/Enable)
CPS (Copy Synchronize)
If you already covered this topic in the
Periodic Task lesson, briefly review it
here.
These instructions are explained on the
following pages. For more detailed
information on how these instructions
impact event tasks, see the online Help.
11--10 Creating an Event Task in an RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
EVTsb56r
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:
11--11 Creating an Event Task in an RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
EVTsb56r
CPS Instruction
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
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.
11--12 Creating an Event Task in an RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
EVTsb56r
To create an event task.
Activity: As your instructor demonstrates this procedure, follow
along in the associated job aid(s).
- Location of the procedure in the job aid
- Trigger for the event task
- Timeout option
- Automatic output processing option
Pay attention to these critical aspects of the demonstration:
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 the CCP143_1756r_DEM2.acd
project during the demonstration.
Demonstration Checklist
11--13 Exercise: Creating an Event Task in an RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
EVTe56r
Exercise: Creating an Event Task in
an RSLogix 5000 Project
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.
Turn to the Answers section.
Exercise A
How Did You Do?
11--14 Exercise: Creating an Event Task in an RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
EVTe56r
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:
DI12 DI13 DI14 DI15
Active Only When Tape is Low
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.
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.
Exercise B
"
Tip
11--15 Exercise: Creating an Event Task in an RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
EVTe56r
8. In the space below, list your tasks from highest priority to lowest
priority according to the values assigned:
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:
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).
"
Tip
"
Tip
11--16 Exercise: Creating an Event Task in an RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
EVTe56r
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?
Turn to the Answers section.
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.
How Did You Do?
Exercise C
11--17 Exercise: Creating an Event Task in an RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
EVTe56r
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).
"
Tip
11--18 Exercise: Creating an Event Task in an RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
EVTe56r
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.
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.
This ladder logic should be in the main routine of the
Station_4_Quality program in the Quality task.
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.
Turn to the Answers section.
"
Tip
"
Tip
"
Tip
How Did You Do?
11--19 Exercise: Creating an Event Task in an RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
EVTe56r
11--20 Exercise: Creating an Event Task in an RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
EVTe56r
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:
Answers
11--21 Exercise: Creating an Event Task in an RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
EVTe56r
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.
11--22 Exercise: Creating an Event Task in an RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
EVTe56r
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:
11--23 Exercise: Creating an Event Task in an RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
EVTe56r
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:
11--24 Exercise: Creating an Event Task in an RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
EVTe56r
9. Your routine should contain the following information:
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:
"
Tip
11--25 Exercise: Creating an Event Task in an RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
EVTe56r
12. The following code will enable the task when the
Percent_Rejected value is more than (or equal to) 3:
Static Value
Program Control
Instruction
11--26 Exercise: Creating an Event Task in an RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
EVTe56r
Lesson 12
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
GS2sb56r
Retrieving and Setting Logix5000
Controller Status Values with
GSV/SSV Instructions
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
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.
What You Will Learn
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.
12--2 Retrieving and Setting Logix5000 Controller Status Values with GSV/SSV Instructions
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
GS2sb56r
GSV/SSV Parameters
GSV/SSV instructions operate on the values for these parameters:
Class
Instance
Attribute
Source (SSV) or destination (GSV)
Class
The class is the category or type of object that is accessed:
Category
Instance
If more than one project component relates to the class selected, an
instance must be selected:
Specific Instance Name Specific Component
Select THIS to identify the current task,
program, or routine. The instruction can then be
easily reused.
Attribute
The attribute is the particular property or value that is retrieved or
set:
Property to Monitor
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.
Note that the source and destination are
similar to the source and destination in a
MOV instruction.
Show students examples of object
classes in the Online Help.
Note that this is one reason that naming
I/O modules with a descriptive name
(using purpose or location, for example)
is beneficial.
?How would the This option help
programmers work more efficiently?
Answer: The same code can be copied
to another task, program, or routine and
still function properly without further edit.
Note that not all attributes are able to be
retrieved and set.
12--3 Retrieving and Setting Logix5000 Controller Status Values with GSV/SSV Instructions
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
GS2sb56r
Source or Destination
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:
The first member of
the tag (Year) must
be selected.
User-Defined Data Type Based on Data
Structure in the Help System
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.
12--4 Retrieving and Setting Logix5000 Controller Status Values with GSV/SSV Instructions
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
GS2sb56r
Example: GSV Instruction
GSV instructions can be used to retrieve information about
program scan time:
User-Defined
Data Type
Tag
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.
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.
12--5 Retrieving and Setting Logix5000 Controller Status Values with GSV/SSV Instructions
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
GS2sb56r
Example: SSV Instruction
The following is an example of an SSV instruction:
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
Controller status and arithmetic status flags can also be examined for
specific data.
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.
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.
Stress that most controller values are
accessed using GSV and SSV
instructions.
Note that flags are not base tags.
Programmers will never see or create
alias tags for them.
12--6 Retrieving and Setting Logix5000 Controller Status Values with GSV/SSV Instructions
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
GS2sb56r
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
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
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.
12--7 Retrieving and Setting Logix5000 Controller Status Values with GSV/SSV Instructions
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
GS2sb56r
Non-Recoverable Major Fault
Non-Recoverable Major Fault: A fault within the controller that is
severe enough to shut it down.
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
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
Mention that a non-recoverable fault is
often called a hardware fault.
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.
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.
12--8 Retrieving and Setting Logix5000 Controller Status Values with GSV/SSV Instructions
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
GS2sb56r
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
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
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
Fault Routine Code
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
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
from the main routine?
Answer: Program a JSR instruction to
call the specified routine (subroutine)
from the main routine.
12--9 Retrieving and Setting Logix5000 Controller Status Values with GSV/SSV Instructions
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
GS2sb56r
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
Note that the programming language
works in the same manner as the
programming in a fault routine.
12--10 Retrieving and Setting Logix5000 Controller Status Values with GSV/SSV Instructions
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
GS2sb56r
Multiple Recoverable Major Faults
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,
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
Remind students that the fault
information is displayed on the Major
Faults tab of the Controller Properties
dialog box.
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.
12--11 Retrieving and Setting Logix5000 Controller Status Values with GSV/SSV Instructions
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
GS2sb56r
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
Solid Green
Normal
Operating
State
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.
12--12 Retrieving and Setting Logix5000 Controller Status Values with GSV/SSV Instructions
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
GS2sb56r
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).
- Location of the procedures in the job aid
- Object and Attribute information found in the Help
system
- Fault Routine Assignment drop-down list
Pay attention to these critical aspects of the demonstration:
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 the CCP143_1756r_DEM2.acd
project during the demonstration.
Demonstration Checklist
12--13 Exercise: Retrieving and Setting Logix5000 Controller Status Values with GSV/SSV Instructions
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
GS2e56r
Exercise: Retrieving and Setting
Logix5000 Controller Status Values
with GSV/SSV Instructions
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.
Search Help for the MAXSCANTIME attribute for help configuring
your logic.
Exercise A
"
Tip
12--14 Exercise: Retrieving and Setting Logix5000 Controller Status Values with GSV/SSV Instructions
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
GS2e56r
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.
Turn to the Answers section.
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.
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.
How Did You Do?
Exercise B
"
Tip
12--15 Exercise: Retrieving and Setting Logix5000 Controller Status Values with GSV/SSV Instructions
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
GS2e56r
Shift times are calculated using the following parameters. 24-hour
times are used:
If the time is Between (Limited to). . . The Shift Number Is . . .
7 14:59 1
15 22:59 2
23 6:59 3
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.
Turn to the Answers section.
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 Data Type
TimeLow DINT
TimeHigh DINT
Type INT
Code INT
Info DINT[8]
"
Tip
How Did You Do?
Exercise C
12--16 Exercise: Retrieving and Setting Logix5000 Controller Status Values with GSV/SSV Instructions
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
GS2e56r
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:
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.
"
Tip
12--17 Exercise: Retrieving and Setting Logix5000 Controller Status Values with GSV/SSV Instructions
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
GS2e56r
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.
Turn to the Answers section. How Did You Do?
12--18 Exercise: Retrieving and Setting Logix5000 Controller Status Values with GSV/SSV Instructions
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
GS2e56r
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.
Answers
12--19 Exercise: Retrieving and Setting Logix5000 Controller Status Values with GSV/SSV Instructions
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
GS2e56r
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.
12--20 Exercise: Retrieving and Setting Logix5000 Controller Status Values with GSV/SSV Instructions
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
GS2e56r
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.
The first element of the
address (Year) must be
selected.
12--21 Exercise: Retrieving and Setting Logix5000 Controller Status Values with GSV/SSV Instructions
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
GS2e56r
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
12--22 Exercise: Retrieving and Setting Logix5000 Controller Status Values with GSV/SSV Instructions
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
GS2e56r
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
12--23 Exercise: Retrieving and Setting Logix5000 Controller Status Values with GSV/SSV Instructions
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
GS2e56r
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:
12--24 Exercise: Retrieving and Setting Logix5000 Controller Status Values with GSV/SSV Instructions
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
GS2e56r
Lesson 13
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
BTDsb56r
Programming a BTD Instruction in
an RSLogix 5000 Project
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.
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.
What You Will Learn
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.
13--2 Programming a BTD Instruction in an RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
BTDsb56r
The following example copies 6 bits to a different location in the
same tag:
value_1
Before BTD
Instruction
Source Bit
Destination (Dest) Bit
value_1
After BTD
Instruction
The shaded boxes show the bits that changed in value_1.
AFTER MOVE:
13--3 Programming a BTD Instruction in an RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
BTDsb56r
To program a BTD instruction.
BTD Instruction
This example gets status information about an I/O module and uses a
BTD instruction to make the information easier to use:
1.
5.
4.
3.
2.
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. The BTD instruction extracts bits 12 to 15 and stores them in a
separate tag.
5. It is now a lot easier to use the status information. If the value is
not 4, there is a problem.
Heres How
Example
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.
4. Click the MODULE link.
Remove the I/O module from the
chassis and point out the change in the
status value.
13--4 Programming a BTD Instruction in an RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
BTDsb56r
- Which side of the bit pattern is the first bit
- At what number the source or destination bit starts
Pay attention to these critical aspects of the demonstration:
Now its your turn. Complete Exercise A.
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.
Demonstration Checklist
Your Turn
13--5 Exercise: Programming a BTD Instruction in an RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
BTDe56r
Exercise: Programming a BTD
Instruction in an RSLogix 5000
Project
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 Bit Pattern Meaning
Bits 3--0 Reserved
Bits 7--4 0000 reserved
0001 flash update in progress
0010 reserved
0011 reserved
0100 flash is bad
0101 faulted
0110 run
0111 program
Bits 11--8 0001 recoverable minor fault
0010 unrecoverable minor fault
0100 recoverable major fault
1000 unrecoverable major fault
Bits 13--12 01 keyswitch in run
10 keyswitch in program
11 keyswitch in remote
Bits 15--14 01 controller is changing modes
10 debug mode if controller is in Run
mode
When you see underlined text, refer to the related procedure or
information in your job aid.
Exercise A
13--6 Exercise: Programming a BTD Instruction in an RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
BTDe56r
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 1
REM 3
7. Save the project.
8. Go offline.
Turn to the Answers section. How Did You Do?
13--7 Exercise: Programming a BTD Instruction in an RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
BTDe56r
13--8 Exercise: Programming a BTD Instruction in an RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
BTDe56r
Exercise A
3. The following graphic shows how to set up the BTD
instruction:
The GSV instruction that retrieves the Status attribute of the
controller and stores it in the Controller_Status tag.
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.
Answers
Rung 0
Rung 1
Lesson 14
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
MS2sb56r
Configuring a Logix5000 Message
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
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)
Messages to Logix5000 Controllers
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.
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.
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?
Answer: Using produced and consumed
tags (locally and over a Control
network).
Note that PLC-5 and SLC 500
controllers require Integer data.
14--2 Configuring a Logix5000 Message
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
MS2sb56r
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).
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.
The flow of the configuration process is shown in the following
graphic:
2. Create a Tag of the
Message Data Type
3. Program an
MSG Instruction
4. Configure the
MSG Instruction
1. Add the Destination Controller
Remind students that in other
controllers, the data file is already
created. In this controller, you must
define the memory area with a tag.
In the graphic, point out that the
Message tag is the main operand in the
MSG instruction.
14--3 Configuring a Logix5000 Message
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
MS2sb56r
To continuously enable a message, condition the message with an
XIO instruction that examines the message control word enable bit:
Read, Write, and Block Transfer Parameters
The following is an example of a configuration screen for a read
message:
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:
-- For a read message type, the source element is the address of
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.
Mention that complete demonstration
including how to select the values used
in the dialog box will be presented in the
Heres How demonstration.
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.
Note that RSLogix 5000, version 10 and
higher, provides many enhancements for
sharing data with SLC 500 controllers.
Note that a read instruction helps
identify the source of the data. Writes do
not identify the destination.
Example: The tag timer1 is one element
that consists of one timer structure.
14--4 Configuring a Logix5000 Message
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
MS2sb56r
Cache Connections: A bit that instructs the controller to
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
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
Module Name
Numeric Communications Path
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
Note that entering a numeric path is
included in the Procedures Guide. A
detailed example is also included.
Review the path rules in the Procedures
Guide.
Point out the following in the address:
S 1 represents the path out the
backplane of the controller.
S ENET_Module is the name of the
selected module.
S 2 represents the Ethernet
port.
S The IP address is the IP address of
the destination module.
S 1 represents the path from the
destination module to the controller
across the backplane.
S 3 represents the slot number of the
destination controller.
"
Tip
"
Tip
Note that a CIP message can send
configuration information to a module
that can be conditioned by an operator
input.
14--5 Configuring a Logix5000 Message
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
MS2sb56r
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:
-- 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
While online, message errors can be identified in RSLogixt5000
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.
Note that a hex code for the Service
type is not always required as of
RSLogix 5000 software, version 10.
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
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.
14--6 Configuring a Logix5000 Message
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
MS2sb56r
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).
- Location of the procedures in the job aid
- How to open the Message Configuration dialog box
- Cache Connections option
Pay attention to these critical aspects of the demonstration:
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 the CCP143_1756r_DEM2.acd
project during the demonstration.
Demonstration Checklist
14--7 Exercise: Configuring a Logix5000 Message
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
MS2e56r
Exercise: Configuring a Logix5000
Message
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:
Network
Remote Line
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.
Exercise A
14--8 Exercise: Configuring a Logix5000 Message
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
MS2e56r
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.
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.
The timer value (Count_Passed.ACC) is a DINT.
The message stores the value in a new tag called
Count_Passed_Line_2.
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.
"
Tip
"
Tip
"
Tip
14--9 Exercise: Configuring a Logix5000 Message
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
MS2e56r
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.
- 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.
Turn to the Answers section.
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.
"
Tip
How Did You Do?
Exercise B
14--10 Exercise: Configuring a Logix5000 Message
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
MS2e56r
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.
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
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.
"
Tip
"
Tip
14--11 Exercise: Configuring a Logix5000 Message
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
MS2e56r
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.
Turn to the Answers section. How Did You Do?
14--12 Exercise: Configuring a Logix5000 Message
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
MS2e56r
Exercise A
5. The I/O configuration for an EtherNet/IP network should
appear as follows:
Message Source
Local Comm Module
Remote Comm Module
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
Answers
14--13 Exercise: Configuring a Logix5000 Message
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
MS2e56r
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:
14--14 Exercise: Configuring a Logix5000 Message
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
MS2e56r
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
Controller-Scoped Message Control Tag
Input Module Selected on
the Communications Tab
Lesson 15
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
AOILsb56r
Developing an Add-On Instruction
in Ladder Diagram
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
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
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
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
Explain that add-on instructions are
similar to subroutines. Point out the
advantages and tradeoffs of add-on
instructions as you go along.
Before You Begin
15--2 Developing an Add-On Instruction in Ladder Diagram
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
AOILsb56r
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.
Explain that an add-on instruction
executes similar to a subroutine. You
give it inputs, execute some code, and
get outputs.
15--3 Developing an Add-On Instruction in Ladder Diagram
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
AOILsb56r
An Add-On Instruction Uses a Definition
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.
These are instances of the instruction.
Point out that with a subroutine you
need a copy of it in each program that
uses the subroutine.
15--4 Developing an Add-On Instruction in Ladder Diagram
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
AOILsb56r
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.
15--5 Developing an Add-On Instruction in Ladder Diagram
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
AOILsb56r
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:
15--6 Developing an Add-On Instruction in Ladder Diagram
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
AOILsb56r
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:
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.
15--7 Developing an Add-On Instruction in Ladder Diagram
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
AOILsb56r
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.
15--8 Developing an Add-On Instruction in Ladder Diagram
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
AOILsb56r
Change the default values within the Local Tags tab:
Add-On Instruction Design Considerations
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.
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.
Mention that default value changes can
also be done in:
S Context menu
(Controller Organizer only)
S Data Monitor
S Logic Editor
S Watch Pane
"
Tip
?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.
15--9 Developing an Add-On Instruction in Ladder Diagram
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
AOILsb56r
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?
D. State of the photoeye that detects the product Output parameter
Input parameter
Local tag
n
n n
E. How long to let the photoeye stay on before the instruction flags a jam. You
want to be able to configure this value.
Output parameter
Input parameter
Local tag
n

F. Flag that there is a jam. You want to see this and use it in your application
code.
Output parameter
Input parameter
Local tag
n n
G. Timer that times how long the photoeye is on. You really dont care about
the accumulated value.
Output parameter
Input parameter
Local tag n

Now its your turn. Do Exercise A and return here when youre done.
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.
Your Turn
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.
15--10 Developing an Add-On Instruction in Ladder Diagram
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
AOILsb56r
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
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
Before You Begin
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.
15--11 Developing an Add-On Instruction in Ladder Diagram
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
AOILsb56r
Optional Scan Mode Routines
The controller executes the Logic routine of an add-on instruction
like this:
When this happens . . . The controller . . . Notes
1. Controller goes to Run mode. 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.
2.
EnableIn parameter of the add-on
instruction is true
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.
3.
EnableIn parameter of the add-on
instruction is false
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.
4.
The last scan of a step of an SFC
thats configured for automatic reset
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.
15--12 Developing an Add-On Instruction in Ladder Diagram
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
AOILsb56r
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.
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.
Now its your turn. Do Exercise B and return here when youre done.
Heres How
Keep the visuals open. Present the
decision. Then apply it to the example.
Example
Your Turn
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.
15--13 Developing an Add-On Instruction in Ladder Diagram
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
AOILsb56r
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:
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:
Before You Begin
Point out that this is similar to accessing
the data of a timer or counter.
15--14 Developing an Add-On Instruction in Ladder Diagram
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
AOILsb56r
Editing an Add-On Instruction
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
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.
Beginning with version 17 of RSLogix 5000, you can import a new
add-on instruction while online to a running controller.
Point out that this is one advantage of
subroutines over add-on instructions.
You can edit a subroutine online.
Compare this to a subroutine. You can
export a subroutine only if you wrote it in
ladder diagram.
"
Tip
15--15 Developing an Add-On Instruction in Ladder Diagram
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
AOILsb56r
Online Safety Warning
When performing any tasks online, keep the following warning in
mind:
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 importing
add-on instructions, verify the current
communications mode using the Online toolbar.
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.
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.
15--16 Developing an Add-On Instruction in Ladder Diagram
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
AOILsb56r
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.
To create an add-on instruction:
Activity: As your instructor demonstrates this procedure, follow
along in the associated job aid(s).
Youve already done the first part of this procedure when you
planned the parameters for the instruction.
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.
The project already has the
workstation tags that you need.
"
Tip
15--17 Developing an Add-On Instruction in Ladder Diagram
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
AOILsb56r
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
Example
15--18 Developing an Add-On Instruction in Ladder Diagram
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
AOILsb56r
Enter the Definition Logic
Create the Parameters and Local Tags
Input Parameter
BOOL
Required
Input Parameter
DINT
Not Required
Not Visible
Local Tag
Output Parameter
BOOL
Not Required
Visible
You can copy this logic from the
Detect_Jam_Routine in the
Unscheduled Programs folder.
When youre done, click the Help tab of
the definition and show the finished
instruction.
15--19 Developing an Add-On Instruction in Ladder Diagram
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
AOILsb56r
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.
Search the Sample Code Library
(samplecode.rockwellautomation.com)
Fill in the following:
Product Family
Product
Technologies
Example of Search Result
Example
If you have time, show the Video
Faceplate/Add--On Instruction Sets to
the class.
15--20 Developing an Add-On Instruction in Ladder Diagram
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
AOILsb56r
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).
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.
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).
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.
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.
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 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.
15--21 Exercise: Developing an Add-On Instruction in Ladder Diagram
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
AOILe56r
Exercise: Developing an Add-On
Instruction in Ladder Diagram
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
Contact for the motor
Pushbutton that starts 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.
Exercise A
15--22 Exercise: Developing an Add-On Instruction in Ladder Diagram
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
AOILe56r
Value Use? Required? Visible?
A. State of the pushbutton that starts the motor Output parameter
Input parameter
Local tag

B. State of the pushbutton that stops the motor Output parameter
Input parameter
Local tag

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.
Output parameter
Input parameter
Local tag

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.
Output parameter
Input parameter
Local tag

E. Bit that signals the motor to start Output parameter
Input parameter
Local tag

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.
Output parameter
Input parameter
Local tag

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.
Output parameter
Input parameter
Local tag

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.
Output parameter
Input parameter
Local tag

I. Fault bit that shows you that the auxiliary contact timed out and the motor
didnt start or stop as commanded
Output parameter
Input parameter
Local tag

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.
Output parameter
Input parameter
Local tag

K. Bit that youll turn on to clear the fault bit. You want to option to use it or not. Output parameter
Input parameter
Local tag

Turn to the Answers section. How Did You Do?
15--23 Exercise: Developing an Add-On Instruction in Ladder Diagram
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
AOILe56r
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?
- Yes
- No
Turn to the Answers section.
Exercise B
How Did You Do?
15--24 Exercise: Developing an Add-On Instruction in Ladder Diagram
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
AOILe56r
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.
Exercise C
15--25 Exercise: Developing an Add-On Instruction in Ladder Diagram
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
AOILe56r
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 Fault_Timer.PRE 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
15--26 Exercise: Developing an Add-On Instruction in Ladder Diagram
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
AOILe56r
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.
15--27 Exercise: Developing an Add-On Instruction in Ladder Diagram
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
AOILe56r
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.
Turn to the Answers section.
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.
How Did You Do?
Exercise D
15--28 Exercise: Developing an Add-On Instruction in Ladder Diagram
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
AOILe56r
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.
Turn to the Answers section. How Did You Do?
15--29 Exercise: Developing an Add-On Instruction in Ladder Diagram
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
AOILe56r
15--30 Exercise: Developing an Add-On Instruction in Ladder Diagram
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
AOILe56r
Exercise A
Value Use? Required? Visible? Reason
A. State of the
pushbutton that
starts the motor
Output parameter
Input parameter
Local tag
n
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.
B. State of the
pushbutton that
stops the motor
Output parameter
Input parameter
Local tag
n
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.
C. State of the
pushbutton that jogs
the motor
Output parameter
Input parameter
Local tag
n

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.
D. Bit that stores the
combined status of
the start and stop
inputs.
Output parameter
Input parameter
Local tag n

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.
E. Bit that signals the
motor to start
Output parameter
Input parameter
Local tag
n n 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.
F. State of the motors
auxiliary contact.
Output parameter
Input parameter
Local tag
n

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.
G. Timeout value in
milliseconds to wait
for the auxiliary
contact to open or
close.
Output parameter
Input parameter
Local tag
n

Its an input parameter because you 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.
Output parameter
Input parameter
Local tag n

Its an internal storage bit. Theres no need to
access it.
I. Fault bit that shows
you that the auxiliary
contact timed out
Output parameter
Input parameter
Local tag
n
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.
J. Timer that creates a
timeout for the
auxiliary contact
Output parameter
Input parameter
Local tag n
Theres no need to access the timer.
K. Bit that youll turn on
to clear the fault bit
Output parameter
Input parameter
Local tag
n

You want to be able to see it, but you also dont
want to have to use it.
Answers
15--31 Exercise: Developing an Add-On Instruction in Ladder Diagram
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
AOILe56r
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:
15--32 Exercise: Developing an Add-On Instruction in Ladder Diagram
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
AOILe56r
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:
15--33 Exercise: Developing an Add-On Instruction in Ladder Diagram
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
AOILe56r
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:
15--34 Exercise: Developing an Add-On Instruction in Ladder Diagram
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
AOILe56r
Lesson 16
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
FI2sb56r
Managing RSLogix 5000 Project
Files
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.
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
In any format, the entire project, including tags, documentation,
ladder logic, etc. is contained in a single file.
What You Will Learn
Before You Begin
"
Tip
16--2 Managing RSLogix 5000 Project Files
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
FI2sb56r
Exporting a .acd Project File
Using a Windowsr save procedure, a project is stored as a .acd
file:
Save Bottling.acd
Because RSLogix 5000 projects contain tag
names, the .acd files can be large.
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.
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:
Export
(Save As)
Bottling.acd 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:
Export
(Save As)
Bottling.acd Bottling.l5x - XML File
Original File Is Maintained
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.
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.
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.
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.
Mention that when importing, if a file with
the same name already exists, you will
overwrite it.
"
Tip
Mention that .l5x files can also be used
to import and export project components
such as routines, programs, phases,
add-on instructions, and UDTs.
16--3 Managing RSLogix 5000 Project Files
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
FI2sb56r
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:
Import
(Open)
Bottling.acd - Import File Bottling.l5k
(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:
Import/Export Version
RSLogix 5000 Software Version
16--4 Managing RSLogix 5000 Project Files
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
FI2sb56r
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:
Import
(Open)
Bottling.acd - Import File Bottling.l5x
(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.
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.
"
Tip
If students are familiar with
add-on instructions, mention
that starting with v.16, add-on
instructions could be imported/exported
using .l5x files.
16--5 Managing RSLogix 5000 Project Files
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
FI2sb56r
Multiple Backup Files
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)
This tool can only be used for .acd files created in version 10 or later.
The report can be saved as an HTML file or XML file.
Call out the benefits of this feature:
S Allows you to back out of unwanted
changes by moving to an earlier file
S 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.
"
Tip
"
Tip
16--6 Managing RSLogix 5000 Project Files
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
FI2sb56r
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).
- 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
Pay attention to these critical aspects of the demonstration:
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 the CCP143_1756r_DEM2.acd
project during the demonstration.
Demonstration Checklist
16--7 Exercise: Managing RSLogix 5000 Project Files
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
FI2e56r
Exercise: Managing RSLogix 5000
Project Files
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.
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).
Exercise A
"
Tip
16--8 Exercise: Managing RSLogix 5000 Project Files
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
FI2e56r
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.
16--9 Exercise: Managing RSLogix 5000 Project Files
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
FI2e56r
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.
Turn to the Answers section. How Did You Do?
16--10 Exercise: Managing RSLogix 5000 Project Files
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
FI2e56r
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:
Import/Export Version
RSLogix 5000 Software Version
Major Revision
Major Revision
Minor Revision
Chassis Size
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.
Answers
Lesson 17
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
CO2sb56r
Allocating Connections in a
Logix5000 System
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.
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
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.
What You Will Learn
Before You Begin
Clarify that a connection is a completed
communications link and not a physical
connection on a network.
Have students find the manual
and use it for the steps below.
Give them a few minutes to look
through the tables.
17--2 Allocating Connections in a Logix5000 System
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
CO2sb56r
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.
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 3
Weight (Real) Weight 3
W_Flag (Dint) W_Flag 3
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 Produced Tag Connections
Height (Dint)
Load_Info (user-defined
data type made of source
tags)
3 (1 tag plus 2 consumers)
Width (Dint)
Weight (Real)
W_Flag (Dint)
L_Flag (Dint)
3 connections
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.
17--3 Allocating Connections in a Logix5000 System
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
CO2sb56r
Message Connections
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
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.
2. Briefly read the tables for local and remote connection tallies.
3. Use the tables to tally the connections for an example system
your instructor gives you.
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.
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 demonstrate, tally the connections for
an example system this way:
1. Describe a device and its quantity
and have the students determine the
connection type and total connection
from the tables.
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.
17--4 Allocating Connections in a Logix5000 System
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
CO2sb56r
To check connections in RSLogix 5000 with the Task Monitor tool. 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 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.
17--5 Exercise: Allocating Connections in a Logix5000 System
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
CO2e56r
Exercise: Allocating Connections
in a Logix5000 System
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?
Turn to the Answers section.
Exercise A
How Did You Do?
17--6 Exercise: Allocating Connections in a Logix5000 System
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
CO2e56r
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) 4 1 4
SERCOS Motion module 0 3 0
Local ControlNet communication module 1 0 0
Local EtherNet/IP communication module 0 0 0
Local DeviceNet communication module 0 2 0
Local DH+/Remote I/O communication module 0 1 0
Local DH--485 communication module 0 1 0
RSLogix 5000 software access to controller 1 1 1
Remote ControlNet communication module 1 0 0
Remote EtherNet/IP communication module 0 0 0
Other remote communication adapter 0 1 0
Remote I/O modules (direct connections) 1 1 1
Produced tags -- -- --
Produced tag and first consumer 2 2 4
Each additional consumer 1 1 1
Consumed tags 1 1 1
Connected message (CIP Data Table Read/Write and DH+) 2 1 2
Block-transfer message 0 1 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.
Answers
Lesson 18
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
INPsb56r
Integrated Practice Developing
an RSLogix 5000 Project
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
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 Logix5000tcontroller
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
What You Will Learn
18--2 Integrated Practice Developing an RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
INPsb56r
18--3 Exercise: Integrated Practice Developing an RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
INPe56r
Exercise: Integrated Practice
Developing an RSLogix 5000
Project
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.
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:
Catalog
Number
Channel
Scaling
Alarms Limits
High Signal High Eng.
High High
High
Clamp High
Low Signal Low Eng.
Low
Low
Clamp Low Low
OF6VI
(0--10V)
0
10.0 10.0
--
10
--
0.0 0.0
--
--10
--
1
10.0 10.0
--
10
--
0.0 0.0
--
--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.
Exercise A
"
Tip
18--4 Exercise: Integrated Practice Developing an RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
INPe56r
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 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
18--5 Exercise: Integrated Practice Developing an RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
INPe56r
Devices on the standard workstation are arranged and wired in the
following manner:
DI0
DI4
DO0
DO1
DI1
DO3
DI5
DO4
DI2
DO6
DI6
DO7
Analog Input
Analog Input
Analog Meter
Analog Meter
AO0
AO1
AI0
AI1
Label Description Slot I/O Tag I/O Tag for Alternate Wiring
Digital Inputs
DI4 Digital Input 4 2 Local:2:I.Data.4
DI5 Digital Input 5 2 Local:2:I.Data.5
Digital Outputs
DO1 Digital Output 1 0 Local:0:O.Data.1
DO4 Digital Output 4 0 Local:0:O.Data.4
DO7 Digital Output 7 4 Local:4:O.Data.7
Analog Outputs AO1 Analog Output 1 7 Local:7:O.Ch1Data
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.
"
Tip
"
Tip
18--6 Exercise: Integrated Practice Developing an RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
INPe56r
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.
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
Analog Input
Analog Input
Analog Meter
Analog Meter
F
A
G
Remote
Workstation
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.
"
Tip
18--7 Exercise: Integrated Practice Developing an RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
INPe56r
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 Input
Analog Input
Analog Meter
Analog Meter
F A
G
Remote
Workstation
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.
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).
"
Tip
18--8 Exercise: Integrated Practice Developing an RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
INPe56r
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.
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.
Turn to the Answers section.
"
Tip
How Did You Do?
18--9 Exercise: Integrated Practice Developing an RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
INPe56r
18--10 Exercise: Integrated Practice Developing an RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
INPe56r
Exercise A
2. The main configuration screens for the analog module are
shown in the following graphics:
(Continued)
Answers
18--11 Exercise: Integrated Practice Developing an RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
INPe56r
18--12 Exercise: Integrated Practice Developing an RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
INPe56r
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:
18--13 Exercise: Integrated Practice Developing an RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
INPe56r
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:
18--14 Exercise: Integrated Practice Developing an RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
INPe56r
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)
18--15 Exercise: Integrated Practice Developing an RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
INPe56r
Your message instruction configuration should look similar to
the following:
18--16 Exercise: Integrated Practice Developing an RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
INPe56r
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:
18--17 Exercise: Integrated Practice Developing an RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
INPe56r
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:
18--18 Exercise: Integrated Practice Developing an RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
INPe56r
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)
18--19 Exercise: Integrated Practice Developing an RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
INPe56r
The following example shows the slot 3 I/O configuration for a
ControlNet network:
Your ControlNet node numbers may vary based on network
configuration.
The following example shows the consumed tag in the slot 3
controller:
"
Tip
18--20 Exercise: Integrated Practice Developing an RSLogix 5000 Project
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
INPe56r
Optional Lesson 19
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
CN2sb56r
Configuring Logix5000 Controllers
to Share Data over a ControlNet
Network
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:
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.
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
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
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
Remind students that the ControlNet
network is the technology of the
backplane in a network.
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.
In the graphic, review the devices on the
ControlNet network. Cite specific
examples.
19--2 Configuring Logix5000 Controllers to Share Data over a ControlNet Network
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
CN2sb56r
Common nodes that are connected to a ControlNet network using a
cable system are shown in the following graphic:
VersaView
Operator Interface
Computer
PLC-5/40C Controller
ControlNet Network
ControlLogix System ControlLogix System
ControlLogix System
CompactLogix
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.
19--3 Configuring Logix5000 Controllers to Share Data over a ControlNet Network
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
CN2sb56r
Cable System
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
Segment Connectors
Terminator
Repeater
Tap
Node
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.
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.
Point out each component of the
ControlNet cable system connecting
workstations in the classroom. If you
have a repeater, show it to the students.
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.
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.
19--4 Configuring Logix5000 Controllers to Share Data over a ControlNet Network
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
CN2sb56r
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
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
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
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)
"
Tip
Note that this document is part of the
Logix5000 Documentation Reference
Guide.
?What type of data would be
considered time critical for your
application?
"
Tip
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.
19--5 Configuring Logix5000 Controllers to Share Data over a ControlNet Network
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
CN2sb56r
Information Exchange on the ControlNet Network
The following graphic shows the transfer of information over the
ControlNet network using the Producer/Consumer model:
Establish
Connection
Communication Close
Connection
A producer sends a
message to the target
consumer by using a
network address.
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
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)
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.
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.
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.
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.
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.
19--6 Configuring Logix5000 Controllers to Share Data over a ControlNet Network
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
CN2sb56r
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:
NUT
. . .
. . .
Scheduled
Operations
Unscheduled
Operations
Maintenance Update
(Guardband)
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)
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.
"
Tip
?What will happen during the second
NUI shown?
Answer: Data will be transmitted again
in priority order.
Note that the maintenance update
includes diagnostics and
communications.
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.
19--7 Configuring Logix5000 Controllers to Share Data over a ControlNet Network
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
CN2sb56r
Example: SMAX
Here is the order of scheduled data transfer:
NUT
. . .
. . .
1
Slot Time SMAX
2
3
4 . . . n
1
2
3
4 . . . n
1
3
4 . . . n
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)
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.
?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.
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.
19--8 Configuring Logix5000 Controllers to Share Data over a ControlNet Network
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
CN2sb56r
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
Here is the rotating order of unscheduled data transfer:
NUT
. . .
. . .
7
UMAX
8
9
8
9
10
11
10
11
12
1
2
3
9
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
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
?If UMAX was reached in the second
NUI, which node would transmit
unscheduled data first in the
third NUI?
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).
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.
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.
19--9 Configuring Logix5000 Controllers to Share Data over a ControlNet Network
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
CN2sb56r
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)
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)
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.
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.
Add the term API to the acronym list on
the white board. Ask the students for a
short definition.
19--10 Configuring Logix5000 Controllers to Share Data over a ControlNet Network
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
CN2sb56r
Example: RPI and API
The requested transmit time versus the actual transmit time is
illustrated in the following graphic:
NUT = 2 ms
RPI for discrete data = 10 ms API for discrete data = 8 ms
Data Data
Interval 1 Interval 2 Interval 3 Interval 4 Interval 5
2 ms 2 ms 2 ms 2 ms 2 ms
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
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.
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
S 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.
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.
19--11 Configuring Logix5000 Controllers to Share Data over a ControlNet Network
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
CN2sb56r
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:
Local ControlNet Module
Remote (Producing) Controller
Remote ControlNet Module
Produced and Consumed Tags
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.
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.
Add that it is not necessary or even
possible to add the controller running the
project to the configuration.
Note that the produced and consumed
tags are created just as they were
created for transfers over the backplane.
19--12 Configuring Logix5000 Controllers to Share Data over a ControlNet Network
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
CN2sb56r
To read the connected nodes on the network and build a network
diagram, an online connection must be established using RSNetWorx
for ControlNet software:
Network
Diagram
Online Option
Online Bandwidth
Percentages
Enable Edits
Option
The online Average Scheduled Bandwidth
percentage should not exceed 50% or 60%.
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.
19--13 Configuring Logix5000 Controllers to Share Data over a ControlNet Network
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
CN2sb56r
After going online, the NUT, SMAX, UMAX, and redundancy
parameters are configured in RSNetWorx for ControlNet software:
Current Online
Values
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.
RSNetWorx software communicates with the controller through
RSLinx Classic software.
Using the values in the Pending side of
the graphic, review the following terms:
S NUT -- Data updates every 5 ms.
S SMAX -- Up to 9 controllers or other
scheduled devices.
S UMAX -- Up to 24 programming or
other nonscheduled devices.
Note that the ControlNet scheduling
information is saved in a .xc
configuration file.
?What other main function
requires RSLinx Classic software?
Answer: Drivers are configured in
RSLinx Classic software.
"
Tip
19--14 Configuring Logix5000 Controllers to Share Data over a ControlNet Network
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
CN2sb56r
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).
- 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
Pay attention to these critical aspects of the demonstration:
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.
Be sure to use the
CCP143_1756R_DEM6.acd file and
CCP143_1756R_DEM7.acd file.
Demonstration Checklist
19--15 Exercise: Configuring Logix5000 Controllers to Share Data over a ControlNet Network
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
CN2e56r
Exercise: Configuring Logix5000
Controllers to Share Data over a
ControlNet Network
In this exercise, you will practice configuring a local Logix5000
controller to share data with a remote Logix5000 controller over a
ControlNettnetwork.
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.
ControlNet Network
Production Line 1
Production Line 2
nProduced
Consumed
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:
Member Data type Description
AI0 REAL Analog Input channel 0
AI1 REAL Analog Input channel 1
DI DINT Digital Inputs
Exercise A
19--16 Exercise: Configuring Logix5000 Controllers to Share Data over a ControlNet Network
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
CN2e56r
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.)
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.
"
Tip
19--17 Exercise: Configuring Logix5000 Controllers to Share Data over a ControlNet Network
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
CN2e56r
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.
Turn to the Answers section. How Did You Do?
19--18 Exercise: Configuring Logix5000 Controllers to Share Data over a ControlNet Network
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
CN2e56r
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:
Answers
19--19 Exercise: Configuring Logix5000 Controllers to Share Data over a ControlNet Network
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
CN2e56r
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:
19--20 Exercise: Configuring Logix5000 Controllers to Share Data over a ControlNet Network
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
CN2e56r
10. The consumed tag should look similar to the following
example:
11. Your ladder logic should look similar to the following example:
19--21 Exercise: Configuring Logix5000 Controllers to Share Data over a ControlNet Network
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
CN2e56r
12. Your ladder logic should look similar to the following example:
19--22 Exercise: Configuring Logix5000 Controllers to Share Data over a ControlNet Network
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
CN2e56r
Optional Lesson 20
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
RC2sb56r
Communicating with a 1756-I/O
Module Over a ControlNet Network
After completing this lesson, you should be able to:
Add a remote 1756-I/O module to an I/O configuration
Reschedule an existing ControlNettnetwork
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
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.
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:
For this remote module
If data is multicast in the same
chassis
If data Is transferred across a ControlNet network
Digital Input
RPI and COS values define when the
module multicasts data within its own
chassis.
The RPI only determines when the owner controller receives the data
over the network.
" 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.
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.
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.
Before You Begin
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.
20--2 Communicating with a 1756-I/O Module Over a ControlNet Network
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
RC2sb56r
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).
- 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
Pay attention to these critical aspects of the demonstration:
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.
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.
Demonstration Checklist
20--3 Exercise: Communicating with a 1756-I/O Module Over a ControlNet Network
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
RC2e56r
Exercise: Communicating with a
1756-I/O Module Over a ControlNet
Network
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:
ControlNet Network
Local
Chassis
Remote
Chassis
Production
Line Active
Production Line
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.
Exercise A
"
Tip
20--4 Exercise: Communicating with a 1756-I/O Module Over a ControlNet Network
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
RC2e56r
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.
Turn to the Answers section. How Did You Do?
20--5 Exercise: Communicating with a 1756-I/O Module Over a ControlNet Network
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
RC2e56r
20--6 Exercise: Communicating with a 1756-I/O Module Over a ControlNet Network
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
RC2e56r
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:
Answers
20--7 Exercise: Communicating with a 1756-I/O Module Over a ControlNet Network
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
RC2e56r
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:
20--8 Exercise: Communicating with a 1756-I/O Module Over a ControlNet Network
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
RC2e56r
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:
20--9 Exercise: Communicating with a 1756-I/O Module Over a ControlNet Network
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
RC2e56r
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
20--10 Exercise: Communicating with a 1756-I/O Module Over a ControlNet Network
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
RC2e56r
Appendix A
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
WDAa56r
I/O Wiring Diagrams For The
Assembly Application
Slot 0 - 1756-OB16D Digital Output Module
WORKSTATION
DEVICE LABEL
- GREEN PILOT LIGHT
G
A
R
- AMBER PILOT LIGHT
- RED PILOT LIGHT
1
DO0
G
OUT- 0 2
4
6
8
10
12
14
16
18
20
22
24
26
28
30
32
34
36
+DC- 0
+DC- 0
+DC- 0
+DC- 0
+DC- 0
+DC- 0
+DC- 0
GND- 0
+DC- 1
+DC- 1
+DC- 1
+DC- 1
+DC- 1
+DC- 1
+DC- 1
GND- 1
GND- 1
Not Used
B
L
A
C
K
B
L
A
C
K
RED
RED
24VDC
3
9
OUT- 1
OUT- 4
G
R
DO1
DO4
7
OUT- 3
A
DO3
11 OUT- 5
DO5
OUT- 2
DO2
5 R
A
APPLICATION
OUTPUT
CONVEYOR
STATION OUTPUT (WELD)
STATION OUTPUT (STAKE)
STATION OUTPUT (PRESS)
A--2 I/O Wiring Diagrams For The Assembly Application
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
WDAa56r
Slot 2 - 1756-IB16D Digital Input Module
- SELECTOR SWITCH
DI4
DI5
1
9
11
DI0
IN- 0
IN- 4
2
4
6
8
10
12
14
16
18
20
22
24
26
28
30
32
34
36
GND- 0
GND- 0
GND- 0
GND- 0
GND- 1
GND- 1
GND- 1
GND- 1
GND- 2
GND- 2
GND- 2
GND- 2
GND- 3
GND- 3
GND- 3
GND- 3
GND- 3
NOT USED
B
L
A
C
K
BLACK
- NORMALLY OPEN PUSHBUTTON
BLACK
BLACK
15
13
21
23
17
19
27
25
33
35
29
31
NOT USED
NOT USED
IN- 5
IN- 6
IN- 7
IN- 8
IN- 9
IN- 10
IN- 11
IN- 12
IN- 15
DI7
DI9
DI10
DI11
DI6
DI8
DI15
DI12
LABEL
WORKSTATION
DEVICE
3
DI1
IN- 1
5
DI2
IN- 2
7
DI3
IN- 3
IN- 14
DI14
IN- 13
DI13
+24VDC
APPLICATION
OUTPUT
START
PART SENSOR
STOP
READ REMOTE TOTAL
PART SENSOR FAULT RESET
A--3 I/O Wiring Diagrams For The Assembly Application
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
WDAa56r
Slot 4 - 1756-OB16D Digital Output Module
DO7
DO9
DO10
DO11
- GREEN PILOT LIGHT G
A
R
- AMBER PILOT LIGHT
- RED PILOT LIGHT
G
A
R
13
19
21
15
17
DO6
DO8
G
A
R
OUT- 6
OUT- 7
OUT- 8
OUT- 9
OUT- 10
OUT- 11
2
4
6
8
10
12
14
16
18
20
22
24
26
28
30
32
34
36
+DC- 0
+DC- 0
+DC- 0
+DC- 0
+DC- 0
+DC- 0
+DC- 0
GND- 0
+DC- 1
+DC- 1
+DC- 1
+DC- 1
+DC- 1
+DC- 1
+DC- 1
GND- 1
GND- 1
NOT USED
B
L
A
C
K
B
L
A
C
K
RED
RED
+24VDC
23
LABEL
WORKSTATION
DEVICE
APPLICATION
OUTPUT
PART SENSOR FAULT INDICATOR
STATION OUTPUT (REJECT)
STATION OUTPUT (PALLETIZE)
LINE ACTIVE
A--4 I/O Wiring Diagrams For The Assembly Application
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
WDAa56r
Slot 7 - 1756-OF6VI Analog Output Module
NOT USED
3
1
9
11
5
7
2
4
6
8
10
12
14
16
18
20
15
13
17
19
OUT- 0
RTN- 0
OUT- 2
NOT USED
RTN- 2
OUT- 4
RTN- 4
NOT USED
NOT USED
NOT USED
OUT- 1
RTN- 1
OUT- 3
NOT USED
RTN- 3
OUT- 5
RTN- 5
NOT USED
NOT USED
WORKSTATION
DEVICE
AO1 (Channel 1)
WORKSTATION
DEVICE
AO0
Return
AO1
Return
AO0 (Channel 0)
A--5 I/O Wiring Diagrams For The Assembly Application
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
WDAa56r
Slot 8 - 1756-IF6I Analog Input Module
IN- 0/I
AI0
(Channel 0)
3
1
9
11
5
7
2
4
6
8
10
12
14
16
18
20
15
13
17
19
IN- 0/V
RET- 0
IN- 2/V
IN- 2/I
RET- 2
IN- 4/V
RET- 4
NOT USED
IN- 4/I
IN- 1/I
IN- 1/V
RET- 1
IN- 3/V
IN- 3/I
RET- 3
IN- 5/V
RET- 5
NOT USED
IN- 5/I
WORKSTATION
DEVICE
AI1
Return
AI1
(Channel 1)
AI0
Return
WORKSTATION
DEVICE
+10VDC +10VDC
A--6 I/O Wiring Diagrams For The Assembly Application
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
WDAa56r
Appendix B
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
WI3a56r
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):
D
I
0
D
I
1
D
I
3
D
I
4
D
I
1
1
D
I
1
3
D
I
7
D
I
6
D
I
1
0
D
I
1
2
D
I
5
D
I
9
D
I
8
D
I
1
4
D
I
1
5
D
O
0
D
O
1
D
O
2
D
O
3
D
O
4
D
O
5
D
O
7
D
O
8
D
O
9
D
O
1
0
D
O
1
1
I
n
p
u
t
s
R
u
n
L
e
f
t
t
o
R
i
g
h
t
(
A
l
l
W
i
r
e
d
t
o
S
l
o
t
2
)
O
u
t
p
u
t
s
(
0
-
5
i
n
S
l
o
t
0
)
D
I
2
D
O
6
C
h
0
0
A
n
a
l
o
g
M
e
t
e
r
I
n
p
u
t
C
h
0
1
A
n
a
l
o
g
M
e
t
e
r
I
n
p
u
t
C
h
0
0
A
n
a
l
o
g
M
e
t
e
r
O
u
t
p
u
t
C
h
0
1
A
n
a
l
o
g
M
e
t
e
r
O
u
t
p
u
t
O
u
t
p
u
t
s
(
6
-
1
1
i
n
S
l
o
t
4
)
B--2 ControlLogix Workstation I/O Device Assignments
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
WI3a56r
The devices used in the workstation have the following I/O base
tags:
Module Workstation Device I/O Base Tag
Digital Input
wired to Slot 2
DI0 Local:2:I.Data.0
DI1 Local:2:I.Data.1
DI2 Local:2:I.Data.2
DI3 Local:2:I.Data.3
DI4 Local:2:I.Data.4
DI5 Local:2:I.Data.5
DI6 Local:2:I.Data.6
DI7 Local:2:I.Data.7
DI8 Local:2:I.Data.8
DI9 Local:2:I.Data.9
DI10 Local:2:I.Data.10
DI11 Local:2:I.Data.11
DI12 Local:2:I.Data.12
DI13 Local:2:I.Data.13
DI14 Local:2:I.Data.14
DI15 Local:2:I.Data.15
Digital Output
wired to Slot 0
D00 Local:0.O.Data.0
D01 Local:0.O.Data.1
D02 Local:0.O.Data.2
D03 Local:0.O.Data.3
D04 Local:0.O.Data.4
D05 Local:0.O.Data.5
Digital Output
wired to Slot 4
D06 Local:4:O.Data.6
D07 Local:4:O.Data.7
D08 Local:4:O.Data.8
D09 Local:4:O.Data.9
D010 Local:4:O.Data.10
D011 Local:4:O.Data.11
Local I/O Tags
Appendix C
E2012 Rockwell Automation, Inc. All rights reserved. Rev. August 2012
NO3a56r
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:
Workstation
Number
EtherNet or EtherNet/IP
Network
ControlNet Network
1756-ENBT IP Address
1756-CNB
or
1756- CN2
Node
Address*
1784- PCICS
Card Node
Address
1784- PCC
Card Node
Address
1784-KTCX15 Interface
Card
1
2
3
4
5
6
7
8
9
10
C--2 Node Assignments
E2012 Rockwell Automation, Inc. All rights reserved.
Rev. August 2012
NO3a56r
The following are trademarks of Rockwell Automation, Inc.:
1336 FORCE 1336 IMPACT
1336 PLUS CompactLogix
ControlBus ControlLogix
Data Highway Plus DH+
DriveTools FactoryTalk
Flex FlexLogix
Logix5000 Logix5550
PanelBuilder PanelView
PLC-5 PHOTOSWITCH
PowerFlex RediSTATION
RSLinx RSLogix
RSView RSNetWorx
SCANPort SLC
SoftLogix 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 PowerPoint
Windows 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
E2012 Rockwell Automation, Inc. All rights reserved. Printed in USA

You might also like