Download FlexLogix System User Manual - Columbia Electric Supply Pasco
Transcript
FlexLogix System 1794-L33 and 1794-L34 User Manual Important User Information Because of the variety of uses for the products described in this publication, those responsible for the application and use of these products must satisfy themselves that all necessary steps have been taken to assure that each application and use meets all performance and safety requirements, including any applicable laws, regulations, codes and standards. In no event will Rockwell Automation be responsible or liable for indirect or consequential damage resulting from the use or application of these products. Any illustrations, charts, sample programs, and layout examples shown in this publication are intended solely for purposes of example. Since there are many variables and requirements associated with any particular installation, Rockwell Automation does not assume responsibility or liability (to include intellectual property liability) for actual use based upon the examples shown in this publication. Allen-Bradley publication SGI-1.1, Safety Guidelines for the Application, Installation and Maintenance of Solid-State Control (available from your local Rockwell Automation office), describes some important differences between solid-state equipment and electromechanical devices that should be taken into consideration when applying products such as those described in this publication. Reproduction of the contents of this copyrighted publication, in whole or part, without written permission of Rockwell Automation, is prohibited. Throughout this publication, notes may be used to make you aware of safety considerations. The following annotations and their accompanying statements help you to identify a potential hazard, avoid a potential hazard, and recognize the consequences of a potential hazard: WARNING ! ATTENTION ! IMPORTANT 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 about practices or circumstances that can lead to personal injury or death, property damage, or economic loss. Identifies information that is critical for successful application and understanding of the product. Allen-Bradley is a trademark of Rockwell Automation Preface Purpose of this Manual This manual guides the development of projects for FlexLogix controllers. It provides procedures on how to establish communications: · over the following networks – ControlNet – DeviceNet – EtherNet/IP – serial – DH-485 · with the following devices – controllers – I/O – workstations – PanelView terminals This manual works together with the Logix5000 Controllers Common Procedures Programming Manual, publication 1756-PM001, which covers the following tasks: · · · · · · Who Should Use This Manual 1 Manage project files Organize your logic Organize tags Program routines Test a project Handle faults This manual is intended for those individuals who program applications that use FlexLogix controllers, such as: · software engineers · control engineers · application engineers · instrumentation technicians Publication 1794-UM001E-EN-P - June 2003 Preface 2 When to Use This Manual Use this manual: · when you are ready to integrate your application with the I/0 devices, controllers, and networks in your system. · after you perform these actions: – develop the basic code for your application – perform isolated tests of your application How to Use this Manual This manual is divided into the basic tasks that you perform while programming a FlexLogix controller. Each chapter covers a main task, such as communicating over a specific network. For each main task, the chapter: · lists what you need · describes the steps to follow to accomplish that task · provides details for each step, as necessary · includes example system configurations Publication 1794-UM001E-EN-P - June 2003 Summary of Changes Introduction This version of the FlexLogix System User Manual corresponds to version 12 and later of the controller firmware. Revision bars (shown in the margin of this page) indicate changed information. Significant changes made to this manual include: For this updated information: See: Using the Event Task Chapter 2 FlexLogix Back-Up on DeviceNet Chapter 10 Additional minor changes not listed in the table above have been made to this manual. They are all marked by change bars. 1 Publication 1794-UM001E-EN-P - June 2003 Summary of Changes 2 Notes: Publication 1794-UM001E-EN-P - June 2003 Table of Contents Chapter 1 Getting Started Introduction . . . . . . . . . . . . . . . . . . . . . . Creating and Downloading a Project . . . . Creating a project . . . . . . . . . . . . . . . . . . Changing project properties. . . . . . . . . . . Adding a local input module . . . . . . . . . . Adding a local output module . . . . . . . . . Adding an extended-local analog module Changing module properties . . . . . . . . . . Viewing I/O tags. . . . . . . . . . . . . . . . . . . Creating other tags . . . . . . . . . . . . . . . . . Documenting I/O with alias tags . . . . . . . Entering logic . . . . . . . . . . . . . . . . . . . . . Downloading a project . . . . . . . . . . . . . . Viewing program scan time . . . . . . . . . . . Viewing controller memory usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-1 1-2 1-3 1-4 1-5 1-7 1-9 1-11 1-12 1-13 1-14 1-15 1-17 1-18 1-19 Using This Chapter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Developing Programs . . . . . . . . . . . . . . . . . . . . . . . . . . . Defining tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Defining programs . . . . . . . . . . . . . . . . . . . . . . . . . . . Defining routines . . . . . . . . . . . . . . . . . . . . . . . . . . . . Using the Event Task . . . . . . . . . . . . . . . . . . . . . . . . . . . Prioritizing Periodic and Event Tasks . . . . . . . . . . . . . Triggering the Event Task. . . . . . . . . . . . . . . . . . . . . . Programmatically Determine if an EVENT Instruction Triggered a Task . . . . . . . . . . . . . . . . . . . . . . . . . . . . How the FlexLogix System Uses Connections. . . . . . . . . . Determining Connections for Produced and Consumed Tags . . . . . . . . . . . . . . . . . . . . . . . . . . . . Determining Connections for Messages . . . . . . . . . . . . . . Determining Connections for I/O Modules . . . . . . . . . . . . Connections for local and extended-local I/O modules Connections for remote devices . . . . . . . . . . . . . . . . . Direct connections for I/O modules . . . . . . . . . . . . . . Rack-optimized connections for I/O modules . . . . . . . Combining direct and rack-optimized connections . . . Connections to remote ControlNet or EtherNet/IP devices . . . . . . . . . . . . . . . . . . . . . . . . . . Connections to DeviceNet devices . . . . . . . . . . . . . . . Determining Total Connection Requirements . . . . . . . . . . Local connections . . . . . . . . . . . . . . . . . . . . . . . . . . . Remote connections. . . . . . . . . . . . . . . . . . . . . . . . . . Downloading Projects . . . . . . . . . . . . . . . . . . . . . . . . . . . Selecting a System Overhead Percentage . . . . . . . . . . . . . . . . . . . . . 2-1 2-2 2-3 2-5 2-5 2-6 2-6 2-7 Chapter 2 What Is FlexLogix? 1 . 2-8 . 2-9 . . . . . . . . 2-10 2-11 2-12 2-12 2-13 2-13 2-14 2-14 . . . . . . . 2-15 2-16 2-17 2-19 2-19 2-20 2-21 Publication 1794-UM001E-EN-P - June 2003 Table of Contents 2 Chapter 3 Placing and Configuring Local I/O Using This Chapter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-1 Selecting a Power Supply . . . . . . . . . . . . . . . . . 1794 FLEX power supplies . . . . . . . . . . . . . Power requirements and transformer sizing . Planning the DIN Rails . . . . . . . . . . . . . . . . . . . Dividing I/O Modules Across DIN Rails . . . . . . Placing Local I/O Modules . . . . . . . . . . . . . . . . Determining When the Controller Updates I/O . Configuring a DIN Rail . . . . . . . . . . . . . . . . . . . Configuring Local I/O Modules. . . . . . . . . . . . . Electronic keying . . . . . . . . . . . . . . . . . . . . Communication formats . . . . . . . . . . . . . . . Inhibiting I/O Module Operation . . . . . . . . . . . Accessing I/O Data . . . . . . . . . . . . . . . . . . . . . Using aliases to simplify tag names . . . . . . . Monitoring I/O Modules. . . . . . . . . . . . . . . . . . Configuring the module’s response to a connection failure. . . . . . . . . . . . . . . . . . . . Monitoring an I/O module . . . . . . . . . . . . . Monitoring a rack-optimized connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-2 3-2 3-3 3-4 3-5 3-6 3-7 3-9 3-10 3-11 3-12 3-14 3-17 3-20 3-20 . . . . . . . . 3-20 . . . . . . . . 3-21 . . . . . . . . 3-22 Chapter 4 Communicating with Devices on an EtherNet/IP Link Publication 1794-UM001E-EN-P - June 2003 Using This Chapter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-1 Configuring Your System for a EtherNet/IP Link . . . . . . . . . 4-1 Step 1: Configure the hardware . . . . . . . . . . . . . . . . . . . 4-2 Step 2: Configuring the AB_ETH Driver . . . . . . . . . . . . . 4-3 Step 3: Configure the daughtercard as part of the system 4-6 Configuring Remote I/O. . . . . . . . . . . . . . . . . . . . . . . . . . . 4-7 Add the FLEX I/O Ethernet Adapter to the I/O Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-7 Add FLEX I/O Modules to the I/O Configuration . . . . . . 4-8 Accessing remote I/O . . . . . . . . . . . . . . . . . . . . . . . . . . 4-9 Sending Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-12 Communicating with another Logix-based controller . . 4-14 Communicating with other controllers over EtherNet/IP 4-15 Mapping addresses . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-18 Producing and Consuming Data . . . . . . . . . . . . . . . . . . . . 4-20 Maximum number of produced and consumed tags . . . 4-20 Size limit of a produced or consumed tag . . . . . . . . . . 4-21 Producing a tag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-21 Consuming a tag. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-22 Guidelines for Configuring Connections . . . . . . . . . . . . . . 4-23 Table of Contents Example 1: FlexLogix Controller and Remote I/O . . . . . Example 1: Controlling remote devices . . . . . . . . . . Example 1: Total connections required by Flex1 . . . Example 2: FlexLogix Controller to FlexLogix Controller Example 2: Sending a MSG instruction. . . . . . . . . . . Example 2: Producing and consuming tags . . . . . . . Example 2: Total connections required by Flex1 . . . Example 3: FlexLogix Controller to Other Devices. . . . . Example 3: Sending MSG instructions . . . . . . . . . . . Example 3: Total connections required by Flex1 . . . Example 4: Using FlexLogix as a Bridge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 4-23 4-23 4-24 4-24 4-24 4-26 4-27 4-27 4-28 4-29 4-30 Chapter 5 Communicating with Devices on a Using This Chapter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-1 Configuring Your System for a ControlNet Link . . . . . . . . . . 5-1 ControlNet Link Step 1: Configure the hardware . . . . . . . . . . . . . . . . . . . 5-2 Step 2: Configure the communication driver . . . . . . . . . 5-3 Step 3: Configure the daughtercard as part of the system 5-4 Configuring Remote I/O. . . . . . . . . . . . . . . . . . . . . . . . . . . 5-5 Accessing remote I/O . . . . . . . . . . . . . . . . . . . . . . . . . . 5-7 Scheduling the ControlNet Network . . . . . . . . . . . . . . . . . 5-10 Sending Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-11 Communicating with another Logix-based controller . . 5-13 Communicating with other controllers over ControlNet 5-14 Mapping addresses . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-15 Producing and Consuming Data . . . . . . . . . . . . . . . . . . . . 5-17 Maximum number of produced and consumed tags . . . 5-18 Size limit of a produced or consumed tag . . . . . . . . . . 5-18 Producing a tag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-19 Consuming a tag. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-20 Guidelines for Configuring Connections . . . . . . . . . . . . . . 5-21 Example 1: FlexLogix Controller and Remote I/O . . . . . . . 5-22 Example 1: Controlling remote devices . . . . . . . . . . . . 5-23 Example 1: Total connections required by Flex1 . . . . . 5-23 Example 2: FlexLogix Controller to FlexLogix Controller . . 5-24 Example 2: Sending a MSG instruction. . . . . . . . . . . . . 5-24 Example 2: Producing and consuming tags . . . . . . . . . 5-25 Example 2: Total connections required by Flex1 . . . . . 5-26 Example 3: FlexLogix Controller to Other Devices. . . . . . . 5-27 Example 3: Sending MSG instructions . . . . . . . . . . . . . 5-27 Example 3: Producing and consuming tags . . . . . . . . . 5-29 Example 3: Total connections required by Flex1 . . . . . 5-32 Example 4: Using FlexLogix as a Bridge . . . . . . . . . . . . . . 5-33 Publication 1794-UM001E-EN-P - June 2003 Table of Contents 4 Chapter 6 Communicating with Devices on a Using This Chapter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-1 Configuring Your System for a DeviceNet Link . . . . . . . . . . 6-1 DeviceNet Link Step 1: Install the hardware . . . . . . . . . . . . . . . . . . . . . . 6-2 Step 2: Configure the daughtercard as part of the system 6-3 Step 3: Define the DeviceNet scanlist. . . . . . . . . . . . . . . 6-4 Placing DeviceNet Devices . . . . . . . . . . . . . . . . . . . . . . . . . 6-5 Defining the data blocks . . . . . . . . . . . . . . . . . . . . . . . . 6-6 Accessing DeviceNet Devices . . . . . . . . . . . . . . . . . . . . . . . 6-7 Placing the Communication Card in Run Mode . . . . . . . . . . 6-9 Example 1: FlexLogix Controller and DeviceNet Devices . . . 6-9 Example 2: Using a 1788-CN2DN Linking Device . . . . . . . 6-10 System requirements for using the linking device . . . . . 6-12 Placing DeviceNet devices . . . . . . . . . . . . . . . . . . . . . 6-12 Chapter 7 Communicating with Devices on a Using This Chapter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-1 Configuring Your System for a Serial Link . . . . . . . . . . . . . . 7-1 Serial Link Step 1: Configure the hardware . . . . . . . . . . . . . . . . . . . 7-1 Step 2: Configure the serial port of the controller . . . . . . 7-5 Step 3: Configure the communication driver . . . . . . . . . 7-8 Example 1: Workstation Directly Connected to a FlexLogix Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-9 Configuring a DF1 point-to-point station . . . . . . . . . . . . 7-9 Example 2: Workstation Remotely Connected to a FlexLogix Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-10 Master/slave communication methods . . . . . . . . . . . . . 7-11 Configuring a DF1 slave station . . . . . . . . . . . . . . . . . . 7-12 Configuring a DF1 master station. . . . . . . . . . . . . . . . . 7-12 Example 3: FlexLogix Controller to a Bar Code Reader . . . 7-15 Connect the ASCII device to the controller. . . . . . . . . . 7-15 Configuring user mode . . . . . . . . . . . . . . . . . . . . . . . . 7-16 Programming ASCII instructions . . . . . . . . . . . . . . . . . 7-16 Chapter 8 Communicating with Devices on a Using This Chapter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-1 Configuring Your System for a DH-485 Link . . . . . . . . . . . . 8-1 DH-485 Link Step 1: Configure the hardware . . . . . . . . . . . . . . . . Step 2: Configure the DH-485 port of the controller . Planning a DH-485 Network. . . . . . . . . . . . . . . . . . . . . DH-485 token rotation . . . . . . . . . . . . . . . . . . . . . . Network initialization . . . . . . . . . . . . . . . . . . . . . . . Number of nodes and node addresses . . . . . . . . . . . Publication 1794-UM001E-EN-P - June 2003 . . . . . . . . . . . . . . . . . . 8-2 8-3 8-4 8-5 8-5 8-6 Table of Contents 5 Installing a DH-485 Network . . . . . . . . . . . . . . . . . . . . . . . 8-7 Grounding and terminating a DH-485 network . . . . . . . 8-9 Example: FlexLogix Controller, ControlLogix Controller, and SLC Controller on the Same DH-485 Network . . . . . . . . . . . . . . 8-9 Chapter 9 Communicating with Devices on a Using This Chapter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-1 Configuring Your System for a Third-Party Link . . . . . . . . . 9-1 Third-Party Link Step 1: Install the hardware. . . . . . Step 2: Configure the daughtercard Communication Format. . . . . . . . . Connection Parameters . . . . . . . . . ................ as part of the system ................ ................ 9-2 9-2 9-4 9-4 Chapter 10 FlexLogix Back-Up on DeviceNet How the Back-up Works . . . . . . . . . . . . . . . . . Requirements of the Back-Up . . . . . . . . . . . Power-Up and System Start-up . . . . . . . . . . . . . Developing the FlexLogix Back-Up Application Back-up Heartbeat Configuration Rungs . . . Reading Back-up State Rung . . . . . . . . . . . . Reading Back-up Status. . . . . . . . . . . . . . . . Using Indicators to Check Status. . . . . . . . . . . . Development and Debugging Tips . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-2 10-3 10-4 10-6 10-6 10-10 10-12 10-13 10-13 Appendix A FlexLogix System Specifications Using This Appendix . . . . . . . . . . . . . . . . . . FlexLogix Controller. . . . . . . . . . . . . . . . . . . 1794-FLA FlexLogix Extended-Local Adapter . 1756-BA1 Battery . . . . . . . . . . . . . . . . . . . . . FlexLogix Controller Serial Cables. . . . . . . . . FlexLogix Controller LEDs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-1 . A-1 . A-5 . A-8 . A-8 A-10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Appendix B Maintaining the Battery Using this Appendix . . . . . . . Storing Replacement Batteries Estimating Battery Life . . . . . . Replacing a Battery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-1 B-1 B-1 B-3 Publication 1794-UM001E-EN-P - June 2003 Table of Contents 6 Publication 1794-UM001E-EN-P - June 2003 Chapter 1 Getting Started Introduction This chapter introduces the FlexLogix controller and provides a quick overview on creating and downloading a project. The steps in this chapter introduce the basic aspects of the FlexLogix controller. The FlexLogix controller offers state-of-art control, communications, and I/O elements in a distributed control package. ControlLogix controller acting as centralized controller remote workstation FlexLogix controller using local and extend-local I/O FlexLogix controller using an RS-232 connection FlexLogix controller using local I/O FlexLogix controllers, each with a 1788-CNC, -CNCR card, linked over ControlNet link This example FlexLogix system demonstrates: · Centralized control using a ControlLogix controller to coordinate several FlexLogix controllers. · Distributed control using FlexLogix controllers at several locations. · FlexLogix controller controlling a maximum of 8 local I/O modules and 8 extended-local I/O modules. · Local RS-232 connection for remote upload/download of a controller project, for DF1 master/slave communications, or for ASCII programming. 1 Publication 1794-UM001E-EN-P - June 2003 1-2 Getting Started Creating and Downloading a Project The following diagram illustrates the steps you follow to create and download a project. The remainder of this chapter provides examples of each step. System setup for this quick start: 1 Local Create a project slot 0 1794-IB16 go to page 1-3 Local2 2 Configure I/O modules slot 0 1794-IF2XOF2I You need: · RSLogix5000 programming software · RSLinx communication software 3 Create tags · DF1 point-to-point, serial connection from the workstation to the controller (using 1756-CP3 or 1747-CP3 cable) If you don’t have this hardware, you can still follow these steps. Substitute the 4 Enter logic Download a project 5 6 Publication 1794-UM001E-EN-P - June 2003 View status Getting Started 1-3 Creating a project 1. Select File ® New. 1 Create a project 2. Define the project. The software uses the project name you enter with an .ACD extension to store your project. Select a controller type. Name the project. Describe the project (optional). Select the controller revision. Select where to store the project (typically use the default directory). Click OK. The software creates the new controller and displays: controller organizer Publication 1794-UM001E-EN-P - June 2003 1-4 Getting Started Changing project properties 1. View properties for Controller quick_start. 1 Create a project 2. A. Place the cursor over the Controller quick_start folder. B. Click the right mouse button and select Properties. View the General tab. The screen defaults to the General tab. Verify that the controller settings are correct. Make changes if necessary. Click OK. Publication 1794-UM001E-EN-P - June 2003 Getting Started 1-5 Adding a local input module 1. Create a new module. 2 A. Place the cursor over the local DIN rail (FlexBus Local). B. Click the right mouse button and select New Module. 2. Configure Select an input module to add. Select a catalog number. Click OK. continued Publication 1794-UM001E-EN-P - June 2003 1-6 Getting Started Adding a local input module (continued) 3. Identify the input module. These screens are specific to the 1794-IB16 input module. 2 Configure You should enter a name. Describe the module (optional). Select the communication format. Specify electronic keying. Click Next. 4. Use the Create wizard to configure the input module. Use default values for this example. If you do not want to go through each screen in the Create wizard, click Finish Click Next. Click Finish. Publication 1794-UM001E-EN-P - June 2003 Getting Started 1-7 Adding a local output module 1. Create a new module. 2 A. Place the cursor over the local DIN rail (FlexBus Local) B. Click the right mouse button and select New Module. 2. Select an output module to add. Configure Select a catalog number. Click OK. continued Publication 1794-UM001E-EN-P - June 2003 1-8 Getting Started Adding a local output module (continued) 3. Identify the output module. These screens are specific to the 1794-OB16 output module. 2 Configure You should enter a name. Describe the module (optional). Select the communication format. Specify electronic keying. Click Next. 4. Use the Create wizard to configure the output module. Use default values for this example. If you do not want to go through each screen in the Create wizard, click Click Next. Click Finish. Publication 1794-UM001E-EN-P - June 2003 Getting Started 1-9 Adding an extended-local analog module 1. Create a new module. 2 A. Place the cursor over the extended-local DIN rail (FlexBus Local2) B. Click the right mouse button and select New Module. 2. Select an analog module to add. Configure Select a catalog number. Click OK. continued Publication 1794-UM001E-EN-P - June 2003 1-10 Getting Started Adding a extended-local analog module (continued) 3. Identify the analog module. These screens are specific to the 1794-IF2XOF2I analog module. 2 Configure You should enter a name. Describe the module (optional). Select the communication format. Specify electronic keying. Click Next. 4. Use the Create wizard to configure the output module. Use default values for this example. If you do not want to go through each screen in the Create wizard, click Click Next. Click Finish. Important: If you have an extended-local DIN rail (LOCAL2), the modules after the 1794-CE1, -CE3 cable will fault if the cable is disconnected. In this case, all outputs are reset, regardless of the module configurations. Publication 1794-UM001E-EN-P - June 2003 Getting Started 1-11 Changing module properties 1. View properties for the module. 2 2. A. Place the cursor over the 1794-IB16 module. B. Click the right mouse button and select Properties. Configure View the General tab. The screen defaults to the General tab. Verify that the module settings are correct. Make changes if necessary. Click OK. The tabs that appear depend on the type of module. Important: If you want to change the communication format of a module, you must Publication 1794-UM001E-EN-P - June 2003 1-12 Getting Started Viewing I/O tags 1. View the tags for the controller. 2 Place the cursor on the Controller Tags folder and double-click. The software displays the module-defined tags for the I/O modules you created. 1794-IB16 module tags 1794-OB16 module tags Local rail tags 1794-IF2XOF2I module tags Local2 rail tags Click the Edit Tags tab. Publication 1794-UM001E-EN-P - June 2003 Configure Getting Started 1-13 Creating other tags 1. Create a tag. 3 Enter the name of the new tag. 2. Create tags Tab to this column and select the data type. Select the data type. Select TIMER. Click OK. The software displays the tag. Click + to display the members of the TIMER structure. You might have to resize the column to see the tag extensions. continued Publication 1794-UM001E-EN-P - June 2003 1-14 Getting Started Documenting I/O with alias tags 1. Create an alias tag input_1 for Local:0:I.Data.1. 3 Enter the name of the tag. 2. Create tags Tab here or click in the box. Select an input data word. Click here to display a grid of bits and select the input bit. 3. Repeat steps 1 and 2 above to create an alias tag output_1 for Local:1:O.Data.1 Publication 1794-UM001E-EN-P - June 2003 Getting Started 1-15 Entering logic 1. Use default task, program, and routine. 4 Enter logic When you created the project, the software automatically created a MainTask, MainProgram, and MainRoutine. Use these defaults for this example. Double-click MainRoutine. The software displays an empty routine. 2. Enter an XIO instruction. Drag and drop the XIO instruction on an empty rung. Publication 1794-UM001E-EN-P - June 2003 1-16 Getting Started Entering logic (continued) 3. Assign a tag to the XIO instruction. Double-click the tag area of the instruction. Use the drop-down menu to select input_1. The software displays an incomplete rung. 4. Enter this logic. 5. To save the project, from the File menu, select Save. Publication 1794-UM001E-EN-P - June 2003 4 Enter logic Getting Started 1-17 Downloading a project 1. Make a serial connection from the workstation to the controller. 5 2. Configure an RSLinx communication driver: A. In RSLinx software, select Communication ® Configure Driver. B. From the Available Driver Types list, select “RS-232 DF1 Devices” and click Add New. C. Select the “Logix5550 serial port” and specify the COM port. Click Autoconfigure to have the software determine the remaining serial settings. 3. Turn the controller’s keyswitch to PROG and then back to REM. 4. Download the project from the Communications menu. 4. Download a project A. In RSLogix5000 software, select Communication ® “Who Active”. B. Expand the DF1 network and select your controller. C. Click Download. Confirm the download when prompted. Place the controller in Remote Run mode. Publication 1794-UM001E-EN-P - June 2003 1-18 Getting Started Viewing program scan time 1. View properties for the MainProgram. 6 2. A. Place the cursor over the MainProgram folder. B. Click the right mouse button and select Properties. Select the Configuration tab. The Configuration tab displays the maximum and last scan times for the program. Publication 1794-UM001E-EN-P - June 2003 View status Getting Started 1-19 Viewing controller memory usage 1. View properties for Controller quick_start. 6 2. A. Place the cursor over the Controller quick_start folder. B. Click the right mouse button and select Properties. View status Select the Advanced tab. In addition to other information, the Advanced tab displays controller memory usage. Important: The amount of memory that the software displays includes both the user available memory and the memory reserved for overhead. · The Unused field represents the memory available for the user program. · The Total field represents the total memory available on the module, including user program and overhead. Do not use this field when determining your memory usage. See the specifications for your controller to determine how much memory you have available for programming. This dialog box might display a higher number, but the additional memory is required by system overhead and may not be available for programming. Publication 1794-UM001E-EN-P - June 2003 1-20 Getting Started What To Do Next Once your controller is installed and operating, you can use RSLogix5000 programming software to develop and test your control application. Use the remaining chapters in this manual as reference material for how the FlexLogix controller operates in the Logix environment. Publication 1794-UM001E-EN-P - June 2003 Chapter 2 What Is FlexLogix? Using This Chapter For information about: See page Developing Programs 2-2 Using the Event Task 2-6 How the FlexLogix System Uses Connections 2-9 Selecting a System Overhead Percentage 2-21 The FlexLogix controller is part of the Logix environment. The FlexLogix controller provides a distributed control system built on these components: · FlexLogix controller that supports the Logix instructions. · RSLogix 5000 programming software that supports every Logix controller. · FLEX I/O modules that provide a compact, DIN-rail mounted I/O system. · 1788 communication daughtercard that provides communication over a standards-based ControlNet, DeviceNet or EtherNet/IP network. The controller allows the insertion of daughtercards for up to 2 networks (e.g. one for DeviceNet and one for EtherNet/IP). 1788 communication daughtercard installs directly in the FlexLogix controller. The FlexLogix controller supports FLEX I/O modules. The FlexLogix extended-local adapter allows a second DIN rail for FLEX I/O modules. The same RSLogix5000 programming software supports program development for all Logix controllers. 1 Publication 1794-UM001E-EN-P - June 2003 2-2 What Is FlexLogix? Developing Programs The controller operating system is a preemptive multitasking system that is IEC 1131-3 compliant. This environment provides: · tasks to configure controller execution · programs to group data and logic · routines to encapsulate executable code written in a single programming language control application controller fault handler task 8 task 1 configuration status watchdog program 32 program 1 program (local) tags main routine fault routine other routines controller (global) tags Publication 1794-UM001E-EN-P - June 2003 I/O data system-shared data What Is FlexLogix? 2-3 Defining tasks A task provides scheduling and priority information for a set of one or more programs. You can configure tasks as either continuous or periodic. The FlexLogix controller supports as many as 8 tasks, only one of which can be continuous. A task can have as many as 32 separate programs, each with its own executable routines and program-scoped tags. Once a task is triggered (activated), all the programs assigned to the task execute in the order in which they are grouped. Programs can only appear once in the Controller Organizer and cannot be shared by multiple tasks. Specifying task priorities Each task in the controller has a priority level. The operating system uses the priority level to determine which task to execute when multiple tasks are triggered. There are 15 configurable priority levels for periodic tasks that range from 1-15, with 1 being the highest priority and 15 being the lowest priority. A higher priority task will interrupt any lower priority task. The continuous task has the lowest priority and is always interrupted by a periodic task. The FlexLogix controller uses a dedicated periodic task at priority 7 to process I/O data. This periodic task executes at the fastest RPI you have scheduled for the FlexLogix system. Its total execution time is as long as it takes to scan the configured I/O modules. How you configure your tasks affects how the controller receives I/O data. Periodic tasks at priorities 1-6 can starve the dedicated I/O task; tasks at priority 8-15 can be starved by the dedicated I/O task. TIP For typical applications, the periodic task priority should be set at a priority level lower than 7. (Remember, priority levels are ranked in ascending order–a priority lower than 7 means a priority level of 8-15.) The default priority of 10 should be sufficient for most applications. If a periodic task must execute without interruption from the I/O update task, set the priority level higher than 7 (i.e. 1-6). Publication 1794-UM001E-EN-P - June 2003 2-4 What Is FlexLogix? The following example shows the task execution order for an application with periodic tasks and a continuous task. Task: Priority Level: Task Type: Actual Execution Time: Worst Case Execution Time: 1 5 20ms periodic task 2ms 2ms 2 7 dedicated I/O task 1ms 1ms 5ms fastest RPI 3 10 10ms periodic task 4ms 8ms 4 none (lowest) continuous task 25ms 60ms Task 1 Task 2 Task 3 Task 4 0 5 10 15 20 25 30 35 40 45 50 55 60 65 Notes: A. The highest priority task interrupts all lower priority tasks. B. The dedicated I/O task can be interrupted by periodic tasks with priority levels 1-6. The dedicated I/O task interrupts tasks with priority levels 8-15. This task runs at the fastest RPI rate scheduled for the FlexLogix system (5ms in this example). C. The continuous task runs at the lowest priority and is interrupted by all other tasks. D. A lower priority task can be interrupted multiple times by a higher priority task. E. When the continuous task completes a full scan it restarts immediately, unless a higher priority task is running. Publication 1794-UM001E-EN-P - June 2003 What Is FlexLogix? 2-5 Defining programs Each program contains program tags, a main executable routine, other routines, and an optional fault routine. Each task can schedule as many as 32 programs. The scheduled programs within a task execute to completion from first to last. Programs that aren’t attached to any task show up as unscheduled programs. You must specify (schedule) a program within a task before the controller can scan the program. Defining routines A routine is a set of logic instructions in a single programming language, such as ladder logic. Routines provide the executable code for the project in a controller. A routine is similar to a program file or subroutine in a PLC or SLC processor. Each program has a main routine. This is the first routine to execute when the controller triggers the associated task and calls the associated program. Use logic, such as the JSR instruction, to call other routines. You can also specify an optional program fault routine. The controller executes this routine if it encounters an instruction-execution fault within any of the routines in the associated program. Publication 1794-UM001E-EN-P - June 2003 2-6 What Is FlexLogix? Using the Event Task The event task is available with FlexLogix controllers using firmware version 12.x or greater. Previously, the only tasks available were the continuous task and periodic task. However, the event task offers FlexLogix controller users a task that executes a section of logic immediately when an event occurs. An event task performs a function only when a specific event (trigger) occurs. Whenever the trigger for the event task occurs, the event task: · interrupts any lower priority tasks · executes one time · returns control to where the previous task left off For FlexLogix controller, the event task trigger can only be the EVENT instruction. Prioritizing Periodic and Event Tasks Although a FlexLogix project can contain up to 8 tasks, the controller executes only one task at a time. If a periodic or event task is triggered while another task is currently executing, the priority of each task tells the controller what to do. The FlexLogix controller has 15 priority levels for its tasks. To assign a priority to a task, use the guidelines described in Table 2.1. Table 2.1 If you want: Then this task to interrupt another Assign a priority number task that is less than (higher priority) the priority number of the other task. another task to interrupt this Assign a priority number task that is greater than (lower priority) the priority number of the other task. this task to share controller time with another task Publication 1794-UM001E-EN-P - June 2003 Assign the same priority number to both tasks. Notes: · A higher priority task interrupts all lower priority tasks. · A higher priority task can interrupt a lower priority task multiple times. The controller switches back and forth between each task and executes each one for 1ms. What Is FlexLogix? 2-7 Triggering the Event Task To trigger an event task based on conditions in your logic, use the EVENT Instruction trigger. Let an event trigger this task. Let an EVENT instruction trigger the task. No tag is required. The EVENT Instruction Only trigger requires that you use a Trigger Event Task (EVENT) instruction to trigger the task. You can use an EVENT instruction from multiple points in your project. Each time the instruction executes, it triggers the specified event task. EVENT instruction in program A EVENT instruction in program B event task 1 2 Description: 1 Program A executes an EVENT instruction. The event task that is specified by the EVENT instruction executes one time. 2 Program B executes an EVENT instruction. The event task that is specified by the EVENT instruction executes one time. Publication 1794-UM001E-EN-P - June 2003 2-8 What Is FlexLogix? Programmatically Determine if an EVENT Instruction Triggered a Task To determine if an EVENT instruction triggered an event task, use a Get System Value (GSV) instruction to monitor the Status attribute of the task. Table 2.2 Status Attribute of the TASK Object Attribute: Data Type: Instruction: Description: Status DINT GSV Provides status information about the task. Once the controller sets a bit, you must manually clear the bit to determine if another fault of that type occurred. SSV To determine if: Examine this bit: An EVENT instruction triggered the task (event task only). 0 A timeout triggered the task (event task only). 1 An overlap occurred for this task. 2 The controller does not clear the bits of the Status attribute once they are set. · To use a bit for new status information, you must manually clear the bit. · Use a Set System Value (SSV) instruction to set the attribute to a different value. Checklist for an EVENT Instruction Task For this: Make sure you: 1. EVENT instruction Use a Trigger Event Task (EVNT) instruction at each point in your logic that you want to trigger the event task. 2. Task priority Configure the event task as the highest priority task. If a periodic task has a higher priority, the event task may have to wait until the periodic task is done. 3. Number of event tasks Limit the number of event tasks. Each additional task reduces the processing time that is available for other tasks. This could cause an overlap. 4. Automatic Output Processing For an event task, you can typically disable automatic output processing (default). This reduces the elapsed time of the task. For more information on using the event task, see Logix5000 Controllers Common Procedures programming manual, publication 1756-PM001. Publication 1794-UM001E-EN-P - June 2003 What Is FlexLogix? How the FlexLogix System Uses Connections 2-9 The FlexLogix system uses a connection to establish a communication link between two devices. The FlexLogix system has enough internal resources to support a connection to every local I/O module and 32 connections through each daughtercard (e.g. the 1788-ENBT card). However, the daughtercard’s connection limit is the limiting factor when sizing a system. Connections can be: · · · · · controller controller controller produced messages to local I/O modules or local communication cards to remote I/O or remote communication modules to remote I/O (rack optimized) modules and consumed tags You indirectly determine the number of connections the controller uses by configuring the controller to communicate with other devices in the system. Connections are allocations of resources that provide more reliable communications between devices than unconnected messages. The FlexLogix system supports both scheduled and unscheduled connections and unconnected messages. Method: Description: scheduled connection A scheduled connection is unique to ControlNet communications. A scheduled connection lets you send and receive data repeatedly at a predetermined rate, which is the requested packet interval (RPI). For example, a connection to an I/O module is a scheduled connection because you repeatedly receive data from the module at a specified rate. Other scheduled connections include connections to: · most deterministic · unique to ControlNet · communication devices · produced/consumed tags On a ControlNet network, you must use RSNetWorx for ControlNet to enable all scheduled connections and establish a network update time (NUT). unscheduled connection · deterministic An unscheduled connection is a message transfer between controllers that is triggered by the requested packet interval (RPI) or the program (such as a MSG instruction). Unscheduled messaging lets you send and receive data when needed. · used by both ControlNet and EtherNet/IP All EtherNet/IP connections are unscheduled. unconnected message · least deterministic An unconnected message is a message that does not require connection resources . An unconnected message is sent as a single request/response. Publication 1794-UM001E-EN-P - June 2003 2-10 What Is FlexLogix? The communication module you select determines the number of connections you have available for I/O and messages: This communication card: Supports this number of connections: 1788-CNx 32 connections–9 of which can be scheduled The remaining connections (or all 32, if you have no scheduled connections) can be used for unscheduled connections 1788-ENBT 32 connections - can be used for explicit and implicit connections (all 32 connections are any combination of remote I/O, produce/consume, and messaging connections) How you configure connections determines how many remote devices a communication card can support. If you have two communication cards, use one for messaging (e.g. HMI) and the other for control of I/O. While one card can support both functions, performance can improve by separating these functions onto separate cards. Determining Connections for Produced and Consumed Tags The FlexLogix controller supports the ability to produce (broadcast) and consume (receive) system-shared tags. Produced and consumed tags each require connections. Over ControlNet, produced and consumed tags are scheduled connections. This type of tag: Requires these connections: produced By default, a produced tag allows two other controllers to consume the tag, which means that as many as two controllers can simultaneously receive the tag data. The local controller (producing) must have one connection for the produced tag and the first consumer and one more connection for each additional consumer (heartbeat). The default produced tag requires as many connections as there are consumers for the produced tag. For example, if the 3 consumers will consume the produced tag, it requires 3 connections. As you increase the number of controllers that can consume a produced tag, you also reduce the number of connections the controller has available for other operations, like communications and I/O. consumed Each consumed tag requires one connection for the controller that is consuming the tag. FlexLogix controllers can produce and consume tags over: · a ControlNet network · an EtherNet/IP network. IMPORTANT Publication 1794-UM001E-EN-P - June 2003 For two controllers to share produced or consumed tags, both controllers must be attached to the same control network (such as a ControlNet or Ethernet/IP network). You cannot bridge produced and consumed tags over two networks. What Is FlexLogix? 2-11 The total number of tags that can be produced or consumed is limited by the number of available connections and memory. If the controller uses all of its connections for I/O and communication devices, no connections are left for produced and consumed tags. Determining Connections for Messages Messages transfer data to other devices, such as other controllers or operator interfaces. Connected messages can leave the connection open (cache) or close the connection when the message is done transmitting. The following table shows which messages use a connection: This type of message: And this communication method: Uses a connection: CIP data table read or write PLC2, PLC3, PLC5, or SLC (all types) X CIP CIP with Source ID CIP generic DH+ X CIP Optional(1) block-transfer read or write (1) X You can connect CIP generic messages, but for most applications, we recommend you leave CIP generic messages unconnected. Connected messages are unscheduled connections on both ControlNet and EtherNet/IP networks. If a MSG instruction uses a connection, you have the option to leave the connection open (cache) or close the connection when the message is done transmitting. If you: Then: Cache the connection The connection stays open after the MSG instruction is done. This optimizes execution time. Opening a connection each time the message executes increases execution time. Do not cache the connection The connection closes after the MSG instruction is done. This frees up that connection for other uses. The controller has the following limits on the number of connections that you can cache: If you have this software and firmware revision: 11.x or earlier Then you can cache: · block transfer messages for up to 16 connections · other types of messages up to 16 connections 12.x or later up to 32 connections Publication 1794-UM001E-EN-P - June 2003 2-12 What Is FlexLogix? Determining Connections for I/O Modules The FlexLogix system uses connections to transmit I/O data. These connections can either be direct connections or rack-optimized connection. Over ControlNet, I/O connections are scheduled connections: Connection: Description: direct A direct connection is a real-time, data transfer link between the controller and an I/O module. The controller maintains and monitors the connection between the controller and the I/O module. Any break in the connection, such as a module fault or the removal of a module while under power, causes the controller to set fault status bits in the data area associated with the module. rack-optimized For digital I/O modules, you can select rack optimized communication. A rack optimized connection consolidates connection usage between the controller and all the digital I/O modules on a rack (or DIN rail). Rather than having individual, direct connections for each I/O module, there is one connection for the entire rack (or DIN rail). Connections for local and extended-local I/O modules The FlexLogix controller automatically assigns one rack-optimized connection for the local DIN rail and one rack-optimized connection for the extended-local DIN rail. You then configure each I/O module on a DIN rail to either use that rack-optimized connection or to use a direct connection. The rack-optimized connection for each DIN rail exists whether or not you configure the I/O modules to use that rack-optimized connection. The rack-optimized connection lets you organize all the digital I/O modules on one DIN rail into one connection to the controller. Or you can choose to configure each I/O module to have a direct connection to the controller. Analog I/O modules must have a direct connection to the controller. It is not as critical to manage the number of connections for local and extended-local I/O modules as it is for remote devices because the controller supports a direct connection for each possible local and extended-local I/O device. Publication 1794-UM001E-EN-P - June 2003 What Is FlexLogix? 2-13 Connections for remote devices To optimize the number of available connections, place remote, digital I/O in the same location and use a rack-optimized connection to the remote adapter that connects the remote I/O to the FlexLogix system. If you have remote analog I/O modules, or want a direct connection to specific remote I/O modules, you do not have to create the rack-optimized connection to the remote adapter. To use direct connections to remote I/O, select “none” for the communication format of the remote communication device. IMPORTANT It is vital that you manage your connections to remote devices because, while the FlexLogix controller allows up to 250 total connections, the communications cards that connect to remote devices are limited to far fewer connections (i.e. 32 connections for ControlNet or EtherNet/IP). Direct connections for I/O modules In this example, assume that each I/O module is configured for a direct connection to the controller. The following table calculates the connections in this example. Connection: Amount: FlexLogix controller to 3 local I/O modules rack-optimized connection for the DIN rail 1 direct connection for each I/O module 3 FlexLogix controller to 2 extended-local I/O modules rack-optimized connection for the DIN rail 1 direct connection for each I/O module 2 total connections used: 7 Publication 1794-UM001E-EN-P - June 2003 2-14 What Is FlexLogix? Rack-optimized connections for I/O modules In this example, assume that each I/O module is configured for a rack-optimized connection to the controller. The following table calculates the connections in this example. Connection: Amount: FlexLogix controller to 3 local I/O modules rack-optimized connection for the DIN rail 1 FlexLogix controller to 2 extended-local I/O modules rack-optimized connection for the DIN rail 1 total connections used: 2 TIP The rack-optimized connection conserves connections and lowers controller overhead in the I/O update task. However, the rack-optimized connection also limits the status and diagnostic information that is available from the I/O modules and is limited to a single RPI. Combining direct and rack-optimized connections A DIN rail can have both a rack-optimized connection and direct connections. Assume that the I/O modules in slot 0 and slot 1 on the local rail are configured for a rack-optimized connection and that the I/O module in slot 2 is configured for a direct connection. Also, assume that the I/O modules on the extended-local DIN rail are analog I/O modules, so each module requires a direct connection. The following table calculates the connections in this example. Connection: Amount: FlexLogix controller to 3 local I/O modules rack-optimized connection for the DIN rail 1 direct connection for one I/O module (slot 2) 1 FlexLogix controller to 2 extended-local I/O modules rack-optimized connection for the DIN rail 1 direct connection for each I/O module 2 total connections used: 5 Publication 1794-UM001E-EN-P - June 2003 What Is FlexLogix? 2-15 Connections to remote ControlNet or EtherNet/IP devices A remote device over ControlNet and EtherNet/IP can be configured as either a rack-optimized connection and direct connection. In this example, the FlexLogix controller uses one rack-optimized connection to communicate with the communication adapter to receive data from the digital I/O modules (two in this example) and uses one direct connection to communicate with the analog module. The following table calculates the connections in this example. Connection: Amount: FlexLogix controller to 3 local I/O modules rack-optimized connection for the DIN rail 1 direct connection for one I/O module (slot 2) 1 FlexLogix controller to communication card (1788-CNx or 1788-ENBT) 0 FlexLogix controller to communication adapter (rack-optimized connection for digital I/O modules) 1 FlexLogix controller to remote analog I/O module 1 total connections used: 4 total connections through the 2 – This number is within the communications card: connection limits of either the 1788-CNx card (maximum connections = 9) or the 1788-ENBT card (maximum connections = 32). Publication 1794-UM001E-EN-P - June 2003 2-16 What Is FlexLogix? Connections to DeviceNet devices In this example the controller uses two connections (one for status and one for I/O) to communicate with the DeviceNet devices through the 1788-DNBO module. The 1788-DNBO module uses a rack-optimized connection to the DeviceNet devices. FlexLogix controller DeviceNet network DeviceNet devices The following table calculates the connections in this example. Connection: Amount: FlexLogix controller to 3 local I/O modules rack-optimized connection for the DIN rail 1 direct connection for one I/O module (slot 2) 1 FlexLogix controller to the 1788-DNBO DeviceNet communication card(1) 2 total connections used: 4 (1) FlexLogix controller connection to remote DeviceNet devices are accounted for in the 2 connections to the 1788-DNBO card. The 1788-DNBO card does not establish connections to its devices; and therefore, the controller does not establish connections with DeviceNet devices. The 1788-DNBO module acts as a scanner that gathers all the data from its devices and packs that data together into one image that is passed to the controller. However, the controller can use a MSG instruction to get information directly to or from a DeviceNet device. Publication 1794-UM001E-EN-P - June 2003 What Is FlexLogix? Determining Total Connection Requirements 2-17 To calculate the total connection requirements for a FlexLogix controller, consider the connections to local I/O modules (including extended-local I/O modules) and the connections to remote modules. Use the following table to tally local connections: Connection Type: Device Quantity: Connections per Device: Total Connections: rack-optimized connection for the local DIN rail and the extended-local DIN rail 2 1 2 I/O module (rack-optimized connection) on local rail 0 I/O module (direct connection) on local rail 1 I/O module (rack-optimized connection) on extended-local rail 0 I/O module (direct connection) on extended-local rail 1 1788-CNx ControlNet communication card 0 1788-DNBO DeviceNet communication card (direct connection)(1) 2 1788-ENBT Ethernet/IP communication card 0 0 0 total (1) FlexLogix controller connection to remote DeviceNet devices (remote connections listed in the table on page 2-18) are accounted for in the 2 connections to the 1788-DNBO card. Regardless of how you configure the I/O modules (rack-optimized or direct connect) on either the local rail or the extended-local rail, the controller establishes a rack-optimized connection for each rail. The data for any I/O module configured for a rack-optimized connection is stored in the rack-optimized connection for the rail. You can have 8 I/O modules per rail, for a maximum of 16 direct connections. Publication 1794-UM001E-EN-P - June 2003 2-18 What Is FlexLogix? Remote connections depend on the communication card. Use the following table to tally remote connections: Connection Type: Device Quantity: Connections per Device: remote ControlNet communication device (such as a 1794-ACN15, -ACNR15 or 1756-CNB, -CNBR module) configured as: direct (none) connection or rack-optimized connection listen-only rack-optimization (1756-CNB, -CNBR only) 0 or 1 1 remote I/O device over ControlNet (direct connection) 1 remote EtherNet/IP communication device (such as a 1794-AEN adapter or 1756-ENBT module) configured as: direct (none) connection or rack-optimized connection listen-only rack-optimization (1756-ENBT only) 0 or 1 1 remote I/O device over EtherNet/IP (direct connection) 1 produced and consumed tag produced tag and one consumer each additional consumer 1 consumed tag 1 maximum active message 1 Total Connections: 1 total After calculating the number of remote connections, make sure they do not exceed the limitations of the communication card: · each ControlNet communication card supports 32 total connections, 9 of which can be scheduled (such as direct I/O connections and produced and consumed tags) · the Ethernet/IP communication card supports 32 total connections of any type Even if the total number of connections is within the card limitations, the total number of messages per second must also be within the card limitations. You can estimate the number of messages per second for a connection as (2 * 1000 ms) / RPI. The communication cards support: · each ControlNet communication card supports 1490 messages/second · the EtherNet/IP communication card supports 4000 messages/second Publication 1794-UM001E-EN-P - June 2003 What Is FlexLogix? 2-19 This example system has these details: local rail controller 8 I/O modules extended-local rail ControlNet network 8 I/O modules 8 I/O modules DeviceNet network 4 DeviceNet devices · I/O modules on the local rail are digital, so configure each module for a rack-optimized connection · I/O modules on the extended-local rail are analog, so configure each module for a direct connection · I/O modules on the ControlNet network are 4 digital and 4 analog, so configure each digital module for a rack-optimized connection and each analog module for a direct connection · there are no produced or consumed tags · the controller sends 2 messages to other devices on the ControlNet network · the controller uses 2 connections to the 1788-DNBO module to collect data from the DeviceNet devices Local connections Connection Type: Device Quantity: Connections per Device: Total Connections: rack-optimized connection to DIN rails 2 1 2 I/O module (direct connection) on extended-local rail 8 1 8 1788-DNBO communication card (rack-optimized connection) 1 2 2 total 12 Remote connections Connection Type: Device Quantity: Connections per Device: Total Connections: remote ControlNet communication device 1 1 1 I/O module over ControlNet (direct connection) 4 1 4 cached message 2 1 2 configured as a rack-optimized connection total 7 Publication 1794-UM001E-EN-P - June 2003 2-20 What Is FlexLogix? Downloading Projects In general, you use the programming software to download a project from your programming computer to the controller. The 1794-L33/A and 1794-L34/B FlexLogix controllers also support nonvolatile memory for project storage. IMPORTANT Nonvolatile memory stores the contents of user memory at the time that you store the project. · Changes that you make after you store the project are not reflected in nonvolatile memory. · If you want to store changes such as online edits, RPI changes, tag values, or this particular FlexLogix controller’s portion of the ControlNet network schedule (i.e. the portion of the ControlNet schedule that affects the ControlNet nodes this controller makes connections to), store the project again after you make changes. To store a project in nonvolatile memory: 1. Go online with the controller. 2. View properties for the controller and select the Nonvolatile Memory tab. 3. Click the Load/Store button and specify when you want the controller to load the project from nonvolatile memory. 4. Click the Load button to load the project from nonvolatile memory into the controller. Click the Store button to copy the contents of the controller’s user memory to nonvolatile memory. Publication 1794-UM001E-EN-P - June 2003 What Is FlexLogix? 2-21 You can select: In this field: Select this option: If you want: Load Image On Power Up to load memory when you turn on or cycle the chassis power or cycle the chassis power On Corrupt Memory to load memory whenever there is no project in the controller and you turn on or cycle the chassis power User Initiated only use RSLogix 5000 software to load a project Remote Program the controller to go to Remote Program mode after loading from nonvolatile memory Remote Run the controller to go to Remote Run mode after loading from nonvolatile memory Load Mode After you load or store to or from nonvolatile memory, RSLogix 5000 software goes offline from the controller. For details on storing to nonvolatile memory or restoring from nonvolatile memory, see the Logix5000 Controllers Common Procedures Programming Manual, publication 1756-PM001. Selecting a System Overhead Percentage The Controller Properties lets you specify a percentage for system overhead. This percentage specifies the percentage of controller time (excluding the time for periodic tasks) that is devoted to communication and background functions 1. View properties for the controller and select the Advanced tab. System overhead functions include · communicating with programming and HMI devices (such as RSLogix 5000 software) Publication 1794-UM001E-EN-P - June 2003 2-22 What Is FlexLogix? · responding to messages · sending messages, including block-transfers · re-establishing and monitoring I/O connections (such as RIUP conditions); this does not include normal I/O communications that occur during program execution · bridging communications from the serial port of the controller to other communication devices The controller performs system overhead functions for up to 1 ms at a time. If the controller completes the overhead functions in less than 1 ms, it resumes the continuous task. If communications are not completing fast enough, increase the system overhead percentage. As you increase the system overhead percentage, the overall program scan also increases. The following table shows the ratio between the continuous task and the system overhead functions: At this time slice: The continuous tasks runs for: And then overhead occurs for up to: 10% 9 ms 1 ms 20% 4 ms 1 ms 33% 2 ms 1 ms 50% 1 ms 1 ms At the default time slice of 10%, system overhead interrupts the continuous task every 9ms (of continuous task time). Legend: Task executes. Task is interrupted (suspended). 1 ms 1 ms system overhead 9 ms 9 ms continuous task 5 elapsed time (ms) Publication 1794-UM001E-EN-P - June 2003 10 15 20 25 What Is FlexLogix? 2-23 The interruption of a periodic task increases the elapsed time (clock time) between the execution of system overhead. 1 ms 1 ms 1 ms 1 ms periodic task 1 ms 1 ms system overhead 9 ms of continuous task time 9 ms of continuous task time continuous task 5 10 15 20 25 elapsed time (ms) If you increase the time slice to 20%, the system overhead interrupts the continuous task every 4ms (of continuous task time). 1 ms 1 ms 1 ms 1 ms 1 ms system overhead 4 ms 4 ms 4 ms 4 ms 4 ms continuous task 5 10 15 20 25 elapsed time (ms) If you increase the time slice to 50%, the system overhead interrupts the continuous task every 1ms (of continuous task time). 1 ms system overhead 1 ms continuous task 5 10 15 20 25 elapsed time (ms) If the controller only contains a periodic task (s), the system overhead timeslice value has no effect. System overhead runs whenever a periodic task is not running. periodic task system overhead 5 10 15 20 25 elapsed time (ms) Publication 1794-UM001E-EN-P - June 2003 2-24 What Is FlexLogix? Notes: Publication 1794-UM001E-EN-P - June 2003 Chapter 3 Placing and Configuring Local I/O Using This Chapter For information about: See page Selecting a Power Supply 3-2 Planning the DIN Rails 3-4 Dividing I/O Modules Across DIN Rails 3-5 Placing Local I/O Modules 3-6 Determining When the Controller Updates I/O 3-7 Configuring a DIN Rail 3-9 Configuring Local I/O Modules 3-10 Inhibiting I/O Module Operation 3-14 Accessing I/O Data 3-17 Monitoring I/O Modules 3-20 The FlexLogix controller supports a local DIN rail of as many as 8 I/O modules and an extended-local DIN rail of as many as 8 I/O modules. The second DIN rail is optional. local DIN rail (LOCAL) extended-local DIN rail (LOCAL2) 1 Publication 1794-UM001E-EN-P - June 2003 3-2 Placing and Configuring Local I/O Selecting a Power Supply In a FlexLogix system, select an Allen-Bradley power supply. In applications that must be compliant with CSA requirements, use a Separated Extra-Low Voltage (SELV) power supply that is compliant with IEC 61010.1, Annex H. When selecting power supplies: · Provide power for the controller separately from the power for the FLEX I/O modules. To provide power for FLEX I/O modules, follow the guidelines in the documentation for those modules. · When providing power for the 1794-FLA extended-local I/O adapter, treat the adapter as a communication adapter, not as an I/O module. 1794 FLEX power supplies The following power supplies are the Allen-Bradley offerings for the FlexLogix system. Catalog number: Nominal input voltage: Input voltage range: 1794-PS3 120/230V ac 85-265V ac Maximum real input power: Maximum apparent input power: Maximum transformer load: Output current: 86W 205VA 250VA 3.0A @ 24V dc (horizontal mount) 2.8A @ 24Vdc (non-horizontal mount) 1794-PS13 Publication 1794-UM001E-EN-P - June 2003 36W 53VA 90VA 1.3A @ 24V dc Placing and Configuring Local I/O 3-3 Power requirements and transformer sizing These graphs display backplane power load. · Use the real power value to determine the amount of heat dissipation you have inside the enclosure. · Use the apparent power value to estimate power cost. · Use the transformer load value plus all other loads on a transformer to determine the required transformer size. 1794-PS3 ac/dc output current load (Amps) 3 3 3 2 2 2 1 1 1 0 0 0 20 40 60 80 100 real power (Watts) 1794-PS13 ac/dc output current load (Amps) 0 0 50 100 150 200 250 1.5 1.2 0.9 0.6 0.3 0.0 10 20 30 real power (Watts) 40 50 100 150 200 250 transformer load (VA) 1.5 1.2 0.9 0/6 0.3 0.0 0 0 apparent power (Watts) 1.5 1.2 0.9 0/6 0.3 0.0 0 15 30 45 apparent power (Watts) 60 0 20 40 60 80 100 transformer load (VA) = real power (Watts) x 2.5 Publication 1794-UM001E-EN-P - June 2003 3-4 Placing and Configuring Local I/O Planning the DIN Rails You can horizontally or vertically mount the FlexLogix system on steel, 35 x 7.55mm DIN rails (A-B part number 199-DR1; 46277-3; EN 50022). The DIN rails for all FlexLogix system components, including all local and extended-local I/O modules, must be mounted on a common, conductive surface to ensure proper electromagnetic interference (EMI) performance. vertical horizontal Use the optional 1794-CE1 (0.3m, 1ft) or 1794-CE3 (0.9m, 3ft) extender cable to add an extended-local rail of I/O to the controller. You can have as many as eight I/O modules on the local rail and eight modules on the extended-local rail. local rail extended-local rail Publication 1794-UM001E-EN-P - June 2003 Placing and Configuring Local I/O Dividing I/O Modules Across DIN Rails 3-5 You can also use the 1794-CE1, -CE3 cable to split a rail of I/O. You can split a rail right after the controller (or adapter) or after any I/O module. ATTENTION ! If you have an extended-local DIN rail (LOCAL2) or a split rail, the modules after the 1794-CE1, -CE3 cable will fault if the cable is disconnected. In this case, all outputs are reset, regardless of the module configurations. Publication 1794-UM001E-EN-P - June 2003 3-6 Placing and Configuring Local I/O Placing Local I/O Modules When you create a project for a FlexLogix controller, the Controller Organizer for that project automatically displays both the local DIN rail and the extended DIN rail. If you do not use one of the DIN rails, inhibit that rail. You must configure an RPI rate for each DIN rail. This rate applies to all the I/O modules you install on that DIN rail. The fastest RPI possible for a rail depends on the type of modules on that rail, that is, the fastest RPI for a module on the rail determines the RPI for the entire rail. TIP If you have a mix of analog and digital I/O modules, place the digital I/O modules on one DIN rail and place the analog I/O modules on the second DIN rail. You can then configure a faster RPI for the digital I/O modules (using a rack-optimized connection) and a more appropriate RPI for the analog I/O modules (each using a direct connection) without impacting the digital I/O modules . Publication 1794-UM001E-EN-P - June 2003 If you have: The fastest possible RPI is: one rail(1) of digital I/O modules 2 ms one rail of analog I/O modules 5 ms one rail of digital and analog I/O modules mixed 5 ms(2) first rail of digital I/O modules 2 ms second rail of analog I/O modules 5 ms first rail of digital I/O modules 2 ms second rail of digital I/O modules 5 ms first rail of digital and analog I/O modules mixed 5 ms(2) second rail of digital and analog I/O modules mixed 5 ms (1) You can use one rail of modules on the local DIN rail or the extended DIN rail. (2) If the number of analog I/O modules is small, you can speed up the RPI using the following equation: RPI = 2ms + (Number of analog I/O modules x 0.5ms) Placing and Configuring Local I/O 3-7 The FlexLogix controller uses to two services to scan I/O: the FlexBus and the controller itself. The FlexBus continually scans all the slots (0-7) on each DIN rail. The FlexBus scans both DIN rails at the same time, starting with slot 0, then scanning slot 1, and continuing with all the slots, and then repeating the cycle. Even if a module is inhibited or a slot is empty, the FlexBus scans that slot. The FlexBus scan identifies where modules reside and collects module data for the controller scan. The controller scans only those modules that are configured in the Control Organizer. This scan updates the module tags with current data. The RPI for the DIN rail affects how fast the controller gets data from the FlexBus. Determining When the Controller Updates I/O The FlexLogix system follows a producer/consumer model. Input modules produce data for the system. Controllers, output modules, and intelligent modules produce and consume data. The producer/consumer model multicasts data. This means that multiple nodes can consume the same data at the same time from a single device. The controller continually scans the control logic. One scan is the time it takes the controller to execute the logic once. Input data transfers to the controller and output data transfers to output modules asynchronous to the logic scan. TIP If you want data to remain constant throughout one scan, make a copy of the data at the beginning of the scan and use the copy throughout the scan. Publication 1794-UM001E-EN-P - June 2003 3-8 Placing and Configuring Local I/O Use the following flowchart to determine when a producer (controller, input module, or communication module) sends data. output input or output data? analog or digital? digital input analog digital analog or digital? remote or local? analog remote RTS £ RPI? No Yes local Data is sent to the backplane at the RTS. Data is sent to the backplane at the RTS and RPI. Data is sent to the backplane at the RPI Remote data is sent: · over the ControlNet network at the actual packet interval. · over the EtherNet/IP network at the requested packet interval. Publication 1794-UM001E-EN-P - June 2003 Data is sent to the backplane at the RPI and at the end of every program scan. Placing and Configuring Local I/O Configuring a DIN Rail 3-9 When you create a FlexLogix project, the programming software automatically creates two DIN rails for the project. You must configure the DIN rail. 1. In the Controller Organizer, select either the local (Local) or the extended-local (Local2) rail of the controller. Right-click the selected rail and select Properties. 2. Specify the configuration options for the rail. You must specify these characteristics: · On the General tab, specify the size of the chassis. Enter the number of modules (1-8) that you plan to install on the rail. The controller uses this chassis size to determine the size of tag for the rail’s rack-optimized data. · On the Connection tab, specify the RPI rate. The RPI rate of the DIN rail applies to all the I/O modules you install on that DIN rail. IMPORTANT If there are no modules installed on a rail, make sure to inhibit that rail. The communication format for the DIN rail is automatically set for rack-optimized. You cannot change this setting because the controller uses one rack-optimized connection for each DIN rail, whether you configure any I/O modules for rack-optimized or not. Publication 1794-UM001E-EN-P - June 2003 3-10 Placing and Configuring Local I/O Configuring Local I/O Modules Use the programming software to configure the I/O modules for the controller. You can configure I/O modules for both the local and the extended-local rails. Before you configure I/O modules, specify the RPI rate for the DIN rail. All the I/O modules on a DIN rail operate at this RPI. The DIN rail always operates as rack optimized. To configure an I/O module: 1. In the Controller Organizer, select either the local or the extended-local rail of the controller. Right-click the selected rail and select New Module. 3. Configure the module. Use the module wizard to specify characteristics for the module. Click Next to continue through the wizard. The selection you make for the Comm Format determines the connections required for the I/O module. Once you complete adding a module, you cannot change this selection. See page 3-12. Publication 1794-UM001E-EN-P - June 2003 Placing and Configuring Local I/O IMPORTANT 3-11 The FlexLogix controller supports FLEX and FLEX Ex I/O modules, but these I/O modules do not behave the same. If you have a communication or program fault with a FLEX I/O module that is configured for “Reset Outputs,” the outputs of the module go to zero (as expected). If the same fault occurs with a FLEX Ex module that is configured for “Reset Outputs,” the adapter goes to its safe state. If the module itself is defined as “ON,” the outputs actually turn on (don’t reset as expected). Electronic keying Specify electronic keying to ensure that a module being inserted or configured is the proper revision. Keying: Description: compatible module The module must be compatible with the software configuration. These characteristics must match: · module type · catalog number disable keying No attributes of the software or hardware are required to match. Publication 1794-UM001E-EN-P - June 2003 3-12 Placing and Configuring Local I/O ATTENTION ! If a module is configured for a direct connection, changing the RPI and electronic keying selections can cause the connection to the module to be broken and may result in loss of data. Be cautious when using the disable keying option. If used incorrectly, this option can lead to personal injury, death, property damage, or economic loss. Communication formats The communication format determines the data structure the I/O module uses, as well as the type of connection made to the module and the controller ownership of the module. Many I/O modules support different formats. Each format supports a different data structure. You select the communications format when you configure the I/O module. The default communication format for an I/O module is for a direct connection. Each rail for the FlexLogix controller is automatically configured for a rack-optimized connection, so consider configuring all local I/O modules for rack-optimized connections. Use the documentation for the I/O module to determine what data format to use. Publication 1794-UM001E-EN-P - June 2003 Placing and Configuring Local I/O 3-13 The listen-only communication format works for remote I/O only. Because of the distributed nature of a FlexLogix system, the FlexLogix controller must own its local I/O modules. No other Logix-based controller can listen to or own the local FlexLogix I/O. The FlexLogix controller must produce its local I/O data for other controller to consume. If you select listen-only for a local I/O module, the connection to that module will fault. The following tag structures are possible for a 1794-IA16 module. The communication format determines the structure that is created for the module. Assume that the module is in slot 0. The software creates the appropriate tags using the slot number to differentiate the tags for this example module from any other module. communication format: input data (which corresponds to a direct connection for the I/O module) communication format: rack optimization (which corresponds to a rack-optimized connection for the I/O module) Publication 1794-UM001E-EN-P - June 2003 3-14 Placing and Configuring Local I/O The rack-optimized tags are created as aliases into the array tag Local:I, which is the array for input modules on the local rail. This array contains one element for each slot on the rail (based on the chassis size you specify when you configure the rail). You can either address the rack-optimized module by the alias tag (which uses the slot number) or the array element in the rail tag. If you enter the alias tag in your logic, the programming software displays the base tag. Local:I contains an element for each possible slot on the rail, whether you actually install an input module there or not. Local:O also contains an element for each possible slot. If you configure a module on the local rail as a direct connection, do not use the associated array element in Local:I or Local:O. Use the tag the software creates for the module (which uses the slot number). Inhibiting I/O Module Operation In some situations, such as when initially commissioning a system, it is useful to disable portions of a control system and enable them as you wire up the control system. The controller lets you inhibit individual modules or groups of modules, which prevents the controller from trying to communicate with the modules. Inhibiting a module shuts down the connection from the controller to that module. When you configure an I/O module, it defaults to being not inhibited. You can change an individual module’s properties to inhibit a module. ATTENTION ! Publication 1794-UM001E-EN-P - June 2003 Inhibiting a module causes the connection to the module to be broken and prevents communication of I/O data. The controller and other I/O modules continue to operate based on old data from that module. To avoid potential injury and damage to machinery, make sure this does not create unsafe operation. Placing and Configuring Local I/O 3-15 Even if you inhibit an I/O module, the FlexBus still scans the module each scan sequence. You can only inhibit an I/O module if you configured the module to operate with a direct connection. On the Connection tab of the module properties in the programming software, you can select to inhibit that specific module. To inhibit a rack-optimized connection, you must inhibit the DIN rail, which in turns inhibits all the modules on that rail, whether configured for rack-optimized or direct connections. When you inhibit a communication module, such as a 1788-CNC communication card, the controller shuts down the connections to the communication card and to all the modules that depend on that card. Inhibiting a communication module lets you disable an entire branch of the I/O network. Publication 1794-UM001E-EN-P - June 2003 3-16 Placing and Configuring Local I/O When you select to inhibit a module, the controller organizer displays a yellow attention symbol ! over the module. If you are: Inhibit a module to: offline put a place holder for a module you are configuring The inhibit status is stored in the project. When you download the project, the module is still inhibited. online stop communication to a module If you inhibit a module while you are connected to the module, the connection to the module is closed. The modules’ outputs go to the last configured program mode. If you inhibit a module but a connection to the module was not established (perhaps due to an error condition or fault), the module is inhibited. The module status information changes to indicate that the module is inhibited and not faulted. If you uninhibit a module (clear the check box), and no fault condition occurs, a connection is made to the module and the module is dynamically reconfigured (if the controller is the owner controller) with the configuration you created for that module. If you uninhibit the module and a fault condition occurs, a connection is not made to the module. The module status information changes to indicate the fault condition. To inhibit a module from logic, you must first read the Mode attribute for the module using a GSV instruction. Set bit 2 to the inhibit status Publication 1794-UM001E-EN-P - June 2003 Placing and Configuring Local I/O 3-17 (1 to inhibit or 0 to uninhibit). Use a SSV instruction to write the Mode attribute back to the module. For example: The GSV instruction gets the current status of the module named “input_module.” The SSV instruction sets the state of “input_module” as either inhibited or uninhibited. When on, inhibits the module. When off, Accessing I/O Data The programming software displays I/O data as structures of multiple tags that depend on the specific features of the I/O module. The names of the data structures are based on the location of the I/O module. The programming software automatically creates the necessary structures and tags when you configure the module. Each tag name follows this format: Location:SlotNumber:Type.MemberName.SubMemberName.Bit Publication 1794-UM001E-EN-P - June 2003 3-18 Placing and Configuring Local I/O where: This address variable: Is: Location Identifies network location LOCAL = local DIN rail or chassis LOCAL2 = extended-local DIN rail ADAPTER_NAME = identifies remote adapter or bridge SlotNumber Slot number of I/O module in its chassis Type Type of data I = input O = output C = configuration S = status MemberName Specific data from the I/O module; depends on the type of data the module can store For example, Data and Fault are possible fields of data for an I/O module. Data is the common name for values the are sent to or received from I/O points. Publication 1794-UM001E-EN-P - June 2003 SubMemberName Specific data related to a MemberName. Bit (optional) Specific point on the I/O module; depends on the size of the I/O module (0-31 for a 32-point module) Placing and Configuring Local I/O 3-19 The following examples show addresses for data in a FlexLogix system. EXAMPLE I/O module on the local DIN rail 0 1 2 LOCAL 0 1 LOCAL2 4 3 2 Sample tag names for this example: Location: Example Tag Name: input module in slot 0 of LOCAL Local:0:I.Data Local:0:I.Fault output module in slot 1 of LOCAL Local:1:C.SSData Local:1:I.Fault Local:1:O.Data input module in slot 0 of LOCAL2 Local2:0:I.Data Local2:0:I.Fault output module in slot 4 of LOCAL2 Local2:4:C.SSData Local2:4:I.Fault Local2:4:O.Data data for the LOCAL DIN rail Local:I.Data Local:I.Fault Local:O.Data Local:O.Fault Publication 1794-UM001E-EN-P - June 2003 3-20 Placing and Configuring Local I/O Using aliases to simplify tag names An alias lets you create a tag that represents another tag. This is useful for defining descriptive tag names for I/O values. For example: Example: I/O structure Description: Local:0:O.Data.0 The aliases describe the specific I/O points. Local:0:I.Fault.0 alias light_on = Local:0:O.Data.0 light_off = Local:0:I.Fault.0 Monitoring I/O Modules The FlexLogix controller offers different levels at which you can monitor I/O modules. You can: · configure an I/O module so that the controller faults if that I/O module loses its connection with the controller · use the programming software to display fault data · program logic to monitor fault data so you can take appropriate action Configuring the module’s response to a connection failure You can configure modules to generate a major fault in the controller if they lose their connection with the controller. Publication 1794-UM001E-EN-P - June 2003 Placing and Configuring Local I/O 3-21 If you do not configure the major fault to occur, you should monitor the module status. If a module loses its connection to the controller: · outputs go to their configured faulted state · inputs remain in their last, non-faulted state ATTENTION ! If a module loses its connection to the controller, the controller and other I/O modules continue to operate based on old data from that module. To avoid potential injury and damage to machinery, make sure this does not create unsafe operation. Configure critical I/O modules to generate a controller major fault when they lose their connections to the controller. Or, monitor the status of I/O modules. Monitoring an I/O module Most I/O modules have fault bits that indicate when a fault occurs at a specific point of a module. To view this data through the programming software: 1. In the Controller Organizer, select Controller Tags. Right-click to select Monitor Tags. You can write logic to monitor these bits and take appropriate action if a fault occurs. For example, you may want to shut down the system if a specific point experiences a fault. This example assumes a direct connection for the I/O module. Publication 1794-UM001E-EN-P - June 2003 3-22 Placing and Configuring Local I/O Monitoring a rack-optimized connection The controller views the DIN rail as another module in the system. Each DIN rail has its own data. To view this data through the programming software: 1. In the Controller Organizer, select Controller Tags. Right-click to display the Data Monitor. ATTENTION ! If you have an extended-local DIN rail (LOCAL2) or a split rail, the modules after the 1794-CE1, -CE3 cable will fault if the cable is disconnected. In this case, all outputs are reset, regardless of the module configurations. You can write logic to monitor the rack bits and take appropriate action if a fault occurs. For example, the following logic determines whether an error occurs on the Local rail. Then, the logic determines whether the error occurred at the module in slot 0. You can continue this logic to check each module on the rail. Publication 1794-UM001E-EN-P - June 2003 Chapter 4 Communicating with Devices on an EtherNet/IP Link Using This Chapter For information about: Configuring Your System for a EtherNet/IP Link See page Configuring Your System for a EtherNet/IP Link 4-1 Configuring Remote I/O 4-7 Sending Messages 4-12 Producing and Consuming Data 4-20 Guidelines for Configuring Connections 4-23 Example 1: FlexLogix Controller and Remote I/O 4-23 Example 2: FlexLogix Controller to FlexLogix Controller 4-24 Example 3: FlexLogix Controller to Other Devices 4-27 Example 4: Using FlexLogix as a Bridge 4-30 For the FlexLogix controller to operate on an Ethernet network, you need: · a workstation with an appropriate EtherNet/IP communication daughtercard · a 1788-ENBT communication daughtercard installed in the FlexLogix communication slot · RSLinx software to configure the EtherNet/IP communication driver · RSLogix5000 programming software (Version 11 or later) to configure the 1788-ENBT communication daughtercard as part of the FlexLogix system IMPORTANT 1 Unlike ControlNet, the EtherNet/IP network requires no scheduling. Publication 1794-UM001E-EN-P - June 2003 4-2 Communicating with Devices on an EtherNet/IP Link Step 1: Configure the hardware Before you can connect the FlexLogix system to the Ethernet network, you must configure the 1788-ENBT communication daughtercard and make sure it’s properly installed in the FlexLogix controller. slot 1 slot 2 31032 Remember which slot you use for which communication daughtercard. You’ll need the slot number to configure the communication daughtercard in the RSLogix 5000 programming software. The controller uses slot 0. For more information about configuring a 1788-ENBT communication daughtercard, see: Publication 1794-UM001E-EN-P - June 2003 For this card: See this document: 1788-ENBT 1788-IN054 Communicating with Devices on an EtherNet/IP Link 4-3 Step 2: Configuring the AB_ETH Driver To configure the AB_ETH Ethernet communication driver perform the following steps: 1. Start RSLinx. 2. From the Communications menu, select Configure Drivers. The following window will open. Publication 1794-UM001E-EN-P - June 2003 4-4 Communicating with Devices on an EtherNet/IP Link 3. Click on the arrow to the right of the Available Driver Types box. The Available Driver Types list will appear. 4. Select Ethernet Devices and click on Add/New. You will be prompted to name the driver. 5. Select the default driver name (e.g., AB_ETH-1) or type in your own name and click on OK. The Configure driver window appears with the Station Mapping page open. 6. Click on Add New. Publication 1794-UM001E-EN-P - June 2003 Communicating with Devices on an EtherNet/IP Link 4-5 7. Enter the IP address or Host Name of your 1788-ENBT module (e.g., 130.130.130.2, “Pump1”, etc.). Use of the IP address on this screen informs the controller of the daughtercard’s IP address for processes such ladder logic and I/O data exchange. You can set the IP address in any of these ways: · Rockwell BootP Utility · RSLinx software · Third-party BootP server · DHCP network server For moreinformation on using these tools, see the EtherNet/IP Communication Daughtercard user manual, publication 1788-UM054. 8. Repeat step 6 for each additional Ethernet module you need to access. 9. When you are done entering the IP addresses, click on Apply. 10. Click on OK to close the Configure driver window. The new driver appears in the list of configured drivers. (Your list will display the drivers you have configured on your workstation.) 11. Close RSLinx Publication 1794-UM001E-EN-P - June 2003 4-6 Communicating with Devices on an EtherNet/IP Link Step 3: Configure the daughtercard as part of the system Use RSLogix 5000 programming software (Version 11 or later) to map the 1788-ENBT communication daughtercard as part of the FlexLogix system. In the Controller Organizer, add the communication daughtercard to the I/O Configuration folder. 1. In RSLogix 5000 programming software, select the I/O Configuration folder. 2. Right-click to select New Module and add a 1788-ENBT communication daughtercard. 3. Specify the appropriate communication daughtercard settings. 4. Specify (while offline) the IP address of the communication daughtercard that you installed. IMPORTANT: When the project is online, you can also specify the IP address on the Port Configuration screen, if you did not already use the Bootp tool to specify an IP address. When you specify an IP address on the Port Configuration screen, you assign the IP address to the device. If you specify an IP address on the Port Configuration screen, make sure it matches the IP address on the General screen. Complete your system configuration and develop your program logic. Then download the project to the FlexLogix controller. Publication 1794-UM001E-EN-P - June 2003 Communicating with Devices on an EtherNet/IP Link Configuring Remote I/O 4-7 The FlexLogix controller supports remote I/O over a EtherNet/IP link. Configuring I/O in a remote chassis is similar to configuring local I/O. The difference is that you must also configure the communication daughtercard (1788-ENBT) in the local chassis and the communication module in the remote chassis. Add the FLEX I/O Ethernet Adapter to the I/O Configuration 1. In RSLogix 5000 programming software, select 1788-ENBT communication daughtercard. 2. Right-click to select New Module and add a 1794-AENT Ethernet adapter. 3. Specify the appropriate adapter settings. 4. Specify (while offline) the IP address of the communication daughtercard that you installed. IMPORTANT: When the project is online, you can also specify the IP address on the Port Configuration screen, if you did not already use the Bootp tool to specify an IP address. When you specify an IP address on the Port Configuration screen, you assign the IP address to the device. If you specify an IP address on the Port Configuration screen, make sure it matches the IP address on the General screen. Publication 1794-UM001E-EN-P - June 2003 4-8 Communicating with Devices on an EtherNet/IP Link Add FLEX I/O Modules to the I/O Configuration 1. In RSLogix 5000 programming software, select 1794-AENT Ethernet adapter. 2 Right-click to select New Module and add the appropriate FLEX I/O module. 3. Specify the appropriate module settings. After you select the appropriate FLEX I/O module, the Module Properties window opens. 4. Configure the module. 5. Add additional modules as needed. The local daughtercard becomes the “parent module” to the remote module. The controller organizer shows this parent/child relationship between local and remote communication devices. Publication 1794-UM001E-EN-P - June 2003 Communicating with Devices on an EtherNet/IP Link 4-9 Accessing remote I/O I/O information is presented as a structure of multiple fields, which depend on the specific features of the I/O module. The name of the structure is based on the location of the I/O module in the system. Each I/O tag is automatically created when you configure the I/O module through the programming software. Each tag name follows this format: Location:SlotNumber:Type.MemberName.SubMemberName.Bit where: This address variable: Is: Location Identifies network location LOCAL = local DIN rail or chassis LOCAL2 = extended-local DIN rail ADAPTER_NAME = identifies remote adapter or bridge SlotNumber Slot number of I/O module in its chassis Type Type of data I = input O = output C = configuration S = status MemberName Specific data from the I/O module; depends on the type of data the module can store For example, Data and Fault are possible fields of data for an I/O module. Data is the common name for values the are sent to or received from I/O points. SubMemberName Specific data related to a MemberName. Bit (optional) Specific point on the I/O module; depends on the size of the I/O module (0-31 for a 32-point module) EXAMPLE configured for direct connections configured for rack-optimized connections Publication 1794-UM001E-EN-P - June 2003 4-10 Communicating with Devices on an EtherNet/IP Link Device: Example Tag Names (automatically created by the software): remote adapter “FLEX_adapter” FLEX_adapter:I FLEX_adapter:I.SlotStatusBits FLEX_adapter:I.Data FLEX_adapter:O FLEX_adapter:O.Data remote “input1” in slot 0 direct connection FLEX_adapter:0:C FLEX_adapter:0:C.Config FLEX_adapter:0:C.Filter0_00_11 FLEX_adapter:0:C.Filter1_00_11 FLEX_adapter:0:C.Filter2_00_11 FLEX_adapter:0:C.Filter3_12_15 FLEX_adapter:0:C.Filter4_12_15 FLEX_adapter:0:C.Filter5_12_15 FLEX_adapter:0:C.ResetCounter FLEX_adapter:0:C.DisableFilter FLEX_adapter:0:I FLEX_adapter:0:I.Fault FLEX_adapter:0:I.Data FLEX_adapter:0:I.Counter Publication 1794-UM001E-EN-P - June 2003 Communicating with Devices on an EtherNet/IP Link Device: Example Tag Names (automatically created by the software): remote “output1” in slot 1 FLEX_adapter:1:C direct connection 4-11 FLEX_adapter:1:C.SSDate FLEX_adapter:1:I FLEX_adapter:1:I.Fault FLEX_adapter:1:O FLEX_adapter:1:O.Data remote “input2” in slot 2 FLEX_adapter:2:C rack-optimized connection FLEX_adapter:2:C.Config FLEX_adapter:2:C.Filter0_00_11 These tags are created as aliases into the FLEX_adapter:I tag FLEX_adapter:2:C.Filter1_00_11 FLEX_adapter:2:C.Filter2_00_11 FLEX_adapter:2:C.Filter3_12_15 FLEX_adapter:2:C.Filter4_12_15 FLEX_adapter:2:C.Filter5_12_15 FLEX_adapter:2:C.ResetCounter FLEX_adapter:2:C.DisableFilter FLEX_adapter:2:I remote “output2” in slot 3 FLEX_adapter:3:C rack-optimized connection FLEX_adapter:3:C.SSDate FLEX_adapter:3:O These tags are created as aliases into the FLEX_adapter:O tag For examples of local I/O tags, see Chapter 3, Placing and Configuring Local I/O. Publication 1794-UM001E-EN-P - June 2003 4-12 Communicating with Devices on an EtherNet/IP Link Sending Messages The FlexLogix controller can send MSG instructions to other controllers over an EtherNet/IP link. Each MSG instruction requires you to specify a target and an address within the target. The number of messages that a device can support depends on the type of message and the type of device: This device: Support this many unconnected messages: Support this many connected messages: 1756-ENBT module (for a Logix5550 controller) 256 128 1788-ENBT daughtercard (for a FlexLogix controller) 5 32 1794-AENT adapter The 1794-AENT adapter can support a total of 32 messages whether they be connected, unconnected or some combination of both. (for FLEX I/O) Ethernet PLC-5 controller 32 128 MSG instructions are unscheduled. The type of MSG determines whether or not it requires a connection. If the MSG instruction requires a connection, it opens the needed connection when it is executed. You can configure the MSG instruction to keep the connection open (cache) or to close it after sending the message. This type of message: And this communication method: CIP data table read or write PLC2, PLC3, PLC5, or SLC (all types) Uses a connection: X CIP CIP with Source ID CIP generic block-transfer read or write (1) DH+ X CIP Optional(1) X You can connect CIP generic messages, but for most applications, we recommend you leave CIP generic messages unconnected. Publication 1794-UM001E-EN-P - June 2003 Communicating with Devices on an EtherNet/IP Link 4-13 Connected messages are unscheduled connections on EtherNet/IP. If a MSG instruction uses a connection, you have the option to leave the connection open (cache) or close the connection when the message is done transmitting. If you: Then: Cache the connection The connection stays open after the MSG instruction is done. This optimizes execution time. Opening a connection each time the message executes increases execution time. Do not cache the connection The connection closes after the MSG instruction is done. This frees up that connection for other uses. The controller has the following limits on the number of connections that you can cache: If you have this software and firmware revision: 11.x or earlier Then you can cache: · block transfer messages for up to 16 connections · other types of messages for up to 16 connections 12.x or later up to 32 connections The FlexLogix controller supports one connected and one unconnected MSG if you want to use the FlexLogix system as a bridge to a device on another network. There is no buffer to store waiting MSG instructions that bridge networks. ATTENTION The FlexLogix controller’s performance degrades significantly if you use the controller as a bridge. ! Bridging over the FlexLogix controller should be targeted toward applications that are not real time dependent, such as RSLogix 5000 program downloads and ControlFlash updates. Publication 1794-UM001E-EN-P - June 2003 4-14 Communicating with Devices on an EtherNet/IP Link Communicating with another Logix-based controller All Logix-based controllers can use MSG instructions to communicate with each other. The following examples show how to use tags in MSG instructions between Logix-based controllers. Type of MSG Instruction: Example Source and Destination: Logix-based controller writes to Logix-based controller source tag array_1 destination tag array_2 source tag array_1 destination tag array_2 (CIP Data Table Write) Logix-based controller reads from Logix-based controller (CIP Data Table Read) The source and destination tags: · must be controller-scoped tags. · can be of any data type, except for AXIS, MESSAGE, or MOTION_GROUP. Publication 1794-UM001E-EN-P - June 2003 Communicating with Devices on an EtherNet/IP Link 4-15 Communicating with other controllers over EtherNet/IP The FlexLogix controller also uses MSG instructions to communicate with PLC and SLC controllers. The MSG instructions differ depending on which controller initiates the instruction. For MSG instructions originating from a FlexLogix controller to a PLC or SLC controller: Type of MSG Instruction: Supported Source File Types: Supported Destination File Types: FlexLogix writes to PLC-5 or SLC In the FlexLogix controller, specify the source data type based on the destination device: Specify the destination file type based on the destination device: PLC-5: SINT, INT, DINT, or REAL PLC-5 typed write: S, B, N, or F SLC: INT, REAL PLC-5 word-range write: S, B, N, F, I, O, A, or D SLC: B, N or F Example source element: array_1 Example destination tag: N7:10 Publication 1794-UM001E-EN-P - June 2003 4-16 Communicating with Devices on an EtherNet/IP Link Type of MSG Instruction: Supported Source File Types: Supported Destination File Types: FlexLogix writes to PLC-2 In the FlexLogix controller, select one of these data types: Use the PLC-2 compatibility file. SINT, INT, DINT, or REAL FlexLogix reads from PLC-5 or SLC Example source element: array_1 Example destination tag: 010 Specify the destination file type based on the destination device: In the FlexLogix controller, specify the destination data type based on the destination device: PLC-5 typed read: S, B, N, or F PLC-5: SINT, INT, DINT, or REAL PLC-5 word-range read: S, B, N, F, I, O, A, or D SLC: INT, REAL SLC: B, N or F FlexLogix reads from PLC-2 Example source element: N7:10 Example destination tag: array_1 Use the PLC-2 compatibility file. In the FlexLogix controller, select one of these data types: SINT, INT, DINT, or REAL Example source element: 010 Publication 1794-UM001E-EN-P - June 2003 Example destination tag: array_1 Communicating with Devices on an EtherNet/IP Link 4-17 The FlexLogix controller can send typed or word-range commands to PLC-5 controllers. These commands read and write data differently. The following diagrams show how the typed and word-range commands differ. Typed read command 16-bit words in PLC-5 controller Word-range read command 32-bit words in FlexLogix controller 16-bit words in PLC-5 controller 32-bit words in FlexLogix controller 1 1 1 2 1 2 2 2 4 3 3 3 3 4 4 4 The typed commands maintain data structure and value. The word-range commands fill the destination tag contiguously. Data structure and value change depending on the destination data type. The FlexLogix controller can process messages initiated from PLC or SLC controllers. These messages use data table addresses. In order for these controllers to access tags within the FlexLogix controller, you map tags to data table addresses. Publication 1794-UM001E-EN-P - June 2003 4-18 Communicating with Devices on an EtherNet/IP Link Mapping addresses The programming software includes a PLC/SLC mapping tool which allows you to make an existing controller array tag in the local controller available to PLC-2, PLC-3, PLC-5, or SLC controllers. To map addresses: 1. From the Logic menu, select Map PLC/SLC Messages. 2. Specify this information: For: In this field: Specify: For example: Type the file number of the data table in the PLC/SLC controller. 10 Tag Name Type the array tag name the local controller uses to refer to the PLC/SLC data table address. The tag must be an integer array (SINT, INT, or DINT) that is large enough for the message data. array_1 Tag Name Type the tag name to be the PLC-2 compatibility file. 200 PLC-3, PLC-5, and File Number SLC controllers PLC-2 controllers TIP Publication 1794-UM001E-EN-P - June 2003 You can map as many tags as you want to a PLC-3, PLC-5, or SLC controller. You can map only one tag to a PLC-2 controller. Communicating with Devices on an EtherNet/IP Link 4-19 The following table shows example source and destination tags and elements for different controller combinations. Type of MSG Instruction: Example Source and Destination: PLC-5 writes to FlexLogix source element N7:10 destination tag “array_1” SLC writes to FlexLogix The PLC-5, PLC-3, and SLC controllers support logical ASCII addressing so you do not have to map a compatibility file for MSG instructions initiated by a PLC-5, PLC-3, or SLC controller. Place the FlexLogix tag name in double quotes (“). SLC 5/05 SLC 5/04 OS402 and above SLC 5/03 OS303 and above You could optionally map a compatibility file. For example, if you enter 10 for the compatibility file, you enter N10:0 for the destination tag. PLC-2 writes to FlexLogix source element 010 destination tag 200 The destination tag is the three-digit PLC-2 address you specified for PLC-2 mapping. PLC-5 reads from FlexLogix SLC reads from FlexLogix source tag “array_1” destination element N7:10 The PLC-5, PLC-3, and SLC controllers support logical ASCII addressing so you do not have to map a compatibility file for MSG instructions initiated by a PLC-5, PLC-3, or SLC controller. Place the FlexLogix tag name in double quotes (“). SLC 5/05 SLC 5/04 OS402 and above SLC 5/03 OS303 and above You could optionally map a compatibility file. For example, if you enter 10 for the compatibility file, you enter N10:0 for the source tag. PLC-2 reads from FlexLogix source tag 200 destination element 010 The source tag is the three-digit PLC-2 address you specified for PLC-2 mapping. When the FlexLogix controller initiates messages to PLC or SLC controllers, you do not have to map compatibility files. You enter the data table address of the target device just as you would a tag name. SLC 5/05 controllers, SLC 5/04 controllers (OS402 and above), and SLC 5/03 controllers (OS303 and above) support logical ASCII addressing and support PLC/SLC mapping (see the examples above). For all other SLC or MicroLogix1000 controllers, you must map a PLC-2 compatibility file (see the PLC-2 examples above). Publication 1794-UM001E-EN-P - June 2003 4-20 Communicating with Devices on an EtherNet/IP Link Producing and Consuming Data The FlexLogix controller supports the ability to produce (broadcast) and consume (receive) system-shared tags over an EtherNet/IP link. Produced and consumed data is accessible by multiple controllers over an Ethernet network. The controller sends or receives data at a predetermined RPI rate. Produced and consumed tags must be controller-scoped tags of DINT or REAL data type, or in an array or structure. Tag type: Description: produced These are tags that the controller produced for other controllers to consume. · Enabled for producing These are tags whose values are produced by another controller. · Controller name that owns the tag that the local controller wants to consume consumed Specify: · How many consumers allowed · Tag name or instance that the controller wants to consume · Data type of the tag to consume · Update interval of how often the local controller consumes the tag The producer and consumer must be configured correctly for the specified data to be shared. A produced tag in the producer must be specified exactly the same as a consumed tag in the consumer. If any produced/consumed tag between a producer and consumer is not specified correctly, none of the produced/consumed tags for that producer and consumer will be transferred. For example, if a FlexLogix controller is consuming three tags that another FlexLogix controller consumes but the first tag is specified incorrectly, none of the tags are transferred to the consuming FlexLogix controller. However, one consumer failing to access shared data does not affect other consumers accessing the same data. For example, if the producing FlexLogix controller from the previous example also produced tags for other consuming controllers but did so correctly, those tags are still transferred to the additional consuming controllers. Maximum number of produced and consumed tags The maximum number of produced/consumed tags that you can configure depends on the connection limits of the communication device that transfers the produced/consumed data. Each produced tag uses one connection for the tag and the first configured consumer of the tag. Each consumer thereafter uses an additional connection. Publication 1794-UM001E-EN-P - June 2003 Communicating with Devices on an EtherNet/IP Link 4-21 Size limit of a produced or consumed tag A produced or consumed tag can be as large as 488 bytes, but it must also fit within the bandwidth of the EtherNet/IP network. Producing a tag Produced data must be of DINT or REAL data type or a structure. You can use a user-defined structure to group BOOL, SINT, and INT data to be produced. To create a produced tag: 1. You must be programming offline. 2. In the controller organizer, double-click the Controller Tags folder and then click the Edit Tags tab. 3. Select the tag that you want to produce, or enter a new tag, and display the Tag Properties dialog box. 4. Make sure the tag is controller scope. 5. Select the “Produce this tag” check box. Specify how many controllers can consume the tag. You can produce a base, alias, or consumed tag. The consumed tag in a receiving controller must have the same data type as the produced tag in the originating controller. The controller performs type checking to ensure proper data is being received. Produced tags require connections. The number of connections depends on how many controllers are consuming the tags. The controller requires one connection for the produced tag and the first consumer. Then, the controller requires an additional connection for each subsequent consumer. Publication 1794-UM001E-EN-P - June 2003 4-22 Communicating with Devices on an EtherNet/IP Link Consuming a tag A consumed tag represents data that is produced (broadcast) by one controller and received and stored by the consuming controller. To create a consumed tag: 1. You must be programming offline. 2. In the controller organizer, double-click the Controller Tags folder and then click the Edit Tags tab. 3. Select the tag that you want to consume, or enter a new tag, and display the Tag Properties dialog box. 4. Specify: In this field: Type or select: Tag Type Select Consumed. Controller Select the name of the other controller. You must have already created the controller in the controller organizer for the controller name to be available. Remote Tag Name Remote Instance Type a name for the tag in the other controller you want to consume. Important: The name must match the name in the remote controller exactly, or the connection faults. RPI (requested packet interval) Type the amount of time in msec between updates of the data from the remote controller. The local controller will receive data at least this fast. Display Style If you are creating a consumed tag that refers to a tag whose data type is BOOL, SINT, INT, DINT, or REAL, you can select a display style. This display style defines how the tag value will be displayed in the data monitor and ladder editor. The display style does not have to match the display style of the tag in the remote controller. All consumed tags are automatically controller-scope. The produced tag in the originating FlexLogix controller must have the same data type as the consumed tag in the consuming FlexLogix controller. The FlexLogix controller performs type checking to make sure proper data is being received. IMPORTANT Publication 1794-UM001E-EN-P - June 2003 If a consumed-tag connection fails, none of the tags are transferred from the producing controller to the consuming controller. Communicating with Devices on an EtherNet/IP Link Guidelines for Configuring Connections 4-23 Each 1788-ENBT communication daughtercard supports 32 I/O connections. How you configure these connections determines how many devices the daughtercard can support. If you have two communication daughtercards, use one for communication and the other for remote I/O. While one daughtercard can support both functions, performance can improve by separating these functions onto separate daughtercards. Example 1: FlexLogix Controller and Remote I/O In the following example, one FlexLogix controller controls remote I/O through a 1794-AENT module. FlexLogix controller (Flex1) EtherNet/IP 1794-AENT with remote I/O (Remote1) 43325 Example 1: Controlling remote devices This example has Flex1 controlling the I/O connected to the remote 1794-AENT module. The data the FlexLogix controller receives from the remote I/O modules depends on how you configure the remote I/O modules. You can configure each module as a direct connection or as rack optimized. One chassis can have a combination of some modules configured as a direct connection and others as rack optimized. Publication 1794-UM001E-EN-P - June 2003 4-24 Communicating with Devices on an EtherNet/IP Link Example 1: Total connections required by Flex1 The following table calculates the connections used in this example. Connection: Amount: Flex1 controller to 3 local I/O modules rack-optimized connection for the DIN rail 1 direct connection for each I/O module 3 Flex1 controller to remote 1794-AENT 1 Flex1 to 4 remote I/O modules (through 1794-AENT) 4 all I/O modules configured as direct connection no connection to the 1794-AENT total connections used: 9 If you configured the remote I/O modules as rack-optimized, you would only need a rack-optimized connection to the 1794-AENT, reducing the above example by 3 connections. Example 2: FlexLogix Controller to FlexLogix Controller In the following example, one FlexLogix controller communicates with another FlexLogix controller over EtherNet/IP. Each FlexLogix controller has its own local I/O Distributed control EtherNet/IP Flex1 1,1,2,xxx.xxx.xxx.xxx,1,0 (xxx.xxx.xxx.xxx is the IP address) Flex2 1,1,2,xxx.xxx.xxx.xxx,1,0 (xxx.xxx.xxx.xxx is the IP address) workstation Example 2: Sending a MSG instruction To send a MSG from Flex1 to Flex2: 1. For Flex1, create a controller-scoped tag and select the MESSAGE data type. 2. Enter a MSG instruction. Publication 1794-UM001E-EN-P - June 2003 Communicating with Devices on an EtherNet/IP Link 4-25 In this example logic, a message is sent when a specific condition is met. When count_send is set, send count_msg. count_send count_msg.en / MSG Type - Unconfigured Message Control count_msg ... EN DN ER 3. Configure the MSG instruction. On the Configuration tab: For this item: Specify: Message Type CIP Data Table Read or CIP Data Table Write Source Tag Tag containing the data to be transferred Number of Elements Number of array elements to transfer Destination Tag Tag to which the data will be transferred 4. On the Communication tab, specify the communication path. A communication path requires pairs of numbers. The first number in the pair identifies the port from which the message exits. The second number in the pair designates the node address of the next device. For this item: Specify: Communication Path 1,1,2,xxx.xxx.xxx.xxx,1,0 where: 1 is the FlexLogix backplane of Flex1 1 is 1788-ENBT daughtercard in slot 1 2 is the EtherNet/IP port xxx.xxx.xxx.xxx. is the IP address of Flex2 1 is the FlexLogix backplane of Flex2 0 is the controller slot of Flex2 Publication 1794-UM001E-EN-P - June 2003 4-26 Communicating with Devices on an EtherNet/IP Link Example 2: Producing and consuming tags Produced data must be of DINT or REAL data type or an array or structure. You can use a user-defined structure to group BOOL, SINT, and INT data to be produced. You can produce a base, alias, or consumed tag. The consumed tag must have the same data type as the produced tag in the originating controller. The controller performs type checking to ensure proper data is being received. EtherNet/IP Flex1 TagA TagB DINT REAL Flex2 (controllerb) TagA DINT TagB REAL workstation This example shows Flex1 as producing TagA and consuming TagB: TagA TagB Each produced tags requires one connection for the producing controller and an additional connection for each consuming controller. Each consumed tag requires one connection. Publication 1794-UM001E-EN-P - June 2003 Communicating with Devices on an EtherNet/IP Link 4-27 Example 2: Total connections required by Flex1 The following table calculates the connections used in this example. Connection: Amount: Flex1 controller to 3 local I/O modules rack-optimized connection for the DIN rail 1 direct connection for each I/O module 3 Flex1 controller to local 1788-ENBT 0 Flex1 controller to remote 1788-ENBT 0 connected, cached MSG from Flex1 to Flex2 1 produced TagA produced from Flex1 to Flex2 1 other consumer (2 are configured) 1 consumed TagB 1 total connections used: 8 If you configured the local I/O modules as rack-optimized, you would only need the DIN-rail connection to the I/O modules, reducing the above example by 3 connections. Example 3: FlexLogix Controller to Other Devices Distributed control with a ControlLogix controller as the coordinating controller In the following example, one FlexLogix controller communicates with a Logix5550 controller and an Ethernet PLC-5 controller over EtherNet/IP. ControlLogix controller (Control1) EtherNet/IP FlexLogix controller (Flex1) Ethernet PLC-5 controller (PLC5E1) FlexLogix controller (Flex2) Publication 1794-UM001E-EN-P - June 2003 4-28 Communicating with Devices on an EtherNet/IP Link Example 3: Sending MSG instructions You configure a MSG instruction to a Logix5550 controller the same as you do for a FlexLogix controller. All Logix-based controllers follow the same MSG configuration requirements. See Example 2 above. Configuring a MSG instruction for a PLC-5 controller depends on the originating controller. For MSG instructions originating from the FlexLogix controller to the Ethernet PLC-5 controller: Type of Logix MSG instruction: Source: Destination: Typed Read any integer element (such as B3:0, T4:0.ACC, C5:0.ACC, N7:0, etc.) SINT, INT, or DINT tag any floating point element (such as F8:0, PD10:0.SP, etc.) REAL tag SINT or INT tag any integer element (such as B3:0, T4:0.ACC, C5:0.ACC, N7:0, etc.) REAL tag any floating point element (such as F8:0, PD10:0.SP, etc.) Word Range Read any data type (such as B3:0, T4:0, C5:0, R6:0, N7:0, F8:0, etc.) SINT, INT, DINT, or REAL Word Range Write SINT, INT, DINT, or REAL any data type (such as B3:0, T4:0, C5:0, R6:0, N7:0, F8:0, etc.) Typed Write The PLC-5 controller supports logical ASCII addressing so you do not have to map a compatibility file for MSG instructions initiated by a PLC-5 controller. Place the FlexLogix tag name in double quotes (“). Type of MSG Instruction: Example Source and Destination: PLC-5 writes to FlexLogix source element N7:10 destination tag “array_1” source tag “array_1” destination element N7:10 PLC-5 reads from FlexLogix Publication 1794-UM001E-EN-P - June 2003 Communicating with Devices on an EtherNet/IP Link 4-29 Example 3: Total connections required by Flex1 The following table calculates the connections used in this example. Connection: Amount: Flex1 controller to 3 local I/O modules rack-optimized connection for the DIN rail 1 direct connection for each I/O module 3 Flex1 controller to local 1788-ENBT 0 connected, cached MSG from Flex1 to Control1 1 connected, cached MSG from Flex1 to PLC-5E1 1 total connections used: 6 If you configured the local I/O modules as rack-optimized, you would only need the DIN-rail connection to the I/O modules, reducing the above example by 3 connections. Publication 1794-UM001E-EN-P - June 2003 4-30 Communicating with Devices on an EtherNet/IP Link Example 4: Using FlexLogix as a Bridge You can use the FlexLogix controller to bridge messages between devices; the controller supports one connected and one unconnected message between devices. The FlexLogix controller will not bridge I/O data, only messaging data, and there is no buffer to store waiting messages that bridge networks. IMPORTANT The FlexLogix controller’s performance degrades significantly if you use the controller as a bridge. Bridging over the FlexLogix controller should be targeted toward applications that are not real time dependent, such as RSLogix 5000 program downloads and ControlFlash updates. For example, in the example below a message originates at a workstation and is bridged over FlexLogix to a PanelView station. workstation EtherNet/IP A FlexLogix system EtherNet/IP B PanelView station In the example above, the message originates and ends on EtherNet/IP. The FlexLogix controller will bridge messages between different networks. However, the FLexLogix controller cannot bridge a message that originates on DeviceNet. For more information, see Table 4.1. Publication 1794-UM001E-EN-P - June 2003 Communicating with Devices on an EtherNet/IP Link 4-31 Table 4.1 Bridging Over the FlexLogix Controller The FlexLogix controller can bridge messages that originate on this network: and end of this network: EtherNet/IP EtherNet/IP ControlNet DeviceNet RS-232 ControlNet EtherNet/IP ControlNet DeviceNet RS-232 RS-232 EtherNet/IP ControlNet DeviceNet IMPORTANT Note that when the FlexLogix controller is used as a bridge, you do not have to account for the message’s communication path in the controller’s configuration. However, if the message originates with the FlexLogix controller, you must configure the message’s communication path in the controller’s configuration. For more information on how to configure the message’s communication path, see Example 2 on page 4-24. Publication 1794-UM001E-EN-P - June 2003 4-32 Communicating with Devices on an EtherNet/IP Link Notes: Publication 1794-UM001E-EN-P - June 2003 Chapter 5 Communicating with Devices on a ControlNet Link Using This Chapter Configuring Your System for a ControlNet Link For information about: See page Configuring your system for a ControlNet link 5-1 Configuring remote I/O 5-5 Sending messages 5-11 Producing and consuming data 5-17 Guidelines for configuring connections 5-21 Example 1: FlexLogix controller and remote I/O 5-22 Example 2: FlexLogix controller to FlexLogix controller 5-24 Example 3: FlexLogix controller to other devices 5-27 Example 4: Using FlexLogix as a bridge 5-33 For the FlexLogix controller to operate on a ControlNet network, you need: · a workstation with an appropriate ControlNet communication daughtercard · a 1788-CNx communication daughtercard installed in the FlexLogix communication slot · RSLinx software to configure the ControlNet communication driver · RSLogix5000 programming software to configure the 1788-CNx communication daughtercard as part of the FlexLogix system · RSNetWorx for ControlNet software to schedule the FlexLogix system on the network 1 Publication 1794-UM001E-EN-P - June 2003 5-2 Communicating with Devices on a ControlNet Link Step 1: Configure the hardware Before you can connect the FlexLogix system to the ControlNet network, you must configure the 1788-CNx communication daughtercard and make sure it’s properly installed in the FlexLogix controller. slot 1 slot 2 43324 Remember which slot you use for which communication daughtercard. You’ll need the slot number to configure the communication daughtercard in the RSLogix 5000 programming software. The controller uses slot 0. For more information about configuring a 1788-CNx communication daughtercard, see: Publication 1794-UM001E-EN-P - June 2003 For this card: See this document: 1788-CNC, -CNCR 1788-IN002 1788-CNF, -CNFR 1788-IN005 Communicating with Devices on a ControlNet Link 5-3 Step 2: Configure the communication driver Use RSLinx software to configure the ControlNet communication driver. Select the appropriate communication driver for the communication daughtercard in your workstation. 1. In RSLinx software, select Configure Driver. Select the appropriate driver. The installation instructions for the communications daughtercard should identify which communication driver to install. 2. Specify the appropriate settings. For example: If you are using this device: Specify this information: 1784-KTCx card memory address, which must match the switch setting on the card I/O base address, which must match the switch setting on the card ControlNet node address 1784-PCC card ControlNet node address (MAC ID) 1784-PCIC card ControlNet node address (MAC ID) Publication 1794-UM001E-EN-P - June 2003 5-4 Communicating with Devices on a ControlNet Link Step 3: Configure the daughtercard as part of the system Use RSLogix 5000 programming software to map the 1788-CNx communication daughtercard as part of the FlexLogix system. In the Controller Organizer, add the communication daughtercard to the I/O Configuration folder. 1. In RSLogix 5000 programming software, select the I/O Configuration folder. 2 Right-click to select New Module and add a 1788-CNx communication daughtercard. 3. Specify the appropriate communication daughtercard settings. 4. Specify the slot number (1 or 2) where you installed the communication daughtercard. Complete your system configuration and develop your program logic. Then download the project to the FlexLogix controller. Publication 1794-UM001E-EN-P - June 2003 Communicating with Devices on a ControlNet Link Configuring Remote I/O 5-5 The FlexLogix controller supports remote I/O over a ControlNet link. Configuring I/O in a remote chassis is similar to configuring local I/O. The difference is that you must also configure the communication daughtercard (1788-CNx) in the local chassis and the communication module in the remote chassis. To configure a remote I/O module: 1. In the Controller Organizer, select the I/O Configuration Folder. Add and configure a 1788-CNx communication daughtercard. This is the local communication daughtercard. 2. Specify the appropriate communication daughtercard settings. 3. Specify the slot number (1 or 2) where you installed the communication daughtercard. Publication 1794-UM001E-EN-P - June 2003 5-6 Communicating with Devices on a ControlNet Link 3. In the Controller Organizer, select the local 1788-CNx communication daughtercard you just added. Add and configure the remote communication module (1794-ACN15 in this example) 4. Specify the appropriate communication module settings. 5. Add and configure the remote I/O modules on the remote communication module you just added. The local daughtercard becomes the “parent module” to the remote module. The controller organizer shows this parent/child relationship between local and remote communication devices. Configure I/O modules for the remote communication module by adding them to the remote communication module (i.e., right-click the 1794-ACN15 module and select New Module). Configure the remote I/O modules the same way you do local I/O modules. Publication 1794-UM001E-EN-P - June 2003 Communicating with Devices on a ControlNet Link 5-7 Accessing remote I/O I/O information is presented as a structure of multiple fields, which depend on the specific features of the I/O module. The name of the structure is based on the location of the I/O module in the system. Each I/O tag is automatically created when you configure the I/O module through the programming software. Each tag name follows this format: Location:SlotNumber:Type.MemberName.SubMemberName.Bit where: This address variable: Is: Location Identifies network location LOCAL = local DIN rail or chassis LOCAL2 = extended-local DIN rail ADAPTER_NAME = identifies remote adapter or bridge SlotNumber Slot number of I/O module in its chassis Type Type of data I = input O = output C = configuration S = status MemberName Specific data from the I/O module; depends on the type of data the module can store For example, Data and Fault are possible fields of data for an I/O module. Data is the common name for values the are sent to or received from I/O points. SubMemberName Specific data related to a MemberName. Bit (optional) Specific point on the I/O module; depends on the size of the I/O module (0-31 for a 32-point module) EXAMPLE configured for direct connections configured for rack-optimized connections Publication 1794-UM001E-EN-P - June 2003 5-8 Communicating with Devices on a ControlNet Link Device: Example Tag Names (automatically created by the software): remote adapter “FLEX_adapter” FLEX_adapter:I FLEX_adapter:I.SlotStatusBits FLEX_adapter:I.Data FLEX_adapter:O FLEX_adapter:O.Data remote “input1” in slot 0 direct connection FLEX_adapter:0:C FLEX_adapter:0:C.Config FLEX_adapter:0:C.Filter0_00_11 FLEX_adapter:0:C.Filter1_00_11 FLEX_adapter:0:C.Filter2_00_11 FLEX_adapter:0:C.Filter3_12_15 FLEX_adapter:0:C.Filter4_12_15 FLEX_adapter:0:C.Filter5_12_15 FLEX_adapter:0:C.ResetCounter FLEX_adapter:0:C.DisableFilter FLEX_adapter:0:I FLEX_adapter:0:I.Fault FLEX_adapter:0:I.Data FLEX_adapter:0:I.Counter Publication 1794-UM001E-EN-P - June 2003 Communicating with Devices on a ControlNet Link Device: Example Tag Names (automatically created by the software): remote “output1” in slot 1 FLEX_adapter:1:C direct connection 5-9 FLEX_adapter:1:C.SSDate FLEX_adapter:1:I FLEX_adapter:1:I.Fault FLEX_adapter:1:O FLEX_adapter:1:O.Data remote “input2” in slot 2 FLEX_adapter:2:C rack-optimized connection FLEX_adapter:2:C.Config FLEX_adapter:2:C.Filter0_00_11 These tags are created as aliases into the FLEX_adapter:I tag FLEX_adapter:2:C.Filter1_00_11 FLEX_adapter:2:C.Filter2_00_11 FLEX_adapter:2:C.Filter3_12_15 FLEX_adapter:2:C.Filter4_12_15 FLEX_adapter:2:C.Filter5_12_15 FLEX_adapter:2:C.ResetCounter FLEX_adapter:2:C.DisableFilter FLEX_adapter:2:I remote “output2” in slot 3 FLEX_adapter:3:C rack-optimized connection FLEX_adapter:3:C.SSDate FLEX_adapter:3:O These tags are created as aliases into the FLEX_adapter:O tag For examples of local I/O tags, see Chapter 3, Placing and Configuring Local I/O. Publication 1794-UM001E-EN-P - June 2003 5-10 Communicating with Devices on a ControlNet Link Scheduling the ControlNet Network Use RSNetWorx software to schedule the ControlNet network. The controller project must already be downloaded from RSLogix 5000 programming software to the controller and the controller must be in Program or Remote Program mode. 1. In RSNetWorx software, go online, enable edits, and survey the network. 2. Specify the network update time (NUT) The default NUT is 5ms. The NUT you specify must be lower than or equal to the lowest RPI in your ControlNet network. The RPI numbers for the local and extended-local DIN rails do not affect the network NUT. 3. After you specify the NUT, save and re-write the schedule for all connections. Every device on the network must be in Program or Remote Program mode for the software to re-write all its connections. If a device is not in the correct mode, the software prompts you to let it change the device’s mode. Publication 1794-UM001E-EN-P - June 2003 Communicating with Devices on a ControlNet Link Sending Messages 5-11 The FlexLogix controller can send MSG instructions to other controllers over a ControlNet link. Each MSG instruction requires you to specify a target and an address within the target. The number of messages that a device can support depends on the type of message and the type of device: This device: Support this many unconnected messages: Support this many connected messages: 1756-CNB or 1756-CNBR module (for a Logix5550 controller) 20 64 1788-CNx daughtercard (for a FlexLogix controller) 5 32 with a maximum of 9 scheduled ControlNet PLC-5 controller 32 128 MSG instructions are unscheduled. The type of MSG determines whether or not it requires a connection. If the MSG instruction requires a connection, it opens the needed connection when it is executed. You can configure the MSG instruction to keep the connection open (cache) or to close it after sending the message. This type of message: And this communication method: CIP data table read or write PLC2, PLC3, PLC5, or SLC (all types) Uses a connection: X CIP CIP with Source ID CIP generic block-transfer read or write (1) DH+ X CIP Optional(1) X You can connect CIP generic messages, but for most applications, we recommend you leave CIP generic messages unconnected. Publication 1794-UM001E-EN-P - June 2003 5-12 Communicating with Devices on a ControlNet Link Connected messages are unscheduled connections on ControlNet. If a MSG instruction uses a connection, you have the option to leave the connection open (cache) or close the connection when the message is done transmitting. If you: Then: Cache the connection The connection stays open after the MSG instruction is done. This optimizes execution time. Opening a connection each time the message executes increases execution time. Do not cache the connection The connection closes after the MSG instruction is done. This frees up that connection for other uses. The controller has the following limits on the number of connections that you can cache: If you have this software and firmware revision: 11.x or earlier Then you can cache: · block transfer messages for up to 16 connections · other types of messages for up to 16 connections 12.x or later up to 32 connections The FlexLogix controller supports one connected and one unconnected MSG if you want to use the FlexLogix system as a bridge to a device on another network. There is no buffer to store waiting MSG instructions that bridge networks. Publication 1794-UM001E-EN-P - June 2003 ATTENTION The FlexLogix controller’s performance degrades significantly if you use the controller as a bridge. ! Bridging over the FlexLogix controller should be targeted toward applications that are not real time dependent, such as RSLogix 5000 program downloads and ControlFlash updates. Communicating with Devices on a ControlNet Link 5-13 Communicating with another Logix-based controller All Logix-based controllers can use MSG instructions to communicate with each other. The following examples show how to use tags in MSG instructions between Logix-based controllers. Type of MSG Instruction: Example Source and Destination: Logix-based controller writes to Logix-based controller source tag array_1 destination tag array_2 source tag array_1 destination tag array_2 (CIP Data Table Write) Logix-based controller reads from Logix-based controller (CIP Data Table Read) The source and destination tags: · must be controller-scoped tags. · can be of any data type, except for AXIS, MESSAGE, or MOTION_GROUP. Publication 1794-UM001E-EN-P - June 2003 5-14 Communicating with Devices on a ControlNet Link Communicating with other controllers over ControlNet The FlexLogix controller also uses MSG instructions to communicate with PLC and SLC controllers. The MSG instructions differ depending on which controller initiates the instruction. For MSG instructions originating from a FlexLogix controller to a PLC or SLC controller: Type of MSG Instruction: Supported Source File Types: Supported Destination File Types: FlexLogix writes to PLC-5 or SLC In the FlexLogix controller, specify the source data type based on the destination device: Specify the destination file type based on the destination device: PLC-5: SINT, INT, DINT, or REAL PLC-5 typed write: S, B, N, or F SLC: INT or REAL PLC-5 word-range write: S, B, N, F, I, O, A, or D Example source element: array_1 SLC: B, N or F Example destination tag: N7:10 FlexLogix writes to PLC-2 In the FlexLogix controller, select one of these data types: Use the PLC-2 compatibility file. SINT, INT, DINT, or REAL Example destination tag: 010 Example source element: array_1 FlexLogix reads from PLC-5 or SLC Specify the destination file type based on the destination device: In the FlexLogix controller, specify the destination data type based on the destination device: PLC-5 typed read: S, B, N, or F PLC-5: SINT, INT, DINT, or REAL PLC-5 word-range read: S, B, N, F, I, O, A, or D SLC: INT or REAL SLC: B, N or F Example destination tag: array_1 Example source element: N7:10 FlexLogix reads from PLC-2 Use the PLC-2 compatibility file. In the FlexLogix controller, select one of these data types: Example source element: 010 SINT, INT, DINT, or REAL Example destination tag: array_1 Publication 1794-UM001E-EN-P - June 2003 Communicating with Devices on a ControlNet Link 5-15 The FlexLogix controller can send typed or word-range commands to PLC-5 controllers. These commands read and write data differently. The following diagrams show how the typed and word-range commands differ. Typed read command 16-bit words in PLC-5 controller Word-range read command 32-bit words in FlexLogix controller 16-bit words in PLC-5 controller 32-bit words in FlexLogix controller 1 1 1 2 1 2 2 2 4 3 3 3 3 4 4 4 The typed commands maintain data structure and value. The word-range commands fill the destination tag contiguously. Data structure and value change depending on the destination data type. The FlexLogix controller can process messages initiated from PLC or SLC controllers. These messages use data table addresses. In order for these controllers to access tags within the FlexLogix controller, you map tags to data table addresses. Mapping addresses The programming software includes a PLC/SLC mapping tool which allows you to make an existing controller array tag in the local controller available to PLC-2, PLC-3, PLC-5, or SLC controllers. To map addresses: Publication 1794-UM001E-EN-P - June 2003 5-16 Communicating with Devices on a ControlNet Link 1. From the Logic menu, select Map PLC/SLC Messages. 2. Specify this information: For: In this field: Specify: For example: Type the file number of the data table in the PLC/SLC controller. 10 Tag Name Type the array tag name the local controller uses to refer to the PLC/SLC data table address. The tag must be an integer array (SINT, INT, or DINT) that is large enough for the message data. array_1 Tag Name Type the tag name to be the PLC-2 compatibility file. 200 PLC-3, PLC-5, and File Number SLC controllers PLC-2 controllers TIP You can map as many tags as you want to a PLC-3, PLC-5, or SLC controller. You can map only one tag to a PLC-2 controller. The following table shows example source and destination tags and elements for different controller combinations. Type of MSG Instruction: Example Source and Destination: PLC-5 writes to FlexLogix source element N7:10 destination tag “array_1” SLC writes to FlexLogix SLC 5/05 The PLC-5, PLC-3, and SLC controllers support logical ASCII addressing so you do not have to map a compatibility file for MSG instructions initiated by a PLC-5, PLC-3, or SLC controller. Place the FlexLogix tag name in double quotes (“). SLC 5/04 OS402 and above SLC 5/03 OS303 and above You could optionally map a compatibility file. For example, if you enter 10 for the compatibility file, you enter N10:0 for the destination tag. PLC-2 writes to FlexLogix source element 010 destination tag 200 The destination tag is the three-digit PLC-2 address you specified for PLC-2 mapping. Publication 1794-UM001E-EN-P - June 2003 Communicating with Devices on a ControlNet Link Type of MSG Instruction: Example Source and Destination: PLC-5 reads from FlexLogix source tag “array_1” destination element N7:10 SLC reads from FlexLogix SLC 5/05 SLC 5/04 OS402 and above 5-17 The PLC-5, PLC-3, and SLC controllers support logical ASCII addressing so you do not have to map a compatibility file for MSG instructions initiated by a PLC-5, PLC-3, or SLC controller. Place the FlexLogix tag name in double quotes (“). SLC 5/03 OS303 and above You could optionally map a compatibility file. For example, if you enter 10 for the compatibility file, you enter N10:0 for the source tag. PLC-2 reads from FlexLogix source tag 200 destination element 010 The source tag is the three-digit PLC-2 address you specified for PLC-2 mapping. When the FlexLogix controller initiates messages to PLC or SLC controllers, you do not have to map compatibility files. You enter the data table address of the target device just as you would a tag name. SLC 5/05 controllers, SLC 5/04 controllers (OS402 and above), and SLC 5/03 controllers (OS303 and above) support logical ASCII addressing and support PLC/SLC mapping (see the examples above). For all other SLC or MicroLogix1000 controllers, you must map a PLC-2 compatibility file (see the PLC-2 examples above). Producing and Consuming Data The FlexLogix controller supports the ability to produce (broadcast) and consume (receive) system-shared tags over a ControlNet link. Produced and consumed data is accessible by multiple controllers over a ControlNet network. Produced and consumed data are scheduled connections because the controller sends or receives data at a predetermined RPI rate. Produced and consumed tags must be controller-scoped tags of DINT or REAL data type, or in an array or structure. Tag type: Description: produced These are tags that the controller produced for other controllers to consume. · Enabled for producing These are tags whose values are produced by another controller. · Controller name that owns the tag that the local controller wants to consume consumed Specify: · How many consumers allowed · Tag name or instance that the controller wants to consume · Data type of the tag to consume · Update interval of how often the local controller consumes the tag The producer and consumer must be configured correctly for the specified data to be shared. A produced tag in the producer must be specified exactly the same as a consumed tag in the consumer. Publication 1794-UM001E-EN-P - June 2003 5-18 Communicating with Devices on a ControlNet Link If any produced/consumed tag between a producer and consumer is not specified correctly, none of the produced/consumed tags for that producer and consumer will be transferred. However, other consumers can still access their shared tags, as long as their tags are specified correctly. One consumer failing to access shared data does not affect other consumers accessing the same data. Maximum number of produced and consumed tags The maximum number of produced/consumed tags that you can configure depends on the connection limits of the communication device that transfers the produced/consumed data. Each produced tag uses one connection for the tag and the first configured consumer of the tag. Each consumer thereafter uses an additional connection. Size limit of a produced or consumed tag A produced or consumed tag can be as large as 488 bytes, but it must also fit within the bandwidth of the ControlNet network: · As the number of connections over a ControlNet network increases, several connections, including produced or consumed tags, may need to share a network update. · Since a ControlNet network can only pass 500 bytes in one update, the data of each connection must be less than 488 bytes to fit into the update. If a produced or consumed tag is too large for your ControlNet network, make one or more of the following adjustments: · Reduce the Network Update Time (NUT). At a faster NUT, less connections have to share an update slot. · Increase the Requested Packet Interval (RPI) of all connections. At a higher RPI, connections can take turns sending data during an update slot. Publication 1794-UM001E-EN-P - June 2003 Communicating with Devices on a ControlNet Link 5-19 · For a ControlNet bridge module (CNB or CNBR) in a remote chassis, select the most efficient communication format for that chassis:. Are most of the modules in the chassis non-diagnostic, digital I/O modules? Then select this communication format for the remote communication module: yes rack optimization no none The Rack Optimization format uses an additional 8 bytes for each slot in its chassis. Analog modules or modules that are sending or getting diagnostic, fuse, or timestamp data require direct connections and cannot take advantage of the rack optimized form. Selecting “None” frees up the 8 bytes per slot for other uses, such as produced or consumed tags. · Separate the tag into two or more smaller tags: – Group the data according to similar update rates. For example, you could create one tag for data that is critical and another tag for data that is not as critical. – Assign a different RPI to each tag. · Create logic to transfer the data in smaller sections (packets). Producing a tag Produced data must be of DINT or REAL data type or an array or structure. You can use a user-defined structure to group BOOL, SINT, and INT data to be produced. To create a produced tag: 1. You must be programming offline. 2. In the controller organizer, double-click the Controller Tags folder and then click the Edit Tags tab. 3. Select the tag that you want to produce, or enter a new tag, and display the Tag Properties dialog box. 4. Make sure the tag is controller scope. 5. Select the “Produce this tag” check box. Specify how many controllers can consume the tag. You can produce a base, alias, or consumed tag. Publication 1794-UM001E-EN-P - June 2003 5-20 Communicating with Devices on a ControlNet Link The consumed tag in a receiving controller must have the same data type as the produced tag in the originating controller. The controller performs type checking to ensure proper data is being received. Produced tags require connections. The number of connections depends on how many controllers are consuming the tags. The controller requires one connection for the produced tag and the first consumer. Then, the controller requires an additional connection for each subsequent consumer. Consuming a tag A consumed tag represents data that is produced (broadcast) by one controller and received and stored by the consuming controller. To create a consumed tag: 1. You must be programming offline. 2. In the controller organizer, double-click the Controller Tags folder and then click the Edit Tags tab. 3. Select the tag that you want to consume, or enter a new tag, and display the Tag Properties dialog box. 4. Specify: In this field: Type or select: Tag Type Select Consumed. Controller Select the name of the other controller. You must have already created the controller in the controller organizer for the controller name to be available. Remote Tag Name Remote Instance Type a name for the tag in the other controller you want to consume. Important: The name must match the name in the remote controller exactly, or the connection faults. If the remote controller is a ControlNet PLC-5, this field is Remote Instance. Select the instance number (1-128) of the data on the remote controller. RPI (requested packet interval) Type the amount of time in msec between updates of the data from the remote controller. The local controller will receive data at least this fast. Display Style If you are creating a consumed tag that refers to a tag whose data type is BOOL, SINT, INT, DINT, or REAL, you can select a display style. This display style defines how the tag value will be displayed in the data monitor and ladder editor. The display style does not have to match the display style of the tag in the remote controller. All consumed tags are automatically controller-scope. Publication 1794-UM001E-EN-P - June 2003 Communicating with Devices on a ControlNet Link 5-21 To consume data from a remote controller, use RSNetWorx software to schedule the connection over the ControlNet network. The produced tag in the originating FlexLogix controller must have the same data type as the consumed tag in the other FlexLogix controller. The FlexLogix controller performs type checking to ensure proper data is being received. IMPORTANT Guidelines for Configuring Connections If a consumed-tag connection fails, none of the tags are transferred from the producing controller to the consuming controller. Each 1788-CNx communication daughtercard supports 9 scheduled connections. How you configure these connections determines how many devices the daughtercard can support. If you have two communication daughtercards, use one for communication and the other for remote I/O. While one daughtercard can support both functions, performance can improve by separating these functions onto separate daughtercards. The NUT and RPI also play a part in determining how many connections a 1788-CNx can support in a given application, assuming the RPIs will be the same for all connections. You must also make sure that you do not exceed the maximum number of bytes per NUT. · With the NUT = 5ms, the limit is 3 connections · With the NUT = 10ms, the limit is 7connections · With the NUT > 20ms, the limit is 9 connections Publication 1794-UM001E-EN-P - June 2003 5-22 Communicating with Devices on a ControlNet Link Determining the API The API (actual packets per interval) is related to the RPI for the connection and the NUT of the network. Use this table to select the API to enter in the above worksheet: Example 1: FlexLogix Controller and Remote I/O If: Enter this value for the API: RPI ³ NUT and RPI < 2*NUT NUT RPI ³ 2*NUT and RPI < 4*NUT 2*NUT RPI ³ 4*NUT and RPI < 8*NUT 4*NUT RPI ³ 8*NUT and RPI < 16*NUT 8*NUT RPI ³ 16*NUT and RPI < 32*NUT 16*NUT RPI ³ 32*NUT and RPI < 64*NUT 32*NUT RPI ³ 64*NUT and RPI < 128*NUT 64*NUT RPI ³ 128*NUT 128*NUT In the following example, one FlexLogix controller controls remote I/O through a 1794-ACN15 module. FlexLogix controller (Flex1) ControlNet 1794-ACN with remote I/O (Remote1) Publication 1794-UM001E-EN-P - June 2003 Communicating with Devices on a ControlNet Link 5-23 Example 1: Controlling remote devices This example has Flex1 controlling the I/O connected to the remote 1794-ACN15 module. The data the FlexLogix controller receives from the remote I/O modules depends on how you configure the remote I/O modules. You can configure each module as a direct connection or as rack optimized. One chassis can have a combination of some modules configured as a direct connection and others as rack optimized. Example 1: Total connections required by Flex1 The following table calculates the connections used in this example. Connection: Amount: Flex1 controller to 3 local I/O modules rack-optimized connection for the DIN rail 1 direct connection for each I/O module 3 Flex1 controller to remote 1794-ACNR15 1 Flex1 to 4 remote I/O modules (through 1794-ACNR15) 4 all I/O modules configured as direct connection no connection to the 1794-ACNR15 total connections used: 9 If you configured the remote I/O modules as rack-optimized, you would only need a rack-optimized connection to the 1794-ACNR15, reducing the above example by 3 connections. Publication 1794-UM001E-EN-P - June 2003 5-24 Communicating with Devices on a ControlNet Link Example 2: FlexLogix Controller to FlexLogix Controller In the following example, one FlexLogix controller communicates with another FlexLogix controller over ControlNet. Each FlexLogix controller has its own local I/O Distributed control ControlNet Flex1 node 16 Flex2 node 27 workstation Example 2: Sending a MSG instruction To send a MSG from Flex1 to Flex2: 1. For Flex1, create a controller-scoped tag and select the MESSAGE data type. 2. Enter a MSG instruction. In this example logic, a message is sent when a specific condition is met. When count_send is set, send count_msg. count_send count_msg.en / MSG Type - Unconfigured Message Control count_msg ... EN DN ER 3. Configure the MSG instruction. On the Configuration tab: For this item: Specify: Message Type CIP Data Table Read or CIP Data Table Write Publication 1794-UM001E-EN-P - June 2003 Source Tag Tag containing the data to be transferred Number of Elements Number of array elements to transfer Destination Tag Tag to which the data will be transferred Communicating with Devices on a ControlNet Link 5-25 4. On the Communication tab, specify the communication path. A communication path requires pairs of numbers. The first number in the pair identifies the port from which the message exits. The second number in the pair designates the node address of the next device. For this item: Specify: Communication Path 1,1,2,27,1,0 where: 1 is the FlexLogix backplane of Flex1 1 is 1788-CNC daughtercard in slot 1 2 is the ControlNet port 27 is the ControlNet node of Flex2 1 is the FlexLogix backplane of Flex2 0 is the controller slot of Flex2 Example 2: Producing and consuming tags Produced data must be of DINT or REAL data type or an array or structure. You can use a user-defined structure to group BOOL, SINT, and INT data to be produced. You can produce a base, alias, or consumed tag. The consumed tag must have the same data type as the produced tag in the originating controller. The controller performs type checking to ensure proper data is being received. ControlNet Flex1 TagA TagB DINT REAL Flex2 (controllerb) TagA DINT TagB REAL workstation Publication 1794-UM001E-EN-P - June 2003 5-26 Communicating with Devices on a ControlNet Link This example shows Flex1 as producing TagA and consuming TagB: TagA TagB Each produced tags requires one connection for the producing controller and an additional connection for each consuming controller. Each consumed tag requires one connection. Example 2: Total connections required by Flex1 The following table calculates the connections used in this example. Connection: Amount: Flex1 controller to 3 local I/O modules rack-optimized connection for the DIN rail 1 direct connection for each I/O module 3 Flex1 controller to local 1788-CNC 0 Flex1 controller to remote 1788-CNC 0 connected, cached MSG from Flex1 to Flex2 1 produced TagA produced from Flex1 to Flex2 1 other consumer (2 are configured) 1 consumed TagB 1 total connections used: 8 Publication 1794-UM001E-EN-P - June 2003 Communicating with Devices on a ControlNet Link 5-27 If you configured the local I/O modules as rack-optimized, you would only need the DIN-rail connection to the I/O modules, reducing the above example by 3 connections. Example 3: FlexLogix Controller to Other Devices In the following example, one FlexLogix controller communicates with a Logix5550 controller and a ControlNet PLC-5 controller over ControlNet. Distributed control with a ControlLogix controller as the coordinating controller ControlLogix controller (Control1) ControlNet FlexLogix controller (Flex1) ControlNet PLC-5 controller (PLC5C1) FlexLogix controller (Flex2) Example 3: Sending MSG instructions You configure a MSG instruction to a Logix5550 controller the same as you do for a FlexLogix controller. All Logix-based controllers follow the same MSG configuration requirements. See Example 2 above. Configuring a MSG instruction for a PLC-5 controller depends on the originating controller. For MSG instructions originating from the FlexLogix controller to the ControlNet PLC-5 controller: Type of Logix MSG instruction: Source: Destination: Typed Read any integer element (such as B3:0, T4:0.ACC, C5:0.ACC, N7:0, etc.) SINT, INT, or DINT tag any floating point element (such as F8:0, PD10:0.SP, etc.) REAL tag Publication 1794-UM001E-EN-P - June 2003 5-28 Communicating with Devices on a ControlNet Link Type of Logix MSG instruction: Source: Destination: Typed Write SINT or INT tag any integer element (such as B3:0, T4:0.ACC, C5:0.ACC, N7:0, etc.) REAL tag any floating point element (such as F8:0, PD10:0.SP, etc.) Word Range Read any data type (such as B3:0, T4:0, C5:0, R6:0, N7:0, F8:0, etc.) SINT, INT, DINT, or REAL Word Range Write SINT, INT, DINT, or REAL any data type (such as B3:0, T4:0, C5:0, R6:0, N7:0, F8:0, etc.) The PLC-5 controller supports logical ASCII addressing so you do not have to map a compatibility file for MSG instructions initiated by a PLC-5 controller. Place the FlexLogix tag name in double quotes (“). Type of MSG Instruction: Example Source and Destination: PLC-5 writes to FlexLogix source element N7:10 destination tag “array_1” source tag “array_1” destination element N7:10 PLC-5 reads from FlexLogix Publication 1794-UM001E-EN-P - June 2003 Communicating with Devices on a ControlNet Link 5-29 Example 3: Producing and consuming tags You can produce and consume tags with any Logix controller the same as you do with a FlexLogix controller. All Logix controllers follow the same requirements for producing and consuming tags. See Example 2 above. Producing and consuming tags with a ControlNet PLC-5 controller depends on the type of data. ControlLogix controller (Control1) ControlNet Flex1 TagA TagB ControlNet PLC-5 controller (PLC5C1) DINT REAL FlexLogix controller (Flex2) Producing a tag to a ControlNet PLC-5 controller To produce a tag that a ControlNet PLC-5 controller can consume: 1. Determine the type of data to produce? If: And you are producing: INT na Then: A. Create a user-defined data type that contains an array of INTs with an even number of elements, such as INT[2]. When you produce INTs, you must produce two or more. B. Create a produced tag and select the user-defined data type you created. DINT or REAL Only one DINT or REAL value More than one DINT or REAL Create a produced tag and select the DINT or REAL data type, as appropriate. A. Create a user-defined data type that contains an array of DINTs or REALs, as appropriate. B. Create a produced tag and select the user-defined data type you created. Publication 1794-UM001E-EN-P - June 2003 5-30 Communicating with Devices on a ControlNet Link 2. In RSNetWorx software, open the ControlNet configuration for the target ControlNet PLC-5 controller, insert a Receive Scheduled Message and enter the following Message size: If the produced tag contains: Then, for the Message size, enter: INTs The number of integers in the produced tag DINTs Two times the number of DINTs or REALs in the produced tag. For example, if the produced tag contains 10 DINTs, enter 20 for the Message size. REALs 3. In the RSNetWorx software, reschedule (save) the network. The ControlNet PLC-5 controller does not perform type checking. Make sure the PLC-5 data type can correctly receive the FlexLogix produced tag to ensure proper data is being received. When a ControlNet PLC-5 controller consumes a tag that is produced by a Logix5000 controller, it stores the data in consecutive 16-bit integers. The ControlNet PLC-5 controller stores floating-point data, which requires 32-bits regardless of the type of controller, as follows: · The first integer contains the upper (left-most) bits of the value. · The second integer contains the lower (right-most) bits of the value. To re-construct the floating point data within the ControlNet PLC-5 controller, first reverse the order of the integers and then copy them to a floating-point file. Publication 1794-UM001E-EN-P - June 2003 Communicating with Devices on a ControlNet Link 5-31 Consuming a tag from a ControlNet PLC-5 controller To consume a tag from a ControlNet PLC-5 controller: 1. In RSNetWorx software, open the ControlNet configuration of the ControlNet PLC-5 controller, insert a Send Scheduled Message. 2. In RSLogix 5000 software, add the ControlNet PLC-5 controller to the Controller Organizer. 3. Create a user-defined data type that contains these members: Data type: Description: DINT Status INT[x], where “x” is the output size of the data from the ControlNet PLC-5 controller. (If you are consuming only one INT, no dimension is required.) Data produced by a ControlNet PLC-5 controller 4. Create a consumed tag with the following properties: For this tag property: Type or select: Tag Type Consumed Controller The ControlNet PLC-5 that is producing the data Remote Instance The message number from the ControlNet configuration of the ControlNet PLC-5 controller RPI A power of two times the NUT of the ControlNet network. For example, if the NUT is 5ms, select an RPI of 5, 10, 20, 40, etc. Data Type The user-defined data type that you created. 5. In the RSNetWorx for ControlNet software, reschedule (save) the network. Publication 1794-UM001E-EN-P - June 2003 5-32 Communicating with Devices on a ControlNet Link Example 3: Total connections required by Flex1 The following table calculates the connections used in this example. Connection: Amount: Flex1 controller to 3 local I/O modules rack-optimized connection for the DIN rail 1 direct connection for each I/O module 3 Flex1 controller to local 1788-CNC 0 Flex1 controller to remote 1756-CNB 1 Flex1 controller to remote ControlNet PLC-5 1 connected, cached MSG from Flex1 to Control1 1 connected, cached MSG from Flex1 to PLC5C1 1 Produced TagA produced from Flex1 to Flex2 1 consumed by PLC5C1 1 Consumed TagB from Flex2 1 Consumed INT from PLC5C1 1 total connections used: 12 If you configured the local I/O modules as rack-optimized, you would only need the DIN-rail connection to the I/O modules, reducing the above example by 3 connections. You can configure the 1756-CNB module to use no connection. This is useful if you configure all direct connections to their associated I/O modules and do not need a rack-optimized connection. Publication 1794-UM001E-EN-P - June 2003 Communicating with Devices on a ControlNet Link Example 4: Using FlexLogix as a Bridge 5-33 You can use the FlexLogix controller to bridge messages between devices; the controller supports one connected and one unconnected message between devices. The FlexLogix controller will not bridge I/O data, only messaging data, and there is no buffer to store waiting messages that bridge networks. IMPORTANT The FlexLogix controller’s performance degrades significantly if you use the controller as a bridge. Bridging over the FlexLogix controller should be targeted toward applications that are not real time dependent, such as RSLogix 5000 program downloads and ControlFlash updates. For example, in the example below a message originates at a workstation and is bridged over FlexLogix to a PanelView station.. workstation with 1784-PCIC node address 27 ControlNet A ControlNet B FlexLogix system (Flex1) 1788-CNC in slot 1 as node 33 1788-CNC in slot 2 as node 32 PanelView station node address 77 Publication 1794-UM001E-EN-P - June 2003 5-34 Communicating with Devices on a ControlNet Link In the previous example, the message originates and ends on ControlNet. The FlexLogix controller will bridge messages between different networks. However, the FLexLogix controller cannot bridge a message that originates on DeviceNet. For more information, see Table 5.1. Table 5.1 Bridging Over the FlexLogix Controller The FlexLogix controller can bridge messages that originate on this network: and end of this network: EtherNet/IP EtherNet/IP ControlNet DeviceNet RS-232 ControlNet EtherNet/IP ControlNet DeviceNet RS-232 RS-232 EtherNet/IP ControlNet DeviceNet IMPORTANT Note that when the FlexLogix controller is used as a bridge, you do not have to account for the message’s communication path in the controller’s configuration. However, if the message originates with the FlexLogix controller, you must configure the message’s communication path in the controller’s configuration. For more information on how to configure the message’s communication path, see Example 2 on page 5-24. Publication 1794-UM001E-EN-P - June 2003 Chapter 6 Communicating with Devices on a DeviceNet Link Using This Chapter Configuring Your System for a DeviceNet Link For information about: See page Configuring your system for a DeviceNet link 6-1 Placing DeviceNet devices 6-5 Accessing DeviceNet devices 6-7 Placing the communication card in Run mode 6-9 Example 1: FlexLogix controller and DeviceNet devices 6-9 Example 2: Using a 1788-CN2DN Linking Device 6-10 For the FlexLogix controller to operate on a DeviceNet network, you need: · a 1788-DNBO DeviceNet communication daughtercard. · RSLogix5000 programming software (Version 10 or later) to configure the 1788-DNBO card as part of the FlexLogix system · RSNetWorx for DeviceNet software to configure the 1788-DNBO card on the DeviceNet network 1 Publication 1794-UM001E-EN-P - June 2003 6-2 Communicating with Devices on a DeviceNet Link Step 1: Install the hardware Before you can connect the FlexLogix system to the DeviceNet network, you must configure the 1788-DNBO communication card and make sure it’s properly installed in the FlexLogix controller. slot 1 slot 2 Remember which slot you use for which communication card. You’ll need the slot number to configure the communication card in the RSLogix 5000 programming software. The controller uses slot 0. For more information about configuring a 1788-DNBO card, see the DeviceNet Daughtercard Installation Instructions, publication 1788-IN053. Publication 1794-UM001E-EN-P - June 2003 Communicating with Devices on a DeviceNet Link 6-3 Step 2: Configure the daughtercard as part of the system Use RSLogix 5000 programming software to map the 1788-DNBO card as part of the FlexLogix system. In the Controller Organizer, add the card to the I/O Configuration folder. 1. In RSLogix 5000 programming software, select the I/O Configuration folder. 2 Right-click to select New Module and add a 1788-DNBO communication daughtercard. 3. Specify the appropriate communication settings. 4. Specify the slot number (1 or 2) where you installed the communication card. Complete your system configuration and develop your program logic. Then download the project to the controller. Publication 1794-UM001E-EN-P - June 2003 6-4 Communicating with Devices on a DeviceNet Link Step 3: Define the DeviceNet scanlist Use RSNetWorx for DeviceNet to create a scanlist of the DeviceNet devices connected to the 1788-DNBO card. If the FlexLogix controller is powered-up while connected to the 1788-DNBO card, the controller project does not have to be downloaded from RSLogix 5000 programming software to the controller and the controller must be in Program or Remote Program mode. 1. In RSNetWorx software, go online, enable edits, and survey the network. 2. Assign a node address to each device. 3. Configure each device. 4. Add each device to the scanlist for the 1788-DNBO card. Publication 1794-UM001E-EN-P - June 2003 Communicating with Devices on a DeviceNet Link Placing DeviceNet Devices 6-5 Use RSNetWorx for DeviceNet to configure a scanlist for the 1788-DNBO card. The scanlist and the associated input/output data tables set up the data you want the controller to send to and receive from the card. 1. In RSNetWorx software, go online, enable edits, and survey the network. 2. Double-click the 1788-DNBO card and use the Module tab to configure the card. Upload the network information when prompted. 3. Use the ScanList tab to define the scanning order of the DeviceNet devices. Publication 1794-UM001E-EN-P - June 2003 6-6 Communicating with Devices on a DeviceNet Link Defining the data blocks How you configure the DeviceNet devices determines how many words you use per device. The 1788-DNBO card supports a maximum of: · 124 32-bit words of input data · 123 32-bit words of output data · 32 32-bit words of status data Once you define the scanlist, you define how the data for the devices maps into the input, output, and status data blocks. Use the Input, Output, or Status tabs to define the associated data block. Use the AutoMap button to simplify defining the data block for each DeviceNet device. The above screens show how many 32-bit words are mapped for the devices on this example network. These words map directly into the array tags that the software creates for the 1788-DNBO card. Most DeviceNet devices support 16-bit words. Take care how you map these into the 32-bit words used in RSLogix 5000 programming software. RSNetWorx for DeviceNet lets you DINT-align the device data. While this might simplify the organization of the data, it might also limit the data you have available. Publication 1794-UM001E-EN-P - June 2003 Communicating with Devices on a DeviceNet Link Accessing DeviceNet Devices 6-7 I/O information is presented as a structure of multiple fields, which depend on the specific features of the I/O module. The name of the structure is based on the location of the I/O module in the system. Each I/O tag is automatically created when you configure the I/O module through the programming software. Each tag name follows this format: Location:SlotNumber:Type.MemberName.SubMemberName.Bit where: This address variable: Is: Location Identifies network location LOCAL = identifies communication card within the workstation SlotNumber Slot number of I/O module in its chassis Type Type of data I = input O = output C = configuration S = status MemberName Specific data from the I/O module; depends on the type of data the module can store For example, Data and Fault are possible fields of data for an I/O module. Data is the common name for values the are sent to or received from I/O points. SubMemberName Specific data related to a MemberName. Bit (optional) Specific point on the I/O module; depends on the size of the I/O module (0-31 for a 32-point module) EXAMPLE The 1788-DNBO card in this example is in named “dnet”. The data for the card is configured as a rack-optimized connection. Publication 1794-UM001E-EN-P - June 2003 6-8 Communicating with Devices on a DeviceNet Link The rack-optimized connection creates a DINT element for mapped data for each DeviceNet module connected to the card “dnet.” The array dnet:I.Data contains the possible input elements; the dnet.O.Data contains the possible output elements. The index number on the array element refers to the same numbered word mapped to the device in RSNetWorx for DeviceNet. Depending on the device, there can be several words mapped to on device. You can create aliases to the elements you actually use to more identify the data you need. Publication 1794-UM001E-EN-P - June 2003 Communicating with Devices on a DeviceNet Link Placing the Communication Card in Run Mode 6-9 To place the 1788-DNBO daughtercard in Run mode, your program logic needs to set the CommandRegister.Run bit in the output word for the 1788-DNBO card. Set this bit For example: Example 1: FlexLogix Controller and DeviceNet Devices In the following example, one FlexLogix controller controls remote DeviceNet devices through a 1788-DNBO card. FlexLogix controller with 1788-DNBO card DeviceNet ControlLogix controller with 1756-DNB PanelView terminal 1794-ADN with FLEX I/O modules Publication 1794-UM001E-EN-P - June 2003 6-10 Communicating with Devices on a DeviceNet Link Example 2: Using a 1788-CN2DN Linking Device In the following example, one FlexLogix controller controls remote DeviceNet devices through a 1788-CN2DN linking device. 1788-CN2DN linking device ControlNet FlexLogix controller DeviceNet ControlLogix controller with 1756-DNB PanelView terminal 1794-ADN with FLEX I/O modules This example has a FlexLogix controller controlling three DeviceNet devices through the linking device. The controller automatically creates a rack-optimized connection for the remote data based on the configuration of the linking device. The tag name for the rack-optimized array tag is based on the name of the linking device. For example, if you name the linking device “cn_2_dnet,” the software automatically creates cn_2_dnet:I and cn_2_dnet:O data structures. EXAMPLE The 1788-CN2DN device in this example is in named “cnet_2_dnet”. The data for the linking device is configured as a Publication 1794-UM001E-EN-P - June 2003 Communicating with Devices on a DeviceNet Link 6-11 The rack-optimized connection creates a DINT element for mapped data for each DeviceNet module connected to the linking device “cnet_2_dnet.” The array cnet_2_dnet:I.Data contains the possible input elements; the cnet_2_dnet.O.Data contains the possible output elements. The index number on the array element refers to the same numbered word mapped to the device in RSNetWorx for DeviceNet. Depending on the device, there can be several words mapped to on device. You can create aliases to the elements you actually use to more identify the data you need. Publication 1794-UM001E-EN-P - June 2003 6-12 Communicating with Devices on a DeviceNet Link System requirements for using the linking device If you want to use the linking device to connect to DeviceNet, you need: · a 1788-CN2DN ControlNet to DeviceNet linking device As a bridge, the 1788-CN2DN device routes I/O and messaging data with a 5 ms delay. As a ControlNet device it offers a 2ms network update time. As a DeviceNet device, it provides full DeviceNet DML Scanner compatibility. · a 1788-CNx communication card installed in the FlexLogix communication slot for the ControlNet network · RSLogix5000 programming software to configure the 1788-CN2DN device as part of the FlexLogix system · RSNetWorx for ControlNet software to configure the 1788-CN2DN device on the ControlNet network · RSNetWorx for DeviceNet software to configure the 1788-CN2DN device on the DeviceNet network Placing DeviceNet devices The 1788-CN2DN device supports a maximum of: · 124 32-bit words of input data · 123 32-bit words of output data · 32 32-bit words of status data How you configure the DeviceNet devices determines how many words you use per device. Most DeviceNet devices support 16-bit words. Take care how you map these into the 32-bit words used in RSLogix 5000 programming software. RSNetWorx for DeviceNet lets you DINT-align the device data. While this might simplify the organization of the data, it might also limit the data you have available. Publication 1794-UM001E-EN-P - June 2003 Chapter 7 Communicating with Devices on a Serial Link Using This Chapter For information about: See page Configuring your system for a serial link 7-1 Example 1: workstation directly connected to a FlexLogix controller 7-9 Example 2: workstation remotely connected to a FlexLogix controller 7-10 Example 3: FlexLogix controller communicating with a bar code reader 7-15 IMPORTANT Configuring Your System for a Serial Link Limit the length of serial (RS-232) cables to 15.2m (50 ft.). For the FlexLogix controller to operate on a serial network, you need: · a workstation with a serial port · RSLinx software to configure the serial communication driver · RSLogix5000 programming software to configure the serial port of the controller Step 1: Configure the hardware The RS-232 port is a non-isolated serial port built-in to the front of the FlexLogix controller. 1. Determine whether you need an isolator. If you connect the controller to a modem or an ASCII device, consider installing an isolator between the controller and modem or ASCII device. An isolator is also recommended when connecting the controller directly to a programming workstation. 1 Publication 1794-UM001E-EN-P - June 2003 7-2 Communicating with Devices on a Serial Link One possible isolator is the 1761-NET-AIC interface converter. port 2: mini-DIN 8 RS-232 baud rate selector switch port 1: DB-9 RS-232, DTE dc power source selector switch terminals for external 24V dc power supply Publication 1794-UM001E-EN-P - June 2003 Communicating with Devices on a Serial Link 7-3 2. Select the appropriate cable. If you are using an isolator: Use this cable: yes The 1761-CBL-AP00 cable (right-angle bend connector to controller) or the 1761-CBL-PM02 cable (straight connector to the controller) attaches the controller to port 2 on the 1761-NET-AIC isolator. The 8-pin mini-DIN connector is not commercially available, so you cannot make this cable. 1 6 7 2 6 78 3 8 9 5 12 8-pin, mini-DIN cable end DB-9 right-angle or straight cable end no 5 3 4 4 Pin: DB-9 end: Mini-DIN end: 1 DCD DCD 2 RxD RxD 3 TxD TxD 4 DTR DTR 5 ground ground 6 DSR DSR 7 RTS RTS 8 CTS CTS 9 na na The 1756-CP3 cable attaches the controller directly to the RS-232 device. 1 CD 1 CD 2 RDX 2 RDX 3 TXD 3 TXD 4 DTR 4 DTR COMMON COMMON 6 DSR 6 DSR 7 RTS 7 RTS 8 CTS 8 CTS 9 9 straight cable end right-angle cable end If you make your own cable, it must be shielded and the shields must be tied to the metal shell (that surrounds the pins) on both ends of the cable. You can also use a 1747-CP3 cable from the SLC product family. This cable has a larger right-angle connector than the 1756-CP3 cable. Publication 1794-UM001E-EN-P - June 2003 7-4 Communicating with Devices on a Serial Link 3. Connect the appropriate cable to the serial port on the controller. 4. If necessary, attach the controller to the isolator. 1761 cable isolator 1761-NET-AIC user-supplied modem cable modem 24 V dc ATTENTION CH Publication 1794-UM001E-EN-P - June 2003 ! The FlexLogix controller is grounded through its DIN rail. It is important that you understand the workstation’s grounding system before connecting it to the controller. An isolator is recommended between the controller and the workstation. Communicating with Devices on a Serial Link 7-5 Step 2: Configure the serial port of the controller 1. In RSLogix 5000 programming software, select the Controller folder. Right-click to select Properties. 2. On the Serial Port tab, specify the appropriate serial communication configuration. 3. On the System Protocol tab, select the appropriate DF1 communication mode for point-to-point or master/slave communications. Or on the User Protocol tab, select ASCII to communicate with an ASCII device. Specifying serial port characteristics Specify these characteristics on the Serial Port tab (default values are shown in bold): Characteristic: Description (default is shown in bold): Mode Select System (for DF1 communication) or User mode (for ASCII communication). Baud rate Specifies the communication rate for the serial port. Select a baud rate that all devices in your system support. Select 110, 300 600, 1200, 2400, 4800, 9600, or 19200 Kbps. Parity Specifies the parity setting for the serial port. Parity provides additional message-packet error detection. Select None or Even. Data bits Specifies the number of bits per message packet. Select 8. Stop bits Specifies the number of stop bits to the device with which the controller is communicating. Select 1 or 2. Publication 1794-UM001E-EN-P - June 2003 7-6 Communicating with Devices on a Serial Link Characteristic: Description (default is shown in bold): Control line Specifies the mode in which the serial driver operates. Select No Handshake, Full-Duplex, Half-Duplex with Continuous Carrier, or Half-Duplex without Continuous Carrier. If you are not using a modem, select No Handshake If both modems in a point-to-point link are full-duplex, select Full-Duplex for both controllers. If the master modem is full duplex and the slave modem is half-duplex, select Full-Duplex for the master controller and select Half-Duplex with Continuous Carrier for the slave controller. If all the modems in the system are half-duplex, select Half-Duplex without Continuous Carrier for the controller. RTS send delay Enter a count that represents the number of 20msec periods of time that elapse between the assertion of the RTS signal and the beginning of a message transmission. This time delay lets the modem prepare to transmit a message. The CTS signal must be high for the transmission to occur. The range is 0-32767 periods. RTS off delay Enter a count that represents the number of 20msec periods of time that elapse between the end of a message transmission and the de-assertion of the RTS signal. This time delay is a buffer to make sure the modem successfully transmits the entire message. The range is 0-32767 periods. Normally leave at zero. Publication 1794-UM001E-EN-P - June 2003 Communicating with Devices on a Serial Link 7-7 Specifying system protocol characteristics The available system modes are: Use this mode: For: See page: DF1 point-to-point communication between the controller and one other DF1-protocol-compatible device. 7-9 This is the default system mode. This mode is typically used to program the controller through its serial port. DF1 master mode control of polling and message transmission between the master and slave nodes. 7-12 The master/slave network includes one controller configured as the master node and as many as 254 slave nodes. Link slave nodes using modems or line drivers. A master/slave network can have node numbers from 0-254. Each node must have a unique node address. Also, at least 2 nodes must exist to define your link as a network (1 master and 1 slave station are the two nodes). DF1 slave mode using a controller as a slave station in a master/slave serial communication network. 7-12 When there are multiple slave stations on the network, link slave stations using modems or line drivers. When you have a single slave station on the network, you do not need a modem to connect the slave station to the master; you can configure the control parameters for no handshaking. You can connect 2-255 nodes to a single link. In DF1 slave mode, a controller uses DF1 half-duplex protocol. One node is designated as the master and it controls who has access to the link. All the other nodes are slave stations and must wait for permission from the master before transmitting. User mode communicating with ASCII devices 7-15 This requires your program logic to use the ASCII instructions to read and write data from and to an ASCII device. Publication 1794-UM001E-EN-P - June 2003 7-8 Communicating with Devices on a Serial Link Step 3: Configure the communication driver Use RSLinx software to configure the serial communication driver. Select the “DF1” driver. 1. In RSLinx software, select Communication ® Configure Driver. From the Available Driver Types list, select”RS-232 DF1 Devices“. Click Add New. 2. Specify the appropriate communication settings. Click OK. 3. Specify a name for the driver. Publication 1794-UM001E-EN-P - June 2003 Communicating with Devices on a Serial Link Example 1: Workstation Directly Connected to a FlexLogix Controller 7-9 In the following example, a workstation directly connects to a FlexLogix controller over a serial link. This is useful for downloading a controller project directly to the controller. serial isolator (recommended) Use RSLogix 5000 programming software to configure the controller’s serial port for the DF1 point-to-point (full-duplex) protocol. This type of protocol supports simultaneous transmission between two devices in both directions. The DF1 point-to-point protocol controls message flow, detects and signals errors, and retries if errors are detected. Configuring a DF1 point-to-point station This field: Description: Station address The station address for the serial port on the DF1 point-to-point network. Enter a valid DF1 address (0-254). Address 255 is reserved for broadcast messages. The default is 0. NAK receive limit Specifies the number of NAKs the controller can receive in response to a message transmission. Enter a value 0-127. The default is 3. ENQ transmit limit Specifies the number of inquiries (ENQs) you want the controller to send after an ACK timeout. Enter a value 0-127. The default is 3. ACK timeout Specifies the amount of time you want the controller to wait for an acknowledgment to its message transmission. Enter a value 0-32767. Limits are defined in 20ms intervals. The default is 50 (1000ms). Publication 1794-UM001E-EN-P - June 2003 7-10 Communicating with Devices on a Serial Link This field: Description: Embedded response Specifies how to enable embedded responses. Select Autodetect (enabled only after receiving one embedded response) or Enabled. The default is Autodetect. Error detection Select BCC or CRC error detection. Configure both stations to use the same type of error checking. BCC: the controller sends and accepts messages that end with a BCC byte for error checking. BCC is quicker and easier to implement in a computer driver. This is the default. CRC: the controller sends and accepts messages with a 2-byte CRC for error checking. CRC is a more complete method. Enable duplicate detection Example 2: Workstation Remotely Connected to a FlexLogix Controller Select whether or not the controller should detect duplicate messages. The default is duplicate detection enabled. In the following example, a workstation remotely connects to a FlexLogix controller over s serial link. A modem is connected to the controller to provide remote access. Preface modem isolator (recommended) modem If you use a modem to remotely connect the controller to one workstation, use RSLogix 5000 programming software to configure the serial port of the controller for the DF1 point-to-point (full-duplex) protocol, as in the previous example. If the controller is part of a master/slave serial network, configure the serial port of the controller for either the DF1 master or DF1 slave protocol (both half-duplex). Publication 1794-UM001E-EN-P - June 2003 Communicating with Devices on a Serial Link 7-11 Master/slave communication methods A master station can communicate with a slave station in two ways: Name: This method: Benefits: standard communication mode Initiates polling packets to slave stations according to their position in the polling array(s). This communication method is most often used for point-to-multipoint configurations. This method provides these capabilities: Polling packets are formed based on the contents of the normal poll array and the priority poll array. · slave stations can send messages to the master station (polled report-by-exception) · slave stations can send messages to each other via the master · master maintains an active station array The poll array resides in a user-designated data file. You can configure the master: · to send messages during its turn in the poll array or · for between-station polls (master transmits any message that it needs to send before polling the next slave station) In either case, configure the master to receive multiple messages or a single message per scan from each slave station. message-based communication mode initiates communication to slave stations using only user-programmed message (MSG) instructions. Each request for data from a slave station must be programmed via a MSG instruction. If your application uses satellite transmission or public switched-telephone-network transmission, consider choosing message-based communication. Communication to a slave station can be initiated on an as-needed basis. Also choose this method if you need to communicate with non-intelligent remote terminal units (RTUs). The master polls the slave station for a reply to the message after waiting a user-configured period of time. The waiting period gives the slave station time to formulate a reply and prepare the reply for transmission. After all of the messages in the master’s message-out queue are transmitted, the slave-to-slave queue is checked for messages to send. Publication 1794-UM001E-EN-P - June 2003 7-12 Communicating with Devices on a Serial Link Configuring a DF1 slave station This field: Description: Station address The station address for the serial port on the DF1 slave. Enter a valid DF1 address (0-254). Address 255 is reserved for broadcast messages. The default is 0. Transmit retries The number of times the remote station retries a message after the first attempt before the station declares the message undeliverable. Enter a value 0-127. The default is 3. Slave poll timeout Specifies the amount of time the slave station waits to be polled by a master before indicating a fault. Enter a value 0-32767. Limits are defined in 20ms intervals. The default is 3000 (60,000ms). EOT suppression Select whether or not to suppress sending EOT packets in response to a poll. The default is not to suppress sending EOT packets. Error detection Select BCC or CRC error detection. Configure both stations to use the same type of error checking. BCC: the controller sends and accepts messages that end with a BCC byte for error checking. BCC is quicker and easier to implement in a computer driver. This is the default. CRC: the controller sends and accepts messages with a 2-byte CRC for error checking. CRC is a more complete method. Enable duplicate detection Select whether or not the controller should detect duplicate messages. The default is duplicate detection enabled. Configuring a DF1 master station This field: Description: Station address The station address for the serial port on the DF1 master. Enter a valid DF1 address (0-254). Address 255 is reserved for broadcast messages. The default is 0. Transmit retries Specifies the number of times a message is retried after the first attempt before being declared undeliverable. Enter a value 0-127. The default is 3. ACK timeout Specifies the amount of time you want the controller to wait for an acknowledgment to its message transmission. Enter a value 0-32767. Limits are defined in 20ms intervals. The default is 50 (1000ms). Reply message wait Message-based polling mode only Specifies the amount of time the master station waits after receiving an ACK to a master-initiated message before polling the slave station for a reply. Enter a value 0-65535. Limits are defined in 20ms intervals. The default is 5 (100ms). Publication 1794-UM001E-EN-P - June 2003 Communicating with Devices on a Serial Link This field: Description: Polling mode Select one of these: 7-13 · Message Based (slave cannot initiate messages) · Message Based (slave can initiate messages) - default · Standard (multiple message transfer per node scan) · Standard (single message transfer per node scan) Master transmit Standard polling modes only Select when the master station sends messages: · between station polls (default) · in polling sequence Normal poll node tag Standard polling modes only An integer tag array that contains the station addresses of the slave stations. Create a single-dimension array of data type INT that is large enough to hold all the normal station addresses. The minimum size is three elements. This tag must be controller-scoped. The format is: list[0] contains total number of stations to poll list[1] contains address of station currently being polled list[2] contains address of first slave station to poll list[3] contains address of second slave station to poll list[n] contains address of last slave station to poll Normal poll group size Standard polling modes only The number of stations the master station polls after polling all the stations in the priority poll array. Enter 0 (default) to poll the entire array. Priority poll node tag Standard polling modes only An integer tag array that contains the station addresses of the slave stations you need to poll more frequently. Create a single-dimension array of data type INT that is large enough to hold all the priority station addresses. The minimum size is three elements. This tag must be controller-scoped. The format is: list[0] contains total number of stations to be polled list[1] contains address of station currently being polled list[2] contains address of first slave station to poll list[3] contains address of second slave station to poll list[n] contains address of last slave station to poll Publication 1794-UM001E-EN-P - June 2003 7-14 Communicating with Devices on a Serial Link This field: Description: Active station tag Standard polling modes only An array that stores a flag for each of the active stations on the DF1 link. Both the normal poll array and the priority poll array can have active and inactive stations. A station becomes inactive when it does not respond to the master’s poll. Create a single-dimension array of data type SINT that has 32 elements (256 bits). This tag must be controller-scoped. Error detection Select BCC or CRC error detection. Configure both stations to use the same type of error checking. BCC: the controller sends and accepts messages that end with a BCC byte for error checking. BCC is quicker and easier to implement in a computer driver. This is the default. CRC: the controller sends and accepts messages with a 2-byte CRC for error checking. CRC is a more complete method. Enable duplicate detection Select whether or not the controller should detect duplicate messages. The default is duplicate detection enabled. If you choose one of the standard polling modes The master station polls the slave stations in this order: 1. all stations that are active in the priority poll array 2. one station that is inactive in the priority poll array 3. the specified number (normal poll group size) of active stations in the normal poll array 4. one inactive station, after all the active stations in the normal poll array have been polled Use the programming software to change the display style of the active station array to binary so you can view which stations are active. Publication 1794-UM001E-EN-P - June 2003 Communicating with Devices on a Serial Link Example 3: FlexLogix Controller to a Bar Code Reader 7-15 In the following example, a workstation connects to a bar code reader. A bar code reader is an ASCII device, so you configure the serial port differently than in the previous examples. Configure the serial port for user mode, rather than a DF1 mode. isolator (recommended) Connect the ASCII device to the controller To connect the ASCII device to the serial port of the controller: 1. For the serial port of the ASCII device, determine which pins send signals and which pins receive signals. 2. Connect the sending pins to the corresponding receiving pins and attach jumpers: If the communications: handshake Then wire the connectors as follows: ASCII Device Controller 1 CD 1 CD 2 RDX 2 RDX 3 TXD 3 TXD 4 DTR 4 DTR COMMON COMMON 6 DSR 6 DSR 7 RTS 7 RTS 8 CTS 8 CTS 9 9 42231 Publication 1794-UM001E-EN-P - June 2003 7-16 Communicating with Devices on a Serial Link If the communications: do not handshake Then wire the connectors as follows: ASCII Device Controller 1 CD 1 CD 2 RDX 2 RDX 3 TXD 3 TXD 4 DTR 4 DTR COMMON COMMON 6 DSR 6 DSR 7 RTS 7 RTS 8 CTS 8 CTS 9 9 42232 3. Attach the cable shield to both connectors and tie the cable to both connectors. 4. Connect the cable to the controller and the ASCII device. The following table lists the default serial port configuration settings for the ASCII protocol. You specify these settings on the User Protocol tab under Controller Properties. Configuring user mode This field: Description: Buffer size Specify the maximum size (in bytes) of the data array you plan to send and receive. The default is 82 bytes. Termination characters Specify the characters you will use to designate the end of a line. The default characters are ‘$r’ and ‘$FF’. Append characters Specify the characters you will append to the end of a line. The default characters are ‘$r’ and ‘$l’. XON/XOFF Select whether or not to regulate the flow of incoming data. The default is disabled. Echo mode Select whether or not to echo data back to the device from which it was sent. The default is disabled. Delete mode Select Ignore, CTR, or Printer for the delete mode. The default is Ignore. Programming ASCII instructions The controller supports ASCII instructions to communicate with ASCII devices. Your RSLogix5000 programming software CDROM includes programming examples using ASCII instructions. For information about using these examples, see the Logix5000 Controllers Reference Manual, publication 1756-UM001 Publication 1794-UM001E-EN-P - June 2003 Chapter 8 Communicating with Devices on a DH-485 Link Using This Chapter The DH-485 protocol uses RS-485 half-duplex as its physical interface. (RS-485 is a definition of electrical characteristics; it is not a protocol.) You can configure the RS-232 port of the FlexLogix controller to act as an DH-485 interface. For information about: See page Configuring your system for a DH-485 link 8-1 Planning a DH-485 network 8-4 Installing a DH-485 network 8-7 Example 1: FlexLogix controller, ControlLogix controller, and SLC controller on the same DH-485 network 8-9 IMPORTANT Configuring Your System for a DH-485 Link A DH-485 network consists of multiple cable segments. Limit the total length of all the segments to 1219m (4000 ft.). For the FlexLogix controller to operate on a DH-485 network, you need: · a 1761-NET-AIC converter for each FlexLogix controller you want to put on the DH-485 network. · RSLogix5000 programming software to configure the serial port of the controller for DH-485 communications 1 Publication 1794-UM001E-EN-P - June 2003 8-2 Communicating with Devices on a DH-485 Link Step 1: Configure the hardware The RS-232 port is a non-isolated serial port built-in to the front of the FlexLogix controller. The RS-232 port supports the requirements you need for the DH-485 network connection. Connect the controller to an RS-232-to-RS-485 isolator. One possible isolator is the 1761-NET-AIC interface converter. RS-485 port port 2: mini-DIN 8 RS-232 baud rate selector switch port 1: DB-9 RS-232, DTE dc power source selector switch terminals for external 24V dc power supply Connect the serial port of the FlexLogix controller to either port 1 or port 2 of the 176‘-NET-AIC converter. Use the RS-485 port to connect the converter to the DH-485 network. The cable you use to connect the controller depends on the port you use on the 1761-NET-AIC converter. If you connect to this port: Use this cable: port 1 1747-CP3 DB-9 RS-232, DTE connection or 1761-CBL-AC00 port 2 1761-CBL-AP00 mini-DIN 8 RS-232 connection or 1761-CBL-PM02 Publication 1794-UM001E-EN-P - June 2003 Communicating with Devices on a DH-485 Link 8-3 Step 2: Configure the DH-485 port of the controller 1. In RSLogix 5000 programming software, select the Controller folder. Right-click to select Properties. 2. On the System Protocol tab, specify the appropriate serial communication configuration. 3. On the Serial Port tab, specify the appropriate communication settings. The grayed out settings are selections that do not apply to a DH-485 network. Publication 1794-UM001E-EN-P - June 2003 8-4 Communicating with Devices on a DH-485 Link Specify these characteristics on the Serial Port tab (default values are shown in bold): Characteristic: Description (default is shown in bold): Baud Rate Specifies the communication rate for the DH-485 port. All devices on the same DH-485 network must be configured for the same baud rate. Select 9600 or 19200 Kbps. Node Address Specifies the node address of the FlexLogix controller on the DH-485 network. Select a number 1-31 decimal, inclusive. To optimize network performance, assign node addresses in sequential order. Initiators, such as personal computers, should be assigned the lowest address numbers to minimize the time required to initialize the network. Token Hold Factor Number of transmissions (plus retries) that a node holding a token can send onto the data link each time that it receives the token. Enter a value between 1-4. The default is 1. Maximum Node Address Specifies the maximum node address of all the devices on the DH-485 network. Select a number 1-31 decimal, inclusive. To optimize network performance, make sure: · the maximum node address is the highest node number being used on the network · that all the devices on the same DH-485 network have the same selection for the maximum node address. Planning a DH-485 Network The DH-485 network offers: · interconnection of 32 devices · multi-master capability · token passing access control · the ability to add or remove nodes without disrupting the network · maximum network length of 1219 m (4000 ft.) The DH-485 protocol supports two classes of devices: initiators and responders. All initiators on the network get a chance to initiate message transfers. The DH-485 protocol uses a token-pass algorithm to determine which initiator has the right to transmit Publication 1794-UM001E-EN-P - June 2003 Communicating with Devices on a DH-485 Link 8-5 DH-485 token rotation A node holding the token can send any valid packet onto the network. Each node gets only one transmission (plus two retries) each time it receives the token. After a node sends one message packet, it attempts to give the token to its successor by sending a “token pass” packet to its successor. If no network activity occurs, the initiator sends the token pass packet again. After two retries (a total of three tries) the initiator attempts to find a new successor. IMPORTANT The maximum address that the initiator searches for before starting again with zero is the value in the configurable parameter “maximum node address.” The default value for this parameter is 31 for all initiators and responders. The allowable range of the node address of an initiator is 0 to 31. The allowable address range for all responders is 1 to 31. There must be at least one initiator on the network. Network initialization The network requires at least one initiator to initialize it. Network initialization begins when an initiator on the network detects a period of inactivity that exceeds the time of a link dead timeout. When the link dead timeout is exceeded, usually the initiator with the lowest address claims the token. When an initiator has the token it will begin to build the network. Building a network begins when the initiator that claimed the token tries to pass the token to the successor node. If the attempt to pass the token fails, or if the initiator has no established successor (for example, when it powers up), it begins a linear search for a successor starting with the node above it in the addressing. When the initiator finds another active initiator, it passes the token to that node, which repeats the process until the token is passed all the way around the network to the first node. At this point, the network is in a state of normal operation. Publication 1794-UM001E-EN-P - June 2003 8-6 Communicating with Devices on a DH-485 Link Number of nodes and node addresses The number of nodes on the network directly affects the data transfer time between nodes. Unnecessary nodes (such as a second programming terminal that is not being used) slow the data transfer rate. The maximum number of nodes on the network is 32. If the node addresses for controllers are assigned in sequence, starting at node 1 (with node 0 left for a programming terminal), it is as efficient to leave the maximum node address at 31 as it is to decrease it to the highest node address on the network. Then, adding devices to the network at a later time will not require modifying the maximum node address in every device on the network. The maximum node address should be the same for all devices on a DH-485 network for optimal operation. The best network performance occurs when node addresses start at 0 and are assigned in sequential order. The controller defaults to node address 1 (controllers cannot be node 0). Initiators, such as personal computers, should be assigned the lowest numbered addresses to minimize the time required to initialize the network. Publication 1794-UM001E-EN-P - June 2003 Communicating with Devices on a DH-485 Link Installing a DH-485 Network 8-7 A DH-485 network consists of a number of cable segments daisy-chained together. The total length of the cable segments cannot exceed 1219 m (4000 ft). IMPORTANT Use shielded, twisted-pair cable - either Belden 3106A or Belden 9842. A daisy-chained network is recommended. When cutting cable segments, make them long enough to route them from one link coupler to the next with sufficient slack to prevent strain on the connector. Allow enough extra cable to prevent chafing and kinking in the cable. Single Cable Connection Orange with white stripes White with orange stripes Belden 3106A or 9842 6 Termination 5 A 4 B Shrink tubing recommended Blue (3106A) or drain wire Blue with white stripes (9842) 3 Common Publication 1794-UM001E-EN-P - June 2003 8-8 Communicating with Devices on a DH-485 Link Multiple Cable Connection to previous device to successive device The table below shows wire/terminal connections for Belden 3106A. For this Wire/Pair Connect this Wire To this Terminal shield/drain non-jacketed 2 - Shield blue blue 3 - (Common) white/orange white with orange stripe 4 - (Data B) orange with white stripe 5 - (Data A) The table below shows wire/terminal connections for Belden 9842. For this Wire/Pair Connect this Wire To this Terminal shield/drain non-jacketed 2 - Shield blue/white white with blue stripe cut back - no connection(1) blue with white stripe 3 - (Common) white with orange stripe 4 - (Data B) orange with white stripe 5 - (Data A) white/orange (1) Publication 1794-UM001E-EN-P - June 2003 To prevent confusion when installing the communication cable, cut back the white with blue stripe wire immediately after the insulation jacket is removed. This wire is not used by DH-485. Communicating with Devices on a DH-485 Link 8-9 Grounding and terminating a DH-485 network Jumper Jumper Belden #9842 Cable 1219 m (4000 ft) Maximum 6 5 6 5 4 4 3 3 2 2 1 1 Example: FlexLogix Controller, ControlLogix Controller, and SLC Controller on the Same DH-485 Network Jumper In the following example, both a FlexLogix controller and a ControlLogix controller use its own 1761-NET-IAC+ converter to connect to a DH-485 network. In addition, an SLC 5/03 controller uses a 1761-NET-AIC converter to connect to the same DH-485 network. FlexLogix controller connection from FlexLogix controller to port 1 or port 2 ControlLogix controller 1761-CBL-AP00 or 1761-CBL-PM02 (port 2) 1747-CP3 or 1761-CBL-AC00 (port 1) 1761-NET-AIC+ 1761-CBL-AP00 or 1761-CBL-PM02 connection from ControlLogix controller to port 1 or port 2 1747-CP3 or 1761-CBL-AC00 1761-NET-AIC+ DH-485 network 1747-AIC SLC 5/03 controller On the DH-485 network, the FlexLogix controller can send and receive messages to and from other controllers on the network Publication 1794-UM001E-EN-P - June 2003 8-10 Communicating with Devices on a DH-485 Link Notes: Publication 1794-UM001E-EN-P - June 2003 Chapter 9 Communicating with Devices on a Third-Party Link Using This Chapter Configuring Your System for a Third-Party Link For information about: See page Configuring Your System for a Third-Party Link 9-1 For the FlexLogix controller to operate on a third-party network, you need: · a 1788-MODULE generic module communication daughtercard. · RSLogix5000 programming software (Version 12 or later) to configure the 1788-MODULE card as part of the FlexLogix system · Software that configures the 1788-MODULE card on the third-party network Figure 9.1 shows an example system on third-party link. Figure 9.1 FlexLogix controller with 1788-MODULE generic module communications card Third-party network Other devices Laptop Sensor Motor starter I/O devices 1 Indicator lights Pushbutton cluster Bar code scanner 43512 Publication 1794-UM001E-EN-P - June 2003 9-2 Communicating with Devices on a Third-Party Link Step 1: Install the hardware Before you can connect the FlexLogix system to the third-party network, you must configure the 1788-MODULE communication card and make sure it is properly installed in the FlexLogix controller. slot 1 slot 2 Remember which slot you use for which communication card. You’ll need the slot number to configure the communication card in the RSLogix 5000 programming software. The controller uses slot 0. Step 2: Configure the daughtercard as part of the system Use RSLogix 5000 programming software to map the 1788-MODULE card as part of the FlexLogix system. In the Controller Organizer, add the card to the I/O Configuration folder. Publication 1794-UM001E-EN-P - June 2003 Communicating with Devices on a Third-Party Link 9-3 1. In RSLogix 5000 programming software, select the I/O Configuration folder. 2 Right-click to select New Module and add a 1788-MODULE communication daughtercard. 3. Specify the appropriate communication settings. 4. Specify the module’s properties. For more information on communications format the connection parameters, see the next section. Publication 1794-UM001E-EN-P - June 2003 9-4 Communicating with Devices on a Third-Party Link Communication Format The Communication Format field chooses a data type for information transmitted between the controller and a remote device connected to the 1788-MODULE communication card. This format creates an array in the controller of whatever data type you choose for the input and output data. Connection Parameters You must set connection parameters to define data identification and connection size. An Assembly Instance and Data Size must be assigned for each: · Input · Output · Configuration. Assembly Instance The Assembly Instance is a number that identifies what data transferred between the owner-controller and I/O module looks like. You must create a map that defines your assembly instance entries. Size The size field determines how large the connections are between the owner-controller and the I/O module. Connections are sent in sizes matching the communications format data type selected. The default, DINT, results in 32-bit quantities. Complete your system configuration and develop your program logic. Then download the project to the controller. Publication 1794-UM001E-EN-P - June 2003 Chapter 10 FlexLogix Back-Up on DeviceNet Using This Chapter For information about: See page How the Back-up Works 10-2 Power-Up and System Start-up 10-4 Developing the FlexLogix Back-Up Application 10-6 Using Indicators to Check Status 10-13 Development and Debugging Tips 10-13 This chapter offers a solution to back-up your FlexLogix controller on DeviceNet. FlexLogix Back-Up on DeviceNet is a simple, low-cost, back-up system most effective when used in smaller applications that require fast switchovers from a primary to a secondary controller. This back-up solution will: · minimize downtime in case of controller failure when the same program is used in both programs. · mitigate the risk of changes adversely affecting the application (use old, proven program in one controller and new, untested program in other controller). If the new untested program causes a problem, a forced switchover can be made to the older proven program without downloading the program again. The FlexLogix Back-Up on DeviceNet solution takes advantage of Shared DeviceNet Mastership of Slave I/O Devices technology. Typically, only a single DeviceNet master exists for any particular slave. With Shared DeviceNet Mastership, two masters can exist. Heartbeat communications between primary and secondary controllers determines which scanner is the master and which scanner remains in stand-by mode. 1 Publication 1794-UM001E-EN-P - June 2003 10-2 FlexLogix Back-Up on DeviceNet How the Back-up Works Figure 10.1 shows an example back-up system. In the back-up system, the following occurs: · Both controllers/scanners simultaneously receive all inputs. · Both controllers execute in parallel but are NOT synchronized. · Only the primary controllers sends output data to the I/O devices. A virtual switch in the 1788-DNBO cards is used to switch outputs between primary and secondary controllers. · After failure or forced switchover, outputs are automatically switched by the 1788-DNBO card from the primary controller to secondary. When the switch occurs, the secondary controller becomes the primary controller. The switchover occurs so quickly that the I/O devices do not timeout; these devices are unaware that redundant controllers/scanners exist and are unaware of the switchover. Figure 10.1 DeviceNet Primary controller Secondary controller All backed up devices must operate on DeviceNet 43493 Publication 1794-UM001E-EN-P - June 2003 FlexLogix Back-Up on DeviceNet 10-3 Requirements of the Back-Up The FlexLogix Back-Up on DeviceNet solution requires that you use the following: · RSLogix 5000, version 10 or higher · 2 FlexLogix controllers, firmware revision 10.x or higher · 2 1788-DNBO communication cards, firmware revision 2.x or higher IMPORTANT Many applications use multiple communications cards in a FlexLogix controller to communicate with several networks. This solution requires the software and FlexLogix controllers use version 10.x or higher. However, if you are using the 1788-ENBT card in your application, remember that you must use software and FlexLogix controllers of version 11.x or higher. Additional requirements are as follows: · When setting up the DeviceNet network, you must set the primary and secondary 1788-DNBO cards to the same node address and reserve the next node address. We recommend you set the primary and secondary 1788-DNBO node addresses to 0 and reserve node 1. However, you can use any successive node numbers (e.g. 30 and 31). · All I/O and operator interfaces that required back-up must be on DeviceNet. · The scanlists in the two DeviceNet scanner must be identical. Publication 1794-UM001E-EN-P - June 2003 10-4 FlexLogix Back-Up on DeviceNet Power-Up and System Start-up To configure a FlexLogix Back-up system on DeviceNet, you can take the following steps. Some of these steps are described in greater detail in the rest of the appendix. 1. Install all I/O and operator interfaces that you need to back-up on DeviceNet. We recommend that you reserve node addresses 0 and 1 for the two FlexLogix controllers used in the back-up. If you do not use 0 and 1, make sure you reserve two consecutive numbers for the controllers when you install I/O and other devices on DeviceNet. 2. Connect a FlexLogix controller with a 1788-DNBO scanner to the DeviceNet network. 3. Set the controller node address to 0 (or the lower of the 2 node addresses reserved for the FlexLogix controllers). 4. Power-up the controller and the network. 5. Use RSNetWorx for DeviceNet to download the network’s scanlist to the 1788-DNBO card. You can use either a scanlist from a new configuration or previously-used configuration. If the scanlist is a new configuration, we recommend you save it to a new project for later use. 6. Use RSLogix5000 software to download the appropriate user program to the FlexLogix controller. The program should contain the explicit message(s) that enable the back-up feature for this controller and scanner. The messages are described in the Developing the FlexLogix Back-Up Application section beginning on page 10-6. 7. Put controller into RUN mode. 8. Either disable power to the controller or disconnect the scanner from DeviceNet. This controller will be the secondary controller. Publication 1794-UM001E-EN-P - June 2003 FlexLogix Back-Up on DeviceNet 10-5 9. Connect the other FlexLogix controller with a 1788-DNBO scanner on the network. 10. Set the node address to 0. 11. Power-up the controller and scanner. 12. Use RSNetWorx for DeviceNet to download the same scanlist used in step 5. It may be necessary to browse the network again before downloading the scanlist. This second browsing of the network allows RSNetWorx for DeviceNet to establish communication to the new scanner at the same node number as the previous scanner. 13. Use RSLogix5000 to download the user program to the second FlexLogix controller as performed in step 6. Typically, the same user program is downloaded to the second FlexLogix controller as the first. However, unlike the scanlists, the user programs in the controllers do not have to be identical. 14. Put the controller into RUN mode. This controller is now ready to go and is the primary controller. 15. Reapply power to the secondary controller and/or reconnect the secondary scanner to the DeviceNet subnet. This completes the back-up process. For more detailed information on some of the steps listed previously, see the next section. Publication 1794-UM001E-EN-P - June 2003 10-6 FlexLogix Back-Up on DeviceNet Developing the FlexLogix Back-Up Application The FlexLogix back-up is enabled from an RSLogix 5000 user program with a few simple ladder rungs (or equivalent). The following rungs are used in the FlexLogix back-up: · Back-up Heartbeat Configuration Rungs - required · Reading Back-up State Rung - optional · Reading Back-up Status - optional Back-up Heartbeat Configuration Rungs The first, and most critical, step is to set the back-up “heartbeat” constant in the DeviceNet scanner. The heartbeat constant enables the back-up feature and determines the switchover time (2 x heartbeat). By default, the heartbeat is zero; this default value disables the back-up mode. Your user program must set the heartbeat to a non-zero value to enable back-up. The heartbeat occurs in multiples of 8ms (i.e. 8, 16, 24, etc.). We recommend a value of 16-48ms for most applications. The recommended heartbeat times result in switchover times of 32-96ms. However, these times do not include controller scan delays. IMPORTANT Publication 1794-UM001E-EN-P - June 2003 If multiples of 8 are not used for the requested heartbeat, then the DeviceNet scanner uses the next higher supported heartbeat value that can be read from the scanner. For example, if you set the heartbeat to 10, the scanner uses a 16ms heartbeat. FlexLogix Back-Up on DeviceNet 10-7 Setting the Heartbeat Constant You can set the heartbeat constant with five rungs of ladder logic. Figure 10.2 shows rungs 0 & 1 and the message set-up used in rung 1. The message in rung 1 uses the INT data type. Figure 10.2 Rung 1 message configuration and communication tabs Publication 1794-UM001E-EN-P - June 2003 10-8 FlexLogix Back-Up on DeviceNet Figure 10.3 shows rung 2 and the message set-up used on it. The message in rung 2 uses the INT data type. Figure 10.3 Rung 2 message configuration and communication tabs Publication 1794-UM001E-EN-P - June 2003 FlexLogix Back-Up on DeviceNet 10-9 Figure 10.4 shows rungs 3 & 4 and the message set-up used on it. The message in rung 3 uses the INT data type. Figure 10.4 Rung 3 message configuration and communication tabs This completes the required portion of ladder logic to enable the FlexLogix back-up on DeviceNet. The following sections describe how to use additional ladder logic to read back-up state and status. However, these sections are not required to complete the back-up solution. Publication 1794-UM001E-EN-P - June 2003 10-10 FlexLogix Back-Up on DeviceNet Reading Back-up State Rung You can read the back-up state of the DeviceNet scanner with a single rung of ladder logic. The back-up state is useful for debug or more sophisticated back-up schemes. The message in this rung uses the SINT data type. Figure 10.5 shows the rung you can use to read the back-up state. Figure 10.5 Rung 5 message configuration and communication tabs Publication 1794-UM001E-EN-P - June 2003 FlexLogix Back-Up on DeviceNet 10-11 Table 10.1 describes the possible values this message may return when reading the back-up state of the DeviceNet scanner. Table 10.1 If the message reads this value: the back-up state of the DeviceNet scanner is: 0 Disabled 1 Primary scanner 2 Back-up scanner 3 Invalid primary node address (e.g. the node address cannot be 62 or 63) 4 Faulted back-up scanner - CRC failure (e.g. the scanlists in the scanners do not match) 5 Faulted back-up scanner - back-up node number failure (e.g. the back-up scanner is not using a node number = the primary node number + 1) 6 Back-up scanner pending primary detection 254 Attempting primary access 255 Attempting back-up access Publication 1794-UM001E-EN-P - June 2003 10-12 FlexLogix Back-Up on DeviceNet Reading Back-up Status You can read the back-up status of the DeviceNet scanner with a single rung of ladder logic. The back-up state is useful for debugging or more sophisticated back-up schemes. The message in this rung uses the SINT data type. Figure 10.6 shows the rung you can use to read the back-up state. Figure 10.6 Rung 6 message configuration and communication tabs Table 10.1 describes the possible values this message may return when reading the back-up status of the DeviceNet scanner. Table 10.2 If the message reads this value: Publication 1794-UM001E-EN-P - June 2003 the back-up state of the DeviceNet scanner is: 0 No back-up scanner detected 1 Primary scanner forcing IDLE (back-up in RUN but primary in IDLE) FlexLogix Back-Up on DeviceNet Using Indicators to Check Status 10-13 The 1788-DNBO card’s status indicators provide useful information (e.g. determining which controller is primary) about back-up scanner status. Table 10.3 lists the indicators to monitor when checking back-up status. Table 10.3 If this indicator exhibits this behavior this condition exists: Module status (MS) Flashing red A secondary controller was not found (or other minor fault detected) Back-up status (BS)(1) Solid green (1) Development and Debugging Tips This scanner is the primary controller. Flashing green This scanner is a qualified secondary controller. Off This scanner is not configured for back-up mode. The BS status indicator may not be labelled on current 1788-DNBO communication cards. When you implement the FlexLogix Back-Up on DeviceNet solution, we recommend you consider the following development and debugging tips: · Develop and debug the entire application with only the primary controller and scanner present. When the application is totally verified, then download the program and exact same scanlist to the secondary controller, without the primary controller present. Verify that the secondary is also functioning properly, and then both primary and secondary can be added to the network at the same time. · No configuration parameters are entered from RSNetworx for DeviceNet or RSLogix5000 to enable Back-up. All configuration occurs in the user program. Almost your entire application (e.g. except for a few ladder rungs) can be developed without knowledge that the application will have a back-up controller and scanner. · Local I/O still works when this solution is used but the Local I/O is not backed up. · Switchover time depends on the user configurable heartbeat. After two heartbeats are lost between primary and secondary the switchover occurs. This time can be as little as 50ms with a heartbeat of 16ms. Publication 1794-UM001E-EN-P - June 2003 10-14 FlexLogix Back-Up on DeviceNet · The I/O during switchover is NOT bumpless. Since the programs and I/O updates are not synchronized, it is possible for the secondary controller to be either slightly faster or slower than the primary. For example, if output changes during a switchover, the fact that the primary and secondary controllers are unsynchronized can cause the output to momentarily switch between an older and newer value. If you configure the switchover time slower than the program scan and I/O update, the secondary lags behind the primary and eliminates this. · State variables, such as counters or timers are NOT synchronized. The user program must synchronize the primary and secondary controllers, typically over an EtherNet/IP or ControlNet link between controllers. If the outputs are dependent on a state variable, the lack of synchronization can also cause a bumpy switchover. · As with all back-up and redundancy systems, the I/O must change at a slower rate than the switchover time. If the inputs change faster than the switchover, the change of state is lost. · Either the user program or user action determine the primary controller. In its simplest mode, the first scanner to power-up or become available on DeviceNet first is the primary. · Unlike some back-up systems (i.e. PLC5), the primary controller still maintain control of the I/O and switchover does NOT occur if the primary controller is set to Program/Idle mode. The secondary 1788-DNBO scanner also indicates that it is in Idle Mode. · By default, a switchover will NOT occur if the default fault routine or user fault routine is executed in the primary controller. However, the user fault routine can force a switchover if so desired. · If an operator interface is on DeviceNet, then it can work without knowledge which controller is primary or secondary. · Online edits are not automatically performed on both Primary and Secondary since no synchronization exists between Primary and Secondary. Once an online edit occurs on the Primary, then the Primary and Secondary will have different programs. · FlexLogix Back-up on DeviceNet is not Hot Back-up. Hot Back-up implies complete synchronization of program, program variables, and I/O. Also, I/O switchover is completely bumpless is Hot Back-up. Publication 1794-UM001E-EN-P - June 2003 Appendix A FlexLogix System Specifications Using This Appendix For information about: See page FlexLogix controller specifications A-1 1794-FLA FlexLogix extended-local adapter specifications A-5 1756-BA1 battery specifications A-8 FlexLogix controller serial cable descriptions A-8 FlexLogix controller LED descriptions A-10 FlexLogix Controller Category: FlexLogix controller (1794-L33, -L34) user memory 1794-L33 64 KBytes 1794-L34 512 KBytes input voltage rating (nominal) 24V dc range 19.2V to 31.2V dc (includes 5% ac ripple) isolation voltage 30V dc (continuous-voltage withstand rating) Qualification tested to withstand 850V dc for 60 seconds input maximum current 1.33A maximum at 19.2V dc 0.85A maximum at 24V dc input maximum power 25.5W maximum at 19.2V 20.4W maximum at 24V dc backplane (FLEXBUS) current output 653mA maximum @ 5.1V dc thermal dissipation 87BTU/hour @ 19.2V operating temperature IEC 60068-2-1 (Test Ad, Operating Cold), IEC 60068-2-2 (Test Bd, Operating Dry Heat), IEC 60068-2-14 (Test Nb, Operating Thermal Shock): 0 to 60°C (32 to 140°F) 1 Publication 1794-UM001E-EN-P - June 2003 A-2 FlexLogix System Specifications Category: FlexLogix controller (1794-L33, -L34) storage temperature IEC 60068-2-1 (Test Ab, Un-packaged Non-operating Cold), IEC 60068-2-2 (Test Bb, Un-packaged Non-operating Dry Heat), IEC 60068-2-14 (Test Na, Un-packaged Non-operating Thermal Shock): –40 to 85°C (–40 to 185°F) relative humidity IEC 60068-2-30 (Test Db, Un-packaged Non-operating Damp Heat): 5 to 95% non-condensing vibration(1) IEC60068-2-6 (Test Fc, Operating): 5g @ 10-500Hz shock(1) IEC60068-2-27: Test Ea (Unpackaged shock, ES#002) Operating 30g Non-operating 50g emissions CISPR 11: Group 1, Class A (with appropriate enclosure) ESD immunity IEC 61000-4-2: 6kV contact discharges 8kV air discharges radiated RF immunity IEC 61000-4-3: 10V/m with 1kHz sine-wave 80%AM from 30MHz to 1000MHz EFT/B immunity IEC 61000-4-4: ±4kV at 2.5kHz on power ports ±2kV at 5kHz on communications ports surge transient immunity IEC 61000-4-5: ±2kV line-earth (CM) on shielded ports conducted RF immunity IEC 61000-4-6: 10Vrms with 1kHz sine-wave 80%AM from 150kHz to 80MHz enclosure type rating none (open-style) weight 1794-L33 .71 kg (1.56 lbs oz.) 1794-L34 .75 g (1.66 lbs.) (no communication cards installed) power supply ! 1794-PS3 or 1794-PS13 In applications that must be compliant with CSA requirements, use a Separated Extra-Low Voltage (SELV) power supply that is compliant with IEC 61010.1, Annex H Publication 1794-UM001E-EN-P - June 2003 FlexLogix System Specifications Category: FlexLogix controller (1794-L33, -L34) power conductors 60° C (140° F) minimum, copper A-3 22-12 AWG (4 mm2) stranded 3/64 inch (1.2mm) insulation maximum length 10m or less category 3(2) power connector torque 5-7 inch-pounds battery 1756-BA1 (AB part number 94194801) 0.59g lithium serial cable 1761-CBLPM02 to 1761-NET-AIC isolator 1761-CBLPA00 to 1761-NET-AIC isolator 1756-CP3 directly to controller 1747-CP3 directly to controller category 3(2) extended local I/O cable 1794-CE1 cable (1 foot) 1794-CE3 cable (3 feet) category 3(2) DIN rail steel, 35 x 7.55mm DIN rail A-B part number 199-DR1; 46277-3; EN 50022 Publication 1794-UM001E-EN-P - June 2003 A-4 FlexLogix System Specifications Category: FlexLogix controller (1794-L33, -L34) Certifications: UL UL Listed Industrial Control Equipment (when product is marked) CSA CSA Certified Process Control Equipment CSA CSA Certified Process Control Equipment for Class I, Division 2 Group A,B,C,D Hazardous Locations CE(3) European Union 89/336/EEC EMC Directive, compliant with: EN 50081-2; Industrial Emissions EN 50082-2; Industrial Immunity EN 61326; Meas./Control/Lab., Industrial Requirements EN 61000-6-2; Industrial Immunity C-Tick(3) Australian Radiocommunications Act, compliant with: AS/NZS 2064; Industrial Emissions EEx(3) European Union 94/9/EEC ATEX Directive, compliant with: EN 50021; Potentially Explosive Atmospheres, Protection “n” (1) To maintain these vibration and shock specifications, you must use DIN rail locks. (2) See the Industrial Automation Wiring and Grounding Guidelines, publication 1770-4.1. (3) See the Product Certification link at www.ab.com for Declarations of Conformity, Certificates, and other certification details. IMPORTANT The amount of memory that the software displays includes both the user available memory and the memory reserved for overhead. · The Unused field represents the memory available for the user program. · The Total field represents the total memory available on the module, including user program and overhead. Do not use this field when determining your memory usage. See the specifications for your controller to determine how much memory you have available for programming. This dialog box might display a higher number, but the additional memory is required by system overhead and may not be available for programming. Publication 1794-UM001E-EN-P - June 2003 FlexLogix System Specifications A-5 1794-FLA FlexLogix Extended-Local Adapter Category: FlexLogix extended-local I/O adapter (1794-FLA) input voltage rating (nominal) 24V dc range 19.2V to 31.2V dc (includes 5% ac ripple) isolation voltage 30V dc (continuous-voltage withstand rating) Qualification tested to withstand 850V dc for 60 seconds input maximum current 0.39A maximum at 19.2V dc 0.25A maximum at 24V dc input maximum power 7.5W maximum at 19.2V 6.0W maximum at 24V dc backplane (FLEXBUS) current output 653mA maximum @ 5.1V dc thermal dissipation 25.6BTU/hour @ 19.2V operating temperature IEC 60068-2-1 (Test Ad, Operating Cold), IEC 60068-2-2 (Test Bd, Operating Dry Heat), IEC 60068-2-14 (Test Nb, Operating Thermal Shock): 0 to 60°C (32 to 140°F) storage temperature IEC 60068-2-1 (Test Ab, Un-packaged Non-operating Cold), IEC 60068-2-2 (Test Bb, Un-packaged Non-operating Dry Heat), IEC 60068-2-14 (Test Na, Un-packaged Non-operating Thermal Shock): –40 to 85°C (–40 to 185°F) relative humidity IEC 60068-2-30 (Test Db, Un-packaged Non-operating Damp Heat): 5 to 95% non-condensing vibration(1) IEC60068-2-6 (Test Fc, Operating): 5g @ 10-500Hz shock(1) IEC60068-2-27: Test Ea (Unpackaged shock, ES#002) Operating 30g Non-operating 50g emissions CISPR 11: Group 1, Class A (with appropriate enclosure) ESD immunity IEC 61000-4-2: 6kV contact discharges 8kV air discharges Publication 1794-UM001E-EN-P - June 2003 A-6 FlexLogix System Specifications Category: FlexLogix extended-local I/O adapter (1794-FLA) radiated RF immunity IEC 61000-4-3: 10V/m with 1kHz sine-wave 80%AM from 30MHz to 1000MHz EFT/B immunity IEC 61000-4-4: ±4kV at 2.5kHz on power ports ±2kV at 5kHz on communications ports surge transient immunity IEC 61000-4-5: ±2kV line-earth (CM) on shielded ports conducted RF immunity IEC 61000-4-6: 10Vrms with 1kHz sine-wave 80%AM from 150kHz to 80MHz enclosure type rating none (open-style) weight .28 kg (.62 lbs.) power supply ! 1794-PS3 or 1794-PS13 In applications that must be compliant with CSA requirements, use a Separated Extra-Low Voltage (SELV) power supply that is compliant with IEC 61010.1, Annex H power conductors 60° C (140° F) minimum, copper 22-12 AWG (4 mm2) stranded 3/64 inch (1.2mm) insulation maximum length 10m or less category 3(2) power connector torque Publication 1794-UM001E-EN-P - June 2003 5-7 inch-pounds FlexLogix System Specifications Category: FlexLogix extended-local I/O adapter (1794-FLA) extended local I/O cable 1794-CE1 cable (1 foot) A-7 1794-CE3 cable (3 feet) category 3(2) DIN rail steel, 35 x 7.55mm DIN rail A-B part number 199-DR1; 46277-3; EN 50022 Certifications: UL UL Listed Industrial Control Equipment (when product is marked) CSA CSA Certified Process Control Equipment CSA CSA Certified Process Control Equipment for Class I, Division 2 Group A,B,C,D Hazardous Locations CE(2) European Union 89/336/EEC EMC Directive, compliant with: EN 50081-2; Industrial Emissions EN 50082-2; Industrial Immunity EN 61326; Meas./Control/Lab., Industrial Requirements EN 61000-6-2; Industrial Immunity C-Tick(3) Australian Radiocommunications Act, compliant with: AS/NZS 2064; Industrial Emissions EEx(3) European Union 94/9/EEC ATEX Directive, compliant with: EN 50021; Potentially Explosive Atmospheres, Protection “n” (1) To maintain these vibration and shock specifications, you must use DIN rail locks. (2) See the Product Certification link at www.ab.com for Declarations of Conformity, Certificates, and other certification details. Publication 1794-UM001E-EN-P - June 2003 A-8 FlexLogix System Specifications 1756-BA1 Battery The FlexLogix controller uses the 1756-BA1 battery: Battery 1756-BA1 0.59g lithium Attach label here. This jumper is for service use only. Do not use this jumper. Attach battery here. FlexLogix Controller Serial Cables top red lead (+) middle black lead (-) bottom no connection The RS-232 port is a non-isolated serial port built-in to the front of the controller. serial port To connect to the serial port, determine whether you need an optical isolator. If you connect the controller to a modem or an ASCII device, consider installing an isolator between the controller and modem or ASCII device. An isolator is also recommended when connecting the controller directly to a programming workstation. Publication 1794-UM001E-EN-P - June 2003 FlexLogix System Specifications Are you using an isolator: Use this cable: no The 1756-CP3 cable attaches the controller directly to the controller. 1 CD 1 CD 2 RDX 2 RDX 3 TXD 3 TXD 4 DTR 4 DTR COMMON COMMON 6 DSR 6 DSR 7 RTS 7 RTS 8 CTS 8 CTS 9 9 A-9 If you make your own cable, it must be shielded and the shields must be tied to the metal shell (that surrounds the pins) on both ends of the cable. You can also use a 1747-CP3 cable (from the SLC product family). This cable has a larger right-angle connector than the 1756-CP3 cable. yes The 1761-CBL-AP00 cable (right-angle connector to controller) or the 1761-CBL-PM02 cable (straight connector to the controller) attaches the controller to port 2 on the 1761-NET-AIC isolator. The mini-DIN connector is not commercially available, so you cannot make this cable. 1 6 7 2 6 78 3 8 9 5 DB-9 right-angle or straight cable end 5 3 4 4 12 8-pin, mini-DIN cable end Pin: DB-9 end: Mini-DIN end: 1 DCD DCD 2 RxD RxD 3 TxD TxD 4 DTR DTR 5 ground ground 6 DSR DSR 7 RTS RTS 8 CTS CTS 9 na na Publication 1794-UM001E-EN-P - June 2003 A-10 FlexLogix System Specifications FlexLogix Controller LEDs Indicator: Color: Description: RUN off The controller is in Program or Test mode. solid green The controller is in Run mode. off No power is applied. flashing red Either of the following: · If the controller is a new controller, then it requires a firmware update. · If the controller is not a new controller, then a major fault occurred. To clear the fault, either turn the keyswitch from PROG to RUN to PROG or go online with RSLogix 5000. solid red The controller detected a non-recoverable fault, so it cleared the project from memory. To recover: 1. Cycle power to the chassis. 2. Download the project. 3. Change to Run mode. If the OK LED remains solid red, contact your local Rockwell Automation representative or distributor. flashing green An NVS Program save or restore on the controller is occurring. solid green The controller is OK. off The battery supports memory. solid red Either of the following: · The battery is not installed. · The battery is 95% discharged and should be replaced. off Either of the following: OK BATTERY I/O · The controller project is not downloaded (the condition after power up). · No I/O or communications configured LOCAL and LOCAL2 RS232 FORCE solid green The controller is communicating to all devices. flashing green One or more devices are not responding. off The rail is inhibited. solid green The controller is communicating to all devices on that rail. flashing green One or more devices on that rail not responding. flashing red No modules exist on that rail. off There is no activity. solid green Data being received or transmitted. off Either of the following: · No tags contain I/O force values. · I/O forces are inactive (disabled). solid amber Either of the following: · I/O forces are active (enable). · I/O force values may or may not exist. flashing amber Publication 1794-UM001E-EN-P - June 2003 One or more input or output addresses have been forced to an ON or OFF state, but the forces have not been enabled. Appendix B Maintaining the Battery Using this Appendix Storing Replacement Batteries For information about: See page Storing replacement batteries B-1 Estimating battery life B-1 Replacing batteries B-3 Because a battery may leak potentially dangerous chemicals if stored improperly, store batteries as follows: ATTENTION ! Estimating Battery Life Store batteries in a cool, dry environment. We recommend 25° C with 40% to 60% relative humidity. You may store batteries for up to 30 days between -45° to 85° C, such as during transportation. To avoid possible leakage, do not store batteries above 60° C for more than 30 days. When the battery is about 95 percent discharged, the controller provides the following warnings: · On the front of the controller, the BATTERY LED turns on (solid red). · A minor fault occurs (type 10, code 10). 1 Publication 1794-UM001E-EN-P - June 2003 B-2 Maintaining the Battery To prevent the battery from leaking potentially dangerous chemicals, replace the battery at least as often as: ATTENTION ! To prevent possible battery leakage, even if the BATTERY LED is off, replace the battery according to this schedule: If the temperature 1 in. below the controller is: Replace the battery within: 0° to 35° C No required replacement 36° to 40° C 3 years 41° to 45° C 2 years 46° to 50° C 16 months 51° to 55° C 11 months 56° to 60° C 8 months To estimate how long the battery will support the memory of the controller: 1. Determine the temperature (° C) 1 in. below the FlexLogix controller. 2. Determine the percentage of time that the controller is powered off per week. EXAMPLE If a controller is off: · 8 hr/day during a 5-day work week · all day Saturday and Sunday Then the controller is off 52% of the time: 1. total hours per week = 7 x 24 = 168 hours 2. total off hours per week = (5 days x 8 hrs/day) + Saturday + Sunday = 88 hours 3. percentage off time = 88/168 = 52% Publication 1794-UM001E-EN-P - June 2003 Maintaining the Battery B-3 Use the off-time percentage you calculated with the following table to determine battery life: Worst-case battery life estimate: Catalog number: Temperature: Power off 100%: Power off 50%: Battery duration after the LED turns on:(1) 1794-L33 60° C 2.3 years 4.6 years 3 days 25° C 1 year 2 years 3 days 60° C 1.8 years 3.6 years 3 days 25° C 6.7 months 1.1 year 3 days 1794-L34 (1) The battery indicators (BATTERY) warns you when the battery is low. These durations are the amounts of time the battery will retain controller memory from the time the controller is powered down after the LED first turns on. IMPORTANT Replacing a Battery If the BATTERY LED turns on when you apply power to the controller, the battery life may be less than the table above indicates. Some of the warning time may have been used while the controller was off and unable to turn on the BATTERY LED. Because the controller uses a lithium battery, you must follow specific precautions when handling or disposing a battery. ATTENTION ! The controller uses a lithium battery, which contains potentially dangerous chemicals. Before handling or disposing a battery, review Guidelines for Handling Lithium Batteries, publication AG-5.4. 1. Turn off power to the FlexLogix controller. 2. Does the existing battery show signs of leakage or damage? If: Then: Yes Before handling the battery, review Guidelines for Handling Lithium Batteries, publication AG-5.4. No Go to the next step. Publication 1794-UM001E-EN-P - June 2003 B-4 Maintaining the Battery 3. Remove the old battery. 4. Install a new 1756-BA1 battery. ATTENTION ! Only install a 1756-BA1 battery. If you install a different battery, you may damage the controller. 5. Attach the battery label: a. Write on the battery label the date you install the battery. b. Attach the label to the inside of the battery compartment. 6. On the front of the controller, is the BATTERY LED off? If: Then: Yes Go to the next step. No A. Check that the battery is correctly connected to the controller. B. If the BATTERY LED remains on, install another 1756-BA1 battery. C. If the BATTERY LED remains on after you complete Step B., contact your Rockwell Automation representative or local distributor. 7. Dispose the old battery according to state and local regulations. ATTENTION ! Publication 1794-UM001E-EN-P - June 2003 Do not incinerate or dispose lithium batteries in general trash collection. They may explode or rupture violently. Follow state and local regulations for disposal of these materials. You are legally responsible for hazards created while your battery is being disposed. Index Numerics 1756-BA1 A-8, B-1 1788-CN2DN 6-10 1788-CNCx 5-1 1788-DNBO 6-1, 9-1 1788-ENBT 4-1 1794-FLA A-5 A adding extended-local analog module 1-9 local input module 1-5 local output module 1-7 alias defining 3-20 getting started 1-14 analog module adding 1-9 ASCII protocol 7-15 B battery A-8, B-1 how to replace B-3 life B-1 storage B-1 when to replace B-1 C cable A-8 changing module properties 1-11 project properties 1-4 communicating ControlNet 5-1 DeviceNet 6-1, 9-1 DH-485 8-1 EtherNet/IP 4-1 mapping address 4-18, 5-15 serial 7-1 with other controllers 4-15, 5-14 with other Logix-based controller 4-14, 5-13 communication card ControlNet 5-4 DeviceNet 6-3, 9-2 EtherNet/IP 4-6 communication driver ControlNet 5-3 serial 7-8 communication format 3-12 configuring alias 3-20 ASCII protocol 7-15 communication format 3-12 ControlNet system 5-1 DeviceNet system 6-1, 9-1 DF1 master 7-12 DF1 point-to-point 7-9 DF1 slave 7-12 DH-485 system 8-1 DIN rail 3-9 electronic keying 3-11 EtherNet/IP system 4-1 inhibit I/O module 3-14 local I/O 3-10 remote devices 4-7, 5-5 response to connection failure 3-20 serial system 7-1 configuring Ethernet communication drivers 4-3–4-5 AB_ETH driver 4-3–4-5 connection ControlNet guidelines 5-21 direct connection 2-12 EtherNet/IP guidelines 4-23 for I/O module 2-12 monitoring rack-optmized 3-22 requirements 2-17 response to failure 3-20 controller ownership 3-12 ControlNet accessing remote devices 5-7 communication card 5-4 communication driver 5-3 configuring the system 5-1 connection guidelines 5-21 consuming a tag 5-20 example FlexLogix controller and remote devices 5-22 example FlexLogix controller as a bridge 5-33 example FlexLogix controller to FlexLogix controller 5-24 example FlexLogix controller to other devices 5-27 Publication 1794-UM001E-EN-P - June 2003 2 Index hardware 5-2 mapping address 5-15 message to other controller 5-14 message to other Logix-based controller 5-13 overview 5-1 produced/consumed tag 5-17 producing a tag 5-19 remote devices 5-5 schedule network 5-10 sending messages 5-11 creating project 1-3 tags 1-13 D data 3-17 developing programs 2-2 DeviceNet accessing remote devices 6-7 communication card 6-3, 9-2 configuring the system 6-1, 9-1 example FlexLogix controller and DeviceNet devices 6-9 example using a 1788-CN2DN linking device 6-10 FlexLogix back-up on the network 10-1– 10-14 hardware 6-2, 9-2 overview 6-1, 9-1 scan list 6-4 DF1 protocol master 7-7, 7-12 master/slave methods 7-11 point-to-point 7-7, 7-9 slave 7-7, 7-12 DH-485 configuring the port 8-3 configuring the system 8-1 example network configuration 8-9 grounding 8-9 hardware 8-2 installing 8-7 network initialization 8-5 nodes 8-6 overview 8-1 terminating 8-9 token rotation 8-5 Publication 1794-UM001E-EN-P - June 2003 DIN rail configuring 3-9 splitting 3-5 direct connection 2-12 documenting I/O 1-14 downloading project 1-17, 2-20 E electronic keying 3-11 entering logic 1-15 EtherNet/IP accessing remote devices 4-9 communication card 4-6 configuring the system 4-1 connection guidelines 4-23 consuming a tag 4-22 example FlexLogix controller and remote devices 4-23 example FlexLogix controller as a bridge 4-30 example FlexLogix controller to FlexLogix controller 4-24 example FlexLogix controller to other devices 4-27 hardware 4-2 mapping address 4-18 message to other controller 4-15 message to other Logix-based controller 4-14 overview 4-1 produced/consumed tag 4-20 producing a tag 4-21 remote devices 4-7 sending messages 4-12 event tasks 2-6–2-8 example DH-485 configuration 8-9 FlexLogix controller and DeviceNet devices 6-9 FlexLogix controller and remote devices over ControlNet 5-22 FlexLogix controller and remote devices over EtherNet/IP 4-23 FlexLogix controller as a ControlNet bridge 5-33 FlexLogix controller as a EtherNet/IP bridge 4-30 Index FlexLogix controller to FlexLogix controller over ControlNet 5-24 FlexLogix controller to FlexLogix controller over EtherNet/IP 4-24 FlexLogix controller to other devices over ControlNet 5-27 FlexLogix controller to other devices over EtherNet/IP 4-27 monitoring I/O module 3-21 monitoring rack-optimized connection I/O module 3-6 alias 3-20 communication format 3-12 configuring local 3-10 connection 2-12 DIN rail 3-9 direct connection 2-12 electronic keying 3-11 example logic for monitoring a rack-optmized connection 3-22 example logic for monitoring the module 3-22 using a 1788-CN2DN linking device 6-10 extended-local adapter A-5 F fault bit 3-21 3 3-21 fault bits 3-21 local overview 3-1 monitoring 3-20 splitting the DIN rail 3-5 inhibit operation 3-14 input module adding 1-5 G getting started adding a local input module 1-5 adding a local output module 1-7 adding an extended-local analog module 1-9 changing module properties 1-11 changing project properties 1-4 creating a project 1-3 creating tags 1-13 documenting I/O with alias tags 1-14 downloading a project 1-17 entering logic 1-15 overview 1-1 steps 1-2 viewing controller memory usage 1-19 viewing I/O tags 1-12 viewing scan time 1-18 H hardware ControlNet 5-2 DeviceNet 6-2, 9-2 DH-485 8-2 EtherNet/IP 4-2 serial 7-1 I I/O configuration FLEX I/O adapter 4-8 local ENBT module 4-7 K keying, electronic 3-11 L LEDs A-10 local I/O configuring 3-10 DIN rail 3-9 overview 3-1 placing modules 3-6 splitting the rail 3-5 logic entering 1-15 Logix environment 2-1 low battery B-1 M mapping address 4-18, 5-15 master/slave communication 7-11 memory controller usage 1-19 nonvolatile 2-20 message sending over ControlNet 5-11 sending over EtherNet/IP 4-12 to other controller 4-15, 5-14 to other Logix-based controller 4-14, 5-13 Publication 1794-UM001E-EN-P - June 2003 4 Index monitoring example logic for I/O module 3-21 example logic for rack-optmized connection 3-22 I/O module 3-20 rack-optimized connection 3-22 N nonvolatile memory 2-20 O output module adding 1-7 P placing local modules 3-6 priority 2-3 produced/consumed tag overview 4-20, 5-17 program defining 2-5 developing 2-2 project creating 1-3 developing 2-2 downloading 1-17 program 2-5 properties 1-4 routine 2-5 task 2-3 S scan list 6-4 scan time 1-18 schedule network 5-10 serial ASCII protocol 7-15 cables A-8 communication driver 7-8 configuring the port 7-5 configuring the system 7-1 hardware 7-1 master 7-12 overview 7-1 point-to-point 7-9 slave 7-12 slave/master communication 7-11 specifications A-1 splitting the DIN rail 3-5 store batteries B-1 T tag alias 3-20 consuming 4-22, 5-20 creating 1-13 names 3-17 produced/consumed overview 4-20, 5-17 R rack optimized I/O add FLEX I/O adapter to I/O configuration 4-8 add local ENBT module to I/O configuration 4-7 remote devices accessing over ControlNet 5-7 accessing over DeviceNet 6-7 accessing over EtherNet/IP 4-9 configuring over ControlNet 5-5 configuring over EtherNet/IP 4-7 replace the battery how B-3 when B-1 Publication 1794-UM001E-EN-P - June 2003 routine defining 2-5 RSLinx communication drivers 4-3–4-5 AB_ETH driver 4-3–4-5 producing 4-21, 5-19 sample alias 1-14 viewing 1-12 task defining 2-3 priority 2-3 V viewing controller memory usage 1-19 I/O tags 1-12 scan time 1-18 How Are We Doing? Your comments on our technical publications will help us serve you better in the future. Thank you for taking the time to provide us feedback. You can complete this form and mail it back to us, visit us online at www.ab.com/manuals, or email us at [email protected] Pub. Title/Type FlexLogix System Cat. No. 1794-L33 and 1794-L34 Pub. No. 1794-UM001E-EN-P Pub. Date June 2003 Part No. 957782-76 Please complete the sections below. Where applicable, rank the feature (1=needs improvement, Overall Usefulness Completeness (all necessary information is provided) Technical Accuracy (all provided information is correct) 1 2 3 How can we make this publication more useful for you? 1 2 3 Can we add more information to help you? 1 1 Clarity (all provided information is easy to understand) Other Comments 2 3 procedure/step illustration feature example guideline other explanation definition Can we be more accurate? text 2 3 illustration How can we make things clearer? You can add additional comments on the back of this form. Your Name Location/Phone Your Title/Function Would you like us to contact you regarding your comments? ___No, there is no need to contact me ___Yes, please call me ___Yes, please email me at __________________________ ___Yes, please contact me via ________________________ Return this form to: Allen-Bradley Marketing Communications, 1 Allen-Bradley Dr., Mayfield Hts., OH 44124-9705 Phone: 440-646-3176 Fax: 440-646-3525 Email: [email protected] 2=satisfactory, and 3=outstanding). Publication ICCG-5.21- January 2001 PN 955107-82 PLEASE FASTEN HERE (DO NOT STAPLE) Other Comments PLEASE FOLD HERE BUSINESS REPLY MAIL FIRST-CLASS MAIL PERMIT NO. 18235 CLEVELAND OH POSTAGE WILL BE PAID BY THE ADDRESSEE 1 ALLEN-BRADLEY DR MAYFIELD HEIGHTS OH 44124-9705 Rockwell Automation Support Rockwell Automation provides technical information on the web to assist you in using our products. At http://support.rockwellautomation.com, you can find technical manuals, a knowledge base of FAQs, technical and application notes, sample code and links to software service packs, and a MySupport feature that you can customize to make the best use of these tools. For an additional level of technical phone support for installation, configuration and troubleshooting, we offer TechConnect Support programs. For more information, contact your local distributor or Rockwell Automation representative, or visit http://support.rockwellautomation.com. Installation Assistance If you experience a problem with a hardware module within the first 24 hours of installation, please review the information that's contained in this manual. You can also contact a special Customer Support number for initial help in getting your module up and running: United States 1.440.646.3223 Monday – Friday, 8am – 5pm EST Outside United States Please contact your local Rockwell Automation representative for any technical support issues. New Product Satisfaction Return Rockwell tests all of our products to ensure that they are fully operational when shipped from the manufacturing facility. However, if your product is not functioning and needs to be returned: Publication 1794-UM001E-EN-P - June 2003 2 Supersedes Publication 1794-UM001D-EN-P - July 2002 United States Contact your distributor. You must provide a Customer Support case number (see phone number above to obtain one) to your distributor in order to complete the return process. Outside United States Please contact your local Rockwell Automation representative for return procedure. PN 957782-76 Copyright © 2003 Rockwell Automation, Inc. All rights reserved. Printed in the U.S.A.