Professional Documents
Culture Documents
The page canvas is the area where pages are created and modified
©2020 EXOR International S.p.A. All rights reserved
The JMobile Studio IDE
The Javascript editor is below the page canvas, expandable by clicking “Script”
©2020 EXOR International S.p.A. All rights reserved
The JMobile Studio IDE
The Widget
Gallery is
nested on the
right. Page
elements can be
clicked and
dragged from
the widget
gallery onto the
page. Widgets
are organized
into categories
and
subcategories.
ProjectValidator is nested at the bottom. It helps ensure web page functionality is supported on
©2020 EXOR International S.p.A. All rights reserved widgets placed on web or unified pages. Click “Validate” to run the diagnostic.
2 3 4
Name the project, select a location Select the HMI that will be used, so the Choose the project template to create page
project will have the correct page categories. Unified pages can be accessed
to save it, and click “Next”.
through HMI or Web. Native and Web or
resolution. Select an orientation for the
Custom allow you to create different pages
screen and then click “Next”. for each category.
©2020 EXOR International S.p.A. All rights reserved
Click the icon on the toolbar or go to Run > Go to Run > Manage Target to access the HMI. Runtime
Download to Target to open the above dialog. From provides options for uploading projects residing on an
the JMobile Studio, all devices on the network are HMI, managing Runtime, and creating an update package.
visible. Select your target and download the project. The Board tab provides access to additional system
components of the HMI.
©2020 EXOR International S.p.A. All rights reserved
Exercise 1.1: Create and Download Your First Project
The goal of this exercise is simply to create a new project with no content and download it to the HMI.
Feel free to refer back to the previous slides (noted in the parenthesis for help).
It may take a few minutes to install the runtime, then the HMI should reboot and show the JMobile
project. If the JMobile project is empty then the HMI will just show a white screen.
2 4
Open the Context Menu and click “Update”. Wait for the
system to locate the update or browse for it at the location
/mnt/usbmemory. Click “Next” and apply the update.
• To access them on the HMI, open the context • From a connected browsing device, go to the
menu and select “Show system settings”. URL: https://IPADDRESS/machine_config where
IPADDRESS is the HMI’s IP address. See the
example below:
3 4
Click the Configure the
dropdown protocol and
arrow to view click “OK”.
and select a
protocol.
5
Double click on Repeat to add
“Protocols” in multiple
ProjectView to open protocols.
the Protocols tab.
©2020 EXOR International S.p.A. All rights reserved
Tags
• Tags tell JMobile what data points or variables to reference.
• A tag must belong to a protocol in JMobile. An internal tag can be created in the Variables protocol.
• Tags can be created manually or imported from a file exported by the PLC software.
3 4
2
Select the importer
type. Each protocol
will have unique
import formats to
choose from. Tags from the imported dictionary are grayed. Double
click a tag to add it to the project or select multiple tags
©2020 EXOR International S.p.A. All rights reserved and click the Import Tags icon to add them all.
Exercise 1.2: Adding Protocols and Tags
The goal of this exercise is simply to add some protocols and tags to the HMI project. Feel free to refer
back to the previous slides (noted in the parenthesis for help).
1. Add the following protocols. Make up IP addresses and port numbers or leave as default where
necessary: (43)
• Variables
• System Variables (Retentive Memory)
• Ethernet IP (Logix 5000)
• Modbus TCP
2. Add the tags shown on the right. (45)
3. Import the Ethernet IP tags using the Main_plc.L5X file. (46)
3
Click the “Expand All” and “Collapse
All” buttons to reveal or hide
additional fields. This can also be
done by clicking the “+” or “-” signs
to the left of a field.
3
The text can also be
changed by double
clicking the widget,
which will open a
text editor window.
2
Add a live tag by entering the name of the tag into
the text body between rectangular brackets [ ].
Check the box to “Enable Live Tags” and then click
“OK” when finished.
1. Add three field widgets and link tags “Int1”, “Int2”, and “Int3” to their “Value” properties with R/W
access. (54, 55)
2. On the field linked to “Int3”, link its “Min” and “Max” properties to “Int1” and “Int2”. (49, 55)
3. Add a field widget and link tag “Float1” to its “Value” property with R/W access and show two
decimal digits (49, 54, 55)
4. Add a field widget and link tag “Str” to its “Value” property with R/W access and change the
number format to “None” (49, 54, 55)
5. Add labels for all fields and use live tags to display “Min” and “Max” for the field linked to “Int3”
(54, 56)
©2020 EXOR International S.p.A. All rights reserved
Formulas
1 2
Click “Formula db” to
access a list of useful
functions. Scroll over a
function for its
description and
argument parameters.
Numeric fields do not have to display a tag directly; they User formulas that
can display the result of an expression containing one or have been saved will
more tags. Click “Insert formula” at the bottom of the tag appear here.
explorer.
3 4
Enter the formula into the formula bar. Double click on a tag to insert it or type it
Click the check icon to
using the syntax $(‘TagName’). Mathematical operators (+,-,*,/,%) bitwise operators
confirm the formula, or the
(&,|,~,<<,>>,etc.) and logical operators (&&,||,!,==,<,>,etc.) can be used. A full list of
“X” icon to delete it if
operators can be found in the User’s Manual.
©2020 EXOR International S.p.A. All rights reserved necessary.
Exercise 1.4: The Formula Bar
The goal of this exercise is to explore the depth of what can be done using the formula bar. Feel free to
refer back to the previous slides (noted in the parenthesis for help) and remember to simulate or
download to the HMI to check your work.
1. Add a field widget with a Max() formula to show the larger of the tags “Int1” and “Int2” (54, 58)
2. Add a field widget with a mathematical formula to show the product of the tags “Int1” and “Int2”
(54, 58)
3. Add a field widget to show the length of the tag “Str” (54, 58)
4. Add label widgets with live tags enabled next to each of the above fields. Use the live tags to show
the formulas with their current values. For example: ([Int1] x [Int2]). (54, 56)
3
The “MultistateImage” widget can be used
to display different images based on the
linked tag value. Click the “+” icon in the
“Images” property to add images. Link a
tag to the “Value” property to control the
displayed image or set the “Animation”
property to “true” to automatically cycle
through them.
1. Add a new page and set it to be the home page. Complete the below on the new page. (70)
2. Add two buttons and two lights. Match each light to a button and group them. (61, 62, 66)
3. Change the colors of both widgets in one of the groups and change the button click type of one button
so there is one momentary button and one maintained button. (49, 61)
4. Attach the “Value” property of the momentary button to the tag “Bool1” and the maintained button to
the tag “Bool2”. (55)
5. Add a gauge and slider and group them. Attach the “Value” property of both to element 0 of the tag
“ByteArray”. (55, 64)
6. Add a bargraph and slider and group them. Attach the “Value” property of both to element 1 of the tag
“ByteArray”. (55, 64)
©2020 EXOR International S.p.A. All rights reserved
4
1. Create a template page. Complete the below on the template page. (72)
2. Add an image widget to display a logo in the top left. (68)
3. Add a timedate widget in the upper right. This widget is found in Basic -> Controls. (53)
4. Add a field and link it to the system tag “Current page”. In the tag explorer, click the “System” radio
button and expand “Server” to find “Current page”. (55)
5. Add a button in the bottom right corner with the text “Menu”. Later this will be used for page
navigation. (61).
6. Go back to the other pages and add this as the template page. Do this for all future pages in the project.
(72)
©2020 EXOR International S.p.A. All rights reserved
Exercise 1.7: Testing More Widgets
The goal of this exercise is to test a few more common widgets. Feel free to refer back to the previous slides
(noted in the parenthesis for help) and remember to simulate or download to the HMI to check your work.
1. Add a new page, set it to be the home page, and apply the template to it. Complete the below on the
new page. (70, 72)
2. Add a message field and a knob. Attach the “Value” property of both to element 3 of the tag
“ByteArray”. (55, 60, 64)
3. Change the labels and messages to “zero”, “one”, “two”, and “three”, and set the maximum values of
both to be four. (50)
4. Add a combo box and a multistate image. Attach the “Value” property of both to element 4 of the tag
“ByteArray”. (55, 65, 68)
5. Add your own images to the multistate image widget and change the combo box list labels to
appropriate names for them. (65, 68)
1. Add a new page, set it to be the home page, and apply the template to it. Complete the below on the
new page. (70, 72)
2. Add a button with an OnMouseHold action to “Restart” the HMI/simulator. The “Restart” action is
found under the “System” category in the action list. (61, 76)
3. Add a field and attach its “Value” property to the “Short” tag. (54, 55)
4. Write a value to the tag when the page loads using the WriteTag action OnActivate. (76, 77)
5. Add two buttons that have “+” and “-” icons. When adding the button from the widget gallery, click the
blue “i” icon and select the icons from the “Math” category. (61)
6. Add StepTag actions to each of the buttons OnMouseClick to increment and decrement the “Short” tag.
(76, 77)
©2020 EXOR International S.p.A. All rights reserved
Page Actions
1. Add a new dialog page. This will be used for page navigation and will be called from the unused
button on the template page. (70)
2. Add a button with a home icon and assign the HomePage action to it OnMouseClick. (61, 76, 79)
3. Add two buttons with arrows and assign the PrevPage and NextPage actions to them OnMouseClick
(61, 76, 79)
4. On the template page, assign the ShowDialog action to the corner button OnMouseClick to make it
show the newly created dialog page. (76, 79)
1. Add a new page and apply the template to it. Complete the below on the new page. (70, 72)
2. Add a Grid layout widget with two columns and six rows. (67)
3. Insert labels and fields into the grid to display the elements of an array with their corresponding
indexes. (54, 55, 67)
4. Increase the minimum height of each row to make the grid scrollable. (67)
Javascript can be executed as a standard action, When the Javascript action is created, a function block is
executed on button press, on data update, or by automatically created in the script editor, the function block will
any other event trigger type. be executed by the event trigger. The script editor is found at the
bottom of the screen below the page editor.
3
Instead, if a function contains a syntax error then none of the code in the
function will execute.
The first line obtains the value of the tag and stores it in a variable.
The second line writes the value back into the tag after multiplying it by -1 to negate it.
With a widget group selected, right click The widget catalog shows where custom widgets are used in the
anywhere on the page and click Convert To project and the exposed properties of the selected widget. Name the
Widget. widget and click save to create a custom widget.
©2020 EXOR International S.p.A. All rights reserved
The Widget Catalog - Properties
1 2
When creating a custom widget, you can select Check the boxes next to properties of the widgets within the
specific properties of the widget to expose to the custom widget that you wish to expose. Clicking on a piece of
user. These properties will appear in the properties the custom widget on the right side will jump to that widget’s
pane when the widget is selected. Click the circle properties. Click Ok when finished to add the selected
icon to add properties. properties.
©2020 EXOR International S.p.A. All rights reserved
The Widget Catalog – Categories and Aliased Properties
1 2 3
Select the inheritance from the dropdown menu Change the version to update the widget without affecting prior
to share changes made to an instance of the versions. When a custom widget is modified, the changes will
widget. Inheritance can be graphic, logical be propagated to all other custom widgets that share the same
(embedded JavaScript), or both. version and inheritance configuration.
©2020 EXOR International S.p.A. All rights reserved
4
All user galleries are saved in the JMobile suite > To import a gallery into JMobile, simply copy the
user gallery folder. These folders can be shared gallery subfolder into the main user gallery
with other JMobile users. folder.
1. Add a new page and apply the template to it. Complete the below on the new page. (70, 72)
2. Add a shape (under “Basic” -> “Shapes”), button, label, and message field to a page and group
them. Set the message text to “Off” and “On”. (53, 54, 60, 61, 66)
3. Convert the group into a custom widget. (93)
4. Expose the properties of the custom widget and organize them into categories. (94, 95)
5. Copy the custom widget to a user gallery. (100)
• Alarms (104)
• Scheduler (109)
• Recipes (113)
• User Security (117)
1. Create the following three alarms, using a Boolean tag for Alarm1 and an int tag for Alarm2 and
Alarm3. Alarm1 should have a ShowMessage action, and Alarm2 should include the live tag in the
description using [ ] notation. (104, 105)
2. Add a new page and apply the template to it. Complete the below on the new page. (70, 72)
3. Add the active alarms widget with Ack/Reset buttons to the page. (106)
4. Add a button linked to "Bool1" and a slider linked to "Int4" to test the alarms. (61, 64)
©2020 EXOR International S.p.A. All rights reserved
Click the dropdown arrow to
Scheduler 2 select the schedule type.
1
Schedules can be executed at
set times (Recurring) or on an
interval (HighResolution).
3
Click the white box under the “Action”
property to add actions that will be
performed on the schedule. Click “+”
and “-” to add or remove actions like
Double click on “Scheduler” in you would for a button event, for
“ProjectView” to open the Scheduler tab. example. “Priority” determines which
Click “+” to add a schedule. actions are performed first when two
or more schedules occur at the same
time.
2
Click the “+” next to the “Name” property to open the
schedule list. Click the “+” icon in the schedule list to
add a schedule to the widget and select the schedule
from the “Scheduler Item” dropdown box. Click the “+
++” icon to add all schedules to the list.
• Schedule 1: execute on startup only. Attach a WriteTag action to initialize the "Str" tag.
• Schedule 2: execute daily at a time in the near future (for testing). Attach a ShowMessage action.
• Schedule 3: high resolution schedule executed every 100ms. Attach a StepTag action to increment
"Int3" by 1.
©2020 EXOR International S.p.A. All rights reserved
Recipes
1 2 Double click on a
To create a recipe, right
click on “Recipes” (in recipe to open the
the Config folder of recipe editor. Add
ProjectView) and select elements to the recipe
“Insert Recipe”. using the “+” icon and
attach a tag to each
element.
3
Each set contains unique associated values for each
element of the recipe. In the Properties pane, define
how many sets the recipe will hold and name each
set. The “Recipe Name” can also be changed here,
or by right clicking on the recipe in the ProjectView
Recipes folder. Once sets are added, define the
values of their elements in the element table.
1. Create a recipe with 5 sets and 3 elements – an int element, a float element, and a string element.
Fill the recipe with appropriate values for each data type. (113)
2. Add a new page and apply the template to it. Complete the below on the new page. (70, 72)
3. Add a recipe selection widget, a button, and a grid layout widget to the page. (53, 114)
4. In the grid layout, add 2 columns of 3 data fields. (67)
5. Link the left column to the Current Recipe > Current Selected Set > Element Values. Link the right
column directly to the corresponding tags and make all datalinks R/W. (115)
6. Assign your recipe to the "Recipe Name" property of the recipe set menu. (114)
7. Attach a ResetRecipe action to the button's OnMouseClick event. (114)
©2020 EXOR International S.p.A. All rights reserved
2
User Security
1 Expand Security and double click on
User Groups or Users to edit the
respective field. Individual users In the User Groups tab, click the “+” icon to
must be members of a user group. add a new user group. Double click the name
User groups are used to define the of the group to change the name. It is also
permissions of users that are possible to assign a different home page to
members of the group. each different user group.
In the Uses tab, click the “+” icon to add a new user. Double click the name of the user to
change the name. This interface can also be used to change the default user (the user that
is logged in when the HMI is turned on), the user’s password (which is encrypted),
specifications for password length and criteria, and a few other settings.
1 2
1 2
Select any widget in the right
column to edit the user
group’s permissions for it.
Use Hide to completely
remove the widget from the
In the User Groups tab, click the white square in the page (for that user group) or
Authorization Settings cell of the group that will Read Only to make it so the
have its permissions edited. widget can be seen but not
used.
1. Create a user in the "guest" user group and set a password. (117)
2. Add a new page and apply the template to it. Complete the below on the new page. (70, 72)
3. Add two fields to the page and link them to the "This Client User-Name" and "This Client Group-
Name" system variables. (55)
4. Add a button to the page and attach a ShowMessage action to its OnMouseClick event. Copy and
paste the button twice to create three instances of the same widget. (76)