FactoryTalk Optix OnCourse
FactoryTalk Optix OnCourse
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.
This Lab is intended for users who wish to gain an overview of FactoryTalk OptixTM, there is no previous experience
with FactoryTalk OptixTM required to complete this lab.
Welcome aboard RA-1701 - a C-Class Primary Battery Production and asteroid mining ship. ................. 12
Communications ......................................................................................................................................... 13
Monitoring the Status connection of a controller ............................................................................................................................. 22
OPC UA .......................................................................................................................................................................................... 24
Licensing ..................................................................................................................................................... 76
Datalogging ................................................................................................................................................. 85
Trending ...................................................................................................................................................... 91
Project information model to display and set the structure of nodes. The
B Project panel
nodes can be organized according to parent/child logics.
•
E Path of the object being edited in the editor
•
F Specific toolbar for the object type being edited in the editor
Editor to display and/or set the properties of the selected node in Project or
H Properties panel
in the object editor
Open the template library window and template variables. It contains both
default and custom libraries.
GitHub Integration
Buttons in
Function
Properties
Group the child nodes: hide them from the Project and make them non-editable.
Release the child nodes of the group: display them in the Project and make them
editable.
Only for some object types. Open the object in the dedicated editor.
Log Panel
Function
Buttons
(in advanced mode only) Show/hide additional information about the error messages or
information notices displayed.
(in advanced mode only) Show/hide additional debug information about the error
messages or information notices displayed.
Open the logs folder of the running element (FactoryTalk OptixTM Studio at design time,
FactoryTalk OptixTM Application at runtime or Emulator).
Open the selection window of the modules to display in the Category column
Column
Column Description
name
2 Code (Only for FactoryTalk OptixTM Studio native messages) Message ID code
•
5 Object
Editor Buttons
Button Function
Only for some object types. Open the object in the dedicated editor.
Button Function
Common elements
Element Function
Open the dynamic link window to set the value of the corresponding field with a dynamic link.
During the lab you will help Alolun the ship’s owner and an Ardvarian from Ardvaria (a small water planet orbiting
sol f-d9jk3-098) to modify his HMI for the Primary Battery making process on board his ship.
When the image is started, make sure to minimize this OPC UA window.
In this section of the lab, you will help Alolun add automatic control to the ventilation valve of the drying oven, at the
moment he has to walk or float there and manually adjust the lever for the valve with the chance that he’ll just float
away when he moves the manual lever if he forgets to turn on his magnetic anchoring.
During the course of helping him you will see how many different controller drivers are natively available in
FactoryTalk OptixTM, add and control a tag from a Rockwell controller, investigate how FactoryTalk OptixTM
communicates via OPC UA and how to monitor the status of the connection to a controller.
1. Double click on the Lab Files shortcut on the Desktop.
2. Double click on the FT Optix Start Project > FTOptix_Base_Start Folder and then double click on the
FactoryTalk OptixTM project ROKLive_EMEA_2022_Base_Start, this will open the project in FactoryTalk OptixTM
Studio.
The first step in the Configuration of the Communication driver is to configure a Station. In this lab the Station has
already been created.
4. For this lab section you will not add another station but you can see the list of native drivers that can be added to
FactoryTalk Optix as well as communicating via OPC UA. Click the Back to return to the previous screen.
6. Wait while the driver connects to the controller and uploads the tags. At the bottom right you will see a box
showing Importing tags.
In case you don’t have a controller, you can develop in Offline mode through an L5K, L5X or ACD file.
7. When the list of tags appears, you can look in the list for tag VentValve or you can type the name or part of the
name in the search bar.
There was already an object created to open the ventilation Valve in case of an emergency. Let’s add this to the
screen.
Now we can start configuring the Ventilation Valve that we just added.
13. Select the Ventilation_Valve1 that you just added and look at the properties window on the right. In the red box
are the properties you are going to fill in.
14. For the ValveName, move you mouse pointer next to the right of the property until you see the pen appear,
click on it and fill in “Vent1”
For the tag that we are going to associate with the properties, we will show you two different ways.
15. Move your mouse to the right of property ValveValue and select the Add Dynamic Link button.
17. Now you can scroll down to CommDrivers, here under tags, you will find the two tags that you have selected.
20. In the top search bar, type in VentValve, select the Inp_CmdVentValve and click on Select.
NOTE : If you don’t see the tag, go back to step 4 and make sure you selected both tags.
In the next section we will add a widget to see if the connection to the controller is working.
2. You can move the Libraries Popup around on the screen. Go to Widgets, select Station Connection Status
and drag it on the communication screen. Click Close when finished.
Each object in the Libraries has a description and instructions on how to use the objects.
In the Libraries, you can sort alphabetically or choose between list or icons.
All these objects are included in the software and more will added in future updates.
For the object that was just added, you could also use the search bar and search for “Station”, this would
filter all the objects where Station is used in name or description.
The desktop pc is one of the many graphical objects that have been added to the library.
4. Minimize the folders in the folder view, scroll down to CommDrivers and open the folders by using the icons on
the left of the names until you see the LogixStation1.
5. Drag and drop the LogixStation1 into the Station property of the StationConnectionStatus1 object.
2. Now scroll down to OPC-UA, right click and select New > OPC UA Client.
3. On the right side, you see the properties, in the Server Endpoint URL you need to fill in
opc.tcp://AzureWin10:48020
If the field is not completely visible, then try to expand the area by moving your mouse near the border of the
property screen on the left wait until this mouse icon appears , click and drag it to the left to make the
property area larger or smaller.
5. Double click on OPCUATagImporter. Make sure the Mode is set to Online in 1 of the 2 locations.
NOTE: If you don’t see any tags, make sure that the OPC UA server is running. (Black windows screen, that
you had to minimize in the beginning)
If it is not running, start the UaAnsiCServer
8. Now you are going to add three Base Controls to the Screen, Right click on Communications > New > Base
Controls and select Label. Do these steps also for Spin Box and Button.
10. You can move the Libraries Popup around on the screen. Type analog in the search area and drag and drop
Analog Item Widget on the screen. Click Close when finished.
11. Now align the 4 objects you just added to the screen like below. Label, Spinbox and Button are located at the top
left corner of the screen.
12. Make sure the padlock is locked for the AnalogItemWidget1. If it is not, you can click on it to lock it.
14. In the Properties section on the right side, next to InputVariable, click on the Set Alias button.
18. In the Properties of Label1, Under Text and font section, next to Label1, click on the Add Dynamic link
button.
Once we run the application, we’ll explain what the difference is between the two objects.
21. Now select Button1.
22. Under Text and font, change the text Button1 to Heat.
25. Search for heat or go to OPC-UA > OPCUAClient1 > Objects > Demo > 009_BoilerDemo > Boiler1, click on
Heat and click on Select.
NOTE: If you don’t see the Heat method, go back to step 6 and make sure you also selected the Heat tag.
27. Search for spinbox1 or go to screen Drying > Communications > Spinbox1 and select Value and click on
Select.
28. The spinbox is now linked to the parameter of the OPC UA Method call.
1. Click on Drying
2. Click on Communication icon
3. Click on Switch to open the release valve, then use the slider to release the extra heat.
4. Use the arrows of the Spin Box or click on the number to change the value between 20 and 100. Then click
on the button Heat to change the temperature.
5. Check if LED is green, if it is red, then contact one of the assistants
You will see that the left value is in Fahrenheit, the value next to the spinbox is in Celsius. The original temperature
from the OPC UA server is set in Celsius. Using the object from the Libraries, all this information is passed to the
object. The default user that is logged in, is based in US and therefor the Engineering units is automatically changed
to Fahrenheit.
Close the Emulator when you have finished testing.
Congratulations you have completed this section of the lab and in doing so allowed Alolun to sit in his cabin and
adjust the Ventilation valve and then see what affect it has on the temperature profile of the drying oven.
Alolun wants to check the critical variables that affect the quality of the electrode during the calendaring process.
In this section of the lab, you will help Alolun add these variables from the controller, they are stored in a UDT and as
the right side of the calendaring roller setup is the same as the left side, you will help him set up aliases from a type
to save on development time.
Read about FactoryTalk OptixTM Objects
An object is an element that identifies a physical (a motor) or non-physical (a digital alarm) object in the
project.
An object has the following characteristics:
can contain variables
can contain other nested objects (for example a motor can contain objects that represent its components)
has attributes that describe it
Example
In the real world, a motor is a mechanical object with specific operational characteristics, e.g. speed, torque,
acceleration and power.
In FactoryTalk OptixTM, the motor just described is represented with an object (Motor) which contains the
variables corresponding to its functional characteristics (Speed, Torque, Acceleration, Power).
Below is an example of how the same object is structured and displayed in FactoryTalk OptixTM Studio:
Attributes
An object always has the following attributes:
Below is an example of how the different nodes of a project are displayed in FactoryTalk OptixTM Studio. The
project information model is the information model of the MyProject root node.
The nodes are organized in folders for better project readability.
In the window, each alias is identified by a node with icon and its name in curly brackets. The node can
be expanded to navigate the information model of the node to which the alias points, and to select the source
node of the dynamic link.
1. Let’s collapse all the open folders. Right Click on the Application name and select Collapse all.
4. Open folder RA1701, drag and drop the Calendar_RollerType into the Variables folder.
5. Select Calendar_Rollers1.
7. Type in the search area CalendarRollers and select the CalendarRollersLeft and click on Select.
12. Type in the search area CalendarRollers and select the CalendarRollersRight and click on Select.
Now both tags have been added from a Type that was created in the Library.
In this section, you created 2 variables/tags in the model which is the internal tag database. The tags
Calendar_Rollers_Left and Calendar_Rollers_Right are both based on a Type which is similar to a UDT in
the controller. So the 2 tags are an Instance of the Calendar_Rollers (Type). The 2 instances are setup so
they use Min, Max and Engineering unit. We could have used the controller tags straight in the application
but is some cases customers might want to use controllers from a different brand.
This way they just need to link the controller tags to the model tags and they will use the model tags in the
application.
The 2 tags that were linked to the Instances (Tags) in the model are based on a UDT called
Calendar_Rollers_UDT.
16. Select Calendar_Roller_Widget1, on the right Property pane, select Set Alias.
17. Type Calendar_Roller in the search area, scroll down until you see the Model and click on
Calendar_Roller_Left and click Select.
20. Move the object Calendar_Roller_Widget2 to the right side, like the picture below
When you click on the padlock next to a group of objects, you can lock it which makes it easier to select and
move around the screen.
22. Select the Calendar_Roller_Right tag which is below the Calendar_Roller_Left tag and click on Select.
Congratulations you have completed this section of the lab and now Alolun can visualize the calendaring
machine roller’s critical data.
Display construction
In this section of the Lab you will help Alolun learn the fundamentals of constructing Displays with FactoryTalk
OptixTM . You will help him learn about Containers, Widgets, Style sheets, Objects, Types, the Information model,
Aliasing and Instances and how they are used in FactoryTalk OptixTM.
Concepts of layout
Introduction
The layout of a user interface in a FactoryTalk OptixTM Application depends on the following elements:
the organization of the graphical objects in the information model
the value of the positioning (alignment and margins) and sizing (width and height) properties of the
graphical objects
the order of the graphical objects on the z axis
the size and aspect ratio of the screen on which the interface is displayed.
Margins, padding and borders
Below is an example of Text box object to present the meaning of the
terms content, margin, padding and border:
1. For this section we are going to open a new screen. Go to UI > Screens > Calendaring and double click on
Display_Design.
Next you will add three buttons and set two of them to set different project Style Sheets and the third will be
configured to open a pop up.
Having a style sheet that changes all the display properties of a project is very useful for Alolun, especially
the Dark style sheet as the displays can be very bright in the darkness of space.
Read about FactoryTalk OptixTM Style sheets
Introduction
In FactoryTalk OptixTM, a Style sheet object makes it possible to globally set some style properties of all
graphical objects in the project, or of specific object classes (for example, the properties of Switch objects).
The style properties are then inherited, starting from the style sheet, by the different types and instances in a
project.
Style sheets can be thought of as the same as Themes in windows.
Multiple style sheets can be created in the same project. This can be useful, for example, to allow the user to
switch between a light tone interface and a dark tone interface at runtime.
Note
FactoryTalk OptixTM includes some style sheet templates, available in the templates window (see Use object
and variable templates).
Inheritance of style properties
If the same property is set at more than one level, for example, if the text color is set in both the style sheet
globally and on a custom Label object type, the property is given a value on the single object according to
this order of decreasing priority:
property set on the instance
property set on the type from which the instance derives
property set in the style sheet for the specific object class
property set in the style sheet globally
If the value of a property is set to Default, the value corresponds to the value set at a higher level, in the
same order of priority as above. For example, if the value of Text color is Default on a Label instance, the
value set is the first one found for the same property at the type, object class or global level, in that order.
Example properties that can be set with a Style sheet.
10. Select Button1, under Text and font in the properties area, change the Text from Button1 to Dark.
11. At the bottom of the properties, under Events, select the + at the end of MouseClick event.
12. Go to Commands > Variable commands and select Set variable value and click on Select.
14. Go to UI > NativePresentationEngine and select Style Sheet (Pointer) and click Select.
Now you are going to do the same for the second button but link it to the DefaultStyleSheet. Try it yourself
or you can follow the instructions below
16. Select Button1, under Text and font in the properties area, change the Text from Button1 to Default.
17. At the bottom of the properties, under Events, select the + at the end of MouseClick event.
20. Go to UI > NativePresentationEngine and select Style Sheet (Pointer) and click Select.
22. Select Button3, under Text and font in the properties area, change the Text from Button1 to Popup.
23. At the bottom of the properties, under Events, select the + at the end of MouseClick event.
24. Go to Commands > UI commands and select Open dialog window and click on Select.
26. In the search bar, type in Popup and press enter. Select the Popup1 under the Calendaring Screen and
click Select.
27. Right click on the screen name Display_Design, select New > Containers and then select Accordion.
29. Under the Accordion1, you see Content, right click and go to New > Drawings and select Image.
34. You can move the Libraries Popup around on the screen. In the search type Color and press
enter. Drag and drop the Color picker on the screen next to the image. Close the Libraries.
These included widgets show the full versatility of FactoryTalk OptixTM, you can consider this IDE as a blank
page with a fancy pencil, you can design and develop anything you want using basic elements. In this lab we
provided a Moving Analog Indicator like the one found in Studio5000 that assists in the Situation Awareness
of the operator and replicated them using a mix of panels and rectangles, animation of indicating arrow is
done by passing a variable value to the “bottom margin” of the arrow itself. Using aliases you can in fact pass
any type of object to a type and do some elaboration depending of the status/value of the alias. When you
finished drawing these custom widgets you can drag them into your personal Template Library and store
them for future projects or to share it with other colleagues.
1. Browse to UI > Screens > Drilling and double click on Widgets to open the display editor.
3. Go to folder Widgets and drag and drop Tag Grid and Multi-State Selector on the screen.
4. Now go to folder RA1701 and drag and drop Trending_Drilll_Bits to the screen next to the multistate
selector.
5. In the project pane, make sure that that the Trending_Drill_Bits1 and MultiStateSelector1 are both
locked. That makes it easier to configure and move the objects around the screen.
7. Type in search Val_GuidanceSegment, select the Val_GuidanceSegment tag and click on Select.
9. Select the Trending_Drill_Bits1, in the right property pane, click on the add Dynamic link for Selector
property.
1. Select Drilling
2. Select tab 4
3. Select the widgets icon
4. By changing the multi State Selector, you will see the values change in the trend between Nothing and
Drill bit 1 to 3.
5. This object shows the values from the controller by just adding the tag to the object.
Containers
FactoryTalk OptixTM applications can be navigated using two solutions:
Panel loader: a page display that can be navigated using buttons or UI commands, browsing can be done
with buttons, scripting or events, at design time or run time
Navigation panel: a tab-style navigation menu, all pages are added at design time and browsing is done
manually interacting with top bar
ScaleLayout is a specific container used in a project to resize automatically its children maintaining objects
proportions, this is a very useful container to use for deploying projects on HMIs with different screen sizes
without user modifications.
Congratulations you have completed this section of the lab and now Alolun has a complete grasp of the
fundamentals of Containers, Widgets, Style sheets, Objects, Types, the Information model, Aliasing and
Instances and how they are used in FactoryTalk OptixTM. He can now go and enjoy a game of zero Gravity
Badminton.
Actually, he is so excited he’s going to go off and redesign the whole of his HMI, we can’t wait to see what
he comes up with (spoiler alert, we don’t have to wait for too long, it’ll be in the FactoryTalk Optix Advanced
Lab).
Alolun has been doing a lot of modifications to the HMI system recently and as he is a loyal and honest Ardvarian
and he doesn’t want any features he has implemented to stop running after 2 hours because he doesn’t have the
correct number of tokens for the number of functions, he wonders if there’s a way to find out the number of tokens
that his project is using.
Alolun knows that FactoryTalk OptixTM Development Studio and Runtime will run fully functioning for 2 hours without
licenses, he also knows that any functionality not covered by the number of tokens will stop after 2 hours.
In this section of the Lab you will see with Alolun the licenses token(s) that FT OptixTM Runtime uses and how to see
how many a particular project is going to use.
4. Navigate in the runtime application and find this information in Calendaring Machine.
Congratulations you have completed this section of the lab and in doing so put Alolun’s mind at ease and he
can go and enjoy a lovely glass of his favorite beverage in the ship’s canteen.
Alolun tries to be a good ship owner and captain to his crew, to this end he is going to make their lives easier and set
the HMI up so that it switches languages and locales. Although there is a universal translator available and even the
environmentally friendly Babel fish on the market, these only do audible not visual translations.
In this section of the Lab, you are going to help Alolun configure language switching and Locales.
Note : Translations have already been added with English, Italian and German for each key.
a. In the Properties/Text, click on the pen and select English(English) from the list using
link icon
Note: Repeat steps a - f above for Italian (ITA_Btn) and German (DE_Btn) language switching respectively.
The Value (in Events/Method/Input arguments/Value) for Italian and German language are it-IT and de-
AT, respectively.
4. Now run the Emulator by clicking the Emulator Play Button ., click on the Calendaring tab.
Alolun is noticing that there are some discrepancies in the coating of the Anode electrode through the Calendaring
machine when he checks the porosity of the calendared electrode with the Scanning Electron microscope. He thinks
this might be down to inconsistent calendaring roller pressures, so he is going to record the pressures over time in a
database to analyze later.
In this section of the Lab, you will help Alolun configure a DataGrid looking at an embedded database that has been
populated with a Datalogger. You will use a widget to configure the Datalogger.
This will be the result:
Click Next.
Select CylinderPressures and click Next.
Click Next.
4. Select the tags to log. In this lab you can select the Calendar Cylinder Pressures.
Browse to Model > Calendaring > CylinderPressures and select the four variables in there.
4. Now, you need to add a Model to the Datagrid to view the Cylinder Pressures.
To do that, browse to Loggers and drag the CylinderPressures logger to the Datagrid.
Click on the Calendaring tab and click the third icon on the left and then the third icon again to show the
Datalogging.
Congratulations you have completed this section of the lab and in doing so have allowed Alolun to study the data
stored in the database to see if he can spot an anomaly.
Alolun is noticing that there are some discrepancies in the coating of the Anode electrode through the Calendaring
machine when he checks the porosity of the calendared electrode with the Scanning Electron microscope. He thinks
this might be down to inconsistent calendaring roller pressures, so he is going to record the pressures over time in a
database and then monitor them on a trend.
In this section of the Lab, you will help Alolun configure a Trend to show both live and historical data of Calendaring
Cylinders Pressures.
This will be the result:
2. Rename the object to Trend by clicking on the pencil on the right of the name
You should see in the Object Editor all the selectable variables.
3. Select the variables to be logged.
Browse to Model > Calendaring > CylinderPressures and select all the four variables in that group.
Click on Apply.
2. In the Trend Properties, click the plus symbol on the right of Pens to add a new pen. Add 4 pens to the trend.
3. Rename TrendPen1 to Crown Cylinder Pressure Left.
b. Select the Add dynamic link symbol close to Crown Cylinder Pressure Right and browse to
Loggers > CylinderPressures > Variables to log > Out_CrownCylinderPressureRight > Last
Value.
Click Select.
Change the Thickness property to 2.
Change the Color to Red (click on the pencil, write “red” and press Enter).
c. Select the Add dynamic link symbol close to Gap Cylinder Pressure Left and browse to Loggers >
CylinderPressures > Variables to log > Out_GapCylinderPressureLeft > Last Value.
Click Select.
Change the Thickness property to 2.
Change the Color to Lime (click on the pencil, write “lime” and press Enter).
As default, the trend has a Refresh time of 2s. You can change it from the Properties of the Trend.
You can also configure the X axis and the Y axis. You can choose if the axes should be interactive or not.
The X axis can be set to automatically scroll forward in time during runtime by setting the Follow property to
True. The Y axis can be set to automatically scale at runtime to resize the trend graph according to the
values being displayed, by setting the Automatic scaling to True.
8. Notice that if you change page and go back again in the Trending page, the Trend is already populated. This is
because you are logging both live and historical data.
9. Familiarize yourself with the Trending and close the Emulator when you have finished.
Congratulations you have completed this section of the lab and in doing so have allowed Alolun to trend the data
that he wanted to help him solve the annoying inconsistencies in quality.
Alolun although the ship’s owner, captain and chief bottle washer is an engineer at heart, he has alarms occurring on
his HMI and would like to set up some new ones and investigate the functionality of the objects that are displaying
these alarms and allowing him to interact with them.
You are going to help Alolun configure a digital and an analog alarm. You will also help him to add an Alarm Banner
and Alarm Grid to visualize the real time alarms, and an Alarm History Grid to visualize the historical alarms.
2. Rename DigitalAlarm1 to DigitalAlarm, by clicking on the pencil on the right of the object.
4. In this example, you will set the High Limit. In this way, when the Input variable overcomes the High Limit, the
alarm is triggered.
Set High Limit to 80.
Libraries
When you select an object from the Template Library, notice that there is some information about what the
object is used for and how to use it.
You can add your own library to the Template Library.
Click on the Calendaring tab and click the third icon on the left and then the fourth icon to show the Alarming
Screen.
Try to trigger Digital and Analog alarms by using the objects in the Alarms Simulation group.
Notice that alarm notifications appear in both the Alarm Banner and the Alarm Grid.
Familiarize yourself with Acknowledgement and Confirmation of alarms.
Close the Emulator when you finish testing.
9. You will now create a Refresh Button to refresh the Alarm History Grid.
Browse to UI > Screens > Calendaring > Alarming > AlarmHistoryGridGroup.
Right click on AlarmHistoryGridGroup > New > Base controls > Button.
12. Click on Refresh button and click on the plus symbol close to the MouseClick event.
Browse to UI > Screens > Calendaring > Alarming > AlarmHistoryGridGroup > AlarmHistoryGrid and
select Refresh.
Click Select.
Click on the Calendaring tab and click the third icon on the left and then the fourth icon to show the Alarming screen.
Try to trigger Digital and Analog alarms by using the commands in the Alarms Simulation group.
Refresh the Alarm History Grid and notice that new alarm notifications are shown.
Congratulations you have completed this section of the lab and with your fantastic help, Alolun will be able to
configure any alarms for any piece of equipment that he wants.
Alolun is noticing that there are some discrepancies in the coating of the Anode electrode through the Calendaring
machine when he checks the porosity of the calendared electrode with the Scanning Electron microscope. He thinks
this might be down to inconsistent calendaring roller pressures or temperatures and would like to generate a report of
this data for later reading. In this section of the Lab, you will help Alolun set up reports and see that pdf reports can be
generated in custom styles in Runtime.
Report components
2. To have different custom style Reports we have to create at least 2 different style sheets for these
reports. Right click Reports > New > All > Reports > Style sheet. Repeat this step a second time so
that we have 2 Style sheets.
10. Click on the new created Image1 and change the Properties according to the screenshot
If you don’t see the Size and Layout, then double click on the header and then on the image again.
12. Header is done, now we create the Footer content. Right click Footer and add 3 Labels.
17. Click the Add Dynamic Link and then on the Advanced… button
22. Next up Sections. Right Click Sections and a Panel section and a Datagrid section.
29. Update the Query property with SELECT * FROM "Reporting" LIMIT 300
30. You can add all the columns manually but for the lab you will drag and drop the Reporting Logger into the
report Data
31. The Report structure is now done. Finally, we must update our Reporting screen in order to work with the
right Style sheets. Open folder/Node UI > Screens > Calendaring and double click on Reporting.
32. Select CheckBox1 at the bottom of the screen, Add a dynamic link to the VariableToModify.
34. Select CheckBox1 and update the Value in the Events properties to StyleSheet1.
35. Do the same with CheckBox2 but use StyleSheet2 as Value here.
36. Select the Generate Report button and on the right Properties pane, add a MouseClick Event. To do so,
select the small plus “+” icon next to MouseClick event. Type “generate” in the search bar
and select Generate PDF.
39. Start the Emulator, click on the Calendaring tab, on the left Menu click the Trend icon and then the
Reporting icon.
44. Check the Report Stylesheet2 checkbox and Click on Generate Report.
45. Open the folder C:\Lab Files\Reports and Double click on the DataReport pdf.
46. The pdf report will open showing the Calendaring Rollers Parameter Log parameters in a different style.
Close the emulator and close the pdfs when you have finished testing.
Congratulations you have completed this section of the lab and with your fantastic help, Alolun will be able
to view the data in the report from the comfort of his cabin.
Although Alolun trusts his intrepid crew, the HMI is very complex and he thinks he might need to add security to
stop some itchy tentacles pressing buttons they shouldn’t.
In this section you will help Alolun add a user and use a wizard to easily configure users and groups.
During helping Alolun, you will also see how easy it is to import widgets to configure users and groups online and
how to keep these users even when you download an updated version of your application.
Domain – In this section of the lab you will use local users but FactoryTalk OptixTM also has the ability to use
users from a domain controller.
4. On the right side you will see that the User1 Properties are shown.
Change the User1 to rockwell with password rockwell, LocalIDs and Languages to en-US and Measurement
system to International system of units.
5. Now you will use a wizard to assign the users to the security groups. Click on next to Emulator.
6. Select Manage users and groups
8. You can see that the user rockwell is now user the Operator group.
When you click on the Template Libraries icon then you will see a popup open with some
template scripts, stylesheets, GraphicElements, Misc and Widgets.
The search bar makes it easy to find anything in the library.
When you click on Widgets and then user Editor, you can see what is needed to be done to implement this
widget into your application.
The login form that you will use in your application is also available in these widgets.
Using the List or Tile switch, you can switch between a list or icons for all the objects.
Since all the objects are already included in the application you will not add them so you can just close the
Libraries if you opened it.
This is where we added the Widget Template for you. In the next step we will use this Template and instantiate
the User Editor Widget on our Security screen.
10. Go to UI > Screens > Calendaring > and double click on Security (type) to open the screen.
12. Select the added User Editor Widget and change the properties Left Margin to 40 and the Top Margin to
110.
13. Now you will move the users and groups into the properties of the object you just selected.
In the left column, go to Security > Users, select this folder and drag it to the Users in the properties of the
object.
Do the same for the Groups to the Groups Property.
Now you will test the modifications you have implemented so far.
15. In the top bar, click on the Emulator Play Button .
16. Navigate to the Calendaring tab, on the left Menu click the Trend icon and then the Lock icon.
You can select between 3 different measurement systems : US customary measurement system,
British imperial units and International system of units.
You can always modify certain measurements or add a new measurement system if that would be needed.
Languages
Under the folder Translations you can see the Localization Dictionary.
In here you can add Locale or languages and also do the translations.
Every text field in the application gets a unique name called Key which is the first column you see in the
table.
When you click on View Translation References, you will see all they strings used in the application and each
string has a unique Key. So even if for example Start is used multiple times in your application, it will only be
shown as 1 key so you only need to translate it once.
19. Logout and Login as user guest. As soon and you logout, you will see the User Editor is grayed out. The
User Editor was configured so that only Administrators has access to.
20. Login as Davide who is part of the administrators group has access to the User Editor.
Note that all the users in your application are included on this User Editor object.
22. Click on Create and create a new user using your own name (remember to hit the <Enter> key after
entering yourname) and assign yourself to Administrator group so that you have access to the User
Editor. When finished, click Apply. Make sure to press on the Enter key when you have filled in your
username and password.
When you close the application and run the emulator again, all the users you online added will still stay in the
application.
The reason that this is possible is because a Retentivity database has been added to the application.
In this case it is used it for security but this retentivity database can also be used for internal tags.
Close the emulator and close the pdfs when you have finished testing.
Congratulations you have helped Alolun complete the Security setup, he is a happy Ardvarian and those
sticky tentacles won’t be able to reach where they aren’t supposed to reach.
Whilst Alolun is modifying the HMI to suit his needs, he sees that FactoryTalk OptixTM has 6 different converters and
has expression evaluators, he thinks he might have a use for these in the future and decides to investigate how they
work and what they can do.
In this section of the Lab you will help Alolun investigate how Converters are used in FactoryTalk OptixTM.
A converter is an object that converts the source value and then assigns it to the parent node. A converter
can be either a local converter, or a converter type created in the Converters folder that has related
instances that you can reuse.
An example converter in the Advanced dynamic link editor may contain:
Tip:
If you use a converter and its properties in a single advanced dynamic link, create a local converter in the
Advanced dynamic link editor. If you use a converter and its properties in several advanced dynamic links,
you may want to create a converter type in Projects view and then use the converter type in the Advanced
dynamic link editor.
Linear converter
Convert raw data values into scaled values based on the linear relationship applied to the input.
Key-value converter
Convert the value of the source to its corresponding parent value based on a table of key-value pairs. The
key-value converter converts heterogeneous data, such as a color to value.
String formatter
Modify the formatting of one or more values according to a customizable rule.
Using the string formatter, you can, for example:
Add characters before or after a value, if the value of the source variable numeric.
Format and parameterize SQL queries to use in database objects
Link multiple strings together in a series
Apply formatting, such as decimal places or float rounding, to numbers
Expression evaluator
Calculate the result of an expression with integers, decimals, numeric variables, string variables for string
comparisons, arithmetic and Boolean operators, or a set of functions.
Conditional converter
Check if the result of a condition is true or false.
2. In the left side of this screen, you will find the Expression Evaluator part. Inspect the 4 different equations
that are shown.
By clicking on the padlock next to the object, you can lock or unlock a group of objects.
You will see that the Calculation is done in a Complex Dynamic Link – Expression Evaluator
4. Select Advanced
11. To get this to work we must update the DayOfTheWeek (type) Key Converter. Expand Converters and
double click on the DayOfTheWeek (type).
13. Now you will test the modifications you have implemented so far. Run the Emulator by clicking on the
Emulator Play Button .
14. Navigate to the Calendaring tab, on the left Menu click the icon with the magnifying glass and test the
Evaluators and Converters you just created or modified.
Congratulations you have completed the section on Expressions, Converters and Formatters and increased
Alolun’s knowledge of how they work, at this rate he’ll need to buy some extra memory at the cranial
extensions shop when he next docks to help him store all that he’s learnt.
Alolun wants to create, store and download the asteroid drill parameters, how can he possibly do this, ah ha
FactoryTalk Optix has recipes.
In this section of the Lab you will help Alolun configure recipes using a widget.
Tip:
RecipeSchema parameters contain the used database where recipes tables are created, you can manually
specify a Table name or leave that automatic (blank)
Items in a project are arranged in containers and content, content parameters are always related to its
container, if you set a content to stretch it will fit the whole area of its parent element
b) Configuring Path
Select Path. In the Properties pane, section Text, click on the Change Dynamic Link.
In the UI/NetLogic/RecipeController select CSVFile.
The host pc must have administrator rights for writing recipe parameters in C:\Lab Files\Recipes\Recipe.csv
Times are good for Alolun and he has enough money in his piggy bank to set up a new asteroid mining ship and
Battery line (who knows one day he might own a whole fleet and his company could trade on the stellar stock
exchange). Alolun won’ have time to configure the HMI himself when this happens so he is going to see how the
Netlogic scripting can generate displays and objects at Runtime.
In this section of the Lab, you will work with Alolun to configure C# scripting NetLogic.
UI/Templates/Motor
3. Move the Motor templates objects created and arrange the Scripting screen as below.
2. Microsoft VisualStudio will open and in Solution Explorer, double click on the
DesignTimeNetLogic.
4. From row 40 modify the code to add 4 CustomWidget templates (UI/Templates/CustomWidget) and click
Save.
UI/Templates/CustomWidget
5. Expand the folder node NetLogic. Right click on DesignTimeNetLogic and select
Execute CreateCustomWidget.
7. Move the CustomWidget templates objects created and arrange the Scripting screen as below.
The RuntimeCreateWidgetLed scripting will create Widget Led templates (UI/Templates/ToggleLed) in runtime
mode in Calendaring Scripting screen (UI/Screens/Calendaring/Scripting) already configured.
UI/Templates/ToggleLed
2. Microsoft VisualStudio will open and in Solution Explorer, double click on the RuntimeCreateWidgetLed.
6. Now run the Emulator by clicking on the Emulator Play Button , click on the Calendaring\Scripting tab.
What do asteroid miners do to relax… they play the classic arcade game Asteroids of course.
1. Double click on the Asteroids.optix file in the Lab Files>>Asteroids folder and open the project.
2. When the project has loaded click the Emulator Play Button and have some fun.
Hold down the mouse on the Turn left or Turn Right touch areas to steer the spacecraft and click on the spaceship
to fire.
Trivia Questions
1. Which great legacy does the ship RA-1701 pay homage to?
2. Where did the Babel Fish first see the light of day?
The FactoryTalk OptixTM Demo Project is a project developed to showcase the functionality of FactoryTalk OptixTM,
this section of the lab is an additional section that allows you to explore this demo.
Close down FactoryTalk OptixTM Studio and stop the Emulator if they are running.
1. Navigate to C:\Lab Files\FT Optix demo project. Double Click on the FeaturesDemo project located in the
folder.
4. The Project will run in the Emulator, explore the application and if you see some functionality of particular
interest then feel free to investigate it in FactoryTalk OptixTM Studio.