Aplication Code Manager
Aplication Code Manager
The variety of uses for the hardware, software and firmware (hereinafter “Products”) described in this Documentation, mandates that those
responsible for the application and use of those Products must satisfy themselves that all necessary steps have been taken to ensure that
each application and actual use meets all performance and safety requirements, including any applicable laws, regulations, codes and
standards in addition to any applicable technical documents.
In no event will Rockwell Automation, Inc., or any of its affiliate or subsidiary companies (hereinafter “Rockwell Automation”) be responsible
or liable for any indirect or consequential damages resulting from the use or application of the Products described in this Documentation.
Rockwell Automation does not assume responsibility or liability for damages of any kind based on the alleged use of, or reliance on, this
Documentation.
No patent liability is assumed by Rockwell Automation with respect to use of information, circuits, equipment, or software described in the
Documentation.
Except as specifically agreed in writing as part of a maintenance or support contract, equipment users are responsible for:
• properly using, calibrating, operating, monitoring and maintaining all Products consistent with all Rockwell Automation or third-
party provided instructions, warnings, recommendations and documentation;
• ensuring that only properly trained personnel use, operate and maintain the Products at all times;
• staying informed of all Product updates and alerts and implementing all updates and fixes; and
• all other factors affecting the Products that are outside of the direct control of Rockwell Automation.
Reproduction of the contents of the Documentation, in whole or in part, without written permission of Rockwell Automation is prohibited.
Throughout this manual we use the following notes to make you aware of safety considerations:
Identifies information that is critical for successful application and understanding of the product.
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
• recognize the consequence
Labels may be located on or inside the drive to alert people that dangerous voltage may be present.
Labels may be located on or inside the drive to alert people that surfaces may be dangerous temperatures.
The PlantPAx® system—a modern DCS—is a key component of The Connected Enterprise. It helps you meet
key market challenges through:
The Rockwell Automation Library of Process Objects can be used to quickly configure the controllers and HMI
FactoryTalk View Studio applications that comprise a PlantPAx Distributed Control System. It can help reduce the
engineering time to assemble and maintain your existing or new integrated architecture process applications.
The Rockwell Automation Library of Process Objects is a predefined library of controller code (Add-On Instructions),
display elements (global objects), and faceplates that let you quickly assemble large applications with proven
strategies, rich functionality, and known performance.
The Studio 5000® Automation Engineering & Design Environment™ combines engineering and design elements
into one standard framework—a common design platform that helps to drive down the time and cost to design,
develop, and deliver machines and equipment. Controller properties and code are modified using Studio 5000
Logix Designer software.
The Controller Organizer tab is used to view the controller from an execution and utilization perspective. This
controller file has been configured using the Basic Library template. The Basic Library template includes pre-
configured Tasks and MainPrograms to be used as organizational “containers” to speed up engineering time.
Whereas the traditional Controller Organizer is used to view and configure the controller from an execution time
and utilization perspective (Tasks), the new Logical Organizer provides a way to view and create an organizational
model of the system (Programs and Routines). This allows operators and maintenance to troubleshoot the system
more quickly while new features such as Selecting Multiple project components like AOI's, UDT's, Programs, and
then copy/paste, drag/drop, export/ import them as one to reduce engineering time.
For this lab we will work in the new Logical Organizer window. Click the Logical Organizer tab.
Notice that a Diagnostics task is included in all controller templates. This task allows for troubleshooting, reporting
and alarming of controller status and utilization. Note that since we are in a lab setting and are not connected to
real I/O, pre-configured simulation code has been added to this template in Task C running at 250ms.
In this section of the lab, we will add new code for a tank, including a pump and a level transmitter, to Task D running
at 500ms. We will rename the main program in Task D from Task_D_MainProgram to Tank1.
Notice that the program is renamed to Tank1 and is running in a 500ms Task. We will now add new code
including a pump and a level transmitter to the program named Tank1.
Process Strategies from the RA Library of Process Objects support the concept of Re-use engineering to save
time. We can save engineering time by starting with pre-configured and tested control strategies. Simply import
them into the controller application as routines. By organizing a controller into Programs (for example each Tank is
a Program) and Routines (levels, pumps, valves) we simplify the location of a desired piece of code, and can Re-
use code in line with best practices and standards management.
To reduce implementation time and minimize risk, Process Strategy templates are available from PlantPAx that
provide pre-connected functionality to meet control system needs. These individually importable Function Block
Diagrams include instructions from the Rockwell Automation Library of Process Objects that have been configured
Later in the lab, because we organized the controller (by Tasks, Programs and Routines), we can easily copy the
code for a complete tank, including all components like AOI's, UDT's, Routines, Tags, and then paste it, as one, to
create more tanks to reduce engineering time.
In this section, we will import a pre-configured Process Strategy routine for a motor (PS_Motor) into the program
named Tank1. A motor can drive a blower, conveyor, mixer, agitator or a pump. We are configuring a pump to fill
the tank.
Right-click on the program named Tank1. From the menus select Add and then Import Routine.
Find all the instances of MT in the tag references and replace with PMP. Then click the Replace All button.
Confirm that seven occurrences of MT were found and replaced with PMP. Now click OK.
Verify that all the instances of MT have been replaced with PMP in the tagnames and input/output (I/O) reference
connectors with no errors.
Note the pump control routine is complete and the input/output (I/O) reference connectors are associated to
simulation tags for testing. Later in this section, we will use a feature of Logix called Program Parameters to connect
the input/output reference connectors to actual hardware I/O cards while the controller is online.
For the tank level transmitter we will import a generic Process Strategy template for an analog input. Select the
routine named (RA-LIB)PS_AIn_4_4-00_ROUTINE.L5X import file and click Open.
Click on the Tags folder in the Import Content area of the window.
Notice that tag references in the routine are prefixed with a generic XT designator (X is for the type and T stands
for Transmitter). During the import we will find and replace the XT with LT for all tags. LT will designate a Level
Transmitter.
Click on the Find/Replace button.
The ladder Code Editor will open. The Tank1 MainRoutine is written in ladder logic code. The MainRoutine is
configured as the only routine in the task/program that runs continuously. It is used to monitor and alarm the Task’s
execution time and to execute other routines.
Note that a new rung has been added to the bottom. Rung 2 is in edit mode because the rung is empty. We need
to add an instruction to the rung.
The “Add Ladder Element” window opens to display all the available
instructions sorted by groups or alphabetically.
Note that after adding the JSR to the rung it is still in edit mode because the JSR instruction is incomplete and
needs to have the Routine Name parameter filled in.
Double-click the question mark, click on the down-arrow, and double-click the routine named Pump.
Now we need to add another rung for the JSR that will execute the Level routine. We will do this by copying Rung
2. Click on Rung 2 to select the rung (indicated by the blue box) and then right-click and select Copy Rung
from the menu.
Rung 3 has been added but we need to change the JSR instruction Routine Name parameter from Pump to Level
to execute the Level routine. On Rung 3, double-click the Routine Name Pump in the JSR, and click on the down-
arrow, and double-click the routine named Level.
Note that the JSR on Rung 3 for the Level routine is complete.
The coding for Tank1 is complete and ready to download to the controller.
RSLogix Emulate 5000 software is an engineering tool that is capable of emulating a Logix controller.
For this lab, RSLogix Emulate 5000 software is already running and the chassis has a controller configured in slot
2. We want to download to the Emulator controller.
Click Download to start the download.
Click Yes.
Verify that the controller status button is green to indicate in Remote Run mode.
Section Summary
Logix Designer 5000 provides a way to view and create an organizational model of your controller code. Application
Controller Templates are available with pre-loaded library content to start your Logix project. Library process
strategies were used to quickly add pump control and level indication code to the project, supporting the concept of
re-use engineering to save time.
FactoryTalk View Studio is configuration software for developing PlantPAx HMI applications. With FactoryTalk
View Studio, you can create displays and faceplates using a full-featured graphics editor.
Again, Double-Click the Studio 5000 icon on the left side of the desktop to open Studio 5000.
This time under the Recent Projects tab click Lab. This will open an existing HMI project in the HMI designer
software named FactoryTalk View Studio.
Wait a short time while the FactoryTalk View Studio application opens.
Global Objects
For rapid development of information-rich operator displays, the library provides a collection of display objects that
are linked to the Add-On Instructions with a drag and drop wizard. This allows rapid development of main plant
display graphics.
A global object is an HMI display element that is created once and referenced multiple times on multiple displays
in an application. When changes are made to the original (base) object, the instantiated copies are automatically
updated.
In the Explorer window, close the Displays folder and expand the Global Objects folder.
For rapid development of information-rich operator displays, the Rockwell Automation Library of Process Objects
provides a collection of Global Objects that are linked to the Add-On Instructions with a drag and drop wizard.
Display elements include motors, valves, analog and digital indicators and even a sequencer. Together with the
HMI Project Templates they allow for rapid development of display graphics.
Drag-and-Drop a Pump object from the Global Objects display to the “Lab” graphic.
Drag-and-Drop an Analog Input object from the Global Objects display above the pump on the “Lab” graphic.
The Tag Browser window allows you to access controller tags via a browser window that presents the controller
tags in a logical hierarchy. Click the Refresh All Folders button.
Scroll-down the list and select the tag PMP100. Then click OK.
Now for parameter 2 enter “[PAC01]” as the Path for the pump object. Then click OK.
The display is functional but can be customized with tanks, piping, and more using the included Symbol Factory
HMI library. Due to time constraints in the lab, we will not customize the display at this time.
When the client opens, your application window appears with the layout of the selected template. Notice the
docked Header and Footer displays. They are part of the Framework displays contained in the HMI template that
also includes button bars and alarm history and help displays. The template Header graphic is used to display
information that will always be visible to the operator, such as the current date and time, name of the current area,
general alarm and system status and navigation buttons.
Click on the refresh button at the bottom of the client to refresh the client with the graphic updates.
We are now ready to test our application by starting the pump and empty the tank. Click on the pump object to
open the pump control operator faceplate.
From the operator faceplate, click on the start button to start the pump.
When the pump starts running, verify that the tank empties.
Note the tank will automatically reset to 100% once it empties to below 1%.
The new Logical Organizer provides a way to view an organizational model of the system. This allows engineers
to modify the system more quickly. New features such as Selecting Multiple project components like AOI's, UDT's,
Programs, and then copy/paste, drag/drop, export/ import them as one to reduce engineering time. In this section
of the lab we will be doing a copy/paste of program Tank1 to a new tank program Tank2. For this part of the lab we
will work in the new Logical Organizer window.
Maximize the Logix Designer window by clicking on the icon at the bottom.
In the previous section of the lab we made Logix code additions offline and then loaded the controller. In this section
we will be making code changes online to the running controller to demonstrate how code can be added without
interrupting the operations of a running plant.
In the Logical Organizer window, Right-click the program Tank1 and click Copy.
Find all instances of 100 and replace with 200. Then click the Replace All button. Now click OK.
Wait for the import to complete. Verify that a new program named Tank2 has been added.
Maximize the FactoryTalk View Studio window by clicking on the icon at the bottom.
On the “Lab” display, use the cursor to highlight the Tank1 objects…
Click OK.
To test the code and graphic for the Tank 2 updates, Maximize the FactoryTalk View Client window by clicking
on the client icon at the bottom.
Click on the button at the bottom of the client to refresh the client with the graphic updates.
From the Advanced Properties faceplate, click on the HMI Configuration button.
Notice that the faceplate labels and descriptions are still at their default values from the sample analog
indication (PS_AIn) Process Strategy template.
Note that to make changes from the faceplate tab, the user must have the appropriate access rights. The current
login, “Labuser”, has the highest level of security access. Notice that there is a configuration on the faceplate
called “Area name for security”
Each object has an area configuration, which can be used to assign the object to an area of the facility. Only
users with the privileges for the assigned area can perform operations or make changes from the object faceplate.
For example, an engineer in Area 1 cannot modify level attributes in Area 2, unless assigned security for Area 2.
We will review security in more detail later in the lab. .
The alarm thresholds (set points) for the Tank 1 level also need to be configured. This can be done from the
Maintenance tab of the faceplate.
For small applications (such as this lab or small engineering or maintenance projects) this configuration can be
done from the device faceplates in the running Client application. For larger project application development, this
configuration would also be completed off-line using Rockwell’s Tag Data Editing Tool.
We still need to activate the alarm. Click on the Alarm Tab of the faceplate.
From the Maintenance Tab, click on the Display Advanced Properties button.
On the Advanced Properties faceplate, Click the box for “The alarm is configured to exist and will be scanned”.
On the alarm tab, wait for the level to drop below 50% and a Low-Low alarm will become active for Tank 1
Level.
Note that once the Level is below the Low Low alarm threshhold the alarm will activate and the alarm box will
flash orange. The level has been simulated to automatically reset to 100% when it reaches zero. When the level
is reset to 100%, the alarm condition clears, but the alarm box will flash white until the alarm is acknowledged.
Note that in this lab we are configuring a single alarm limit. A PlantPAx Alarm Configurator tool is available for
configuring a large number of alarms.
From the Advanced Properties faceplate, click on the HMI Configuration button.
Notice that the faceplate labels and descriptions are still at their default values from the motor Process Strategy
template.
Note that the motor Process Strategy that we used is preconfigured with motor run feedback, permissives,
interlocks, and “restart inhibit” objects enabled. If we did not need these for our application, we could disable the
functionality for this object by removing the appropriate check boxes on this tab of the faceplate. We will keep this
functionality for our application.
For bulk configuration changes of these parameters a Tag Data Editing Tool can be used. This tool is covered in
the 2018 RATechED “Tools to Help Deploy and Maintain a PlantPAx DCS” lab.
Notice that although the tank empties below the alarm level, the discharge pump continues to run. In the real
world this could lead to damage to the pump. We need to configure an interlock that will stop the pump on a low-
low tank level condition.
In this section we will again be making code changes online to the running controller to demonstrate how interlock
code can be added without interrupting the operations of a running plant.
Maximize the Logix Designer window by clicking on the icon at the bottom.
To make these changes online, click the Start Pending Routine Edits button.
Connect the Input Reference to the Inp_Intlk00 input on the P_Intlk object.
Verify and then finalize all the Edits in the Program by clicking the Finalize button in the Online edit toolbar.
Click Yes.
The Interlock is now added to code, we still need to commision the faceplate.
Commisioning the faceplate means to add interlock desciption and enable the interlock.
To commission the interlock on the pump faceplate, and to test the interlock, Maximize the FactoryTalk View
Client window by clicking on the client icon at the bottom.
For small applications (such as this lab or small engineering or maintenance projects) this configuration can be
done from the device faceplates in the running Client application. For larger project application development, this
configuration could also be completed off-line using Rockwell’s Tag Data Editing Tool.
Note, if the tank level has dropped below 50%, the pump will have been stopped by the new interlock.(If not, start
the pump and wait for the level to drop below 50%). To view the Interlock faceplate we need to enable the
interlock button. By default the button disabled and “grayed out”.
From the Maintenance Tab, click on the Display Advanced Properties button.
Check the box to “Enable navigation to the interlock object”, then close the Advanced Properties faceplate.
Now that the Interlock faceplate navigation is enabled, click on the Interlocks button.
Change the text field for interlock condition as shown below, hitting the OK after entering the text.
Also check the Must Reset box.
Verify the interlock description and check-boxes matches below and then click on the HMI Configuration tab.
Notice a text description now appears for the interlock condition and a dark gray navigation-box appears when
you scroll your mouse over the interlock condition. This can be used to quickly naviagate directly to the interlock
tag’s faceplate.
Mouse over and click on the interlock condition.
Notice that this will now launch the Tank 1 Level faceplate indicating the current interlock condition.
The configuration for the Tank 1 faceplates is complete. Close the open faceplates.
Later, if you have extra time in the lab, feel free to configure the faceplates for Tank 2.
In this section of the lab, we will configure the tag-based alarms for use with the FactoryTalk Alarm server.
Prior to the lab, the Alarm Builder tool was used to generate a sample alarm import file for the lab controller. This
tool allows bulk configuration of alarms for large process projects. (Refer to publication PROCES-RM002 for more
information on the Alarm Builder tool.)
Maximize the FactoryTalk View Studio window by clicking on the icon at the bottom.
Right click on Alarms again and select Add Group to add a second group. Type Tank2 for the group name.
Highlight the LT100 alarms (Select the first alarm and press the Shift key and select the last alarm). Drag-and-
drop the LT100 alarms into the Tank1 alarm group.
Click the Save icon in the Alarm and Event Setup window.
… And select Properties to access the Alarm and Event Banner Properties dialog box.
Check the Alarm Name box to display the Alarm Name in the alarm banner. Click Apply.
On the “Event Subscriptions” tab click the Browse button. The “Select Scope” window appears.
Expand the Lab and Alarms folders as shown below and select Tank1 and click OK.
To test the Alarm Banner, Maximize the FactoryTalk View Client window by clicking on the client icon at the
bottom.
Click on the button at the bottom of the client to refresh the client to update the client with the alarm banner
updates.
The low-low alarm threshold for Tank 1 was configured in the previous lab section. A low-low alarm should still be
present for LT100. If not, restart PMP100. We will need to configure the threshold for Tank 2 in order to view the
alarm in the alarm banner. Click on the Tank 2 Level indicator to open the P_AIn faceplate.
Click on the Alarm tab, and then click on the Low-Low alarm indicator to launch the alarm configuration
faceplate.
Notice that both tank levels now indicate alarm conditions on the respective faceplates.
Note that the Tank 1 pump trips on the low-low level interlock condition that we added earlier. The Tank 2 pump
does not trip because no interlock has been added.
Notice that only the alarm for Tank 1 appears in the alarm banner because we configured the alarm banner to
only show alarms in the “Tank1 alarm group”. This feature allows us to customize the area alarm banners to
specific operator areas.
Notice that the alarms for both LT100 and LT200 appear in the alarm summary. In this application the Alarm
Summary is configured to show all alarms in the system. The Alarm Banner at the bottom has been configured for
only Tank 1 alarms. This feature allows us to customize the area alarm banners to specific operator areas.
Once again, Maximize the FactoryTalk View Studio window by clicking on the icon at the bottom.
The Footer display should still be open. Right click on the Alarm and Events Banner on the middle of the
footer display …
… And select Properties to access the Alarm and Event Banner Properties dialog box.
On the “Event Subscriptions” tab click the Browse button. The “Select Scope” window appears.
Expand the Lab and Alarms folders as shown below and select Tank2 and click OK.
Click on the button at the bottom of the client to refresh the client to update the client with the alarm banner
updates.
Notice the level alarms for both tanks now appear in the alarm banner at the bottom.
Section summary
A new feature of FactoryTalk View SE is the ability to easily configure and filter on alarm groups.
Maximize the Logix Designer window by clicking on the icon at the bottom.
Scroll to the bottom in the Controller Organizer window. Notice that configuration for three hardware I/O
modules has already been added to the I/O tree. Slots 3, 4 and 5 have, respectively, an analog input module, a
digital input module and a digital output module. The modules have been inhibited because we are running our
code in an emulated processor. We will now connect the code to the I/O module channels.
Notice that the tag for the Tank1 level transmitter LT_Inp_PV is “connected” to tag Tank1.Sim_Level.
Scroll to, and expand, the tag Local:3:I. This is an analog input card (1756-IF8) in slot 3.
Note that you have now assigned physical I/O to tags in your project while the controller is running.
This capability is also known as late binding and through the power of Program Parameters in Studio5000 Logix
Designer V24 (and above) users can create their projects without worrying about I/O connections during the
engineering stage. This feature is also useful when swapping out failed I/O cards in the field while staying fully on-
line.
Program Parameters can be used to associate (connect) the I/O reference connectors to physical I/O or simulation
code and unlike Alias Tags, they can be changed while the Processor is on-line.
In summary, users can easily map process strategies to I/O on-line without aliasing or creating mapping routines,
create hardware independent code that is linked to physical hardware at deployment, and remove complexity of
controller scoped tags used just to interface between programs.
In the previous versions of the process object library (V3.5 and earlier) the faceplates used all of the available
security codes (“A to P”). The drawback with using security codes “A to P” in the faceplates was that there were
no available spare codes for customer use to customize their security model. Also, the security codes had to be
assigned per user. Starting with the Library of Process Objects v4.0 release, the security codes “A to G” are
assigned to “Role” groups using new “Security Tags” and the users are simply assigned to groups. This frees up
most of the “H to P” codes for customer assignable security and makes assigning users to groups much easier.
Also new in the v4.0 release, each library object has a configurable “Area Name for Security” value, which can
be used to assign the object (or faceplate) to a specific process area of the facility, using an Area group.
Maximize the FactoryTalk View Studio window by clicking on the icon at the bottom.
Scroll to the bottom of the Explorer window and expand System, Users and Groups, User Groups.
Recall that earlier in the lab we saw that there is an area name for security (Cfg_Area) that must be configured for
each object. This is the area name that must be used in the user group names, “{Cfg_Area}_Advanced” and
“{Cfg_Area}_Basic”. In this example, our user groups are named area01_Advanced and area01_Basic.
Notice there are also several user groups beginning with HMI_ followed by a “role’ name.
Scroll to the top of the Explorer window and double click on Runtime Security.
Security Accounts have been configured for each of the role based user groups. Click on Security Accounts…
Feel free to explore the codes assigned to the other user groups. Close the Security Settings window.
Double click on Will and then click the Group Membership tab in the properties window. Will has been
assigned the roles of both Engineering and Maintenance and has both basic and advanced access to Area 1.
Close the properties window.
With PlantPAx, engineering your modern DCS has never been easier.
If needed, maximize the Logix Designer window by clicking on the icon at the bottom.
Confirm that you are still on-line and the selected window is the Logical View.
We will add the variable speed pump and the pressure control loop (as new routines) to Task B, which is a 100
msec task. From the Logical Organizer window, double-click on the Task_B_MainProgram to open the Program
Properties window.
In this section, we will import a pre-configured Process Strategy routine for a PID (Proportional Integral Derivative)
controller into the program named Pressure_Control.
Right-click on the program named Pressure_Control. From the menus select Add and then Import Routine.
The Import Configuration window will open. Change the Final Name for the routine from XIC501 to Loop.
In the Import Content area of the configuration window, click on the Tags folder to view all the tags that will be
imported. Click on the Find/Replace button.
We would also like to replace the default loop number from the process strategy, 501, with 400. Find all the
instances of 501 in the tag references and replace with 400. Then click the Replace All button.
We will make additional changes to this routine after importing the process strategy for the pump therefore Import
Logic Edits as Pending. Click OK. (Ignore any warning window and close a warning window as needed).
Right-click on the Pressure_Control program, select Add and then Import Routine.
Select the file for a “variable speed drive”, (RA-LIB)PS_VSD_4_4-00_ROUTINE.L5X, and click Open.
In the Import Content area of the configuration window, click on the Tags folder to view all the tags that will be
imported. Click on the Find/Replace button. We will keep the MT designator in the tag, but change the loop number
to 400. Find all the instances of 300 in the tag references and replace with 400. Then click the Replace All button.
Now click OK.
Wait for the import to complete. (Ignore any warning window and close a warning window as needed).
Double click on the Drive routine in the Pressure_Control program to open it.
The output of the P_PIDE block (Out_CV) will be used as the program setpoint for the speed reference on the
P_VSD block (PSet_SpeedRef ). To configure this input we need to expose the PSet_SpeedRef parameter. Click
on the ellipsis on the P_VSD to view the block properties.
Add an Input Reference object and connect it to the PSet_SpeedRef input on the P_VSD object.
When the variable speed drive pump is not in program mode, we want to force the P_PIDE block to initialize its CV
value and track the speed target to the drive (which may be manually controlled by the operator). We will use the
P_VSD outputs Sts_Available and Val_SpeedRef as the CV Initialize request and CV Initialize values respectively.
We need to make these parameters visible in the code.
Add an Input Reference object and connect it to the Inp_CVInitVal input on the P_PIDE object.
When the Sts_Available value is False (the drive is not in program mode), the P_PIDE should initialize its CV value.
We need to add a Boolean “Not” block to this input before connecting it to the Inp_UseCVInitVal input on the PIDE.
Scroll through the Favorites and find the BNOT instruction. Click on the instruction to drag and add a BNOT block
to the sheet.
Next we need to add “Jump to Subroutine” (JSR) instructions to execute the new routines. Double-click the
MainRoutine for Pressure_Control.
Click on Rung 0 to select the rung (indicated by a blue box) and then right-click and select ADD Rung.
Add another rung for the JSR that will execute the Loop routine. Click on Rung 1 to select the rung (indicated by
the blue box), right-click and select Copy Rung from the menu.
Click on the bottom rung (End) to select the rung (indicated by a blue box) and then right-click and select Paste
from the selection window.
You are now ready to finalize all of the pending Edits in the Pressure_Control Program.
Click Yes when prompted, to finalize all of the edits in the program.
Using the same steps we learned earlier in the lab, we will configure the lab graphic with a P_VSD and a P_PID
library object. Configuring the parameters of these objects, we will connect these objects to the P_VSD and P_PID
tags created in the controller code in the previous steps.
Maximize the FactoryTalk View Studio window by clicking on the icon at the bottom.
Expand the Displays folder and double-click the Lab_display (if it is not already open in the editor).
Minimize the Displays folder. Expand the Global Objects folder and double-click on the global object display
named “(RA-BAS) P_VSD Graphics Library”.
From the expanded the Global Objects folder, double-click on the global object display named “(RA-BAS)
P_PID Graphics Library”.
On the lab graphic, Right-click on the pump object and then click the Global Object Parameter Values
selection from the drop-down window.
Right-click on the PID object and then click the Global Object Parameter Values selection from the drop-down
window.
To test the code and graphic for the pressure control and VSD updates, Maximize the FactoryTalk View Client
window by clicking on the client icon at the bottom.
The process screen is displayed with the VSD and PID objects. On the display, click the variable speed pump to
launch the P_VSD faceplate.
Select the Maintenance tab. Enter a maximum speed reference limit of 100, by clicking on the Maximum value,
typing 100 in the numeric entry keypad and then clicking OK.
Type “%” for the speed reference engineering unit value. Then, Click on sheet 4 of the Engineering tab
Drag the Pressure faceplate to the right. Open the pump faceplate and click on the Home tab of the pump.
Arrange the faceplates as shown below so that you can see both faceplates.
Fix the error by entering 100 for the CV EU Max value and entering 0 for the CV EU Min value.
Then click on Sheet 3.
Enter 100 for the CV High Limit value and entering 0 for the CV Low Limit value.
Enter 100 for the Maximum CV Rate of Change value.
Verify the values match as shown below then close the faceplate.
We will manually change the speed reference on the drive and see that the loop CV will track the reference value
that we enter, since the drive is currently not in program mode.
Click on the speed Setpoint input. Type in a value of 50 and click OK.
Notice the CV on the pressure loop will track the value that you entered for the VSD speed reference.
Select the Display Advanced Properties tab on the pressure PID faceplate.
Enter ‘1’ for the Proportional gain and ‘0.5’ for the Integral gain.
Uncheck the box to force the loop to manual mode when an initialization request is present. This will allow us to
place the loop in Auto mode, even though the VSD is not in program mode.
Close the Engineering faceplate.
Click on the Request Program Control button and then close the Mode selection faceplate.
Notice that the pressure control loop CV will increase or decrease accordingly and will update the speed
reference set point on the VSD pump.
Section Summary
You have successfully configured a pressure control loop to regulate the speed of a varaible speed drive drive.
Lab Summary
PlantPAx™ is the process automation system from Rockwell Automation with all the core capabilities expected in
a world-class modern distributed control system. Configure your Integrated Architecture control system to meet the
With PlantPAx, engineering your modern DCS has never been easier.