Logix5000 Controllers Function Block Diagram …vendulka.zcu.cz/Download/Free/RSLogix5000...

32
Programming Manual Catalog Numbers 1756 ControlLogix, 1769 CompactLogix, 1789 SoftLogix, 1794 FlexLogix, PowerFlex 700S with DriveLogix Logix5000 Controllers Function Block Diagram

Transcript of Logix5000 Controllers Function Block Diagram …vendulka.zcu.cz/Download/Free/RSLogix5000...

  • Programming Manual

    Catalog Numbers 1756 ControlLogix,1769 CompactLogix, 1789 SoftLogix,

    1794 FlexLogix, PowerFlex 700S withDriveLogix

    Logix5000 Controllers Function Block Diagram

  • Important User InformationSolid state equipment has operational characteristics differing from those of electromechanical equipment. Safety Guidelines for the Application, Installation and Maintenance of Solid State Controls (publication SGI-1.1 available from your local Rockwell Automation sales office or online at http://literature.rockwellautomation.com) describes some important differences between solid state equipment and hard-wired electromechanical devices. Because of this difference, and also because of the wide variety of uses for solid state equipment, all persons responsible for applying this equipment must satisfy themselves that each intended application of this equipment is acceptable.

    In no event will Rockwell Automation, Inc. be responsible or liable for indirect or consequential damages resulting from the use or application of this equipment.

    The examples and diagrams in this manual are included solely for illustrative purposes. Because of the many variables and requirements associated with any particular installation, Rockwell Automation, Inc. cannot assume responsibility or liability for actual use based on the examples and diagrams.

    No patent liability is assumed by Rockwell Automation, Inc. with respect to use of information, circuits, equipment, or software described in this manual.

    Reproduction of the contents of this manual, in whole or in part, without written permission of Rockwell Automation, Inc., is prohibited.

    Throughout this manual, when necessary, we use notes to make you aware of safety considerations.

    Allen-Bradley, Rockwell Automation, and TechConnect are trademarks of Rockwell Automation, Inc.

    Trademarks not belonging to Rockwell Automation are property of their respective companies.

    WARNINGIdentifies information about practices or circumstances that can cause an explosion in a hazardous environment, which may lead to personal injury or death, property damage, or economic loss.

    IMPORTANT Identifies information that is critical for successful application and understanding of the product.

    ATTENTION Identifies information about practices or circumstances that can lead to personal injury or death, property damage, or economic loss. Attentions help you identify a hazard, avoid a hazard, and recognize the consequence

    SHOCK HAZARD Labels may be on or inside the equipment, for example, a drive or motor, to alert people that dangerous voltage may be present.

    BURN HAZARD Labels may be on or inside the equipment, for example, a drive or motor, to alert people that surfaces may reach dangerous temperatures.

    http://literature.rockwellautomation.com

  • Table of ContentsPreface Purpose of this Manual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

    How to Use this Manual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

    Chapter 1Programming a Function Block Diagram

    Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7Choose the Function Block Elements . . . . . . . . . . . . . . . . . . . . . . . . . . 8Choose a Tag Name for an Element. . . . . . . . . . . . . . . . . . . . . . . . . . . . 8Define the Order of Execution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

    Data Latching. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10Order of Execution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12Resolve a Loop. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13Resolve Data Flow Between Two Blocks. . . . . . . . . . . . . . . . . . . . 15Create a One Scan Delay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

    Identify any Connectors. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16Define Program/Operator Control. . . . . . . . . . . . . . . . . . . . . . . . . . . . 17Add a Sheet. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20Add a Function Block Element . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20Create a Text Box. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

    Language Switching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22Connect Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

    Show or Hide a Pin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23Wire Elements Together . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24Mark a Wire with the Assume Data Available Indicator . . . . . . . . 24

    Assign a Tag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24Create and Assign a New Tag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24Assign an Existing Tag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

    Assign an Immediate Value (Constant). . . . . . . . . . . . . . . . . . . . . . . . . 26Use an IREF. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26Enter a Value in the Tag of a Block . . . . . . . . . . . . . . . . . . . . . . . . 27

    Connect Blocks with an OCON and ICON . . . . . . . . . . . . . . . . . . . . 27Add an OCON . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27Add an ICON . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

    Verify the Routine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

    3Publication 1756-PM009B-EN-P - July 2008 3

  • Table of Contents

    4 Publication 1756-PM009B-EN-P - July 2008

  • Preface

    Purpose of this Manual This manual shows how to program Logix5000 controllers with the function block diagram (FBD) programming language. This manual is one of a set of related manuals that show common procedures for programming and operating Logix5000 controllers. For a complete list of common procedures manuals, see the Logix 5000 Controllers Common Procedures Programming Manual, publication 1756-PM001.

    The term Logix5000 controller refers to any controller that is based on the Logix5000 operating system, such as:

    CompactLogix controllers ControlLogix controllers DriveLogix controllers FlexLogix controllers SoftLogix5800 controllers

    How to Use this Manual Some text is formatted differently from the rest of the text.

    Text that is Identifies For example Means

    Italic the actual name of an item that you see on your screen or in an example

    Right-click User-Defined Right-click the item that is named User-Defined.

    courier information that you must supply based on your application (a variable)

    Right-click name_of_program

    You must identify the specific program in your application. Typically, it is a name or variable that you have defined.

    enclosed in brackets a keyboard key Press [Enter]. Press the Enter key.

    5Publication 1756-PM009B-EN-P - July 2008 5

  • Preface

    Notes:

    6 Publication 1756-PM009B-EN-P - July 2008

  • Chapter 1

    Programming a Function Block Diagram

    Introduction To make it easier to navigate through a function block routine, divide the routine into a series of sheets.

    Sheets help you organize and find your function blocks. They do not effect the order in which the function blocks execute.

    When the routine executes, all the sheets execute. In general, use one sheet for each device (motor, valve, etc.)

    EXAMPLE

    Sheet 1 of 4 motor 1 Sheet 2 of 4 motor 2

    Sheet 3 of 4 motor 3 Sheet 4 of 4 motor 4

    Motor Control Routine

    7Publication 1756-PM009B-EN-P - July 2008 7

  • Programming a Function Block Diagram Chapter 1

    Choose the Function Block Elements

    To control a device, use these elements:

    To choose function block elements:

    Choose a Tag Name for an Element

    Each function block uses a tag to store configuration and status information about the instruction.

    Input reference (IREF) Function block

    Output wire connector (OCON)

    Output reference (OREF)

    Input wireconnector

    (ICON)

    If you want to Then use a

    Supply a value from an input device or tag Input reference (IREF)

    Send a value to an output device or tag Output reference (OREF)

    Perform an operation on an input value or values and produce an output value or values

    Function block

    Transfer data between function blocks when they are:

    far apart on the same sheet. on different sheets within the same routine.

    Output wire connector (OCON) and an input wire connector (ICON)

    Disperse data to several points in the routine Single output wire connector (OCON) and multiple input wire connectors (ICON)

    8 Publication 1756-PM009B-EN-P - July 2008

  • Chapter 1 Programming a Function Block Diagram

    When you add function block instruction, RSLogix 5000 software automatically creates a tag for the block. You can use this tag as is, rename the tag, or assign a different tag.

    For IREFs and OREFs, you have to create a tag or assign an existing tag.

    where:x is the location of the element in the first dimension. y is the location of the element in the second dimension.z is the location of the element in the third dimension.

    For a structure within a structure, add an additional member_name.

    For a Specify

    Tag tag_name

    Bit number of a larger data type tag_name.bit_number

    Member of a structure tag_name.member_name

    Element of a one dimension array tag_name[x]

    Element of a two dimension array tag_name[x,y]

    Element of a three dimension array tag_name[x,y,z]

    Element of an array within a structure tag_name.member_name[x]

    Member of an element of an array tag_name[x,y,z].member_name

    TIP I/O module data updates asynchronously to the execution of logic. If you reference an input multiple times in your logic, the input could change state between separate references. If you need the input to have the same state for each reference, buffer the input value and reference that buffer tag.

    Publication 1756-PM009B-EN-P - July 2008 9

  • Programming a Function Block Diagram Chapter 1

    Define the Order of Execution

    You define execution order (flow of data) by wiring elements together and indicating any input (feedback) wires, if necessary. The location of a block does not affect the order in which the blocks execute.

    Data Latching

    If you use an IREF to specify input data for a function block instruction, the data in that IREF is latched for the scan of the function block routine. The IREF latches data from program-scoped and controller-scoped tags. The controller updates all IREF data at the beginning of each scan.

    Output pin Wire Input pin Output pin Wire Input pin

    Data flows from output pins to input pins

    Wire symbols:

    SINT, INT, DINT, or REAL value

    BOOL value (0 or 1)

    IREF

    10 Publication 1756-PM009B-EN-P - July 2008

  • Chapter 1 Programming a Function Block Diagram

    In this example, the value of tagA is stored at the beginning of the routines execution. The stored value is used when Block_01 executes. The same stored value is also used when Blcock_02 executes. If the value of tagA changes during execution of the routine, the stored value of tagA in the IREF does not change until the next execution of the routine.

    This example is the same as the one above. The value of tagA is stored only once at the beginning of the routines execution. The routine uses this stored value throughout the routine.

    Starting with RSLogix 5000 software, version 11, you can use the same tag in multiple IREFs and an OREF in the same routine. Because the values of tags in IREFs are latched every scan through the routine, all IREFs will use the same value, even if an OREF obtains a different tag value during execution of the routine. In this example, if tagA has a value of 25.4 when the routine starts executing this scan, and Block_01 changes the value of tagA to 50.9, the second IREF wired into Block_02 will still use a value of 25.4 when Block_02

    tagA

    Block_01

    Block_02

    tagA

    Block_01

    Block_02

    tagA

    Publication 1756-PM009B-EN-P - July 2008 11

  • Programming a Function Block Diagram Chapter 1

    executes this scan. The new tagA value of 50.9 will not be used by any IREFs in this routine until the start of the next scan.

    Order of Execution

    The RSLogix 5000 programming software automatically determines the order of execution for the function blocks in a routine when you:

    verify a function block routine. verify a project that contains a function block routine. download a project that contains a function block routine.

    You define execution order by wiring function blocks together and indicating the data flow of any feedback wires, if necessary.

    If function blocks are not wired together, it does not matter which block executes first. There is no data flow between the blocks.

    If you wire the blocks sequentially, the execution order moves from input to output. The inputs of a block require data to be available before the controller can execute that block. For example, block 2 has to execute before block 3 because the outputs of block 2 feed the inputs of block 3.

    1 2 3

    12 Publication 1756-PM009B-EN-P - July 2008

  • Chapter 1 Programming a Function Block Diagram

    Execution order is only relative to the blocks that are wired together. This example is fine because the two groups of blocks are not wired together. The blocks within a specific group execute in the appropriate order in relation to the blocks in that group.

    Resolve a Loop

    To create a feedback loop around a block, wire an output pin of the block to an input pin of the same block. This example is fine. The loop contains only a single block, so execution order does not matter.

    If a group of blocks are in a loop, the controller cannot determine which block to execute first. In other words, it cannot resolve the loop.

    1 3 5

    2 4 6

    This input pin uses an output thatthe block produced on the

    previous scan.

    ?? ?

    Publication 1756-PM009B-EN-P - July 2008 13

  • Programming a Function Block Diagram Chapter 1

    To identify which block to execute first, mark the input wire that creates the loop (the feedback wire) with the Assume Data Available indicator. In this example, block 1 uses the output from block 3 that was produced in the previous execution of the routine.

    The Assume Data Available indicator defines the data flow within the loop. The arrow indicates that the data serves as input to the first block in the loop.

    Do not mark all the wires of a loop with the Assume Data Available indicator.

    1 2 3

    This input pin uses the outputthat block 3 produced on the

    previous scan.

    Assume Data Available indicator

    This is OK This is NOT OK

    The Assume Data Available indicator defines the data flow within the loop.

    The controller cannot resolve the loop because all the wires use the Assume Data Available indicator.Assume Data Available

    indicator

    21 ??

    14 Publication 1756-PM009B-EN-P - July 2008

  • Chapter 1 Programming a Function Block Diagram

    Resolve Data Flow Between Two Blocks

    If you use two or more wires to connect two blocks, use the same data flow indicators for all of the wires between the two blocks.

    Create a One Scan Delay

    To produce a one scan delay between blocks, use the Assume Data Available indicator. In this example, block 1 executes first. It uses the output from block 2 that was produced in the previous scan of the routine.

    This is OK This is NOT OK

    Neither wire uses the Assume Data Available indicator.

    Both wires use the Assume Data Available indicator.

    One wire uses the Assume Data Available indicator while the other wire does not.

    Assume Data Available indicator

    2 1

    Assume Data Available indicator

    Publication 1756-PM009B-EN-P - July 2008 15

  • Programming a Function Block Diagram Chapter 1

    Summary

    A function block routine executes in this order:

    1. The controller latches all data values in IREFs.

    2. The controller executes the other function blocks in the order determined by how they are wired.

    3. The controller writes outputs in OREFs.

    Identify any Connectors Like wires, connectors transfer data from output pins to input pins. Use connectors when:

    the elements that you want to connect are on different sheets within the same routine.

    a wire is difficult to route around other wires or elements. you want to disperse data to several points in the routine.

    To use connectors, follow these rules: Each OCON requires a unique name. For each OCON, you must have at least one corresponding ICON (for

    example, an ICON with the same name as the OCON). Multiple ICONs can reference the same OCON. This lets you disperse

    data to several points in your routine.

    Connector_A

    Connector_A

    Data

    16 Publication 1756-PM009B-EN-P - July 2008

  • Chapter 1 Programming a Function Block Diagram

    Define Program/Operator Control

    Several instructions support the concept of Program/Operator control. These instructions include:

    Enhanced Select (ESEL) Totalizer (TOT) Enhanced PID (PIDE) Ramp/Soak (RMPS) Discrete 2-State Device (D2SD) Discrete 3-State Device (D3SD)

    Program/Operator control lets you control these instructions simultaneously from both your user program and from an operator interface device. When in Program control, the instruction is controlled by the Program inputs to the instruction; when in Operator control, the instruction is controlled by the Operator inputs to the instruction.

    Program or Operator control is determined by using these inputs.

    To determine whether an instruction is in Program or Control control, examine the ProgOper output. If ProgOper is set, the instruction is in Program control; if ProgOper is cleared, the instruction is in Operator control.

    Operator control takes precedence over Program control if both input request bits are set. For example, if ProgProgReq and ProgOperReq are both set, the instruction goes to Operator control.

    Input Description

    .ProgProgReq A program request to go to Program control.

    .ProgOperReq A program request to go to Operator control.

    .OperProgReq An operator request to go to Program control.

    .OperOperReq An operator request to go to Operator control.

    Publication 1756-PM009B-EN-P - July 2008 17

  • Programming a Function Block Diagram Chapter 1

    The Program request inputs take precedence over the Operator request inputs. This provides the capability to use the ProgProgReq and ProgOperReq inputs to lock an instruction in a desired control. For example, lets assume that a Totalizer instruction will always be used in Operator control, and your user program will never control the running or stopping of the Totalizer. In this case, you could wire a literal value of 1 into the ProgOperReq. This would prevent the operator from ever putting the Totalizer into Program control by setting the OperProgReq from an operator interface device.

    Likewise, constantly setting the ProgProgReq can lock the instruction into Program control. This is useful for automatic startup sequences when you want the program to control the action of the instruction without worrying about an operator inadvertently taking control of the instruction. In this example, you have the program set the ProgProgReq input during the startup, and then clear the ProgProgReq input once the startup was complete. Once the ProgProgReq input is cleared, the instruction remains in Program control until it receives a request to change. For example, the operator could set the

    Because the ProgOperReq input is always set, pressing the Program button on the faceplate (which sets the OperProgReg input) has no effect. Normally, setting OperProgReq puts the TOT in Program control.

    Wiring a 1 into ProgOperReq means the user program always wants the TOT to be in Operator control

    18 Publication 1756-PM009B-EN-P - July 2008

  • Chapter 1 Programming a Function Block Diagram

    OperOperReq input from a faceplate to take over control of that instruction. This example shows how to lock an instruction into Program control.

    Operator request inputs to an instruction are always cleared by the instruction when it executes. This lets operator interfaces to work with these instructions by merely setting the desired mode request bit. You dont have to program the operator interface to reset the request bits. For example, if an operator interface sets the OperAutoReq input to a PIDE instruction, when the PIDE instruction executes, it determines what the appropriate response should be and clears the OperAutoReq.

    Program request inputs are not normally cleared by the instruction because these are normally wired as inputs into the instruction. If the instruction clears these inputs, the input would just get set again by the wired input. There might be situations where you want to use other logic to set the Program requests in such a manner that you want the Program requests to be cleared by the instruction. In this case, you can set the ProgValueReset input and the instruction will always clear the Program mode request inputs when it executes.

    When StartupSequenceActive is set, the PIDE instruction is placed in Program control and Manual mode. The StartupCV value is used as the loop output.

    Publication 1756-PM009B-EN-P - July 2008 19

  • Programming a Function Block Diagram Chapter 1

    In this example, a rung of ladder logic in another routine is used to one-shot latch a ProgAutoReq to a PIDE instruction when a pushbutton is pushed. Because the PIDE instruction automatically clears the Program mode requests, you dont have to write any ladder logic to clear the ProgAutoReq after the routine executes, and the PIDE instruction will receive only one request to go to Auto every time the pushbutton is pressed.

    Add a Sheet To add a sheet to a function block routine:

    1. Click

    2. Type a description of the sheet (up to 50 characters).

    Add a Function Block Element

    Use the Language Element toolbar to add a function block to a routine.

    When the TIC101AutoReq Pushbutton is pressed, one-shot latch ProgAutoReq for the PIDE instruction TIC101. TIC101 has been configured with the ProgValueReset input set, so when the PIDE instruction executes, it automatically clears ProgAutoReq.

    IREF OCONOREF ICON Function blocks

    Other function blocks

    20 Publication 1756-PM009B-EN-P - July 2008

  • Chapter 1 Programming a Function Block Diagram

    To add an element:

    1. On the Language Element toolbar, click the button for the element that you want to add.

    2. Drag the element to the desired location.

    You can also drag the button for the element directly to the desired location.

    Create a Text Box With a text box, you can add notes that clarify the function of an FBD element, such as blocks, references, and connectors. Text boxes are only stored in the offline, ACD project file. Text boxes are not downloaded into controller memory.

    You can also use a text box to capture information that you will use later on, as shown in this example:

    1. Click

    Publication 1756-PM009B-EN-P - July 2008 21

  • Programming a Function Block Diagram Chapter 1

    A text box appears.

    2. Drag the text box to a location near the element to which it applies.

    3. Double-click the text box and type the note.

    4. Then press [Ctrl] + [Enter].

    5. As you move the element on the FBD, what do you want the text box to do?

    6. Click the pin symbol in the text box and then click the FBD element to which you want to attach the text box.

    A green dot shows a valid connection point.

    Language Switching

    With RSLogix 5000 software, version 17, you have the option to display project documentation, such as tag descriptions and rung comments for any supported localized language. You can store project documentation for multiple languages in a single project file rather than in language-specific project files. You define all the localized languages that the project will support and set the current, default, and optional custom localized language. The software uses the default language if the current language's content is blank for a particular component of the project. However, you can use a custom language to tailor documentation to a specific type of project file user.

    If you want the text box to Then

    Stay in the same spot Stop. You are done.

    Move with the element to which it applies

    Go to step 6.

    A

    B

    Green dot

    22 Publication 1756-PM009B-EN-P - July 2008

  • Chapter 1 Programming a Function Block Diagram

    Enter the localized descriptions in your RSLogix 5000 project, either when programming in that language or by using the import/export utility to translate the documentation off-line and then import it back into the project. Once you enable language switching in RSLogix 5000 software, you can dynamically switch between languages as you use the software.

    Project documentation that supports multiple translations within a project includes:

    Component descriptions in tags, routines, programs, user-defined data types, and Add-On Instructions.

    Equipment phases. Trends. Controllers. Alarm Messages (in ALARM_ANALOG and ALARM_DIGITAL

    configuration). Tasks. Property descriptions for modules in the Controller Organizer. Rung comments, SFC text boxes, and FBD text boxes.

    For more information on enabling a project to support multiple translations of project documentation, see the online help.

    Connect Elements Show or Hide a Pin

    When you add a Function Block instruction, the block appears with a set of pins for the default parameters. The rest of the pins are hidden. To show or hide a pin:

    1. Click the button of the block.

    2. Clear or check the Vis check box of the pin:

    If you want to Then

    Hide a pin Clear (uncheck) its Vis check box.

    Show a pin Check its Vis check box.

    Publication 1756-PM009B-EN-P - July 2008 23

  • Programming a Function Block Diagram Chapter 1

    3. Click OK.

    Wire Elements Together

    To wire (connect) two elements together, click the output pin of the first element and then click the input pin of the other element. A green dot shows a valid connection point.

    Mark a Wire with the Assume Data Available Indicator

    To define a wire as an input, right-click the wire and choose Assume Data Available.

    Assign a Tag Create and Assign a New Tag

    1. Double-click the operand area.

    2. Type a name for the tag and press [Enter].

    3. Right-click the tag name and choose New tag_name.

    Green dot

    A B

    1 2 3

    Input wire

    24 Publication 1756-PM009B-EN-P - July 2008

  • Chapter 1 Programming a Function Block Diagram

    4. Click the button.

    5. Select the data type for the tag.

    6. If the tag as an array, type the number of elements in each dimension.

    7. Click OK.

    8. Select the scope for the tag.

    9. Click OK.

    Publication 1756-PM009B-EN-P - July 2008 25

  • Programming a Function Block Diagram Chapter 1

    Assign an Existing Tag

    1. Double-click the operand area.

    2. Click the >.

    3. Select the tag.

    4. Press [Enter] or click a different spot on the diagram.

    Assign an Immediate Value (Constant)

    To assign a constant value instead of a tag value to an input parameter, you have these options:

    Use an IREF

    1. Add an IREF.

    2. Wire the IREF to the input pin that gets the value.

    3. Double-click the operand area of the IREF.

    4. Type the value and press [Enter].

    To select a: Do this

    Tag Double-click the tag name.

    Bit number A. Click the tag name.

    B. To the right of the tag name, click >.

    C. Click the required bit.

    Block_01

    If you want to Then

    Make the value visible on the diagram and reports Use an IREF

    Be able to change the value online without editing the routine

    Enter a Value in the Tag of a Block

    3.

    26 Publication 1756-PM009B-EN-P - July 2008

  • Chapter 1 Programming a Function Block Diagram

    Enter a Value in the Tag of a Block

    To assign a value to a parameter when on wire connects to its pin:

    1. Click the button of the block.

    2. Type the value.

    3. Click OK.

    Connect Blocks with an OCON and ICON

    Use an OCON or ICON to transfer data between sheets or in complex wiring situations:

    Add an OCON

    1. Add an output wire connector (OCON) and place it near the output pin that supplies the value.

    2. Wire the OCON to the output pin.

    3. Double-click the operand area of the OCON.

    4. Type a name that identifies the connector and press [Enter].

    OCONICON

    Publication 1756-PM009B-EN-P - July 2008 27

  • Programming a Function Block Diagram Chapter 1

    Add an ICON

    1. Add an input wire connector (ICON) and place it near the input pin that gets the value from the corresponding OCON.

    2. Wire the ICON to the input pin.

    3. Double-click the operand area of the ICON.

    4. Select the name of the OCON that supplies the value to this connector and then click a blank spot on the diagram

    Verify the Routine As you program your routine, periodically verify your work:

    1. In the top-most toolbar of the RSLogix 5000 window, click

    2. If any errors are listed at the bottom of the window:a. To go to the first error or warning, press [F4].b. Correct the error according to the description in the Results window.c. Go to step 1.

    3. To close the Results window, press [Alt] + [1].

    28 Publication 1756-PM009B-EN-P - July 2008

  • How Are We Doing?Your comments on our technical publications will help us serve you better in the future.Thank you for taking the time to provide us feedback.

    You can complete this form and mail (or fax) it back to us or email us at

    [email protected].

    Please complete the sections below. Where applicable, rank the feature (1=needs improvement, 2=satisfactory, and 3=outstanding).

    Pub. Title/Type Logix5000 Controllers Function Block Diagram

    Cat. No. 1756 ControlLogix, 1769 CompactLogix, 1789 SoftLogix, 1794 FlexLogix, PowerFlex 700S with DriveLogix

    Pub. No. 1756-PM009B-EN-P Pub. Date July 2008 Part No.

    Overall Usefulness 1 2 3 How can we make this publication more useful for you?

    Completeness(all necessary information

    is provided)

    1 2 3 Can we add more information to help you?

    procedure/step illustration feature

    example guideline other

    explanation definition

    Technical Accuracy(all provided information

    is correct)

    1 2 3 Can we be more accurate?

    text illustration

    Clarity(all provided information is

    easy to understand)

    1 2 3 How can we make things clearer?

    Other Comments You can add additional comments on the back of this form.

    Your Name

    Your Title/Function Would you like us to contact you regarding your comments?

    Location/Phone ___No, there is no need to contact me

    ___Yes, please call me

    ___Yes, please email me at _______________________

    ___Yes, please contact me via _____________________

    Return this form to: Rockwell Automation Technical Communications, 1 Allen-Bradley Dr., Mayfield Hts., OH 44124-9705

    Fax: 440-646-3525 Email: [email protected]

    Publication CIG-CO521D-EN-P- July 2007

  • Other Comments

    PLEASE FOLD HERE

    NO POSTAGE NECESSARY IF MAILED

    IN THE UNITED STATES

    BUSINESS REPLY MAILFIRST-CLASS MAIL PERMIT NO. 18235 CLEVELAND OH

    POSTAGE WILL BE PAID BY THE ADDRESSEE

    1 ALLEN-BRADLEY DRMAYFIELD HEIGHTS OH 44124-9705

    PLEASE FASTEN HERE (DO NOT STAPLE)

    PLEA

    SE R

    EMOV

    E

  • Publication 1756-PM009B-EN-P - July 2008 30Supersedes Publication 1756-PM009A-EN-P - July 2007 Copyright 2008 Rockwell Automation, Inc. All rights reserved. Printed in the U.S.A.

    Rockwell Automation Support

    Rockwell Automation provides technical information on the Web to assist you in using its products. At http://support.rockwellautomation.com, you can find technical manuals, a knowledge base of FAQs, technical and application notes, sample code and links to software service packs, and a MySupport feature that you can customize to make the best use of these tools.

    For an additional level of technical phone support for installation, configuration, and troubleshooting, we offer TechConnect support programs. For more information, contact your local distributor or Rockwell Automation representative, or visit http://support.rockwellautomation.com.

    Installation Assistance

    If you experience a problem within the first 24 hours of installation, please review the information that's contained in this manual. You can also contact a special Customer Support number for initial help in getting your product up and running.

    New Product Satisfaction Return

    Rockwell Automation tests all of its products to ensure that they are fully operational when shipped from the manufacturing facility. However, if your product is not functioning and needs to be returned, follow these procedures.

    United States 1.440.646.3434Monday Friday, 8am 5pm EST

    Outside United States

    Please contact your local Rockwell Automation representative for any technical support issues.

    United States Contact your distributor. You must provide a Customer Support case number (call the phone number above to obtain one) to your distributor in order to complete the return process.

    Outside United States

    Please contact your local Rockwell Automation representative for the return procedure.

    http://support.rockwellautomation.comhttp://support.rockwellautomation.com

    1756-PM009B-EN-P, Logix5000 Controllers Function Block Diagram Programming ManualTable of ContentsPrefacePurpose of this ManualHow to Use this Manual

    Programming a Function Block DiagramIntroductionChoose the Function Block ElementsChoose a Tag Name for an ElementDefine the Order of ExecutionIdentify any ConnectorsDefine Program/Operator ControlAdd a SheetAdd a Function Block ElementCreate a Text BoxConnect ElementsAssign a TagAssign an Immediate Value (Constant)Connect Blocks with an OCON and ICONVerify the Routine

    Back Cover

    /ColorImageDict > /JPEG2000ColorACSImageDict > /JPEG2000ColorImageDict > /AntiAliasGrayImages false /CropGrayImages true /GrayImageMinResolution 150 /GrayImageMinResolutionPolicy /OK /DownsampleGrayImages true /GrayImageDownsampleType /Bicubic /GrayImageResolution 150 /GrayImageDepth 8 /GrayImageMinDownsampleDepth 2 /GrayImageDownsampleThreshold 1.00000 /EncodeGrayImages true /GrayImageFilter /FlateEncode /AutoFilterGrayImages false /GrayImageAutoFilterStrategy /JPEG /GrayACSImageDict > /GrayImageDict > /JPEG2000GrayACSImageDict > /JPEG2000GrayImageDict > /AntiAliasMonoImages false /CropMonoImages true /MonoImageMinResolution 900 /MonoImageMinResolutionPolicy /OK /DownsampleMonoImages true /MonoImageDownsampleType /Bicubic /MonoImageResolution 900 /MonoImageDepth -1 /MonoImageDownsampleThreshold 1.00000 /EncodeMonoImages true /MonoImageFilter /CCITTFaxEncode /MonoImageDict > /AllowPSXObjects true /CheckCompliance [ /None ] /PDFX1aCheck false /PDFX3Check false /PDFXCompliantPDFOnly false /PDFXNoTrimBoxError true /PDFXTrimBoxToMediaBoxOffset [ 0.00000 0.00000 0.00000 0.00000 ] /PDFXSetBleedBoxToMediaBox true /PDFXBleedBoxToTrimBoxOffset [ 0.00000 0.00000 0.00000 0.00000 ] /PDFXOutputIntentProfile (None) /PDFXOutputConditionIdentifier () /PDFXOutputCondition () /PDFXRegistryName (http://www.color.org) /PDFXTrapped /False

    /SyntheticBoldness 1.000000 /Description >>> setdistillerparams> setpagedevice

    IN, RN pub type specs

    dPrint?Content/Comp #Split Shipment Indicator FlagWCSS Item NumberCustomer Item NumberItem DescriptionProducing PlantJob NumberReplenishing PlantPlant CodeProduct CodePackaging/Ordering UOMQty per Packaging/Ordering UOMList Price Per EaTransfer Cost per EaSell Price per EaStandard Cost (per Ea)Min Order Qty (in eaches)Multiple Order Qty (in EachesChargeback PriceItem Reference #1Item Reference #2Revision FieldMax Order Qty (in eaches)Sequentially Numbered Item?Sequentially Numbered Item - DetailsPriced for Digital or OffsetContent File LocationItem Category Form (F) Book (B)Item SubtypeOrientationSides PrintedCSS/JLS Stock ComponetPaper Size WidthPaper Size LengthNo of Forms to a SheetPage QtySheets QtyCSS/JLS Production StockPaper Stock TypePaper Stock WeightPaper Stock ColorStack OffsetTab Size# of TabsBinder SizeBinder ColorBinder Ring TypeBinder Transparency (clearview or matt)Thermal Tape ColorTrim Size WidthTrim Size LengthStitching LocationDrilling SizeDrilling LocationGlue Location# / PadFold TypeFold At# / Poly# / BoxCommentsCross Reference Item Number 1

    Publication NumberPublication TitlePackaging/Ordering Unit Of MeasureQty per Packaging/Ordering Unit of MeasureMin Order QtyMultiple Order QtyBusiness GroupCost CenterRevision DateMax Order QtyBlack & Whiteor ColorItem CategoryForm (F) or Book (B)Binding/StitchingOrientationSides PrintedPrinting Paper Size WidthPrinting Paper Size LengthNumber of Forms to a SheetPage Count of PublicationNumber of Sheets Required to PrintCSS/JLS Production StockPaper Stock TypePaper Stock WeightPaper Stock ColorStack OffsetTab SizeNumber of Tabs NeededBinder SizeBinder ColorBinder Ring TypeBinder TransparencyThermal Tape ColorFinished Trim Size WidthFinished Trim Size LengthStitching LocationDrill Hole SizeNumber and Location of Drill HolesGlue LocationNumber of Pages per PadFold TypeFold AtNumber of Pieces per Poly wrapNumber of Pieces per BoxCommentsPart Number

    Are these items being setup on dPrint? (Yes or No). If yes, Inv Mgmt to check "Print Management" flag on item setup.The content/Comp # will be provided by the CSC once the spec files are loaded to the DAS (the files must be named with the WCSS item #). The content/comp# must be hardcoded to the Item message Field in WCSS. Must be a 10 Digit number that starts with an 8.Required. Setting this to yes will allow warehouse product to ship out before the JIT item is completed. Setting this to no will hold all warehoused items until the printing of this item is complete. Please indicate Y or N.** Note: Each item with a Y will always ship separately even if produced at the same time as like items.Optional. 15 Characters Max. If the WCSS number provided already exists in the system, then Inventory Management will assign a random WCSS number.30 characters maximum.Cannot use quote symbol, that is--"--.Required. Which plant/Print Center will produce this item?Required. To be provided from the producing plant for JIT s/uRequired: What is the plant code of the plant that has owning rights to the dPrint files? If produced at multiple plants there can be only one owning plant.Required. What is the plant code of the facility that will produce this item? (see "Plant and Whse Codes" tab below)Required. Enter one of the applicable product.Method of packaging for publication shipment

    Click here for explanation of each value in the pull-downRequired. This field auto-calculates (transfer cost divided by .5). Used to determine Standard Cost on WCSS (which is 50% of the list price for these product codes).Required. Transfer Cost per ordering/packaging unit of measure.Required. Price that will be billed to customer upon order. If Price Breaks, enter "Price Breaks" and note them on separate spreadsheet.Required. Replacement Cost per Packaging/ordering UOM.Click here for an explanation of this field; otherwise, type NA.Optional. Used to assist customer with internal Chargebacks to end users. (per packaging/ordering UOM)IMPORTANT: This information must match the DocMan record.

    Click here for explanation of each value in the pull-down menu.IMPORTANT: This information must match the DocMan record.IMPORTANT: This information must match the DocMan record.

    Date on the publication.Click here for explanation of each value in the pull-down menu.Indicate Yes or No. Enter Yes if the item is a sequentially numbered item.Describe the details behind the sequentially numbered item, such as:- Record Sequence Shipped: whse will record the sequence numbers that shipped- Ship in Sequence Record: required to ship products in particular sequence and the whse records the numbersRequired: If PDF is to be retained in the DAS enter DAS in this field, if item is part of eCreate or Custom Docs put CUSTOM in this field.Typically a Book.

    Click here for explanation of each value in the pull-down menu.Click here for explanation of each value in the pull-downClick here for explanation of each value in the pull-down menu.Optional: Use when finished product stored in the warehouse is to be inserted into the construction of a JIT book.IMPORTANT: Not Trim Size width

    This is the width of the paper on which the publication is printed.IMPORTANT: Not Trim Size length

    This is the length of the paper on which the publication is printed.Click here for explanation of how to determine the information required.Click here for explanation of how to determine the information required.Optional: Use when product is being printed on Shell Stock. Provide warehoused WCSS Item nu,mber of product to be used in the production of JIT item.Click here for explanation of how to determine the information required.The pull-down menu lists the most common choices.

    Click here for a full list of the available choices.

    If you use a choice not in the pull-down list, type the value in the cell below the pull-down menu.If item uses tabs; otherwise, NA.If needed; otherwise type NA.If item used in a binder; otherwise, NA.If item used in a binder; otherwise, NA.If item used in a binder; otherwise, NA.If item used in a binder; otherwise, NA.If publication is thermal tape bound; otherwise, NA.Click here to see the available finished trim sizes.

    The sizes are listed - width x length.Click here to see the available finished trim sizes.

    The sizes are listed - width x length.If publication is Book [B] and stapled; otherwise, NA.Click here for a list of possible drill locationsIf publication uses padding; otherwise, NA.If publication is a notepad or message pad; otherwise, NA.Click here for explanation of each value in the pull-down menu. Folding of final document optionalThe location(s) of the foldClick here for explanation of each value in the pull-down menu.Use this column to list:- Cover Stock- Text Stock- Cover Ink- Text Ink- Spine, if necessary

    Also use to indicate any other production or finishing requirements not provided in previous columns

    Click here for an explanation of the available Cover Stock, Cover Ink and Text Ink values.List only if pubication is used in manufacturing; otherwise, leave blank.

    1756-PM009B-EN-PLogix5000 Controllers Function Block Diagram Programming ManualEA11Marketing CommercialCMKMAY IA Control/Vis/Net - 1902107/15/20085Black & WhiteBSADDLEPORTRAITHEAD2HEADRRD must provide this informationRRD must provide this information4328PLAIN20#WhiteRRD must provide this informationNANANANANANABLACK (preferred)8.511SIDENANANANAHALF8.5 x 1150RRD must provide this informationCover Stock = 90# White IndexText Stock = 20# White Opaque BondCover Ink = BlackText Ink = BlackSpine = If included as last page of PDF

    Click here for explanation of each value in the pull-down

    Method of packaging for publication shipment

    Click here for explanation of each value in the pull-down

    IMPORTANT: This information must match the DocMan record.

    Click here for explanation of each value in the pull-down menu.

    Click here for explanation of each value in the pull-down menu.

    Typically a Book.

    Click here for explanation of each value in the pull-down menu.

    Click here for explanation of each value in the pull-down menu.

    Click here for explanation of how to determine the information required.

    Click here for explanation of how to determine the information required.

    Click here for explanation of how to determine the information required.

    The pull-down menu lists the most common choices.

    Click here for a full list of the available choices.

    If you use a choice not in the pull-down list, type the value in the cell below the pull-down menu.

    Click here to see the available finished trim sizes.

    The sizes are listed - width x length.

    Click here to see the available finished trim sizes.

    The sizes are listed - width x length.

    Click here for a list of possible drill locations

    Click here for explanation of each value in the pull-down menu.

    Use this column to list:- Cover Stock- Text Stock- Cover Ink- Text Ink- Spine, if necessary

    Also use to indicate any other production or finishing requirements not provided in previous columns

    Click here for an explanation of the available Cover Stock, Cover Ink and Text Ink values.

    Click here for an explanation of this field; otherwise, type NA.

    Click here for explanation of each value in the pull-down menu. Folding of final document optional