It App Management
It App Management
No part of this documentation shall be reproduced, stored in a ret rieval system, or transmitted by any
means, electronic, mechanical, photocopying, rec ording, or otherwise, without the prior written
permission of AVEVA. No liability is assumed with respect to the use of the information contained herein.
Although precaution has been taken in the preparation of this documentation, AV EVA assumes no
responsibility for errors or omissions. The information in this documentation is subject to change without
notice and does not represent a commitment on the part of AVEVA. The soft ware described in this
documentation is furnished under a license agreement. This soft ware may be used or copied only in
accordance with the terms of such license agreement.
ArchestrA, Aquis, Avantis, Citect, DYNSIM, eDNA, EYESIM, InBatch, InduSoft, InStep, Int elaTrac,
InTouch, OASyS, PIPEPHASE, PRiSM, PRO/II, PROV ISION, ROMeo, SIM4ME, SimCentral, SimSci,
Skelta, SmartGlance, Spiral Software, Termis, WindowMaker, WindowViewer, and Wonderware are
trademarks of AVEVA and/or its subsidiaries. An extensive listing of AVEVA trademarks can be found at:
https://sw.aveva.com/legal. All other brands may be trademarks of their respective owners.
Publication date: Thursday, March 7, 2019
Contact Information
AVEVA Group plc
High Cross
Madingley Road
Cambridge
CB3 0HB. UK
https://sw.aveva.com/
For information on how to cont act sales, customer training, and technical support, see
https://sw.aveva.com/contact.
InTouch HMI Application Management and Extension Guide
Contents
Chapter 1 Licensing in InTouch HMI ................................................................................ 11
About InTouch Licensing ......................................................................................................... 11
Best Practices for Administering InTouch Licenses on the Server ............................................... 11
Reserving Licenses ........................................................................................................... 12
Floating Licenses .............................................................................................................. 13
About InTouch Licensing in RDS and non-RDS Environments ................................................... 13
About InTouchView Application Licensing ........................................................................... 13
Viewing License Information .................................................................................................... 14
Managing Consumption of a Different License After Startup ....................................................... 15
Working in Demo Mode ........................................................................................................... 17
Working with the Grace Period................................................................................................. 17
3
Contents InTouch HMI Application Management and Extension Guide
Chapter 4 Deploying and Working with Terminal Services and Remote Desktop
Services................................................................................................................................... 53
Terminal Services Overview .................................................................................................... 53
Planning Considerations for Terminal Server Applications .................................................... 54
Deploying InTouch Applications in a Terminal Services Environment .............................. 54
Alarms in a Terminal Services Environment .................................................................. 54
Security in a Terminal Services Environment ................................................................. 54
I/O in a Terminal Services Environment ........................................................................ 55
Script Execution in a Terminal Services Environment ..................................................... 55
Logging on to a Terminal Session Properly to Run InTouch............................................ 55
Alarm Query Syntax in a Terminal Service Environment ................................................. 55
Miscellaneous Limitations in a Terminal Services Environment ....................................... 55
Retrieving Information A bout the InTouch Client Session Using Scripts................................. 56
TseGetClient Id() Function ............................................................................................ 56
TseGetClientNodeName() Function .............................................................................. 57
TseQueryRunningOnConsole() Function ....................................................................... 57
TseQueryRunningOnClient () Function .......................................................................... 57
Remote Desktop Servic es Overview ........................................................................................ 58
Remote Desktop Servic es Role Servic es ............................................................................ 58
Securing your Remote Desktop Servic es (RDS) Connections .............................................. 59
Windows Server 2016 Remote Desktop Services Best Practices .......................................... 60
4
Contents InTouch HMI Application Management and Extension Guide
5
Contents InTouch HMI Application Management and Extension Guide
6
Contents InTouch HMI Application Management and Extension Guide
8
Contents InTouch HMI Application Management and Extension Guide
9
InTouch HMI Application Management and Extension Guide
C HAPTER 1
Licensing in InTouch HMI
In This Chapter
About InTouch Licensing ............................................................................................................... 11
Best Practices for Administering InTouch Licenses on the Server .................................................... 11
About InTouch Licensing in RDS and non-RDS Environments ......................................................... 13
Viewing License Information ........................................................................................................ 14
Managing Consumption of a Different License After Startup ............................................................ 15
Working in Demo Mode ................................................................................................................. 17
Working with the Grace Period ...................................................................................................... 17
Note: In the event of InTouc h crashing, licenses will not be returned. InTouch must be restarted and
manually shut down to release licenses.
The License Manager and License Server are installed with InTouch. InTouch will point to your local
License Server by default. You can change this configuration in the post -install Configurat or. Refer to the
AVEVA Enterprise Licensing Guide for the det ailed procedure.
11
Licensing in InTouch HMI InTouch HMI Application Management and Extension Guide
Reserving Licenses
You can reserve licenses to specific devices in the License Manager. Reserving a license to a particular
devic e ensures that the license cannot be acquired by another InTouch application and interrupt or
prevent your application from running.
Reserving Licenses
You can reserve licenses to specific devices in the License Manager. Reserving a lic ense to a particular
devic e ensures that the license cannot be acquired by another InTouch application and interrupt or
prevent your application from running.
User-ba sed License Reservation
In the AVEVA Enterprise License Manager license reservation page, it is possible to mark a license to be
reserved to a specific user. While the reservation page allows this particular configuration, it's important
to know that neit her InTouch OMI nor InTouch HMI ViewApps support user -bas ed license reservations.
The end-result will be the inability for the soft ware to acquire the license reserved. Therefore, only use
devic e-based reservations for Supervisory Client licenses.
Device-based License Re servation
When res erving a Supervis ory Client license for a specific devic e, the Device Name needs to be the
name of the computer running the InTouch HMI/OMI ViewApp. In the case where the ViewA pp is running
inside of a Remote Desktop Session, on an RDS (aka: Terminal Server), then the Device Name needs to
follow this naming pattern:
<RDS HostName>-< RDP ClientName>-<index>
where RDS HostName is the name of the Remote Desktop Server (aka: RDS or Terminal Server), and
RDP ClientName is the name of the PC running the RDP client software, and "index" is 1, unless there
will be multiple RDP sessions from a single client machine, in which case the index should be
incremented (starting at 1) for each reservation for that specific RDP client, up to the total number of RDP
sessions from that specific RDP client.
Example 1: A computer with a hostname of "ControlRoomA" runs InTouc h OMI
Device Name: "ControlRoomA"
Example 2: A computer with a hostname of "ControlRoomB" running a single Remote Desktop Client
(RDP), connecting to the Remote Desktop Server (aka: Terminal Server) with a hostname of
"PrimaryRDS"
Device Name: "Primary RDS -ControlRoomB -1"
Example 3: Two comput ers with hostnames "SupervisorP C1" and "LineMgrA", respectively, each
running a single Remote Desktop Client (RDP ) connecting to the Remote Desktop S erver (aka: Terminal
Server) with a hostname of "PrimaryRDS"
Device Names:
License Reservation 1: "Primary RDS -SupervisorP C1-1"
License Reservation 2: "Primary RDS -LineMgrA-1"
Situation: A computer with a hostname of "ExecutiveDesktop" running four (4) Remote Desktop Clients
(RDPs), connecting to the Remote Desktop Server (aka: Terminal Server) with a hostname of
"PrimaryRDS"
Device Names:
License Reservation 1: "Primary RDS -ExecutiveDesktop-1"
License Reservation 2: "Primary RDS -ExecutiveDesktop-2"
License Reservation 3: "Primary RDS -ExecutiveDesktop-3"
12
Licensing in InTouch HMI InTouch HMI Application Management and Extension Guide
Floating Licenses
Floating licenses are not reserved to any machine. It is recommended to have floating licenses of the
same product name and capabilities on a single License Server. For example, you could have a License
Server with several activated InTouc h 2017 Runtime 60K tags licenses with the same capabilities. This is
a recommended practice to ensure deterministic license consumption.
However, it is not recommended to have licenses of the same product name but different capabilities
activated on t he same License Server. For example, you could have a mix of InTouch 2017 Runtime 60K
tags activated licens es with InTouc h 2017 Runtime 500 tags activated licens es on the same licens e
server. In this scenario, there is no way to ensure which instance of WindowViewer will consume the
license with the higher tag count.
Note: An InTouchView application consumes the same license as the Graphic Run Time Module's
ViewApp application.
13
Licensing in InTouch HMI InTouch HMI Application Management and Extension Guide
The company name and license serial number does not appear in this dialog. This information
appears in the AVEVA Enterprise License Manager int erface.
b. From WindowViewer, click File, About WindowViewer. The About WindowViewer dialog box
appears.
Note: The View License option is disabled for InTouch Application Manager. Because Application
Manager does not consume a license, you can only view the EULA. The About Application Manager
dialog box does not display any license -related information.
2. For bot h WindowMaker and WindowViewer, select View License Agreement to view the End User
License Agreement.
14
Licensing in InTouch HMI InTouch HMI Application Management and Extension Guide
3. Select View License to view t he details for the license. The License Information dialog box displays.
The parameters displayed in the license information for WindowMak er and WindowViewer are as
follows:
o Acquired License Name: the full name of the license consumed by the product from the
License Server
o Tag Count: the number of tags allowed by the consumed license.
o Window Count: the number of windows allowed by the consumed license.
o ReadOnly: displays the I/O Read/Write permissions allowed by the license. No means that the
application can write to I/O tags.
o Runtime Timeout: the application runtime allotted by the license. The InTouch session will end
when the timeout period elapses.
o Language Lock: applies to licenses for InTouc h on Chinese operating systems only. A Chinese
license must be consumed for InTouch to run on a Chinese operating system.
The Language Lock restriction does not apply for a connection license.
o Expiration Date: the date the consumed license expires.
o Borrow Time Status: intended to notify the user when the license is 50% past whatever the
allotted borrow time is. The status will change to Active when the 50% has been reached. If the
license is not renewed when the borrow time has fully elapsed, then InTouc h will become
unlicensed.
15
Licensing in InTouch HMI InTouch HMI Application Management and Extension Guide
A license downgrade is considered when the new license's parameters fall into the below check:
The parameter changes that will trigger the Grace Period are described below.
Tag Count: if the tag count is reduced, the Grace Period is triggered.
Window Count: if the window count is reduced, the Grace Period is triggered.
Runtime Timeout: if the Timeout value changes from None to any other value, Grace Period is
triggered.
Language Lock: if the Language Lock value changes from No to Ye s, or vise versa, Grace Period is
triggered
ReadOnly: if the ReadOnly parameter is changed from No to Ye s or vis e versa, Grace Period is
triggered.
If a license downgrade occurs, the downgraded, or " violated" parameters display in the View License
dialog box. For example, if WindowMaker originally consumed a sixty -thousand tag count license and
downgraded to a three thousand tag count license, the tag count paramet er would display as follows:
Important: The application will continue to run with the capabilities of the last good license. In this
example, the original sixty-thousand tag count will remain when entering the Grace Period.
16
Licensing in InTouch HMI InTouch HMI Application Management and Extension Guide
In Demo Mode, InTouch will display a message stating that it will run in demo mode. WindowViewer will
only run in Demo Mode for two hours before timing out. WindowMaker will run in Demo Mode indefinitely.
In Demo Mode InTouch will:
Allow 32 Local tags (Excluding system tags)
Allow maximum of 32 windows
When Demo Mode timeout is reached, InTouc h will prompt to exit.
Note: While in Demo Mode, even if you activate a valid license, you need to exit WindowMaker or
WindowViewer and restart InTouch to consume the valid license.
17
Licensing in InTouch HMI InTouch HMI Application Management and Extension Guide
When WindowMaker or WindowViewer ent ers the Grac e Period, you will be prompted with the following
dialog:
You have the options to be reminded again, to ret ry to acquire the license, or to exit the application.
Scenario 1: Consumed License is Lost
WindowMaker or WindowViewer will go in to Grace P eriod if it consumes a valid license from the License
Server and the license is deactivat ed while the product is still running.
To exit the Grace Period and resume normal operation, activate a valid license on the License Server.
When the license is consumed, WindowMaker or WindowViewer will exit the Grace Period and normal
operation will res ume.
Scenario 2: License Expired
WindowMaker or WindowViewer will go in to Grace P eriod if it consumes a valid license from the License
Server and the license expires. To exit the Grace Period and resume normal operation, activate a valid
license on the License Server.
If WindowMaker or WindowViewer fails to acquire the license, the first dialog will appear again.
Scenario 3: License is Downgraded
AVEVA Enterprise License Manager is a server -based licensing system, which means that licenses
need to be renewed periodically. If a WindowMaker or WindowViewer license is downgraded during this
renewal to one of lesser capability, it will enter the Grace Period. See Managing Consumption of a
Different License After Startup on page 15 for a detailed description of downgrade scenarios.
To exit the Grace Period and resume normal operation, retry to acquire the last good license or a better
license.
Important: The functionality enabled by your last good license will persist in Grace Period mode.
18
Licensing in InTouch HMI InTouch HMI Application Management and Extension Guide
In all of the above scenarios, if you select the option to retry to acquire the license and an appropriate
license is successfully acquired, you will see the following dialog:
If InTouch fails to acquire the licens e, the first dialog will appear again.
19
InTouch HMI Application Management and Extension Guide
C HAPTER 2
Managing InTouch Applications
In This Chapter
About Managing InTouch Applications ........................................................................................... 21
About the InTouch Application Manager ......................................................................................... 22
Starting the Application Manager ................................................................................................... 23
Creating an InTouch Application .................................................................................................... 25
Opening an Application in WindowMaker and WindowViewer .......................................................... 27
Modifying an InTouc h Application .................................................................................................. 27
Deleting an InTouch Application from the Application Manager ........................................................ 28
Customizing the Application Manager Window ................................................................................ 28
Finding InTouch Applications ......................................................................................................... 29
Publishing Applications to Remote Nodes ...................................................................................... 29
Migrating Earlier InTouch Applications to the Current Version .......................................................... 33
21
Managing InTouch Applications InTouch HMI Application Management and Extension Guide
For the Windows Vista, Windows 7, and Windows Server 2008 operating systems, a standard us er can
use the InTouch Application Manager to find an application and open WindowViewer. Application
properties will be read-only for the standard user. All read/write or configuration operations from
Application Manager require administrative privileges.
22
Managing InTouch Applications InTouch HMI Application Management and Extension Guide
You can start the ArchestrA IDE from the A pplication Manager. Managed InTouch applications appear in
the InTouch Application Manager as "Managed" and can be edited only by starting WindowMaker from
within the IDE.
Stand-alone IDE-Managed
Stand-alone IDE-Managed
InTouch
Stand-alone InTouch
Managed
InTouch InTouch
Applications
InTouch Applications
InTouch
Applications Applications
Applications Applications
For more information, see About InTouch HMI and ArchestrA Integration in the InTouc h® HMI and
ArchestrA® Integration Guide
23
Managing InTouch Applications InTouch HMI Application Management and Extension Guide
The default application folder is shown. For ex ample, C:\Documents and Settings\UserName\My
Documents\My InTouch Applications. For computers running Micros oft Windows Vista, the default
application folder is C:\Users\UserName\ Documents\My InTouch Applications.
3. To select a different folder or create a new folder, click Browse, select or create the folder, and then
click OK.
The InTouch program changes the default folder to the one you specify. This default folder applies
for all InTouc h users on the comput er.
4. Click Finish. The Application Manager appears.
The window shows InTouch applications on your computer that you created or found using the
Application Manager. The Version column shows the InTouch version that was last used to save the
application.
Note: Application S erver Bootstrap and IDE must be installed on the same comput er as the InTouch HMI
to start the ArchestrA IDE from the Application Manager.
24
Managing InTouch Applications InTouch HMI Application Management and Extension Guide
1. On the Applic ation Manager File menu, click New. The Create New Application wizard appears.
25
Managing InTouch Applications InTouch HMI Application Management and Extension Guide
2. Select the type of InTouch application you want to create and click Next.
Note: See the InTouch HMI Concepts and Capabilities Guide for details on types of InTouc h
applications.
3. Configure the application folder. If the folder you specify does not exist, you are prompt ed to create it.
o Click Browse to specify a folder other than the default.
o The Set As Default Directory check box is selected by default.
4. Click Next. The next wizard page appears.
26
Managing InTouch Applications InTouch HMI Application Management and Extension Guide
2. On the File menu, click Properties. The Propertie s dialog box appears.
27
Managing InTouch Applications InTouch HMI Application Management and Extension Guide
28
Managing InTouch Applications InTouch HMI Application Management and Extension Guide
1. On the Tool s menu, click Find Applications. The Brow se For Folder dialog box appears.
29
Managing InTouch Applications InTouch HMI Application Management and Extension Guide
30
Managing InTouch Applications InTouch HMI Application Management and Extension Guide
Any files with names of the form Compiled window files with the
SSD_*.xml. file name extension .wvw.
For a run-time only application, all files with a file names of SSD_*.xml are excluded.
31
Managing InTouch Applications InTouch HMI Application Management and Extension Guide
2. Click Next. The InTouch Application Publi sher – Step 2 of 4 dialog box appears.
32
Managing InTouch Applications InTouch HMI Application Management and Extension Guide
o In the first box, verify the ex ecutable name in the first box is correct. By default, the executable
name is the same as the package name.
o In the second box, type the path to t he folder in which to save the executable file, or click Brow se
to select a different folder. By default, the executable is saved in your current temporary folder.
8. Click Finish.
To change the default backup path (<Application Directory>\Bak), clear Use Default Backup Path box.
Then, type t he path to the folder in the Backup Path box where you want to save the backup. If t he folder
does not exist, you must create it, and then create the backup.
In the Ignore Files box, you can specify any files that you want to exclude from the backup. By default,
all files in the application directory are backed up. Type each file name separated by a semicolon (;). Or,
use standard wild card characters ('*' and '?') to exclude a set of files by the common characters in their
names.
33
Managing InTouch Applications InTouch HMI Application Management and Extension Guide
34
InTouch HMI Application Management and Extension Guide
C HAPTER 3
Distributing Applications
In This Chapter
About Distributing Applications ...................................................................................................... 35
Supported InTouch A rchitectures ................................................................................................... 35
Planning Considerations for Networked Applications ....................................................................... 37
Configuring an InTouch Application for NA D ................................................................................... 45
InTouch Process
App. serial connection
35
Distributing Applications InTouch HMI Application Management and Extension Guide
Client-Based Architecture
In a client -based arc hitecture, there is a unique copy of one InTouch application for each computer
running WindowViewer (View node) or in a unique location on a network server. In the following
example, an application is developed and tested on the develo pment node and then copied to each View
node.
There is inherent redundancy because each node can be self-sufficient, and there is no limit to the
number of View nodes you can use.
Each View node must have an identical copy of the application and identical access to any network data
sources, such as I/O Servers or the IndustrialSQL Server. However, each View node maintains a
separate conversation with the shared server, which can res ult in increased net work loading.
You can modify and test the application on the development node without affecting the running process.
However, you must distribute the modified application to the View nodes. You must shut down each View
node locally, copy the new application to it, and then restart.
Server-Based Architecture
A server-based architecture distributes a common InTouch application to several View nodes. In the
following figure, two View nodes access the same application from the development node.
36
Distributing Applications InTouch HMI Application Management and Extension Guide
Note: If you configure your application to write historical data to t he master application node's application
directory, all NA D nodes attempt to write their historical data to the master application. To avoid this, on
each NA D node, configure historical data to write to a local directory, not the master application node.
If you are distributing a large, complex application to numerous nodes, slow system response time may
be apparent on the initial download. Updates, however, are optimized. Applic ation transfer may be a
problem for slow net works or over serial connections.
Also, be aware of other network constraints, such as the user of routers that filter out certain types of
network traffic and addresses.
Note: InTouchView is restricted to the single Galaxy Access Name. You cannot create ot her Access
Names for InTouchView. For more information about the restrictions of InTouchView, see Viewing
Applications at Run Time on page 161.
The View node must have the same access to data sources as the development node.
37
Distributing Applications InTouch HMI Application Management and Extension Guide
You can set up an InTouch application to identify an element of data stored on another node by using a
three-part addressing convention in an Access Name. The Access Name addressing convention
includes the node name, application name, and topic name where the remote data is located. An
InTouch application obtains remote data using the Access Name in combination with an item name. For
more information about defining an Access Name for a remote I/O Server, see Data Access with I/O in
the InTouch® HMI Data Management Guide
Note: When you create Access Names in WindowMaker, if the Access Name uses the SuiteLink
protocol, the software prevents Access Names from accessing the same node, application and topic. Do
not use the IOS etAccessName() function to redirect Access Names to duplicate ones during run time or
else the redirected Access Name will not work.
Using a local I/O Server significantly increases the load on the process connection net work. For
example, three nodes triples the traffic created by one node, as each node's requests must be separately
processed.
For more information about defining an Access Name for a local I/O Server, see Dat a Access with I/O in
the InTouch® HMI Data Management Guide.
SuiteLink
The SuiteLink communicati ons protocol is based on the TCP/ IP protocol. Use SuiteLink for your
high-speed industrial applications, as it provides these features:
38
Distributing Applications InTouch HMI Application Management and Extension Guide
Value Time Quality (V TQ), in which a timestamp and quality indicator are associated with all data
values delivered to V TQ-aware clients. The InTouch HMI is a VTQ-aware client whose tag dat a is
delivered wit h a VTQ indicat or.
Extensive diagnostics of the data throughput, the server loading, comput er resource consumption,
and network transport are made accessible through the Microsoft Windows operating system
performance monitor.
Consistent high data volumes can be maintained between applications regardless if the applications
are on a single node or distributed over a large number of nodes.
SuiteLink is not a replacement for DDE, FastDDE, or Net DDE. Each connection between a client and a
server depends on your network requirements.
39
Distributing Applications InTouch HMI Application Management and Extension Guide
Note: If you are using SuiteLink, the node name is limited to 15 characters.
Before you can access a file through UNC, you must create a file share on the computer you want to
access. For more information, see your Windows documentation.
For example, assume that you have a computer with the network name of "EngineRm" that you have
shared the root drive "C:\" with the share name of "Root". To set up a UNC path to t he " C:\IT\Apps\Boiler"
application you must use the following UNC:
\\EngineRm\Root\IT\Apps\Boiler
If the "Boiler" directory itself was shared as "Boiler," the UNC could be shortened to:
\\EnginerRm\Boiler
No path is required if the share is a pat h specified in the PA TH environment variable.
Note: If you need to writ e to a file referred to by a UNC address, the share must be a read/write share,
even on a local node. If you create a share that is password-protected, you will not be able to access the
share with a UNC unless you first set up a network drive mapping. You can set up a drive mapping from
the remote node by using Windows Explorer.
40
Distributing Applications InTouch HMI Application Management and Extension Guide
Only one InTouch node can log to a distributed history file. However, an unlimited number of InTouch
nodes can view the cont ents of the file.
View Node View Node View Node View Node
A remote node ret rieving data from a history file may not see data for the last hour of data (based on the
logger node's time). Remote trends can only view data that has been written to the logging node's disk.
Data for each tag c hecked for 'Log Data' is automatically written to disk after 22 samples for that tag have
been collected. If the HTUpdat eToCurrent Time() function is called, data is written to disk regardless of
the number of samples collected. By default, data is written to disk once an hour. You can change this
interval by adding the following line to the INTOUCH.ini file:
ForceLogging=X;
Where X is minutes and can be set to any interval bet ween 5 and 120.
Note: The NetDDE Helper service must be running when you use the distributed history system.
The following figure shows the configuration of a typical distributed history system using Network
Application Development (NA D) to distribute the application.
Node 1 Node 2
Node3
Log/Retrieve Retrieve
Retrieve Retrieve
Log/Retrieve
Remote
Local
History File
History File
(HistPrv1)
Nodes 1 and 2 contain copies of the same InTouch application; however, the application is configured to
allow only Node 1 to log to a local history file, whereas either node can retrieve from the local history file
or the remote history file. Node 3 is also logging to and retrieving from the remote history file location.
Node 3, the history provider, is assigned the name HistPrv1. Node 1 is both a development and run-time
station, while Node 2 is just a run-time station.
Do the following major steps to create this type of application:
1. Create a history provider list. See Configuring Remot e History Providers on page 42.
2. Create and configure a historical trend object. For more information, see Trending Tag Dat a in the
InTouch® HMI Data Management Guide
3. Configure the application for distributed logging. See Configuring Distributed Historical Logging on
page 43.
4. Distribute the application. See Configuring an InTouch Application for NA D on page 45.
You can distribut e your application manually or by using NA D. When you distribute your application, the
historical provider list file is distributed as part of the application.
41
Distributing Applications InTouch HMI Application Management and Extension Guide
After you have distribut ed your application, you can run the View nodes and retrieve both local tags and
tags from a remote history provider. While the application runs on all the View nodes, only the logging
node logs to the historical log file; other nodes can only read from it.
Note: A remote history provider cannot be configured for an In TouchView application. For more
information about the limitations of InTouchView applications, see About InTouc hView Applications on
page 180.
While the local InTouch application is considered a history provider, you do not need to define it for your
application.
If you reference an undefined history provider in an application, WindowViewer ignores the reference
and an error message is written to the Logger.
The HistData utility cannot retrieve historical information from a Historian provider.
To configure a history provider
1. On the Special menu, point to Configure, and then click Distributed Name Manager. The
Di stributed Name Manager dialog box appears.
2. Click the Di stributed Hi story tab.
3. In the Provider Name box, type the name you want to use for the new historical provider.
A provider name can be 16 alphanumeric characters or fewer.
4. To configure an InTouch history provider, do the following:
a. Click InTouch Provider.
42
Distributing Applications InTouch HMI Application Management and Extension Guide
b. In theUNC box, type the UNC path to the InTouch application directory and then click Add.
The UNC path format is:
\\node_name\volume_name\directory\
If the UNC location is password-protected, you must first establish a node connection using
Windows Explorer.
5. To configure a IndustrialSQL Server history provider, do the following:
a. Click InSQL Provider.
b. Click Configure InSQL Provider. The InSql History Provider Properties dialog box appears.
c. In the Data Source box, type the name, up to 35 characters, of the node where the IndustrialSQL
Server database resides.
d. In the User box, type the user name for the logon account. The user account must have
database permissions to retrieve data.
e. In the Password and Re-enter password boxes, type the password for the logon account.
f. Click Test to validate the connection to the IndustrialSQL Server. When a message appears,
click OK.
g. Click OK to close the InSql History Providers Propertie s dialog box.
6. Click OK.
43
Distributing Applications InTouch HMI Application Management and Extension Guide
Note: Historical logging cannot be configured for an InTouchView application. For more informat ion
about the limitations of InTouchView applications, see About InTouchView Applications on page 180.
2. Select the Enable Historical Logging check box to turn on global tag logging.
3. Select Store Log Files in Specific Directory, and then in the input box, type the pat h of the location
where the log files are stored.
You must type a valid Universal Naming Convention (UNC) path. For ex ample,
\\Node\Share\Path
If you are using NAD, make sure the path points to a folder other than the application folder.
4. In the Name of Logging Node box, type the name of the node that will be logging to the history log
file.
This setting only allows the node named here to log to the file.
5. Click OK.
Note: When an application with the Enable Historical Logging option selected is distributed to a
WindowViewer node, that node checks this option to determine if it should log or not. If Enable
Hi storical Logging is selected, the possible settings are:Field equals name of Node - Logging
enabled Field does not equal name of Node - Logging disabled
44
Distributing Applications InTouch HMI Application Management and Extension Guide
Caution: Do not use a root folder or a UNC pathname that points to a root folder. The View node
recursively deletes all files and subfolders in the specified destination application folder before copying
the master application directory. Therefore, never use the path of the master application folder or a UNC
to the master application folder.
If you do not specify a folder, WindowViewer automatically creates a local subfolder named NA D in the
folder from which WindowViewer is launched. The NA D folder should be considered a temporary folder
and no other files should be saved to it except those c opied by NAD itself.
To configure an application for NAD
1. Start Application Manager.
45
Distributing Applications InTouch HMI Application Management and Extension Guide
On the Tool s menu, click Node Properties. The Node Properties dialog box appears.
46
Distributing Applications InTouch HMI Application Management and Extension Guide
Note: It is recommended that you use the Load Change s into WindowViewer option only if the
application changes are minor and few in number. Examples of minor changes include changes
made within an existing window, resizing of graphic toolbar elements, adding new graphic toolbar
elements, and reference substitutions. When making changes that require that WindowViewer be
restarted, such as adding new tags, adding new windows, or changing the configuration—or if in
doubt—use one of the Restart options instead.
o Click Prompt user to load changes into WindowViewer to show the operator a message that
the application has changed. The message prompts the operator to load the changes.
6. Click OK.
Note: If the Prompt to Notify Clients on Close option is selected, every time WindowMaker is closed it
will verify if there are any changes from the last notification. If there are any changes, a dialog box wit h
the prompt ‘Do you want to notify the NAD clients?’ will appear. Click Yes to notify the clients, click No to
ignore the changes.
47
Distributing Applications InTouch HMI Application Management and Extension Guide
48
Distributing Applications InTouch HMI Application Management and Extension Guide
See Also
$ApplicationChanged
RestartWindowViewer() Function
Shuts down WindowViewer, copies the updated master application (if configured to do so), and then
restarts WindowViewer.
Category
system
Syntax
RestartWindowViewer();
Remarks
This function is used to update an application whe n the automatic update Network Application
Development (NA D) functions are not used.
Use the $ApplicationChanged system tag to determine when a NAD update has occurred.
You use t he Notify Clients command to initiate a NAD update. However, the operator may want to delay
the update until a later time. You can use this function with a button action script so that the operator can
restart WindowViewer when it is convenient.
You could instead use the ReloadWindowViewer() function, whic h updates the View node wi thout
shutting down WindowViewer.
See Also
$ApplicationChanged, ReloadWindowViewer()
ReloadWindowViewer() Function
Dynamically updates WindowViewer wit h the updated master NAD application without any interruption in
service.
Category
system
Syntax
ReloadWindowViewer();
Allows the user control over reloading WindowViewer.
Remarks
Use this function to update an application when the automatic update Network Application Development
(NA D) functions are not used.
Use the $ApplicationChanged system tag to determine when a NAD update has occurred.
You use t he Notify Clients command to initiate a NAD update. However, the operator may want to delay
the update until a later time. You can use this function with a button action script so that the operator can
reload the application in WindowViewer when it is convenient.
See Also
$ApplicationChanged
49
Distributing Applications InTouch HMI Application Management and Extension Guide
Note: WindowViewer recursively deletes all files and sub folders in the destination application folder
except those required for run-time language switching. This folder should be considered a temporary
folder. No other files should be plac ed in it.
The NAD client starts an update by creating a local list of files and sub-directories that appear in the client
application directory. As it looks for updat es in the list of master files, the NAD client removes the
corresponding client file for each master file from the local list. The remaining entries in the local list are
obsolete files and sub-directories that should be delet ed from the application.
All downloaded files are copied to a temporary sub-directory called NA D_Temp. Files are only copied
from NA D_Temp to the application directory if all of the new and updated files are copied successfully
within the re-t ry limits. If the NAD client has to abandon an update, the running application is not
corrupted by the partial introduction of new or updated files.
If contact with the NA D master fails aft er all new and updated files have been downloaded, the update
can still be completed by copying the updat es from NAD_Temp and deleting the obsolete files. This
ensures that files are not erased simply because a lost connection makes it impossible to confirm their
existence on the master application.
NAD can detect whether additional changes have been made to the master application during
application download. If such a situation arises, NA D abandons the download of the application. If you
run the Noti fy Clients command after the latest update, NA D automatically begins downloading the
latest application files at the next polling period. Otherwise, it waits until the next Notify Clients
command issued before an application download takes place.
Caution: If you do not use DRC to scale the application, WindowViewer only runs the application if the
node's screen resolution is identical to the screen resolution of the application development node. If the
resolutions are different, WindowViewer prompts the operator to run WindowMaker to convert the
application to the node's resolution. Use caution when doing this if you have set up a UNC path to the
master application directory, as this will only modify the original application.
50
Distributing Applications InTouch HMI Application Management and Extension Guide
2. On the Tool s menu, click Node Properties. The Node P roperties dialog box appears.
3. Click the Resolution tab.
4. Select the Allow WindowViewer to dynamically change resolution check box if you want
WindowViewer to locally scale the master application.
5. In the Dynamic Re solution area, select one of the following:
o Select Use application resolution if you want WindowViewer to run the application at the
resolution it was developed for and ignore the node's resolution. For example, if the application
was developed at 800x600 and the node's resolution is 1024x768, WindowViewer does not
dynamically scale the application. Instead, the application res olution remains at 800x600.
o Select Convert to screen video resolution if you want WindowViewer to run the application at
the node's resolution and ignore the resolution the application was developed at. For example, if
the node is running at 800x600 and the application was developed at 1280x1024,
WindowViewer dynamically scales the application to fit the node's 800x600 resolution.
– If the target resolution is different from the screen resolution when the application was
created, then WindowViewer will scale to the current screen res olution from the original
application resolution instead. The original application resolution is the screen resolution
when the application was created regardless of the target resolution settings. For example, if
the application was developed at 1920x1080 with a target resolution of 1280x 1024 and the
view node is running the application at resolution of 800x600, WindowViewer will
dynamically scale the application to use the original application resolution of 1920x1080. For
more information, see Original Application Resolution on page 163.
o Select Custom resolution if you want WindowViewer to run the application at a specific
resolution you specify in the Pixel width (X) and Pixel height (Y) (must be integer values)
boxes. The application's resolution and the node's resolution are both ignored. For example, if
Pixel width (X) and Pixel height (Y) are set to 512 and 384, respectively, the application is
dynamically scaled to fit in a 512x384-pixel area on the node's screen.
– If the target resolution is different from the screen resolution when the application was
created, then WindowViewer will scale to the current screen res olution from the original
application resolution instead. The original application resolution is the screen resolution
when the application was created regardless of the target resolution settings.
6. Click OK.
51
Distributing Applications InTouch HMI Application Management and Extension Guide
If you select this option, the next time you open an application in a computer with a different resolution,
the system prompts you to specify whether you want to convert the application to the new resolution
without scaling the windows and graphic.
You can lock the application resolution from inside WindowMaker or from the Application Manager.
To lock the application resolution from WindowMaker
1. Open WindowMaker.
2. On the Special menu, point to Configure and then click WindowMaker. The WindowMaker
Properties dialog box appears.
3. Select the Lock Window Size check box. By default, the check box is not selected.
4. Click OK.
To lock the application resolution from Application Manager
1. Open Application Manager.Click to select the application you want to configure.
2. Click File on the menu bar, then click Properties. The Properties dialog box appears.
3. Select the Lock Window Size check box. By default, the check box is not selected.
4. Click OK.
52
InTouch HMI Application Management and Extension Guide
C HAPTER 4
Deploying and Working with Terminal
Services and Remote Desktop Services
In This Chapter
Terminal Services Overview .......................................................................................................... 53
Remote Desktop Servic es Overview .............................................................................................. 58
53
Deploying and Working with Terminal Services and Remote Desktop ServicesInTouch HMI Application Management and Extension Guide
Note: Alarm P roviders are not supported on Terminal sessions. They are only supported on the Terminal
Cons ole.
54
Deploying and Working with Terminal Services and Remote Desktop ServicesInTouch HMI Application Management and Extension Guide
Use security auditing to monitor intrusion attempts. If you suspect that your system is under any sort of
attack, then you can enable logging for an array of auditable events. By default, security logging/auditing
is disabled because it usually requires excessive processing resources.
Caution: Security auditing requires significant resources. Enable auditing when you evaluate your pilot
server to accurately estimate your InTouch application hardware requirements.
Note: Running with the same logon account on multiple sessions can cause corruption and other
unexpected results.
55
Deploying and Working with Terminal Services and Remote Desktop ServicesInTouch HMI Application Management and Extension Guide
DDE from MS Office (for Yes Excel and the InTouch HMI must be running
example, Hot-link configured in in the same session.
Excel)
Printing Alarms No --
TseGetClientId() Function
Returns a string version of the client ID (the TCP/IP address of the client) if the View application is
running on a Terminal Server client. This client ID is used internally to generat e SuiteLink server names
and logger file names. Otherwise, the TseGetClientId() function returns an empty string.
56
Deploying and Working with Terminal Services and Remote Desktop ServicesInTouch HMI Application Management and Extension Guide
Syntax
MessageResult=TseGetClientId();
Example
The client IP address 10.103.202.1 is saved to the MsgTag tag.
MsgTag=TseGetClientID();
TseGetClientNodeName() Function
Returns the client node name if the View application is running on a Terminal Server client assigned a
name that can be identified by Windows. Otherwise, the TseGetClientNodeName() function returns an
empty string.
Syntax
MessageResult=TseGetClientNodeName();
Example
The client node name is returned as the value assigned to the MsgTag tag.
MsgTag=TseGetClientNodeName();
TseQueryRunningOnConsole() Function
The TseQueryRunningOnConsole() function can be run from a script to indicate whether the View
application is running on a Terminal Services console.
Syntax
Result=TseQueryRunningOnConsole();
Return Value
Returns a non-zero integer value if the View applic ation is running on a Terminal Services console.
Otherwise, the TseQueryRunningOnConsole() function returns a zero.
Example
Int Tag is set to 1 if WindowViewer is running on a Terminal Services console.
IntTag=TseQueryRunningOnConsole();
TseQueryRunningOnClient() Function
Returns a non-zero integer value if the View applic ation is running on a Terminal Services client.
Otherwise, it returns a zero.
Syntax
Result=TseQueryRunningOnClient();
Return Value
Returns 0 if View is not running on a Terminal Services client.
Example
Int Tag is set to 1 if WindowViewer is running on a Terminal Services client.
IntTag=TseQueryRunningOnClient;
57
Deploying and Working with Terminal Services and Remote Desktop ServicesInTouch HMI Application Management and Extension Guide
58
Deploying and Working with Terminal Services and Remote Desktop ServicesInTouch HMI Application Management and Extension Guide
RD Virtualization Host: Remote Desktop Virtualization Host (RD Virt ualization Host) integrates
with Hyper-V to host virtual machines and provide them to users as virtual desktops. You can assign
a unique virt ual desktop to each user in your organization, or provide them shared ac cess to a pool of
virtual desktops.
59
Deploying and Working with Terminal Services and Remote Desktop ServicesInTouch HMI Application Management and Extension Guide
60
InTouch HMI Application Management and Extension Guide
C HAPTER 5
Managing InTouch Services
In This Chapter
About Managing InTouch Services ................................................................................................. 61
Running WindowViewer as a Service ............................................................................................. 61
Configuring WindowViewer to Start as a Service ............................................................................. 62
Editing WIN. INI to Run Application as Service in WindowViewer ...................................................... 63
Manually Starting a Service ........................................................................................................... 63
Stopping a Service........................................................................................................................ 63
Configuring the User Account for InTouch Services......................................................................... 64
Troubleshooting InTouc h Services ................................................................................................. 64
Note: The parameters option in the InTouc h WindowViewer service is not support ed.
61
Managing InTouch Services InTouch HMI Application Management and Extension Guide
WindowViewer continues to log historical data, gather alarm information, process scripts, act as an
I/O Server, and write values as an I/O client, even as different operators log on and off.
Note: A logged on user must have proper access to the network location if a network application is
used to run as a service or a network path is used as a historical logging folder.
If WindowViewer is already running as a servic e and you attempt to start it again from a shortcut icon or
by clicking WindowViewer on the Windows Start menu, a message is logged in the ArchestrA Logger.
The message describes the restrictions to starting WindowViewer when it has been configured to run as
a service.
If WindowViewer is already running as a service and you attempt to launch Application Manager or
WindowMaker, a warning message will be logged in the A rchestrA Logger. The message explains that
Application Manager and WindowMaker cannot open when WindowViewer is running as a service.
Important: When running WindowViewer as a servic e, the user account privileges have been set to
non-interactive to reduce the potential security exposure of running a servic e with administrator
privileges.
3. Select the Start WindowViewer as a service check box to configure WindowViewer to aut omatically
run as a service.
The Application to run as a service group box will become enabled.
4. Click the ellipsis button to prompt a file explorer and navigate to your InTouch application.
The application directory will populate in the group box.
62
Managing InTouch Services InTouch HMI Application Management and Extension Guide
5. Click OK.
6. Click the WindowViewer icon in the Application Manager toolbar.
WindowViewer will now run as a service for the specified InTouch application.
Note: You can also fast switch from WindowMaker to WindowViewer to start the WindowViewer service
for the InTouch application if you have configured the Node Properties as described in the above steps.
You can do this in place of starting WindowViewer from the A pplication Manager.
Note: The above functionality is not supported for Managed InTouch applications. If you attempt to
fast-switch a Managed application from WindowMaker to run as a service in WindowViewer, a warning
message will be logged in the ArchestrA Logger.
Stopping a Service
You can manually stop the WindowViewer service using the Control Panel.
To stop the WindowViewer service using the Control Panel
1. Start the Control Panel.
63
Managing InTouch Services InTouch HMI Application Management and Extension Guide
2. Double-click Administrative Tools and then double-click Services. The Service s dialog box
appears.
3. In the details pane, right-click Wonderware WindowViewer and then click Stop.
Note: The master account is also called the impersonation account. An impersonation account is the
user or group account that provides access to the restricted resource "area" of your site or server.
If you want to change the master account, use the ArchestrA Change Network Account Utility.
Caution: Changing the master account affects all ArchestrA services, not just InTouch services.
64
Managing InTouch Services InTouch HMI Application Management and Extension Guide
You can see any warning or error messages that resulted from an InTouch service failing to start. If the
E vent Viewer indicates that the Wonderware WindowViewer service failed to start, the most likely cause
is a dependency on a prerequisite service that is not running.
65
Managing InTouch Services InTouch HMI Application Management and Extension Guide
NetDDE Helper:
HKEY_LOCAL_MA CHINE\SYSTEM\Current ControlSet\Services\WWNetDDE
WindowViewer:
HKEY_LOCAL_MA CHINE\SYSTEM\Current ControlSet\Services\VIEW
66
InTouch HMI Application Management and Extension Guide
C HAPTER 6
Exporting and Importing Tag Definitions,
Windows, and Scripts
In This Chapter
About Exporting and Importing Tag Definitions, Windows and Scripts .............................................. 67
Exporting Tag Definitions .............................................................................................................. 67
Importing Tag Definitions............................................................................................................... 69
Importing Windows ..................................................................................................................... 101
Exporting Windows ..................................................................................................................... 103
Converting InTouch Windows to ArchestrA Symbols ..................................................................... 104
Importing Scripts......................................................................................................................... 108
Tag Placeholders for Imported Windows and Scripts ..................................................................... 110
InTouch Application
DBDump
Tagname
Dictionary
CSV File
PumpInP PumpRPM
Inlet
RPM
Pressure
PumpOutP PumpState
Outlet On/Off
Pressure State DBLoad
67
Exporting and Importing Tag Definitions, Windows, and Scripts InTouch HMI Application Management and Extension Guide
You use the DBDump utility within the Application Manager to export the contents of the Tagname
Dictionary to a Comma S eparated Value (CSV) file. You can view and edit the exported file with Mic rosoft
Notepad or Microsoft Excel. After making edits, you then import the tag definitions to an InTouch
application with the DBLoad utility, which is also an Applic ation Manager utility.
You must convert an application to the current version of the InTouch HMI soft ware before you can
export the tag definitions.
To export tag definitions
1. Close WindowMaker and WindowViewer.
2. Start Application Manager. The Application Manager dialog box shows a list of InTouch
applications.
3. Select the application from the list.
4. Click the DBDump icon. The CSV File to Dump To: dialog box appears.
5. In the Name of CSV Dump file box, type a name for the file with a .cs v file name extension.
6. Select the type of data grouping in the export file.
o Select the Group output by type s check box to group the data by the types of tags in the export
file. This is the default.
o Clear Group output by type s to save the output to the export file alphabetically by tag name.
7. Click OK to save the contents of the Tagname Dictionary to the selected file. A message appears
indicating the contents were saved successfully to the file.
The file consists of keywords, their attributes, and data from the Tagname Dictionary arranged in column
order beneath keyword attributes.
68
Exporting and Importing Tag Definitions, Windows, and Scripts InTouch HMI Application Management and Extension Guide
Notice the :MemoryDisc keyword in the ex ample of the Excel spreadsheet. This keyword identifies
memory discrete tags that were exported from a Tagname Dictionary. On the same spreadsheet row, the
attributes of a memory discrete tag appear in separate spreadsheet columns. For example, the Logged
attribute column shows whether a memory discrete tag’s dat a is logged or not.
Immediately beneath the keyword and attributes row are the exported tags and their associated
properties. In the example of the Excel spreadsheet, OutputValve is a memory discrete tag whose data is
not logged.
You can view or edit the ex port file created by DB Dump with any program that supports the .csv file
format. Typically, Excel is used because its columnar spreadsheet format makes it easy to organize tag
data. But, you can also use Microsoft Notepad if you prefer to view or edit the file’s contents in its native
comma-delimited string format.
For more information on creating import files, see Creating an Import File Template on page 70.
The DB Load import file contains a set of keywords that organize Access Names, alarm groups, and tag
data within the file.
A colon (:) precedes all keywords.
To continue a line, enter a backslash (\) at the end of the line.
To enter comments, precede them with a semi -colon (;).
The following table lists the keywords within a DB Load import file. The table lists the keywords in the
order they are specified when you create the file with DBDump. But you can specify keywords in any
order wit hin the file.
69
Exporting and Importing Tag Definitions, Windows, and Scripts InTouch HMI Application Management and Extension Guide
Keyword Description
Each keyword includes a set of associated attributes that specify the properties of Access Names, alarm
groups, and tags. For example, the :IOAccess keyword includes attributes to specify the application,
topic, and communication protocol, which are properties of every InTouch Access Name.
70
Exporting and Importing Tag Definitions, Windows, and Scripts InTouch HMI Application Management and Extension Guide
The following figure shows a template import file created by DB Dump. The figure shows a file created
from an InTouch application that has no windows nor tags. The resulting file only includes the required
keywords and attributes without tag data.
After creating a template, you then manually add tag dat a beneath the keyword that identifies the type of
tag. You insert the properties of your tags in the corresponding attribute columns associated with the tag
type keywords.
To create a template import file
1. Open the Application Manager.
2. Create a new InTouch application.
For more information about the steps to create an application, see Creating an InTouch Application
on page 25.
3. Select the new application from the list shown in Application Manager.
4. Export the contents of the application’s Tagname Dictionary with the DB Dump utility.
For more information about exporting tags, see Exporting Tag Definitions on page 67.
5. Edit the file to insert tag data that you want to import.
71
Exporting and Importing Tag Definitions, Windows, and Scripts InTouch HMI Application Management and Extension Guide
:MODE=REPLACE
If a duplicate tag is encountered, the DB Load utility deletes the existing tag in the Tagname Dictionary
and replaces it with the tag from the import file with the same name.
:MODE=UPDATE
If a duplicate tag is encount ered, the DBLoad utility overwrites the existing tag definition in the Tagname
Dictionary only with dat a explicitly specified from the import file. All other data associated with the tag
remains unchanged in the Tagname Dictionary.
Fields are considered explicitly defined if th e field is in the record and entered by you or is set by the
":KEYWORD= value" mechanism. If a field is not specified in the record, and the keyword has been reset
using the ":KEYWORD=" command, the current field value is not updated.
The following is an example of what occurs when an import file in the update mode is loaded/merged into
the Tagname Dictionary:
:Mode=update
:Group=Group1
:IODisc,Group,DConversion
Tagname1,Group2,
; Tagname1's Group updated to Group2 only
Tagname2,,
; Tagname2's Group updated to Group1 and the DConversion left as is
Tagname3,,Reverse
; Tagname3's Group updated to Group1 and the DConversion to "Reverse"
; the following line "resets" the Group field to its default value
:Group=
; Data field "Group" is reset to its default value
Tagname4,,
; Tagname4 will be left alone
The tag types must be compatible if the type is being changed and the tag is in use. For example, an
existing historical trend tag cannot be changed to an I/O Integer if the tag is in use by the application.
Also, a tag cannot be changed to ReadOnly=yes if the tag is being used on an input link in the
application. Because of these restrictions, update t he us e counts for t he target applic ation before running
the DBLoad utility.
:MODE=ASK
DBLoad stops when a duplicat e tag is encountered while loading the Tagname Dictionary. The
Duplicate Name dialog box appears and shows a list of options to handle duplicate tags. This is the
default import mode.
72
Exporting and Importing Tag Definitions, Windows, and Scripts InTouch HMI Application Management and Extension Guide
Click Update existing with new information to overwrite the existing tag record with only the fields
that are explicitly defined in the import file.
Click Change Name to replace the name of the import ed tag with the name you type in the box of the
Duplicate Name dialog box.
Click Ignore this entry to ignore the tag and continue importing the cont ents of the file.
Click Abort the Load to cancel the import process.
:MODE=IGNORE
The DB Load import utility ignores the duplicat e tag and continues processing the remaining records of
the import file.
:MODE=TERMINATE
The DB Load import operation stops when a duplicate tag is encount ered.
:MODE=TEST
DBLoad scans the import file for errors and does not attempt to load tag definitions into the Tagname
Dictionary. DBLoad generates a report that identifies any format errors by line number and location in the
import file.
Run DBLoad with :mode=test first to identify any errors in the import file. After correcting any errors,
change the mode keyword value to :mode=replace or :mode=update before running DBLoad.
The following table shows the list of attributes associated with the :IOAccess keyword. The table lists the
attributes in the order they are specified when using a templat e import file created with the DB Dump
utility.
73
Exporting and Importing Tag Definitions, Windows, and Scripts InTouch HMI Application Management and Extension Guide
String Default
Posi tion Attribute s Acceptable Values Values
74
Exporting and Importing Tag Definitions, Windows, and Scripts InTouch HMI Application Management and Extension Guide
String Default
Posi tion Attribute s Acceptable Values Values
String Default
Posi tion Attribute s Acceptable Values Values
75
Exporting and Importing Tag Definitions, Windows, and Scripts InTouch HMI Application Management and Extension Guide
String Default
Posi tion Attribute s Acceptable Values Values
76
Exporting and Importing Tag Definitions, Windows, and Scripts InTouch HMI Application Management and Extension Guide
String Default
Posi tion Attribute s Acceptable Values Values
77
Exporting and Importing Tag Definitions, Windows, and Scripts InTouch HMI Application Management and Extension Guide
:IODisc,Group,Comment,Logged,EventLogged,
EventLoggingPriority,RetentiveValue,InitialDis,
OffMsg,OnMsg,AlarmState,AlarmPri,DConversion,
AccessName,ItemUseTagname,ItemName,ReadOnly,
AlarmComment,AlarmAckModel,DSCAlarmDisable, DSCAlarmInhibitor,SymbolicName
Beneath the tag type keyword line, individual rows specify the tags of that type with a set of attribute
values. In the following example, the HDWStatus tag belongs to the I/O Discrete tag type in the import
file.
"HDWStatus","$System","",No,No,0,No,Off,"","",,1,Direct,"HistdataViewstr",No
,"Status",No,"",0,0,"",""
The record uses quotation marks to identify a blank string.
The following figure shows the same import file data in an Excel spreadsheet. The Comment cell is blank
because no tag comment is specified in the import file.
Default
Attribute Acceptable Value Value
78
Exporting and Importing Tag Definitions, Windows, and Scripts InTouch HMI Application Management and Extension Guide
Default
Attribute Acceptable Value Value
79
Exporting and Importing Tag Definitions, Windows, and Scripts InTouch HMI Application Management and Extension Guide
Default
Attribute Acceptable Value Value
80
Exporting and Importing Tag Definitions, Windows, and Scripts InTouch HMI Application Management and Extension Guide
Default
Attribute Acceptable Value Value
81
Exporting and Importing Tag Definitions, Windows, and Scripts InTouch HMI Application Management and Extension Guide
Default
Attribute Acceptable Value Value
82
Exporting and Importing Tag Definitions, Windows, and Scripts InTouch HMI Application Management and Extension Guide
Default
Attribute Acceptable Value Value
83
Exporting and Importing Tag Definitions, Windows, and Scripts InTouch HMI Application Management and Extension Guide
Default
Attribute Acceptable Value Value
84
Exporting and Importing Tag Definitions, Windows, and Scripts InTouch HMI Application Management and Extension Guide
The table shows the order that :MemoryDisc keyword attributes are specified when DBDump is used to
create the import file. See Tag Keyword Attributes on page 78 for the data associated with attributes and
their default values.
1 Group
2 Comment
3 Logged
4 E vent Logged
5 E vent LoggingPriority
6 RetentiveV alue
7 InitialDisc
8 OffMsg
9 OnMsg
10 AlarmState
11 AlarmPri
12 AlarmComment
13 AlarmAckModel
14 DSCAlarmDisable
15 DSCAlarmInhibitor
16 SymbolicName
1 Group
2 Comment
3 Logged
4 E vent Logged
85
Exporting and Importing Tag Definitions, Windows, and Scripts InTouch HMI Application Management and Extension Guide
5 E vent LoggingPriority
6 RetentiveV alue
7 InitialDisc
8 OffMsg
9 OnMsg
10 AlarmState
11 AlarmPri
12 Conversion
13 AccessName
14 ItemUseTagname
15 ItemName
16 ReadOnly
17 AlarmComment
18 AlarmAckModel
19 DSCAlarmDisable
20 DSCAlarmInhibitor
21 SymbolicName
1 Group
2 Comment
3 Logged
4 E vent Logged
5 E vent LoggingPriority
86
Exporting and Importing Tag Definitions, Windows, and Scripts InTouch HMI Application Management and Extension Guide
6 RetentiveV alue
7 RetentiveAlarmP arameters
8 AlarmValueDeadband
9 AlarmDevDeadband
10 EngUnits
11 InitialValue
12 MinValue
13 MaxValue
14 Deadband
15 LogDeadband
16 LoLoAlarmState
17 LoLoAlarmValue
18 LoLoAlarmPri
19 LoAlarmState
20 LoAlarmValue
21 LoAlarmPri
22 HiAlarmStat e
23 HiAlarmV alue
24 HiAlarmP ri
25 HiHiAlarmState
26 HiHiAlarmValue
27 HiHIAlarmPri
28 MinorDevAlarmState
29 MinorDevAlarmValue
30 MinorDevAlarmPri
31 MajorDevAlarmState
32 MajorDevAlarmValue
33 MajorDevAlarmPri
34 DevTarget
35 ROCAlarmSt ate
87
Exporting and Importing Tag Definitions, Windows, and Scripts InTouch HMI Application Management and Extension Guide
36 ROCAlarmV alue
37 ROCAlarmP ri
38 ROCTimeB ase
39 AlarmComment
40 AlarmAckModel
41 LoLoAlarmDisable
42 LoAlarmDisable
43 HiAlarmDisable
44 HiHiAlarmDisable
45 MinDevAlarmDisable
46 MajDevAlarmDisable
47 RocAlarmDisable
48 LoLoAlarmInhibit or
49 LoAlarmInhibitor
50 HiAlarmInhibitor
51 HiHiAlarmInhibitor
52 MinDevAlarmInhibitor
53 MajDevAlarmInhibitor
54 RocAlarmInhibit or
55 SymbolicName
1 Group
2 Comment
88
Exporting and Importing Tag Definitions, Windows, and Scripts InTouch HMI Application Management and Extension Guide
3 Logged
4 E vent Logged
5 E vent LoggingPriority
6 RetentiveV alue
7 RetentiveAlarmP arameters
8 AlarmValueDeadband
9 AlarmDevDeadband
10 EngUnits
11 InitialValue
12 MinEU
13 MaxEU
14 Deadband
15 LogDeadband
16 LoLoAlarmState
17 LoLoAlarmValue
18 LoLoAlarmPri
19 LoAlarmState
20 LoAlarmValue
21 LoAlarmPri
22 HiAlarmStat e
23 HiAlarmV alue
24 HiAlarmP ri
25 HiHiAlarmState
26 HiHiAlarmValue
27 HiHIAlarmPri
28 MinorDevAlarmState
29 MinorDevAlarmValue
30 MinorDevAlarmPri
31 MajorDevAlarmState
32 MajorDevAlarmValue
89
Exporting and Importing Tag Definitions, Windows, and Scripts InTouch HMI Application Management and Extension Guide
33 MajorDevAlarmPri
34 DevTarget
35 ROCAlarmSt ate
36 ROCAlarmV alue
37 ROCAlarmP ri
38 ROCTimeB ase
39 AlarmComment
39 MinRaw
40 MaxRaw
41 Conversion
42 AccessName
43 ItemUseTagname
44 ItemName
45 ReadOnly
46 AlarmComment
47 AlarmAckModel
48 LoLoAlarmDisable
49 LoAlarmDisable
50 HiAlarmDisable
51 HiHiAlarmDisable
52 MinDevAlarmDisable
53 MajDevAlarmDisable
54 RocAlarmDisable
55 LoLoAlarmInhibit or
56 LoAlarmInhibitor
57 HiAlarmInhibitor
58 HiHiAlarmInhibitor
59 MinDevAlarmInhibitor
60 MajDevAlarmInhibitor
61 RocAlarmInhibit or
90
Exporting and Importing Tag Definitions, Windows, and Scripts InTouch HMI Application Management and Extension Guide
62 SymbolicName
1 Group
2 Comment
3 Logged
4 E vent Logged
5 E vent LoggingPriority
6 RetentiveV alue
7 RetentiveAlarmP arameters
8 AlarmValueDeadband
9 AlarmDevDeadband
10 EngUnits
11 InitialValue
12 MinValue
13 MaxValue
14 Deadband
15 LogDeadband
16 LoLoAlarmState
17 LoLoAlarmValue
18 LoLoAlarmPri
19 LoAlarmState
20 LoAlarmValue
21 LoAlarmPri
91
Exporting and Importing Tag Definitions, Windows, and Scripts InTouch HMI Application Management and Extension Guide
22 HiAlarmStat e
23 HiAlarmV alue
24 HiAlarmP ri
25 HiHiAlarmState
26 HiHiAlarmValue
27 HiHiAlarmPri
28 MinorDevAlarmState
29 MinorDevAlarmValue
30 MinorDevAlarmPri
31 MajorDevAlarmState
32 MajorDevAlarmValue
33 MajorDevAlarmPri
34 DevTarget
35 ROCAlarmSt ate
36 ROCAlarmV alue
37 ROCAlarmP ri
38 ROCTimeB ase
39 AlarmComment
40 AlarmAckModel
41 LoLoAlarmDisable
42 LoAlarmDisable
43 HiAlarmDisable
44 HiHiAlarmDisable
45 MinDevAlarmDisable
46 MajDevAlarmDisable
47 RocAlarmDisable
48 LoLoAlarmInhibit or
49 LoAlarmInhibitor
50 HiAlarmInhibitor
51 HiHiAlarmInhibitor
92
Exporting and Importing Tag Definitions, Windows, and Scripts InTouch HMI Application Management and Extension Guide
52 MinDevAlarmInhibitor
53 MajDevAlarmInhibitor
54 RocAlarmInhibit or
55 SymbolicName
1 Group
2 Comment
3 Logged
4 E vent Logged
5 E vent LoggingPriority
6 RetentiveV alue
7 RetentiveAlarmP arameters
8 AlarmValueDeadband
9 AlarmDevDeadband
10 EngUnits
11 InitialValue
12 MinEU
13 MaxEU
14 Deadband
15 LogDeadband
16 LoLoAlarmState
17 LoLoAlarmValue
18 LoLoAlarmPri
93
Exporting and Importing Tag Definitions, Windows, and Scripts InTouch HMI Application Management and Extension Guide
19 LoAlarmState
20 LoAlarmValue
21 LoAlarmPri
22 HiAlarmStat e
23 HiAlarmV alue
24 HiAlarmP ri
25 HiHiAlarmState
26 HiHiAlarmValue
27 HiHiAlarmPri
28 MinorDevAlarmState
29 MinorDevAlarmValue
30 MinorDevAlarmPri
31 MajorDevAlarmState
32 MajorDevAlarmValue
33 MajorDevAlarmPri
34 DevTarget
35 ROCAlarmSt ate
36 ROCAlarmV alue
37 ROCAlarmP ri
38 ROCTimeB ase
39 MinRaw
40 MaxRaw
41 Conversion
42 AccessName
43 ItemUseTagname
44 ItemName
45 ReadOnly
46 AlarmComment
47 AlarmAckModel
48 LoLoAlarmDisable
94
Exporting and Importing Tag Definitions, Windows, and Scripts InTouch HMI Application Management and Extension Guide
49 LoAlarmDisable
50 HiAlarmDisable
51 HiHiAlarmDisable
52 MinDevAlarmDisable
53 MajDevAlarmDisable
54 RocAlarmDisable
55 LoLoAlarmInhibit or
56 LoAlarmInhibitor
57 HiAlarmInhibitor
58 HiHiAlarmInhibitor
59 MinDevAlarmInhibitor
60 MajDevAlarmInhibitor
61 RocAlarmInhibit or
62 SymbolicName
1 Group
2 Comment
3 Logged
4 E vent Logged
5 E vent LoggingPriority
6 RetentiveV alue
7 MaxLength
8 InitialMessage
95
Exporting and Importing Tag Definitions, Windows, and Scripts InTouch HMI Application Management and Extension Guide
9 AlarmComment
10 SymbolicName
1 Group
2 Comment
3 Logged
4 E vent Logged
5 E vent LoggingPriority
6 RetentiveV alue
7 MaxLength
8 InitialMessage
9 AccessName
10 ItemUseTagname
11 ItemName
12 ReadOnly
13 AlarmComment
14 SymbolicName
Note: InTouch Group Var tags are obsolet e. The :GroupV ar keyword is included to support legacy
applications only.
96
Exporting and Importing Tag Definitions, Windows, and Scripts InTouch HMI Application Management and Extension Guide
The table shows the order that :GroupVar key word attributes are specified when DBDump is used to
create the import file. See Tag Keyword Attributes on page 78 for the data associated with these
attributes and their default values.
1 Group
2 Comment
3 SymbolicName
1 Group
2 Comment
3 SymbolicName
1 Group
2 Comment
97
Exporting and Importing Tag Definitions, Windows, and Scripts InTouch HMI Application Management and Extension Guide
The table shows the order that :IndirectDisc keyword attribut es are specified when DBDump is used to
create the import file. See Tag Keyword Attributes on page 78 for the data associated with these
attributes and their default values.
1 Group
2 Comment
3 E vent Logging
4 E vent LoggingPriority
5 RetentiveV alue
6 SymbolicName
1 Group
2 Comment
3 E vent Logging
4 E vent LoggingPriority
5 RetentiveV alue
6 SymbolicName
98
Exporting and Importing Tag Definitions, Windows, and Scripts InTouch HMI Application Management and Extension Guide
1 Group
2 Comment
3 E vent Logging
4 E vent LoggingPriority
5 RetentiveV alue
6 SymbolicName
In the following example, a blank string is indicated by quotation marks (" "):
:Comment="HI"
:MemoryDisc,Comment,Group
Tagname1,,$System
Tagname2,"",$System
where:
The value of the Comment field for Tagname1 is Hi, and the value of the Comment field for Tagname2 is
a blank comment.
Microsoft Excel ignores quotation marks that denote a blank string when it saves the file, resulting in the
following:
:Comment="HI"
:MemoryDisc,Comment,Group
Tagname1,,$System
Tagname2,,$System
To ensure that a blank string is used with Excel, type a space in the cell as the attribute value.
99
Exporting and Importing Tag Definitions, Windows, and Scripts InTouch HMI Application Management and Extension Guide
For example, if you set :GROUP=Reactor_Site, then all tags that have a blank entry for the GROUP
column are assigned to the Reactor_Site Alarm Group. If the tag has, for example, $Syst em entered for
the GROUP, the tag remains assigned to the Alarm Group $System.
You can reset an individual keyword to its original default value by omitting the value in the equation. For
example, :GROUP=.
To reset all keywords, use the :RESE T command. This command does not have arguments and affects
all entries in the file that occur after the command.
100
Exporting and Importing Tag Definitions, Windows, and Scripts InTouch HMI Application Management and Extension Guide
4. Select the application from the list whose Tagname Dictionary will receive the imported tag
definitions.
5. Click the DBLoad icon. A message appears requesting confirmation that you backed up the InTouch
application.
6. Click Yes to confirm the application is backed up. The CSV File to Load From dialog box appears.
7. In the Name of CSV Load file box, locate and select the file you want to import.
8. Click OK.
The next step varies based upon whether DBLoad imports new or existing tag definitions to the
Tagname Dictionary.
o If you are importing new tag definitions, the new tag data is loaded into the application’s
Tagname Dictionary. A message appea rs confirming the dat a was successfully loaded and
merged.
o If you are importing existing tag definitions, the import stops if the :mode keyword is set to
:mode=ask and the import file contains duplicate tags. You are shown options to handle the
duplicate tags or you can cancel the import. For more information about keyword options, see
Setting the Operating Mode for Dictionary Import Files on page 71.
Importing Windows
Importing windows from an existing InTouch application into your current application allows you to
reduce development time because y ou can reuse your previously created windows, objects, and window
scripts.
You must convert an application to the current version of the InTouch HMI soft ware before you can
import windows.
By default, placeholders are created for the tags associated with an imported window. After importing,
you can convert the placeholders to local tags or remote tag references. For more inform ation, see Tag
Placeholders for Imported Windows and Scripts on page 110. If the associated tags already exist in the
target application, during the import you can select to use these instead.
When you import windows containi ng SmartSymbols and select to use existing tags, the InTouch HMI
still keeps placeholders for the recovered symbols, even though the tags are available in the target
application.
When you import a window from an application that contains SuperTags, only the SuperTag instances
actually used in the window are import ed into the new application. The entire SuperTag template
structure is not import ed. For example, if t he application has hundreds of SuperTag member t ags defined
in it, and only 50 of those are us ed in the imported window, only those 50 are imported.
101
Exporting and Importing Tag Definitions, Windows, and Scripts InTouch HMI Application Management and Extension Guide
Important: If you move InTouch window files using any method other than importing or exporting them,
the contents of the application Tagname Dictionary can become corrupt.
To import a window
1. Close all windows in your current application.
2. On the File menu, click Import. The Import from directory dialog box appears.
3. Select the folder for the application containing the windows to import.
4. Click OK. The Application Data Import Options dialog box appears.
5. Select the Windows check box and then click Select to select the individual windows to import.
6. Select the Use Exi sting Tags (Conserve Placeholders) check box if the tags associated with the
imported windows already exist in your application and you want to use them instead of
placeholders.
7. Click Import.
8. Convert the placeholder tags to either local tags or remot e tag references. For more information, see
Converting Placeholder Tags for an Imported Window on page 102.
9. If an imported window contains one or more wizards, double -click on each wizard to open its
properties panel. If an imported window contains one or more SmartSymbols, edit each
SmartSymbol and create new instances.
102
Exporting and Importing Tag Definitions, Windows, and Scripts InTouch HMI Application Management and Extension Guide
6. Click OK.
Exporting Windows
You can export application windows to:
Create or maintain a library application of all windows.
Create remote tag referenc es in another application.
You must convert an application to the current version of the InTouch HMI soft ware before you can
export windows.
When you export a window, all objects and animation links associated with that window are exported.
The tags associated with the objects in the window are converted to placeholder tags to prevent existing
tags in the destination application from being overwritten. For more information on converting
placeholder tags, see Converting Placeholder Tags for an Imported Window on page 102.
103
Exporting and Importing Tag Definitions, Windows, and Scripts InTouch HMI Application Management and Extension Guide
Important: If you move InTouch window files using any method other than importing or exporting them,
the application’s Tagname Dictionary can be corrupted.
To export a window
1. Close all windows in your current application.
2. On the File menu, click Export Window. The Export to directory dialog box appears.
104
Exporting and Importing Tag Definitions, Windows, and Scripts InTouch HMI Application Management and Extension Guide
Converting Windows
Only the symbols and scripts of a window are convert ed. The window’s color, type, frame, title bar, size
control, and Close button are excluded from the converted symbol.
Based on the InTouc h graphic type, window graphics are converted as follows:
All InTouch graphic primitives are converted to corres ponding ArchestrA graphic primitives.
An InTouch Smart Symbol is converted to an ArchestrA embedded symbol.
An ArchestrA symbol within a window is converted to an embedded symbol. No new symbol is
created for an embedded symbol.
An InTouch symbol is converted to a group with the property TreatAsIcon=True.
An InTouch cell is converted to a group with the property TreatAsIc on=False.
InTouch Windows controls are converted to ArchestrA Windows controls.
Some InTouch graphic components cannot be converted to ArchestrA symbols:
o InTouch Real-time and Historic al trends cannot be converted.
o ActiveX cont rols and the Distributed Alarm Display cannot be converted.
105
Exporting and Importing Tag Definitions, Windows, and Scripts InTouch HMI Application Management and Extension Guide
106
Exporting and Importing Tag Definitions, Windows, and Scripts InTouch HMI Application Management and Extension Guide
b. Right -click to show the shortcut menu and select Convert to Arche strA Symbol....
c. Continue at Step 3.
File Menu Method
d. Click File from the menu bar and select Convert to Arche strA Symbol....
3. The Windows to Convert dialog box appears, select the windows that you want to convert.
By default, the window selected in the previous screen will be checked. You can now select
additional windows.
4. Click OK.
A message appears and indicates the windows are being converted in succession. After the
windows are converted, a succession of Check In dialog boxes appear to enter an optional
comment for each window that was converted.
5. Observe the WindowMak er ArchestrA Graphic Toolbox and the ArchestrA IDE Graphic Toolbox.
107
Exporting and Importing Tag Definitions, Windows, and Scripts InTouch HMI Application Management and Extension Guide
The converted windows should appear as ArchestrA symbols in both tool boxes.
Both the conversion progress dialog box and the conversion report include the following information
about a window conversion:
Window name
Conversion status that indicates if the window was converted successfully or if errors occurred.
Warning messages that occurred during the conversion.
Error messages that occurred during the window conversion.
Importing Scripts
You can import existing QuickScripts from an InTouch application into your current application to save
development time.
You must convert an application to the current version of the InTouch HMI soft ware before you can
import scripts.
By default, placeholders are created for the tags associated with an imported QuickScript. After
importing, you can convert the placeholders to local tags or remot e tag references. For more information,
see Tag Placeholders for Imported Windows and Scripts on page 110. If the associated tags already
exist in the target application, during the import you can choose to use these instead.
To import a window script, you must import the entire window.
108
Exporting and Importing Tag Definitions, Windows, and Scripts InTouch HMI Application Management and Extension Guide
For an imported ActiveX E vent script to function properly in the target application, the same ActiveX
control and the same event for which the script was originally created must also be used in the target
application and it must be loaded into memory. If the window cont aining an ActiveX c ontrol is closed, any
scripts associated with it (either ActiveX E vent scripts or QuickScripts) do not run properly.
To import a QuickScript
1. Close all windows in your current application.
2. On the File menu, click Import. The Import from directory dialog box appears.
3. Select the folder for the application that contains the scripts to import.
4. Click OK. The Application Data Import Options dialog box appears.
5. Select the check box for the QuickScript type(s) that you want to import and then click Select to
select the individual script(s ) to import.
Note: To import a window script, you must import the entire window. For more information, see Importing
Windows on page 101.
6. Select the Use Exi sting Tags (Conserve Placeholders) check box if the tags associated with the
imported script(s) already exist in your application and y ou want to use them instead of placeholders.
7. Click Import. If your application has scripts with identical names, you are prompted to overwrite,
skip, or rename.
8. Convert the placeholder tags to either local tags or remot e tag references. For more information, see
Converting Placeholder Tags in an Import ed Script on page 109.
109
Exporting and Importing Tag Definitions, Windows, and Scripts InTouch HMI Application Management and Extension Guide
110
Exporting and Importing Tag Definitions, Windows, and Scripts InTouch HMI Application Management and Extension Guide
Convert it to a remote tag reference. An example of a remote tag is PLC2:WaterHeater. Remote tag
references allow your application to instantly receive data from a remote tag server and eliminates
the need to define a single tag in the local Tagname Dictionary.
Using existing tags.
During an import, if you select to use existing tags, the InTouch HMI verifies that the imported tags
already exist in the Tagname Dictionary. If a tag already exists, then the tag is imported as a fully
qualified tag. Using this option reduces the total number of placeholders, allowing you to import
applications with larger tag dat abas es.
The following flowchart describes how tags are handled for imported windows and QuickScripts.
BEGIN
Import a window
or QuickScript
No No
No
END
111
InTouch HMI Application Management and Extension Guide
C HAPTER 7
Securing InTouch
In This Chapter
About Securing InTouch .............................................................................................................. 113
InTouch Security Features........................................................................................................... 113
Authentication and Authorization Based Security .......................................................................... 120
Managing Users and Setting Their Aut horization Levels ................................................................ 128
Logging On and Off..................................................................................................................... 134
Enabling and Disabling Functionality Based Upon Operator or Access Levels ................................ 139
Retrieving Information A bout the Currently Logged -on Operat or .................................................... 140
Summary of Security System Tags and Functions ........................................................................ 144
113
Securing InTouch InTouch HMI Application Management and Extension Guide
Lock keys
Hide menus
Note: The inactivity timer does not res et for Active-X controls, and OLE Aut omation controls.
2. In the Inactivity area, configure the warning and time -out values. Do the following:
o In the Warning box, type the number of seconds that can elapse before the $InactivityWarning
tag is set to 1.
o In the Timeout box, type the number of seconds that can elapse before the $Inactivity Timeout
tag is set to 1 and the user is automatically logged off.
114
Securing InTouch InTouch HMI Application Management and Extension Guide
3. Click OK.
4. To show a window named "Warning - Logoff Pending" after the inactivity warning time elaps es,
create a condition script with "$InactivityWarning" as the condition and the following script body:
Show "Logoff Pending";
5. To show a window named "Logged Off" after the inactivity timeout elapses, create a condition script
with "$Inactivity Timeout" as the condition and the following script body:
Show "Logged Off";
Note: The inactivity timer does not res et for ActiveX controls, OLE and aut omation controls.
Data Type
Discrete (read only)
See Also
$InactivityWarning
Example(s)
The following example is an "on true" condition script:
If $InactivityTimeout == 1 THEN
Show "Logged Off";
ENDIF
See Also
$InactivityWarning
115
Securing InTouch InTouch HMI Application Management and Extension Guide
Note: The inactivity timer does not res et for ActiveX controls, OLE automation controls, and SPC
wizards.
Data Type
Discrete (read only)
Example(s)
The following example is an "on true" condition script.
If $InactivityWarning == 1 THEN
Show "Logoff Pending";
ENDIF;
See Also
$InactivityTimeOut
116
Securing InTouch InTouch HMI Application Management and Extension Guide
EnableDisableKeys() Function
Enables/disables key filters for the Alt, Escape, and Windows keys.
Category
View
Syntax
EnableDisableKeys(AltKey, EscKey, WinKey);
117
Securing InTouch InTouch HMI Application Management and Extension Guide
Parameters
AltKey
Integer to enable or disable key filters for the Alt key:
1 = enable filter (disable Alt key)
0 = disable filter (enable Alt key)
EscKey
Integer to enable or disable key filters for the Escape key:
1 = enable filter (disable Esc key)
0 = disable filter (enable Esc key)
WinKey
Integer to enable or disable key filters for the Windows key:
1 = enable filter (disable Win key)
0 = disable filter (enable Win key)
Remarks
Disabling the Alt key also disables the Win+L key combination (for locking the Windows desktop). Win+L
is the shortcut for another combination of keys that involves the Alt key. Thus, disabling the Alt key also
disables the shortcut for locking the Windows desktop.
Disabling the Esc key disables it for all actions.
Example(s)
EnableDisableKeys(0,0,0); // enable all three keys
EnableDisableKeys(1,1,1); // disable all three keys
EnableDisableKeys(0,0,1); // enable Alt and Escape keys, disable Windows key.
118
Securing InTouch InTouch HMI Application Management and Extension Guide
3. In the Menus area, select the WindowViewer menus and commands that you want to be visible t o an
operator. Do the following:
o Clear the WindowMaker check box to make the WindowMaker command unavailable from the
WindowViewer File menu. Clearing this option does not affect the fast switch to WindowMaker.
o Clear the Logic check box to hide the WindowViewer Logic menu that contains commands to
start and stop QuickScripts.
Note: You can use the $LogicRunning system tag to enable the operator to start and stop all
QuickScripts.
If you select the Allow CTRL-Break to stop scripts option, the operator can to stop all QuickScripts
from running regardless of whether the Logic menu appears or not.
Currently executing asynchronous QuickFunctions cannot be stopped. However, you can prevent
operators from starting new asynchronous QuickFunctions.
o Select the Debug check box if you are testing your application. Otherwise, clear the Debug
check box to hide the Debug menu during run time.
o Clear the Special menu items to prevent operators from stopping ongoing InTouch functions like
logging and I/O connections.
o Clear the Security check box to prevent operators from changing security related options.
4. In the Window area, select the window controls that you want to make available to an operator from
WindowViewer. These options affect the window that is running the InTouch application. Do the
following:
o Clear the Control Menu check box to hide the controls that close, minimize, maximize, and
resize the window.
o Clear the Minimize Box check box to prevent an operator from minimizing the window.
o Clear the Maximize Box check box to prevent an operator from maximizing the window.
o Clear the Size Control s check box to prevent an operator from resizing the window.
119
Securing InTouch InTouch HMI Application Management and Extension Guide
5. In the Title bar area, configure the title bar of the window running the InTouc h applic ation. Do the
following:
o In the Title Bar Text box, type a title to be shown in the WindowViewer title bar.
o Select the Show Application Directory check box to include the path to the InTouch
application's folder in the title bar.
o Select the Hide Title Bar check box to hide the window’s title bar.
6. In the Mi scellaneous area, do the following:
o Select the Impossi ble to Close check box to prevent an operator from closing the
WindowViewer window running the InTouch application. Selecting this option disables the
window’s Close button.
If you want to hide the Close button, clear the Control Menu check box in the Window area.
o Clear the Allow CTRL-Break to stop scripts check box to disable the CTRL + BREAK key
combination that enables operators to stop QuickScripts.
Note: Currently executing asynchronous QuickFunctions cannot be stopped. However, you can prevent
new asynchronous QuickFunctions from exec uting.
o Select the Hide Cursor check box to hide the mouse pointer during run time. This is useful if you
are designing the application for a touc h-screen.
o Select the Always Maximize check box to keep the window running the InTouch application fully
maximized on the operator’s screen.
7. Click OK.
8. Restart WindowViewer to apply your changes.
120
Securing InTouch InTouch HMI Application Management and Extension Guide
When you set the InTouch Security Ty pe to InTouch, a pop-up dialog appears, suggesting to switch to
OS security mode. The dialog also appears on the launch of WindowMaker, if InTouch security is used
for the application. You can choose to turn off the notification.
Security is based on operators authenticating themselves by entering a user name and password to log
on to an InTouch application. You must assign user name, password, and access level for each operator.
When you create a new application, by default, the user name is set to Administrator with an access
level of 9999, which allows access to all security commands. The default administrator password is
wonderware. The maximum number of characters for a password is 29.
After you add a new user name to the security list and restart WindowMaker or WindowViewer, the
default user name is automatically reset to None with an access level of 0, which prevents access to the
Configure Users command in both WindowMaker and WindowViewer. However, the Administrator
account and password remain and can still be used.
After an operator logs on to the application, access to any protected function is granted upon verification
of the operator's password and access level against the value s pecified for the internal security tag linked
to the function.
For Native and Modern applications, only users with Administrator privileges are allowed to open and
edit applications in InTouch WindowMaker. If a user without administrator privileges attempts to launch
InTouch WindowMaker, an error dialog box appears, informing users that they need administrative
privileges to proceed. Users without administrative privileges can launch WindowMaker via ArchestrA
IDE for Managed applications.
121
Securing InTouch InTouch HMI Application Management and Extension Guide
122
Securing InTouch InTouch HMI Application Management and Extension Guide
o To use Smart Card with Terminal s erver and RDP clients, a Smart Card reader must be attached
to the client systems to enable Smart Card authentication. To conn ect a Smart Card reader to a
Terminal Server using RDP, you need to make sure that the RDP client connection settings have
the Smart Card option enabled under Local Devices and Re source s.
Note: If you click Arche strA, be sure that you have c onfigured ArchestrA OS security (OS user-based or
OS group-based) using the ArchestrA IDE.
3. On the Special menu, click Smart Card Authentication so that a check mark appears. By default,
this is not checked.
If you have inserted your smart card, your log on certificate—the domain and the user name—is
shown in the dialog box.
The smart card log on dialog box also appears if the LogonCurrentUser() or PostLogonDialog()
functions execute from scripts in WindowViewer. These functions are available only in InTouc h
scripting, not in ArchestrA client scripting.
4. In the PIN box, enter the PIN for the smart card being used
123
Securing InTouch InTouch HMI Application Management and Extension Guide
If a smart card is not available, the system will prompt you to log on with your user ID and pas sword.
5. Click OK. You are logged on to WindowViewer.
Note: Aft er you log on as a smart card user, you must keep the card in the smart card reader. If you
remove it, the system logs you off.
Important: For Galaxies that have security enabled and are migrated to Application Server version 3.5,
the "Can Modify Operate Attributes" operational permission setting will be copied to t he "Can Verify
Writes" attribute. Starting with Application Server 3. 5, Galaxies have the "Can Verify Writes" operational
permission setting disabled by default.
Within InTouch Tag Viewer, a run-time user can only writ e to an indirect tag with a reference to an
ArchestrA attribute.
You can use smart cards for authentication for secured and verified data writes. For more information,
see Using Secured and Verified Writes on page 124.
124
Securing InTouch InTouch HMI Application Management and Extension Guide
2. Add a comment for the write action by selecting from the predefined Comment list or by entering a
comment in the Comment text box. The comment is limited to 200 characters.
You can predefine a list of comments using the SignedWrite() script function, or y ou can enter a new
comment in the Comment text box. The predefined comments list is only accessible when using the
SignedWrite() script function.
3. If you are authenticating using a network user account, the user account options are shown.
Do the following.
a. In the Username box, type your user name. The name of the currently logged -on user is shown
by default. If no user is currently logged on, the box is blank.
b. In the Pa ssword box, type the password associated with the user name.
c. In the Domain box, type the domain name.
d. Click OK.
125
Securing InTouch InTouch HMI Application Management and Extension Guide
4. If you are authenticating using a smart card, the smart card options appear.
126
Securing InTouch InTouch HMI Application Management and Extension Guide
2. Add a comment for the write action by selecting from the predefined Comment list or by entering
your own comment in the Comment box. The comment is limited to 200 characters.
The predefined comments list is only accessible when using the SignedWrite() script function.
3. If you are authenticating using a network user account, the user account options are shown.
Do the following.
a. In the Username box, type your user name. The name of the currently logged -on user is shown
by default. If no user is currently logged on, the box is blank.
b. In the Pa ssword box, type the password associated with the user name.
c. In the Domain box, type the domain name.
d. Click OK.
e. To Authenticate using a smart card instead, click the Certificate button. Go to Step 4.
4. If you are authenticating using a smart card, the smart card options are shown.
127
Securing InTouch InTouch HMI Application Management and Extension Guide
a. In the Certificate list, select your smart card certificate. The certificate list appears as
domain_name/user_name. For a certificate to appear in the list, smart card must be currently
inserted into a reader attached to the computer. The certificate of the currently logged-on user is
shown by default, if the user logged on using a smart card. If you insert or remove a card while
the Secured Write dialog box is open, the certificate list automatically updates.
b. In the PIN box, type the PIN for the smart card being used.
c. Click OK.
d. When a smart card is present, if you want to authenticate using your name, password, and
domain instead, click the Mode button. Go to step 3.
You can use the SignedW rite() script function to configure the following in the Secured Write or Verified
Write dialog box:
Show a reas on message
Populate the predefined Comment list
Note: The reason description and the predefined Comment list and box are shown in the Secured Write
or Verified Write dialog box only in InTouch WindowViewer and not in Tag Viewer.
128
Securing InTouch InTouch HMI Application Management and Extension Guide
Note: The $ConfigureUsers tag only works if the security type is set to InTouch. It does not work for
ArchestrA-based and operating system based security.
129
Securing InTouch InTouch HMI Application Management and Extension Guide
If you do not plan on showing the Special menu in WindowViewer, you can create a discrete button and
link it to the $ChangeP assword internal tag. When the value of $ChangeP assword tag is set to 1, the
Change Password dialog box appears. Operators can then change their passwords. When the operator
closes the dialog box, the system resets the $ChangePassword value to 0. This is a system discrete tag
intended for write operation only.
To change an operator password
1. On the Special menu, point to Security and then click Change Password. The Change Password
dialog box appears.
130
Securing InTouch InTouch HMI Application Management and Extension Guide
2. On the Special menu, point to Scripts, and then click Application Scripts. The Application Script
dialog box appears.
AddPermission() Function
Assigns a certain InTouch access level to a given user group on the local system or on the domain. When
a user belonging to t hat group logs on to t he InTouch HMI after t he AddPermission() function is called, he
or she receives the specified access level.
Category
security
Syntax
DiscreteTag=AddPermission( "Domain", "Group", AccessLevel);
Arguments
Domain
Name of the domain or local computer in which the group is located.
Group
Windows user group.
131
Securing InTouch InTouch HMI Application Management and Extension Guide
AccessLevel
InTouch access level that you want to associate with the given group.
Remarks
Valid for operating system security only. When this function is called, it checks for the presenc e of the
specified group in the specified domain or workgroup. If successful, TRUE is returned, and the specified
Access Level is associated with the group for subsequent user log ons. In all other cases, (that is, if an
invalid value is specified for any of the arguments) FALSE is returned.
This function is typically configured to run on application start up. It does not affect users that are currently
logged on. Only users that log on after AddPermission() is successfully called receive the access level
associated with their group.
Examples
DiscreteTag=AddPermission( "corporate_hq", "InTouchAdmins", 9000);
DiscreteTag=AddPermission( "johns01", "InTouchUsers", 5000);
See Also
PostLogonDialog(), InvisibleVerifyCredentials(), IsAssignedRole(), AttemptInvisibleLogon(),
QueryGroupMembership()
ChangePassword() Function
Shows the Change Password dialog box, allowing the logged on operator to change his/her password.
Category
security
Syntax
[Result=]ChangePassword();
Return Value
Returns one of the following int eger values:
0 = Cancel was pressed.
1 = OK was pressed.
Remarks
If the operat or uses a touch screen, the operator can use the alphanumeric keyboard to enter the new
password.
Example
The following script can be plac ed on a button or called from a condition script or d ata change script.
Errmsg=ChangePassword();
132
Securing InTouch InTouch HMI Application Management and Extension Guide
Remarks
The value for this tag is determined by the access level assigned to the currently logged-in user's security
profile within the InTouch HMI. This profile can be accessed using the Configure Users menu in
WindowViewer.
The actual numeric value of $AccessLevel has no meaning to WindowViewer, except that a value of
9000 or greater indicates administrative privileges and enables the Security menu within
WindowViewer. Use the $AccessLevel system tag to further customize security within the system.
Data Type
Integer (read only)
Valid Values
0 through 9999
Example(s)
The following statement is used for t he visibility link to make an object, such as a button, visible based on
the logged on user's access level:
$AccessLevel >= 2000;
{Objects can have a "disable" link associated with them, with the expression based
on $AccessLevel.}
$AccessLevel < 5411;
IF $AccessLevel <=500 THEN
Show "Access Denied"; {popup window denying access}
ELSE
Show "Access Granted"; {popup window granting access}
ENDIF;
See Also
$Operat or, $OperatorEntered, $PasswordEntered; $ConfigureUsers
133
Securing InTouch InTouch HMI Application Management and Extension Guide
See Also
$AccessLevel, $OperatorEntered, $PasswordEntered, $Operator, $Configur eUsers
Note: You can also show the Log On dialog box using the PostLogonDialog() function. For more
information, see PostLogonDialog() Function on page 136.
To log on to an application
1. On the Special menu, point to Security, and then click Log On. The Log On dialog box appears.
2. In the Name box, type your user name.
3. In the Pa ssword box, type your password.
134
Securing InTouch InTouch HMI Application Management and Extension Guide
4. Click OK.
135
Securing InTouch InTouch HMI Application Management and Extension Guide
Note: The $ConfigureUsers tag only works if the security type is set to InTouch. It does not work for
ArchestrA-based security.
PostLogonDialog() Function
Shows the InTouch Logon dialog box and returns TRUE.
Category
security
Syntax
DiscreteTag=PostLogonDialog();
Examples
DiscreteTag=PostLogonDialog();
See Also
InvisibleV erifyCredentials(), AttemptInvisibleLogon(), IsAssignedRole(), QueryGroupMembership(),
AddPermission()
LogonCurrentUser() Function
Logs on to InTouch with a user account that is currently logged on t o the Windows operating system.
InTouch configured with OS security: the user is logged on to WindowViewer.
InTouch configured with Arc hestrA security: the user must be a member of ArchestrA OS user-based
or OS group-based security.
InTouch configured with A rchestrA OS user-based or OS group-based security and the user account
is configured with smart card credentials: user is logged on using the smart card credentials. The
user is logged off if the smart card is removed from the reader.
Category
security
Syntax
IntegerResult = LogonCurrentUser();
136
Securing InTouch InTouch HMI Application Management and Extension Guide
Return Value
Returns -1 and no change to the values assigned to $Operator, $OperatorName, $OperatorDomain, and
$AccessLevel if the logon fails.
Remarks
This function is available only in InTouc h scripting, not in ArchestrA client scripting.
Example
IntegerResult = LogonCurrentUser();
See Also
PostLogonDialog(), InvisibleVerifyCredentials(), IsAssignedRole(), AttemptInvisibleLogon(),
QueryGroupMembership(), AddPermission()
Logoff() Function
Logs the user off from an InTouch application.
Category
security (write only)
Syntax
DiscreteTag = LogOff();
Remarks
Logs off the currently logged on user and sets the current user status to the default none operator.
Example
DiscreteTag = LogOff();
See Also
PostLogonDialog(), InvisibleVerifyCredentials(), IsAssignedRole(), AttemptInvisibleLogon(),
QueryGroupMembership(), AddPermission()
AttemptInvisibleLogon() Function
The AttemptInvisibleLogon() function can be used in a script to log on a user to InTouch using the
supplied credentials. The us er is not required to enter a password or user ID.
Category
security
Syntax
DiscreteTag=AttemptInvisibleLogon( "UserId", "Password", "Domain" );
Arguments
UserId
A valid user account name.
Password
Password of the user.
Domain
Name of the local c omput er, work group, or domain to which the user belongs. This argument applies
only if the current security type is operating system-based.
Return Value
Returns TRUE if authentication is successful. Otherwise, it returns FALSE.
137
Securing InTouch InTouch HMI Application Management and Extension Guide
Remarks
An attempt is made to log on to the InTouch HMI using the supplied credentials.
If the logon attempt succeeds, then TRUE is returned and the $OperatorDomain, $OperatorName,
$AccessLevel, and $Operator system tags are updated accordingly.
If the log on attempt fails, then FA LSE is returned, and the currently logged on us er (if any) continues
to be the current user.
The Domain argument is only valid for operating system-bas ed security. If ArchestrA security mode is in
use and if ArchestrA security is in turn using operating system-based security, the UserId argument
should contain the fully qualified user name with domain name or computer name.
Examples
When security is operating system-bas ed:
DiscreteTag=AttemptInvisibleLogon("UserId", "Password", "Domain" );
When security is either InTouch-based or ArchestrA-based:
DiscreteTag=AttemptInvisibleLogon("UserId", "Password", "" );
See Also
PostLogonDialog(), InvisibleVerifyCredentials(), IsAssignedRole(), QueryGroupMembership(),
AddPermission()
Note: When the $OperatorEntered system tag is valid, $Acces sLevel and $Operator system tags are set
to their pre-defined values.
Data Type
Message (write only)
See Also
$AccessLevel, $Operator, $PasswordEnt ered, $ChangeP assword, $ConfigureUsers
138
Securing InTouch InTouch HMI Application Management and Extension Guide
Remarks
The $PasswordE ntered system tag always reads as an empty string. Display links tied to this system tag
are always blank. Because the tag always returns an empty string, data change scripts never trigger off
of this tag. You can use this tagname to create a custom log-on window. You can link touch-sensitive
input objects and/or scripts to this tag to set the password for the user.
Note: When the $PasswordEntered is valid, the $AccessLevel and $Operator system tags are set to
their pre-defined values.
Data Type
Message (write only)
See Also
$AccessLevel, $Operator, $OperatorE ntered, $ChangePassword, $ConfigureUs ers
139
Securing InTouch InTouch HMI Application Management and Extension Guide
You can also control an object's touch functionality based upon the value of an internal security tag by
using the Dis able animation link. For example:
By using this expression, the object or button is secured from tampering if no one is logged on.
InvisibleVerifyCredentials() Function
The InvisibleVerify Credentials() function can be used in a synchronous QuickScript to verify the
credentials of the given user without logging the user on to the I nTouch HMI.
Category
security
Syntax
AnalogTag=InvisibleVerifyCredentials( "UserId", "Password", "Domain" );
Arguments
UserId
Windows operating system user account name that is part of local computer, work group, or domain.
Password
Password for the account.
Domain
The Windows domain for the account.
Remarks
If the supplied combination of user, password, and domain are valid then the corresponding access level
associated with the user is returned as an integer. Otherwise, -1 is returned.
Note: The InvisibleVerifyCredentials() function must be run from a synchronous QuickScript. The
function always returns -1 if run from an asynchronous QuickScript.
This function does not change the currently logged on user. The Domain argument is onl y valid for
operating system-based security. If ArchestrA security is in use and if ArchestrA security is in turn using
operating system-based security, the UserId argument should contain the fully qualified user name with
domain name or computer name.
Example
AnalogTag=InvisibleVerifyCredentials( "john", "Password", "corporate_hq" );
See Also
PostLogonDialog(), Attempt InvisibleLogon(), IsAssignedRole(), QueryGroupMembership(),
AddPermission()
140
Securing InTouch InTouch HMI Application Management and Extension Guide
GetAccountStatus() Function
Returns the number of days until the user’s password expires.
Category
security
Syntax
Result=GetAccountStatus(Domain, UserID);
Arguments
Domain
Name of the domain or local computer in which the us er account is located.
UserI D
Windows user account name that is part of the loc al computer, workgroup, or domain.
Return Value
This function also returns the following values:
Result Description
-4 Account disabled
Remarks
Use this script function wit h operating system-based security. Do not use this function with the ArchestrA
security mode.
If the GetAccountStatus() function is used with ArchestrA security, the script attempts to retrieve the
account information directly from the domain controller. This works as long as the ArchestrA Galaxy
Repository is using operating system security with the same domain.
Example(s)
Status = GetAccountStatus("Corporate_HQ","Operator");
IsAssignedRole() Function
Determines whether the currently logged on user is a member of the specified user role. Only applies to
ArchestrA security.
Category
security
Syntax
DiscreteTag=IsAssignedRole( "RoleName" );
Arguments
RoleName
The role associated with an Application Server us er.
141
Securing InTouch InTouch HMI Application Management and Extension Guide
Remarks
Valid for ArchestrA security mode only and applies to the currently logged on us er. If a user is currently
logged on and has the RoleName role assigned in the Galaxy IDE, then TRUE is returned. Otherwise,
FALSE is returned.
Example
DiscreteTag=IsAssignedRole( "Administrators" );
See Also
AttemptInvisibleLogon(), PostLogonDialog(), InvisibleVerifyCredentials(), QueryGroupMembership(),
AddPermission()
QueryGroupMembership() Function
Determines whet her the currently logged on user is a member of the specified user group. Only applies
to operating system security.
Category
security
Syntax
DiscreteTag=QueryGroupMembership( "Domain", "Group" );
Arguments
Domain
Name of the domain or local computer in which the group is located
Group
Name of the group.
Remarks
Valid for operating system security mode only and applies to the currently logged on us er. If a user is
currently logged on and if he or she is part of the group located on the domain, then TRUE is returned.
Otherwise, FALSE is returned.
The QueryGroupMembership() function works with operating system-based security and with ArchestrA
security only when the ArchestrA security is set to operating system-based security.
Examples
DiscreteTag=QueryGroupMembership( "corporate_hq", "InTouchAdmins" );
DiscreteTag=QueryGroupMembership( "JohnS01", "InTouchUsers" );
See Also
PostLogonDialog(), InvisibleVerifyCredentials(), IsAssignedRole(), AttemptInvisibleLogon(),
AddPermission()
142
Securing InTouch InTouch HMI Application Management and Extension Guide
Examples
IF $OperatorName <> "" THEN
{Configure some defaults}
ENDIF;
See Also
$Operat or
143
Securing InTouch InTouch HMI Application Management and Extension Guide
Remarks
When the $V erifiedUserName system tag changes (when the InvisibleVerifyCredentials() function is
called), an event is generat ed.
Data Type
Message (read only)
Valid Values
A user's full name.
Example(s)
Tag = InvisibleVerifyCredentials( "john","password" , "Plant_Floor");{ If the
call is successful, the $VerifiedUserName is set to "John Smith" and an Operator
Event is generated. If the above call is not successful, $VerifiedUserName is
set to "".}
See Also
InvisibleV erifyCredentials(); $OperatorName, $Oper ator
Operating System
Arche strA
InTouch Security Security Security
$ConfigureUsers Yes No No
AddPermission() No Yes No
ChangePassword() Yes No No
144
Securing InTouch InTouch HMI Application Management and Extension Guide
Operating System
Arche strA
InTouch Security Security Security
IsAssignedRole() No No Yes
145
InTouch HMI Application Management and Extension Guide
C HAPTER 8
Switching a Language at Run Time
In This Chapter
About Switching a Language at Run Time .................................................................................... 147
Configuring Languages for Run-time Language Switching ............................................................. 147
Changing the Font Settings for a Configured Language ................................................................. 148
Adding Run-Time Language Switching Functionality ..................................................................... 149
Exporting Application Text for O ffline Translation .......................................................................... 151
Exporting Text to an Existing Dictionary File ................................................................................. 152
Translating an Exported Dictionary File ........................................................................................ 153
Importing Translated Dictionary Files ........................................................................................... 154
Exporting Alarm Comments for Translation ................................................................................... 155
Exporting to an Existing Alarm Comment File ............................................................................... 156
Importing Translated Alarm Comments ........................................................................................ 158
Testing the Language Switching Functionality at Run Time ........................................................... 159
Distributing Localized Files to Net work Application Development Clients ........................................ 160
Note: If you are using language switching in combination with Network Application Developme nt (NAD),
we recommended that you set the change mode to "Restart WindowViewer" or "Prompt user to restart
WindowViewer" instead of "Load changes into WindowViewer" or "Prompt user to load changes into
WindowViewer" for the NAD client node.
147
Switching a Language at Run Time InTouch HMI Application Management and Extension Guide
2. On the Special menu, point to Language, and then click Configure Languages. The Configure
Languages dialog box appears.
The Configure Languages dialog box shows the base language of the application.
3. Click Add. The Add Language dialog box appears.
4. Specify the language and font settings. Configuring the font settings defines the default font
properties of your translated text.
o In the By Name or the Locale ID list, click the language to add. If you select the language by
name, the corres ponding locale ID appears in the Locale ID list, and vic e versa.
o Click Font. The Font dialog box opens. Configure the font and then click OK.
5. Click OK to close the Add Language dialog box. The language you configured is listed in the
Configure Languages dialog box.
148
Switching a Language at Run Time InTouch HMI Application Management and Extension Guide
2. On the Special menu, point to Language, and then click Configure Languages. The Configure
Languages dialog box appears.
3. In the list of languages, select the target language, and then click Modify Font. A standard Windows
Font dialog box appears.
4. Make your changes and then click OK.
5. Click OK to close the Configure Languages dialog box.
149
Switching a Language at Run Time InTouch HMI Application Management and Extension Guide
5. In the Touch Pushbuttons area, click Action. The Touch -> Action Script dialog box appears.
6. Double-click anywhere in the script area of the Touch -> Action Script dialog box. The Select Tag
dialog box appears.
Note: You can also us e the script function SwitchDisplayLanguage(LocaleID) instead of the $Language
tag.
150
Switching a Language at Run Time InTouch HMI Application Management and Extension Guide
SwitchDisplayLanguage() Function
Switches the display of visible, static texts and alarm fields in a desired language for which translated
strings are provided.
Category
misc
Syntax
SwitchDisplayLanguage(LocaleID);
Parameter
LocaleI D
The language in which static text strings and alarm fields are to be shown at run time.
Example(s)
In this example, German is the language to be shown at run time.
SwitchDisplayLanguage(1031);
See Also
$Language system tag
151
Switching a Language at Run Time InTouch HMI Application Management and Extension Guide
You cannot export the dictionary until you close all windows in WindowMaker. If you make changes to
your application after you export your dictionary files, you must export the dictionary file again. For more
information, see Exporting Text to an Existing Dictionary File on page 152.
You can only export the text strings for one language at a time. By default, the InTouc h HMI opens the My
InTouch Applications folder. If you choose any other folder, the InTouch HMI then defaults to that path.
Creating a new folder to export phrases for each language makes it easy to manage dictionary files. For
example, ...\My InTouch Applications\My German Files\.
The InTouch HMI creates a dictionary file for your application and a separate dict ionary file for each
SmartSymbol within the application. The application dictionary name has a format of application
name_localeID whereas SmartSymbol dictionary files have a format of SSD_Name of the
Symbol_localeID_GUID.
When you export the dictionary for an application, the file is an .xml file that you can edit using Microsoft
Excel 2003 or later.
To export application text for offline translation
1. Start WindowMaker and open the application for which you want export text strings for o ffline
translation.
2. On the Special menu, point to Language, and then click Export Dictionary. The Export Dictionary
dialog box appears.
152
Switching a Language at Run Time InTouch HMI Application Management and Extension Guide
If you click Yes, the existing .xml files are updated with any new strings and language information added
since you export ed last. If the existing dictionary file contains translations for any phrases and you
imported it to the InTouch HMI previously, those translations are preserved. If you deleted any phrases
from the application since the last export, they are removed from the dictionary file.
3. Click OK.
The XML file opens in Excel with columns for the:
o Phrases in your application.
o Translat ed phras es from the translator.
o Translat ed font name.
o Translat ed font properties.
o Translat ed font size.
o Base font properties.
o Base font size.
o Cont ext, phrase ID, language ID and foreign language ID.
153
Switching a Language at Run Time InTouch HMI Application Management and Extension Guide
4. Type the language-specific text in the Translation column in the row that corresponds with the base
language string in the Phrase column.
5. If necessary, change the font parameters for the translated strings to fit the text in the space allowed
in WindowViewer.
o In TranslatedFontName column, type the font name.
o In the TranslatedFontP roperty column, type the not ation for the font properties:
B = bold
I = italic
U = underline
For example, if you want to the text to be bold, type B in the TranslatedFontProperty column. If
you want the text to be bold and underlined, type BU in the TranslatedFontProperty column.
6. Save the file using XML Data as the file type.
Important: If you save as another file type, such as XML Spreadsheet, Excel changes the schema and
the InTouch HMI cannot load the file. If you change the name of the XML file, run-time language
switching does not work.
154
Switching a Language at Run Time InTouch HMI Application Management and Extension Guide
Caution: Before exporting alarm and tag comments, back up any files in your target directory in case of
possible dat a corruption or errors.
155
Switching a Language at Run Time InTouch HMI Application Management and Extension Guide
2. On the Special menu, point to Language, and then click Export Alarm Fields. The Export Alarm
Fields dialog box appears.
3. In the Path box, type the folder to which you want to export the dictionary. Click Browse to select an
existing folder or create a new folder.
4. In the Two characters representing Unique application box, type the two characters. The ID can
only contain alphanumeric characters and it is case-sensitive.
Caution: If you previously exported alarm or tag comments from this application, you must use the same
two-character application ID when you export them the next time. If you enter a new two -character
application ID, the InTouch HMI regenerates the IDs for all the alarms and tags, which causes all existing
translations to be lost.
Note: If the size of the alarm comment configured in the t ag dictionary is greater than 127 characters
or the tag comment is greater than 46 characters, the alarm or tag comment is not exported. You are
notified that the comment was not exported to the dictionary file at the end of the export process and
an AlarmComment.log or TagComment.log file is created in the export directory.
6. Click Close to return to the WindowMaker window or click Close and Launch Explorer to open the
folder containing the dictionary file.
156
Switching a Language at Run Time InTouch HMI Application Management and Extension Guide
Click Yes to update the existing dictionary files wit h any new strings and language information added
since you export ed last. If the existing dictionary file contains translations for any phrases and you
imported it to InTouch previously, those translations are preserved. If you deleted any phrases from the
application since the last export, they are removed from the dictionary file.
Click Yes to All to update existing dictionary files for all languages configured in the InTouch HMI.
Click No or No to All to prevent overwriting the existing file or the existing files for all languages,
respectively.
The existing translations for any alarm comments, alarm fields and tag comments are preserved if they
are exported again.
Enter the translation for the translation strings. Do not change any of the other information.
You can override some of the Alarm State, Alarm Type, and Alarm Class values. The maximum allowed
length for these values is 50 characters.
The following Alarm State values can be overridden for InTouch generated alarms:
ACK_RTN ACK_RTN
ACK_ALM ACK_ALM
The following Alarm Type values can be overridden for InTouch generated alarms:
SPC SPC
157
Switching a Language at Run Time InTouch HMI Application Management and Extension Guide
HIHI HIHI
HI HI
LO LO
LOLO LOLO
MINDEV MINDEV
MAJDEV MAJDEV
ROC ROC
DSC DSC
OPR OPR
LGC LGC
DDE DDE
SYST SYST
USER USER
PRO PRO
LOGON_FAILED LOGON_FAILED
The following Alarm Class values can be overridden for InTouch generat ed alarms:
DEV DEV
ROC ROC
DSC DSC
EVENT EVENT
VALUE VALUE
158
Switching a Language at Run Time InTouch HMI Application Management and Extension Guide
To import multiple dictionary files from other nodes to support localization of alarm fields from multiple
nodes, copy the translated dictionary files from the ot her nodes into a single directory. Select this
directory as the import path. Multiple dictionary files are imported on a single import operation. The
InTouch HMI automatically creates the file path based on the language being imported.
To import a translated alarm comment file
1. Start WindowMaker and open the application to import translated dictionary files into.
2. On the Special menu, point to Language, and then click Import Alarm Fields. The Import Alarm
Fields dialog box appears.
3. In the Path box, type the path to the dictionary file to import or click Browse to browse and select the
file.
4. Click Import. If there is no translation done in the dictionary file, a dialog box appears saying that
there are no translated dictionary files to import.
5. Click OK. If the import is successful, the Import Successful dialog box appears.
159
Switching a Language at Run Time InTouch HMI Application Management and Extension Guide
The unique IDs for the alarm fields such as EVENT and ACK, are predefined and have the same ID
across multiple dictionary files in different nodes. Alarm clients pick the translation from the first
loaded dictionary file and the translations from other dictionary files are ignored. Ideally, the alarm
fields in all dictionary files should have the same trans lation in a language. Multiple alarm clients
(Alarm DB View and Alarm Viewer controls) use the same translation for the same alarm state for a
given language
Translat ed text is truncated to 131 characters for alarm comments and to 50 characters for tag
comments.
To test the language switching functionality
1. Open the application in WindowViewer.
2. On the Special menu, point to Language, and then click the name of the language to switch to.
The information from the corres ponding translated dictionary file (if one exists) loads and appears.
3. If you added a button to switch the language, click the button to test the script.
160
InTouch HMI Application Management and Extension Guide
C HAPTER 9
Viewing Applications at Run Time
In This Chapter
About Viewing Applications at Runtime ........................................................................................ 161
Viewing Applications at Run Time in a Different Target Resolution Size ......................................... 161
Original Application Resolution .................................................................................................... 163
About the InTouch Web Client ..................................................................................................... 163
About WindowViewer .................................................................................................................. 163
About InTouchView Applications .................................................................................................. 180
161
Viewing Applications at Run Time InTouch HMI Application Management and Extension Guide
For example:
Note: If the specified target res olution is less than the screen res olution, the width and height of the
runtime window cannot be adjusted beyond the specified target resolution. Maximizing the
WindowViewer window will enlarge it only to the maximum of the target res olution.
If the specified target resolution is greater than the screen resolution, vertical and horizontal scroll bars
will display at run time. Windows will scroll accordingly. Popup windows and popup graphics from
ShowSymbol animations and ShowGraphic scripts will not be scrolled.
Error messages and popup dialogs will display in the center of the a pplication at its target resolution, not
the center of the screen. The same applies to keyboards and keypads.
162
Viewing Applications at Run Time InTouch HMI Application Management and Extension Guide
About WindowViewer
WindowViewer provides the run-time environment for InTouc h applic ations. Based upon your
application’s operational requirements, you can configure how WindowViewer supports an application.
For example, depending on your application’s security requirements, you can configure the menus and
commands available to operators from WindowViewer.
Note: Close WindowViewer before changing the Regional Formats of the Operating System.
1. Open WindowMaker.
2. On the Special menu, point to Configure, and then click WindowViewer. The WindowViewer
Properties dialog box appears.
163
Viewing Applications at Run Time InTouch HMI Application Management and Extension Guide
164
Viewing Applications at Run Time InTouch HMI Application Management and Extension Guide
o In the Update for Time Variables box, type the interval in milliseconds that time is updat ed for
system tags like $Msec, $Second, or $Minute.
We recommend that you use the default setting of 1000 milliseconds. Setting this option to zero
prevents time variables from being updated.
8. In the Mi scellaneous area, do the following:
o Select Beep when objects touched if you want the InTouch application to emit a beep sound
when operators select touch-sensitive objects on a window.
o Select Update all trends "Fa st" if you want your trend objects to be updated more quickly.
Select this option only if no objects overlap run -time trends on the application window. If you
select this option and any object overlaps a trend, the object can be drawn incorrectly.
o Select Debug Scripts if you want a message to be written to the Logger each time a QuickScript
runs.
If you select Debug from the Window Configuration property sheet, you can switch
QuickScript logging on and off from WindowViewer's Special menu.
o Select the Use old SendKeys check box if you are using an international application developed
with InTouch version 3. 26 or earlier.
9. In the Blink Frequency area, type the interval length in milliseconds for your Slow, Medium, and
Fast blink animation links.
10. In the I/O area, do the following:
o In the Retry Initiates box, type the number of seconds to wait before the InTouc h application
retries connecting to an I/O Server after a failed connection attempt. The I/O Retry Initiates box
has no effect when InTouch can successfully connect to the I/O server the first time.
o Select the Start local servers check box if you want a dialog box to appear when you start
WindowViewer and the I/O Server you are trying to communicate with is not running.
o Select the Reinitialize Default check box if you want to reinitialize Access Names with their
default settings. Current values assigned to Access Names are ignored and they are reinitialized
with their original settings.
11. In the Hotlinks area, do the following:
o Select the Show Halo around Hotlink check box if you want an object on the run time screen to
be highlighted when the user moves the cursor over it.
o Select the Halo follows object shape check box if you want a highlight halo around the
contours of an object when the user moves the cursor over it.
o If you want a halo around Active X controls, select the Show halo around Active X control
check box.
12. In the Keyboard area, select the type of keyboard you want to use, if any.
For more information about setting keyboard options in WindowViewer, see Animating Objectsin the
InTouch® HMI Visualization Guide.
13. Click OK.
165
Viewing Applications at Run Time InTouch HMI Application Management and Extension Guide
4. Restart WindowViewer.
166
Viewing Applications at Run Time InTouch HMI Application Management and Extension Guide
The Remote Acce ss Properties dialog box appears with options to grant Read/Write or Read Only
access to the application open in WindowMaker. Read/Write access is the default.
167
Viewing Applications at Run Time InTouch HMI Application Management and Extension Guide
168
Viewing Applications at Run Time InTouch HMI Application Management and Extension Guide
b. In the Memory Limit for High Priority Windows box, enter the limit for keeping closed
high-priority windows in cac he memory at run time. Th e default memory limit is 90%. The system
removes the oldest in-memory window first, and then removes the oldest high -priority window
when the percentage of used memory exceeds this limit at run time.
c. In the High Priority Windows box, select the windows you want to mark as high priority.
5. Click OK.
Caution: Modify the wwHeap memory settings only if you are experiencing memory conflicts reported in
the SMC Logger.
You can configure the wwHeap Memory settings by specifying the wwHeap size and start location. The
default size, default start location, and allowable location range vary by operating system.
The default sizes are described in the following table:
32-bit 1519 MB
64-bit 2048 MB
The default locations and allowable loc ation ranges are described in the following table:
169
Viewing Applications at Run Time InTouch HMI Application Management and Extension Guide
Default Start
Operating System Location Allowable Range
4. Do the following:
o In the Size box, enter the size of the wwHeap memory. You can enter any value between 1 MB
and 2048 MB.
o In the Start Location box, enter the start address.
5. To restore the default values, click Restore Default.
6. Click OK.
170
Viewing Applications at Run Time InTouch HMI Application Management and Extension Guide
3. In the Real Formatting Decimal Precision area, enter the number of decimal places that you want
to be shown at run time for eac h real type number range.
4. In the Special Characters to Show at Runtime area, do the following:
o In the Bad Quality with No Value box, enter the character you want to be shown at run time
when the quality of the data point is bad and there is no last known good value. The default
character is !. You can enter any ASCII character, except a space.
o In the Value Too Large for Fixed Width box, enter the character you want to be displayed at
run time when the value is too large to be displayed. The default character is *. You can enter
any ASCII character, except space.
5. To show numbers within ArchestrA graphics in the format of the country specified by computer’s
Region setting, select the checkbox in the Regional Settings area.
6. To restore the default values, click Restore Default
171
Viewing Applications at Run Time InTouch HMI Application Management and Extension Guide
When WindowViewer starts, the system checks if the computer has multiple processors and which
processors are allowed to run WindowViewer instances. WindowViewer then checks the processors
sequentially and starts running on the processor that has the least number of View instanc es running on
it.
If you have administrative privileges to access the Performance tab, you can configure the "pool" of
processors from which WindowViewer selects the processor to run on.
You set the core affinity for WindowViewer within Application Manager. A void using Task Manager to
manually adjust the core affinity for WindowViewer, as the WindowViewer core selection process does
not take into consideration the core affinity settings configured in Task Manager.
To configure the processor "pool"
1. Start Application Manager.
2. On the Tool s menu, click Node Properties. The Node Properties dialog box appears.
172
Viewing Applications at Run Time InTouch HMI Application Management and Extension Guide
You can clear a selected processor at any time and select a new processor from the list. You can
also select multiple processors at a time. If you clear a processor check box, the WindowViewer
instance continues to run on that processor.
6. Click OK. WindowViewer starts on the next CPU based on the other View sessions.
173
Viewing Applications at Run Time InTouch HMI Application Management and Extension Guide
Click Details to change from the list view to the details view. The det ails show the window's type and the
date and time when a window was last modified.
In the details view, you can select and deselect any unopened window by clicking on any portion of its
row, not just the check box. The entire row is highlighted when selected.
To open selected windows click OK.
To cancel your selections and close the dialog box, click Cancel.
To return the dialog box to list view, click List.
To select all listed windows, click Select All.
To clear all selected windows, click Clear All.
To sort the list in ascending or descending order, click the column header.
2. Click the check box next to the name of each window that you want to open.
3. Click OK to close the dialog box and open windows you selected.
Note: If a "Replace" type window is selected, it closes any windows that it intersects.
174
Viewing Applications at Run Time InTouch HMI Application Management and Extension Guide
2. Click the check box next to the name of one or more windows that you want to close.
3. Click OK to close the windows you selected.
2. Click the check box next to the name of each window that you want to open when you trans fer to
WindowMaker.
3. Click OK to close the dialog box and transfer to WindowMaker.
Note: If the application developer selected the Close WindowViewer option when WindowViewer's
properties were configured during development, WindowViewer automatically closes when you transfer
to WindowMaker.
175
Viewing Applications at Run Time InTouch HMI Application Management and Extension Guide
Working with Keyboard, Mouse and Touch Gestures to Pan and Zoom
at Run Time
Frame windows allow you to pan and zoom on ArchestrA Graphics at run time. This functionality is
enabled by the InteractionMode property in WindowMaker.
See the InTouch HMI Visualization Guide for additional information on configuring frames in
WindowMaker.
When ZoomPercent is set for a symbol, the symbol will be zoomed to t he set percent at the c enter of the
viewable area.
When ZoomPercent is set for a symbol’s element, the symbol will be zoomed to the set percent but will
center on the element.
The following script is an example of ZoomPercent set for an element:
TextBox1.ZoomPercent = 500
To zoom with mouse gestures:
Do the following
Press the "Ctrl" key and scroll up wit h the mous e wheel to zoom in on the frame contents. The
contents will zoom in from the current position of the mouse pointer.
Note: You cannot zoom in on the frame contents if your mouse point er is outside the frame.
Scroll down with the mouse wheel to zoom out on the frame contents.
176
Viewing Applications at Run Time InTouch HMI Application Management and Extension Guide
Select the zoom in and zoom out icons from the Pan and Zoom Control Toolbar. You must then left
click on the contents of the frame to zoom in.
Double left mous e click on the frame contents to restore the zoom level to 100%
Use the Zoom Level combobox to select a predefined zoom level:
Select the Rubber Band Zoom icon from the Pan and Zoom Control Toolb ar to select a specific area
to zoom in on.
To zoom with keyboard gestures:
Do the following:
Press "Ctrl" and "+" keys together to zoom in
Press "Ctrl" and "-" keys together to zoom out
To zoom with touch gestures:
Do the following:
Place two fingers on the screen and expand them to zoom in
Place two fingers on the screen and contract them to zoom out
177
Viewing Applications at Run Time InTouch HMI Application Management and Extension Guide
178
Viewing Applications at Run Time InTouch HMI Application Management and Extension Guide
Note: ArchestrA Graphic pop ups shown by the ShowSymbol animation or ShowSymbol script function
will have pan and zoom enabled by default. However, you cannot disable this configuration.
The following table lists action scripts commonly configured for touc h support.
Note: When touch interaction is used on an area wit h animation, the animation will t ake precedence over
panning actions and panning actions will be ignored. If one finger retains touc h interaction, any
subsequent touch points will be ignored.
To enable panning in this scenario,select the Pan icon in the Pan and Zoom Toolbar.
Touch Gesture Limitations
Some limitations apply to touch gesture functionality for run time panning and zooming. The below
functionality is not supported:
Scaling fonts for Windows Common Cont rols
Note: Additionally, a symbol with an embedded windows control uses different mechanisms for scaling
than a symbol without a cont rol. A symbol with an embedded control has a maximum zoom limitation of
500%, while a symbol without a control can zoom up to 5000%. The advant age of a symbol without a
control is smoother scaling. An additional limitation of using symbols with embedded controls is, while
zooming is in progress, the control will flicker. This is particularly visible while zooming wit h touch
gestures.
179
Viewing Applications at Run Time InTouch HMI Application Management and Extension Guide
180
Viewing Applications at Run Time InTouch HMI Application Management and Extension Guide
You run an InTouchView application as you would an InTouch application. Simply start the application in
WindowViewer.
181
Viewing Applications at Run Time InTouch HMI Application Management and Extension Guide
Important: You must remove all Access Names other than Galaxy before converting an InTouch
application to InTouc hView. If they are not removed, a message is shown during the conversion attempt.
InTouchView Licensing
See InTouchView Licensing for det ails on InTouchView Application licensing.
182
InTouch HMI Application Management and Extension Guide
C HAPTER 10
Setting Up a Multi-Monitor System
In This Chapter
About Setting Up a Multi-Monitor System ..................................................................................... 183
Multi-Monitor Configurations ........................................................................................................ 183
Planning a Multi-Monitor Application ............................................................................................ 186
Developing a Multi-Monitor InTouc h Application............................................................................ 188
Deploying the Application and Verifying Multi-Monitor Settings ...................................................... 189
Multi-Monitor Configurations
You can use two basic multi-monitor configurations.
Single video card
Multiple video card
Each configuration has unique hardware, software, and configuration requirements. Also, each
configuration supports a different set of multi-monitor features.
183
Setting Up a Multi-Monitor System InTouch HMI Application Management and Extension Guide
The composite screen resolution is the sum of the individual horizontal and vertical resolution of each
monitor. For example, a popular video card connects four 17 inch monit ors stacked as a c ube: two on the
bottom and two on the top. In the previous figure, each monitor runs at a screen resolution of 800 x 600
pixels. The composite virtual screen resolution is 1600 x 1200 pixels.
In this figure, the resolution setting is for four monitors arranged side by side in a single row. The
resolution for each monitor is 1024 x 768. Added together, the composite screen res olution is 4096 x
768. You only need to configure a single monitor’s res olution, color depth, and refresh rate. The
resolution setting applies to all monitors connected to the single video card.
184
Setting Up a Multi-Monitor System InTouch HMI Application Management and Extension Guide
You click a numbered rectangle in the Di splay Properties dialog box to select the monitor you want to
configure. You arrange the numbered rectangles to match the physical placement of the monitors.
Screen resolution, color depth and refresh rate apply only to the monitor you select.
185
Setting Up a Multi-Monitor System InTouch HMI Application Management and Extension Guide
186
Setting Up a Multi-Monitor System InTouch HMI Application Management and Extension Guide
Use the WindowMaker Window Properties dialog box to modify the characteristics of a window. You
right-click on the name of the window listed in WindowMaker’s Windows &Scripts pane, and then click
Properties in the shortcut menu to show the Window Properties dialog box.
The X Location and Y Location values determine the horizontal and vertical pixel placement of a
window’s top left corner on a screen. The origin of horizontal and vertical pixel scales is at the top left
corner of a screen.
The Window Width and Window Height settings determine the overall size of the window. For
example, you can configure a window with the following settings:
X location = 1024
Y location = 0
Window Width = 1024
Window Height = 768
The multi-monitor configuration consists of four monitors arranged in a single horizont al row. Each
monitor has a resolution of 1024 X 768. The overall composite screen resolution is 4096 X 768.
By setting the window’s horizontal origin to 1024 and vertical origin to 0, you force this window to appear
on the second monit or during run time. The window covers the entire screen surface of the second
monitor.
187
Setting Up a Multi-Monitor System InTouch HMI Application Management and Extension Guide
In this configuration popup windows are used which can be easily moved to any monitors, regardless of
the main WindowViewer parent window location. P opup windows do not have to remain wit hin the parent
WindowViewer window. You can shrink the size of the main window and move it to a corner of a monitor,
allowing all the popup windows to be mo ved freely to the monitors of choice.
Parameter Description
For example, if you want to show your InTouc h application with a screen resolution of 2560 x 1024
on two horizontal monitors, enter the following:
[InTouch]
MultiScreen=1
MultiScreenWidth=1280
MultiScreenHeight=1024
188
Setting Up a Multi-Monitor System InTouch HMI Application Management and Extension Guide
The ScaleForResolution parameter value determines whether application windows (*.win) are
automatically scaled by WindowMaker after the display resolution changes on the computer running
WindowViewer. The ScaleForResolution parameter does not affect the resolution of WindowViewer
dialog boxes.
To configure screen resolution conversion on a node
1. Edit the InTouch.ini file of the computer running InTouch.
2. Add the ScaleForResolution parameter to the file.
ScaleForResolution=1
When set to 0, resolution conversion is disabled.
When set to 1, resolution conversion is enabled.
Note: If the ScaleForResolution parameter is not added to the InTouch.ini file, the default value is
enabled (ScaleForResolution=1). When you disable the parameter (ScaleForResolution=0), you are still
prompted to convert the res olution. But, the resolution conversion does not occur.
Important: It is recommended that you make a backup copy of the application befor e moving it to an
different environment.
For example, if an application is developed on a computer with a single monitor with a resolution of 1024
x 768 and is intended to run on a system with four monitors in a side-by -side configuration with a total
resolution of 4096 x 768, this requires an application conversion.
When you deploy the application on the multi-monitor system, a message appears prompting you to
convert the application.
If the ScaleForResolution .ini setting is configured, you still see this message but the application is not
converted and can then be run as designed. Simply click Yes to continue startup.
If the .ini s etting is not configured, the InTouch HMI converts and scale all of the graphics and windows in
the application to the new resolution. Doing so stretches and enlarge all windows and graphic displays,
thus creating some unwanted results.
Important: Make sure that the multi-monitor Win.ini parameter settings are also configured on the
destination computer before running your application. Win.ini settings do not automatically transfer wit h
an InTouch application.
189
Setting Up a Multi-Monitor System InTouch HMI Application Management and Extension Guide
The following example shows an example of a QuickScript statement with the value of the
WWMultiMonitorNode() function assigned to an InTouch integer tag. The QuickScript can be set to run
when the application starts in WindowViewer.
{MultiMonitors defined as an integer tag}
MultiMonitors = WWMultiMonitorNode();
{After executing this function Result = 4}
WWMultiMonitorNode() reads the MultiScreen parameter specified in the node’s Win.ini file. The
WWMultiMonitorNode() function returns either a 0 or a positive integer.
0 return value
WWMultiMonitorNode() returns a 0 if MultiScreen=0 or if the MultiScreenWidth or MultiScreenHeight
parameters are set incorrectly to 0 in the [InTouch] section of the Win.ini file.
Positive integer return value
WWMultiMonitorNode() returns the number of monitors in the multi-monitor configuration if
MultiScreen= 1 and the MultiScreenWidth and MultiScreenHeight parameters have been assigned
correct screen resolution values.
190
InTouch HMI Application Management and Extension Guide
C HAPTER 11
Using InTouch on a Tablet PC
In This Chapter
About Using InTouc h on a Tablet PC ........................................................................................... 191
Annotating and Sending Visualiz ation Screens as E-mail Messages .............................................. 191
Changing Screen Orient ation....................................................................................................... 194
Operators can write notes and annotate a running InTouc h application with direct observations about
their actual plant processes.
191
Using InTouch on a Tablet PC InTouch HMI Application Management and Extension Guide
The AnnotateLayout () function takes a screen capture of the visible portion of the active InTouch
window. The captured screen appears in the Annotate Layout dialog box.
The Annotate Layout dialog box contains a toolbar and menu options. The dialog box shows the screen
capture in its client area. You can annotate the image using various drawing tools, and save, print, or
send the screen capture in an e-mail message.
Each of thes e tools has certain options such as size, color, or transparency.
To set these options, click the downward arrow next to each tool’s icon and then click the command
for the option.
To restore these options to their default settings, on the Tool s menu, click Restore Defaults.
192
Using InTouch on a Tablet PC InTouch HMI Application Management and Extension Guide
o To delet e all annotations on a window, on the Edi t menu, point to Clear and then click All.
o To delet e annotations that you selected using the lasso, on the Edit menu, point to Clear and
then tap Selection.
AnnotateLayout() Function
Shows the Annotate Layout dialog box, where you can annotat e the current view screen from where
this script function is called. This function is only supported on the Windows XP Tablet PC Edition
operating system.
Category
System
Syntax
AnnotateLayout()
Remarks
When Annotate Layout dialog box appears, the screen image of WindowViewer is captured. Use the
dialog box to:
Annotate the screen capture using the pen in conjunction with tool bar and menu item settings.
Save the image and the annotation as a .gif or .jpeg file.
Print the image and the annotation (if a printer is configured).
Send the image and the annotation as an attachment of an e-mail message (if SMTP is configured).
193
Using InTouch on a Tablet PC InTouch HMI Application Management and Extension Guide
194
InTouch HMI Application Management and Extension Guide
A PPENDIX A
Customizing Applications Settings from the
INTOUCH.ini File
The first time you run an InTouch application, the INTOUCH.ini file is creat ed in the application folder.
When the INTOUCH.ini file is creat ed, values are assigned to a set of parameters that determine the
operating characteristics of an individual InTouch application.
As you continue configuring your application from WindowMaker or WindowViewer, new INTOUCH.ini
parameters are created or existing p arameters are modified. For example, when you configure logging
from the WindowMaker Hi storical Logging Properties dialog box, logging paramet ers are added to the
INTOUCH.ini file.
Other configuration paramet ers must be manually added to the INTOUCH.ini fi le.
After you customize your application, you can copy the INTOUCH.ini file to a different application's
folder. This way, you can create consistent operating characteristics for your applications without having
to repeat all customization steps.
In This Appendix
Custom INTOUCH.ini Parameters ................................................................................................ 195
ForceLogCurrentValue Determines whet her the current value of logged tags are
written to the Historical Log file at an interval set by the
ForceLogging parameter.
ForceLogging Sets the length of the interval when tag values are
periodically written to the Historical Log file regardless of
their current values.
195
Customizing Applications Settings from the INTOUCH.ini File InTouch HMI Application Management and Extension Guide
PrintWindowWait Sets the wait period before printing an InTouch window from
WindowViewer.
196
Customizing Applications Settings from the INTOUCH.ini File InTouch HMI Application Management and Extension Guide
197
Customizing Applications Settings from the INTOUCH.ini File InTouch HMI Application Management and Extension Guide
198
Customizing Applications Settings from the INTOUCH.ini File InTouch HMI Application Management and Extension Guide
Resizing the Input Fields of Analog and String User Input Links
You can add the Resizable InputLink parameter to the INTOUCH.ini file to resize the input box of the
Analog or String user input links with your mouse. The Resizable InputLink parameter must be set to a
non-zero value.
After the Input field is resized the first time, WindowViewer adds the Resizable InputLink Width and
Resizable InputLink Height parameters to the INTOUCH.ini file. These parameters specify the width and
height of Input boxes in pixels.
Example:
Resizable InputLink = 1
Resizable InputLink Width=300
Resizable InputLink Height=50
Also, you can edit the INTOUCH.ini file to manually modify the values assigned to thes e paramet ers.
199
Index
$
$AccessLevel system tag • 132
$ApplicationChanged system tag • 48
$ChangePassword system tag • 133
$ConfigureUsers system tag • 129, 134, 135
$InactivityTimeout system tag • 115
$InactivityTimeout system tagIXInactivityTimeoutsystemtag • 114
$InactivityWarning system tag • 115
$InactivityWarning system tagIXInactivityWarningsystemtag • 114
$Language system tag • 149, 151
$Operat or system tag • 135, 139
16PenTrendDrawMode parameter • 198
$Operat orEnt ered system tag • 138
$PasswordEntered system tag • 135, 138
1
16PenTrendDrawMode parameter • 198
A
AnnotateLayout() function • 191, 193
Application Manager
modifying an application • 27
opening an application with WindowViewer • 27
starting the ArchestrA IDE • 24
Application Publisher
description • 29
applications
configuring for run-time language switchingIXapplicationsconfiguringforruntimelanguageswitching •
147
creating for InTouchViewIXapplicationscreatingforInTouchView • 181
extending overviewIXapplicationsextendingoverview • 21
logging remote referenced tags • 197
securing in a Terminal Services environment • 54
task management oveview • 21
ArchestrA
format of numbers within graphics • 170
master user acccountIXArc hestrAmasteruseracccount • 64
architectures
client-bas ed • 36
Network Application Development IXarchitectures Net workApplicationDevelopment • 37
server-based • 36
B
beep sound for objects • 163
blinking speeds • 163
C
ChangePassword() function • 132
client-bas ed arc hitecture • 36
closing WindowViewer on transfer to WindowMak er • 163
closing/opening windows • 174
commands
Net Start view • 63
Net Stop view • 63
Notify ClientsIXcommandsNotifyClients • 37
unavailable from InTouchView • 180
core affinity • 171
D
DBDump
description • 67
exporting tags • 67
viewing contents of exported file • 68
DBLoad
creating input file • 70
description • 67
input file • 69
IOAccess keyword • 73
mode keywordIXDBLoadmodekeyword • 71
debugging scripts • 163
DRCSee Dynamic Resolution Conversion • 50
E
event logs
logging remote referenced tags • 197
F
Fast Switch • 163
files, INTOUCH.ini • 25
ForceLogCurrentValue parameter • 196
ForceLogging parameter • 196
functions
AddPermission() function • 121, 131
AnnotateLayout() function • 191
AttemptInvisibleLogon() function • 137
EnableDisableKeys() function • 116, 117
GetAccountStatus() function • 141
GetNodeName() function • 54
HTSetPenName() function • 43
HTUpdateToCurrent Time() function • 40
InvisibleV erifyCredentials() function • 140
IOReinitialize() function • 55
IOSetAccessName() function • 38
IsAssignedRole() function • 141
Logoff() function • 137
PostLogonDialog() function • 134, 136
QueryGroupMembership() function • 142
SwitchDisplayLanguage() function • 149
TseGetClient Id() function • 54, 56
TseGetClientNodeName() function • 57
TseQueryRunningOnClient () function • 57
TseQueryRunningOnConsole() function • 57
WWMultiMonitorNode() function • 189
G
Galaxy
restrictions for InTouchView applications • 180
GetAccountStatus() function • 141
H
historical logging
restrictions for InTouchView applications • 180
setting logging frequency • 196
I
inactivity time-out IXinactivitytimeout • 114
INTOUCH.ini file
custom parameters • 195
InTouchView
creating an applicationIXInTouchViewcreatinganapplication • 181
description • 161
WindowMaker restrictions • 180
IOAccess keyword • 73
K
keywords
GroupVar keyword • 96
IndirectAnalog keyword • 98
IndirectMsg keyword • 98
IODisc keyword • 85
MemoryDisc keyword • 84
MemoryMsg keyword • 95
TagID keyword • 97
L
language switching
configuringIXlanguageswitchingconfiguring • 147
LoopTimeout parameter • 197
M
Mode keywordIXModekeyword • 71
multi-monitor system
description • 183
single video card configurationIXmultimonitorsystemsinglevideoc ardconfiguration • 184
N
NADSee Network Application Development • 37
Net Start view command • 63
Net Stop view command • 63
Network Application Development
descriptionIXNet workApplicationDevelopmentdescription • 37
network architectures
server-based • 36
single computer • 35
supported types • 35
NoKeyboardResize parameter • 198
Notify Clients command • 37, 49
number format • 170
O
objects
blink speed • 163
objects, blink speed • 163
oldrightmousebehavior parameter • 197
opening/closing windows • 174
P
parameters
16PenTrendDrawMode • 198
CommentRetentive • 198
ForceLogCurrentValue • 196
ForceLogging • 196
LoopTimeout • 197
MultiScreen • 188
MultiScreenHeight • 188
MultiScreenWidt h • 188
NoKeyboardResize • 198
oldrightmousebehavior • 197
PrintScreenWait • 198
PrintWindow • 198
Resizable InputLink • 199
ScaleForRes olution • 197
PrintScreenWait parameter • 198
PrintWindow parameter • 198
processors • 171
R
Region setting • 170
ReloadWindowViewer() function • 49
RESET command • 99
Resizable InputLink parameter • 199
RestartWindowVi ewer() function • 49
run time
customizing • 163
Fast Switch • 163
run time, customizing for InTouchView • 163
S
ScaleForRes olution parameter • 189
scripts
setting loop timeout limit • 197
security
adding user permissions with a script • 131
change user password with a script • 132
determine us er group members hip with a script • 141
inactivity time-out featureIXsecurityinactivitytimeoutfeature • 114
InTouch-bas ed authentication • 120
log on a user to InTouch aut omatically with a script • 137
overview • 113
restricting access to InTouch functionality • 139
retrieving information about the current logged on user wit h a script • 142
show InTouch Logon dialog box with a script • 136
using operating system-bas ed authentication • 121
verifying user credentials with a script • 140
server-based arc hitecture • 36
services
configuring a user accountIXservicesconfiguringauseraccount • 64
configuring WindowViewer to start as a servic e • 62
description • 61
manually starting • 63
starting WindowViewer • 61
stopping using a command • 63
stopping using the Cont rol Panel • 63
system tags
$AccessLevel system tag • 132
$AccessLevel system tag • 135
$ApplicationVersion system tag • 48
$ChangePassword system tag • 133
$ChangePassword system tag • 129
$ConfigureUsers system tag • 134
$ConfigureUsers system tag • 129
$ConfigureUsers system tag • 135
$InactivityTimeout system tag • 115
$InactivityTimeout system tag • 114
$InactivityWarning system tag • 115
$InactivityWarning system tag • 114
$Language system tag • 149
$LogicRunning system tag • 118
$Operat or system tag • 54, 135, 143
$Operat orDomainEntered system tag • 139
$Operat orEnt ered system tag • 138
$Operat orEnt ered system tag • 135
$Operat orName system tag • 142
$PasswordEntered system tag • 138
$PasswordEntered system tag • 135
T
Tablet PC
description • 191
making window annotations • 192
Tagname Dictionary
creating DBLoad input file • 70
exporting contents with DBDump • 67
formatting an input file • 69
tags
$InactivityTimeout system tag • 114
exporting contents of Tagname Dictionary • 67
logging remote referenced • 197
SuperTag instances • 100
Terminal Services
defining Read Only applications in remote sessions • 166
Terminal Services Client command • 53
tick interval • 163
transferring to WindowMaker from WindowViewer • 175
TseGetClient Id() function • 54
W
WindowMaker
disabling trans fer from WindowViewer • 118
editing lock • 50
restrictions when developing InTouchView applications • 180
setting mouse behavior • 197
WindowViewer
closing all open windows on transfer to WindowMaker • 163
closing on transfer to WindowMaker • 163
configuring to start as a Windows service • 62
customizing • 163
resizing the numeric keypad • 198
running as a service • 61
setting drawing mode of 16-Pen Trend • 198
setting print waiting period • 198
setting script looping timeout interval • 197
starting as a service • 62