0% found this document useful (0 votes)
59 views

GENESIS64 Using Extended Point Syntax

Uploaded by

George Ziovas
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
59 views

GENESIS64 Using Extended Point Syntax

Uploaded by

George Ziovas
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 2

GENESIS64 – Using Extended Point

Syntax
July 2012

Description: Guide to using Extended Point Syntax in


GENESIS64. To change the requested datatype for the OPC item use the
OS Requirement: Windows Server 2003 x64/Vista x64/ Server Extended Point Syntax and manually enter the following format:
2008 x64/Windows 7 x64/ Server 2008 R2 x64
@tag:OPCServer\OPCTag|DataType.Value.
General Requirement: GENESIS64 v10.6 installed.
Array Indices
Introduction
When OPC Servers provide array data it may be necessary to
The GENESIS64 suite uses OPC UA by default to access the extract a specific element from the array, this can be achieved
UA Server data and their items to read and write information to using the Array Indices of the Extended Point Syntax. It
the various subsystems visualized and controlled by the supports single and multiple dimensional arrays. To extract the
applications. Typically the values provided by the OPC items element separate the index for each dimension with a comma (,).
are all that is necessary; however in some cases more
information is needed. The additional requirements could be To obtain specific elements from an OPC item use the Extended
requests sent to the OPC server with certain parameters, or Point Syntax and manually enter the following format:
provide more detailed information about the values that are
@tag:OPCServer\OPCTag[index].Value
returned by the OPC Server. or
@tag:OPCServer\OPCTag[index1,index2].Value.
The first part of this Application Note will go over how to use
the supported Extended Point Syntax that was inherited from Array elements are always read-only, and cannot be written to,
GENESIS32 and applies to OPC DA tags. The second part will only the array tag as a whole (without any indices) is writeable.
explain the new unique features available in the GENESIS64
v10. release which apply to both OPC DA and OPC UA tags. Attribute
When an OPC Server sends a callback with the most up to date
Extended Point Syntax value to the OPC client, it also sends two other bits of
information, the quality and a timestamp. These attributes can
All OPC DA items using the EPS (Extended Point Syntax) will be visualized using the Extended Point Syntax.
have to be prefixed by @tag: and suffixed by .Value. It is
possible to manually enter the Extended Point Syntax for an The attributes provided are:
OPC item in the PPT edit box or in the Unified Data Browser. • Quality - The exact quality and sub quality provided
There is a related application note called GENESIS32 – Using by the OPC Server. This attribute shows the value from
Extended Point Syntax which describes how to use EPS Editor the OPC Server, not the value internally determined in
in version 9. FrameWorX, this means that when the connection the
OPC Server breaks, this attribute will still show the last
received value from the OPC Server. To accommodate
Requested Data Type Override
for this scenario use the quality() function of the
In the majority of cases, an OPC item is requested using its expression engine instead.
native datatype. For this there is no special action required in • Good quality - A convenience value returning 0 or 1.
any of the ICONICS applications. Nevertheless, in some cases it • Timestamp - The timestamp sent with the last
is useful to force a datatype for the OPC item. callback.
• Valid - A 0 or 1 value indicating if the tag is valid.
The Extended Point Syntax supports the following range
datatypes, using the names defined in the Variant Type To request a property use the Extended Point Syntax and
enumerator: manually enter the following format:

@tag:OPCServer\OPCTag#attribute.Value.
• I1 (8 bit signed integer) • R4 (32 bit floating point)
• I2 (16 bit signed integer) • R8 (64 bit floating point)
• I4 (32 bit signed integer) • BOOL (boolean) Parameter Combinations
• I8 (64 bit signed integer) • BSTR (string) The parameters may be combined together. This could, for
• UI1 (8 bit unsigned integer) • DATE (date/time format) example, be used to request the timestamp attribute and request
• UI2 (16 bit unsigned integer) • DECIMAL (decimal) the data type to be a string:
• UI4 (32 bit unsigned integer) • HRESULT
@tag:OPCServer\OPCTag#Timestamp|BSTR.Value
• UI8 (64 bit unsigned integer) • ERROR
Copyright 2012 ICONICS, Inc. Page 1 of 2 GENESIS64 - Using Extended Point Syntax
GENESIS64 – Using Extended Point
Syntax
July 2012

Examples OPC UA Extended Point Syntax


If you want to try out the inherited EPS functionality in New to the GENESIS64 v10.6 release is the support for
GENESIS64, you can simply create your own GraphWorX64 Extended Point Syntax with OPC UA tags, which is facilitated
display with a couple of PPTs and connect to your OPC Server through the new EPS dropdown available in the Data Browser.
(e.g. Simulation data). Then GraphWorX64 allows you to
display the property of the tag in runtime by using the Extended
Point Syntax functionality.
Follow these steps to display the most useful property such as
Quality or Timestamp:
1. Launch the GraphWorX64 by going to Start  Programs Figure 3 - EPS from Data Browser
 ICONICS  GENESIS64  GraphWorX64 
GraphWorX64. NOTE: This syntax is also supported for OPC DA tags as shown in
the examples below.
2. Click the Dynamics tab and add a new PPT by clicking this
icon . The following modifiers are available:
3. Browse for an example for a simulation tag with the IsGood/IsBad – returns a Boolean value if the specified point is
following name: good/bad.
@ICONICS.Simulator.1\SimulatePLC.Sine.Value isgood(@ICONICS.Simulator\SimulatePLC.Sine.Value)
or any other tag you will find in the Data Browser to get the isbad(@ICONICS.Simulator\SimulatePLC.Sine.Value)
real value.
4. Add a Label object on your GraphWorX display by clicking TimeStamp – returns a timestamp of the specified value.
this icon under the Home tab. You can use this to timestamp(@ICONICS.Simulator\SimulatePLC.Sine.Value)
easily show the datasource when in runtime by copying and
pasting the datasource of the PPT from step 3. Array – returns specified element from an array value. The
5. Duplicate the Text and PPT object and browse for the same indices may or may not be enclosed in square brackets.
tag again, but now you will modify the existing point array(\\:Server.:NamespaceArray)[0]
syntax by clicking the Edit field at the top and adding array(\\:Server.:NamespaceArray)0
special EPS syntax, as shown on Figure 1.
Member – returns the given member of a complex objects.
member(\\:Server.:ServerStatus).CurrentTime

Value – returns the actual value of the specified point. This may
be useful in the scenario where a point starts with one of the
other modifier keywords.
value(isgood()\\:Server.:ServerStatus)

Scan – this parameter allows to override scan rate of an OPC


Figure 1 - Adding EPS Syntax Manually in Data Browser
item. It works for both OPC DA and OPC UA points
6. Please make sure that you have the right syntax as it is OPC UA:
opc.tcp://petrs-7:51210/UA/SampleServer -
shown on this example:
@tag:ICONICS.Simulator.1\SimulatePLC.Sine#quality. [None:None]\\[http://test.org/UA/Data/]Data.Dynamic.Scalar.Int64Val
Value ue(scan=750)
7. When you add a couple of PPTs with different properties on OPC DA:
@\\T7\ICONICS.Simulator.1\SimulatePLC.Sine.Value(scan=2500)
a GraphWorX64 display you would get the similar output
as it is shown on Figure 2. Note: The legacy syntax valid from GENESIS32 can be used for
OPC DA points to override scan rate as well:
@tag:\\t7\ICONICS.Simulator.1\[email protected]

Note: If the syntax of the given OPC point ends with parentheses “)”
then use an empty. For instance, if the original point name is
"aPointName(with_parentheses)" then it would no longer work,
because "with_parentheses" will be treated as a list of parameters (e.g.
scan). The solution here is to use empty parentheses on the end. i.e.
"aPointName(with_parentheses)()".
Figure 2 - EPS in GraphWorX64
Copyright 2012 ICONICS, Inc. Page 2 of 2 GENESIS64 - Using Extended Point Syntax

You might also like