U.S. patent application number 13/366763 was filed with the patent office on 2013-05-23 for automatically displaying measurement data acquired by a measurement system on a mobile device.
The applicant listed for this patent is Andrew P. Dove, Blake W. Ford, J. Adam Kemp, Jenica A. Welch. Invention is credited to Andrew P. Dove, Blake W. Ford, J. Adam Kemp, Jenica A. Welch.
Application Number | 20130127904 13/366763 |
Document ID | / |
Family ID | 48426384 |
Filed Date | 2013-05-23 |
United States Patent
Application |
20130127904 |
Kind Code |
A1 |
Dove; Andrew P. ; et
al. |
May 23, 2013 |
Automatically Displaying Measurement Data Acquired by a Measurement
System on a Mobile Device
Abstract
A system and method for displaying measurement data on a mobile
device are disclosed. As a user carrying the mobile device moves
between different measurement systems, software executing on the
mobile device may monitor the proximity of the mobile device to the
measurement systems. When the user moves proximal to a particular
measurement system the software may automatically configure and
display a graphical user interface for viewing the measurement data
acquired by the measurement system.
Inventors: |
Dove; Andrew P.; (Austin,
TX) ; Welch; Jenica A.; (Austin, TX) ; Kemp;
J. Adam; (Austin, TX) ; Ford; Blake W.;
(Austin, TX) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
Dove; Andrew P.
Welch; Jenica A.
Kemp; J. Adam
Ford; Blake W. |
Austin
Austin
Austin
Austin |
TX
TX
TX
TX |
US
US
US
US |
|
|
Family ID: |
48426384 |
Appl. No.: |
13/366763 |
Filed: |
February 6, 2012 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
61561646 |
Nov 18, 2011 |
|
|
|
Current U.S.
Class: |
345/629 ;
345/418 |
Current CPC
Class: |
G01K 1/024 20130101;
G06F 8/34 20130101; G06F 3/0488 20130101; G01R 1/025 20130101; H04Q
2209/50 20130101; H04Q 9/00 20130101 |
Class at
Publication: |
345/629 ;
345/418 |
International
Class: |
G09G 5/377 20060101
G09G005/377 |
Claims
1. A non-transitory memory medium storing program instructions
executable by a mobile device to: automatically detect that the
mobile device has moved to a first location proximal to a
measurement system; in response to said automatically detecting,
display on a display of the mobile device a graphical user
interface for viewing measurement data acquired by the measurement
system; receive measurement data from the measurement system via
wireless transmission; and display the received measurement data in
the graphical user interface on the display of the mobile
device.
2. The memory medium of claim 1, wherein said automatically
detecting that the mobile device has moved to the first location
proximal to the measurement system comprises automatically
detecting that the mobile device has moved to a location within a
threshold distance of the measurement system.
3. The memory medium of claim 1, wherein the measurement system is
configured to produce a plurality of measurement data sources;
wherein the program instructions are further executable by the
mobile device to receive information from the measurement system
specifying each of the measurement data sources; wherein in
receiving the measurement data from the measurement system, the
program instructions are executable by the mobile device to receive
a respective set of measurement data from each of the measurement
data sources; wherein in displaying the graphical user interface,
the program instructions are executable by the mobile device to
display a plurality of output indicators, wherein each of the
output indicators corresponds to a respective one of the
measurement data sources; and wherein in displaying the received
measurement data, the program instructions are executable by the
mobile device to display each respective set of measurement data in
the output indicator corresponding to the measurement data source
from which the respective set of measurement data was received.
4. The memory medium of claim 3, wherein the program instructions
are further executable by the mobile device to automatically
determine a first layout for the plurality of output indicators,
wherein the first layout specifies a respective position on the
display of the mobile device for each of the output indicators,
wherein said displaying the plurality of output indicators
comprises positioning each respective output indicator on the
display of the mobile device at its respective position specified
by the first layout.
5. The memory medium of claim 4, wherein the program instructions
are executable by the mobile device to automatically determine the
first layout for the plurality of output indicators without
receiving user input specifying the first layout; wherein the
program instructions are further executable by the mobile device
to: receive user input specifying a change to the first layout,
wherein the user input specifies a second layout for the plurality
of output indicators; and in response to the user input,
re-position one or more of the output indicators on the display of
the mobile device according to the second layout.
6. The memory medium of claim 5, wherein the program instructions
are further executable by the mobile device to store information
specifying the second layout for the plurality of output indicators
in response to the user input; wherein said detecting that the
mobile device has moved proximal to the measurement system
comprises detecting that the mobile device has moved proximal to
the measurement system at a first time prior to said storing the
information specifying the second layout; wherein the program
instructions are further executable by the mobile device to: in
response to detecting that the mobile device has moved proximal to
the measurement system at a second time subsequent to said storing
the information specifying the second layout, retrieve the stored
information specifying the second layout, and automatically display
the plurality of output indicators on the display of the mobile
device according to the second layout.
7. The memory medium of claim 3, wherein the program instructions
are further executable by the mobile device to: automatically
determine a plurality of possible layouts for the plurality of
output indicators; display information indicating the possible
layouts; and receive user input selecting a particular layout from
the possible layouts; wherein said displaying the plurality of
output indicators comprises positioning each respective output
indicator on the display of the mobile device at a respective
position specified by the selected layout.
8. The memory medium of claim 3, wherein the program instructions
are further executable by the mobile device to automatically select
an output indicator type for each of the plurality of output
indicators based on the received information specifying the
measurement data sources, wherein the output indicator types for
the plurality of output indicators include two or more different
output indicator types; wherein said displaying the plurality of
output indicators comprises displaying the selected output
indicator type for each of the output indicators.
9. The memory medium of claim 8, wherein the plurality of output
indicators includes a first output indicator; wherein the program
instructions are executable by the mobile device to automatically
select one of the following output type indicators for the first
output indicator: a chart indicator type; a graph indicator type; a
gauge indicator type; or a thermometer indicator type.
10. The memory medium of claim 8, wherein the plurality of output
indicators includes a first output indicator, wherein the program
instructions are executable by the mobile device to automatically
select a first output indicator type for the first output indicator
without receiving user input specifying the first output indicator
type; wherein the program instructions are further executable by
the mobile device to: receive user input requesting to change the
first output indicator to a second output indicator type; and in
response to the user input, re-display the first output indicator
as an output indicator of the second output indicator type.
11. The memory medium of claim 10, wherein the program instructions
are further executable by the mobile device to store information
specifying the second output indicator type for the first output
indicator in response to the user input; wherein said detecting
that the mobile device has moved proximal to the measurement system
comprises detecting that the mobile device has moved proximal to
the measurement system at a first time prior to said storing the
information specifying the second output indicator type for the
first output indicator; wherein the program instructions are
further executable by the mobile device to: in response to
detecting that the mobile device has moved proximal to the
measurement system at a second time subsequent to said storing the
information specifying the second output indicator type for the
first output indicator, retrieve the stored information specifying
the second output indicator type for the first output indicator,
and automatically display the first output indicator on the display
of the mobile device as an output indicator of the second output
indicator type.
12. The memory medium of claim 1, wherein the measurement system is
a first measurement system; wherein the graphical user interface is
a first graphical user interface; wherein the program instructions
are further executable by the mobile device to: automatically
detect that the mobile device has moved away from the first
location to a second location proximal to a second measurement
system; in response to said automatically detecting that the mobile
device has moved away from the first location to the second
location, automatically replace the first graphical user interface
with a second graphical user interface for viewing measurement data
acquired by the second measurement system.
13. The memory medium of claim 1, wherein the measurement system is
a first measurement system; wherein the graphical user interface is
a first graphical user interface; wherein the program instructions
are further executable by the mobile device to: in response to
automatically detecting that a rotational orientation of the mobile
device has moved away from the first measurement system and toward
a second measurement system, automatically replace the first
graphical user interface with a second graphical user interface for
viewing measurement data acquired by the second measurement
system.
14. The memory medium of claim 1, wherein the measurement system is
a first measurement system; wherein the program instructions are
further executable by the mobile device to: automatically detect
that at the first location the mobile device is also proximal to a
second measurement system; prompt for user input selecting a
particular measurement system for which to display measurement
data, wherein said prompting includes displaying information
indicating both the first measurement system and the second
measurement system in response to determining that at the first
location the mobile device is proximal to both the first
measurement system and the second measurement system; and receive
user input selecting the first measurement system from the
displayed information; wherein the program instructions are
executable by the mobile device to display the graphical user
interface for viewing measurement data acquired by the first
measurement system in response to the user input selecting the
first measurement system.
15. The memory medium of claim 1, wherein the program instructions
are further executable by the mobile device to wirelessly
communicate with the measurement system to cause the measurement
system to perform a measurement in response to said detecting that
the mobile device has moved to the first location proximal to the
measurement system.
16. The memory medium of claim 1, wherein the program instructions
are further executable by the mobile device to wirelessly
communicate with the measurement system to configure the
measurement system in response to said detecting that the mobile
device has moved to the first location proximal to the measurement
system.
17. The memory medium of claim 1, wherein the program instructions
are further executable by the mobile device to wirelessly
communicate with the measurement system to obtain status
information indicating a status of the measurement system in
response to said detecting that the mobile device has moved to the
first location proximal to the measurement system.
18. The memory medium of claim 1, wherein the program instructions
are further executable by the mobile device to wirelessly
communicate with the measurement system to cause the measurement
system to change a type of measurement being performed in response
to said detecting that the mobile device has moved to the first
location proximal to the measurement system.
19. A system comprising: a mobile device, wherein the mobile device
includes one or more processors and memory storing program
instructions, wherein the program instructions are executable by
the one or more processors to: automatically detect that the mobile
device has moved to a first location proximal to a measurement
system; in response to said automatically detecting, display on a
display of the mobile device a graphical user interface for viewing
measurement data acquired by the measurement system; receive
measurement data from the measurement system via wireless
transmission; and display the received measurement data in the
graphical user interface on the display of the mobile device.
20. A method comprising: a mobile device automatically detecting
that the mobile device has moved to a first location proximal to a
measurement system; in response to said automatically detecting,
the mobile device displaying on a display of the mobile device a
graphical user interface for viewing measurement data acquired by
the measurement system; the mobile device receiving measurement
data from the measurement system via wireless transmission; and the
mobile device displaying the received measurement data in the
graphical user interface on the display of the mobile device.
Description
PRIORITY CLAIM
[0001] This application claims priority to the U.S. provisional
patent application No. 61/561,646 filed on Nov. 18, 2011, titled
"Mobile Device with Graphical Programming and Measurement Data
Viewing Features", whose inventor was Andrew P. Dove, which is
hereby incorporated by reference.
FIELD OF THE INVENTION
[0002] The present invention relates to the field of measurement
systems that acquire measurement data, and more particularly to a
system and method for automatically displaying measurement data
acquired by a measurement system on a mobile device.
DESCRIPTION OF THE RELATED ART
[0003] Measurement systems use measurement devices to measure
electrical or physical properties associated with a physical system
or device, such as voltage, current, temperature, pressure, sound,
etc. The measured physical properties may be converted into digital
data, referred to as measurement data, which represents the
measurements. For example, the measurement of an electrical current
may be represented in the form of waveform data. The measurement
system can include one or more computer systems that receive the
measurement data and use it to analyze or control the physical
system or device under test.
[0004] Measurement systems are used in many kinds of applications,
such as computer-based testing, industrial automation, process
control, hardware-in-the-loop testing, rapid control prototyping,
machine vision, and motion control, just to name a few. In some
applications it may be desirable to enable a human user to view the
measurement data being acquired by a measurement system. For
example, this may enable the user to evaluate whether the
measurement system is operating correctly or evaluate the status of
the physical system or device from which the measurement data is
acquired.
SUMMARY
[0005] Various embodiments of a system and method for displaying
measurement data on a mobile device are disclosed. According to one
embodiment of the method, software executing on a mobile device may
automatically detect that the mobile device has moved to a first
location proximal to a measurement system. In response, the
software may display on a display of the mobile device a graphical
user interface for viewing measurement data acquired by the
measurement system. The software may receive measurement data from
the measurement system via wireless transmission, and may display
the received measurement data in the graphical user interface on
the display of the mobile device.
[0006] In some embodiments the measurement system may be configured
to produce a plurality of measurement data sources. The software
may receive information from the measurement system specifying each
of the measurement data sources. The software may display a
plurality of output indicators in the graphical user interface,
where each of the output indicators corresponds to a respective one
of the measurement data sources. A respective set of measurement
data may be received from each of the measurement data sources, and
each respective set of measurement data may be displayed in the
output indicator corresponding to the measurement data source from
which the respective set of measurement data was received.
[0007] In some embodiments the software may be executable to
automatically determine a first layout for the plurality of output
indicators. The first layout may specify a respective position on
the display of the mobile device for each of the output indicators.
The software may position each respective output indicator on the
display of the mobile device at its respective position specified
by the first layout.
[0008] The software may automatically determine the first layout
for the plurality of output indicators without receiving user input
specifying the first layout. In some embodiments the software may
be further executable to receive user input specifying a change to
the first layout. The user input may specify a second layout for
the plurality of output indicators. In response to the user input,
the software may re-position one or more of the output indicators
on the display of the mobile device according to the second
layout.
[0009] In some embodiments the software may automatically determine
a plurality of possible layouts for the plurality of output
indicators, and may display information indicating the possible
layouts. The software may receive user input selecting a particular
layout from the possible layouts, and may position each respective
output indicator on the display of the mobile device at a
respective position specified by the selected layout.
[0010] In some embodiments the software may be executable by the
mobile device to automatically select an output indicator type for
each of the plurality of output indicators based on the received
information specifying the measurement data sources. The output
indicator types for the plurality of output indicators may include
two or more different output indicator types. Displaying the
plurality of output indicators may comprise displaying the selected
output indicator type for each of the output indicators.
[0011] The plurality of output indicators may include a first
output indicator, and the software may be executable by the mobile
device to automatically select a first output indicator type for
the first output indicator without receiving user input specifying
the first output indicator type. The software may be further
executable to receive user input requesting to change the first
output indicator to a second output indicator type, and in response
to the user input, may re-display the first output indicator as an
output indicator of the second output indicator type.
[0012] In some embodiments the software may be further executable
to automatically detect that the mobile device has moved away from
the first location to a second location proximal to a second
measurement system. In response, the software may automatically
replace the first graphical user interface with a second graphical
user interface for viewing measurement data acquired by the second
measurement system.
[0013] In some embodiments the software may be further executable
to automatically detect that a rotational orientation of the mobile
device has moved away from the first measurement system and toward
a second measurement system. In response, the software may
automatically replace the first graphical user interface with a
second graphical user interface for viewing measurement data
acquired by the second measurement system.
[0014] In some embodiments the software may be executable to
automatically detect that at the first location the mobile device
is also proximal to a second measurement system. The software may
prompt for user input selecting a particular measurement system for
which to display measurement data, e.g., by displaying information
indicating both the first measurement system and the second
measurement system in response to determining that at the first
location the mobile device is proximal to both the first
measurement system and the second measurement system. The software
may receive user input selecting the first measurement system from
the displayed information, and may display a graphical user
interface for viewing measurement data acquired by the selected
measurement system in response to the user input.
BRIEF DESCRIPTION OF THE DRAWINGS
[0015] A better understanding of the invention can be obtained when
the following detailed description is considered in conjunction
with the following drawings, in which:
[0016] FIG. 1 is a flowchart diagram illustrating one embodiment of
a method for displaying measurement data on a mobile device;
[0017] FIG. 2 illustrates an example of a building in which a
plurality of different measurement systems are located, where a
user moves between the measurement systems while carrying the
mobile device;
[0018] FIG. 3 illustrates an example of various kinds of
measurement devices that may produce the measurement data
transmitted to the mobile device held by the user;
[0019] FIGS. 4 and 5 illustrate an example of a mobile device
according to one embodiment;
[0020] FIG. 6 is a flowchart diagram illustrating one embodiment of
a method for configuring the graphical user interface for a
particular measurement system in response to user input specifying
various options for the graphical user interface;
[0021] FIG. 7 is a flowchart diagram illustrating one embodiment of
a method for automatically re-using the graphical user interface
previously configured by the user;
[0022] FIG. 8 is a flowchart diagram illustrating one embodiment of
a method for automatically configuring the graphical user interface
for a measurement system without requiring user input for the
configuration;
[0023] FIG. 9 is a flowchart diagram illustrating one embodiment of
a method for performing various functions in response to detecting
that the mobile device has moved proximal to a particular
measurement system; and
[0024] FIGS. 10-25 illustrate examples of graphical user interfaces
and layouts that may be displayed on the display of the mobile
device.
[0025] While the invention is susceptible to various modifications
and alternative forms, specific embodiments thereof are shown by
way of example in the drawings and are described in detail. It
should be understood, however, that the drawings and detailed
description thereto are not intended to limit the invention to the
particular form disclosed, but on the contrary, the intention is to
cover all modifications, equivalents and alternatives falling
within the spirit and scope of the present invention as defined by
the appended claims.
DETAILED DESCRIPTION OF EMBODIMENTS
Incorporation by Reference
[0026] The following references are hereby incorporated by
reference in their entirety as though fully and completely set
forth herein:
[0027] U.S. Pat. No. 4,914,568 titled "Graphical System for
Modeling a Process and Associated Method," issued on Apr. 3,
1990.
[0028] U.S. Pat. No. 5,481,741 titled "Method and Apparatus for
Providing Attribute Nodes in a Graphical Data Flow
Environment".
[0029] U.S. Pat. No. 6,173,438 titled "Embedded Graphical
Programming System" filed Aug. 18, 1997.
[0030] U.S. Pat. No. 6,219,628 titled "System and Method for
Configuring an Instrument to Perform Measurement Functions
Utilizing Conversion of Graphical Programs into Hardware
Implementations," filed Aug. 18, 1997.
[0031] U.S. Provisional Patent Application No. 61/561,646 titled
"Mobile Device with Graphical Programming and Measurement Data
Viewing Features," filed Nov. 18, 2011.
Terms
[0032] The following is a glossary of terms used in the present
application:
[0033] Memory Medium--Any of various types of memory devices or
storage devices. The term "memory medium" is intended to include an
installation medium, e.g., a CD-ROM, floppy disks 104, or tape
device; a computer system memory or random access memory such as
DRAM, DDR RAM, SRAM, EDO RAM, Rambus RAM, etc.; a non-volatile
memory such as a Flash, magnetic media, e.g., a hard drive, or
optical storage; registers, or other similar types of memory
elements, etc. The memory medium may comprise other types of memory
as well or combinations thereof. In addition, the memory medium may
be located in a first computer in which the programs are executed,
or may be located in a second different computer which connects to
the first computer over a network, such as the Internet. In the
latter instance, the second computer may provide program
instructions to the first computer for execution. The term "memory
medium" may include two or more memory mediums which may reside in
different locations, e.g., in different computers that are
connected over a network.
[0034] Carrier Medium--a memory medium as described above, as well
as a physical transmission medium, such as a bus, network, and/or
other physical transmission medium that conveys signals such as
electrical, electromagnetic, or digital signals.
[0035] Programmable Hardware Element--includes various hardware
devices comprising multiple programmable function blocks connected
via a programmable interconnect. Examples include FPGAs (Field
Programmable Gate Arrays), PLDs (Programmable Logic Devices), FPOAs
(Field Programmable Object Arrays), and CPLDs (Complex PLDs). The
programmable function blocks may range from fine grained
(combinatorial logic or look up tables) to coarse grained
(arithmetic logic units or processor cores). A programmable
hardware element may also be referred to as "reconfigurable
logic".
[0036] Software Program--the term "software program" is intended to
have the full breadth of its ordinary meaning, and includes any
type of program instructions, code, script and/or data, or
combinations thereof, that may be stored in a memory medium and
executed by a processor. Exemplary software programs include
programs written in text-based programming languages, such as C,
C++, PASCAL, FORTRAN, COBOL, JAVA, assembly language, etc.;
graphical programs (programs written in graphical programming
languages); assembly language programs; programs that have been
compiled to machine language; scripts; and other types of
executable software. A software program may comprise two or more
software programs that interoperate in some manner. Note that
various embodiments described herein may be implemented by a
computer or software program. A software program may be stored as
program instructions on a memory medium.
[0037] Hardware Configuration Program--a program, e.g., a netlist
or bit file, that can be used to program or configure a
programmable hardware element.
[0038] Program--the term "program" is intended to have the full
breadth of its ordinary meaning. The term "program" includes 1) a
software program which may be stored in a memory and is executable
by a processor or 2) a hardware configuration program useable for
configuring a programmable hardware element.
[0039] Graphical Program--A program comprising a plurality of
interconnected nodes or icons, wherein the plurality of
interconnected nodes or icons visually indicate functionality of
the program. The interconnected nodes or icons are graphical source
code for the program. Graphical function nodes may also be referred
to as blocks.
[0040] The following provides examples of various aspects of
graphical programs. The following examples and discussion are not
intended to limit the above definition of graphical program, but
rather provide examples of what the term "graphical program"
encompasses:
[0041] The nodes in a graphical program may be connected in one or
more of a data flow, control flow, and/or execution flow format.
The nodes may also be connected in a "signal flow" format, which is
a subset of data flow.
[0042] Exemplary graphical program development environments which
may be used to create graphical programs include LabVIEW.RTM.,
DasyLab.TM., DiaDem.TM. and Matrixx/SystemBuild.TM. from National
Instruments, Simulink.RTM. from the MathWorks, VEE.TM. from
Agilent, WiT.TM. from Coreco, Vision Program Manager.TM. from PPT
Vision, SoftWIRE.TM. from Measurement Computing, Sanscript.TM. from
Northwoods Software, Khoros.TM. from Khoral Research,
SnapMaster.TM. from HEM Data, VisSim.TM. from Visual Solutions,
ObjectBench.TM. by SES (Scientific and Engineering Software), and
VisiDAQ.TM. from Advantech, among others.
[0043] The term "graphical program" includes models or block
diagrams created in graphical modeling environments, wherein the
model or block diagram comprises interconnected blocks (i.e.,
nodes) or icons that visually indicate operation of the model or
block diagram; exemplary graphical modeling environments include
Simulink.RTM., SystemBuild.TM., VisSim.TM., Hypersignal Block
Diagram.TM., etc.
[0044] A graphical program may be represented in the memory of the
computer system as data structures and/or program instructions. The
graphical program, e.g., these data structures and/or program
instructions, may be compiled or interpreted to produce machine
language that accomplishes the desired method or process as shown
in the graphical program.
[0045] Input data to a graphical program may be received from any
of various sources, such as from a device, unit under test, a
process being measured or controlled, another computer program, a
database, or from a file. Also, a user may input data to a
graphical program or virtual instrument using a graphical user
interface, e.g., a front panel.
[0046] A graphical program may optionally have a GUI associated
with the graphical program. In this case, the plurality of
interconnected blocks or nodes are often referred to as the block
diagram portion of the graphical program.
[0047] Node--In the context of a graphical program, an element that
may be included in a graphical program. The graphical program nodes
(or simply nodes) in a graphical program may also be referred to as
blocks. A node may have an associated icon that represents the node
in the graphical program, as well as underlying code and/or data
that implements functionality of the node. Exemplary nodes (or
blocks) include function nodes, sub-program nodes, terminal nodes,
structure nodes, etc. Nodes may be connected together in a
graphical program by connection icons or wires.
[0048] Data Flow Program--A Software Program in which the program
architecture is that of a directed graph specifying the flow of
data through the program, and thus functions execute whenever the
necessary input data are available. Data flow programs can be
contrasted with procedural programs, which specify an execution
flow of computations to be performed. As used herein "data flow" or
"data flow programs" refer to "dynamically-scheduled data flow"
and/or "statically-defined data flow".
[0049] Graphical Data Flow Program (or Graphical Data Flow
Diagram)--A Graphical Program which is also a Data Flow Program. A
Graphical Data Flow Program comprises a plurality of interconnected
nodes (blocks), wherein at least a subset of the connections among
the nodes visually indicate that data produced by one node is used
by another node. A LabVIEW VI is one example of a graphical data
flow program. A Simulink block diagram is another example of a
graphical data flow program.
[0050] Graphical User Interface--this term is intended to have the
full breadth of its ordinary meaning. The term "Graphical User
Interface" is often abbreviated to "GUI". A GUI may comprise only
one or more input GUI elements, only one or more output GUI
elements, or both input and output GUI elements.
[0051] The following provides examples of various aspects of GUIs.
The following examples and discussion are not intended to limit the
ordinary meaning of GUI, but rather provide examples of what the
term "graphical user interface" encompasses:
[0052] A GUI may comprise a single window having one or more GUI
Elements, or may comprise a plurality of individual GUI Elements
(or individual windows each having one or more GUI Elements),
wherein the individual GUI Elements or windows may optionally be
tiled together.
[0053] A GUI may be associated with a graphical program. In this
instance, various mechanisms may be used to connect GUI Elements in
the GUI with nodes in the graphical program. For example, when
Input Controls and Output Indicators are created in the GUI,
corresponding nodes (e.g., terminals) may be automatically created
in the graphical program or block diagram. Alternatively, the user
can place terminal nodes in the block diagram which may cause the
display of corresponding GUI Elements front panel objects in the
GUI, either at edit time or later at run time. As another example,
the GUI may comprise GUI Elements embedded in the block diagram
portion of the graphical program.
[0054] Front Panel--A Graphical User Interface that includes input
controls and output indicators, and which enables a user to
interactively control or manipulate the input being provided to a
program, and view output of the program, while the program is
executing.
[0055] A front panel is a type of GUI. A front panel may be
associated with a graphical program as described above.
[0056] In an instrumentation application, the front panel can be
analogized to the front panel of an instrument. In an industrial
automation application the front panel can be analogized to the MMI
(Man Machine Interface) of a device. The user may adjust the
controls on the front panel to affect the input and view the output
on the respective indicators.
[0057] Graphical User Interface Element--an element of a graphical
user interface, such as for providing input or displaying output.
Exemplary graphical user interface elements comprise input controls
and output indicators.
[0058] Input Control--a graphical user interface element for
providing user input to a program. An input control displays the
value input by the user and is capable of being manipulated at the
discretion of the user. Exemplary input controls comprise dials,
knobs, sliders, input text boxes, etc.
[0059] Output Indicator--a graphical user interface element for
displaying output from a program. Exemplary output indicators
include charts, graphs, gauges, output text boxes, numeric
displays, etc. An output indicator is sometimes referred to as an
"output control".
[0060] Computer System--any of various types of computing or
processing systems, including a personal computer system (PC),
mainframe computer system, workstation, network appliance, Internet
appliance, personal digital assistant (PDA), television system,
grid computing system, or other device or combinations of devices.
In general, the term "computer system" can be broadly defined to
encompass any device (or combination of devices) having at least
one processor that executes instructions from a memory medium.
[0061] Mobile Device--any of various types of devices designed to
be handheld or carried by a human user. Examples of mobile devices
include tablet computers, personal digital assistants, phone
devices (e.g., smartphones), etc.
[0062] Measurement Device--includes instruments, data acquisition
devices, smart sensors, and any of various types of devices that
are configured to acquire and/or store data. A measurement device
may also optionally be further configured to analyze or process the
acquired or stored data. Examples of a measurement device include
an instrument, such as a traditional stand-alone "box" instrument,
a computer-based instrument (instrument on a card) or external
instrument, a data acquisition card, a device external to a
computer that operates similarly to a data acquisition card, a
smart sensor, one or more DAQ or measurement cards or modules in a
chassis, an image acquisition device, such as an image acquisition
(or machine vision) card (also called a video capture board) or
smart camera, a motion control device, a robot having machine
vision, and other similar types of devices. Exemplary "stand-alone"
instruments include oscilloscopes, multimeters, signal analyzers,
arbitrary waveform generators, spectroscopes, and similar
measurement, test, or automation instruments.
[0063] A measurement device may be further configured to perform
control functions, e.g., in response to analysis of the acquired or
stored data. For example, the measurement device may send a control
signal to an external system, such as a motion control system or to
a sensor, in response to particular data. A measurement device may
also be configured to perform automation functions, i.e., may
receive and analyze data, and issue automation control signals in
response.
[0064] Measurement system--a system including one or more
measurement devices.
[0065] Automatically--refers to an action or operation performed by
a computer system (e.g., software executed by the computer system)
or device (e.g., circuitry, programmable hardware elements, ASICs,
etc.), without user input directly specifying or performing the
action or operation. Thus the term "automatically" is in contrast
to an operation being manually performed or specified by the user,
where the user provides input to directly perform the operation. An
automatic procedure may be initiated by input provided by the user,
but the subsequent actions that are performed "automatically" are
not specified by the user, i.e., are not performed "manually",
where the user specifies each action to perform. For example, a
user filling out an electronic form by selecting each field and
providing input specifying information (e.g., by typing
information, selecting check boxes, radio selections, etc.) is
filling out the form manually, even though the computer system must
update the form in response to the user actions. The form may be
automatically filled out by the computer system where the computer
system (e.g., software executing on the computer system) analyzes
the fields of the form and fills in the form without any user input
specifying the answers to the fields. As indicated above, the user
may invoke the automatic filling of the form, but is not involved
in the actual filling of the form (e.g., the user is not manually
specifying answers to fields but rather they are being
automatically completed). The present specification provides
various examples of operations being automatically performed in
response to actions the user has taken.
FIG. 1
[0066] FIG. 1 is a flowchart diagram illustrating one embodiment of
a method for displaying measurement data on a mobile device.
According to some embodiments, the method may be implemented by
software executing on the mobile device referred to herein as
measurement data communication software. The measurement data
communication software may execute to automatically detect that the
mobile device has moved to a location proximal to a particular
measurement system (block 491). For example, the mobile device may
be a portable or handheld device such as a tablet computer,
personal digital assistant, or smartphone, which the user carries
with him as the user moves from place to place. The measurement
data communication software may monitor the current location of the
mobile device and/or may monitor for wireless signals from nearby
measurement systems in order to automatically detect when the
mobile device has moved proximal to a particular measurement
system. For example, in some embodiments if the user carries the
mobile device to within a particular threshold distance of the
particular measurement system then the measurement data
communication software may determine that the mobile device has
moved to a location proximal to the measurement system.
[0067] In response to detecting that the mobile device has moved to
a location proximal to the measurement system, the measurement data
communication software may execute to display on a display of the
mobile device a graphical user interface for viewing measurement
data acquired by the measurement system (block 493). The
measurement data communication software may receive measurement
data from the measurement system via wireless transmission (block
495), and may display the received measurement data in the
graphical user interface on the display of the mobile device (block
497).
[0068] In various embodiments the measurement system may acquire
the measurement data from any of various kinds of physical systems
or devices. Displaying the measurement data on the mobile device
may provide a convenient way to enable the user of the mobile
device to evaluate whether the measurement system is operating
correctly or evaluate the status of the physical system or device
from which the measurement data is acquired.
[0069] For example, FIG. 2 illustrates an example of a building in
which a plurality of different measurement systems 50 are located.
For example, the building could be a plant or factory in which
different measurement systems operate to test new devices being
produced or operate to monitor controllers that control respective
mechanical systems. As another example, the building could be a
laboratory in which different measurement systems acquire
measurement data from devices that control or monitor chemical
reactions. As the user 52 walks through the building, the
measurement data communication software executing on the user's
mobile device 260 may automatically detect that the mobile device
has moved near to a particular measurement system 50, and in
response may communicate with that measurement system to receive
measurement data from it and display the measurement data in a
graphical user interface on the mobile device 260.
[0070] In the example of FIG. 2, the user is currently standing
next to the measurement system 50A. For example, the user may have
moved to this location because he wants to check the status of the
measurement data being acquired by the measurement system 50A.
Displaying the measurement data of the measurement system 50A on
the user's mobile device 260 may provide a convenient way for the
user to do this.
[0071] If the user moves away from the first location next to the
measurement system 50A to a second location proximal to a different
measurement system, e.g., the measurement system 50B, then the
measurement data communication software may automatically detect
that the mobile device has moved away from the first location to
the second location proximal to the measurement system 50B. In some
embodiments, the measurement data communication software may
respond by automatically replacing the first graphical user
interface with a second graphical user interface for viewing
measurement data acquired by the measurement system 50B. This may
provide a convenient way for the user to move between different
measurement systems and check each one.
[0072] For simplicity of the drawing, the measurement systems 50 in
FIG. 2 are shown to be located close together. In some actual
implementations, the various measurement systems may be located
further apart. For example, the measurement systems may be spaced
relatively far apart on a large factory floor, or may be located in
different buildings, or even different parts of a city.
[0073] In various embodiments the measurement data communication
software may be configured to use any criteria for determining
whether a particular location is proximal to a given measurement
system, and/or may be configured to use any technique for
determining how far away the mobile device is from a given
measurement system.
[0074] As one example, the measurement data communication software
may cause the mobile device to monitor for one or more kinds of
wireless signals, such as a wi-fi or wireless Ethernet signal,
Bluetooth.RTM. signal, infrared signal, etc. In some embodiments,
if the measurement data communication software determines that the
mobile device is currently receiving a signal from a particular
measurement system then the measurement data communication software
may determine that the mobile device is currently located proximal
to the measurement system.
[0075] As another example, the measurement data communication
software may be configured to use various location techniques to
determine a distance of the mobile device from a given measurement
system, and may determine whether the mobile device is located
proximal to the measurement system depending on the distance. For
example, the measurement data communication software may determine
that the mobile device is located proximal to the measurement
system if the mobile device is located within a particular
threshold distance of the measurement system. In various
embodiments the measurement data communication software may be
configured to use any desired threshold distance in its
determination, e.g., 5 ft., 10 m, etc. The measurement data
communication software may also use any kind of technique or
information in determining its current location or its distance
from a given measurement system, such as global positioning system
(GPS) data, triangulation techniques, cell phone signal
information, etc.
[0076] In some embodiments, the measurement data communication
software may use not only location information, but also other
types of spatial information to determine whether the mobile device
is located proximal to a measurement system. For example, the
measurement data communication software may be configured to detect
a rotational orientation of the mobile device with respect to the
measurement system, and may determine that the mobile device is
located proximal to the measurement system in response to
determining that the mobile device is both located within a
threshold distance of the measurement system and oriented toward
the measurement system.
[0077] For example, the mobile device may include an accelerometer,
gyroscope, or other device that enables the measurement data
communication software to determine the mobile device's rotational
orientation in space. Since a user may typically hold the mobile
device in front of his body, the rotational orientation information
may enable the measurement data communication software to make a
determination as to whether or not the user is currently facing the
measurement system. In some embodiments if the user is facing the
measurement system then the measurement data communication software
may determine that the mobile device is located proximal to the
measurement system, and if not, then the measurement data
communication software may determine that the mobile device is not
located proximal to the measurement system. If the user is facing
toward a first measurement system and facing away from a second
measurement system, this may indicate that the user is more likely
to be interested at the present moment in viewing measurement data
from the first measurement system. Thus, determining that the
mobile device is positioned or oriented proximal to the first
measurement system but not the second measurement system may cause
the measurement data communication software to display a graphical
user interface for viewing measurement data from the first
measurement system instead of the second measurement system. If the
user then turns to face the second measurement system instead then
the measurement data communication software may replace the
graphical user interface with another graphical user interface for
viewing measurement data from the second measurement system.
[0078] At some locations, the mobile device may be proximal to more
than one measurement system. In some embodiments the measurement
data communication software may automatically select one of the
measurement systems as the nearest one (e.g., based on signal
strength, location information, or other criteria), and may
automatically display a graphical user interface for viewing
measurement data from the selected measurement system. In other
embodiments the measurement data communication software may prompt
the user to select which measurement system he wants to view
measurement data for. For example, the measurement data
communication software may display information indicating all of
the measurement systems to which the mobile device is proximally
located, and may receive user input selecting one of the
measurement systems from the displayed information. In response, a
graphical user interface for viewing measurement data acquired by
the measurement system selected by the user may be displayed.
[0079] If a graphical user interface for a particular measurement
system is displayed at a given time when the mobile device is also
located proximal to one or more other measurement systems, the
measurement data communication software may enable the user to
switch to a different graphical user interface for one of the other
proximal measurement systems. For example, in response to a request
by the user, the measurement data communication software may
display a list of all the proximal measurement systems and enable
the user to select the desired measurement system from the
list.
[0080] In some embodiments the measurement data communication
software may automatically replace the graphical user interface for
one measurement system with a graphical user interface for another
measurement system in response to various conditions. For example,
suppose that the user is currently holding the mobile device at a
first location that is proximal to a first measurement system and
is not proximal to a second measurement system. While at the first
location, a graphical user interface for viewing measurement data
from the first measurement system may be displayed. If the user
then carries the mobile device to a second location that is
proximal to the second measurement system and is not proximal to
the first measurement system then the graphical user interface
displayed on the mobile device may be replaced with a graphical
user interface for viewing measurement data from the second
measurement system.
[0081] In some embodiments the mobile device may continue
displaying the graphical user interface for the first measurement
system for as long as the mobile device is proximal to the first
measurement system. For example, if the user moves from the first
location to another location that is still proximal to the first
measurement system, the graphical user interface for the first
measurement system may remain displayed on the mobile device. If
the user moves out of range of the first measurement system so that
the first measurement system is no longer proximal then the
graphical user interface for the first measurement system may
automatically disappear from the display (and may possibly be
replaced with a graphical user interface for another measurement
system if the new location is proximal to another measurement
system).
[0082] In other embodiments, the mobile device may not
automatically switch between graphical user interfaces for
different measurement systems or hide the currently displayed
graphical user interface in response to the mobile device being
moved. Instead, the mobile device may prompt to ask the user if he
wants the graphical user interface to be switched or hidden, or the
mobile device may wait until the user initiates a change for the
graphical user interface.
[0083] In various embodiments the mobile device 260 may be
configured to receive and display measurement data from measurement
systems that implement any of various kinds of applications, such
as computer-based testing, industrial automation, process control,
hardware-in-the-loop testing, rapid control prototyping, machine
vision, and/or motion control applications, among others. The
measurement system(s) may include any kind of measurement devices
that acquire any kind of measurement data from any kind of physical
system or device under test. For example, the measurement data may
represent temperature, pressure, flow, current, voltage, or any of
various other kinds of physical or electrical measurements.
[0084] FIG. 3 illustrates an example of various kinds of
measurement devices that may produce the measurement data
transmitted to the mobile device 260 held by the user 52. The
illustrated measurement devices include a GPIB instrument 112 and
associated GPIB interface card 122, a data acquisition board 114
inserted into or otherwise coupled with chassis 124 with associated
signal conditioning circuitry 126, a VXI instrument 116, a PXI
instrument 118, a video device or camera 132 and associated image
acquisition (or machine vision) card 134, a motion control device
136 and associated motion control interface card 138, and/or one or
more computer based instrument cards 142, among other types of
devices.
[0085] The measurement devices may be coupled to the unit under
test (UUT) or process 150, or may be coupled to receive field
signals, typically generated by transducers. In some embodiments
the measurement devices may acquire the measurement data from the
UUT 150 and wirelessly transmit the measurement data directly to
the mobile device 260. In other embodiments the measurement system
may also include a host computer system that couples to the
measurement devices. The measurement devices may first transmit the
measurement data to the host computer system, and the host computer
system may in turn transmit the measurement data to the mobile
device 260.
[0086] In various embodiments the mobile device 260 may be any kind
of mobile or handheld device. Examples of mobile devices include
tablet computers (e.g., an IPad.TM.) smart phones, personal digital
assistants (PDAs), etc. FIG. 4 illustrates one example of a mobile
device 260. In this example, the mobile device includes a
touch-sensitive screen 290 configured to receive user input as
touch gestures. For example, the user may provide input to the
mobile device by tapping the screen 290 or sliding one or more
fingers across the screen 290. The mobile device may also include
other features such as a camera lens 294, microphone 282, speaker
280, one or more buttons 310, as well as one or more external ports
312 for connecting the mobile device to other devices via a cable.
The mobile device may be configured with the measurement data
communication software 304.
[0087] FIG. 5 illustrates an example of a mobile device 260 in more
detail according to one embodiment. The mobile device may include
one or more processors 270 configured to execute software stored in
a memory 284. The memory 284 may store the measurement data
communication software 304 which is executable by the processor 270
to perform functions described herein, such as receiving
measurement data from a measurement system and displaying the
measurement data in a graphical user interface on the display of
the mobile device 260. The memory 284 may also store operating
system software 300 or other software needed for operation of the
mobile device.
[0088] In addition to a touch-sensitive screen 290, the mobile
device may also include other hardware components, such as a lens
294 and image sensor 296 for a camera, one or more external ports
312 for connecting the mobile device to other devices via a cable,
RF circuitry 272 and an antenna 292 for sending and receiving data
wirelessly, audio circuitry 274 coupled to a speaker 280 and
microphone 282, one or more accelerometers 276, and a proximity
sensor 278.
[0089] As described above, the measurement data communication
software may display measurement data received from a measurement
system in a graphical user interface. The graphical user interface
that is displayed on the mobile device may be configured especially
for the particular measurement data being displayed. Thus, when
viewing measurement data from different measurement systems,
different graphical user interfaces may be displayed, where the
graphical user interface that is displayed at a given time is
tailored to the measurement data currently being viewed. For
example, different types of measurement systems may produce
different kinds of measurement data. The graphical user interface
for the various measurement systems may have different appearances
depending on what kind of measurement data each measurement system
produces.
[0090] In some embodiments the user may manually set up the
graphical user interface for a particular measurement system, e.g.,
by providing user input to configure the graphical user interface.
FIG. 6 is a flowchart diagram illustrating one embodiment of a
method for configuring the graphical user interface for a
particular measurement system in response to user input specifying
various options for the graphical user interface. The functions
shown in the flowchart may be implemented by the measurement data
communication software 304 which is stored on and executed by the
mobile device 260.
[0091] As indicated in block 401, the measurement data
communication software 304 may execute to display a plurality of
possible graphical layouts for viewing measurement data acquired by
the measurement system. Each layout may define how GUI output
indicators will be "layed out" or distributed on the screen of the
mobile device, such as the number of output indicators which will
be displayed, and how the output indicators are arranged on the
screen. As discussed below, each of the output indicators may be
configured to display measurement data from a respective
measurement data source produced by the measurement system. For
example, the measurement system may produce two different
measurement data sources, and the measurement data from each source
may be displayed in a respective output indicator in the graphical
user interface.
[0092] FIG. 10 illustrates one example of a possible layouts
displayed by the measurement data communication software. Each
layout includes one or more positions or placeholders in which GUI
output indicators can be displayed. In the example of FIG. 10, four
possible graphical layouts are displayed. The one at the top left
includes a single position or placeholder for displaying a single
GUI output indicator. The one at the top right includes two
positions for displaying two output indicators. The one at the
bottom left includes four positions for displaying four output
indicators. The one at the bottom right includes six positions for
displaying six output indicators.
[0093] The user may select the layout that he wants to use for the
graphical user interface, e.g., depending on how many output
indicators he needs. As indicated in block 403, the measurement
data communication software 304 may configure the graphical user
interface for the measurement system with the selected layout in
response to the user's selection. FIG. 11 illustrates an example in
which the user selects a graphical layout for viewing six GUI
output indicators.
[0094] The user may then select the particular GUI output
indicators that he wants to be displayed within the positions or
placeholders in the graphical layout. As indicated in block 405,
the measurement data communication software may display a plurality
of available GUI output indicators for indicating or displaying
measurement data. Each output indicator may have a different
graphical appearance for displaying measurement data in different
ways. Examples of GUI output indicators include charts, graphs,
gauges, numeric indicators, thermometer indicators, etc.
[0095] As indicated in block 407, the measurement data
communication software may configure the graphical layout with one
or more particular GUI output indicators in response to user input
selecting the particular output indicators from the displayed
plurality of output indicators. The user may select an appropriate
output indicator for each of the positions or placeholders in the
layout, e.g., depending on the particular measurement data sources
that the user wants to be displayed at each position. For example,
the measurement system may publish a first measurement data source
as waveform data representing an electrical current, and may
publish a second measurement data source as temperature data
representing a temperature. If the user wants the electrical
current data from the first measurement data source to be displayed
at the top left position in the graphical layout then the user may
select an appropriate output indicator for viewing waveform data at
that position in the layout, such as a chart indicator for example.
Similarly, if the user wants the temperature data from the second
measurement data source to be displayed at the top right position
in the graphical layout then the user may select an appropriate
output indicator for viewing temperature data at that position in
the layout, such as a thermometer indicator for example.
[0096] The measurement data communication software may also
configure each of the one or more output indicators that was
selected by the user with one or more measurement data sources in
response to user input, as shown in block 409. For example, if the
user selected a thermometer indicator to be displayed in the layout
then the user may select a particular measurement data source to
associate with the thermometer indicator. Each measurement data
source may represent particular measurement data produced by the
measurement system. For example, the measurement system may be
configured to publish measurement data sources via a wireless
communication interface, and the measurement data communication
software may be configured to use the interface to receive
measurement data from the measurement data sources. In some
embodiments each measurement data source produced by the
measurement system may have a respective name, and the user may
configure an output indicator with a particular measurement data
source by specifying the name of the particular measurement data
source.
[0097] In some embodiments the user may first select the desired
GUI output indicators he wants to be displayed, and may then
configure each of the output indicators with one or more desired
measurement data sources. In other embodiments the user may first
select each desired measurement data source, and may then select a
desired output indicator to use to display the measurement data
from the measurement data source.
[0098] FIG. 12 illustrates an example in which the user has
selected a graphical layout for viewing six GUI output indicators,
and the measurement data communication software has displayed the
selected layout. At this point, the particular output indicators
and measurement data sources to use have not yet been selected, so
the graphical layout has six empty placeholders. The user may touch
each of the placeholders via the touch screen of the mobile device
to add a particular output indicator bound to a particular
measurement data source. For example, suppose that the user touches
the placeholder at the upper left. As shown in FIGS. 13-14, the
measurement data communication software may then display a dialog
box allowing the user to specify the name of a server which
publishes measurement data sources in the form of shared variables.
FIG. 15 shows the user typing the name of a server to connect
to.
[0099] Once the user has specified the name of the server, the
measurement data communication software may communicate with the
server to get a list of all the shared variables published by the
server. The measurement data communication software may display the
shared variables that are available for selection as measurement
data sources, and the user may browse the shared variables to
select the one he wants, as illustrated in FIGS. 16-19. Once the
user selects the shared variable he wants to use as a measurement
data source, the measurement data communication software may then
display a plurality of different GUI output indicators that can be
used to view the measurement data represented by that shared
variable. FIG. 20 illustrates an example of displaying three GUI
output indicators (a gauge indicator, a chart indicator, and a
numeric indicator). The user may select the one he wants to use.
FIG. 21 illustrates the user selecting the gauge indicator. In FIG.
22 the measurement data communication software has displayed the
gauge indicator in the top left placeholder of the layout in
response the user's selection. The gauge GUI indicator is bound to
the measurement data source (shared variable) selected by the
user.
[0100] The user may then select desired measurement data sources
and GUI output indicators to use in the other placeholders of the
graphical layout. FIG. 23 shows the graphical layout after the user
has configured all the placeholders.
[0101] As indicated in block 411 of FIG. 6, the measurement data
communication software may begin to receive measurement data from
the measurement data sources specified by the user, and may
graphically display the measurement data in the one or more output
indicators. FIG. 24 illustrates an example of measurement data
being received and displayed in the output indicators.
[0102] As indicated in block 413, the measurement data
communication software may store information specifying the
configuration of the graphical user interface for the measurement
system. For example, the stored information may specify the
selected graphical layout configuration, GUI output indicator(s),
and measurement data source(s). In some embodiments this
information may be stored locally on the mobile device. In other
embodiments the measurement data communication software may
transmit the information to the measurement system which produces
the selected measurement data sources, and may request the
information to be stored on the measurement system.
[0103] In some embodiments, once the user has gone through the
process of setting up the graphical user interface for a particular
measurement system by selecting the graphical layout and
configuring it with particular GUI output indicators and
measurement data sources, the measurement data communication
software may be configured to automatically re-use the graphical
user interface again in the future without requiring the user to
set up the graphical user interface again, e.g., as shown in the
flowchart of FIG. 7.
[0104] As indicated in block 421, the measurement data
communication software may automatically detect that the mobile
device has been moved to a location proximal to a measurement
system for which the user previously configured a graphical user
interface for viewing measurement data produced by the measurement
system. For example, the user may be an engineer at a factory that
uses various measurement systems that monitor a production process.
The user may be able to walk around the factory floor with his
mobile device, and the measurement data communication software may
detect when the user is physically near a particular measurement
system.
[0105] In response to detecting that the user is near a particular
measurement system, the measurement data communication software may
retrieve the information that was previously stored which specifies
the graphical user interface that the user previously configured
for that measurement system (block 423), e.g., where the
information specifies the previously selected layout, GUI output
indicator(s), and measurement data source(s).
[0106] The measurement data communication software may then use the
retrieved information to automatically display the graphical user
interface for the measurement system on the mobile device, as shown
in block 425. For example, the measurement data communication
software may display the previously selected layout, GUI output
indicator(s), and measurement data sources(s) without requiring the
user to again specify this information.
[0107] The measurement data communication software may begin
receiving measurement data from the measurement data sources of the
measurement system and graphically displaying the measurement data
in the GUI output indicator(s), as indicated in block 427.
[0108] Thus, the user may only need to set up the graphical user
interface for the measurement system once with a particular set of
GUI output indicators and associated measurement data sources. The
measurement data communication software may thereafter be able to
re-use the same information to display measurement data from the
same sources.
[0109] In some embodiments the user may want to make a change to
how the measurement data is displayed. As indicated in block 429,
the measurement data communication software may receive user input
changing one or more of the graphical layout, GUI output
indicator(s), and measurement data source(s). In response, the
measurement data communication software may store information
specifying the changes to the graphical user interface for the
measurement system, as indicated in block 431, or may update the
previously stored information to reflect the changes. The updated
information may be used the next time the mobile device is used to
view the measurement data from the same measurement system.
[0110] In other embodiments, the measurement data communication
software may execute to automatically configure the graphical user
interface for a measurement system without requiring the user to
configure the graphical user interface even once. For example,
rather than the user selecting the layout, GUI output indicators,
and measurement data sources to use in the graphical user
interface, the measurement data communication software may
automatically configure these features of the graphical user
interface. FIG. 8 is a flowchart diagram illustrating one
embodiment of a method that may be implemented by the measurement
data communication software to automatically configure the
graphical user interface for a measurement system.
[0111] As indicated in block 441, the measurement data
communication software may detect that the mobile device is
proximal to a measurement system. The measurement system may be one
that the mobile device has not been near before, and for which no
graphical user interface configuration has previously been
specified by the user.
[0112] As indicated in block 443, the measurement data
communication software may automatically select various options for
the graphical user interface. For example, the measurement data
communication software may automatically select a graphical layout
for the graphical user interface. The selected layout may include
one or more positions or placeholders for one or more output
indicators, e.g., may specify a respective position on the display
of the mobile device for one or more output indicators that will be
displayed in the graphical user interface.
[0113] The measurement data communication software may also
automatically select the one or more output indicators to be
displayed in the graphical user interface, as well as the
measurement data source(s) whose data will be displayed in the
output indicator(s). For example, the measurement data
communication software may wirelessly communicate with the
measurement system to receive information specifying the
measurement data source(s) published by the measurement system.
This information may specify the type of measurement data for each
of the measurement data sources. The measurement data communication
software may automatically select a particular type of output
indicator for each measurement data source, e.g., where the output
indicator type that is selected depends on the type of measurement
data produced by the measurement data source. Thus, for example, if
the measurement system publishes multiple measurement data sources
that produce different types of measurement data then different
types of output indicators may be selected for the graphical user
interface.
[0114] In some embodiments the measurement data communication
software may select only a subset of the measurement data sources
published by the measurement system to be displayed in the
graphical user interface. For example, the measurement system may
publish a particular measurement data source that the measurement
data communication software determines should not be displayed by
default in the graphical user interface, although the user may be
able to override this determination by reconfiguring the graphical
user interface. The user may also be able to remove one or more of
the measurement data sources that were selected by default from the
graphical user interface, as shown in FIG. 25.
[0115] In some embodiments the information regarding the
measurement data sources that the measurement data communication
software receives from the measurement system may include
information specifying an importance or priority of the measurement
data sources, or information specifying the purpose of the
measurement data sources. The measurement data communication
software may be able to select which measurement data sources
should be displayed by default in the graphical user interface
based on their respective priorities or purposes.
[0116] As indicated in block 445, the measurement data
communication software may automatically configure the graphical
user interface for the measurement system with the selected
graphical layout, GUI output indicator(s), and measurement data
source(s). The measurement data communication software may then
begin receiving measurement data from the measurement data sources,
and graphically displaying the measurement data in the GUI output
indicator(s), as indicated in block 447.
[0117] If the user moves away from the measurement system and
proximal to a different measurement system then the measurement
data communication software may detect the user's movement and may
automatically replace the graphical user interface for the first
measurement system with a different graphical user interface for
the different measurement system, as indicated in blocks 449 and
451. Thus, for example, if the user is an engineer in a factory
then the user may be able to walk around the factory floor with his
mobile device, and as the user approaches different measurement
systems the mobile device may automatically receive and display
measurement data from the nearest measurement system. The display
of the measurement data may be set up automatically so that the
user does not need to specify the graphical layout configuration,
the GUI output indicators, or the measurement data sources.
[0118] FIG. 8 illustrates a particular embodiment of a method for
automatically configuring the graphical user interface for a
particular measurement system. In general, the measurement data
communication software may use any of various methods that operate
to select particular GUI output indicators to include in the
graphical user interface, position the GUI output indicators within
the graphical user interface, and configure the GUI output
indicators to display measurement data received from the
measurement system.
[0119] In some embodiments the measurement data communication
software may be able to automatically determine how to display
measurement data from a particular measurement system by
communicating with the measurement system to discover which
measurement data sources are published by the measurement system.
In some embodiments the measurement data communication software may
select a graphical layout with a number of placeholders greater
than or equal to the number of measurement data sources published
by the measurement system. In some embodiments the measurement
system may provide information specifying a data type for each
measurement data source. In other embodiments the measurement data
communication software may connect to the measurement data source
to receive data from it, and may then analyze the data to attempt
to automatically discover what type of data it is. The measurement
data communication software may select a particular GUI output
indicator to use to display the data depending on the type of
measurement data.
[0120] If the user wants to change the GUI output indicators from
the default options automatically selected by the measurement data
communication software, or wants to change the set of measurement
data sources that are displayed, or make other changes then the
user may specify the changes through a configuration GUI provided
by the measurement data communication software. The measurement
data communication software may then store information specifying
the changes so that the changes will be used instead of the
automatically selected default options the next time the mobile
device is used to display measurement data from the same
measurement system.
[0121] In some embodiments the measurement data communication
software may be executable to receive user input specifying a
change to the layout automatically determined by the measurement
data communication software. The user input may specify a second
layout for the output indicators that were selected, e.g., by
re-positioning them. In response to the user input, the measurement
data communication software may re-position one or more of the
output indicators on the display of the mobile device according to
the second layout.
[0122] In some embodiments the plurality of output indicators
automatically selected by the measurement data communication
software may include a first output indicator, and the measurement
data communication software may be executable to automatically
select a first output indicator type for the first output indicator
without receiving user input specifying the first output indicator
type. The measurement data communication software may be further
executable to receive user input requesting to change the first
output indicator to a second output indicator type, and in response
to the user input, may re-display the first output indicator as an
output indicator of the second output indicator type.
[0123] As indicated in the flowchart of FIG. 9, in some embodiments
the measurement data communication software may be further
executable to perform additional functions in response to detecting
that the mobile device has moved proximal to a particular
measurement system (block 831). For example, in some embodiments
the measurement data communication software may wirelessly
communicate with the measurement system to cause the measurement
system to perform a measurement (block 833). In other embodiments
the measurement data communication software may wirelessly
communicate with the measurement system to configure the
measurement system (block 835). In other embodiments the
measurement data communication software may wirelessly communicate
with the measurement system to obtain status information indicating
a status of the measurement system (block 837). In other
embodiments the measurement data communication software may
wirelessly communicate with the measurement system to cause the
measurement system to change a type of measurement being performed
(block 839).
[0124] Although the embodiments above have been described in
considerable detail, numerous variations and modifications will
become apparent to those skilled in the art once the above
disclosure is fully appreciated. It is intended that the following
claims be interpreted to embrace all such variations and
modifications.
* * * * *