CoTMS-59 FactoryTalk Historian Site Edition Advanced Lab
CoTMS-59 FactoryTalk Historian Site Edition Advanced Lab
Advanced Lab
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.
CoTMS-59 FactoryTalk Historian Site Edition: Advanced Lab
Contents
Before you begin ........................................................................................................................................... 4
About this lab .................................................................................................................................................................................... 4
Tools & prerequisites ........................................................................................................................................................................ 4
3 of 90
Before you begin
If not already done, the following steps must be completed before starting the lab exercise:
2. Start the VMware images for the lab…first SERVER until fully running, then DATA until fully running and finally
CLIENT until fully running.
Software
This hands-on lab uses the following software:
Microsoft Windows Server 2012 R2
Microsoft Windows 8.1 Enterprise
Microsoft Internet Explorer, version 11
Microsoft Excel 2010 32-bit SP2 and 2013 32-bit
Microsoft SQL Server 2012 64-bit
FactoryTalk Historian Site Edition, version 4.0
FactoryTalk VantagePoint, version 6.1
FactoryTalk Services Platform, version CPR 9 SR 7.1
RSLogix Emulate 5000, version 21.03.00 (CPR 9 SR 5.1)
Studio 5000, version 21.03.00 (CPR 9 SR 5.1)
RSLinx Classic, version 3.51.01 (CPR 9 SR 5.1)
RSLinx Enterprise, version 5.71.00 (CPR 9 SR 7.1)
4 of 90
Image configuration/content
One (1) “host” computer with VMware virtualization software will host three “guest” operating systems for a total of three virtual
computers in a workgroup. The VMware images are named and basic contents are as follows:
“DATA”: A Windows 2012 R2 Server computer to act as a “data collector” using a FactoryTalk Live Data Interface.
“SERVER”: A Windows 2012 R2 Server computer to act as a FactoryTalk Directory and FactoryTalk Historian Site
Edition and VantagePoint Servers. Internet Information Server (IIS), Microsoft SQL Server 2012 Standard Edition have
also been pre-installed. RSLogix Emulate 5000 controllers and RSLinx Enterprise are on this image as well.
“CLIENT”: A Windows 8.1 Enterprise computer to act as a client for FactoryTalk VantagePoint.
Communications Overview:
Host PC
Virtual Ethernet
5 of 90
Lab 1 - Understanding and Using Exception and Compression
6 of 90
3. Do these steps in this order:
Select Points > Point Builder.
Search for and display the tag ending in *MachineStep.
Click on this tag in the upper pane to make sure it has focus.
Click the Archive tab.
4. Note that this tag currently has “default” Exception and Compression attributes, unchanged since this tag was
added to Historian from the FactoryTalk Administration Console using Add Individual Historian Points. Verify
these attributes are currently set as follows:
Exception Deviation: 0.25 Eng. Units
Compressing: On
Compression Deviation:0.5 Eng. Units
7 of 90
6. Verify that the value of this tag is incrementing from 0 to 5 (0, 1, 2, 3, 4, 5) over approximately a one minute
period, then resetting to 0 and incrementing to 5 again, repeatedly. Watch at least one complete “cycle”.
8. Scroll down the list of Value/Event Time entries. Are you seeing values for this tag of 0, 1, 2, 3, 4 and 5 over
and over again? Or, are you seeing "filtered" data, "skipping" some of the values such as in the below
example…"filtered" by exception and compression? (“skipping” of values is what you should be seeing at this
time)
9. This behavior is how this tag's values are archived if using "default" exception and compressions settings. For
the purpose of this training, and a more “realistic” set of data for this “step” type of tag, we want to be sure that
all changes in this tag's value are archived.
10. Go back to Point Builder for this tag and change attributes as follows:
Exception Deviation: 0
Compression Deviation: 0
Compressing: Off
8 of 90
11. Click the Save icon and verify receiving "Successfully edited point..." message.
12. Wait two minutes to be sure the FTLD Interface has enough time to put your changes in effect.
13. Did you wait two minutes?? If not, please wait. If so, go back to Data > Archive Editor. Click the Get events
button and scroll to the bottom of your Value - Event Time window. You should be seeing values archived no
longer "skipping" or "filtering" data. Be sure to scroll to the bottom…the results we want to see will only be
during the last few minutes, not during the majority of the two hours of data being shown. Your most recent data
should appear as follows (no “skipping” values):
9 of 90
4. Verify that this tag's value remains "static" (unchanging) for approximately 45 seconds, then changes rapidly for
approximately 15 seconds. The value changes from between 65 to around 395 during this time period. This
behavior should repeat relatively consistently, creating one minute "cycles".
6. Minimize the SMT and start VantagePoint Trend from the taskbar.
7. In the Model, navigate to System > Sources > FactoryTalk > localhost > Historians > Production Historian
> Tags and double-click on or drag the tag ending in SimpleTempZone1 to the plot surface.
10 of 90
8. In thisTrend you should visually be seeing the behavior you noticed earlier, every 45 seconds the tag ranges
between 65 and 395 over a 15 second period.
11. When this tag was originally brought into Historian with the FactoryTalk Administration Console, the default
Exception Deviation was 0.25 and Compression Deviation was 0.5. You should still be seeing these default
settings:
Exception Deviation: 0.25
Compression Deviation: 0.5
13. Note that this setting is in no way "recommended" or necessarily "typical" settings to be used in any other case
except for purposes of this training lab. Your setting should now appear as follows:
14. Click the Save button and look for "Successfully edited" message in the Session Record:
11 of 90
15. Wait for two minutes and then go to Data > Archive Editor in the SMT and click the Get events button. If you
closed the SMT you will have to again search for the tag ending in *TempZone1. You should now be seeing
only 8-12 events in a one minute period. Earlier you were getting 17-25 events.
16. Return to the VantagePoint Trend that you had minimized earlier and review how that previous trend appeared.
Click the Refresh button and you should get an updated trend that looks similar to what you had seen before.
17. A key outcome of this lab is that you have seen that by increasing the amount of exception and compression you
have cut the amount of data going into the Historian Archive significantly...from approximately 17 values every
minute to only 11. And, the overall trend of the data looks similar. Less data stored with similar trend of data
over time.
18. Be aware, however, that the amount of data being discarded in this case could be significant in some cases and
care needs to be taken not to filter their data with exception and compression "too much".
19. To better visualize the changes that have taken place, right-click on the Trend plot surface and select Properties
> Trace:
12 of 90
20. Turn on Point markers and click OK.
21. See if you can find where the changes you made to your exception/compression took place (you may need to
change the trend to “Last 10 minutes”). In the below example, you can see that soon before 1:16:39 PM on
8/6/2012 the changes took place, with less points being archived in the same amount of time. See especially
how the filtering reduced the number of points archived during the "ramping down" of the value back to the
minimum? Can you find this point in your data?
22. In Point Builder, set the attribute on the TempZone1 tag back to the following:
Compression Deviation: 0.5
24. Close the SMT and Trend applications (no need to save the trend).
13 of 90
Lab 2 - FactoryTalk Historian Tag Types
3. This tag is remaining relatively "static" or unchanging for 30-45 seconds, and then is changing rapidly for about
15 seconds. Scroll through the list of Value/Timestamps and see if you can see a time where there is a "gap" in
changing data. The largest gaps should be between when the tag was “static” at approximately 65 and “jumped”
in value. In the below example, there is a 3 second "gap" followed by a 43 second "gap". Try to find similar
gap(s) in your data.
14 of 90
4. The reason this tag is currently giving "gaps" in data is that the data is not changing at this time, or, if it is but
only slightly, it is being filtered with exception and compression. There are applications where it might be
required to archive data at some minimum time interval, whether or not it changes. A Tag Attribute called
Exception Deviation Maximum Time (ExcMax) can be used as the first step to achieve this functionality. Do the
following steps in this order:
In System Management Tools, go to Points > Point Builder.
Search for the tag ending in *SimpleTempZone1.
Go to the Archive Tab.
Change Compressing to Off.
Change ExcMax to Minutes: 0 and Seconds: 10.
5. Click Save icon and look for "Successfully edited point" message.
6. Go to the Classic Tab, and change Location3 from a 1 (Advised Mode) to a 0 (Polled Mode).
15 of 90
7. Save your change. As Polled Mode, the FTLD Interface is asking RSLinx Enterprise for the value of the tag at
the tag's Scan Rate. This is currently every one second, determined by the 1 in Location4. The Interface then
decides based on the Exception settings, including ExcMax, whether or not to send the value/timestamp to the
Historian Server for possible archival (depending on Compression settings). When in Advised Mode, RSLinx
Enterprise would never send the value to the Interface, "unless" it had changed since the last time it sent the
value/timestamp. So, the Interface would never have a chance to send the value/timestamp to the server when
it wasn't changing.
9. Scroll down to the bottom of the data and look for value/timestamps such as the below. Even though the tag's
value did not change, value/timestamps are archived at least every 10 seconds (could be more often). Note that
when a value "outside" the 10 second window is archived, the "previous value" is archived as well. That is why
you should be seeing "pairs" of the same value in the archive, one second apart. The tag was being "polled"
every second, and if it didn't change there was a value archived anyway from "outside" the 10 second window,
and its previous value that would have been "inside" the 10 second window.
Note: It can take up to two minutes for an Interface to put changes in tag configurations into effect. So, if you
do not see data such as the below, wait a minute or so and click Get events again.
10. When done confirming/observing the above results. so that the archiving functionality of this tag performs similar
to "other" Proof_Oven TempZone tags (if/when added), in Point Builder, change the attributes of the BL1
TempZone1 tag back to the following:
Change Compressing to On
Change ExcMax to Minutes: 10 and Seconds: 0
Location3 to a 1
Be sure to Save your changes
16 of 90
Part B - Event Tags
17 of 90
5. Location3 is currently set to 1 which is Advised Mode. Location4 is set to 1 which is identifying a 1 second
scan class for this tag. Change Location3 to a 0 for Polled/Event collection mode.
6. If you save and "only" made the above change, the tag would be in Polled mode, with the Interface polling
RSLinx Enterprise for the value of the tag every second. We actually want this tag to act in Event mode,
updating when some "event" or "trigger" occurs. Do these steps in this order:
Go to the General tab.
In the Exdesc field, enter the following (Note that "EVENT" must be uppercase!):
EVENT='RA Foods:RSLE:BL1.Program:Proof_Oven.SimpleMachineStep' Nonzero
Note in the above there should be spaces between RA and Foods, and between MachineStep' and Nonzero.
Click the Save icon and look for "Successfully edited point" message.
7. Go back to Data > Current Values and add the *Proof_Oven.SimpleMachineStep tag to your display and click
Start Updating. If it was left in the Start Updating mode, after you add this tag you may need to select Stop
Updating and then Start Updating again. You should see that instead of every one second, the value of the
Timer.ACC is now updating only when the MachineStep tag changes to anything "except" a zero.
Note: Besides Nonzero, event modes of Increment, Decrement and Anychange are also available.
18 of 90
Part C - Output Tags
1. On the Client image, got to System Management Tools (should be open from previous steps).
2. Go to Points > Point Builder and add tag RA Foods:RSLE:BL1.StorageDint1 (be sure you click on to
highlight this tag once you've added it to the tag list).
3. On the Classic Tab, change Location3 to a 2, in order to make this an Output Tag.
4. Back on the General Tab, use the Source tag Search button to select the *Shift_Timer.ACC tag.
6. Go back to the Data > Current Values screen where you should be still seeing the value of this
Shift_Timer.ACC tag along with the MachineStep tag.
7. To see the actual value of the *StorageDint1 output tag in the controller, start FactoryTalk Live Data Test
Client from the taskbar.
19 of 90
11. Select BL1 > Online, then StorageDint1 and finally click OK.
12. Position the Live Data Test Client over the top of System Management Tools (SMT) such as below. Note that
when the value of the Shift_Timer.ACC changes (Source Tag), very soon after the StorageDint1 tag (Output
Tag) is written to with the same value.
13. When done verifying above, close the SMT and FactoryTalk Live Data Test Client.
20 of 90
Lab 3 - Using Performance Equations and Totalizers
3. Expand the Points category and select the Performance Equations plug-in. Then, click the New button.
21 of 90
4. Our first Performance Equation is going to be a Fahrenheit to Celsius conversion. On the General tab, do the
following steps:
Enter Name of TempZone1 Deg C.
Description of TempZone 1 Temperature converted to Celsius.
Point type of Float32.
Eng Units of Deg C.
22 of 90
Note: FactoryTalk Historian tag name length is typically limited to 256 characters. However, when a tag
name is used with event-based scheduling with a Totalizer or Performance Equation, the event tag’s length
cannot exceed 73 characters. This would be when used as part of an “event expression” in a Totalizer, or
the “Event tag” in a Performance Equation.
Note: The above settings are totally dependent on the situation and may be different in “real applications”. In
this case we are doing a calculation on a source tag that has already gone through exception and
compression before going into the archive. This performance equation is doing a calculation based on that
value and for purposes of this lab we want to archive all results. So, we are using zero exception and no
compression.
8. Click the Save toolbar button and check for a success message in the session record:
23 of 90
9. Do the following steps in the SMT:
Go to Data > Current Values.
Search for and display the two “TempZone1” tags (hint: In the Search dialog, do not specify Point Source of FTLD, as
one tag you are looking for is a Performance Equation with Point Source “C”. You could use Tag Mask of *TempZone1*
for this Search.).
Select Start Updating (if values don’t change, please wait 20-30 seconds).
You should see the TempZone 1 Deg C Performance Equation tag display calculated Celsius values from the source
…SimpleTempZone1 tag’s Fahrenheit values.
1. Go back to Points > Performance Equations and click the New button.
24 of 90
2. Let’s say we need to do maintenance on the Proof Oven when the temperature zones are so many minutes or
hours over a certain temperature. In this case, as a “starting point” for such a set of calculations, we will create
one Performance Equation to calculate the number of minutes TempZone1 is over 200 degrees in the last hour.
First, do the following steps on the General tab:
Specify name of TempZone1 GT 200.
Descriptor of Minutes in last hour TempZone1 greater than 200 degrees Fahrenheit.
Point type Float32.
Eng Units of Minutes.
Note: The TimeGT (time greater than) function includes the Tag Name, Starttime, Endtime and Value to be
greater than in the parentheses that follow. The result is a value in seconds. In the above, we are dividing
by 60 to convert seconds to minutes.
25 of 90
4. On the Scheduling tab, select Clock scheduling and Scan class of 3 which will cause the equation to be
calculated every 30 seconds.
Note: At this time the Scheduling tab is not “identifying” what actual time period the “3” in Scan class
represents. Neither would it if you had entered a “1” or “2”. You will do something later in this lab that will
have an effect on this display.
6. Click the Save toolbar button and check for a success message in the session record.
7. In the “top window”, click on the TempZone1 GT 200 row to make sure it has focus.
8. Now, we want to open the Performance Equation Scheduling batch file to see where we could edit, add or
delete scan classes if desired. Go to the SERVER Image.
26 of 90
9. Start the Interface Configuration Utility (ICU).
10. Click the Create New Interface Instance from .BAT file button.
12. As you can see, this interface is set at default to have three scan classes…1, 2, and 3…at 1 minute, 2 minutes
and 30 seconds respectively.
27 of 90
13. Do not make any changes, but note the buttons above the scan class list that would allow you to add, delete
and/or reorder the scan classes.
15. Go back to the CLIENT image that should still have the SMT open on the Performance Equations editor.
17. Reopen the SMT (have to close and re-open to see this change go into effect) and do the following steps:
Go to Points > Performance Equations.
Click Search (the binoculars icon) to list existing Performance Equation tags.
Click on the TempZone1 GT 200 tag.
On the Scheduling tab, note you now have a “drop-down list box” to select scan class and the time represented by this
scan class is shown. Compare to what you had seen previously in step 4.
Note: This “functionality” exists because of what you did in the ICU on the Server…you created the
Performance Equation (PE) Scheduler Interface Instance. We could have done this “before” we created the
Clock scheduled tag, but we wanted you to see the “before and after”. From now on, as you create
additional PE tags, this functionality will continue.
28 of 90
18. Do the following steps:
Go to Data > Current Values.
Search for and display tag TempZone1 GT 200.
Click Start Updating.
You may see this tag occasionally changing by a small amount. Remember, we are only calculating this Performance
Equation once every 30 seconds and the oven temperatures are changing pretty consistently over time in our
simulation.
29 of 90
Section 2 - Totalizers
4. We will create a Totalizer to calculate the Moving Time Weighted Average of the Temperature of TempZone1.
Perhaps in the future all of the zone average temperatures could be calculated and compared for determining
maintenance needs, comparing efficiencies, etc.
Start by doing the following steps on the Name & Type tab:
Name of TempZone1 Average Temp
Source tag of …SimpleTempZone1 (see full tag name below)
Summary calculation of Moving Time Weighted Average
30 of 90
5. On Sampling tab, specify Whenever a new source tag event occurs (Natural).
31 of 90
9. Do the following steps:
Go to Data > Current Values.
Search for and monitor the tags …SimpleTempZone1 and TempZone1 Average Temp.
Click Start Updating.
Note: For the first minute or so, the Totalizer tag might contain the text “Pt Created” or “Configure”. After this
first minute (the first “Write final results” time period), the tag should start to update with “interim” values as
new values are coming into the Source Tag. If more than a minute has gone by, and the Source Tag
updates but the Totalizer tag remains “Configure”, there may be something wrong in its configuration (please
check your previous steps).
1. In the SMT, go to Points > Totalizers and click the New button.
32 of 90
2. On the Name & Type tab, enter the following:
Name of BL1 Proof_Oven Machine Cycles
Source Tag of …SimpleMachineStep
Count Events
Events where value changes
Block equal to 5 (we want the Totalizer we are creating to keep track of the number of “cycles” the Machine has gone
through, and we will consider reaching Step 5 “a cycle”)
Note: These settings will cause the Totalizer to accumulate events every hour on the hour, write “final
results” at the end of the hour, reset and start the count again. “Write interim results” set to “At source time
(ramp)” will cause interim counts to be collected as they occur as well, the count not collected just at the end
of each hour.
33 of 90
4. On Archive tab, set Exception Deviation to 0 and Compressing to Off.
5. Save the Totalizer and look for “Successfully created totalizer…” message.
6. Add the …Machine Cycles and …MachineStep tags to Data > Current Values. Verify Start Updating is
selected (may have to Stop and Start Updating again). You should see that every time the MachineStep
reaches 5, the Machine Cycles tag increments. If the time on your image is nearing the top of an hour, you
should be able to see the Machine Cycles reset. If not happening soon, perhaps you can come back later and
watch it occur.
34 of 90
Lab 4 – FTLD Interface Buffering and Redundancy
3. Go to System > Sources > FactoryTalk > localhost > Historians > Production Historian > Tags and click
and drag the …SimpleTempZone1 tag to the trend surface.
35 of 90
4. Click the Live Mode button and you should see the trend scrolling from right to left, continuously updating.
5. In order to “monitor” the buffering subsystem, there are “queue statistics” we can monitor on the computer with
the Interface that is doing the buffering. The FTLD Interface FactoryTalk Historian Server is using is installed on
the DATA image.
8. From the drop-down Interface selection box, pick the FTLD1 interface.
36 of 90
10. Notice that this interface is configured to use the PI Buffer Subsystem.
11. Select Buffered Servers and notice this interface is configured to buffer data for the historian server we are
using, named SERVER.
13. Right-click on the Windows icon in the lower-left corner and open a Command Prompt.
Note: “pibufss” is the buffer service, then there needs to be a space, a “-“ (dash) followed by “qs” for queue
statistics.
37 of 90
16. The result of this command should be similar to the following. The first column of numbers is the “count” at that
moment. The second column is “change since last update”. Note that you should be accumulating Total Event
Writes and Total Event Reads, but no Current Queue Events at this time.
17. Leave the Command Prompt open and return to the CLIENT image.
18. Verify that your VantagePoint Trend is still displayed and the …TempZone1 tag is still changing.
21. Wait for all of the services to stop and the dialog to close itself before proceeding.
38 of 90
22. After Historian is fully stopped, go back to the CLIENT image and look at your VantagePoint Trend. When the
Historian Server is shut down, you will see a “break” and apparent “loss of data".
24. Since the Historian Server is not available, the FTLD Interface is buffering data. You should see Current
Queue Events accumulating (may take several “updates”).
26. Restart the Historian Server by clicking the Windows icon and selecting the Start FactoryTalk Historian SE
tile.
27. While the Server is restarting (may take several minutes), return to the DATA image.
39 of 90
28. See if you can “catch” when the server finishes restarting and the pibufss buffer “empties”. Current Queue
Events value should go to 0 (zero) and the “change since last” value should be negative. This may take several
minutes…even when the Historian Server is fully running, it may take a couple of minutes for the Interface to
“notice” and send that buffered data to the server. Please be patient!
30. Your trend should now be updating with values (may need to wait several seconds).
40 of 90
31. If you see a gap, to fully refresh the trend, turn Live Mode off and back on again. The trend should be
displaying data with “no gaps”. There was no data loss while the Historian Server was stopped because the
Interface was buffering.
32. Leave VantagePoint Trend open and in Live Mode for the next Lab.
33. Go to the DATA image. Make sure the command window has focus and select Ctrl-C to stop the queue
statistics. Close the command window.
41 of 90
Section 2 - Interface Redundancy
Note: In the VMware images being used in this training, the FTLD Interface we have been using is on the
DATA image. To demonstrate Interface Redundancy, another FTLD Interface has been installed on the
CLIENT image. It is NOT recommended in real applications that Interfaces be run on “client machines”, but
for the purposes of this lab we will use an interface on the CLIENT image as a redundant interface to the one
on the DATA image.
3. Use the ICU on this image to confirm the interface is running (select FTLD1 Interface from drop-down list and
look for "Running" at the bottom of the dialog)…
42 of 90
4. …and configured for Buffering.
7. On the CLIENT image, we want to verify the connection to the Historian Server named SERVER. Launch the
SMT.
9. Check the SERVER checkbox and verify you get “SERVER connected” message.
43 of 90
10. Close the PI Connection Manager dialog and the SMT.
12. Click the Create new Interface Instance from .BAT file toolbar button.
13. Navigate to the LDInterface directory and select the FTLDInt_FTLD.bat.bak file. Click the Open button.
14. You will be prompted to select the Host PI Server. Select SERVER from the drop-down box and click the OK
button.
44 of 90
15. Note that the Interface ID is set to the default value of 1 and will be the same ID as that of our primary interface
on DATA, Interface ID of 1.
18. Change the radio button to Enable buffering with PI Buffer Subsystem.
45 of 90
19. Read the messages and click OK (you will not start the service YET!).
20. You should be taken to the Buffered Servers dialog. Select SERVER from the drop-down box. Click the OK
button.
46 of 90
22. First, click General and then click Service on the left. Click Yes make the PIBufss service a dependency. This
dialog would come up later when you start the interface, but since we are finishing the configuration for Buffering
we “prompted” it to appear now to get out of the way.
23. Some of the settings made when configuring the FTLD Interface on the DATA image (prior to this lab) was to
delete some unneeded Scan Classes and enable Disconnected Startup. Disconnected Startup is a
recommended feature to allow an Interface to start collecting data when it starts, even if it doesn’t have a
connection to a Historian Server (it will collect and buffer). To make this interface “match”, first go to the
General tab, click on them one at a time and use the Remove selected scan class button to delete scan
classes 0.05, 0.1 and 0.25.
47 of 90
25. Click on Disconnected Startup category and select Enable disconnected startup (with point caching).
1. We need to create a “shared folder” to store a “handshaking file” that the two redundant interfaces will use to
control their redundancy. Go to the SERVER image.
Note: A computer running a Historian Server is NOT a recommended place for this shared "handshaking"
folder. However, since it is the only image that will not be running an Interface, we will use it for training
purposes in this lab.
3. Go to the C: drive, right-click in a blank area and select New > Folder.
48 of 90
5. Right-click on the new folder and select Share with > Specific people.
6. Select Everyone from the drop-down list (you may want to use more restrictive sharing in a “real application”),
and then click Share.
7. Click Done.
49 of 90
Part C – Configuring Interfaces for Failover
1. Change to the DATA image which should still have its ICU open.
3. Read this message (we will come back later to finish the configuration) and click OK.
50 of 90
4. Read and click OK (we will stop and restart the interface later).
6. Make the same Failover selections on this interface as you did on the other. Again, if you try browsing to the
shared folder on the SERVER image and get a Windows Security message, you can Cancel.
7. HOWEVER - Select Failover ID # 2 for this instance and Failover ID # 1 for the other instance - IMPORTANT!
Verify all below selections CAREFULLY!
8. Are you sure the settings match – especially Failover ID# for “this instance” of 2 and “other instance” of 1?
If so, click Apply on above dialog
51 of 90
Part D – Modifying FTLD Service Properties
1. Still on the CLIENT image, right-click on Windows icon and select Control Panel.
4. Select the Log On tab, and specify to use Administrator account with password of rockwell. Click OK.
52 of 90
5. Read and click OK.
8. Go to Control Panel > System and Security > Administrative Tools > Services, similar to how you did on the
CLIENT image, and make the same changes to the FTLD1 service on this image. Use Administrator with
password of rockwell. Click OK.
53 of 90
10. Read and click OK. You will not stop and restart the service YET!
11. Close the Services, Administrative Tools and System and Security dialogs.
2. In the ICU, click the Browse button to select the “other instance”.
3. Click the FTLDInt1 interface on the CLIENT image and click OK.
54 of 90
4. In the “tag area”, below where you identified the UFO Type and Synchronization File Path, right-click on the
tags and select Create UFO_State Digital Set on Server SERVER…:
6. Right-click on the “tag area” again and select Create all points (UFO Phase 2).
7. Click the Apply button at the bottom-right of the dialog box and click OK on the Interface Changes Require
Restart dialog box that will appear.
8. Restart interface service by clicking below icon. Look for Stopping Service, then Starting Service and then
Ready and Running at the bottom-left of the dialog box. Leave the ICU open.
55 of 90
11. Click the interface on DATA image and click OK
12. Click the Apply button at the bottom of the dialog box.
16. Expand the Data category and select the Current Values plug-in.
56 of 90
17. Use the search button to add all of the FTLDInt1_* tags to the current values monitor and click the Start
Updating toolbar button.
18. Leaving the SMT open, go to the CLIENT image and the VantagePoint Trend application, which should still be
running from the previous lab. You may see a gap or loss of data from interface configuration changes and
restarts. If not running, start VantagePoint Trend and create a display with a trend of the tag ending in
…SimpleTempZone1.
Note: Since the Interface on the DATA image is currently Primary (you should have seen that with the SMT
on the SERVER image), this tag being trended is coming from the Interface on the DATA image to the
Historian Server.
19. On the DATA image, use the ICU to stop the Interface by clicking Stop interface service.
57 of 90
20. Back on the CLIENT image, there could be a short delay but then the backup interface should take over. You
may need to stop and start Live Mode, but data collection will continue and no data should be “lost”.
23. Did the Interfaces “switch roles”? The Interface on CLIENT (Failover ID #2) is now “Primary” and the Interface
on DATA (Failover ID #1) is “Backup”?
24. Experiment with stopping a “Primary” interface to verify the “Secondary” Interface takes over, with no data loss.
Just be sure you don’t end up with both Interfaces stopped. You WILL FOR SURE lose data then!
58 of 90
25. When you are finished experimenting, revert back to non-redundant conditions by:
Make sure the Interface Node on DATA (ID#1) is Primary
On the CLIENT image, stop the Interface with the ICU, then close the ICU.
Use the ICU on DATA image to de-select Enable UniInt Failover, click Apply and Restart interface service.
26. On all three images, close any open applications (SMT, VantagePoint Trend, ICU, etc).
59 of 90
Lab 5 - Backfilling Data into a FactoryTalk Historian SE Server
2. Click the Windows icon in the lower-left corner and then the FactoryTalk Administration Console tile.
3. After selecting Network directory, right-click on RA Foods and select Add Individual Historian Points.
60 of 90
5. Do the following steps:
In the left pane, navigate to RA Foods > BL1 > Online > Program:Proof_Oven and click on OvenUDT.
Click on TempZone1 in the right pane.
Click Add Tag(s) to List.
7. Click OK again on Add Historian Points dialog and close FactoryTalk Administration Console.
61 of 90
8. Now we will take a look at a couple of CSV files that will be used to backfill data for this new tag. Do the
following steps:
Use File Explorer and go to C:\Class Files\Backfill Lab.
Right-click on Data to Backfill.csv.
Select Open with > Notepad.
9. Scroll through this CSV file and note that it contains over 4000 entries (don’t bother counting!) of timestamps
(date followed by time) and values between May 1 and May 31, 2012, for a tag by the name of:
RA Foods:RSLE:BL1.Program:Proof_Oven.OvenUDT.TempZone1
This is a CSV (comma delimited) file, with each line formatted as:
Tagname,Timestamp,Value
10. We will use the data in the Data to Backfill.csv file to backfill data in a FactoryTalk Historian archive. Later in
this lab, when you configure a Universal File and Stream Loading (UFL) interface, you will specify this file as the
source of the data. However, we will also need a “reference file” to show how the data to be backfilled is
formatted. We could use the same file, but a reference file is limited to 50KB in size, so we will use a different
file instead.
Back in File Explorer, right click on the Backfill File Reference.csv.
Select Open with > Notepad.
62 of 90
11. Note that this file has only one line in it, and the formatting of the line “matches” the lines in the Data to
Backfill.csv file. This Backfill File Reference.csv file will be used when configuring an INI file needed for the
UFL interface (you will see all of this as you continue with the lab).
14. The first thing we will do is look to see if there is already data in the Historian archives for this tag within the
timeframe of the data in the CSV file (May 1 – 31, 2012). There shouldn’t be, because you just created that tag!
Go to Data > Archive Editor.
Click the Tag search button.
63 of 90
15. Do the following steps in this order:
Enter Tag Mask of *TempZone1.
Click Search.
Select the tag that has OvenUDT as part of its name and ends in TempZone1.
Click OK.
16. You should now be seeing that last two hours of archived data for this tag, as the default Start Time is *-2h (two
hours ago) and End time is * (now).
64 of 90
18. If we are going to backfill data from the CSV file, which contains values and timestamps from May 1 – 31, 2012,
we need to make sure one or more archives exist that will be able to hold such data. Go to Operation >
Archives. The list of your archive(s) should be similar to the below (date in the file name(s) will likely differ).
You could have more than one archive file (only one shown below), but if you look at the Start and End Time(s),
you currently do not have an archive able to contain data from May of 2012.
19. Since the required archive does not exist, let’s create it. Do these steps in this order:
Click the Create a new archive button (dialog shown below will then appear).
Give it a name of BackfilledArchive (nothing “special” about this name, could be any name you like).
Select Create archive with fixed start and end time.
Enter Start time of 5/1/2012 12:00:00 AM (we could pick a date further in the past, like 1/1/2012 if we want to use this
archive for even older data, but for the purpose of this lab we will make it start at 5/1/2012).
Enter End time of 12/31/2012 11:59:59 PM (this archive can now contain data “up to” the end of 2012 in case we want
to backfill additional data later).
Select archive Type of Dynamic.
After confirming below settings, click OK.
65 of 90
20. You should see your archive was created to contain data within the timeframe specified. Also, note the
“successfully created” message.
21. Now we will create two Trusts for the FactoryTalk Historian Server to allow the UFL interface to interact with the
Server/Archives.
Go to Security > Mappings & Trusts
Click the Trusts tab (note that you currently may have more than the three trusts shown below)
66 of 90
23. Do the following steps in this order:
Enter Trust Name of PI_UFL (could actually name whatever you want).
Enter Application Name of PI_UFL.exe (this is the PI-SDK Application for this interface).
Click PI Identity browse button.
24. You would normally use a different existing Identity, Group or PI User with more restrictive privileges, or even
create a “special one” for this interface to use (see documentation), but for the purpose of this lab, do the
following:
Select Type of PI Users.
Select piadmin.
Click OK.
67 of 90
25. Your dialog should now look like this. Click OK.
27. Repeat previous steps to create another trust named PI_UE (could be whatever you want), trusting application
PI_UE (this is the PI-API Application for this interface– does not have .exe extension) and PI Identity of piadmin.
Enter Trust Name of PI_UE.
Application Name of PI_UE.
PI Identity of piadmin.
Click OK.
68 of 90
28. You should now have these two Trusts in your Historian Server.
3. Click Browse…
4. Go to C:\Program Files (x86) > Rockwell Software > FactoryTalk Historian > PIPC > Interfaces > PI_UFL.
Select PI_UFL.exe.
Click Open (not shown below).
69 of 90
5. Do the following steps in this order:
Select SERVER from the drop-down list.
Specify Point Source of FTLD.
Click Add.
You will see a message that the interface is ready to be configured (not shown below) – click OK on that message).
6. Click UFL tab and browse button for the Configuration File.
7. You are identifying an INI file that the UFL interface will use to store its configuration. If you had an existing one
you wanted to use, you could select it. We do not, so are going to create a new file and configure it in the next
several steps.
Go to the INI folder in the PI_UFL directory.
Enter name of MyBackfill.
Click Open.
70 of 90
8. Click the Launch UFLDesigner.exe button to step through configuration of our INI file.
11. You will see three panes in this editor. Configurations are done in the left-pane, the center-pane displays our
reference file contents, and the right-pane shows the actual INI file contents as it is being created.
71 of 90
12. In the configuration pane, notice we are on tab 1 General and the Input File Mask is defaulting to the same
Backfill File Reference.csv file that we picked in a previous step. This would be OK if our actual data to import
is the same file we used for a reference. However, reference files have a 50KB maximum size and our file of
data for backfilling is much larger than that, so in the next step we will have to pick the actual data file.
13. Click in the Input File Mask field so that the browse button will appear. Click the browse button.
72 of 90
16. The top of your configuration pane should now have the Data to Backfill.csv file specified for Input File Mask.
Click the blue right-arrow to go to tab 2 Variables.
17. This tab is used to define the variables or “parts” to be extracted from the csv file. Click the green + button to
add the first variable.
18. You will identify the first variable in the data file, which in our case is the tagname.
Enter name of Tagname.
Enter Data Type of String.
Click the green + to add a second variable.
73 of 90
19. Do the following steps in this order:
For the second variable, enter name of Timestamp.
For the Data Type, use drop-down list to pick DateTime.
For the Date Format, use drop-down list to pick the following. Needs to be EXACT and it is Case Sensitive!!
“MM/dd/yyyy hh:mm:ss”
Make sure your second variable is configured exactly as below.
Click the green + sign to add a third variable.
21. Click the green + sign to add a Message Type. Leave this configuration as it is. It basically is indicating that
“any” first character in a line is the beginning of the data for that row. C1==”*” is interpreted as “the first
character in a row (Character 1 or C1) can be “anything” (wildcard of *) to indicate the start of data for that row”.
74 of 90
22. Go to tab 4 Data Extraction by clicking blue right-arrow.
23. This tab is used to assign data extraction to specific variables. Click the green + button.
24. The data in our CSV file is delimited, so select Delimited and Next.
25. The data in our CSV file is delimited with commas, so check Comma. Notice in the Data preview window you
can see the data is “properly delimited” (you can tell by the black vertical lines), separated by the commas
between Tagname, Timestamp and Value.
Click Next.
75 of 90
26. Read the blue text in this dialog carefully.
One at a time, drag the Tagname, Timestamp and Value variables to the appropriate columns in the Data preview.
When the three variables are in the proper columns as shown below (review carefully!), click Finish.
76 of 90
29. Read the blue text. Leave the StoreInPI option selected. Similar to the previous steps, drag the three variables
to the appropriate place in the Result field (you will be dragging and dropping “on top of”).
Tagname to <*Tag>
Timestamp to <*Time>
Value to <*Value>
30. After above step, the Result field should appear as follows:
33. Click the Save icon and then select File > Exit to close the UFLDesigner.
77 of 90
34. Back on the ICU, go to the General tab
Click the Add a scan class button.
Specify a 30 second scan class by entering 00:00:30 (in a real application this may differ).
36. In a few seconds you should see Ready and Running in the lower left-hand corner.
78 of 90
37. Restore the File Explorer you minimized earlier. When all 4000+ values and timestamps are finished being
transferred to the FactoryTalk Historian Server, the current date, time and a ._OK extension will be appended to
the name of the source data file.
39. Scroll through and briefly review the data collected from May 1, 2012 to May 31, 2012, now in the Historian
archive. You will have a “large gap” from May 31, 2012 to whatever the current date is (the date you are doing
this lab), but you’ve successfully backfilled data into a Historian archive.
79 of 90
Lab 6 – FactoryTalk Historian SE Archive Management
3. In the Model, navigate to System > Sources > FactoryTalk > localhost > Historians > Production Historian
and click on Tags.
Double-click on or drag and drop this tag to the plot surface:
RA Foods:RSLE:BL1.Program:Proof_Oven.SimpleTempZone1
80 of 90
4. The default relative time period your trend should have used is Last 5 minutes. Change the relative time period
used for the trend to a “longer” period of time, like Last 30 minutes, Last 1 hour or Last 6 hours until you see
where “new, changing” data started to be collected, such as the following:
6. Go to Operation > Archives. Based on what other labs you might have done before this one, you could have
either one or two archive files The one that currently has “Primary” in the Status column should be the default
archive created when this FactoryTalk Historian SE server was installed, using these defaults:
Path of folder C:\Program Files\Rockwell Software\FactoryTalk Historian\Server\dat
File name including name of server, date and time of midnight - SERVER_2015-03-02_00-00-00
File extension of .arc
81 of 90
7. Scroll to the right and notice other information about this archive, such as:
Status is Primary, meaning this is the “current” archive being written to
End Time is Current Time, also indicating this is the “current” archive
% Full and other helpful information is specified
9. Note the path in the Value field. This patch indicates where new archive files will automatically be created when
an Archive Shift occurs and is also identifying a prefix that will be used on the file name, piarch_. This path and
prefix could be modified as desired by the user, but for the purpose of this lab please do not make any changes.
Click Cancel.
82 of 90
10. Go back to Operation > Archives and click the Force an archive shift button.
Note: It is not recommended to force an archive shift while “in production”. Archive shifts should be
done automatically by Historian when a “current” archive is almost full. We are forcing it here for
training purposes.
12. After several seconds, you should see results similar to the following:
The original archive file with SERVER in its name is now identified as Status of Has Data (so you know it is not “current”
or Primary)
The new file was created in the location and with the prefix of piarch_ as identified in the
Archive_AutoArchiveFileRoot setting you looked at earlier, and is currently Primary
In addition to the prefix of piarch_, the file name contains the date/time and extension of .arc
You should see two entries in the Session Record such as in the below
83 of 90
14. Go back to the VantagePoint trend and click Refresh. You should see the trend update and shift to the left a bit
(to reflect the data collected since you last updated the trend). But, there is no “loss of data” or anything like that
due to the data used to display the trend coming from different archive files. No issues with Historian spanning
multiple archives to get data!
15. Now, let’s go through a process that a customer might do to “remove archives” that are no longer needed.
Rather than deleting them, which would lose that data forever, a process to unregister the archives is what they
should do. This would let them move the archives off of the local drive, but the data would still “be there” so you
could get it back again in case the data is needed sometime in the future. Go back to the SMT and do the
following:
Click on the archive with “old” data (the one that is NOT Primary)
Click the Unregister the selected archive button
84 of 90
18. The archive seems to be “gone”, doesn’t it? Don’t get nervous…at least in this case, the SMT is just not
showing the archive file as it has been unregistered.
19. Go to VantagePoint trend and click Refresh. Now you might be a little more nervous that your old data is
“gone”, but don’t worry. At the moment, since you have unregistered the archive in Historian, FactoryTalk
Historian is simply not “getting the data”. Exactly what you told it to do (not get the data) by unregistering it.
21. Go to C:\Program Files\Rockwell Software\FactoryTalk Historian\Server\dat. Scroll down to the bottom and
here you should see the actual arc file that you have unregistered, along with its “partner” file ending with an
.ann extension. This file would store any annotations related to the data in the arc file.
85 of 90
23. Let’s copy these files to a new location, to simulate maybe moving the old archive to a “storage drive” for
safekeeping.
Use Ctrl-clicks to select both files.
Right-click and select Copy
24. Go to C:\Class Files, right-click in the blank area and select Paste.
27. Go to C:\Class Files, select the .arc file and click Open.
86 of 90
28. You should see the file appear and a couple of registration messages in the Session Record.
29. Go back to VantagePoint Trend and click Refresh. All of the data should be displayed again. WOW, that was
easy!!
30. Close SMT, VantagePoint Trend (no need to save trend) and File Explorer if still open.
87 of 90
88 of 90
Notes
89 of 90
90 of 90