Sie sind auf Seite 1von 73

Process Control Configuration

in Control Logix


PLEASE LEAVE THIS WORKBOOK IN THE ROOM!

EW1EN.doc
5/27/2009 Page 3 of 73
Table of Contents

TABLE OF CONTENTS___________________________________________________________3
PROCESS CONTROL CONFIGURATION IN CONTROL LOGIX _______________________________5
ABOUT THIS HANDS-ON LAB __________________________________________________5
LAB MATERIALS ___________________________________________________________6
LAB FILES _______________________________________________________________6
INTEGRATED ARCHITECTURE (IA) BASED PROCESS CONTROL SYSTEMS _________________7
EXAMPLE PROCESS APPLICATION _____________________________________________10
LAB01: THE PROCESS AUTOMATION CONTROLLER ENVIRONMENT_____________________11
LAB02: CREATE A CASCADED PIDE CONTROL STRATEGY___________________________15
LAB03: THE HMI COMPONENT OF THE CASCADED PID CONTROL STRATEGY _____________33
LAB 04: MATERIAL ADD CONTROL STRATEGY USING DISCRETE 3-STATE DEVICE
AND TOTALIZER FUNCTION BLOCKS INSTRUCTIONS ________________________________33


EW1EN.doc
5/27/2009 Page 5 of 73
Process Control Configuration in Control
Logix
About This Hands-On Lab
Welcome to the Logix Hands-On Lab series! This session provides you with an
opportunity to explore the Process Control Programming environment used for the
ControlLogix or CompactLogix platforms. The following sections explain what youll
be doing in this lab session, and what you will need to do to complete the hands-on
exercises.
As you complete the exercises in this hands-on session, you will:
Be introduced to the Integrated Architecture for Process Control System
architecture elements and how Rockwell Integrated Architecture technologies
and products are applied to one of them.
Review the Process Automation Controller organization and an example of a
process application.
Become familiar with a few of the many powerful process control instructions
in RSLogix 5000
Implement control strategies to solve real world process application scenarios
using Integrated Architecture technologies, the RSLogix Function Block
Diagramming editor and Factory Talk View.
Understand why the Logix processors are more than discrete PLCs, they are
Process Automation Controllers well suited to process applications, especially
when used in the Rockwell Automation IA based Process Automation System
architectures.
Lab Materials
For this Hands-On lab, we have provided you with the following materials that will
allow you to complete the labs in this workbook.
Hardware
This hands-on lab uses the Soft Logix 5800 soft controller environment that
requires no hardware:
Software
This hands-on lab uses the following software:
RSLogix 5000 programming software (Ver 17.00)
Factory Talk View Studio SE ( Ver 5.00)
SoftLogix 5800 V16.

Lab Files
This hands-on lab uses the following files:
Logix Project file PAC_AFLab_C1_10.ACD
Factory Talk View Project PAC_Reactor_Lab

Document Conventions
Throughout this workbook, we have used the following conventions to help guide you
through the lab materials.
This style or symbol: Indicates:
Words shown in bold italics
(e.g., RSLogix 5000 or OK)
Any item or button that you must click on, or a menu name
from which you must choose an option or command. This will
be an actual name of an item that you see on your screen or
in an example.
Words shown in bold italics,
enclosed in single quotes
(e.g., Controller1)
An item that you must type in the specified field. This is
information that you must supply based on your application
(e.g., a variable).
Note: When you type the text in the field, remember that you
do not need to type the quotes; simply type the words that
are contained within them (e.g., Controller1).
The text that appears inside of this gray box is supplemental
information regarding the lab materials, but not information
that is required reading in order for you to complete the lab
exercises. The text that follows this symbol may provide you
with helpful hints that can make it easier for you to use this
product. Most often, authors use this Tip Text style for
important information they want their students to see.

Note: If the mouse button is not specified in the text, you should click on the
left mouse button
EW1EN.doc
5/27/2009 Page 7 of 73
Integrated Architecture (IA) Based Process Control Systems
For process applications Rockwell leverages Integrated Architecture technologies
and a combination of standard Integrated Architecture products to create a scalable
and consistent configuration, visualization, and communications environment. The
below architecture represents a complete Rockwell Automation IA based Process
Automation System architecture combining the following core technologies:
Logix components for controller, I/O, and field device interfaces
NetLinx protocols for system networks and peer-to-peer communication
Visualization components for operator terminals and interfaces
FactoryTalk services for a consistent infrastructure across the entire plant
process and MES systems



Automation and Information Levels
Rockwell IA based Process Automation System architectures are based on
automation industry standards such as ISA-88, ISA-95, ISA-S100 and IEC 6-1131.
They also comply with emerging ARC Collaborated Process Automation System
(CPAS) model which calls for Process Automation Systems to have a common
control and configuration environment and have a common information infrastructure.
These industry standard references lay the foundation for organizing system
components into automation levels. The architectural hierarchy for the IA based
Process Automation System architectures is based on these levels. The automation
functionality defined for each of these levels is summarized below.
Automation Level 0 - Instruments, actuators, drives and the actual field devices,
this level includes field device Network components for DeviceNet,
FOUNDATION Fieldbus, and HART devices and others.
Automation Level 1 - Interfaces to the field devices including but not limited to
I/O, CNet (as Remote IO) and Logix controllers. But could also include any I/O
product that can be interfaced by the Logix controller such as Flex and distributed
I/O products.
Automation Level 2 - System elements at this level are combined software
products and dedicated PCs to provide specific functionality for configuration and
supervisory control of the system. Also included in this level are the components
that are used to provide system-wide access (communications) between the
supervisory level workstations and the control elements.
Automation Level 3 - System elements at this level are combined software
products and dedicated PCs that provide specific functionality for scheduling and
system optimization of the system. Also included in this level are the components
that are used to provide system-wide access (communications) between the
Manufacturing level workstations and the control elements including but not
limited to: Production Clients and Workstation, Patch Management, additional
Application Servers for Integrated Asset and Plant Historian, DMZ
Implementation and Business System Interfaces.
Automation Level 4 - The functionality associated with business planning and
enterprise level logistics.
The IA based Process Automation System Architectures levels contain functional
System Elements. These system elements define the hardware and control
platform, engineering environment, HMI, and information infrastructure.
EW1EN.doc
5/27/2009 Page 9 of 73
System Elements
Each level is made up of system components that provide specific system
functionality. The different functions can be labeled as system elements. These
system elements can be a single product (i.e. a Logix controller) or a combination of
both the Hardware and Software combined to provide definable system functionality.
This focus on the functional aspects of the system as opposed to individual products
is typical when discussing Process System architectures. The following table
describes the functional elements of the Rockwell IA based Process Automation
System architectures.
System Element Description
Engineering workstation (EWS) The engineering workstation (EWS) provides a single development platform
for creating and maintaining control strategies and for configuring system
elements.
Operator workstation (OWS) The operator workstation (OWS) provides an interactive graphical interface
to monitor and control the process.
Maintenance workstation (MWS) The maintenance workstation (MWS), typically a laptop, provides similar
functionality as the EWS and is designed to be portable so it can be used
locally to monitor and debug process problems.
Process application system server
(PASS)
The process application system server (PASS) is a required component
that provides central name resolution and look up services. The PASS also
hosts an HMI server and a data server.
Application server Servers provide additional system capacity. Application servers add
optional system capabilities such as:
Additional HMI servers.
Batch management for the system-wide batch management and control.
Plant historian for the collection of system process data.
Integrated asset management for change control, code management,
and field device configuration and management.
Process controller The process controller is a multitasking, multidiscipline controller that
supports continuous, batch, discrete, and motion applications. Different
control strategies are segmented to execute at the appropriate rate.
The ControlLogix controller supports continuous process applications,
including Advanced Process Control functions, with its deterministic, time-
based execution mode. The controller supports high-speed controller and
motion operations using a continuous scan mode and supports event-
driven operations using event-based control.
For this lab your work station is representative of a system
Engineering workstation (EWS). We will be using it to modify Logix
routines and Operator workstations displays to demonstrate control
strategy implementation on a few simple process application scenarios
using the Integrated Architecture technologies
Example Process Application
Process Cell Application
For this lab we will consider a theoretical process cell. The initial process blends 3
raw materials in a premix tank. This premix and an additional raw material is fed to
jacketed batch reactors. The reactors have multi-speed mixers and a Nitrogen
blanket. During the reaction process temperature is maintained by circulation of a
heat transfer fluid and associated heat exchanger. After the reaction step has
completed the product is discharged to a storage tank and ultimately used in a
continuous process.
The reactor unit requires several control strategies or control loops to control the
process. These define Equipment Modules or Control Modules in the S88 standard
terminology.
For this lab we will demonstrate the implementation of the RSLogix 5000 Function
Blocks in the context of complete control strategies within a Rockwell Automation
Integrated Architecture based Process Automation System Architecture.















EW1EN.doc
5/27/2009 Page 11 of 73
Lab01: The Process Automation Controller Environment
We will be using the Logix Automation Controller environment, RSLogix Function
Block Diagramming editor and Factory Talk View software as an Engineering Work
Station (EWS). The Logix controller is a true multi-disciplined controller that enables
the control of a total plant. This lab section is a quick overview of the Logix
environment and a description of one way it could be organized and used for a
process application.
Launch RSLogix 5000 Programming Software
In this section of the lab, you will launch the RSLogix 5000 software, which will allow
you to program the process automaton controller.
1. Double click on the RSLoogix 5000 icon on the Desktop to
launch the RSLogix5000 software. The RSLogix5000 Quick Start screen
appears.
The new Start pages help you learn about new features quickly locate relevant information
and support. The start pages offer three main areas of support: Quick Start, Resource Center
and Learning Center.
Resource Center:
Provides you with links to
online books valuable
downloads sites ns other
Rockwell Automation
support sites.

Learning Center: Allows
you to further explore
RSLogix by providing
more in depth tutorials on
and previewing new
features of the software

Quick Start: shortens the
acclimation period by
providing through sample
projects and tutorial
videos like getting started
and programming a First
Project.

Review the new start pages at your own pace, however, lab time is
limited so you may want to come back and review them after you have
completed the lab work.


2. Return to the Quick Start page (If you are not already there) and from the
Controller Projects list click on the PAC_AFLab_C1_10 project located in
the C:\Lab Files \ directory.


The lab project file opens.
The Controller Organizer
The Controller Organizer is a graphical representation of the contents of your project.
It consists of a hierarchical tree of the folders and files that contain all of the
information about the programs and data in the current project.
The default main folders in this tree are:
Controller Project Name - contains controller-scoped tags, controller fault handler and the
power up handler.
Tasks - tasks are shown in this folder. Each task shows its own programs with ladder
routines, function block routines, and program-scoped tags.
Motion Groups - Underneath the Motion Groups folder, you find groups of axes associated
with each other gathered into groups. You can assign these axes to specific motion groups
via the Axis Assignment tab of the Motion Group Properties dialog
Add-On Instructions contains Add-On Instructions, their routines, and tag collections.
Data Types - shows predefined and user-defined data types, which includes those data types
associated with Add-On Instructions. User-defined data types are created in this folder.
EW1EN.doc
5/27/2009 Page 13 of 73
Trends -RSLogix 5000 will allow you to create a trend, configure the data elements and
display attributes, and save it here as part of your project file.
In front of each folder, there is an icon containing a +sign or a - sign. The +sign
indicates that the folder is closed. Click it to expand the tree display and display the
files in the folder. The - sign indicates that the folder is already open and its contents
are visible. Clicking on the right mouse button brings up many different, context-
sensitive popup menus. Often, you find that this is a shortcut to access the property
window or to menu options from the menu bar.

Controller Tasks in a Process Control Application
Tasks are the basic scheduling mechanism for executing a program. Each task can
contain multiple programs, status information, and configuration information.
The majority of Process control applications are typically solved with periodic tasks
only. Process applications must guarantee complete execution of specific operations.
The relatively slow nature of most process applications (compared to most discrete
applications), makes periodic task a good choice for process applications. For
example, you might have a slow periodic task for control of slow process loops like
Temperature or levels in a large vessel, a faster periodic task for control of faster flow
or pressure loops.

Process Applications Consideration
By default, when you create a new project, the Main Task is
already defined as a continuous task. It is not required. For most
process applications this task is deleted and only periodic task are
used.
Although you can have up to 32 tasks in a Control Logix controller,
you typically will need no more than two or three Periodic Task for
running control strategies in Process applications. Using
additional tasks just makes it more difficult to judge your controller
loading.

3. Right click on the Area_01_100ms_Control _Task and then left click on
Properties. The Task Properties window appears
4. Left Click on the Configuration Tab to view
the task detail configuration.
Note: this is a Periodic task configured to execute
at 100ms. The Priority field shows the priority level
for the task. The Watchdog field shows the value
(in ms) for the watchdog timer which will generate a
Major Controller Fault if not maintained.
5. Select Cancel to close the properties window and return to the organizer.
Note: For this application we have created three periodic tasks to run the
control strategies. The following provides a brief explanation of the rational or
thought process for these tasks:
Area_01_50ms_Control_Task a 50ms task provided to run any logic that
requires quick execution such as processing of discrete timing signals or high
accuracy calculations.
Area_01_100ms_Control_Task a 100ms task provided to run logic for the
typical or common process control strategies. In this application it is being
used for Pressure control, pump control, valves and motors
Area_01_250ms_Control_Task a 250ms task provided task provided run to
logic for the slower process control strategies like temperature control which
does not physically change fast. The periodic rate is based on your process
characteristics. The goal is to adequately sense process changes and
update the I/O with out unnecessarily burdening the processor. For this
application second updates have been chosen.
EW1EN.doc
5/27/2009 Page 15 of 73
Lab02: Create a Cascaded PIDE Control Strategy
Casc ade Cont r ol
Cascade control is widely used within the process industries. Conventional cascade
schemes have two distinct features. There are two nested feedback control loops.
There is a secondary control loop located inside a primary control loop. In this lab the
cascade control process control strategy will be implemented with the Logix Function
Block Editor to control temperature in the reactor unit. Cascaded PID control will
allow us to take corrective action with the fast acting jacket temperature loop to
respond to disturbances within the reactor jacket heat transfer fluid system. The net
result is that the overall time that the slow responding product temperature loop
(primary loop) is out of tolerance is minimized.




In this lab you will:
Create a program and Function Block Routine
Create new PIDE blocks in a Cascade Control configuration using RSLogix
5000
Create a Split Range output using the SRTP instruction
Use Process Instructions for Process Simulation.

Create Program and Cascaded PID Function Block Routine
The task Area_01_250ms_Control_Task has been created for temperature control
routines but not the program. Create a program for Reactor 01 temperature controls.
1. Right Click on the Area_01_250ms_Control_Task and select new
program. Name the new program REACTOR_01_TempLoops and
Select OK


2. Right Click on REACTOR_01_TempLoops and select new routine.
Name the new program A1_R1_TIC_116AB
Make sure the Type: selected is Function Block Diagram and the In
Program or Phase selected is Reactor_01_TempLoops
Select OK to close the Routine properties window and Select OK

.
EW1EN.doc
5/27/2009 Page 17 of 73
3. Double click on the REACTOR_01_TempLoops program to open
properties and select the Configuration and Select A1_R1_TIC_116AB
as the Main Routine and select OK

4. Double Click on the A1_R1_TIC_116AB routine in the controller organizer
to open the empty routine
5. Select the Process tab toolbar

The Process Instruction menu bar appears.
6. Move your cursor over the instruction types to the PIDE instruction

7. On the Process tab on the toolbar, click on the PIDE function twice to
get two PIDE function blocks on the sheet. The two PIDE blocks should
now appear on the diagram (PIDE_01 and PIDE_02).
8. From the menu select View > Fit to Window to resize the sheet .

9. Move PIDE_02 over by clicking and dragging so you can see both PIDE
blocks with some room to work around each one

10. Zoom in or out if you need to by clicking the Zoom buttons on the toolbar.

11. Connect the PIDE_01 output CVEU to the PIDE_02 setpoint input
SPCascade as follows:
Click once on the PIDE_01s CVEU output pin and then PIDE_02 s
SPCascade the connection when the it turns green .

Review the additional considerations for cascading PIDE instructions below
Process Applications Consideration
The PIDE instruction has built-in capabilities to handle cascaded loops
Cascade/Ratio mode:
The secondary loop can either be in Cascade mode, in which case the
output of the primary will provide the set point of the secondary, or it
can be in Auto mode, in which case you can enter a temperature set
point for the jacket directly.
EW1EN.doc
5/27/2009 Page 19 of 73
Initialization:
If the secondary loop leaves Cascade mode, the primary loop needs
to stop trying to control since it no longer is affecting the process. It
should also set its output equal to the secondary loops set point, so
when the secondary is returned to Cascade mode, the primary will
bumplessly start controlling.
Windup:
When the secondary loop reaches an output or set point limit, you
want the primary loop to stop integrating in the direction of the limit.
For example, if the secondary reached a high output limit, primary
should no longer integrate in a positive direction. In our example, if the
secondary loop had opened the cooling valve 100%, it would make no
sense for the primary to continue to ask for more cooling since the
secondary cannot give any more cooling.


Configure Initialization and Windup Parameters
In light of the above we need to make some additional parameter settings. First on
the primary loop, you need to turn on visibility of the CVInitReq and CVInitValue pins.
These will be used to setup the initialization of the primary loop when the secondary
leaves Cascade mode.
12. Expose the primarys parameters by first clicking on the button for
PIDE_01, click on the Parameters Tab, scroll down to find the CVInitReq
and CVInitValue parameters, and enable the parameters visibility
checkbox as shown below:

Click Apply and OK to close the PIDE properties dialog.
13. Expose the InitPrimary parameter pin for secondary PIDE_02 in the
same fashion by checking the parameters visibility checkbox as you did
above.

14. Connect the initialization parameters. Click once on the secondary
setpoint output pin PIDE_02.SP and click again on the primary
CVInitValue pin PIDE_01.CVInitValue to make the initialization value
connection. Click once on the secondary InitPrimary pin
PIDE_02.InitPrimary and click again on the primary CVInitReq pin
PIDE_01.CVInitReq to make the initialization request connection. Click
anywhere on the white area to end connection process. Your sheet
should look similar to the one shown
below:

Note that the InitPrimary to CVInitReq is a Boolean connection (dashed line) and the
SP to CVInitValue is a Real connection (solid line).
These connections make provision for the secondary (PIDE_02) to assert a request
for the primary (PIDE_01) to initialize, the primary will initialize itself with the current
secondary setpoint. This provides a bumpless transfer when changing mode from
Auto to Cascade.
Next well need to enable the Anti-Windup Reset feature of the PIDE block.
15. Expose secondarys parameters again by first clicking on the button
for PIDE_02, click on the Parameters Tab, scroll down to find the
WindupHOut and WindupLOut parameters and click on the check box to
expose them.
16. Repeat this process to expose the WindupHIn and WindupLIn
parameters on the primary PIDE_01.
EW1EN.doc
5/27/2009 Page 21 of 73
17. Connect the PIDE_02.WindupHOut to PIDE_01.WindupHIn, and the
PIDE_02.WindupLOut to PIDE_01.WindupLIn. Your configuration should
now appear as follows:


Again these connections limit the action of the Primary when the
secondary has reached a limit.
18. Verify the routine by clicking the icon in the main toolbar

You should see the following errors in your results window:



If you look at your function block diagram, you will notice that you have two x marks
on both the primary and secondary PIDE blocks.
Process Applications Consideration
In Function Block, the execution flow, while important, is secondary to
the data flow. In fact, the execution flow is implied by the data flow.
As indicated below Function Block diagrams show the intermediate
mathematics and operations performed on the data on its way to the
output.

The actual order of execution of the instructions is only relevant within
a data flow path. As long as the operations (instructions) are executed
from upstream to downstream the actual execution order of the
distinct instructions is unimportant
The X is an indication that something is wrong with the blocks. In
this case the reason for errors is that there is something wrong with
the data flow. Anytime you use a feedback from a block downstream
in the data flow as an input, you must identify which input should be
resolved first to allow the execution order algorithm to determine which
block to execute first.
19. Right-click on your feedback wire leading from the PIDE_02.InitPrimary
to the PIDE_01.CVInitReq and select Assume Data Available.



20. Repeat this procedure for the other 3 connections into the PIDE_01.
This will resolve the order of execution and the routine can now be
verified. When finished, you should have the double arrowheads on each
as shown
:
EW1EN.doc
5/27/2009 Page 23 of 73


Some basic operating parameters will need to set in the PIDE instructions The
Cascaded setpoint functionality on PIDE_02 must be enabled by setting the
AllowCasRat parameter.
21. Click the view block properties ellipsis on PIDE_02 instruction to
open the Properties page and click on the Cascade/Ratio tab. Check the
Allow Cascade/ Ratio mode checkbox to enable this mode.

22. Now I/O connections need to be added to the Routine. Insert two input
references and one output references by clicking on Input reference
symbol and the Output reference symbol on the toolbar. A reference is
added each time you click on the tool bar.
23. Relocate them by dragging to something similar to below and connect
the inputs to the PV pins and outputs the CVEU pin of the PIDE_02.



The Tags for this project have already been created as Controller scoped tags but
they need to be referenced by the routine
24. For the PIDE_01 PV input reference Type TT_116 or double click and
find it in the drop down menu.

25. For the PIDE_02 PV input reference Type TT_117 or double click and
find it in the drop down menu Add the J acket Temp
26. For the PIDE_02 CVEU output reference Type Product_Temp_Dmd or
double click and find it in the drop down menu Your configuration should
look something like this:

27. Rename the PIDE_01 Instruction tag by clicking the view block
properties ellipsis on PIDE_01 instruction to open the Properties
page and then click on the Tag tab and change the tag namePIDE_01 to
TIC_116.


28. Set the Engineering Units scaling on the PIDE Instruction by clicking on
the EUs/Limits tab entering the below values:
- Set PV Max at 100% span to 250
- Set PV Min at 0% span to 0
EW1EN.doc
5/27/2009 Page 25 of 73
- Set SP Limits High: to 250
- Set SP Limits Low: to 0
Since the output of this PID is used to create the cascaded setpoint input to
PIDE_02 make the CV engineering units range the desired setpoint range for
Cascade Mode of the J acket Temperature controller as follows:
- Set CV Max at 100% output to 200
- Set CV Max at 0% output to 0
29. Set Go to the General Configuration tab and set initial Proportional an
Integral gains in the PID to get some initial movement. The Auto Tune
function will be used to replace these later in the lab select Ok.


30. Rename the PIDE_02 Instruction tag by clicking the View block
properties ellipsis on the PIDE_02 instruction to open the Properties
page and then click on the Tag tab.

Change the tag namePIDE_02 to TIC_117.
31. Set the Engineering Units scaling on the PIDE Instruction by clicking on
the EUs/Limits tab entering the below values:
- Set PV Max at 100% span to 250
- Set PV Min at 0% span to 0
- Set SP Limits High: to 250
- Set SP Limits Low: to 0
The output of this PID is used as the output demand CV engineering units %output
as follows:
- Set CV Max at 100% output to 100
- Set CV Max at 0% output to 0

32. Go to the General Configuration tab and set initial Proportional an
Integral gains in the PID to get some initial movement. The Autotune
function will be used to replace these later in the lab.



Select OK

33. Assign an Autotune tag to both of the PIDE instructions by double
clicking on the Autotune__? Tag entry area at the bottom right hand
corner of the PIDE block.

The drop down box opens
EW1EN.doc
5/27/2009 Page 27 of 73
34. Click on the drop down box double click on the tag AUTOTUNE Tag from
the menu.

35. Verify this routine again by clicking the icon in the main toolbar.
You should see the following errors in your results window:



Using the Split Range Time Proportion (SRTP) Instruction
In our example application we have a typical scenario where the reactor temperature
must be controlled. This includes heating from ambient temperature to a desired
operating temperature and cooling during the reaction. In our example the reaction is
exothermic, so, cooling will be critical to maintain the desired reactor temperature
during the reaction.
Our application uses a common split range control scheme in which the output of a
single controller is split between two control valves. In the split-range control strategy,
if the jacket temperature controller output is between 0 and 50%, the cold CTW valve
is open; if the jacket temperature controller output is between 50 and 100%, the
Dowtherm valve is open.
The Logix 5000 Split-Range Time-Proportion (SRTP) instruction takes a percent
input value (0%-100%) and converts it to a duty cycle discrete output. For example if
the input was set at 50% and the cycle time for the instruction is set at five seconds,
the discrete output would be on for 2.5 seconds and off for 2.5 seconds. This cycle
would then repeat where the on-time would be the percent input of the overall cycle
time. A common application for the SRTP instruction is in temperature applications
which use high wattage heater bands. In these applications analog control of the
power is either impractical or costly. A time proportioning a relay or like device
allows power to be proportionately applied to the heater without continuous analog
regulation. Likewise, cooling is often performed by pulsing solenoid valves to control
the flow of coolant.
This instruction also has analog outputs for split-ranging of the analog input signal
into two distinct analog TimePercentoutput ranges. The TimePercentoutput makes it
usable for applications where two actuators are controlled by the same signal but
require different scales (such as the reactor temperature control applications which
have both heat and cool valve actuators).
In general, the input % to output % mapping occurs as follows:


Note that the MaxXXXXIn can be less than or greater than the MinXXXXIn
parameter. This is useful for inverted control action on one or both regions of control
(ex: the cool action of a heat/cool pair is greater for lower values of input).
EW1EN.doc
5/27/2009 Page 29 of 73
Process Consideration
The fact that MaxXXXXIn can be less than or greater than
MinXXXXIn also enables the instruction to be used in a coarse/fine
control strategy. A course/fine strategy uses two control valves (CV)
one large and one small, connected for an additive affect on the
process. The large CV supports immediate response to demand
changes, but often lacks resolution. The small CV is used to improve
resolution and increase turndown.


Configuring the SRTP

Now lets take a look how the SRTP instruction is configured. The SRTP instruction
parameters determine for what values of the input the individual output regions are at
their minimums and maximums and for discrete outputs at what timing to repeat the
cycle (CycleTime).

In this lab the Reactor_01_TempLoops Program executes in a slow
task because the process variable is a vessel temperature which
cannot physically change that fast. Typically the SRTP instruction
executes in a faster, higher priority task so in order to keep the
resolution high and the pulse outputs more accurate. Even though we
are not using pulse outputs in this lab the SRTP instruction has been
located in an example faster 50ms periodic task that has been created
for routines that require faster execution times
36. In the Controller Organizer expand the Area _01_50ms_Fast _Control
task and the REACTOR_01_Fast_Control program.


37. Double click on the SRTP routine to open it.
This routine has been populated with SRTP instructions for multiple loops
from the Process functions in the toolbar.

38. Identify the current sheet (Sheet 1 0f 2) by entering PIC_118 Split
Range in the sheet description on the Sheet toolbar.

39. Select Sheet 2 by clicking on the sheet 2 in the drop down.

The TIC_116_out_SRange sheet opens.
40. Identify this sheet (Sheet 2 0f 2) by entering TIC_116 Split Range in
the sheet description on the Sheet toolbar Enter a description for this
sheet.
41. Click on the ellipsis in the SRTP block to gain access to the
parameters.
42. Click on the Insert Factory Defaults Button to
reset the instruction parameters
.
Graphically the desired operation is represented below
.

The following mapping will be used for the SRTP parameters:
MinHeatIn =50% When the PIDE.CV=50%, Heat%=0%
EW1EN.doc
5/27/2009 Page 31 of 73
MaxHeatIn =100% When the PIDE.CV=100%, Heat%=100%
MinCoolIn =50% When the PIDE.CV=50%, Cool%=0%
MaxCoolIn =0% When the PIDE.CV=0%, Cool%=100%
If Pulsed outputs were needed the following would also be required
MinHeatTime =0 sec The minimum heat time of 0 sec will correspond to 0% heat
MaxHeatTime =10 sec The maximum heat time of 10 sec will correspond to 100%
heat
MinCoolTime =0 sec The minimum cool time of 0 sec will correspond to 0% cool
MaxCoolTime =10 sec The maximum cool time of 10 sec will correspond to 100%
cool

The SRTP function must have the following parameters defined in
order to operate: CycleTime, MinHeatIn, MaxHeatIn, MaxHeatTime.
If Split-Ranging is required the following parameters are also needed
to operate: MinCoolIn, MaxCoolIn, MaxCoolTime.
Regardless of the application the CycleTime parameter must have a
non-zero entry for the function block.
The other parameters can remain as their default values.
Since the null point (no heat and no cool) is at PIDE.CVEU=50%, the
PIDE that is already in the program has been set to initialize at 50%
using the PIDE.CVInitValue parameter in the PIDE.


43. Based on the above required parameters enter 10 for the cycle time
parameter, MaxHeatTime, and MaxCoolTime since they are required
parameters. Change the MaxHeatIn, MinHeatIn , MaxCoolIn, MinCoolIn
Parameters to follow the mapping as follows .


44. Make sure the EnableOut parameter is set to 1 and then Select OK to
close the Properties dialog
The SRTP instruction splits the single PIDE output into two analog ranges as
indicated below

EW1EN.doc
5/27/2009 Page 33 of 73

Overview of Lab Simulation
The following section is to expose a few more function block instructions and to
stress the flexibility of the Logix platform and its programming languages.
The simulation used for this lab is fundamental but represents the kinds of tools
available to engineer more complex applications and process solutions. Since we
have no I/O for our lab we have created a dedicated task and program with routines
for simulation logic to generate Input Output tag data, close loops, represent process
changes and simulate equipment i.e., motors, valves and pumps.
Most non-integrating processes can be simulated with a deadtime delay and a first-
order lag in series. In our case, the two loops being simulated are a Primary,
Product Temperature loop which is more sluggish and the Secondary, J acket
Temperature loop which is more responsive.
The function block instructions used to generate the simulation are the Deadtime
(DEDT), Lead-Lag (LDLG) blocks and Function Generator (FGEN). The Deadtime
(DEDT) instruction performs a delay and represents the process deadtime or delay.
The Lead/Lag (LDLG) instruction provides the process lag. The Function generator
(FGEN) instruction is used to characterize the output and convert the signal back to
Process Engineering units.

Review and Edit the Temperature Simulation Logic
Expand the Simulation Task and Program
1. Right click on the All_Simulation Function Block routine and select open to
open the Routine logic.

2. Go to the second page of the routine by selecting next sheet on the sheet
tool bar.
3. Verify this is the Temperature simulation by making sure the indication on
the sheet toolbar reads. TIC116ab S Range simulation


4. You should see the following function block logic.

One set of dead time and lag instructions have been created for heating and another
for cooling since the SRTP provides two independent outputs and the fact that their
process characteristics would be unique. For this lab we will make them the same.
The combined effect of the two is then sent to the function generator which
characterizes the output and scales it into a temperature range simulating the faster
responding secondary J acket temperature TT_117. This is then fed to another
dead time and lag which simulates our sluggish primary reactor product
temperature TT_116.
5. Open the SRange DEDT_01 deadtime block parameters dialog by clicking
on the ellipsis and choosing the Parameters Tab in the properties dialog.

6. Check the dead time for this block make it 3.0 seconds and verify the
Gain is 1.25 and select OK.


7. Repeat these steps for the SRange_DEDT_02 deadtime block
parameters by double clicking on the ellipsis and choosing the
EW1EN.doc
5/27/2009 Page 35 of 73
Parameters Tab in the properties dialog. Change the dead time for this
block to 3.0 seconds and change the Gain to 1.25.
8. Open the SRange_LDLG_02 Lead Lag block parameters dialog by
clicking on the ellipsis and choosing the Parameters Tab in the properties
dialog.

9. Verify the Lag value is set to 15 seconds with a gain of 1.0

10. Repeat this step for the SRange_LDLG_01 block.
The Function Generator instruction takes an independent input variable (X_In) and
defines the output (Y_Out) as a curve fit by an XY mapping. The mapping is
achieved through arrays associate with the instruction. The X values are contained
in single dimensional arrays (X_Arrays) while the corresponding Y values are
contained in other single dimensional arrays (Y_Arrays). These arrays are identified
on the front of the instruction. When an input value is entered the function will find
that value in the X_Array (or interpolate between entries) and return the
corresponding (or interpolated) value from the Y_Array as the output
.
11. The All_Simulation routine has been populated with a Function
Generator instruction from the Process Element group.

12. Open the SRange_FGEN_02 Function Generator block parameters
dialog by clicking on the ellipsis.


13. Scroll mouse pointer over the XY1Size parameter description and hold



this parameter value indicates the number of segments the output curve
will contain. Select OK to close the dialog.

14. Right click on the output tag array SRange_FGEN_02Y1


EW1EN.doc
5/27/2009 Page 37 of 73
15. Select Monitor SRange_FGEN_02Y1 to open the tag editor



16. In the monitor tags window click on the to expand the
SRange_FGEN_02Y1 output.



This array defines the Function generators output curve segments and
also the simulation output range
17. In the monitor tags window move up a few tags and expand the
SRange_FGEN_02X1 output array.



This array defines the function generators input range corresponding
input curve segments.

18. Double click on the All_Simulation Function Block routine to return to
the routine

19. Open the SRange DEDT_03 deadtime block parameters dialog by
clicking on the ellipsis and choosing the Parameters Tab in the
properties dialog.

Note the dead time is larger than the secondary or jacket temperature.
This is an attempt recreate the delay it takes for heat transfer from the
jacket to the reactor product.

20. Select OK to close the dialog.
21. Verify this routine again by clicking the icon in the main toolbar.
You should see the following errors in your results window:




22. Save your project by clicking Save icon in the toolbar.


23. After you have saved your project download you controller by clicking on
the controller icon in the Controller status tool bar and selecting
download

EW1EN.doc
5/27/2009 Page 39 of 73
24. Select Download when the Download warning dialog appears confirming
the Project a target Controller.

25. After the project download has completed put the controller in run mode
by returning to the controller icon in the Controller Status tool bar and
selecting Run Mode from the dropdown menu.

26. Then select Yes on the confirmation dialog.



If you dont have a running controller (indicated by the green color of the
status and Routine window border) contact an Instructor to help trouble
shoot your application.



27. Minimize the RSLogix 5000 application.
EW1EN.doc
5/27/2009 Page 41 of 73

Lab03: The HMI component of the Cascaded PID Control
Strategy
About this Lab
In a Rockwell Automation IA based Process Automation System architecture the
control strategy definition is not limited to the controller. In addition to the Process
Automation Controller, the overall control strategy may have associated components
in the HMI or operator interface. Other components like Historical data collection or
advanced supervisory level control interaction from higher automation levels are also
considered part of the overall control strategy. All these things task the
communication networks, use system resources, and impact the overall system
performance.
To complete this cascaded PID strategy configuration from the Engineering
workstation we will use FactoryTalk View Studio Site Edition to configure the HMI
displays. FactoryTalk ViewSE Client provides the runtime Operator interface
environment to test the display and associated Controller logic.
In this lab you will:
Open an existing FactoryTalk ViewSE Process Project environment
Create a Global Object for use on Process displays
Modify A HMI Project Display using the new Global Objects and FactoryTalk
ViewSE standard process Faceplates
Exercise and Autotune the Cascaded PIDE pair via FactoryTalk ViewSE Client


Create a new Global Object
Now that we have created the Cascade and Simulation Routines, we need to add the
Operator interface component of the control strategy. We will set up displays in the
FactoryTalk View SE application and monitor and tune our PIDE loops. In order to
monitor the pertinent data we will use the Global Objects feature of FactoryTalk View
SE.
Lets configure the HMI component of our Control Strategy
1. From the computer desktop, double-click on the FactoryTalk View
Studio icon.

The Application Type Selection dialog appears
2. Select the Site Addition (Local) application type and then click on
Continue.
3. Click on Open to open the application called PAC_Reactor_Lab and wait
for application to completely open. Note: This takes a minute or two.
Global Objects
Global Objects have been updated in FactoryTalk View Enterprise
ver5.0 (CPR9).
After creating a global object (or group of objects), you can use it in
standard displays throughout an application. When you copy a global
object into a standard graphic display the copy is called a reference
object. The original global object (in the Global Objects folder)
becomes the copys base object. Reference objects have special
properties that allow them to link to the original, base objects. When
you modify properties of a base object, the changes are copied to all
reference objects linked to the base object.
Process Consideration
To help reduce development time Process faceplates are provided as
part of the FactoryTalk View Site Edition installation. For each
faceplate display there is a global object display (.ggfx) that contains
the basic objects for the faceplate, and a regular (.gfx) display. This
helps you to get an application up and running with minimal effort.
Faceplates have been created to support the following Process
instructions: Alarm, Enhanced Select, Totalizer, Ramp/Soak,
Discrete 2 State Device, Discrete 3 State Device, Phase Manager
and Enhanced PID.
4. Go to the Explorer Window and under the Graphics folder Double click on
the Global Objects folder to see the current global objects that already
have been created in the project.


Note: All the objects beginning with Logix_XXX are provided as part of
the Factory Talk View install by default. Only Display Blocks has been
created unique to this application. Lets have a look at what has already
been created

5. Maximize the FactoryTalk View SE application window to view the entire
display.


6. Double click on the Display Blocks Global object to open the display.

EW1EN.doc
5/27/2009 Page 43 of 73


These objects have been created as the base objects available for use on other
graphic in the display folder as references objects. When they are modified here
the changes are reflected in the reference objects.

In addition to some valves objects several display panels have been designed for
Pressure Loops, Totalization, Flow and % display. We need to create one for
Temperature loops. Lets take advantage of the work already done and reuse the
existing panel with some minor changes.

7. Duplicate the existing Pressure controller panel object.

by selecting Pressure controller panel object and then clicking on the
Duplicate button in the tool Bar.


8. Drag the new Controller object panel up so it is not on top of the Original
object and Right Click on the new duplicated panel.
9. Select Object Explorer from this menu.
The Object explorer window opens
10. Expand the Object Explorer Group6 and double click on Text6.

The Text properties window opens


11. In the Text Properties dialog Change PSI to Deg and select OK to close
the text Properties dialog.
12. Repeat steps 10 an 11 for Group 7, Text 9 to Change PSI to Deg
13. Close the Text Properties and Close the Object explorer and click in the
white space of the display to reset the focus.
14. Right Click on the new duplicated panel and select Animation then select
Touch
EW1EN.doc
5/27/2009 Page 45 of 73


This opens the Animation Dialog



The global object touch animation has been configured with a display command
(Display) calling the standard Faceplate (Logix_PIDE) using a tag placeholder (/T)
passing global object parameters (#1, #2)


Using global object parameters
Global object parameters are defined in the base objects of global
object displays. When you copy a global object from a global object
display onto a standard display from the Graphics folder, you can
assign values or reference tags to the defined global parameters in
the resulting reference object.
15. Close the animation Window then Right Click on the new duplicated panel
and select Global Object Parameter Definitions

The Global Object Parameter Definitions dialog opens showing two parameters
have been defined for this Global object. Arbitrarily named #1 for the PIDE
instruction tag and #2 for the Autotune tag
Global object parameter values or tags are assigned when the global object is
used as a reference object in graphic displays.
16. Select OK to close the Global Object Parameter Definitions dialog
17. From file menu or toolbar Save the Display Blocks Global Objects

18. Minimize the Display Blocks Global Objects screen.

EW1EN.doc
5/27/2009 Page 47 of 73
Adding Global Objects to a Display
This lab project represents a project still under construction. It contains a series of
displays associated with the Process Cell. We need to configure the operator
interface associated with the Reactor Control Strategies.
Open the existing Reactor display and build the interface to the New Cascaded
control strategy.
19. Go to the Explorer Window and under the Graphics/ Displays folder
Double click on the 3000_Reactor display.


The partially complete Area 3000 Reactor #1 display is opened.



20. From the main menu bar click on Window, then choose Display Blocks -
/PAC_Reactor_Lab//(Global Objects) to maximize the Display Blocks.

21. Drag the new global object that we just created from the Display blocks
display onto the Reactor display


The Display Blocks display is sent to the back and a reference copy of the
Controller Panel is placed on the Reactor display. We will need two
panels one for each of the cascaded PID instructions
22. Right Click and select Copy then Right Click again and select Paste to
duplicate the controller panel.

23. Locate one of the panels under the J acket Temp label and the other under
the Product Temp Label

Each of the new reference objects on the graphic display needs to have its
parameter values assigned. Use the Global Object Parameter Values dialog box to
assign unique global object parameter values.
EW1EN.doc
5/27/2009 Page 49 of 73

24. Right-click on the J acket Temp reference object on a graphic display.

25. Left -click on the Global Object Parameter Values from the context menu
to open the Global Object Parameter Values dialog box.

26. Left Click on the Parameter #1 Tag ellipsis to browse to the PIDE
instruction
27, When the Tag browser window opens Right Click on PAC_Reactor_Lab
and select Refresh All Folders.
28. Expand the PAC_Lab, Online and Program:
REACTOR_01_TempLoops folders to see the program scoped tags.
29. Left Click on TIC_117 and Select OK to save the value (tag path) and
close the tag browser.



The Global Object Parameter Value is populated with the path to the TIC_117 tag.


30. Left Click on the Parameter #2 Tag ellipsis and browse to click on the
AUTOTUNE Tag. And select OK.


The J acket Temp Parameters should look like this

31. Right-click on the Product Temp reference object on a graphic display.

32. Repeat this process to assign TIC_116 and the same Autotune tag to the
Product Temperature Control Panel and select OK.
33. From the file menu or toolbar Save the _3000_Reactor display.

EW1EN.doc
5/27/2009 Page 51 of 73
St ar t t he Fac t or y Tal k Vi ew SE Cl i ent
In this section you will verify the operation of the PIDE function block using
FactoryTalk View SE Client. Make sure that you have saved your displays.
34. From the Studio environment click on the Tools icon from the top pull-
down menu. And select Launch SE Client

35. Click on OK icon to launch FactoryTalk View SE Client application with
selected PAC_Lab.cli configuration file.


After a minute or two you should see the following Process Cell Overview
Screen:



Ignore possible error messages that may appear.
36. Select the Reactor #1 button on the navigation menu to open the Reactor
display: After it Is opened, Maximize the window to see the entire display

37. Left-click on Product Temp Controller panel. The Product Temp
TIC_116 PIDE Faceplate opens. This is your primary PIDE loop.
38. Move it to the right and repeat this step for the J acket Temperature.
Your screen should look like the following:



EW1EN.doc
5/27/2009 Page 53 of 73
Initially both Primary Product Temperature and Secondary J acket
Temperature loops in are in Operator Manual mode. The J acket
Temperature loop is enabled for cascade operation (Cas/Rat button
is enabled). The Product Temperature loop shows that its CV is
initializing. The Primary Loops CV is initializing because the
Secondary Loop will always assert InitPrimary if it is not in cascade
mode. In this way the Secondary loop can be manipulated
independently of the Primary loop; it can be put into auto or manual
modes independent of the primary but the Primary loop tracks the
Secondary loops setpoint to anticipate a bumpless transition to
cascade mode.
The Cas/Rat, Auto and Manual buttons on the PIDE faceplate are mode select
buttons. These buttons are exclusive (only one of these will be in effect). Any loop
can be in Auto or Manual modes but the Cas/Rat mode must be specifically enabled
from a PIDE instruction parameter
39. With the J acket Temp (TIC_117) PIDE in Manual mode, change its
SetPoint and observe the changes in the Product Temperature loop.

As long as the secondary loop is not in cascade mode, the operator can
manipulate its SP and the primary temperature loops CV will track these
changes.
40. Change the mode of the Product Temp (TIC_116) PIDE from Manual to
Auto and change its SetPoint.
Note that since the Primary PIDE is still initializing, these changes only update its
internal parameters and have no effect upon its output (CV).
41. Place the Product Temp (TIC_116) PIDE back in Manual mode and
place the J acket Temp (TIC_117) PIDE into Cas/Rat mode.
Note that the Primary PIDE status is no longer being held in an initialization state and
is actively controlling the setpoint of the Secondary Pressure loop. Verify this.
42. Change the CV of the Product Temp (TIC_116) loop to see the SP of the
J acket Temp (TIC_117) loop track the change.
Auto tuning the Cascade PID Pair
Note this section is optional. If your lab time is limited you may
want to skip to the next Lab to review and use the Discrete 3
state Device and Totalizer instruction then return to this section if
you have time.
43. Place the J acket Temp (TIC_117) PIDE in Manual mode.
44. Left-click on the Trend Object button of Jacket Temperature PIDE to
open a Trend Display:
45. Left-click on the Autotune button to open an Autotune Display:

46. Left-click on Acquire button to acquire an Autotune Tag called Autotune
that youve created in your RSLogix 5000 project.

FYI
Once all the Global Objects and their corresponding displays are
added into your FactoryTalk View SE application, the main PIDE
Faceplate automatically calls all the other displays associated with it
like Autotune, Trend, etc.
EW1EN.doc
5/27/2009 Page 55 of 73
More Details about the Autotune Dialog
Referencing the Autotune dialog above, notice that there are 5
functional areas:
Acquire Tag/Release Tag
Process Type/PV Change Limit/CV Step Size
Start/Abort Tune
Autotune Gains
Time Constant/Deadtime/Gain
Acquire/Release Tags
The Autotune tag that was entered at the bottom of the PIDE in
RSLogix 5000 is a resource that can either be dedicated to a single
PIDE or shared between many PIDEs. In a shared resource situation,
a single PIDE can use the Autotune tag at a time for an individual
tuning. This can be especially valuable when you are dealing with
smaller controllers with less memory available. In this scenario, we
would want to make sure that we do not corrupt data in the other loop
if it is being tuned simultaneously. The Acquire Tag and Release Tag
buttons assure that the tag is used exclusively by only one PID loop at
a time. The dialog also contains input and gain parameters as well as
tuning status.
Process Type/PV Change Limit/CV Step Size
These tags deal with the constraints of the Autotune execution.
Process Type: Specifies what type of system is to be tuned. This is
important because it may influence the type of model (integrating/non-
integrating, etc.) chosen for the autotune test. It also influences the
PID gain calculation once a model is determined.
PV Change Limit: This is an absolute limit in the engineering units of
the referenced PIDE configuration to stop (abort) the Autotune
procedure. The autotune procedure will be aborted if the system
experiences a PV exceeding this value.
CV Step Size: This is the amount by which the Autotune will change
the PIDE CV to exercise the system. The amount (in percent) entered
here will be added to the current CV amount for the duration of the
Autotune run. Once the Autotune has terminated (normally or
abnormally) the PIDE CV will be returned to the value that it was
before the Autotune run. It is desirable to make this value as high as
possible to get the best (greatest) response from the system, but
should not be so high as to violate the PV Change Limit or create an
unsafe condition in the system.
Start/Abort Tune
Once the Autotune run has been configured, these tags provide
runtime command and status access.
Start Tune: commands the autotune run to begin
Abort: this is available anytime during the course of an autotune run in
the event that the user must terminate the run
Execution State and Autotune Status: indicates current state of
autotune procedure (refer to the Getting Results guide for specific
state and status reference)
Autotune Gains
The gains section displays recommended gain values based upon the
last successful autotune run as well as current gains being used in the
PIDE. The radio buttons are available to select the gains for the
desired system response (Slow, Medium, or Fast). Clicking on the
Load Gains to PIDE button writes the desired gains to the PIDE for
immediate use; the Current gain set indicates the values of the gains
which currently reside in the referenced PIDE.
Time Constant/Deadtime/Gain
These are the resulting process model parameters estimated during
the autotune run.
47. Configure the Autotune as follows:

FYI
Very Important!!! Make sure to press Enter key after typing your
numbers in, otherwise they will not be entered!!!
48. Click on the Start button to begin the Autotune run (this could take a
couple minutes).
The Autotune will tune a J acket Temperature loop by increasing the PIDE CV by 20
percent from its current value and will abort the Autotune run if the process variable
is going to rise above 150 before the Autotune run is complete.
Autotune Status
During execution, the status window will display In Progress and
OK messages to let the user know that there is activity.

EW1EN.doc
5/27/2009 Page 57 of 73
49. When the Autotune is finished, you will see something similar to the
following (although the Gains values may not be the same):


Note the Process Model parameters estimated by the Autotune. Are these values
close to the values entered previously in the DeadTime and LeadLag blocks?
50. Load the Medium Response set of gains into the PIDE by selecting the
radio button for Medium Response and clicking the Load Gains button.

This will change the Current gains in the PIDE to reflect the Medium Response
selection as shown below:

51. Click on Release button to release the Autotune tag.
52 Close the Autotune and Trend display so that you are back to the
main faceplate.
53. On the main faceplate of the Jacket Temp (TIC_117) PIDE, click the
Auto button to go to automatic mode, and change the SP to a value of
150.0. Watch the result on the trend in the tune/trend page.
54. On the main faceplate of the Jacket Temp (TIC_117) PIDE, change the
SP to a value of approximately 125 by either entering the value in the
SP edit field or by the vertical SP slider. Wait for the PV to settle to
around 125.
55. Place the Jacket Temp (TIC_117) PIDE in cascade mode by clicking
once on the Cas/Rat button on the main faceplate. The mode indicators
should reflect the change to Cascade mode.

Note: Make sure TIC117 is in Cascade Mode the Autotune will not
work on TIC116 if it is Initializing.
56. Verify that the Product Temp (TIC_116) PID is in Manual mode and
repeat the previous autotuning procedure using a 10%CV StepSize in
the Autotune configuration (remember that the Autotuning process takes
a couple minutes). The results from the Autotune should be similar.
57. Again, select the gains for a Medium Response and load the
Temperature PIDE with those gains by clicking on the Load Gains to
PIDE button.
58. Click on Release button to release the Autotune tag.
59. On the main faceplate of the Product Temp (TIC_116) PIDE, place the
PIDE into Auto mode.
60. The cascade pair is has tuning parameters and in full automatic mode as
a cascade pair. Feel free to change the setpoint of the Product Temp
(TIC_116) loop and observe responses of both Product Temp
(TIC_116) and Jacket Temp (TIC_117) loops. You can also go back to
the tuning windows for either of the PIDEs and select a different gain set
for a different response, by selecting that gain set and loading it to the
PIDE.
EW1EN.doc
5/27/2009 Page 59 of 73
Lab 04: Material Add Control Strategy Using Discrete 3-State
Device and Totalizer Function Blocks Instructions
In this application we are using the Discrete 3-State Device (D3SD) instruction to
control material addition to the reactor in control strategy consisting of a pair of
solenoid valves controlling liquid flow into the tank. Valve 1 (VLV106A) is on a large
diameter feed pipe into the tank, and Valve 2 (VLV106B) is plumbed in parallel on a
small diameter feed
pipe. When liquid is
first added, the D3SD
instruction is
commanded to the
fast feed state
(State2) where both
valves are opened.
When the liquid
added approaches
the target amount,
the D3SD instruction
is commanded to the
slow feed state
(State1) where the
Valve 1 is closed and
the Valve 2 is kept
open (Slow). When
the target is reached,
the D3SD instruction
is commanded to go to the off state (State0) and both valves are closed. As long as
the D3SD instruction is in Program control, the valves open according to the Off,
Slow, and Fast inputs. The operator can also take Operator control of the feed
system if necessary. The solenoid valves in this example have limit switches which
indicate when the valves are fully closed or opened. These switches are wired into
the FB0, FB1, FB2, and FB3 feedback inputs. This allows the D3SD instruction to
generate a FaultAlarm if the solenoid valves do not reach their commanded states
within the configured FaultTime. We will also use a Totalizer TOT (Totalizer) to
accumulate the volumetric flow produced by the valve action and control the valves
based on the totalization result.
In this lab you will:
Get familiar with capabilities of D3SD and TOT Function Blocks.
Review an example of Process Application programmed in Logix5000 with utilization of
these Blocks.

Overview of Device Driver Function block Instructions
The Device Driver function blocks (D2SD and D3SD) are instructions which supply
control and feedback functionality for devices which have specific states of operation
(open/closed, forward/off/reverse, etc). The states of the devices are usually
indicated by some form of feedback from the device (limit switches in the case of a
valve). The Device Driver function can issue the command to the device to go to a
specific state and can accept the feedback from the device to verify that it has
actually attained the requested state.
A simple valve control using a D2SD would look like this.

The connections shown here are solely the electrical connections to the system.
They merely send the signal to request the appropriate state and monitor the
feedback to verify that the device is in the appropriate state. These are not the
commands that drive the device. The commands to tell the D2SD or D3SD devices
to direct the device to a specific state are issued by the operator or the program
through command requests. In Operator Mode this is through OperxReq
parameters which would typically be controlled from an operator faceplate. In
Program Mode this is through the ProgCommand parameter which would typically
be wired from command decision logic.

Reviewing a Typical D3SD Block Setup
The typical D3SD Setup consists of connecting the appropriate feedback signals as
input and output signals to perform the required actuation.
The D2SD and D3SD functions must have outputs tied to them in order to operate
(its no fun alone).
1. Maximize your RSLogix 5000 project AI_CLX_FB_Lab.
2. Expand the Program Reactor_01_VLVs and double-click on the
R01_XV106ab routine to open the function block workspace.


Lets review our Program.
EW1EN.doc
5/27/2009 Page 61 of 73


As you can see we have four inputs and two outputs connected to our D3SD
Function Block.
There are four different feedbacks from the limit switches: XV_106A_LS_CLOSED,
XV_106A_LS_OPEN, XV_106B_LS_CLOSED, and XV_106B_LS_OPEN. These
exist as controller scoped tags in the project and are representative of limit switch
discrete inputs.
We have entered the respective limit switch tag names into the Input Reference
blocks.
XV_106A_LS_CLOSED ->FB0
XV_106A_LS_OPEN ->FB1
XV_106B_LS_CLOSED->FB2
XV_106B_LS_OPEN ->FB3
The Input References look like this:

There are two different actuator signals used to manipulate the valves:
XV_106A_Cmd, XV_106B_Cmd. These exist as controller scoped tags in the project
and are representatives of actuator discrete outputs.
We have entered the respective actuator tag names into the Output Reference
blocks by either double-clicking the question mark and typing them, or browse to the
controller scoped tags and assigning them. The result should be as follows:
Out0 ->XV_106A_Cmd
Out1 ->XV_106B_Cmd
The Output References look like this:

Note that Out2 is not being used for this application (use only as many as you need).
































EW1EN.doc
5/27/2009 Page 63 of 73

Reviewing the Minimum D3SD Block Configuration
Now the D3SD must be configured so that it knows what outputs to assert when a
state is commanded and what feedbacks to expect as the result of the command. To
do this, parameters within the D3SD must be set to accurately reflect the conditions
of the physical situation.
The D2SD and D3SD functions must have states, feedbacks and
outputs defined in the parameters in order to operate.
The other parameters can remain at their default values.
State 0 Off: Valve 1 is closed, Valve 2 is closed
Out0 - Off (close valve 1)
Out1 - Off (close valve 2)
XV_106A_LS_CLOSED - On (valve 1 is at its closed limit
switch)
XV_106A_LS_OPEN - Off (valve 1 is not at its open limit
switch)
XV_106B_LS_CLOSED - On (valve 2 is at its closed limit
switch)
XV_106B_LS_OPEN - Off (valve 2 is not at its open limit
switch)
State 1 Slow: Valve 1 is closed, Valve 2 is open
Out0 - Off (open valve 1)
Out1 - On (close valve 2)
XV_106A_LS_CLOSED - On (valve 1 is not at its closed limit
switch)
XV_106A_LS_ OPEN - Off (valve 1 is at its open limit switch)
XV_106B_LS_CLOSED - Off (valve 2 is at its closed limit
switch)
XV_106B_LS_OPEN - On (valve 2 is not at its open limit
switch)
State 2 Fast: Valve 1 is open, Valve 2 is open
Out0 - On (open valve 1)
Out1 - On (open valve 2)
XV_106A_LS_CLOSED - Off (valve 1 is not at its closed limit
switch)
XV_106A_LS_OPEN - On (valve 1 is at its open limit switch)
XV_106B_LS_CLOSED - Off (valve 2 is not at its closed limit
switch)
XV_106B_LS_OPEN - On (valve 2 is at its open limit switch)


3. Click on the ellipsis in the D3SD block to gain access to the
parameters and select the Configure tab.


The Feedback State table provides an easy way to define the feedback status
expected for each Device state. The Output State table provides an easy way to
define the device output configuration for each device state.
4. Review the D3SD tables against the previous page
We have completed an overview of the basic functionality for the D3SD required for
our application.
Reviewing Optional D3SD Configuration
There are many options included to aid in manipulating the function without added
programming. While it is not practical to examine every option in this format, this lab
will explore a few of the more commonly used options.
Timeout Fault
The D3SD block issues commands to devices and monitors the feedback to verify
completion of the state transition. It is often desirable to know if the commanded
state has not been achieved in a certain amount of time. Within the block a time can
be set to establish this threshold. If that time has elapsed and the commanded state
has not been achieved, an alarm will be generated by the block. The Fault Alarm will
also be generated if a device suddenly leaves a state without being commanded to
do so (as evidenced by the feedback).
FaultTime (Input): the time in seconds to wait for the feedback to indicate the
commanded state before declaring a fault.

FaultAlarmLatch (Input): Boolean value that configures the block to latch the alarm if
it occurs. This is useful when the performance of a commanded device is degrading
and becoming marginally operational. The alarm may be issued for a very brief time
if it was not latched.
FaultAlarmUnlatch (Input): Boolean value that unlatches the alarm once it has been
latched.
FaultAlarm (Output): Boolean value used to indicate that a time out fault has
occurred.
EW1EN.doc
5/27/2009 Page 65 of 73
Mode Alarm
The ModeAlarm output is a Boolean output that indicates that the D3SD block is
being commanded by the Program but is in the Operator Mode of Control. If the
D3SD is in Operator mode and the program is trying to assert one of the
ProgxCommand inputs, the Prog command will be ignored and the ModeAlarm will
be asserted.
ModeAlarm (Output): boolean output from the block to indicate that a command is
being received from the Program but Operator is the current Mode of Control.
Permissives
Permissives are inputs which allow or, more importantly, disallow a transition to a
specific state in the function. In our previous example there may be a maintenance
mode on the machine which would preclude an operator from opening the valves on
the machine. In this case, a Boolean tag could be monitored for maintenance activity
and not permit states 1 or 2 where either of the valves would be open. Note that
losing a permissive will not cause the D3SD to leave a state; it just wont allow the
D3SD to go into that state.
State0Perm, State1Perm, State2Perm (Inputs): boolean inputs to the block to
individually allow/disallow any of the three states.

Override
The Override Mode can be used for interlock conditions where you want to force the
device to a predefined safe state.
ProgOverrideReq (Input): Boolean input to the block to receive the programmed
interlock logic.
OverrideState (Input): DINT input to define the output state when in Override Mode:
0, 1 or 2.
Override (Output): Boolean output from the block to indicate that it is in the Override
State.
5. Click Cancel to exit the D3SD Properties.
Learning About Totalizer (TOT) Blocks
The Totalizer function block instruction (TOT) is a function which uses an analog
value as an input and accumulates the value to reflect an accurate total. A typical
application would be the totalization of a flow. In this case it is desirable to know the
volume of material transferred through the pipe as accurately as possible (limited by
the accuracy of the flow transmitter). There are many considerations which must be
made in this type of application to guarantee accuracy: time base of sampling
(coordination to the analog sample), double-precision floating point so that no
accumulation stalls occur, etc. Also, many applications base events on achieving
some target value in accumulation. These functions and options, and many other
common operations associated with this type of application are contained onboard
the TOT function itself so that no other programming needs to be done.
The typical TOT setup consists of connecting the appropriate analog signal as input
and connecting output signal(s) (Total, Target indicators, etc) to any desired
downstream processing.
FYI
The TOT function must have an analog input in order to operate.
Typically there are other connections for the Total and Target outputs
but they are application specific.

For the two-valve scenario material add strategy created in the D3SD section, we
use a Totalizer to accumulate the volumetric flow produced by the valve action. This
is done by monitoring a Flow Transmitter and accumulating the flow signal by
totalization then controlling the valves based on the totalization result.
EW1EN.doc
5/27/2009 Page 67 of 73
Reviewing a Typical TOT Block Setup
In the R01_XV106ab routine, locate the TOT instruction as shown below:



As you can see, we have one input to the TOT block with a tag name Flow.
We have created the logic and connections so that the D3SD can be commanded by
the TOT. The commands and states will be as follows:
Totalizer State D3SD State
TargetDev1 Command 1 Slow (Slow Flow, one valve open, one closed)
Target Command 0 Off (No Flow, both valves closed)
The Target and TargetDev1 parameters are configurable so that their flags are
asserted when the accumulation by the totalizer reaches those values.
Then we placed three (3) OSRI (One Shot Rising) blocks on the sheet with the TOT.
The first two we connected to TOT.TargetFlag and TOT.TargetDev1Flag.
The last one we connected with an Input Reference block referring to the tag FillTank
(a controller scoped Boolean tag that already exits). The FillTank tag acts as a user
request to start the cycle to fill the tank.
In a next step we have connected outputs of the first two OSRIs to the D3SD
ProgXCommands as follows:
First OSRI.Output-> D3SD.Prog0Command
When the TOT.Total reaches its Target value a command will be issued to close the
valves.
Second OSRI.Output -> D3SD.Prog1Command
When the TOT.Total reaches its TargetDev1 value a command will be issued to
close one of the valves.
For the third OSRI, it will initiate the process by issuing the command to the D3SD to
open both valves. But it will also place the TOT into Program Mode and start
totalization to ensure that the flow from the valves does not continue unchecked.
Third OSRI.Output -> D3SD.Prog0Command
Third OSRI.Output -> TOT.ProgProgReq
Third OSRI.Output -> TOT.ProgStartReq

Reviewing the TOT Block Configuration
The TOT function has no parameters which must be configured in order to operate.
All parameters can remain at their default values for a simple totalization.
In order to run the application some optional parameters will need to be configured:
Target =50
TargetDev1 =30
7. To review our configuration click on the ellipsis in the TOT block to
gain access to the parameters, and scroll down to the Target
parameters.

There are many options included to aid in manipulating the function without added
programming. While it is not practical to examine every option in this format, this lab
will explore a few of the more commonly used options.
FYI
Time Base
EW1EN.doc
5/27/2009 Page 69 of 73
The Time Base input allows users to specify the time base of the input
flow rate (liters/sec, gal/min, etc).
TimeBase (Input): A DINT that indicates the number of the time base
desired:
0 Seconds
1 Minutes
2 Hours
3 Days
Gain
If a gain conversion is desired from the input to the total the gain can
be used to make this conversion. Ex: Input is in Gallons/Minute, Total
is in Barrels.
Gain (Input): floating point value used as a multiplier.
Target Indicators
Target indicators act as flag outputs which the user can configure to
indicate that the total has achieved some critical points as it proceeds.
In the previous application example, the target flags were used to
indicate, first, where the flow should slow (TargetDev1), and secondly
when the tank is full (Target).
Target (Input): floating Point main target threshold for the totalized
value.
TargetDev1 and TargetDev2 (Inputs): floating Point general purpose
secondary targets for the totalized value.
TargetFlag (Output): boolean output to indicate that the total is greater
than or equal to the Target setting.
TargetDevFlag1 and TargetDevFlag2 (Outputs): boolean outputs to
indicate that the total is greater than or equal to the Target minus the
TargetDev settings.
Low Input Cutoff
Many times there is a transducer signal offset that is present when the
value is actually at zero. The LowInCutoff feature allows the user to
compensate for this by stopping totalization if the input is below this
value.
LowInCutoff (Input): floating point value to set the cutoff threshold.
LowInCutoffFlag (Output): boolean output to indicate when the TOT is
in Low Input Cutoff.
8. When you have finished reviewing configuration parameters for the TOT
block, click Cancel.
9. Minimize your RSLogix 5000 project by clicking on the minimize button.

Exercising the D3SD and TOT Function Blocks with FactoryTalk ViewSE Client
In this section you will verify the operation of the Material Add Strategy. The D3SD
and TOT instructions require operator interaction to operate them. Standard
faceplates are typically called from the display to interact with both the D3SD and
TOT function blocks.
Using the Discrete 3-State Device (D3SD) instruction
10. Go to the FactoryTalk View SE Client application.
11. Select the Reactor #1 button on the navigation menu to open the
Reactor display: After it is , Maximize the window to see the entire
display

12. A valve pair global object was created with touch animation to display
the D3SD faceplate. Click on the Raw Material#4 Valve pair to open the
3 state device (D3SD) Faceplate.


First, lets get familiar with the Faceplate for the D3SD block.
EW1EN.doc
5/27/2009 Page 71 of 73
The faceplate is showing all of the status for the D3SD: The arrow indicates the
currently commanded state and the text on the top indicates the feedback designated
state.

13. Be sure the D3SD is in Operator Mode and in OFF position.
14. Press the Slow button to tell the D3SD to command the valve to the
Slow state.
Note that the Command State Indicator (arrow) moves immediately to the
requested state but the Feedback State indicator disappears for a while before
confirming the Slow state. This lag is due to the fact that while the valve is moving,
the feedback is in an unspecified or intermediate state. When the feedback pins
indicate that a defined state has been achieved this fact is reflected by Feedback
State indicator. Note that you can change the text used for these indications in the
faceplate properties.
15. Command the D3SD to the Fast state requesting both valves to open.
16. Command the D3SD to the Off state requesting both valves to closed.
17. Put the D3SD into Program Mode. Now the D3SD will respond to
programmatic commands (and ignore the operator actions).

Using the Totalizer and Discrete 3-State Device (D3SD) instruction together
A Totalizer Control Panel global object display was created for this project showing
the Target, Dev1 and Total totalizer instruction parameters.

This panel has touch animation to open the Totalizer faceplate.
18. Left click on the Totalizer Control Panel to open the faceplate.
19. Position it below the D3SD Faceplate as shown below:

Review the Faceplate for the TOT Block. The faceplate is showing all of the status
and relevant user data for the TOT.
Available Commands for TOT Operation
Start Pressing Start begins totalization.
Stop Pressing Stop will stop the current totalization at the current
values.
Reset Pressing reset will clear the accumulated value (the total)
and continue in the same mode (Running or Stopped).
20. Make sure TOT is in Operator mode and Stopped,
21. On the TOT faceplate press Reset first and then Start.

EW1EN.doc
5/27/2009 Page 73 of 73
Note that the status has changed to Running. The total is not increasing because
there is no flow (the valves are still closed).
22. Now lets run our application. Click on the Raw #4 Material Add push
button.
If your application is working right you should see the following results:
The Controller Scoped Tag FillTank should be forced to 1.
The TOT now goes into Program Mode and the Running state.
As the total passes the TargetDev1 point (30), note that the command to the
D3SD moves to the D3SD.Prog1Command, where only one valve is open
(slowing the flow).
When the total passes the Target point (50), the D3SD is commanded to close
both valves through the D3SD.Prog0Command.
The TOT is still running and will remain running until commanded to stop.

CONGRATULATIONS!
YOU HAVE COMPLETED THE PROCESS CONTROL
CONFIGURATION IN CONTROLLOGIX HANDS-ON LAB!

Das könnte Ihnen auch gefallen