Allen Bradley Rslogix 5

Posted on by

A Quick Tutorial on RSLogix Emulator 5000 RSLogix Emulator 5000 is a software simulator for the Allen Bradley line of Logix 5000 controllers (ControlLogix®, CompactLogix®, FlexLogix®, SoftLogix5800® and DriveLogix®). The goal is to mimic the function of a without the actual hardware and thus do advanced debugging. More information can be found in the AB publication LGEM5K-GR015A-EN-P.

As a quick introduction we’ll go through a simple example of setting up a simulation. This involves three major steps.

• Setting up the chassis monitor. • Creating a connection in RSLinx. • Creating a project with associated emulation hardware. Setting up the Monitor To start the Chassis Monitor, click Start >Programs >Rockwell Software >RSLogixEmulate 5000 >RSLogix Emulate 5000 Chassis Monitor. From here we set up our hardware configuration for simulation. Our first step will be to add the. In this case it is a special one called an Emulation Controller.

Allen Bradley Rslogix 5

• Click Slot >Create Module. • Choose the Emulator RSLogix Emulate 5000 Controller. • Chose slot 2 for the controller • Click OK to add it to the chassis monitor. • At this point you may be accosted with a message about previous configurations. Just select Reset the Configuration to Default Values and click NEXT. • The next two dialog screens are for setting up the controller details. Click NEXT and FINISH to accept all the defaults.

General • To access Release Notes for this version of software, choose Release Notes from the Help menu. • The Quick View Pane, located below the Controller Organizer, provides 'thumbnail' information for the selected component. • The Watch Pane, located below the language editor window, provides monitoring for all tags referenced in the active routine window. • The Controller Organizer is dockable.

Rockwell Software RSLogix5 version 6.00 is used to program the Allen-Bradley PLC5's. Icons for these programs should already be on the desktop. The PLC and the PC used to program it are connected directly through a serial RS-232 link. For the casual user, the RSLogix software is best operated using the point-and-.

That is, you can drag it to the left or right side of the screen, or float it somewhere in between. • Hide/show the Controller Organizer via a toolbar button to make more display area for editors. • RSLogix 5000 supports Cut/Copy/Paste/Drag/Drop of components within the Controller Organizer as well as to other instances of RSLogix 5000. • Double-clicking on error messages displayed in the Error Window will navigate you to where the error was encountered.F4 and Shift-F4 can be used to move between errors.

• You can reorder the columns in the tag editor by clicking on the title and dragging it to a new position. • To simultaneously display logic in multiple routines, select Window ->New Window and then arrange the windows manually.

Or select Window ->Tile Horizontal. • To remove a yellow triangle warning symbol on a device, first check the connection status.

If the status is 'Connection is not scheduled', re-open the RSNetWorx software. Return to RSLogix 5000 software and the yellow triangle should be gone.

• On one computer, you can install and simultaneously launch (run) multiple translated versions of RSLogix 5000 software. • Once you do a partial import of rungs, add-on instructions, or user-defined data types, you can't undo the import. If the import didn't work as expected, close the project without saving. • When you select a partial import, make sure to select the correct rung or trend file. Both files have L5X extensions and the software doesn't prevent you from selecting the wrong file.

If you try to import a rung where a trend is expected, or vice versa, the software does display an error that the import failed. • Partial import of rungs works in all ladder routines, including Add-On Instructions. • In version 15, the Tag Editor added support for New Window.

• To simultaneously display logic in multiple routines, select Window ->New Window and then arrange the windows manually. Or select Window ->Tile Horizontal. Keyboard • Keyboard shortcuts are listed in the Online Help, under the 'Navigating the Software' topic. • You can use Ctrl+Page Down and Ctrl+Page Up to move between tabs in a dialog or routine window. • You can use Ctrl+Tab and Shift+Ctrl+Tab to move between multiple RSLogix 5000 views.

• You can use Ctrl+G to invoke the Go To dialog. The Go To dialog is convenient for navigating the software. • You can use Alt+Insert to open the Language Element browser in any of the language editors.

You can also invoke this browser by pressing the Insert key in the LD, SFC and FBD editors. • You can use Ctrl+Space to invoke the Tag browser from within the ST editor. • You can use the Go To dialog (Ctrl+G) to quickly navigate to routines called by the current routine and to routines that call the current routine. • In the Sequential Function Chart Editor, you can use the Routine Overview (Ctrl+B) tool to view your entire SFC and help navigate to a specific area of your chart.

• Double-clicking on error messages displayed in the Error Window will navigate you to where the error was encountered. F4 and Shift-F4 can be used to move between errors. • The Language Element browser is a shortcut to adding logic. In the any of the language editors: use Alt+Insert, type the instruction mnemonic, and press Enter.

You can also invoke this browser by pressing the Insert key in the LD, SFC and FBD editors. This short cut can be much quicker than using the instruction toolbar.

• As you use the keyboard to move the cursor around grid cells, press Alt+Down arrow to activate any controls that are active for that cell. This works in all grid-based editors, such as the Tag Editor, Data Monitor, etc. This gives you a way to access cell controls via the keyboard, rather than using the mouse. Controller Projects • Whenever you go online using RSLogix 5000, changes made to controller are simultaneously made to a temporary copy of the project file (.ACD). Save makes these changes permanent. Therefore, an upload is only necessary to obtain the latest copy of the tag data in the controller.

• Both Rockwell Automation and third-party sample projects are installed with RSLogix 5000. You can find them in the RSLogix 5000 Samples folder.

These projects demonstrate program techniques and code that you can use to program select modules. • Avoid pointing one alias tag to another alias tag to ensure the application maintains the appropriate references after an upload. • Avoid pointing multiple alias tags to the same base tag to ensure the application maintains the appropriate references after an upload. • All tag names are downloaded and resident in the controller along with your logic.

• On download, if the ControlNet schedule stored in the offline RSLogix 5000 project file is old, RSLogix 5000 will retrieve the latest ControlNet schedule from the associated RSNetWorx project file. To make an association to an RSNetWorx project file, use the RSNetWorx tab in the Module Properties dialog of the ControlNet scanner. • RSLogix 5000 supports moving your project from one Logix platform/controller to another.

• ACD, L5K, CSV, and L5X files are independent of which translated version of RSLogix 5000 imports or exports the file. The software doesn't create language-specific import/export files. • Use any translated version of RSLogix 5000 software to go online to a controller without having to re-download. • In a safety controller, standard tags in a safety mapped relationship follow safety restricted states. For example, a standard tag mapped to a safety tag is read-only in a safety locked state.

• Use Add-On Instructions to initialize tag values to specific values at the beginning of each routine or program scan. Then source protect the AOI to assure that values are correctly initialized and not overwritten manually. • The order of members within a User-Defined Data Type affect the memory size of the data type. Within the UDT, keep members of the same data type together. I/O Configuration • Module icons in the I/O Configuration folder change to indicate the module has faulted or the connection to the module has been interrupted. • To remove a yellow triangle warning symbol, first check the connection status.

If the status is 'Connection is not scheduled', re-open the RSNetWorx software. Return to RSLogix 5000 software and the yellow triangle should be gone. • To easily find a module in the Select Module Type dialog, simply start typing any part of the module name or description. When you start typing, the Find Module dialog is launched automatically.

• Use rack optimized communication formats for digital I/O modules to minimize amount of controller memory and communications overhead associated with these modules. • RSLogix 5000 automatically creates controller tags when you create an input or output module. You can reference these tags directly in your logic.

• Use alias tags to assign names to specific input/output data and/or to provide a short alternative to lengthy structure member names. • When you configure an analog I/O module, hold the shift key as you move the slider to increment HH, H, L, and LL values in whole numbers. • Copy I/O data to a User-Defined Type (UDT) so you can synchronize I/O data with program scan. The UDT also enables easier mapping of physical I/O. Tasks, Programs and Equipment Phases • An event task in Logix is similar to the processor input interrupt (PII) in the PLC-5. Multiple event tasks can exist in the controller, each configured to execute at the initiation of independent triggers. • A periodic task in Logix is similar to the selectable timed interrupt (STI) in the PLC-5.

Multiple periodic tasks can exist in the controller, each configured to execute at independent rates. • Double-click on a state in an Equipment Phase to navigate to the logic for that state. • Use RSBizWare Batch software to create Equipment Phases. Use the Equipment Editor to create the phases, define parameters, and synchronize the phases with an RSLogix 5000 project. • Use any programming language (Ladder, Structured Text, FBD, or SFC) to program state routines in Equipment Phases.

• The fault routine for an Equipment Phase is the same as the fault routine for a program. Use a fault routine to allow logic to run before the controller faults due to a programming error. • The Prestate routine runs all the time, even when the Equipment Phase is not active. • The Prestate routine for an Equipment Phase is optional. Use the Prestate routine to execute the error detection logic for your phases. • You don't have to implement all the available states in an Equipment Phase. On the Equipment Phases properties, check the 'Complete State if not implemented' option.

• In the Phase Monitor, the states you can write code have action names and have a command word leading into the state, such as Start leads to the Running state. You add routines to these states. Waiting states don't require routines. The phase waits for a command to move to the next state.

For example, Idle and Hold. Tags, Data Types and Other Data • As you organize, add, or delete members of a User-Defined Data Type, the software adjusts the associated tag members and values accordingly so that remaining members retain their values. • In the tag browser, click the >>button to display the tag filter. Use the tag filter to display unused tags or tags of a particular data type. • The tag browser filters tags in some situations.

If you don't see a tag you expect, change the tag filter. • In version 15, the Tag Editor added support for New Window.

• You can use arrays to do indirect addressing. RSLogix 5000 supports arrays of one, two, and three dimensions. • You can create a recipe by creating a new data type and then creating a tag which uses that data type.

Your new data type can contain descriptive field names. • RSLinx uses memory in a Logix controller to read data values. Use the following equation to estimate the memory needed: (1.5Kbyte + (Number of individual tags * 45 bytes) + (Number of array or structure tags * 7)) • The Watch Pane, located below the language editor window, provides monitoring for all tags referenced in the active routine window. • You can trend a tag by right-clicking the tag and choosing 'Trend Tag '. • You can find all occurrences of a tag by right-clicking the tag in logic and choosing 'Find All '. • Logix controllers are optimized for the DINT and REAL data types.

Use these data types to avoid conversion overhead and optimize performance. • You can optimize the communication performance of acquiring data from Logix controllers by consolidating multiple data values into a User-Defined Data Type (UDT) or array. • Indexed references to array elements add additional scan time overhead to the application. Use single dimension arrays whenever possible.

• When building a User-Defined Type (UDT), locate all bits or BOOLs adjacent to each other to minimize the amount of controller memory required to store the data. • RSLogix 5000 automatically creates controller tags when you create an input or output module. You can reference these tags directly in your logic. • Use alias tags to assign names to specific input/output data and/or to provide a short alternative to lengthy structure member names. • Avoid pointing one alias tag to another alias tag to ensure the application maintains the appropriate references after an upload. • Avoid pointing multiple alias tags to the same base tag to ensure the application maintains the appropriate references after an upload.

• Controller tags apply to the entire controller and can be referenced by any program. Program tags apply only to individual programs. This means program tags can have the same names in more than one program, allowing programs to be copied and reused. • You can reorder the columns in the tag editor by clicking on the title and dragging it to a new position. • All tag names are downloaded and resident in the controller along with your logic. • You can export (and import) tag definitions to a comma separated value (CSV) file and manipulate them using external tool, e.g.

Spreadsheet, text editor. • For tables of bits (BOOL), use a DINT array to ensure full access via the file and diagnostic instructions COP, DDT, FBC, etc. • In a safety controller, standard tags in a safety mapped relationship follow safety restricted states.

For example, a standard tag mapped to a safety tag is read-only in a safety locked state. • The order of members within a User-Defined Type affect the memory size of the data type. Within the UDT, keep members of the same data type together. Routines • Logix supports four controller programming languages: Ladder, Function Block Diagram, Structured Text, and Sequential Function Chart. • To simultaneously display logic in multiple routines, select Window ->New Window and then arrange the windows manually. Or select Window ->Tile Horizontal. • Multiply the number of words in a PLC/SLC program times 18 to estimate the amount memory (in bytes) needed in a Logix controller.

• To display context-specific instruction help, select an instruction or element and press F1. • The Language Element browser is a shortcut to adding logic. In the any of the language editors: use Alt+Insert, type the instruction mnemonic, and press Enter. You can also invoke this browser by pressing the Insert key in the LD, SFC and FBD editors.

This short cut can be much quicker than using the instruction toolbar. • You can find all occurrences of a tag by right-clicking the tag in logic and choosing 'Find All '. • You can use the Go To dialog (Ctrl+G) to quickly navigate to routines called by the current routine and to routines that call the current routine. • You can drag and drop from the instruction toolbar in any of the language editors. In SFC editor, the elements auto-connect. • Use the CPS instruction to provide buffering of communications and I/O data to minimize impact of asynchronous data arrival. • For tables of bits (BOOL), use a DINT array to ensure full access via the file and diagnostic instructions COP, DDT, FBC, etc.

• Controller tags apply to the entire controller and can be referenced by any program. Program tags apply only to individual programs. This means program tags can have the same names in more than one program, allowing programs to be copied and reused. • In the Sequential Function Chart Editor, you can use the Routine Overview (Ctrl+B) tool to view your entire SFC and help navigate to a specific area of your chart. • Logix controllers perform a prescan of logic on startup to perform initialization. A tag used as an index can cause a startup fault if its value is larger than the array length. Brunswick Phonograph Serial Numbers. Use a Fault routine to detect and reset this condition.

• In the Sequential Function Chart Editor, you can use the indicator tag field in an action to specify a tag value to monitor during execution. • In the Sequential Function Chart Editor, you can select multiple SFC elements and use the Layout SFC Elements feature to automatically rearrange the selected elements as needed to provide adequate spacing, avoid page boundaries, and left or center justify branches.

• In the Sequential Function Chart Editor, you can change the order in which selection branch legs are evaluated from the Set Sequence Priorities dialog. • Refer to the Online Help for the Action Properties dialog - General Tab Overview for a useful timing diagram that explains how the various action qualifiers affect the execution of an action. • You can customize the auto-naming of Sequential Function Chart Steps, Actions, Transitions, and Stop elements from the Workstation Options and Routine Properties dialogs. • You can attach text boxes to language elements in FBD and SFC logic to maintain their relative positions if you move logic. • You can use Ctrl+Space to invoke the Tag browser from within the ST editor.

• Comments in Structured Text are downloaded to the controller. This includes comments in Structured Text routines and embedded Structured Text in SFC routines. • In the Structured Text Editor, you see the words colored to indicate keywords, tag names, and other recognized words. You can change the colors used by the editor by choosing Options from the Options menu. • In the Structured Text Editor, you can configure the instruction's parameters by right-clicking an instruction name and choosing 'Instruction Properties'. • You can use instructions available in Ladder and Function Block Diagram routines also in Structured Text routines. • You can configure the sheet size for your Function Block Diagram or Sequential Function Chart routines from the Routine Properties dialog.

• In the Function Block Editor, you can configure the block's parameters by clicking the Browse (.) button on the upper right side of the block. • RSLogix 5000 supports pending edits on multiple rungs when online editing ladder logic. • When editing ladder routines, you can create logic using ASCII (for example: 'XIC MYTAG') by either typing when a rung is selected, pressing the Enter key when a rung is selected, or double clicking to the left of a rung.

• In the Ladder Diagram Editor, you can insert a branch level above the current level by right clicking the left side of the branch and select Add branch. To insert a branch level below the current level, right click the right side of the branch and select Append New Level. • Partial import of rungs works in all ladder routines, including Add-On Instructions. • When performing a partial import of rungs, change tag names to create new tags in the imported logic.

• Once you do a partial import of rungs, add-on instructions, or user-defined data types, you can't undo the import. If the import didn't work as expected, close the project without saving. • On a partial import of rungs, the exported data values are also imported. This includes configured message instructions. Partial imports/exports can save time versus copying and pasting since copying and pasting does not copy data values. • Copy pieces of logic into other applications like Microsoft Word in a bitmap or metafile format.

• If you want a subroutine to execute every scan, copy the first instruction and paste it right next to the original instruction. Use the same tags on the duplicate instruction as on the first instruction. Then insert an AFI instruction before the duplicate.

• To copy a group of rungs to paste into another routine later, select the rungs and drag them to the desktop. This copies the rungs into a file that you can later drag into another routine. • You can drag components from the Controller Organizer into the Ladder Editor instruction. • Double click or press Enter at the end of a ladder rung to create and start a textual edit of that rung. • To drag a language element from one routine to another, drag the element over the routine tabs at the bottom of the editor to switch the routine. Add-On Instructions • To display the logic of an Add-On Instruction, select the instruction and use the context menu (right click) to open the logic. • You can drag an Add-On Instruction from the Controller Organizer into any language editor.

• Copy an Add-On Instruction Definition from one project and paste into another to move that AOI and referenced AOIs in to the project. • Use Add-On Instructions to initialize tag values to specific values at the beginning of each routine or program scan.

Then source protect the AOI to assure that values are correctly initialized and not overwritten manually. • Use source protection on an Add-On Instruction to protect local tags, data and logic. Communications • Reserve 20% or more of the controller's memory to accommodate communications and changes in future Logix controller firmware releases.

• Use rack optimized communication formats for digital I/O modules to minimize amount of controller memory and communications overhead associated with these modules. • Use the CPS instruction to provide buffering of communications and I/O data to minimize impact of asynchronous data arrival. • On download, if the ControlNet schedule stored in the offline RSLogix 5000 project file is old, RSLogix 5000 will retrieve the latest ControlNet schedule from the associated RSNetWorx project file.

To make an association to an RSNetWorx project file, use the RSNetWorx tab in the Module Properties dialog of the ControlNet scanner. • When working with multiple controller projects in different chassis, use RSLinx shortcuts to identify those chassis with meaningful names. Drives and Motion • RSLogix 5000 integrated motion supports camming, gearing, single-axis, and multi-axis instructions in Ladder Diagram, Structured Text, and Structured Text embedded in Sequential Function Charts. • Execute motion direct commands directly from the context menu for any configured motion axis. The motion direct commands let you control motion instruction execution without creating or adding logic. This can be useful when first commissioning an axis or drive.

• To tune motor and drive parameters, such as gains for velocity and acceleration loops, as well as load dynamics, use the Tune tab or the MRAT and MAAT instructions. You can use the Tune tab in either Remote Program or Remote Run. • The software automatically populates some SERCOS drive parameters when you configure an Axis_Servo_Drive. Display the axis properties to view or edit these parameters. • In a SERCOS drive's configuration, you can change the number of counts returned per revolution to make the counts per inch or degree an rational number.

• In a motion system, you can copy over all motion hardware from an existing project to a new project without losing any axis settings or tuning. First drag the motion control module over to the new project.

Then, drag any drives, the Motion Group, and then the axes. Optimizing Performance • Logix controllers are optimized for the DINT and REAL data types. Use these data types to avoid conversion overhead and optimize performance. • You can optimize the communication performance of acquiring data from Logix controllers by consolidating multiple data values into a User-Defined Type (UDT) or array. • Indexed references to array elements add additional scan time overhead to the application. Use single dimension arrays whenever possible.

• Reserve 20% or more of the controller's memory to accommodate communications and changes in future Logix controller firmware releases. • Use rack optimized communication formats for digital I/O modules to minimize amount of controller memory and communications overhead associated with these modules. • Use the CPS instruction to provide buffering of communications and I/O data to minimize impact of asynchronous data arrival. • If the memory estimation button is disabled, it means that your estimation is up to date. This happens after an estimate, but it also happens when you go offline with the controller because the offline memory numbers reflect actual use.

• The order of members within a User-Defined Type (UDT) affect the memory size of the data type. Within the UDT, keep members of the same data type together. Project Documentation • Comments in Structured Text are downloaded to the controller. This includes comments in Structured Text routines and embedded Structured Text in SFC routines. • You can print RSLogix 5000 views by clicking on the view and then pressing Ctrl+P or choosing Print from the File menu.

• When you print FBD logic, the editor automatically makes the logic fit the page. A 2:1 ratio is generally readable. For example, set the FBD sheet size to 11 x 17 (B Size) and print on 81/2 x 11 size paper. • Copy pieces of logic into other applications like Microsoft Word in a bitmap or metafile format. Security • If you are have trouble downloading a project even though you have privileges, make sure that you have the project and that you are online with the controller. • If you can't access routine source protection when security is enabled, ask your administrator to grant you 'Routine: Modify Properties' to obtain access.

• If your system uses FactoryTalk Security with RSLogix5000 software, version 16, software users can log into and log off of RSLogix 5000 software. • If security functions are enabled, you must have appropriate access to import rungs or to copy/paste tags and data.

The Logix5000 Essential Manuals The Allen Bradley Logix5000 family (ControlLogix, CompactLogix, FlexLogix, SoftLogix) has some very good manuals. If you are just starting out or need a refresher here are the key manuals and the order I would read them. If you have RSLogix 50000 installed then you will find some of these in the Help >Online Books menu. Revision 16 also has some great videos in the Learning Center. The Basics For starters there is the Quick Start manual. The Essentials If you are getting into programming and designing a system then you'll want to start off with the Common Procedure Manual. It has a lot of helpful examples dealing with all aspects of the system.

Next comes the nitty gritty of each instruction. It's a good idea to at least peruse all the instructions so you have an idea of what is available. An often overlooked manual but filled with great information for getting the most out your designs is the Design Considerations Reference Manual. Certainly a must read if you are knee deep in the development and programming of Allen Bradley PLCs.

Hardware Specifics Specifics for the hardware can be found in the User Manuals and Installation Instructions for the PLC. ControlLogix CompactLogix FlexLogix SoftLogix GuardLogix Networking If you are deciding on which network to use then see the manual and the section 'Determine the Appropriate Network'. Otherwise, for existing networks the following are helpful. Ethernet/IP ControlNet DeviceNet The links are from the AB site so they are the latest and greatest manuals. Let if any of them are broken or if I forgot one you think is essential.

The RSLogix™ family of IEC-1131-compliant ladder logic programming packages helps you maximize performance, save project development time, and improve productivity. This family of products has been developed to operate on Microsoft Windows® operating systems. RSLogix 5 supports the Allen-Bradley PLC-5® family of programmable controllers. The RSLogix 5 programming package is compatible with programs created with Rockwell Software DOS-based programming packages for the PLC-5 processors, making program maintenance across hardware platforms convenient and easy.