Table of Contents
User Manual
SoftLogix 5800 System
Catalog Numbers 1789-L10, 1789-L30, 1789-L60
Table of Contents
loading

Summary of Contents for Allen-Bradley SoftLogix 5800

  • Page 1 User Manual SoftLogix 5800 System Catalog Numbers 1789-L10, 1789-L30, 1789-L60...
  • Page 2 Allen-Bradley, Rockwell Software, RSLogix, FactoryTalk, SoftLogix, RSLinx, ControlLogix, Studio 5000, Rockwell Automation, SLC, PLC-5, Logix5000, PhaseManager, ControlLogix, RSNetWorx, FlexLogix, PLC-2, PLC-3, PLC-5, DH+, Integrated Architecure, Kinetix, FLEX, PanelView, Studio 5000, and Studio 5000 Logix Designer are trademarks of Rockwell Automation, Inc.Allen-Bradley, Rockwell Software, RSLogix, FactoryTalk, SoftLogix, RSLinx, ControlLogix, Studio 5000, Rockwell Automation, SLC, PLC-5, Logix5000, PhaseManager, ControlLogix, RSNetWorx, FlexLogix, PLC-2, PLC-3, PLC-5, DH+, Integrated Architecure, Kinetix, FLEX, PanelView, Studio 5000, and Studio 5000 Logix Designer are trademarks of Rockwell Automation, Inc.
  • Page 3 Summary of Changes Introduction This document contains new and updated information. To find new and updated information, look for change bars, as shown next to this paragraph. Updated Information The document contains these changes. This table represents major topics. Make sure to look for the change bars throughout this document.
  • Page 4 Summary of Changes Notes: Rockwell Automation Publication 1789-UM002K-EN-P - January 2015...
  • Page 5: Table Of Contents

    Before You Begin ..........14 Install the SoftLogix 5800 Controller ......15 FactoryTalk Activation Manager .
  • Page 6 Supported Functionality of the SoftLogix 5800 EtherNet/IP Module..... 56 Distributed Ethernet I/O ......... 56 I/O Configuration Order in the Project .
  • Page 7 Table of Contents Example 3: SoftLogix Controller to a Bar Code Reader ....90 Connect the ASCII Device to the Controller ....90 User Mode Configuration.
  • Page 8 Table of Contents Set Up the Debug Session ........136 Start a Debug Session .
  • Page 9 Table of Contents Step 5: Change the Scanner Mode ......187 DeviceNet I/O Data ..........188 Determine How Often to Update Data .
  • Page 10 SoftLogix 5800 Version 23 ........
  • Page 11: Preface

    Preface Use this manual to become familiar with the SoftLogix™ 5800 controller and its features. Studio 5000 Environment The Studio 5000 Engineering and Design Environment™ combines engineering and design elements into a common environment. The first element in the Studio 5000®...
  • Page 12: Additional Resources

    Describes how to set up a state model for your controller. You can view or download publications at http:/www.literature.rockwellautomation.com. To order paper copies of technical documentation, contact your local Allen-Bradley distributor or Rockwell Automation sales representative. Rockwell Automation Publication 1789-UM002K-EN-P - January 2015...
  • Page 13: Softlogix 5800 System

    • EtherNet/IP support • Third-party virtual-backplane module support (1) As of version 12 of the SoftLogix 5800 controller, the 1789-L10 controller supports three slots in the virtual chassis. (2) The number of available slots in the virtual chassis is limited by the controller. You can have as many PCI communication cards as you have available slots in the virtual chassis and in the personal computer.
  • Page 14: Before You Begin

    To invoke the RSLinx GUI, remove all SoftLogix controllers from the chassis monitor and use the RSLinx Control Panel to start RSLinx software as an application instead of a service. Before you can install the SoftLogix 5800 controller, perform the following steps. Rockwell Automation Publication 1789-UM002K-EN-P - January 2015...
  • Page 15: Install The Softlogix 5800 Controller

    2. Verify that the Windows Workstation and Server services required by the SoftLogix 5800 controller are running. The Workstation and Server services are automatically installed when you install Windows Networking or Remote Access Service (RAS).
  • Page 16: Factorytalk Activation Manager

    Chapter 1 SoftLogix 5800 System FactoryTalk Activation There are two types of FactoryTalk® activations to activate the SoftLogix 5800 controller license—node-locked and concurrent. Manager Node-locked Activation Node-locked activation can be used only on the computer where the activation is locked (that is, on the personal computer for which the license was purchased).
  • Page 17: Activation Tools And Rehosting

    SoftLogix 5800 System Chapter 1 To activate your license, you need to have the host ID, serial number, and product key information available Item Description Host ID This is found by using the FactoryTalk Activation Manager. Choose Start>Programs>Rockwell Software>FactoryTalk Activation>FactoryTalk.
  • Page 18: Troubleshoot Factorytalk Activations

    Chapter 1 SoftLogix 5800 System Troubleshoot FactoryTalk Activations There could be several reasons you might have trouble installing your activations: • If you accidentally requested too few concurrent activations for a product, you can download more new activations for the same Host ID. You cannot download more activations than you have purchased.
  • Page 19: Configure The Rslinx Virtual-Backplane Driver

    SoftLogix 5800 System Chapter 1 Configure the RSLinx Virtual- Use RSLinx software to configure the virtual-backplane driver. You do this only once for the computer. backplane Driver The RSLinx virtual-backplane driver is required for SoftLogix software IMPORTANT to operate. To install the virtual-backplane driver, follow these steps.
  • Page 20 Chapter 1 SoftLogix 5800 System 5. Click Configure. The Configure VirtualBackplane dialog box appears. The Logix Designer application, version 23.00.00, lets you insert a valid SoftLogix module into slot 0. The RSLinx software module defaults in Slot 0 if not set up for another slot position.
  • Page 21 Chapter What is the SoftLogix System? Topic Page SoftLogix System Components Set Up the Chassis Monitor Configure the SoftLogix Controller Developing Programs How the SoftLogix System Uses Connections Connections for Produced and Consumed Tags Connections for Messages Connections for I/O Modules Total Connection Requirements Restart the Controller Select a System Overhead Percentage...
  • Page 22: What Is The Softlogix System

    It provides complete axis configuration and motion programming support. • A SoftLogix 5800 controller is based on the Logix platform and takes control functions normally found in a dedicated programmable controller, encapsulates them in software, and runs them on a commercial operating system.
  • Page 23: Softlogix System Description

    What is the SoftLogix System? Chapter 2 SoftLogix System Description The Logix Designer application supports program development for all Logix controllers. The system can make a connection through a 1784-PCICS card via the ControlNet network, through a 1784-PCIDS card via the DeviceNet network, and through a standard Ethernet port via the EtherNet/IP network.
  • Page 24: Set Up The Chassis Monitor

    Chapter 2 What is the SoftLogix System? Set Up the Chassis Monitor The Chassis Monitor is your window into the SoftLogix system that lets you configure and monitor the system components. The Chassis Monitor models a physical chassis, but is virtual, or ‘soft.’ You install virtual devices in the virtual chassis to represent the controller and cards in your system.
  • Page 25: Determine A Memory Size

    What is the SoftLogix System? Chapter 2 Table 1 - Chassis Motor Characteristic Characteristic Description Startup mode Specify how the controller should behave when its service is started. Select Remote Program (default) or Last Controller State. Memory size Specify the memory size (KB) to allow for the controller. The maximum limit depends on the controller type.
  • Page 26: Specify A Periodic Save Interval

    If you run an HMI application remotely and gather data from a SoftLogix 5800 controller via OPC, the performance of the HMI may also be impacted during a periodic save. The controller handles both the periodic save ‘tag value upload’...
  • Page 27: Configure The Softlogix Controller

    What is the SoftLogix System? Chapter 2 Configure the SoftLogix You must first create and configure your SoftLogix 5800 controller, that is, catalog number 1789-L10, 1789-L30, or 1789-L60, in the virtual chassis Controller monitor. Step 1: Create and Configure the Controller in the SoftLogix Chassis...
  • Page 28 See page For this example, we will enter slot 1 for the 1789-L60 SoftLogix 5800 controller. 3. Click OK. The General dialog box appears. 4. In the General dialog box, enter Startup Mode, Memory Size and Periodic Save Interval values.
  • Page 29: Change The Rslinx Software Slot

    What is the SoftLogix System? Chapter 2 This SoftLogix Chassis Monitor now shows the new controller in slot 1. Change the RSLinx Software Slot The RSLinx software module automatically defaults to Slot 0 in the chassis. But you can program the virtual backplane to use the RSLinx module in another slot before starting up the SoftLogix application.
  • Page 30 Chapter 2 What is the SoftLogix System? 3. Click Add New and click OK. 4. Select AB-VBP-1 RSLinx Classic Driver from the list and click Configure. The driver must be running if SoftLogix is used. If the driver is deleted while SoftLogix is running after choosing a slot other than zero for the RSLinx module, RSLinx chooses the next available slot in the chassis monitor.
  • Page 31: Step 2: Create The New Controller Project

    What is the SoftLogix System? Chapter 2 Step 2: Create the New Controller Project in the Logix Designer Application 1. In the Logix Designer application, from the File menu, choose New. The New Controller dialog box appears. 2. In the New Controller dialog box, from the Type pull-down menu, choose your SoftLogix controller.
  • Page 32: Step 3: Configure The Controller In The Logix Designer Application Project

    Chapter 2 What is the SoftLogix System? You now see the new controller in the Controller Organizer’s I/O Configuration section of the Logix Designer application. Logix Designer Application Controller Organizer Step 3: Configure the Controller in the Logix Designer Application Project 1.
  • Page 33 What is the SoftLogix System? Chapter 2 The Controller Properties dialog box appears. 2. In the Controller Properties dialog box, set controller configuration information for the open project, and when online—for the attached controller. The tabs that appear are particular to the type of controller you have selected.
  • Page 34: Developing Programs

    Chapter 2 What is the SoftLogix System? Developing Programs The controller’s execution model is a preemptive, multitasking system that is IEC 1131-3 compliant. This environment provides the following: • Tasks to configure controller execution • Programs to group data and logic •...
  • Page 35 What is the SoftLogix System? Chapter 2 Setting Task Priorities Each task in the controller has a priority level. The controller uses the priority level to determine which task to execute when multiple tasks are triggered. There are 3 configurable priority levels for periodic tasks that range from 1…3, with 1 being the highest priority and 3 being the lowest priority.
  • Page 36: Determining Programs

    Chapter 2 What is the SoftLogix System? Table 2 - Task Execution Order for Application with Periodic Tasks and Continuous Task Task Priority Level Task Type Actual Execution Time Worst Case Execution Time 20 ms periodic task 2 ms 2 ms 10 ms periodic task 4 ms 6 ms...
  • Page 37: Supporting Routines

    The SoftLogix 5800 controller supports routines developed with the relay ladder and function block editors of the Logix Designer application. You can edit relay ladder and function block routines either offline or online.
  • Page 38: How The Softlogix System Uses Connections

    Chapter 2 What is the SoftLogix System? How the SoftLogix System The SoftLogix system uses a connection to establish a communication link between two devices. Connections can be any of the following: Uses Connections • Controller to local I/O modules or local communication modules •...
  • Page 39: Connections For Messages

    What is the SoftLogix System? Chapter 2 Connections for Messages Messages transfer data to other devices, such as other controllers or operator interfaces. Some messages use unscheduled connections to send or receive data. These connected messages can leave the connection open (cache) or close the connection when the message is done transmitting.
  • Page 40: Connections For I/O Modules

    Chapter 2 What is the SoftLogix System? Connections for I/O Modules The SoftLogix system uses connections to transmit I/O data. These connections can either be direct connections or rack-optimized 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.
  • Page 41: Restart The Controller

    What is the SoftLogix System? Chapter 2 Restart the Controller You restart the controller by either of these methods: • Restarting the computer • Removing and reinserting the controller in the virtual chassis After restarting the controller, you must upload or download from the Logix Designer application before you can go online with the controller.
  • Page 42: Select A System Overhead Percentage

    Chapter 2 What is the SoftLogix System? Select a System Overhead The Controller Properties dialog box lets you specify a percentage of controller time (excluding the time for periodic tasks) that is devoted to communication Percentage and background functions. 1. In the Logix Designer application, from the Controller Organizer, right- click the controller and choose Properties.
  • Page 43: Configure Your System For An Ethernet Network

    Chapter Communicate with Devices on an Ethernet Network Topic Page Configure Your System for an Ethernet Network Multiple EtherNet/IP Modules Controller Connections over the EtherNet/IP Network Distributed Ethernet I/O Add a Remote Controller Check EtherNet/IP Statistics Example 1: Workstation Remotely Connected to a SoftLogix Controller Example 2: Send Messages over the EtherNet/IP Network Example 3: Send Messages over the EtherNet/IP Network to a PLC-5 Processor Example 4: Control Distributed I/O...
  • Page 44: Step 1: Disable Udp Messages In Rslinx Classic Software

    Chapter 3 Communicate with Devices on an Ethernet Network Step 1: Disable UDP Messages in RSLinx Classic Software To send messages, or control I/O, you must change the RSLinx Classic configuration so that it does not accept UDP messages. 1. Launch RSLinx software on the computer with the controller. 2.
  • Page 45: Disabling The Udp Option

    Communicate with Devices on an Ethernet Network Chapter 3 Disabling the UDP option Disabling the UDP option lets RSLinx software and the SoftLogix 5800 EtherNet/IP functionality coexist on the same personal computer. Disabling the UDP option also disables RSLinx software’s Gateway functionality. RSLinx software still functions, but the Gateway options are removed while RSLinx software continues to display that it has a full Gateway activation.
  • Page 46: Enabling The Udp Option

    Enabling the UDP option Enabling the UDP option lets the RSLinx Gateway functionality operate as expected. Installing a SoftLogix 5800 EtherNet/IP module into a system with the UDP option enabled and RSLinx Gateway functionality enabled, causes the SoftLogix EtherNet/IP module to display a red X in the chassis monitor. This does not affect the operation of the RSLinx software.
  • Page 47 Communicate with Devices on an Ethernet Network Chapter 3 If you want the UDP option enabled, you should also enable the Gateway functionality within RSLinx Gateway software. You must have RSLinx Gateway software to enable Gateway functionality. Follow these steps. 1.
  • Page 48: Step 2: Create The Communication Card

    Module. Or right-click the appropriate slot and choose Create. The Select Module dialog box appears. 2. In the Select Module dialog box, select the EtherNet/IP SoftLogix 5800 EtherNet/IP communication module. 3. Enter the backplane slot number. For the Logix Designer application, version 20.00.00 or later, you can specify any slot number for the communication card, as long as the RSLinx software module is positioned in a slot other than its default 0.
  • Page 49 Communicate with Devices on an Ethernet Network Chapter 3 The Select Device dialog box appears. 10.88.94.12 255.255.252.0 10.88.92.1 00:13:20:03:C1:1E 5. Select the serial number of the port you want. If you previously had an Ethernet port configured in this slot, the chassis monitor remembers the configuration of that previous port.
  • Page 50: Step 3: Configure The Communication Card

    Step 3: Configure the Communication Card as Part of the Project If you want to control I/O over an EtherNet/IP network, use the Logix Designer application to add the SoftLogix 5800 EtherNet/IP module to your project. You should already have added the SoftLogix controller to the project.
  • Page 51 Communicate with Devices on an Ethernet Network Chapter 3 The Select Module dialog box appears. 2. Expand the Communications list and choose the 1756-EWEB/A module. 3. Click OK. The Select Major Revision dialog box appears. 4. From the Major Revision pull-down menu, choose the revision number and click OK.
  • Page 52 Chapter 3 Communicate with Devices on an Ethernet Network The Module Properties dialog box appears. 5. Name the module, enter the IP address, and select the Disable Keying option. 6. Click OK. The Module Properties dialog box appears. Rockwell Automation Publication 1789-UM002K-EN-P - January 2015...
  • Page 53: Step 4: Configure The Softlogix Ethernet/Ip Module To Communicate On An Ethernet Network

    Configuring a SoftLogix 5800 EtherNet/IP module is similar to configuring a 1756-ENBT module in a ControlLogix project, except for these differences: • If the SoftLogix 5800 EtherNet/IP module is in the same virtual chassis as the SoftLogix controller, you do not have to enter an IP address. The configuration defaults to the IP address of the computer.
  • Page 54: Multiple Ethernet/Ip Modules

    UDP functionality in RSLinx software, RSLinx software consumes all IP addresses on the computer. Ethernet Communication With multiple Ethernet modules, the SoftLogix 5800 controller can receive an I/O connection error due to conflicting naming conventions with Windows operating systems. To avoid this, place all of the following: •...
  • Page 55: Controller Connections Over The Ethernet/Ip Network

    Communicate with Devices on an Ethernet Network Chapter 3 Possible solutions include the following. Solution Description Multi-homed Windows 2003 member server on active Connect both Ethernet modules to domain controllers so that they both receive correct routing information. directory or mixed domain Multi-homed personal computer not connected to a Configure both Ethernet modules with correct IP address information by using either a DHCP server or by static IP domain and set up in a work group.
  • Page 56: Of The Softlogix 5800 Ethernet/Ip Module

    Distributed Ethernet I/O The SoftLogix controller supports distributed I/O over an EtherNet/IP network. Use the Logix Designer application to add the SoftLogix 5800 EtherNet/IP module for the local controller; then add a remote adapter and I/O modules to the I/O Configuration folder of the controller project.
  • Page 57 Communicate with Devices on an Ethernet Network Chapter 3 You build the I/O configuration in this order. 1. Add (see page 50) the remote adapter to the SoftLogix 5800 EtherNet/IP module of the controller (1794-AENT/A remote_flex_adapter). Module Adapter 2. Add (see...
  • Page 58: Ethernet I/O Data

    Chapter 3 Communicate with Devices on an Ethernet Network Ethernet I/O Data 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.
  • Page 59 Communicate with Devices on an Ethernet Network Chapter 3 See this example. EXAMPLE Device Example Tag Names (automatically created by the software) remote adapter ‘remote_flex_adapter’ remote_flex_adapter:I remote_flex_adapter:I.SlotStatusBits remote_flex_adapter:I.Data remote_flex_adapter:O remote_flex_adapter:O.Data ‘remote_flex_input’ in slot 0 remote_flex_adapter:0:C rack-optimized connection remote_flex_adapter:0:C.Config remote_flex_adapter:0:C.DelayTime_0 remote_flex_adapter:0:C.DelayTime_1 remote_flex_adapter:0:C.DelayTime_2 remote_flex_adapter:0:C.DelayTime_3 remote_flex_adapter:0:C.DelayTime_4...
  • Page 60: Add A Remote Controller

    Chapter 3 Communicate with Devices on an Ethernet Network Add a Remote Controller If you want this controller to consume tags from another controller via Ethernet, add the controller to the EtherNet/IP module. The consumer initiates any actions. To add a remote controller, build the I/O configuration in this order. 1.
  • Page 61: Add A Consumed Tag

    Communicate with Devices on an Ethernet Network Chapter 3 Add a Consumed Tag A consumed tag’s value comes from a remote controller. The local controller is the consumer, and the remote controller is the producer. Consumed tags are always at controller scope. Complete these steps to add a consumed tag.
  • Page 62 Chapter 3 Communicate with Devices on an Ethernet Network 2. Enter tag configuration information. Parameter Description Name Enter the name of the tag. Description Enter a tag description. Type Consumed. Data Type Enter the type of tag you want to create. Scope Consumed tags are always controller scope.
  • Page 63: Check Ethernet/Ip Statistics

    Communicate with Devices on an Ethernet Network Chapter 3 To view the tag, from the Controller, double click the Controller Tags folder in the Controller Organizer. Check EtherNet/IP Statistics The SoftLogix controller installs with an EtherNet/IP statistics utility that displays different counters for the EtherNet/IP module. Complete these steps to display the statistics.
  • Page 64 Chapter 3 Communicate with Devices on an Ethernet Network The SoftLogix 5800 EtherNet/IP Module Statistics dialog box appears. 2. Use the character key at the top of the utility screen to display information and change screen characteristics. Rockwell Automation Publication 1789-UM002K-EN-P - January 2015...
  • Page 65: Example 1: Workstation Remotely Connected

    PanelView terminal Personal computer running RSLinx software and the Logix Designer application Ethernet switch FLEX I/O system with Ethernet adapter ControlLogix gateway To ControlNet network To DeviceNet network To DH+ network SoftLogix 5800 controller Rockwell Automation Publication 1789-UM002K-EN-P - January 2015...
  • Page 66 Chapter 3 Communicate with Devices on an Ethernet Network Browsing from a computer to a remote SoftLogix controller looks like this example. Rockwell Automation Publication 1789-UM002K-EN-P - January 2015...
  • Page 67 Communicate with Devices on an Ethernet Network Chapter 3 Browsing from the EtherNet/IP module in a SoftLogix controller to remote devices looks like this example. The computer cannot be an RSLinx gateway. The UDP option in RSLinx software must be disabled. Rockwell Automation Publication 1789-UM002K-EN-P - January 2015...
  • Page 68: Example 2: Send Messages Over The Ethernet/Ip Network

    PanelView terminal Personal computer running RSLinx software and the Logix Designer application Ethernet switch FLEX I/O system with Ethernet adapter ControlLogix gateway To ControlNet network To DeviceNet network To DH+ network SoftLogix 5800 controller Rockwell Automation Publication 1789-UM002K-EN-P - January 2015...
  • Page 69: Configure A Msg Instruction

    Communicate with Devices on an Ethernet Network Chapter 3 Configure a MSG Instruction How you configure the MSG instruction depends on the target device. 1. Click MSG to launch the Message Configuration dialog box. 2. On the Configuration tab, configure the following. For this item Specify Message Type...
  • Page 70 Chapter 3 Communicate with Devices on an Ethernet Network 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.
  • Page 71: Example 3: Send Messages Over The Ethernet/Ip Network

    1756-ENBT, out the 1756-DHRIO, and to a PLC-5 processor at DH+ node 2. over the EtherNet/IP Network to a PLC-5 Processor Item Description SoftLogix 5800 controller Ethernet network ControlLogix controller with 1756-ENBT and 1756-DHRIO modules DH+ network PLC-5 processor Configure a MSG Instruction Use a PLC-5 Typed Write MSG instruction.
  • Page 72 Chapter 3 Communicate with Devices on an Ethernet Network Specify the path and communication method. The example path is 1, 6, 2, 10.88.55.186, 1, 2. This value Specifies The SoftLogix virtual chassis The sending device (the Ethernet port in the controller’s computer) is in slot 6 of the virtual chassis Sending the message out the Ethernet communication port 10.88.55.186...
  • Page 73: Example 4: Control Distributed I/O

    Communicate with Devices on an Ethernet Network Chapter 3 Example 4: Control In this example, one SoftLogix controller controls distributed I/O through a 1794-AENTmodule. Distributed I/O Item Description EtherNet/IP network SoftLogix controller (Soft1) 1794-AENT with distributed I/O (remote_flex_adapter) This example has Soft1 controlling the I/O connected to the remote 1794-AENT module.
  • Page 74 Chapter 3 Communicate with Devices on an Ethernet Network In the Logix Designer application, the controller project and associated tags looks like this example. Throughput is based on the performance of the personal computer running the SoftLogix controller. Rockwell Automation Publication 1789-UM002K-EN-P - January 2015...
  • Page 75: Communicate With Serial Devices

    Chapter Communicate with Serial Devices Topic Page Configure Your System for a Serial Device Controller Status Indicators Example 1: Workstation Directly Connected to a SoftLogix Controller Example 2: Workstation Remotely Connected to a SoftLogix Controller Example 3: SoftLogix Controller to a Bar Code Reader This chapter explains how to use a serial device with your SoftLogix system.
  • Page 76: Step 1: Configure The Serial Port

    Chapter 4 Communicate with Serial Devices Step 1: Configure the Serial Port Use the SoftLogix Chassis Monitor to choose which COM port to use for serial communication. The controller supports only one COM port for DF1 communication. Follow these steps to configure serial communication. 1.
  • Page 77 Communicate with Serial Devices Chapter 4 The General dialog box appears. 5. Specify the settings for the controller. 6. Click Next. The NT System dialog box appears. 7. Choose the COM port. 8. Click Finish. Rockwell Automation Publication 1789-UM002K-EN-P - January 2015...
  • Page 78: Change The Com Port Setting

    Chapter 4 Communicate with Serial Devices Your SoftLogix Chassis Monitor now looks like this example. Change the COM Port Setting Once you choose a COM port for the controller, you can only change the setting by removing the controller from the chassis and reinstalling the controller. Follow these steps to change the COM port.
  • Page 79 Communicate with Serial Devices Chapter 4 The Remove Module verification dialog box appears. Do not clear the SoftLogix Chassis Monitor module configuration unless you want to enter all new information. 3. Click OK. The SoftLogix Chassis Monitor now appears with slot 1 empty. Rockwell Automation Publication 1789-UM002K-EN-P - January 2015...
  • Page 80 Chapter 4 Communicate with Serial Devices 4. In the same slot, re-add the controller. COM port. The SoftLogix Chassis Monitor prompts whether to use the previous configuration. 5. Click Next. Rockwell Automation Publication 1789-UM002K-EN-P - January 2015...
  • Page 81: Step 2: Configure The Serial Port Of The Controller In The Project

    Communicate with Serial Devices Chapter 4 Your SoftLogix Chassis Monitor looks like this example. Step 2: Configure the Serial Port of the Controller in the Project Complete these steps to configure the controller in your project. 1. Open a project in the Logix Designer application and add the controller to the I/O Configuration folder.
  • Page 82 Chapter 4 Communicate with Serial Devices The Controller Properties dialog box appears. 3. On the Serial Port tab, specify the appropriate serial port settings. Rockwell Automation Publication 1789-UM002K-EN-P - January 2015...
  • Page 83 Communicate with Serial Devices Chapter 4 Specify Serial Port Characteristics Specify these characteristics on the Serial Port tab. Characteristic Description Mode Choose System (for DF1 communication) or User mode (for ASCII communication). Baud Rate Specifies the communication rate for the serial port. Choose a baud rate that all devices in your system support. Select 110, 300 600, 1200, 2400, 4800, 9600, or 19200 KBps.
  • Page 84 Chapter 4 Communicate with Serial Devices 4. Click the System Protocol tab and specify the appropriate settings. Specify System Protocol Characteristics These are the available system modes and their characteristics. Table 4 - System Protocol Tab Descriptions Field Mode Protocol DF1 Master - control of polling and message transmission between the master and slave nodes.The master/slave network includes one controller configured as the master node and as many as 254 slave nodes.
  • Page 85: Controller Status Indicators

    Communicate with Serial Devices Chapter 4 Table 4 - System Protocol Tab Descriptions Field Mode 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.
  • Page 86: Df1 Point-To-Point Configuration

    Chapter 4 Communicate with Serial Devices The workstation with the Logix Designer application must also have the IMPORTANT ® Logix5550 serial port driver installed through RSLinx software. DF1 Point-to-Point Configuration 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.
  • Page 87: Master And Slave Communication Methods

    Communicate with Serial Devices Chapter 4 Item Description Workstation with Logix Designer application and Logix5550 serial port driver Modem Modem SoftLogix controller If you use a modem to remotely connect the controller to one workstation, use the Logix Designer application to configure the serial port of the controller for the DF1 Point-to-Point (full-duplex) protocol, as in the previous example.
  • Page 88: Df1 Slave Configuration

    Chapter 4 Communicate with Serial Devices DF1 Slave Configuration 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.
  • Page 89: Rockwell Automation Publication 1789-Um002K-En-P - January

    Communicate with Serial Devices Chapter 4 Table 5 - Master Station Configuration Field Description 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.
  • Page 90: Example 3: Softlogix Controller To A Bar Code Reader

    Chapter 4 Communicate with Serial Devices Example 3: SoftLogix In the following example, the SoftLogix controller connects to a bar code reader. A bar code reader is an ASCII device, so you configure the serial port differently Controller to a Bar Code than in the previous examples.
  • Page 91: User Mode Configuration

    Communicate with Serial Devices Chapter 4 2. Connect the sending pins to the corresponding receiving pins and attach jumpers. If the communication is Then wire the connectors as follows Handshake ASCII Device Controller 1 CD 1 CD 2 RDX 2 RDX 3 TXD 3 TXD 4 DTR...
  • Page 92: Ascii Instructions

    Chapter 4 Communicate with Serial Devices The Controller Properties dialog box appears 2. Click the User Protocol tab. Table 6 - Default Serial Port Configuration Settings Field Description Read/Write Buffer Size Specify the maximum size (in bytes) of the data array you plan to send and receive. The default is 82 bytes. Termination Character 1 &...
  • Page 93: Configure And Use Simulated I/O

    For the SoftLogix controller to simulate local I/O, you need the following: Configure Your System for a • A 1789-SIM module (comes with the SoftLogix 5800 controller) 1789-SIM Module • Logix Designer application to configure the 1789-SIM module You are limited by the activation level of your SoftLogix controller as to how many modules you can install.
  • Page 94: Step 1: Create The 1789-Sim Module

    Chapter 5 Configure and Use Simulated I/O Step 1: Create the 1789-SIM Module in the SoftLogix Chassis Monitor Before you can operate the module, you must create the 1789-SIM module as part of the SoftLogix Chassis Monitor. You can install as many 1789-SIM modules as allowed by your activation level of the controller.
  • Page 95 Configure and Use Simulated I/O Chapter 5 The Select Device dialog box appears. 5. Verify the slot number and click Next. The General dialog box appears. 6. Enter the label name for the 1789-SIM module. The text you enter for the module scrolls across the Marquee on the front of the module in the chassis monitor.
  • Page 96 Chapter 5 Configure and Use Simulated I/O The chassis monitor shows the 1789-SIM module as a virtual module in the SoftLogix Chassis Monitor. Note that the door of the 1789-SIM module opens to display the output bits. Left-click to open or close the module door. The module door is open.
  • Page 97: Step 2: Configure The 1789-Sim Module As Part Of The Project

    Configure and Use Simulated I/O Chapter 5 Step 2: Configure the 1789-SIM module as Part of the Project Use the software to map the 1789-SIM module as part of the SoftLogix project. 1. In the project, right-click I/O Configuration folder, and choose New Module.
  • Page 98 Chapter 5 Configure and Use Simulated I/O 3. Enter the module parameters. Field Description Type Read and Write - This connection lets the computer read inputs and write outputs. Listen Only - This connection lets the controller read inputs, but not write outputs. The Output Assembly Instance is the only field that is different from the Read and Write connection parameters.
  • Page 99 Configure and Use Simulated I/O Chapter 5 5. Specify the connection parameter; use this tab to define controller-to-module behavior. Field Description Requested Packet Interval (RPI) Enter the requested rate of packet arrival (connection update rate). The connection is scheduled to move data to or from the module at least this often.
  • Page 100: Map I/O Data To The 1789-Sim Module

    Chapter 5 Configure and Use Simulated I/O Map I/O Data to the 1789-SIM When you add a 1789-SIM module to a project, the software automatically assigns input and output data structures for the module. For example, this I/O Module configuration generates these I/O data structures. View Description I/O Configuration...
  • Page 101: Toggle Inputs And Monitor Outputs

    Configure and Use Simulated I/O Chapter 5 Toggle Inputs and Monitor Once the 1789-SIM module is installed in the SoftLogix Chassis Monitor, you can monitor the module. Follow these steps. Outputs 1. In the SoftLogix Chassis Monitor, right-click SIM module and choose Properties.
  • Page 102: Turn On Or Force A Bit

    Chapter 5 Configure and Use Simulated I/O Turn On or Force a Bit You can use the second address of input I/O tags to turn on, or force an I/O bit, in the SIM module. Notice that there is one output value tag address available in the tag database, but two input value tag addresses that can be used.
  • Page 103: Example: Move Application Data Into The 1789-Sim Tags

    Configure and Use Simulated I/O Chapter 5 Example: Move Application This example uses MOV instructions to copy: • Input data from the 1789-SIM module into the application’s input tags Data into the 1789-SIM Tags • Application’s output tags into the output data for the 1789-SIM module Rockwell Automation Publication 1789-UM002K-EN-P - January 2015...
  • Page 104 Chapter 5 Configure and Use Simulated I/O Notes: Rockwell Automation Publication 1789-UM002K-EN-P - January 2015...
  • Page 105: Execute External Routines

    Chapter Execute External Routines Topic Page Configure Your System to Execute an External Routine Add an External Routine to the Controller Organizer Call an External Routine Type Checking This chapter explains how to add external routines to your project. External routines are programs or functions developed outside of the Studio 5000 environment by using commonly available programming languages, such as C or C++.
  • Page 106: Add An External Routine To The Controller Organizer

    Chapter 6 Execute External Routines Add an External Routine to You add an external routine to the Controller Organizer the same way you create a new ladder routine. the Controller Organizer Follow these steps. 1. In the Logix Designer application, right-click Main Program folder in the Controller Organizer and choose New Routine.
  • Page 107 Execute External Routines Chapter 6 The New Routine dialog box appears. 2. Name the new routine. In this example, we named it ‘math_test.’ 3. From the Type pull-down menu, choose External Routine. 4. Click OK. The new routine now appears in the Controller Organizer under the Main Program.
  • Page 108 Chapter 6 Execute External Routines 5. Right-click new routine and choose Open. Use the quick view pane of the Controller Organizer to verify that you specified the external routine DLL and function that you wanted. Rockwell Automation Publication 1789-UM002K-EN-P - January 2015...
  • Page 109 Execute External Routines Chapter 6 The Routine Properties dialog box appears. 6. On the General tab, verify that the information for the external routine is correct and that it appears this way in the Controller Organizer. 7. On the Configuration tab, click Browse to select the DLL file that contains the function you want to execute.
  • Page 110 Chapter 6 Execute External Routines 9. Click OK. Rockwell Automation Publication 1789-UM002K-EN-P - January 2015...
  • Page 111: How The Project Stores And Downloads An External Routine

    Execute External Routines Chapter 6 How the Project Stores and Downloads an External Routine To use an external routine, you must associate (also known as ‘map’) a DLL file to an external routine that you create in the Controller Organizer of a project (see Add an External Routine to the Controller Organizer).
  • Page 112: Call An External Routine

    Chapter 6 Execute External Routines Call an External Routine Use the Jump to External Routine ( JXR) instruction to call the external routine from a ladder routine in your project. The JXR instruction supports multiple parameters so you can pass values between the ladder routine and the external routine.
  • Page 113: Description

    Execute External Routines Chapter 6 Table 8 - EXT_ROUTINE_CONTROL Structure Mnemonic Data Type Description Implementation ErrorCode SINT If an error occurs, this value identifies the error. Valid values are There are no predefined error codes. The developer of the from 0…255. external routine must provide the error codes.
  • Page 114: Fault Conditions

    Chapter 6 Execute External Routines Fault Conditions This table describes major fault conditions. A major fault occurs if Fault type Fault code • An exception occurs in the external routine DLL. • The DLL could not be loaded. • The entry point was not found in the DLL. Execution The JXR can be synchronous or asynchronous depending on the implementation of the DLL.
  • Page 115: Develop External Routines

    Considerations For External The external routines feature is an extremely flexible and powerful capability of the SoftLogix 5800 product. The routines can be written in C or C++ when Routines using any commercial off-the-shelf development tool, such as Microsoft Visual Studio, that can generate a Windows compatible DLL (dynamic link library).
  • Page 116: How The Softlogix Controller Executes External Routines

    Chapter 7 Develop External Routines If proper procedures are not followed, it is possible that the controller may IMPORTANT respond in an unpredictable manner. Due to the requirements of this feature it is not possible for Rockwell Automation to safeguard and protect from certain scenarios that may interfere with the operation of the controller and result in unpredictable behavior.
  • Page 117: How The Project Stores And Downloads An External Routine

    For example, if you download MyProject.ACD to a controller in slot 4, the external routine DLL file is downloaded to the location C:\Program Files\Rockwell Automation\SoftLogix 5800\Data\slot04 on the SoftLogix controller. Because this process creates copies of the original DLL file, you can execute different versions of the same DLL on SoftLogix controllers in different slots of the same virtual chassis.
  • Page 118: Project Files

    Chapter 7 Develop External Routines 1. Launch Visual Studio software. 2. From the File menu, choose New and name the project. For this example, our Project name is InlineExample. 3. From the Visual C++ folder, choose Win32, and choose the Win32 Console Application template.
  • Page 119: Ra_Externalroutines.h

    Develop External Routines Chapter 7 RA_ExternalRoutines.h #ifndef __RA_EXTROUTINE_H__ #define __RA_EXTROUTINE_H__ #define MAX_PARAMS MSC assumes LSB first, 32 bit integers */ #pragma pack(push,1) struct RoutineControlWord // 4 bytes (32 bit word) total unsigned ErrorCode : 8; // Error code if ER bit is set. // -- end byte 0 -- unsigned NumParams : 8;...
  • Page 120 Chapter 7 Develop External Routines The control structure for an external routine contains control, status, and meta information for that routine. The control structure is accurate at the time of its invocation and it enables the external routine to validate and influence its operation.
  • Page 121: Inlineexample.cpp

    Develop External Routines Chapter 7 InlineExample.cpp // InlineExample.cpp : Defines the entry point for the DLL application. #include "stdafx.h" //Include file for External Routine interface #include "RA_ExternalRoutines.h" BOOL APIENTRY DllMain( HANDLE hModule, DWORD ul_reason_for_call, LPVOID lpReserved switch (ul_reason_for_call) case DLL_PROCESS_ATTACH: case DLL_THREAD_ATTACH: case DLL_THREAD_DETACH: case DLL_PROCESS_DETACH:...
  • Page 122: Inlineexample.h

    Chapter 7 Develop External Routines // Set Error bit to zero if successful. pERCtrl->ctrlWord.ER = 0; else // Some error // Set Error bit to indicate error occurred pERCtrl->ctrlWord.ER = 1; pERCtrl->ctrlWord.ErrorCode = 1; // Set ErrorCode // Set Done bit before exit of this XR. pERCtrl->ctrlWord.DN = 1;...
  • Page 123: Create An Html Resource

    Develop External Routines Chapter 7 Create an HTML Resource The HTML resource does the following: • Describes the external routines that are contained in the DLL • Provides descriptions that the Logix Designer application uses • Provides type checking in the JXR instruction •...
  • Page 124 Chapter 7 Develop External Routines The Resource View dialog box appears. 2. In the InlineExample, right-click Add and choose Resource. The Add Resource dialog box appears. 3. Choose HTML as the resource type and click New. Rockwell Automation Publication 1789-UM002K-EN-P - January 2015...
  • Page 125 Develop External Routines Chapter 7 4. Open the new resource. Choose the IDR_HTML1 file from the HTML folder. 5. Choose the Client Objects & Events. The HTML code for the project example appears. 6. Edit the HTML file and put in the XML descriptions of the external routines.
  • Page 126 Chapter 7 Develop External Routines These tags are required. Description This tag indicates that the following information is related to external routines. This tag documents the type of routines that are contained in the DLL. The information provided here is completely up to the developer.
  • Page 127 Develop External Routines Chapter 7 The Resource Properties dialog box appears. 8. Change the name of the resource to ‘RA_EXTERNALROUTINES_XML.’ Do this by editing the ID field of the resource properties dialog box. IMPORTANT The quotes in the code are required. 9.
  • Page 128: Add Version Information To An External Routine Dll

    Chapter 7 Develop External Routines Add Version Information to Add version information to your DLL to keep track of your development changes. Follow these steps. an External Routine DLL 1. From the View menu, choose Resource View. The Resource View dialog box appears. 2.
  • Page 129 Develop External Routines Chapter 7 FileVersion field 4. Choose the FileVersion field. The application uses the FileVersion field under the Block Header English (United States) to display version information for the external routine DLL. The software uses only this field; not the FILEVERSION (all capital letters) or any other FileVersion field located in any other language sections.
  • Page 130: Build And Download External Routines

    Chapter 7 Develop External Routines Build and Download External Before you build an external routine, make sure that RA_ExternalRoutines.h is in the include path for the project. Then, follow these steps. Routines 1. Build the project. 2. Map the external routines into a project. 3.
  • Page 131: Sounds.cpp

    Develop External Routines Chapter 7 Sounds.cpp // Sounds.cpp : Defines the entry point for the DLL application. #include "stdafx.h" #include "RA_ExternalRoutines.h" #include #include HANDLE hTerminate = NULL; // DllMain needs to create a global event which all threads need to check for. // This event will be used to tell the threads that the DLL is being unloaded // and that it is time to terminate.
  • Page 132 Chapter 7 Develop External Routines // By building the sound resourced into the dll and doing a load // library on the dll we ensure that the resources are written // down to the controller with the dll. This means that we do not // have to worry about copying the resources to the controller on our own.
  • Page 133 Develop External Routines Chapter 7 if (oldRungState != rungState) oldRungState = rungState; switch (oldRungState) { case FIRST_SCAN: PlaySound("FIRSTSCAN"); break; case RUNG_TRUE: PlaySound("RUNGTRUE"); break; case RUNG_FALSE: PlaySound("RUNGFALSE"); break; default: exitThread = TRUE; break; case WAIT_OBJECT_0 + 1: exitThread = TRUE; case WAIT_TIMEOUT: case WAIT_ABANDONED: case WAIT_FAILED: exitThread = TRUE;...
  • Page 134 Chapter 7 Develop External Routines else if (pERCtrl->ctrlWord.FirstScan) rungState = FIRST_SCAN; else if (pERCtrl->ctrlWord.EnableIn) rungState = RUNG_TRUE; else rungState = RUNG_FALSE; SetEvent(hControllerState); return; Rockwell Automation Publication 1789-UM002K-EN-P - January 2015...
  • Page 135: Thread Priorities In A Multithreaded External Routine Dll

    Develop External Routines Chapter 7 Thread Priorities in a Multithreaded External Routine DLL If you use Microsoft C or C++ to develop your external routine, use only the ‘_beginthread’ C runtime function, as shown above in the example. By using the ‘_beginthread’...
  • Page 136: Debug External Routines

    DLL called InlineExample.dll, copy InlineExample.pdb to: C:\Program Files\Rockwell Automation\SoftLogix 5800\data\slot03. The location 1C:\Program Files\Rockwell Automation\SoftLogix 5800’ is where the SoftLogix controller is installed. The location ‘\data\slot03’ is where data related to a particular instance of the controller resides. The slot directory is created as needed when a controller is inserted into the SoftLogix Chassis Monitor.
  • Page 137: Start A Debug Session

    Run mode is disabled), which causes output modules to be set to their Program mode. Make sure you choose the Softlogix5800.exe executable from the install path for SoftLogix 5800 controller (by default, the Rockwell Automation folder). Be sure you disable the watchdog timeout by entering -(slot#) - (as shown above).
  • Page 138: Set Breakpoints In External Routine Code

    Chapter 7 Develop External Routines 3. Copy the external_routine.pdb file produced by visual studio to the SoftLogix 5800\data\slot# folder. 4. Map over the DLL file produced into the Logix Designer application project for all JXR instructions 5. Download the project to the controller and go offline 6.
  • Page 139: Array Example

    Develop External Routines Chapter 7 ARRAY Example C Declaration extern "C" __declspec(dllexport) float SumArray(EXT_ROUTINE_CONTROL* pERCtrl, float Val[]) XML Declaration SumArray Sum floating point array elements float SumArray(EXT_ROUTINE_CONTROL* pERCtrl, float Val[]) Software Declaration Rockwell Automation Publication 1789-UM002K-EN-P - January 2015...
  • Page 140: Integer Example

    Chapter 7 Develop External Routines INTEGER Example C Declaration extern "C" __declspec(dllexport) int SomeCalculation(EXT_ROUTINE_CONTROL* pERCtrl, int Val) XML Declaration SomeCalculation Do an important calculation int SomeCalculation (EXT_ROUTINE_CONTROL* pERCtrl, int Val) Software Declaration Rockwell Automation Publication 1789-UM002K-EN-P - January 2015...
  • Page 141: Structure Example

    Develop External Routines Chapter 7 STRUCTURE Example C Declaration struct MyStruct // Structure with four integers int n1; int n2; int n3; int sum; extern "C" __declspec(dllexport) int uvUDT(EXT_ROUTINE_CONTROL* pERCtrl, MyStruct* pMS) XML Declaration uvUDT This function accepts a pointer to a UDT int uvUDT(EXT_ROUTINE_CONTROL* pERCtrl, struct MyStruct* pMS)...
  • Page 142: String Example

    Chapter 7 Develop External Routines STRING Example C Declaration struct RA_String unsigned long Len; char Data[82]; extern "C" __declspec(dllexport) void StringFunc(EXT_ROUTINE_CONTROL* pERCtrl, RA_String* pInRA_String, RA_String* pOutRA_String) XML Declaration StringFunc This function accepts two strings. void StringFunc(EXT_ROUTINE_CONTROL* pERCtrl, struct RA_String* pIn, struct RA_String* pOut) ...
  • Page 143: Packing In Structures

    Develop External Routines Chapter 7 Packing in Structures Take care when designing user-defined structures that are shared between the SoftLogix controller and external routines. The packing mechanisms vary between the Visual Studio compiler and the Logix Designer compiler. This table and guidelines help illustrate this situation.
  • Page 144: Parameter Type Checking

    Chapter 7 Develop External Routines Parameter Type Checking Logix Designer Application Data Type Formal Parameter Enumeration Allowed C Language Types (XML) Literal integer value (such as 121) IntegerValue Char, short, int, long, bool DINT IntegerAddress Int*, long* IntegerValue Int, long VoidAddress Void* IntegerAddress...
  • Page 145: Export Functions By Using C++ Export Style

    Develop External Routines Chapter 7 Export Functions by Using If you export your external routine functions by using the C++ export style, make sure that the EntryPoint value in your XML resource exactly matches the C++ C++ Export Style decorated name that is exported by your C++ compiler. Visual Studio software includes a tool (dumpbin.exe) that you can use to obtain the C++ decorated name from your DLL file.
  • Page 146: Edit Xml Resource

    Chapter 7 Develop External Routines Summary 4000 .data 1000 .idata 2000 .rdata 2000 .reloc 1000 .rsrc 28000 .text Edit XML Resource Change the tag to be the decorated name (found when you ran dumpbin.exe). The XML EntryPoint name must EXACTLY match the decorated named displayed by the dumpbin.exe utility.
  • Page 147: Other Considerations

    Develop External Routines Chapter 7 Other Considerations Consider these suggestions for your external routines. Pass Tags by Reference You can pass tags by reference in a synchronous, single-threaded routine. You should not pass these memory addresses to another thread or process because it is possible for the originating tag to be deleted.
  • Page 148 Chapter 7 Develop External Routines Notes: Rockwell Automation Publication 1789-UM002K-EN-P - January 2015...
  • Page 149: Use Outbound Events

    Chapter Program Windows Events to Monitor and Change Controller Execution Topic Page Use Outbound Events Configure Windows Events to Launch Tasks within the SoftLogix Controller Programmatically Saving the Controller This chapter discusses how to program Windows events to control and monitor execution of the SoftLogix controller.
  • Page 150: Programming Example: Outbound Events

    This example monitors a controller for mode changes and displays the controller mode whenever a change occurs. /**************************************************************************** ** SOFTLOGIX 5800 OUTBOUND EVENTS EXAMPLE CODE ** COPYRIGHT (c) 2003 ALLEN-BRADLEY COMPANY, L.L.C. ** All rights reserved, except as specifically licensed in writing.
  • Page 151 Program Windows Events to Monitor and Change Controller Execution Chapter 8 // Use strings to define the event names in which we are interested // The user will pass in the slot number via the command line TCHAR sa_mode_change_event_fmt[] = _T("SOFTLOGIX_%02d_MODE_CHANGE"); TCHAR sa_program_event_fmt[] = _T("SOFTLOGIX_%02d_PROGRAM");...
  • Page 152 Chapter 8 Program Windows Events to Monitor and Change Controller Execution _tprintf(_T("Bad run mode event handle\n")); _tprintf(_T("GetLastError() = %d\n"), GetLastError()); return 1; else // Add the run mode event to the event array EventArray[numevents] = hRunMode; numevents++; // Create the test mode event. Note: it must be created as manual reset.
  • Page 153: Configure Windows Events To Launch Tasks

    Program Windows Events to Monitor and Change Controller Execution Chapter 8 _tprintf(_T("Mode change occured: ")); fflush(stdout); break; // A mode change occured. Now we have to check to determine the new controller mode. // This is done by performing a WaitForMultipleObjects on the mode event handles. // These events are manual reset events that are controlled by the SoftLogix // controller.
  • Page 154 Chapter 8 Program Windows Events to Monitor and Change Controller Execution The New Task dialog box appears. Rockwell Automation Publication 1789-UM002K-EN-P - January 2015...
  • Page 155 Program Windows Events to Monitor and Change Controller Execution Chapter 8 4. Type the information in the fields specific to the task. Field Description Name Type a task name. Description Type a description for the task. Type pull-down menu Choose the Event type. Trigger pull-down menu Choose the action that will trigger the task’s execution.
  • Page 156: Trigger A Controller Task From A Windows Application

    Chapter 8 Program Windows Events to Monitor and Change Controller Execution Trigger a Controller Task from a Windows Application In your application, such as Visual Basic or FactoryTalk software, use standard Windows API functions to open and set the Windows event in the controller. Make sure you do the following: •...
  • Page 157 Program Windows Events to Monitor and Change Controller Execution Chapter 8 On Error GoTo noHandle ErrorCodeEvent1 = 0 hOutbound(0) = CreateEvent(ByVal 0&, 0, 0, "SOFTLOGIX_01_SHUTDOWN") ErrorCodeEvent1 = Err.LastDllError hOutbound(1) = CreateEvent(ByVal 0&, 0, 0, "SOFTLOGIX_01_PROGRAM") ErrorCodeEvent1 = Err.LastDllError hOutbound(2) = CreateEvent(ByVal 0&, 0, 0, "SOFTLOGIX_01_RUN") ErrorCodeEvent1 = Err.LastDllError hCounter = CreateEvent(ByVal 0&, 0, 0, "Counter") ErrorCodeEvent1 = Err.LastDllError...
  • Page 158: Programmatically Saving The Controller

    Chapter 8 Program Windows Events to Monitor and Change Controller Execution Programmatically Saving the From an external routine or application, you can programmatically save the current controller information (tag data values and configuration information). Controller A programmatic save can use these pre-defined Windows events. Replace the ‘xx’ with the 2-digit slot number where the controller resides.
  • Page 159 Program Windows Events to Monitor and Change Controller Execution Chapter 8 swprintf(eventname, sa_savedone_event_fmt, slot); h_saveDoneEvent = CreateEvent (&sa, TRUE, FALSE, eventname); printf("h_saveDoneEvent = %d swprintf(eventname, sa_savelock_event_fmt, slot); h_saveLockEvent = CreateEvent (&sa, TRUE, FALSE, eventname); printf("h_saveLockEvent = %d // Yield remainder of timeslice to make it less likely that a // context switch will occur between the wait for lock event and // corresponding SetEvent().
  • Page 160 Chapter 8 Program Windows Events to Monitor and Change Controller Execution Notes: Rockwell Automation Publication 1789-UM002K-EN-P - January 2015...
  • Page 161 Appendix Communicate with Devices on a DeviceNet Network Topic Page Configure Your System for a DeviceNet Network Perform DeviceNet Test DeviceNet I/O Data Place the Communication Card in Run Mode StatusRegister Example: SoftLogix Controller and DeviceNet I/O This chapter explains how to configure your SoftLogix controller on a DeviceNet network.
  • Page 162: Configure Your System For A Devicenet Network

    Appendix A Communicate with Devices on a DeviceNet Network Configure Your System for a For the SoftLogix controller to operate on a DeviceNet network, you need the following: DeviceNet Network • 1784-PCIDS DeviceNet communication card • RSLinx software to install the DeviceNet communication driver •...
  • Page 163: In The Softlogix Chassis Monitor

    Communicate with Devices on a DeviceNet Network Appendix A See the DeviceNet Universal PCI Scanner Card Installation Instructions, publication 1784-IN004. 3. Make a label to place on the mounting bracket of the card, or use a pen to write on the mounting bracket of the card. The label should include the serial number of the card and a name you can use to identify the card from any others you might install in the computer.
  • Page 164 Appendix A Communicate with Devices on a DeviceNet Network 3. In the Select Module dialog box, select the 1784-PCIDS card. 4. Enter the backplane slot number. For this example, we chose 3 as the slot number. 5. Click OK. 6. When the Select Device dialog box opens, choose the serial number of the 1784-PCIDS card that you want.
  • Page 165 Communicate with Devices on a DeviceNet Network Appendix A • Enter the label name for the card (this is the name you wrote on the label of the card to help you identify the card from others in the same computer).
  • Page 166: Step 3: Install The Communication Driver

    Appendix A Communicate with Devices on a DeviceNet Network Step 3: Install the Communication Driver Use RSLinx software to configure the DeviceNet communication driver for the 1784-PCIDS communication card. RSLinx software is a communication server providing device connectivity. For additional user information on RSLinx software, see the RSLinx Classic Getting Results Guide, publication LINX-GR001.
  • Page 167 Communicate with Devices on a DeviceNet Network Appendix A 3. From the Available Driver Types pull-down menu, choose the appropriate DeviceNet driver. The device settings are grayed out because you specified the baud rate and node address when you created the module in the SoftLogix Chassis Monitor.
  • Page 168 Appendix A Communicate with Devices on a DeviceNet Network The 1784-PCIDS Driver Configuration dialog box appears. 6. Click OK. The Add New RSLinx Classic Driver dialog box appears. 7. Name the driver. 8. Click OK. You will see the driver running. 9.
  • Page 169: As Part Of The Project

    Communicate with Devices on a DeviceNet Network Appendix A Step 4: Configure the Communication Card as Part of the Project Use RSLogix 5000 software to map the 1784-PCIDS communication card as part of the SoftLogix project. In the Controller Organizer, add the communication card to the I/O Configuration folder.
  • Page 170 Appendix A Communicate with Devices on a DeviceNet Network The Select Module dialog box appears. 3. Click OK. The Select Major Revision dialog box appears. 4. Choose the Major Revision number for this module. 5. Click OK. The New Module dialog box appears. Rockwell Automation Publication 1789-UM002K-EN-P - January 2015...
  • Page 171: Step 5: Download The Project To The Controller

    Communicate with Devices on a DeviceNet Network Appendix A 6. Enter the name and slot number, (for this example, slot number 3 is used, which matches the SoftLogix Chassis Monitor location), Input Size, Output Size, and Status Size. Make sure your selections for Input Size, Output Size, and Status Size are large enough to hold the data you expect.
  • Page 172: Step 6: Define The Scanlist

    Appendix A Communicate with Devices on a DeviceNet Network 4. Click Download. The Download dialog box appears. 5. Click Download on the Download dialog box. This will download the .acd project into the controller and put you online with the controller. The virtual backplane driver must be installed via RSLinx software IMPORTANT before you can download a project to the SoftLogix controller.
  • Page 173 Communicate with Devices on a DeviceNet Network Appendix A For detailed information on how to use RSNetWorx for Device Net software, see the RSNetWorx for DeviceNet Getting Results Guide, publication DNET-GR001. The project must already be downloaded from RSLogix 5000 software to the IMPORTANT controller and the controller must be in Program or Remote Program mode.
  • Page 174 Appendix A Communicate with Devices on a DeviceNet Network 4. Click OK. An upload/download prompt dialog box appears. 5. Click OK. If you cannot browse the network after installing the 1784-PCIDS card, IMPORTANT check and make sure the status indicator on the card is green. If it is red, see the DeviceNet Universal PCI Scanner Card Installation Instructions, publication 1784-IN004, for detailed troubleshooting information about status indicators.
  • Page 175 Communicate with Devices on a DeviceNet Network Appendix A The RSNetWorx for DeviceNet network appears. At this point, you can configure your device’s network parameters so that I/O data lengths and contents are in the desired formats. Devices default to transmit and receive data format. Some device formats can be changed. Changes should be made to such devices prior to creating the scanlist.
  • Page 176 Appendix A Communicate with Devices on a DeviceNet Network 8. Double-click the 1784-PCIDS card in the RSNetWorx for DeviceNet Network Configuration dialog box. The 1784-PCIDS General Device Properties dialog box appears. Table 9 - General Device Properties Tab Descriptions Definition General On the General tab, view the device properties (including catalog or product name, current slot number address, and identification information).
  • Page 177 Communicate with Devices on a DeviceNet Network Appendix A Table 9 - General Device Properties Tab Descriptions Definition On the ADR property tab, you can configure the automatic device replacement (ADR) parameters for scanners that support the ADR feature, which automates the replacement of a failed slave device on a DeviceNet network by returning it to the prior level of operation.
  • Page 178 Appendix A Communicate with Devices on a DeviceNet Network The Full Scanlist dialog box appear. Click each device to enable Edit I/O parameters. The I/O data is automatically loaded into the scanlist from the device’s EDS file with default parameters set. If you want to change I/O Parameters for a device, perform the following steps.
  • Page 179 Communicate with Devices on a DeviceNet Network Appendix A 12. Click the Input tab. 13. Verify input mapping. 14. Click the Output tab. 15. Verify output mapping. 16. Click Apply to download the parameters to the device. Rockwell Automation Publication 1789-UM002K-EN-P - January 2015...
  • Page 180 18. When finished, click OK. 19. From the main menu, choose Save to save the scanlist configuration. If you place the SoftLogix 5800 controller in Program mode with DeviceNet I/O currently mapped through a 1784-PCIDS module, and then you use RSNetWorx software to change the data mapping on the network, the controller does not detect this change until the 1784-PCIDS module is reset.
  • Page 181: Perform Devicenet Test

    Communicate with Devices on a DeviceNet Network Appendix A Perform DeviceNet Test The IOLinx 1784-PCIDS/CPCIDS Driver CD includes a stand-alone test application (called DNetTest.exe) that lets you diagnose simple anomalies over the network before the control application is available for integration. In addition, you can use the application to make certain that the 1784-PCIDS card has been correctly installed and is functioning in the personal computer.
  • Page 182: Step 2: Configure The Port

    You must configure the port the first time you use a 1784-PCIDS card. To configure the port, follow these steps. 1. From Setup menu, choose Configure Port. The DeviceNet Driver Selection dialog box appears. 2. Select the Allen-Bradley 1784-PCIDS driver and click Select. Rockwell Automation Publication 1789-UM002K-EN-P - January 2015...
  • Page 183 Communicate with Devices on a DeviceNet Network Appendix A The 1784-PCIDS Drive Configuration dialog box appears. 3. Click OK. The DNetTest dialog box appears indicating the operation was successful. 4. Click OK. Rockwell Automation Publication 1789-UM002K-EN-P - January 2015...
  • Page 184: Step 3: Create A View

    Appendix A Communicate with Devices on a DeviceNet Network The Port Configuration dialog appears indicating that the port has been configured. 5. Click OK. Step 3: Create a View 1. From the Setup menu, choose Create View. The View Creation Parameters dialog box appears. 2.
  • Page 185 Communicate with Devices on a DeviceNet Network Appendix A 4. Click the Privileges (read only, read/write) that you want to use for the view that you are creating. 5. If you want to use the Watchdog timer for the view you are creating, check Enabled and enter the watchdog timeout value (in milliseconds) that you want to use.
  • Page 186: Step 4: Read Inputs And Write Outputs

    Appendix A Communicate with Devices on a DeviceNet Network Step 4: Read Inputs and Write Outputs 1. Click the I/O tab. The I/O dialog box appears. The hexadecimal number is the count in bytes. The DeviceNet Test Application lets you read as many as 2048 bytes from the input image table of the 1784-PCIDS card.
  • Page 187: Step 5: Change The Scanner Mode

    Communicate with Devices on a DeviceNet Network Appendix A Step 5: Change the Scanner Mode The Port Mode window displays the current mode of the scanner: Run, Idle, No View. When the view is initially created, the scanner mode is set to Idle. The view state must be set to Run for the I/O devices to energize their outputs based on the output data from the scanner.
  • Page 188: Devicenet I/O Data

    Appendix A Communicate with Devices on a DeviceNet Network DeviceNet I/O Data I/O information is presented as a structure of multiple fields that 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.
  • Page 189: Determine How Often To Update Data

    Communicate with Devices on a DeviceNet Network Appendix A The rack-optimized connection creates a DINT element for each possible I/O module connected to the device in slot 3, ‘Local:3.’ The array Local:3:I.Data contains the possible input elements; the Local:3:O.Data contains the possible output elements.
  • Page 190: Place The Communication Card In Run Mode

    Appendix A Communicate with Devices on a DeviceNet Network Place the Communication To place the 1784-PCIDS card in Run mode, your program logic needs to set the CommandRegister.Run bit in the output word for the card. Card in Run Mode Set This Bit This is an example.
  • Page 191: Statusregister

    Communicate with Devices on a DeviceNet Network Appendix A StatusRegister The input data for the 1784-PCIDS card includes a StatusRegister. StatusRegister Bits This table describes how the 1784-PCIDS card uses the StatusRegister bits. StatusRegister Bit Description StatusRegister.Run This bit echoes the CommandRegister.Run bit to determine if the card is in Run or Idle mode. A 0 in this bit means the card is in Idle.
  • Page 192: Status Data Elements

    Appendix A Communicate with Devices on a DeviceNet Network Status Data Elements The status data for the 1784-PCIDS card includes several elements. Status Data Elements This table describes the status data for a 1784-PCIDS card. Status Element Data Type Default Display Style S.ScanCounter DINT Binary...
  • Page 193: Example: Softlogix Controller And Devicenet I/O

    Communicate with Devices on a DeviceNet Network Appendix A Example: SoftLogix In this example, one SoftLogix controller controls I/O modules through a 1784-PCIDS communication card. Controller and DeviceNet I/O Item Description SoftLogix Controller DeviceNet Network Device 1 Device 2 Device 3 Device 4 This example has a SoftLogix controller controlling four DeviceNet devices.
  • Page 194: Create Alias Tags

    Appendix A Communicate with Devices on a DeviceNet Network Create Alias Tags You might want to create alias tags to better represent the elements of the input and output array tags. An alias for an I/O point does the following: •...
  • Page 195: Communicate With Devices On A

    Appendix Communicate with Devices on a ControlNet Network Topic Page Configure Your System for a ControlNet Network ControlNet I/O Data Example 1: SoftLogix Controller and ControlNet I/O Example 2: SoftLogix Controller to SoftLogix Controller Example 3: SoftLogix Controller to Other Devices Example 4: Use the SoftLogix Controller as a Gateway This chapter provides detailed information about configuring and accessing your SoftLogix controller on a ControlNet network.
  • Page 196: Controlnet Network

    Appendix B Communicate with Devices on a ControlNet Network You install the virtual backplane driver only once on the computer running the SoftLogix controller. (This chapter assumes you have already installed the driver.) • RSLogix 5000 software to configure the communication card as part of the SoftLogix system.
  • Page 197: In The Softlogix Chassis Monitor

    Communicate with Devices on a ControlNet Network Appendix B Remember the serial number and name of each communication card you IMPORTANT install. You use this information to identify which card you want in which slot of the SoftLogix Chassis Monitor. For more information about installing a 1784-PCICS communication card, see the ControlNet Universal PCI Communication Interface Card Installation Instructions, publication...
  • Page 198 Appendix B Communicate with Devices on a ControlNet Network The Select Device dialog box appears. 5. Select the serial number of the 1784-PCICS card you want. If you previously configured the 1784-PCICS card that you selected by serial number, the chassis monitor remembers the configuration from the last time you used the card (whether in the same slot or not).
  • Page 199 Communicate with Devices on a ControlNet Network Appendix B After you add the card to the chassis monitor, you can browse the network by expanding the Virtual Backplane driver and then expanding the port on the desired 1784-PCICS or 1784-PCIC communication card. Browsing ControlNet through the Virtual Backplane driver provides the same functionality as the RSLinx driver.
  • Page 200: As Part Of The Project

    Appendix B Communicate with Devices on a ControlNet Network Step 3: Configure the Communication Card as Part of the Project Use RSLogix 5000 software to add the communication card as part of the SoftLogix project. In the Controller Organizer, add the communication card to the I/O Configuration folder as outlined below.
  • Page 201 Communicate with Devices on a ControlNet Network Appendix B 3. Click OK. The Major Revision dialog box appears. 4. Choose the Major Revision number that matches your module and click OK. The New Module dialog box appears. 5. Name the module and choose the slot number. Our example uses slot 2.
  • Page 202 Appendix B Communicate with Devices on a ControlNet Network The Module Properties dialog box appears. 7. In the Module Properties dialog box, click each tab and choose the settings for the module. Definition General On this tab, you can view the following information: •...
  • Page 203 Communicate with Devices on a ControlNet Network Appendix B 8. Click OK. The virtual backplane driver must be installed via RSLinx software IMPORTANT before you can download a project to the SoftLogix controller. Even if you plan to remotely program the controller over a ControlNet or Ethernet network, you must add the virtual backplane driver via RSLinx software.
  • Page 204: For The Communication Card

    Appendix B Communicate with Devices on a ControlNet Network Step 4: Add Remote Communication Devices for the Communication Card Complete your system configuration by adding the remote communication devices and appropriate I/O modules to your project. Follow these steps. 1. In RSLogix 5000 software, from the Controller Organizer, right-click the 1784-PCICS communication card you added, then choose New Module to add a ControlNet Adapter.
  • Page 205 Communicate with Devices on a ControlNet Network Appendix B 2. Expand the Communications list. Select Module Type 3. Choose the module type. The 1794-ACNR15/C 1794 ControlNet Adapter, Redundant Media is shown in this example. 4. Click OK. The Major Revision dialog box appears. 5.
  • Page 206 Appendix B Communicate with Devices on a ControlNet Network The New Module Properties dialog box appears. 6. In the Module Properties dialog box, name the adapter and choose the appropriate communication settings. 7. Choose the Open Module Properties box. 8. Click OK. The Module Properties dialog box for the remote module appears.
  • Page 207 Communicate with Devices on a ControlNet Network Appendix B Table 10 - Module Properties Dialog Box Tab Descriptions Definition General On this tab, you can do the following: • View the module catalog number and description of the module being created. •...
  • Page 208 Appendix B Communicate with Devices on a ControlNet Network Add and Configure I/O Modules for the Remote Communication Module 1. Add an input I/O module, right-click 1794-ACNR15/C adapter card in the I/O Configuration folder and choose New Module. The Select Module dialog box appears. 2.
  • Page 209 Communicate with Devices on a ControlNet Network Appendix B The New Module dialog box appears. 4. Enter the module name and slot number. 5. Make sure the Open Module Properties box is unchecked. 6. Click OK. 7. Add an output I/O module, right-click 1794-ACNR15/C adapter card in the I/O Configuration folder and choose New Module.
  • Page 210 Appendix B Communicate with Devices on a ControlNet Network 8. Expand the Digital list. 9. Select the output module and click OK. For this example, we chose the 1794-OB16/A 16 Point 24V DC Output, Source module. The New Module dialog box appears 10.
  • Page 211: Step 5: Download The Project To The Controller

    Communicate with Devices on a ControlNet Network Appendix B Step 5: Download the Project to the Controller 1. From the Communications menu, choose Who Active. The Who Active dialog box appears. 2. Browse to the SoftLogix controller. 3. Click Set Project Path button to cause this controller’s path to be saved as part of the .acd and will link the .acd project with this path to the controller.
  • Page 212 Appendix B Communicate with Devices on a ControlNet Network The Download dialog box appears. 5. Click Download on the Download dialog box. This will download the .acd project into the controller and put you online with the controller. Rockwell Automation Publication 1789-UM002K-EN-P - January 2015...
  • Page 213: Step 6: Schedule The Network

    Communicate with Devices on a ControlNet Network Appendix B Step 6: Schedule the Network Use RSNetWorx software to schedule the ControlNet network. The controller project must already be downloaded from RSLogix 5000 software to the controller and the controller must be in Program or Remote Program mode. For more detailed information, see the RSNetWorx for ControlNet Getting Results Guide, publication CNET-GR001.
  • Page 214 Appendix B Communicate with Devices on a ControlNet Network The Network Browser dialog box appears. 3. Browse to the desired ControlNet Network and select the network. 4. Click OK. Rockwell Automation Publication 1789-UM002K-EN-P - January 2015...
  • Page 215 Communicate with Devices on a ControlNet Network Appendix B The network window appears. 5. Click Edits Enabled. Rockwell Automation Publication 1789-UM002K-EN-P - January 2015...
  • Page 216 Appendix B Communicate with Devices on a ControlNet Network 6. From the Network menu, choose Properties to set the network’s properties. The Network Properties dialog box appears. Description Network Parameters On the Network Parameters tab, you can view the current configuration parameters associated with your ControlNet network.
  • Page 217 Communicate with Devices on a ControlNet Network Appendix B 7. On the Network Parameters tab, specify the network update time (NUT). The default NUT is 5 ms. The NUT you specify must be lower than or equal to the lowest RPI in your system. 8.
  • Page 218 Appendix B Communicate with Devices on a ControlNet Network 13. In RSNetWorx software, from the File menu, choose Save to save the network. The Save As dialog box appears. 14. Name the file and click Save. The Save Configuration dialog box appears. 15.
  • Page 219: Controlnet I/O Data

    Communicate with Devices on a ControlNet Network Appendix B 16. Click OK. Every device on the network must be in Program or Remote Program IMPORTANT mode for the software to rewrite all of its connections. If a device is not in the correct mode, the software prompts you to let it change the device’s mode.
  • Page 220: Rack-Optimized Connections

    Appendix B Communicate with Devices on a ControlNet Network The tags created for the remote device (1794-ACN15 in this example) depend on the communication format you choose for that device when you add the device to the I/O Configuration folder. If you choose The automatically-created tags are for a Rack optimization...
  • Page 221: Direct Connections

    Communicate with Devices on a ControlNet Network Appendix B Note that the tags for the analog module (‘remote_flex:2:I, ’ ‘remote_flex:2:O, ’ and ‘remote_flex:2:C’) are not alias tags. Analog modules require direct connections to operate. Do not use the element IMPORTANT of the rack-optimized array tag to control the analog module.
  • Page 222: Example 1: Softlogix Controller And Controlnet I/O

    Appendix B Communicate with Devices on a ControlNet Network Example 1: SoftLogix In this example, one SoftLogix controller controls I/O modules through a 1794-ACN15 module. Controller and ControlNet I/O Item Description SoftLogix controller ControlNet network 1784-ACN15 module with I/O (remote FLEX™I/O) Controlling I/O Modules This example has the SoftLogix controller controlling the I/O modules connected to the remote 1794-ACN15 module.
  • Page 223: Example 2: Softlogix Controller To Softlogix Controller

    Communicate with Devices on a ControlNet Network Appendix B If you configure the 1794-ACNR15 module as rack-optimized and the I/O modules as rack-optimized, you use only one connection to the 1794-ACN15 module, reducing the above example by three connections. This table calculates the connections for this rack-optimized configuration.
  • Page 224: Send A Msg Instruction

    Appendix B Communicate with Devices on a ControlNet Network Send a MSG Instruction To send an MSG from Soft1 to Soft2, follow these steps. 1. For Soft1, create a controller-scoped tag and choose the Message data type. 2. Enter an MSG instruction. In this example logic, a message is sent when a specific condition is met.
  • Page 225: Produce And Consume Tags

    Communicate with Devices on a ControlNet Network Appendix B Produce and Consume Tags You can produce a base tag, alias tag, or consumed tag. Produced data can be the following: • A tag of DINT or REAL data type • An array of DINT or REAL elements •...
  • Page 226 Appendix B Communicate with Devices on a ControlNet Network This example shows two controllers in the project. The Soft1 controller produces TagA and the Soft2 controller consumes TagA and stores it as TagB. 1. To add two controllers in the I/O tree named Soft1 and Soft2, right-click I/O Configuration and choose New Module.
  • Page 227 Communicate with Devices on a ControlNet Network Appendix B 6. Click Connection to complete creating TagB. Soft2 Controller - Consumes TagA and Stores it in TagB The Consumed Tag Connection dialog box appears. 7. Enter the Producer controller’s name (Soft1) in the Producer field and the tag to be consumed (TagA) in the Remote Data field and click OK.
  • Page 228: Total Connections Required By The Soft1 Controller

    Appendix B Communicate with Devices on a ControlNet Network Each produced tag requires one connection for the producing controller and an additional connection for each consuming controller. Each consumed tag requires one connection. Total Connections Required by the Soft1 Controller This table calculates the connections used in this example.
  • Page 229: Send A Msg Instruction

    Communicate with Devices on a ControlNet Network Appendix B Send a MSG Instruction You configure an MSG instruction to a ControlLogix and FlexLogix controller the same as you do for a SoftLogix controller. All Logix-based controllers follow the same MSG configuration requirements. Configuring an MSG instruction for a PLC-5 controller depends on the originating controller.
  • Page 230: Produce And Consume Tags

    Appendix B Communicate with Devices on a ControlNet Network Produce and Consume Tags You can produce and consume tags with any Logix controller the same as you do with a SoftLogix controller. All Logix controllers follow the same requirements for producing and consuming tags. Producing and consuming tags with a PLC-5 controller for the ControlNet network depends on the type of data.
  • Page 231 Communicate with Devices on a ControlNet Network Appendix B Produce a Tag to a PLC-5 Controller for the ControlNet Network Complete these steps to produce a tag that a PLC-5 controller for the ControlNet network can consume. 1. Determine the type of data to produce.. And you are producing Then Create a user-defined data type that contains an array of INTs with an even number of elements, such as...
  • Page 232 Appendix B Communicate with Devices on a ControlNet Network Consume a Tag from a PLC-5 Controller for the ControlNet Network Complete these steps to consume a tag from a PLC-5 controller for the controlNet network. 1. In RSNetWorx software, open the ControlNet configuration of the PLC-5 controller and insert a Send Scheduled Message.
  • Page 233: Total Connections Required By The Soft1 Controller

    Communicate with Devices on a ControlNet Network Appendix B Total Connections Required by the Soft1 Controller This table calculates the connections used in this example. Connection Amount Soft1 controller to 1784-PCICS card Soft1 controller to remote 1756-CNB module Soft1 controller to remote 1788-CNC card Soft1 controller to remote PLC5C1 Connected, cached MSG from Soft1 to Control1 Connected, cached MSG from Soft1 to Flex1...
  • Page 234: Example 4: Use The Softlogix Controller As A Gateway

    Appendix B Communicate with Devices on a ControlNet Network Example 4: Use the SoftLogix The SoftLogix controller supports bridging over a ControlNet network. Any SoftLogix MSG instruction that bridges one network has multiple pairs of Controller as a Gateway numbers in its communication path. To construct a communication path, follow these steps.
  • Page 235 Communicate with Devices on a ControlNet Network Appendix B In the following illustration, the ControlLogix controller can remotely access a PanelView™ terminal over a ControlNet network. The SoftLogix Chassis Monitor resides on the computer. A SoftLogix controller is not required for the gateway—you only need a 1784-PCICS card for each ControlNet network.
  • Page 236 Appendix B Communicate with Devices on a ControlNet Network Notes: Rockwell Automation Publication 1789-UM002K-EN-P - January 2015...
  • Page 237: Program Virtual Motion

    • SoftLogix controller in the SoftLogix Chassis Monitor • RSLogix 5000 software SoftLogix 5800 controllers and software do not support Integrated Motion on IMPORTANT the EtherNet/IP network. Windows Vista, Windows 2008, and Windows 7 Server operating system software do not support any motion modules in a SoftLogix system.
  • Page 238: Logic For Motion Control

    Appendix C Program Virtual Motion 3. Add and configure the SERCOS interface module. If you are not using a SERCOS interface module, you can still configure a virtual axis in RSLogix 5000 software. Each ControlLogix controller can control up to 16 motion modules. Use one of the following SERCOS interface modules: •...
  • Page 239: Motion Faults

    Program Virtual Motion Appendix C You can read motion status and configuration parameters in your logic by using two methods. Method Example Direct access of the MOTION_GROUP and AXIS structures • Axis faults • Motion status • Servo status Use the GSV instruction •...
  • Page 240: In Windows Operating System

    Appendix C Program Virtual Motion Considerations When The System Restore feature of the Windows operating system can affect SoftLogix motion applications. The need to use System Restore can occur Running a Motion because other applications running in Windows can impact the time available to Application in Windows run motion.
  • Page 241: Windows Considerations

    Appendix Windows Considerations Topic Page Observe Windows Objects Additional Considerations Run a SoftLogix Controller on the Windows Operating System HMI Considerations Personal Computer Hardware Considerations This appendix describes considerations when using the Microsoft Windows operating system. Observe Windows Objects There are three objects that execute within the Windows operating system that get CPU resources based on Window’s multitasking and multithreading algorithms.
  • Page 242: Additional Considerations

    Appendix D Windows Considerations This diagram shows the relationship between these objects and shows how one object has to stop running if another with higher priority wants to execute. The SoftLogix controller executes as a real-time priority process, and thus waits for all ISRs and DPCs to complete before executing.
  • Page 243: Run A Softlogix Controller On The Windows Operating System

    Windows Considerations Appendix D Table 11 - Windows Operating System Considerations Consideration Description Third party peripheral devices Third-party peripheral devices, such as network cards and IDE devices should be installed directly in the computer’ s primary PCI bus. IDE devices should use PCI bus mastering. Bus mastering is the capability of writing directly to the computer’s memory without having to use the Pentium chip to move the data.
  • Page 244: Periodic Tasks

    Appendix D Windows Considerations If multiple SoftLogix controllers in the same virtual chassis are set for a dwell time of 0 ms, the controllers will starve other applications that are running at normal priority. The effect is sluggish mouse control and slow response time by other Windows applications.
  • Page 245 Windows Considerations Appendix D A periodic task detects an overlap and sets the Overlap fault bit in the controller if a periodic tasks fails to run at all during its assigned time slot or if a periodic tasks starts later than scheduled and cannot complete before the start of the next period.
  • Page 246 Appendix D Windows Considerations The following diagram shows the timing of task execution between two SoftLogix controllers in the same virtual chassis. Each controller has periodic tasks and a continuous task. The example periodic tasks are short and take only 0.25 ms to execute.
  • Page 247: System Overhead Timeslice

    Windows Considerations Appendix D System Overhead Timeslice All Logix-based controllers have a configuration setting for the system overhead timeslice. This function lets the controller take care of communication requests that occur from other controllers or from queued requests from within the controller’s application program.
  • Page 248: Personal Computer Hardware Considerations

    Appendix D Windows Considerations Personal Computer The personal computer hardware you chose for the SoftLogix controller will have a dramatic impact on the performance of the SoftLogix control system. Hardware Considerations Most SoftLogix applications run additional software on the same personal computer as the controller.
  • Page 249: Pre-Qualify Your Personal Computer For Soft Control

    Computer for Soft Control anomaly on computers pre-configured and supplied by major vendors. Run the TestTime utility that is installed with the SoftLogix 5800 controller. Let this application run for a period of time while you perform tasks that you normally run on the computer.
  • Page 250 Appendix E System Performance Tuning Guidelines When you open the utility, this information appears. The Test Time utility monitors your system’s responsiveness to a repetitive 2 ms timer. It displays both a textual and a graphical display of the timing response of your computer.
  • Page 251 The alternative is to upgrade your personal computer such that it does not contain the affected South Bridge chipset. • You are trying to run the SoftLogix 5800 controller on a platform that does not meet the minimum system requirements of a Pentium 4 1.6 GHz or greater.
  • Page 252: System Performance

    Appendix E System Performance Tuning Guidelines System Performance There are a number of configurable parameters in the SoftLogix 5800 controller that affect the overall system performance of your personal computer. These are the parameters. Table 12 - Parameters for Improved Performance...
  • Page 253: System Startup

    System Performance Tuning Guidelines Appendix E System Startup There are much greater CPU demands on the personal computer during system starts up. This is due to the fact that the SoftLogix controller restores its application program so that it can restart in the same state as it was shutdown. This restore is done at a high priority level so that the time from ‘power button press’...
  • Page 254 Appendix E System Performance Tuning Guidelines 2. From the Properties menu, click Customize to customize the Start menu to display the Administrative Tools Option. The Customize Classic Start Menu dialog box appears. 3. Choose the Display Administrative Tools and click OK twice. Rockwell Automation Publication 1789-UM002K-EN-P - January 2015...
  • Page 255 System Performance Tuning Guidelines Appendix E 4. From the Start menu, choose Programs>Administrative Tools>Performance. The Performance dialog box appears. Rockwell Automation Publication 1789-UM002K-EN-P - January 2015...
  • Page 256 Appendix E System Performance Tuning Guidelines Notes: Rockwell Automation Publication 1789-UM002K-EN-P - January 2015...
  • Page 257: Softlogix Controller Status Indicators

    Appendix Status Indicators Topic Page SoftLogix Controller Status Indicators SoftLogix EtherNet/IP Module Status Indicators This appendix describes the status indicators for the SoftLogix 5800 controller and its associated modules. SoftLogix Controller Status The controller has these status indicators. Indicators Indicator...
  • Page 258: Controller Status Indicator And Display

    Appendix F Status Indicators Controller Status Indicator and Display Indicator Status Description The controller is in Program or Test mode. Solid green The controller is in Run mode. Either: • There are no devices in the I/O configuration of the controller. •...
  • Page 259: Softlogix Ethernet/Ip Module Status Indicators

    Status Indicators Appendix F SoftLogix EtherNet/IP This section describes the EtherNet/IP modules’ status indicators for the SoftLogix system. Module Status Indicators The EtherNet/IP modules have these status indicators. Indicator Description Module display status Module status indicators Link Status (LINK) Indicator LINK Indicator Display Description...
  • Page 260: Network Status (Net) Indicator

    Appendix F Status Indicators Network Status (NET) Indicator NET Indicator Display Description Solid green CIP connections • The module has an IP address and CIP connections (Class 1 or established Class 3) are established. • Normal operation. No action required. Flashing green No CIP connections •...
  • Page 261: Softlogix 5800 Version 23

    SoftLogix 5800 Version 23 Change General SoftLogix 5800 release to coincide with the Studio 5000 Logix Designer application version 23 SoftLogix 5800 Version 21 Change The Studio 5000 Logix Designer application has now replaced RSLogix5000 software...
  • Page 262: Rockwell Automation Publication 1789-Um002K-En-P - January

    Appendix G SoftLogix 5800 Revision History Notes: Rockwell Automation Publication 1789-UM002K-EN-P - January 2015...
  • Page 263: Index

    Index Numerics chassis monitor 1784-PCICS card 199 1784-PCICS 1784-PCIDS card 165 card characteristics 25 chassis monitor 199 overview 24 communication 196 SIM module 94 configuring 200 COM port ControlNet connection 40 setting 78 creating 197 command SoftLogix controller 196 register bits 190 1784-PCIDS communication 196 card 192...
  • Page 264: Index

    Index control developing I/O modules 222 external routine 115 motion devices 237 motion logic 238 structure 112 program 34 controller device ASCII device 90 ControlNet network 195 configure 27 DeviceNet network EtherNet/IP network connection 55 access I/O modules 188 event task 153 command register bits 190 motion faults 239 communication driver 166...
  • Page 265: Index

    Index card 48 external routines configuring the controller 43 add 106 controller connection 54 calling 112 creating Ethernet card 48 configure 105 disabling UDP 44 controller functions 116 distributed I/O 56 debugging 136 example sending message to PLC-5 71 developing 115 example sending messages 68 download 117 I/O data 58...
  • Page 266: Index

    Index status 98 mode toggle 101 run 190 instruction standard polling 89 error startup 25 motion 239 modem execution 37 MAM 239 radio 84 motion 238 module PLC-5 message 71 create 27 INT to REAL conversion 37 reset 180 IOLinx monitoring simulated I/O 101 software 22 motion...
  • Page 267: Index

    Index configuring EtherNet/IP 56 tag 220 PCI slot requirements communication card 196 connection 40 PCIDS reset card module 180 major revision number 170 restart performance controller 41 personal computer 253 routine 37 system 252 DPC 244 periodic 28 ISR 244 save 252 save interval 1784-PCIDS card 189...
  • Page 268 Index SIM module status chassis monitor 94 data 192 configure 93 indicators 257 Generic module 97 controller 85 project 97 Ethernet module 259 RPI 99 LINK 259 SoftLogix NET 260 controller 93 OK 260 tag 103 input simulated I/O size 98 input instance 98 configure 93 output...
  • Page 269: Index

    Index user mode configure 91 high priority 26 normal priority 26 version information 128 virtual chassis SoftLogix 22 Visual Studio 117 Windows blue screen 242 consideration 241 dwell time 243 eoutbound event 149 event controller 149 example 156 trigger controller 153 object 241 periodic task 244 service pack 242...
  • Page 270: Index

    Index Rockwell Automation Publication 1789-UM002K-EN-P - January 2015...
  • Page 272 Rockwell Automation Support Rockwell Automation provides technical information on the Web to assist you in using its products. http://www.rockwellautomation.com/support you can find technical and application notes, sample code, and links to software service packs. You can also visit our Support Center at https://rockwellautomation.custhelp.com/ for software updates, support chats and forums, technical information, FAQs, and to sign up for product notification updates.

Table of Contents