AVEVA InTouch HMI Archives - Industrial Software Solutions https://industrial-software.com Your "Select" digital transformation & sustainability experts - let us take you there Thu, 28 Mar 2024 21:51:19 +0000 en-US hourly 1 https://wordpress.org/?v=5.9.4 https://industrial-software.com/wp-content/uploads/cropped-iss-favicon_wordpress-size_20220121-32x32.png AVEVA InTouch HMI Archives - Industrial Software Solutions https://industrial-software.com 32 32 Using Historian with InTouch HMI https://industrial-software.com/training-support/training-documents/td020/ Fri, 20 Oct 2023 19:17:04 +0000 https://industrial-software.com/?post_type=wwpw_training_doc&p=28065 AVEVA InTouch HMI 2020 and later now provides two ways to store historical data from InTouch tags. This training document will explain the two methods, the pros and cons of each, and provide implementation steps for them.

The post Using Historian with InTouch HMI appeared first on Industrial Software Solutions.

]]>
OVERVIEW

AVEVA InTouch HMI 2020 and later now provides two ways to store historical data from InTouch tags. This training document will explain the two methods, the pros and cons of each, and provide implementation steps for them. The two methods are:

  • InTouch Enable Storage to Historian 
  • Tag Importer Wizard

This document assumes understanding of WindowMaker and Tagname Dictionary.

APPLIES TO

  • AVEVA Historian
  • AVEVA InTouch HMI (2020 and newer)

EXPLANATION

NOTE: Both methods allow you to store data from InTouch tags and then later retrieve it for furthering analysis and trending.

Enable Storage to Historian

The Historian Client Access is a built-in feature of InTouch HMI that allows WindowViewer to send historical data to Historian.  This feature is known as “Enable Storage to Historian” and can be configured in the Historical Logging Properties dialog box in WindowMaker -> Special -> Configure -> Historical Logging.

In this method, tag values are pushed over to Historian directly from the WindowViewer session over HCAL (Historian Client Access Layer). This is more similar to how Application Server pushes over data. The InTouch tags are imported to Historian as MDAS tags. Tags are only recorded into Historian when WindowViewer is running.

To enable the Enable Storage to Historian feature, go to the Historical Logging Properties dialog box. There, you need to specify the name of the Historian server in the Historian node name box. You can use the computer’s node name or IP address. Special characters like period (.), underscore (_), and hyphen (-) are allowed.

You can also enable “Store and Forward” which allows data to be locally stored should WindowViewer lose connection to Historian for a period of time. To do so, specify the storage location path in the History store forward directory field. Once the connection is reestablished, the Historian server syncs with these files and preserves all the information.

In addition, any tags you want to store to Historian via this method must have Log Data enabled.

Advanced Settings and Dealing with Conflicts

For more configuration options, you can access the Advanced Settings from the dialog box. These settings can be used to help optimize the transmission of data from WindowViewer to Historian.

There are also some settings to help handle multiple instances of WindowViewer storing data to Historian via the Always affix unique string option. A good practice is to use the node name or location name of each WindowViewer instance as the prefix or suffix, making all tags in Historian unique. This is especially important for built-in System tags in WindowViewer, as every instance has the same 34 built-in System tags.


Tag Importer Wizard

The Tag Importer Wizard allows you to easily import configuration information, such as tags and I/O Servers, from an InTouch HMI application. In this method, tags are pushed over to Historian from the I/O servers themselves. When a tagname dictionary file is imported, InTouch pulls the I/O configuration and creates IDASs, Historian Data Acquisition Services that accept data values from one or more I/O servers.

Tag Importer Wizard saves time by eliminating the need for manual tag configuration. This method allows you to import tag name databases from multiple InTouch nodes. It also automatically maps the data from the InTouch application to the appropriate tables in the Historian Runtime database during the import process.

If you need to update only the changed tags since the last import, you can perform a Delta Reimport. This is faster and retains existing storage settings for the tags.

Once the tags have been imported, you can view properties for imported InTouch nodes and the list of tags associated with each node in the System Management Console under Configuration Editor > System Configuration > Storage > Imported Nodes and Public Groups > InTouch Nodes.

Import Considerations
  • Ensure you have administrative permissions for the Historian Runtime and Holding databases.
  • Set the AllowOriginals system parameter to 1 before importing .lgh original data.
  • Close InTouch WindowMaker before importing the Tagname.x file.

Considerations Between Both Methods

While Enable Storage to Historian is easier to configure, using Enable Storage to Historian instead of the Import Tags Wizard has some important differences to consider.

First, Enable Storage to Historian requires WindowViewer to be running continuously so that it can continuously provide data to Historian. On the other hand, the Import Tags Wizard creates IDAS which connect directly to the I/O servers and don’t require WindowViewer be running. So, if you use Enable Storage to Historian and WindowViewer closes, there will be gaps in the historical data during that downtime. For more continuous data storage that doesn’t require WindowViewer running, Import Tags Wizard would be the recommended method.

Another consideration is that Message tags in WindowViewer won’t be recorded in Historian when using Enable Storage to Historian. However, the Import Tags Wizard can record string data, including Message tags.

If you want to store Alarms and Events to History Blocks (2020 R2 and newer), you would need to use Enable Storage to Historian. If you use the Import Tags Wizard, historical alarms/events will still need to be stored in a database.

Finally, Enable Storage to Historian may cause issues with multiple WindowViewer sessions. Enabling the prefix requires access to WindowMaker which most client computers do not have. In addition, the affixed tags will add extra tag counts in Historian. If you have multiple WindowViewer clients, it’s recommend to only have one of them storing to Historian via this method, or to use Import Tags Wizard to pull directly from the I/O Servers.


IMPLEMENTATION

Enable Storage to Historian

  1. Open WindowMaker and navigate to the Tools -> Configure -> Historical Logging, or go to Special -> Configure -> Historical Logging.

2. The Historical Logging Properties dialog box opens.

3. In the Historical Logging Properties dialog box, check the option “Enable Storage to Historian.”

4. In the Historian node name field, enter the name of your Historian Server. Specify a valid History store forward directory as well.

5. Click OK to save the changes and close the dialog box.

6. Make sure any tags you wish to store to Historian via this method have Log Data checked.

 

Tag Importer Wizard

  1. Open the System Platform Management Console (SMC) and expand Historian -> Historian Group -> <HistorianName> -> Configuration Editor.

2. Right-click Configuration Editor -> Import Tags.

3. The Tag Importer Wizard opens. Click Next and choose the InTouch tagname database (Tagname.x) you want to import by clicking Add to browse to an InTouch application path.

4. Verify the InTouch computer name and application path during the import. Click Next.

5. Configure how the Tag Importer handles duplicate tags (if any) to ensure unique tag names in the Historian. Click Next.

6. The Tag Importer Wizard – Filter Tags dialog opens. Select the categories of tags you want to import (e.g., Plant I/O, Memory, System). You can also just choose specific Access Names to import or not import by clicking the Topics button. Then click Next.

7. The Tag Importer Wizard – Tag Storage dialog appears. Select storage options, such as cyclic or delta storage rates, for the imported tags. Click Next.

8. The Tag Importer Wizard – Final Confirmation dialog appears. Note that it is advisable to backup the Runtime database before continuing. Click Finish to import tags.

9. The import begins and provides a report. Click OK to close.

10. Under Configuration Editor -> System Configuration -> Data Acquisition, note that IDAS(s) have been created with the list of InTouch tags.

11. Under Configuration Editor -> Public Groups -> InTouch Nodes, note that the InTouch node has been created with a list of InTouch tags.

The post Using Historian with InTouch HMI appeared first on Industrial Software Solutions.

]]>
Securing an InTouch Application https://industrial-software.com/training-support/training-documents/td015/ Sun, 15 Oct 2023 19:13:02 +0000 https://industrial-software.com/?post_type=wwpw_training_doc&p=27451 InTouch applications can be secured in order to secure the operating system, audit operator's actions, and/or secure the InTouch application itself. Standalone InTouch applications all two different authentication modes, InTouch Security and OS-Based Security. 

The post Securing an InTouch Application appeared first on Industrial Software Solutions.

]]>
OVERVIEW

InTouch applications can be secured in order to secure the operating system, audit operator’s actions, and/or secure the InTouch application itself. Standalone InTouch applications all two different authentication modes, InTouch Security and OS-Based Security. For the purposes of this document, we will use OS-Security and just set up permissions for the developer’s local user. This training document will walk you through implementing:

  • Setting up Security
  • Creating a Simple Logon Graphic

ArchestrA Security applies only to managed apps, which is outside the scope of this training document. This document assumes a basic understanding of InTouch tags, creating windows, and Industrial Graphics.

APPLIES TO

  • InTouch HMI (all versions)

EXPLANATION

InTouch security is a two-step process of first determining if the person attempting to use an application is recognized as a valid user, which is known as authentication. The second step determines what InTouch privileges are granted to an authenticated user, which is known as authorization. This process can be configured by using either the InTouch security mode or the OS security.

Authentication and Authorization

Authentication is the process of verifying the identity of the user. Typically, operators enter a user name and password to authenticate themselves before using an InTouch application. Both security types verify the user’s credentials during the logon process as part of the authentication process.

Authorization is the process of determining if an authenticated user has access to the requested resources. Typically, access to InTouch functions is granted based upon the user’s membership in a group or assigned Access Level, which is an integer system tag, $AccessLevel, between 1-9999 that can be assigned to specific user groups or roles. By using the Access Level, designers can categorize users and restrict certain application features based on the experience or role of a particular user.

For example, you can utilize $AccessLevel in a script that controls whether or not a certain user can see a particular window:

IF $AccessLevel >= 5000 THEN
Show "SupervisorWindow";

IF $AccessLevel < 5000 and $AccessLevel > 2000 THEN
Show "OperatorWindow";

ENDIF;

ELSE
Show "Access Denied"; 

ENDIF;

In addition to $AccessLevel, there are a number of other security-related system tags.

Security System Tags

Tagname Type Valid Values Access
$AccessLevel System Integer 0-9999 Read-Only
$ChangePassword System Discrete 0 or 1 Read-Write
$ConfigureUsers System Discrete 0 or 1 Read-Write
$InactivityTimeout System Discrete 0 or 1 Read-Write
$InactivityWarning System Discrete 0 or 1 Read-Write
$Operator System Message 16 Characters Max Read-Only
$OperatorName System Message 131 Characters Max Read-Only
$OperatorDomain System Message 16 Characters Max Read-Only
$OperatorDomainEntered System Message 16 Characters Max Write-Only
$OperatorEntered System Message 16 Characters Max Write-Only
$PasswordEntered System Message 16 Characters Max Write-Only
$VerifiedUserName System Message 16 Characters Max Read-Only

 

There are also a number of security-related script functions.

Security Script Functions

Function Description
PostLogonDialog() Pops up the challenge prompt to login.
Logoff() Sets the $AccessLevel to 0 and the user to “None”.
AttemptInvisibleLogon(UserID, Password, Domain) Allows a silent option for requesting authentication without a challenge prompt.
InvisibleVerifyCredentials(UserID, Password, Domain) Used when a second confirmation user is required for an operation without logging out the primary user.
EnableDisableKeys() Disables the Alt, Esc, or Win key.
ChangePassword() Pops up the challenge prompt to change password.
AddPermission() Used to assign Access Levels based on operating system group.
QueryGroupMembership() Used for finding out if a user is a member of a particular operating system group.

 

The full list of functions with their descriptions, parameters, and examples can be found under “InTouch Functions” in the Application Server Scripting Guide.

InTouch Security

One option for securing your application is to use the built-in InTouch security, which allows you to create users directly within WindowMaker and use a simple username and password system for logging-in and out. You must assign user name, password, and access level for each operator.

When you set the InTouch Security Type 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.

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 specified for the internal security tag linked to the function.

For Standalone 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.

OS Security

The recommended option for securing your application is to use operating system (OS) security. Operating system-based authentication method inherits enforcement of some account policies from the Windows operating system, while other policies are enforced from the InTouch HMI. Password policies such as password age and length are enforced by the operating system.

User names used during installation act as a part of the operating system. The Windows domain must be set up with the desired account policies to enforce these standards.

In the operating system-based authentication method, user names can be chosen from the list of users associated with a Windows Network Domain or Workgroup, which provides the benefit of centralized security management. Each user name has an assigned access level that determines the user’s authorization for a given activity. Because the operating system manages passwords internally, the InTouch HMI does not store passwords on the node hosting the application.

Operating system-based security uses the InTouch AddPermission() script function to define and maintain a list of users and their corresponding access levels. This list, created after the execution of the AddPermission() call, is written to disk. The file containing the authentication details of users is not copied to NAD client nodes.


IMPLEMENTATION

Section 1 – Configuring Security

Since Administrator rights are required to use WindowMaker, we will only assign security writes for Administrators for the purposes of this document. You are welcome to add more groups/roles in a similar fashion.

  1. Open WindowMaker. Go to Special -> Security -> Select Security Type -> OS to enable OS Security.

2. Now we will assign an Access Level to our users. To do this, we will use the AddPermission() function.

AddPermission()

Sets the Access Level to a particular group or user in the specified domain.

Syntax
DiscreteTag=AddPermission( "Domain", "Group", AccessLevel);

NOTE: For workgroup environments, the “Domain” parameter can be left blank.

Remarks
This is valid for OS security mode only. An attempt is made to reach the Account on the Domain. If successful, a TRUE is returned and the AccessLevel is assigned to the account in the internal records in InTouch for use during authorization when a
user logs in. In all other cases, a FALSE is returned.

The Group parameter can be any valid group or user defined in the specified Domain parameter. It is also important to note that the access level set for each group does not have anything to do with the rights for each group. For example, nothing prevents you from giving
the Guests group an access level of 9999 or the Administrators group an access level of 100.

Go to the Scripts pane -> Application. The Application Scripts window appears.

3. In the Condition Type drop-down, choose On Startup. Then, in the script body, enter the following:

DIM Success as Discrete;
Success = AddPermission("", "Administrators", 9000);

This script will execute on application startup and assign access levels to users that login based on their group membership.

4. Now we will configure a script that uses the QueryGroupMembership() function in order to track new user logins.

QueryGroupMembership()

Used to determine if the a user is currently logged-in and part of a group that is located on the domain.

Syntax
DiscreteTag=QueryGroupMembership("Domain","Group");</pre> Remarks This is valid for OS security mode only and applies to the currently logged in user. If a user is currently logged in and is part of the group that is located on the domain, a TRUE is returned; in all other cases, a FALSE is returned

Go to the Scripts pane -> Data Change. The Data Change Scripts window appears.

5. In Tagname[.field] enter $Operator and in the script body, enter the following:

GroupMembership = "";
IF QueryGroupMembership( "", "Administrators" ) == 1 THEN
GroupMembership = "Administrator";
ENDIF;

IF $Operator == "None" THEN
GroupMembership = "None";
ENDIF;
 

Click OK. The Tagname Undefined window appears.

Click OK to define the tag.

6. You will now define GroupMembership as a Memory Message tag with an initial value of None. Then click Close which will save and close the tag.

This tag will allow us to assign an internal group name for users based on their OS group.

 

Section 2 – Creating a Simple Logon Graphic

Now we will create a simple Logon symbol that will allow a user to login and displays their name, access level, and group membership. In this section, we will retain the default names for each element placed on the canvas.

  1. To start, create a new symbol named SecurityLogon and open it for editing. The graphic editor opens.

2. To start, place a Text element on the canvas and type “Operator:“. Click enter to create a new text element and type “Access Level:“. Finally, click enter and type “Group:“. Then click anywhere on the canvas to stop creating new text elements.

Apply the Bold text style to these elements by clicking each of them and then click the Bold button.

3. To the right of “Operator:”, place a new Text element and type “Operator”. Double-click Text4 and add a new Visualization animation -> Value Display

4. Click the String tab. In the Expression or Reference field, enter $Operator

5. Click OK to close the Edit Animations window. Now duplicate the Text4 element and replace “Operator” with “####”. Place this to the right of “Access Level:“.

6. Double-click Text5 to open the Edit Animations window. Choose the Analog state for Value Display instead of String. In the Expression or Reference field, enter $AccessLevel.

7. Click OK to close the Edit Animations window. Now, we will duplicate the Text4 element again and replace “Operator” with “Group”. Place this to the right of “Group:“.

8. Double-click Text6 to open the Edit Animations window. Keep the String state for the Value Display animation and replace “$Operator” with our custom tag, “GroupMembership”. This was defined in Section 1, steps 5 and 6.

Click OK to close the Edit Animations window.

9. We will now configure two buttons, one to login and one to logout. We will use two functions, PostLogonDialog() and Logoff() respectively. These functions are defined below:

PostLogonDialog()

Brings up the InTouch Logon Dialog and returns TRUE.

Syntax
DiscreteTag=PostLogonDialog();
Remarks
This brings up the InTouch Logon Dialog and returns TRUE.
Logoff()
Logs the user out of InTouch.

Syntax
DiscreteTag=LogonOff();
Remarks
Logs the user off.

First, create a new button element with the text “Log On” and place it to the left of the “Operator” text element.

10. Double-click Button1 and create a new Interaction -> Action Scripts animation. In the body of the text, enter the function:

PostLogonDialog();

Click OK to close.

11. Finally, duplicate Button1 and place it below Button1. Replace “Log On” with “Log Off”.

12. Double-click Button2 and replace “PostLogonDialog();” with:

Logoff();

Click OK to close.

13. Save and close the graphic editor. Create a new window named “LogOn” with a Width of 400 and a Height of 150. Uncheck “Title Bar” and “Size Controls”.

14. Embed “SecurityLogon” into the “LogOn” window, and position it to your liking, leaving enough room for the three fields to populate.

15. Launch WindowViewer, ensure “SecurityLogon” is opened, and observe the initial behavior of the graphic with no user logged in. The Operator and Group should each be “None” with an Access Level of 0.

16. Click the “Log On” button and enter your current Windows credentials. You can leave the Domain field blank in a workgroup environment. Then click OK. Notice the updated fields for Operator, Access Level, and Group.

At this point, you are welcome to Log Off or try with other users to observe additional behavior. If these users are not also Administrators, you will need to add those groups to the InTouch Application. Refer to Section 1 – Step 2 and Section 1 – Step 5 for a reminder on how to assign Access Levels to new groups and assign new values to our GroupMembership tag.

The post Securing an InTouch Application appeared first on Industrial Software Solutions.

]]>
Distributing Stand Alone InTouch Applications https://industrial-software.com/training-support/training-documents/td014/ Sat, 14 Oct 2023 17:55:06 +0000 https://industrial-software.com/?post_type=wwpw_training_doc&p=27216 AVEVA InTouch HMI can be distributed to client computers via a few different methods. This training document will walk you through configuring two of these options.

The post Distributing Stand Alone InTouch Applications appeared first on Industrial Software Solutions.

]]>
OVERVIEW

AVEVA InTouch HMI can be distributed to client computers via a few different methods. This training document will walk you through configuring two of these options:

  • Copy/Paste the application folder (Client-Based)
  • Network Application Development (NAD)

In both methods, the computer that you create the application in WindowMaker on will be referred to as the Development Node. Each computer just running WindowViewer will be referred to as a View Node.

This training document will walk you through the various distribution methods.

APPLIES TO

  • InTouch HMI (all versions)

EXPLANATION

Client-Based Architecture

In a Client-Based architecture, there is a unique copy of one InTouch application for each computer running WindowViewer (View Node). To distribute applications in this architecture, you can copy/paste the application folder.

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.

You can modify and test the application on the development node without affecting the running View Nodes, since they are all acting independently. However, you must re-distribute the modified application to the View nodes when changes are made. To implement this architecture, see Method 1.

NAD Architecture

In the Network Application Development (NAD) architecture, a master copy of an application is maintained on a central network location, which is shared from the Development Node. Each View Node loads that network application, and the application contents are copied to and run from a user-defined location.

When a View Node copies and runs a master application, it automatically monitors for changes in the master copy.

Clients are notified of changes from the Development Node by the Notify Clients setting. You can choose to notify clients of changes immediately by using Notify Clients Now, or you can configure WindowMaker to always notify clients of changes when you close WindowMaker using Prompt to Notify Clients on Close.

If you need to make changes to the application, access the application in WindowMaker on the Development Node and you can either “Notify Clients Now”, or it will prompt you to ”Notify Clients” when you close WindowMaker. Each View Node will synchronize with the Development Node and handles changes according to its respective Change Mode.

Change Modes

Action Description
Ignore changes Causes the runtime (WindowViewer) node to ignore any change made on the development node.
Restart WindowViewer The runtime node copies the updated master application (if configured to do so) and then restarts WindowViewer on the runtime node.
Prompt user to Restart WindowViewer Restart WindowViewer The runtime node copies the updated master application
Load Changes into WindowViewer Causes change made in the development node to dynamically be loaded into WindowViewer. This may affect performance for large updates.
Prompt user to load changes into WindowViewer Causes an interactive message box to appear, notifying the operator that the application has changed. The operator is asked if they want to load the changes to dynamically into WindowViewer

 

You can more easily send out changes to each View Node with this method, but be aware that distributing a large, complex application takes time and WindowViewer is suspended while the application is transferring. To implement this architecture, see Method 2.


IMPLEMENTATION

Method 1 – Copy and Paste the Application Folder (Client-Based Architecture)

  1. On the Development Node, open the InTouch HMI Application Manager. You will use this to verify the application folder path.

2. Right-click the InTouch Application you wish to distribute -> Properties. Note the Path listed here.

3. Open Windows File Explorer and navigate to the designated path. It is recommended to zip up this folder before moving it. Once that is done, right-click the folder or zipped-up folder to copy it.

4. Access the View Node and paste/extract the zipped-up application folder. Place this folder in a location of your choice.

5. On the View Node, open the InTouch HMI Application Manager. Click the Find icon.

6. Browse to the folder where you pasted the application folder and click OK. This will load the copied InTouch application to the InTouch HMI Application Manager and you can now run this application in WindowViewer.


Method 2 – Network Application Distribution (NAD)

Section 1 – Share the InTouch Application Folder from the Development Node

The steps below will walk you through sharing the master application copy so the View Nodes can find it.

  1. On the Development Node, open the InTouch HMI Application Manager. You will use this to verify the application folder path.

2. Right-click the InTouch Application you wish to distribute -> Properties. Note the Path listed here.

3. Open Windows File Explorer and navigate to the application path. Right-click the application folder -> Properties and click the Sharing tab.

4. Click Share. The Network Access dialog box appears. Make sure you share this folder with the appropriate users for the View Node. Then click the Share button.

Note: NAD requires network discovery and file sharing to be enabled. If this Windows feature is not enabled on your node, you will be prompted to enable it. A confirmation message appears.

5. Click Done and Close Windows File Explorer.

Section 2 – Configure the Client Node(s)

6. Click On the Development Node, open WindowMaker -> Special menu, select Notify Clients -> Notify Clients Now. The menu option Prompt to Notify Clients on Close is a toggle that, when enabled, will prompt you to notify clients when WindowMaker is closed.

7. Switch to a View Node and start InTouch HMI Application Manager. On the toolbar, click Node Properties. The Node Properties dialog box appears.

8. Check Enable Network Application Development. You can leave the default Local Working Directory or specify a new path.

9. Select a Change Mode of your choice and click OK.

10. On the toolbar, click Find. In the Browse for Folder dialog box, Folder field, enter the name of the shared folder from the Development Node.

11. Click OK. The InTouch Application loads in the Application Manager. You can now run WindowViewer.

Once NAD is fully configured, each View Node runs the application from its own local NAD directory.

 

The post Distributing Stand Alone InTouch Applications appeared first on Industrial Software Solutions.

]]>
Utilizing the ShowGraphic() Function https://industrial-software.com/training-support/training-documents/td013/ Fri, 13 Oct 2023 17:53:23 +0000 https://industrial-software.com/?post_type=wwpw_training_doc&p=27448 The Show/Hide Graphic script functions allows you to use QuickScript .NET to display a graphic as a pop-up window and close the pop-up window. The functionality is similar to the Show Symbol animation, but improves upon the limitations of the animation. This training document will walk you through how to use the ShowGraphic() function.

The post Utilizing the ShowGraphic() Function appeared first on Industrial Software Solutions.

]]>
OVERVIEW

The Show/Hide Graphic script functions allows you to use QuickScript .NET to display a graphic as a pop-up window and close the pop-up window. The functionality is similar to the Show Symbol animation, but improves upon the limitations of the animation. This training document will walk you through how to use the ShowGraphic() function in two sections:

  • Basic ShowGraphic Usage
  • Advanced ShowGraphic Usage

This document assumes basic knowledge of WindowMaker, Industrial Graphics, and Graphic Editor.

APPLIES TO

  • InTouch HMI (all versions), Operations Management Interface

EXPLANATION

With ShowGraphic, you can create a more navigable application, call multiple graphics with a single button click, drill down on specific processes, and more. The function consists of a number of properties that allow for further specifications to be made.

Required ShowGraphic Script Lines

The minimum ShowGraphic script must contain the following four lines:

Dim graphicInfo as aaGraphic.GraphicInfo;
graphicInfo.Identity = "<Identity>";
graphicInfo.GraphicName = "<SymbolName>";
ShowGraphic( graphicInfo );
  1. GraphicInfo is a structure that holds the definitions, configuration options, and properties that describe the popup window. This line defines an instance of GraphicInfo named “graphicInfo”.

2. Identity is a required property that needs a unique string value. The Identity holds the configuration options for a single pop-up window, and multiple scripts can use the same Identity. For each new set of configuration options, a new Identity must be defined.

    • You can use ShowGraphic to open an existing native InTouch window by using the syntax:
      graphicInfo.Identity  = InTouch:WindowName

3. GraphicName is the name of the graphic to be shown in the pop-up window. This line is optional, as the Identity property can be used to call an already existing window.

    • It is also possible to call an existing window using the Identity property and still call a new symbol into that window by using the GraphicName property. This can be useful if you want to specify the dimensions/location of the window within WindowMaker, instead of setting those properties within the script.

4. The ShowGraphic(graphicInfo) line invokes the function with the specified properties defined for our instance of GraphicInfo, “graphicInfo” This must be the last line after all other parameters are set, as this is the line that actually invokes the function.

Script Function Browser

For a full list of Properties, open a graphic in Graphic Editor and open the QuickScript .NET editor by right-clicking the canvas -> Scripts:

Then from the Edit Scripts window, click the Display Script Function Browser button to display the Script Function Browser:

In the Script Function Browser window, expand Graphic Client -> ShowGraphic and click the Help button:

This opens the ShowGraphic() documentation which contains a full list of Properties with their Data Type, Default Value, list of acceptable values, and an example. You can also click the OK button instead of Help to load the specified function into the QuickScript .NET editor. You can also view the full list of properties in “Working with the Show/Hide Graphics Script Functions,” in the Creating and Managing Industrial Graphics User Guide.

Any properties used in this training document will be defined within the step as well.


IMPLEMENTATION

Section 1 – Basic ShowGraphic Usage

In this section, we will call the ClockAnalogWall Industrial Graphic from the Industrial Graphics Library into a pop-up window, retaining all the default ShowGraphic() settings.

  1. To start, create a new symbol called OpenClock and open this symbol for editing. The Graphic Editor opens.

2. Place a button element on the canvas named OpenClock, with the text property set to “Open Clock”.

3. Double-click OpenClick to open the Edit Animations window. Click the + button to create a new Action Scripts animation. Here, you can either load in the Required ShowGraphic Script Lines using the Script Function Browser or by typing/copy and pasting these four lines:

Dim graphicInfo as aaGraphic.GraphicInfo;
graphicInfo.Identity = "<Identity>";
graphicInfo.GraphicName = "<SymbolName>";
ShowGraphic( graphicInfo );

4. Since we are not calling an existing window, we can configure the Identity property as follows:
graphicInfo.Identity = "ClockPopup";

In addition, we know we want to show the ClockAnalogWall symbol in the window, so we can configure the GraphicName property as follows:
graphicInfo.GraphicName = "ClockAnalogWall";

5. Save and Close the symbol. Embed the OpenClock symbol into a window of your choosing and open WindowViewer. With the specified window open, click the “Open Clock” button and observe the ClockPopup window appear with the default size and location.


Section 2 – Advanced ShowGraphic Usage – Setting Window Location and Dimensions

In Section 1we called the AnalogClockWindow in a default pop-up window, meaning we did not define any specific location or dimensions. In this section, we will provide a specific location and size for the pop-up window. We will configure ShowGraphic() to open the ClockAnalogWall symbol in a 500×500 window at the top of the screen.

  1. Open the OpenClock symbol for editing and duplicate the OpenClock button element to create a new button called OpenClockTop with Text = “Open Clock at Top”.

2. Double-click OpenClockTop to open the Edit Animations window. The previous ShowGraphic() script is present. Since we want this to open a brand new window, we will need to specify a new Identity. Modify the Identity line as follows:
graphicInfo.Identity = "ClockPopupTop";

Our new lines will be added after line 3, but before line 4. The ShowGraphic(graphicInfo); line must always be the last line.

3. First we will specify the window location. We will have our window pop-up in the top-center, relative to the desktop. To accomplish this, we will use the WindowLocation property.

WindowLocation

Specifies the location of the pop-up window.

Data Type
Enum

Default Value
Center

Valid Range
One of 0–12. Each WindowLocation option has an associated integer that can be used to define the Property, as seen in the table below:

Enumerations
WindowLocation Integer
Center 0
Above 1
TopLeftCorner 2
Top 3
TopRightCorner 4
LeftOf 5
LeftSide 6
RightSide 7
RightOf 8
BottomLeftCorner 9
Bottom 10
BottomRightCorner 11
Below 12
Additional Information
If you have selected Desktop as the window relative position, Above, LeftOf, RightOf, and Below are invalid. 

Enter a new line after Line 3, and type the following to have the pop-up appear at the top of the screen:

graphicInfo.WindowLocation = 3;

NOTE: The default relative window location is “Desktop”, so we do not need to add a line to specify the WindowRelativePosition parameter. If you did not want the window location to be relative to the desktop, you could specify the WindowRelativePosition parameter in conjunction with WindowLocation as follows:

WindowLocation

Specifies the location of the pop-up window.

Data Type
Enum

Default Value
Desktop

Valid Range
One of 0–8. Each WindowRelativePosition option has an associated integer that can be used to define the Property, as seen in the table below:

Enumerations
WindowRelativePosition Integer
Desktop 0
Window 1
ClientArea 2
ParentGraphic 3
ParentElement 4
Mouse 5
DesktopXY 6
WindowXY 7
ClientAreaXY 8
Examples
graphicInfo.WindowRelativePosition = aaGraphic.WindowRelativePosition.<WindowRelativePosition>;
graphicInfo.WindowRelativePosition = 1;

4. Now we will specify the Width and Height of the window to make it a 500×500 window. To accomplish this, we will need to use the RelativeTo, Width, and Height parameters, defined below.

RelativeTo

Specifies the size of the pop-up window relative to the graphic, desktop, or customized width and height.

Data Type
Enum

Default Value
Graphic

Valid Range
One of 0–2. Each RelativeTo option has an associated integer that can be used to define the Property, as seen in the table below:

Enumerations
WindowRelativePosition Integer
Graphic 0
Desktop 1
CustomizedWidthHeight 2
Width

Specifies the width of the pop-up window.

Data Type
Integer

Default Value
100

Valid Range
0–10000

Additional Information
Applicable only if RelativeTo is CustomizedWidthHeight. You can specify either the height or the width of the pop-up window. The system calculates the other, based on the aspect ratio of the symbol. If you enter an out-of-boundary value, the system shows an "Out of range" message at run time. If the value > 10000, it is set at 10000. If the value < 0, it is set at 0.
Height

Specifies the height of the pop-up window.

Data Type
Integer

Default Value
100

Valid Range
0–10000

Additional Information
Applicable only if RelativeTo is the value of the CustomizedWidthHeight parameter. You can specify either the height or the width of the pop-up window. The system calculates the other, based on the aspect ratio of the symbol. If you enter an out-of-boundary value, the system shows an "Out of range" message at run time. If the value > 10000, it is set at 10000. If the value < 0, it is set at 0.

Using the above parameters to create a 500×500 window, enter a new line after line 4, and type the following:

graphicInfo.RelativeTo = 2;
graphicInfo.Width = 500;
graphicInfo.Height = 500;

5. Click OK. Then Save and Close the graphic. In WindowMaker, note that the OpenClock graphic embedded in a window of your choosing has updated to show the new button.

6. With the specified window open, click the “Open Clock at Top” button and observe the ClockPopup window appear at the Top-Center of the screen in a 500×500 window.

Since the two buttons have different Identity properties defined, it is possible to click each button and have two clock windows show simultaneously.

If the same Identity had been used, each button would respectively close the other window that had opened before.

The ShowGraphic() function is the most versatile option for displaying windows. As a reminder, you can also view the full list of properties as their definitions and examples in “Working with the Show/Hide Graphics Script Functions,” in the Creating and Managing Industrial Graphics User Guide.

The post Utilizing the ShowGraphic() Function appeared first on Industrial Software Solutions.

]]>
Configuring Alarm Database Utilities for Standalone InTouch https://industrial-software.com/training-support/training-documents/td012/ Thu, 12 Oct 2023 17:47:17 +0000 https://industrial-software.com/?post_type=wwpw_training_doc&p=27259 There are a few alarm utilities for InTouch managing the InTouch Alarm Database. This training document will walk you through the Alarm DB Logger Manager for setting up historical alarm logging to a database and the Alarm DB Purge-Archive for memory management of the historical alarm database.

The post Configuring Alarm Database Utilities for Standalone InTouch appeared first on Industrial Software Solutions.

]]>
OVERVIEW

There are a few alarm utilities for InTouch managing the InTouch Alarm Database. This training document will walk you through:

  • Alarm DB Logger Manager for setting up historical alarm logging to a database
  • Alarm DB Purge-Archive for memory management of the historical alarm database

For information on configuring the Alarm Hot Backup Manager, please see ISS TN 69.

APPLIES TO

  • InTouch HMI (all versions)

EXPLANATION

Once you have configured live alarms in your standalone InTouch application, you may wish to store these alarms to have a historical record of alarm states and acknowledgements.  Historical alarms and events are managed in InTouch with a few utilities.

Alarm DB Logger Manager

You can utilize the Alarm DB Logger to query the Alarm Manager and store those alarms to a specified database.

The Alarm DB Logger Manager is a utility used to configure the Alarm DB Logger. The utility provides buttons to start and stop the Alarm DB Logger. The utility also allows you to create/delete the WWALMDB database for storing alarms, set up a connection to this database, and specify the alarm query to use.

Alarm DB Purge-Archive

Once you have an alarm database configured and start storing to it, you can manage the alarm database using the Alarm DB Purge-Archive utility. This utility allows you to manage the space of the database by removing records from the database permanently or archiving them to files.

NOTE: You must be logged on to the computer as an administrator to use this utility


IMPLEMENTATION

Section 1 – Alarm DB Logger Manager

  1. Open the Alarm DB Logger Manager utility either from Windows Start -> AVEVA InTouch HMI -> Alarm DB Logger Manager or from within WindowMaker -> Tools -> Applications -> Alarm DB Logger Manager

  1. The Alarm DB Logger Manager interface opens. To configure the Alarm DB Logger, click Settings. The Configuration dialog appears.

  1. Configure the database connection. The following settings can be configured:

SQL Server/MSDE

  • Authentication: choose SQL Server Authentication or Windows Authentication
  • Server Name: computer name where the alarm database is installed
  • Database: type the name of the InTouch alarm database. The default is WWALMDB

User Info

  • User Name/Password: credentials of a SQL admin associated with the name created for the Alarm Database. Only applicable with SQL Server Authentication is selected.

Logging Mode

  • Detailed: store a separate record for each alarm state
  • Consolidated: store all states of an alarm

You can then create the database if needed by clicking Create, test the connection by clicking Test Connection, or delete the alarm database by clicking Delete Database. Once the fields have been filled, click Next.

  1. The Query Selection dialog appears. Here you can define one more queries to select alarms from InTouch or select a range of alarm priorities.

Use the following query syntax for remote nodes:

\\NodeName\Provider!AlarmGroup

Use the following query syntax for the local node:

\Provider!AlarmGroup

When finished making your selections, click Next.

  1. The Advanced Setting dialog appears. Here you can choose to run Alarm DB Logger as a Normal Application or a Windows Service. You can also specify how often to log alarms and whether to also log events.

NOTE: When running Alarm DB Logger as a Windows Service, this requires WindowViewer to be running as a service as well. For more information on this, please review the InTouch Application Management and Extension guide (found under Windows Start -> AVEVA Documentation) -> Managing InTouch Services -> Running WindowViewer as a Service

Click Finish.

  1. Once the Alarm DB Logger is finished being configured, you can click Start to start the logger, or Stop to stop the logger. The Alarm DB Logger Manager dialog does not need to remain open for Alarm DB Logger to continue running after the Start button is clicked.

Section 2 – Configuring the Alarm DB Purge/Archive Utility

  1. Open the Alarm DB Purge-Archive utility either from Windows Start -> AVEVA InTouch HMI -> Alarm DB Purge-Archive or from within WindowMaker -> Tools -> Applications -> Alarm DB Purge-Archive

  1. Before you can use the Alarm DB Purge-Archive utility, you must connect to the alarm database. Click on the Database tab to set up this connection. To configure the database, the following settings can be configured:

SQL Server/MSDE

  • Authentication: choose SQL Server Authentication or Windows Authentication
  • Server Name: computer name where the alarm database is installed
  • Database: type the name of the InTouch alarm database. The default is WWALMDB

User Information

  • User /Password: credentials of a SQL admin associated with the name created for the Alarm Database. Only applicable with SQL Server Authentication is selected.

  1. Click Test Connection to test the connection to the database. A message indicates if the connection to the alarm database is successful. Click OK and then click Apply when finished.

  1. Once you’ve configured the database connection, click the General tab to select the alarm records to purge.

In the Purge Properties area, configure the type of records to purge. This will depend on whether Detailed Mode (separate record for each alarm state) or Consolidated Mode (all alarms states stored in one record) was chosen when creating the alarm database:

  • Click Detailed Mode to purge alarm records that are saved in the database in Detailed mode.
  • Click Consolidated Mode to purge alarm records that are saved in the database in Consolidated mode.

In the Days Online box, type the number of days worth of records to retain in the alarm database. Click Apply when finished.

  1. (Optional) If you wish to Archive the records (retaining them in a folder) instead of Purging them (deleting them), check the Archive box and specify a folder path. Click Apply.

  1. Click the Purge/Archive

The Purge-Archive utility can automatically purge or archive records, or you can manually purge or archive the records.

  1. To set up an automatic purge, configure the following:

Scheduled Purge

  • Time Interval: Daily, Weekly, or Monthly
    • If you click Weekly or Monthly, a Day box appears in the Activation Time area for you to specify the day of the week or day of the month.
    • If you click Daily, in the Time box, configure the time of day that you want the purge/archive operation to start

In this example, the Purge/Archive will run the 1st of each month at 12am

  1. In the Run As area, click Normal application to run the purge-archive utility as an application or click Windows Service to run it as a service.

For Windows Service, either select Virtual account or specify the username and password for another account under This account.

  1. Click Apply to save your purge and archive settings.

Click Activate to place the Alarm DB Purge-Archive utility on an automatic purge schedule. Click Close.

NOTE: To stop the automatic purge schedule and remove the Window Service, click Deactivate. After a brief delay the service will be removed from Window Services.

  1. You can also manually purge or test archiving by clicking Purge Now, Purge All Now, or Test Now (only available if you’ve chosen to archive your records)

The post Configuring Alarm Database Utilities for Standalone InTouch appeared first on Industrial Software Solutions.

]]>
Frame Windows and Converting Legacy Graphics to Industrial Graphics https://industrial-software.com/training-support/training-documents/td011/ Wed, 11 Oct 2023 17:41:26 +0000 https://industrial-software.com/?post_type=wwpw_training_doc&p=27279 AVEVA InTouch HMI 2017 and newer have introduced a new type of window called a Frame Window. Frame windows enable you to host Industrial Graphics that can support pan, zoom and touch capabilities.

The post Frame Windows and Converting Legacy Graphics to Industrial Graphics appeared first on Industrial Software Solutions.

]]>

OVERVIEW

AVEVA InTouch HMI 2017 and newer have introduced a new type of window called a Frame Window. Frame windows enable you to host Industrial Graphics that can support pan, zoom and touch capabilities.

This training document will walk you through:

  • Creating a Frame Window
  • Converting Legacy Windows to Frame Windows

APPLIES TO

  • InTouch HMI (all versions)

EXPLANATION

Industrial Graphics and Frame Windows provide the most flexibility and reusability of graphics and layout design. For example, only Frame Windows are supported as Application Windows in Web Client, whereas Legacy windows are not. Frame Windows also scale content to automatically to resolution in which they are displayed. For these reasons and others, InTouch provides a means to convert legacy windows and graphic content to Industrial Graphics in Frame Windows.

The Convert to Industrial Graphic feature allows designers to convert any window to a Frame Window hosting a single Industrial Graphic. For example, a legacy popup window containing hundreds of legacy lines, rectangles, and ellipses, can be converted into a Frame Window with popup mode and a single hosted symbol which consolidates all the independent lines, rectangles and ellipses.

The process creates a new toolset in the Industrial Graphic Toolbox the first time it is used. This toolset has an identical name to your InTouch application. This toolset will contain the converted window content in symbols identical to the name of the window that was converted. Additionally, the converted window was backed up in its original unconverted form in the Backup Windows folder located in the Windows & Scripts pane.

NOTE: If you migrate a standalone InTouch app from a version older than 2020 to 2020, it may not include the Industrial Graphics and Situational Awareness Graphic Library. You can import these within WindowMaker -> File -> Import -> Industrial Graphics and browse to C:\Program Files\(x86)\ArchestrA\Framework\Bin. From here, choose either the ArchestrASymbolLibrary.aaPKG or Situational Awareness Symbol Library.aapkg


IMPLEMENTATION

Section 1 – Creating a Frame Window

Typically when using Frame Windows, you would create a graphic with several other graphic components within, but it also possible to host one of the built-in Industrial Graphics. For the purposes of this document, we will create a Frame window and then host the ClockAnalogWall Industrial Graphic.

  1. In InTouch WindowMaker, open your application and create a new window by clicking the New Window icon or File -> New Window

  1. The Window Properties dialog appears. Name the window Clock_Frame. To make this a Frame Window, check the Frame

The Frame option does not override the Window Type. All three window types – Replace, Overlay, and Popup – can also be a Frame window.

Leave the rest of the settings as default and click OK.

  1. The Frame Window opens. Note that the Frame window has a few visual differences from a legacy window, including:
  • The window background does not contain a grid
  • The Frame Window icon in Windows & Scripts is different from Legacy Windows

  • The Properties must be edited from the Properties Grid in WindowMaker

Frame Windows support the same properties as application windows, with three additional properties.

Frame Property Functionality
MaximizeButton

 

Enables the Maximize button in the upper right of the frame.

Default is False.

MinimizeButton

 

Enables the Minimize button in the upper right of the frame.

Default is False.

WindowState

 

Displays the initial state of the window: Normal, Minimized or Maximized.

Default is Normal.

 

  1. Once the Frame Window is created and opened, you can host an Industrial Graphic within the window. To do so, either drag-and-drop a graphic from the Industrial Graphic Toolbox, or right-click the window -> Embed Industrial Graphic

With Clock_Frame open, right-click the window -> Embed Industrial Graphic. The Galaxy Browser opens.

  1. Expand Industrial Graphic Library -> Clocks and select ClockAnalogWall. Click OK. The analog clock graphic takes up the whole Frame Window, maintaining its aspect ratio by default.

NOTE: If you do not want your graphic to maintain its aspect ratio, go to the Properties pane, select the graphic name from the dropdown, and set the MaintainAspectRatio property to False.

  1. We will now test the pan and zoom controls. Click Clock_Frame. In Properties select the ClockAnalogWall and set ShowZoomControl to Visible.

  1. Switch to WindowViewer and open the Clock_Frame window. Note in the bottom left there is now a Pan/Zoom Toolbar. Using these tools, you can Zoom In/Out, Rubber Band Zoom, Pan the graphic, or choose a specified Zoom size from the dropdown menu.


Section 2 – Converting Legacy Windows to Frame Windows

For this document, we will be converting an existing Reactor Display window. To follow along with this document, you can download the Frame Window training application Here

NOTE: The training application can be used in InTouch version 2020 and newer. You can also use a legacy window of your choosing instead.

  1. Open the FrameWindowTrainingApp in WindowMaker and open the Reactor Display window. Note how it is a legacy window.

2. In order to use the conversion utility, all windows must be closed. Save and close any open windows and go to File -> Convert to Industrial Graphic. The Windows to Convert pop-up appears. Check Reactor display.

  1. Click OK. The conversion begins.

Once the conversion has finished, a report appears containing the details of any error messages, problems, or issues that occurred during conversion. A common problem with converting legacy windows is that they contain ActiveX controls which cannot be converted.

The window will still convert, leaving a blank space in the resulting symbol where the ActiveX control was, as we will see with the Reactor display.

  1. Notice that the Window Conversion finished successfully, but was “partial”. Click the Window Conversion Report link for details.

  1. Scrolling down, find the Windows with Warnings section to see the reasoning for the partial conversion.

Once finished reviewing the report, click Close.

  1. Open Reactor_display. Notice the graphic looks the same, but you can now right-click the graphic to see all the individual graphic elements have been combined into a single graphic named Reactor_display.

You will also notice the two trend objects have been removed per the reasoning in the Window Conversion Report. In your development, you will need find a suitable modern replacement for any elements that cannot be converted.

  1. Observe the two additional changes:
  • In Windows & Scripts under Backup Windows, a new window appears called Reactor display_bak. This is a backup of the original legacy window.

  • In Industrial Graphic Toolbox, there is a new toolset named the same as the InTouch application. Within this toolset is a graphic named Reactor_display.

You can edit this graphic by double-clicking it here, or by right-clicking the graphic within the frame window -> Industrial Graphic “Reactor_display” -> Edit Symbol…

The post Frame Windows and Converting Legacy Graphics to Industrial Graphics appeared first on Industrial Software Solutions.

]]>
Configuring Multi-Monitor for InTouch https://industrial-software.com/training-support/training-documents/td010/ Tue, 10 Oct 2023 17:38:15 +0000 https://industrial-software.com/?post_type=wwpw_training_doc&p=27249 This training document will take you through how to configure an InTouch application to display on multiple monitors. This document also assumes you have a basic understanding of using WindowMaker and creating windows.

The post Configuring Multi-Monitor for InTouch appeared first on Industrial Software Solutions.

]]>
OVERVIEW

This training document will take you through how to configure an InTouch application to display on multiple monitors. This document also assumes you have a basic understanding of using WindowMaker and creating windows.

APPLIES TO

  • InTouch HMI (all versions)

EXPLANATION

A multi-monitor system shows an InTouch application on several monitors simultaneously. Each monitor can show a portion of the screen or only a single window component like a keypad.While running an InTouch application, you can move the mouse between monitors and drag windows from one monitor to another.

Planning for a Multi-Monitor Application

Before developing a Multi-Monitor Application, you must consider the following items:

  1. Choose a multi-monitor video card

2. Determine the application screen resolution

  • Determining your overall screen resolution and knowing the exact size of your viewing area simplifies the process of creating an application for a multi-monitor environment, as it will allow you to easily configure each window’s dimensions.

3. Determine the number of monitors to use and the monitor layout

  • The position and size of the monitors will determine how to develop your window dimensions. For example, if you decide to have two 1920 x 1080 monitors in a horizontal line physically, you can configure a window to show on “Monitor 2” by ensuring it’s position on the X Axis is greater than 1920, but smaller than 3840. Here’s an example of a window that spans the entire width and height of “Monitor 2”.
    • X location = 1920
    • Y location = 0
    • Window Width = 1920
    • Window Height = 1080
  • In this example, the X location starts at 1920 because that is the beginning of our X axis for any windows on “Monitor 2”.

4. Determine the placement of application windows

  • In a multi-monitor application, you can configure the window locations in the following ways:
    • Decide their X/Y location during development time. This training document will utilize this method.
    • Manually move the windows to their respective monitors at runtime
    • Use scripting to call windows to specific locations depending on different conditions

IMPLEMENTATION

  1. Create an InTouch application with the resolution set to the size of one of your monitors. Open this application in WindowMaker.
  2. When creating windows in WindowMaker, you must consider which monitor you want them showing on and the physical location of that monitor when creating the window properties. For our example, we have two 1920 x 1080 monitors, so we will configure two windows accordingly:

Monitor1

  • X location = 0
  • Y location = 0
  • Window Width = 1920
  • Window Height = 1080

Monitor2

  • X location = 1920
  • Y location = 0
  • Window Width = 1920
  • Window Height = 1080

  1. Once you’ve finished developing the application, save and close WindowMaker. Open Windows File Explorer and navigate to the folder for your multi-monitor InTouch application. You can verify this location by opening InTouch HMI Application Manager and noting the Path by right clicking the application tile -> Properties.

  1. Open the INI file in a word editor. Add the following line:

ScaleForResolution=0

Save and close.

NOTE: The ScaleForResolution parameter determines whether the application can be scaled when moved from one environment to the other. This is important when you develop an application on a single monitor system that is intended to run on a multi-monitor system.

When you open the application on the multi-monitor system,  a message will appear prompting you to convert the resolution, but when you click Yes, it will retain the originally specified resolutions for each monitor and not stretch to a new, larger size.

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, InTouch will prompt a resolution conversion. With ScaleForResolution=0, you can still click Yes on the prompt, but it will simply ignore the conversion.

  1. Multi-monitor apps also require a few configuration lines in the INI file for each user. For each user, navigate to C:\Users\<User>\AppData\Local\Wonderware and add the following anywhere under the [InTouch] heading:
Parameter Description
Multiscreen=1 A value of 1 enables multi-monitor mode. A value of 0 disables multi-monitor mode.
MultiScreenWidth=nnnn Width of a single monitor in pixels.
MultiScreenHeight=nnnn Height of a single monitor in pixels.

 

Example:

[InTouch]
MultiScreen=1
MultiScreenWidth=1920
MultiScreenHeight=1080

 NOTE: You can copy and paste this Win.INI file to each user profile.

  1. Once the changes are made and the files are saved, start WindowViewer with the multi-monitor application selected and logged-in as a user where the INI has been modified. Answer “YES” to the question on conversion. WindowViewer will not scale anything on the screens already created – It will instead allow the InTouch desktop to occupy more than one monitor.

The post Configuring Multi-Monitor for InTouch appeared first on Industrial Software Solutions.

]]>
Using Scripting to Enhance the AVEVA Alarm Client Control https://industrial-software.com/training-support/training-documents/td008/ Sun, 08 Oct 2023 22:15:28 +0000 https://industrial-software.com/?post_type=wwpw_training_doc&p=27323 The AVEVA Alarm Client Control is a .NET control available in all Standalone + Symbols and Managed InTouch applications in 2020 and newer. Since it is a .NET control, it has a number of built-in properties and functions that can be used to enhance the basic Alarm Client functionality. In this training document, we will utilizes these options and create several buttons to perform Alarm Acknowledgement and Alarm Filtering.

The post Using Scripting to Enhance the AVEVA Alarm Client Control appeared first on Industrial Software Solutions.

]]>
OVERVIEW

The AVEVA Alarm Client Control is a .NET control available in all Standalone + Symbols and Managed InTouch applications in 2020 and newer. Since it is a .NET control, it has a number of built-in properties and functions that can be used to enhance the basic Alarm Client functionality. In this training document, we will utilizes these options and create several buttons to perform the following functionality:

  • Alarm Acknowledgement
    • Acknowledge all alarms
    • Acknowledge selected alarms
  • Alarm Filtering
    • Call a pre-defined Query/Filter

This document assumes you have knowledge on alarms, alarm groups, creating button elements, and configuring animations in the Industrial Graphic editor. For information on configuring a basic AVEVA Alarm Client Control, please see ISS TN 95. A full list of the properties and scripts can be found in the Alarm Client Control Guide starting on Chapter 4.

For the purposes of this Training Document, you can download and use the AlarmClientTraining application which contains a basic Alarm Client which we will be building on and 5 tags in alarm state for testing purposes.

The application can be downloaded Here

NOTE: The training application can be used in InTouch version 2020 and newer. You can also use your own basic Alarm Client as a starting point.

APPLIES TO

  • InTouch HMI (all versions)

EXPLANATION

Overview on .NET Control Properties and Methods

A Property is used to access or set a value of a particular component of the .NET control. A Method is used to perform some action for the control. Methods sometimes require Parameters which are values to provide to the Method so that it can do something with these values. You can pass Arguments to the Parameters by typing the values to pass within parentheses.

For example, let’s look at the Ack.All() method:

The Ack.All method acknowledges all alarms in the Alarm Control, including those not shown.

Syntax
AlarmClient.Ack.All(AckComment);
Parameters
AckComment
A string indicating the alarm acknowledgement comment.

So if we wanted to utilize this method, we would need to provide a string value Argument that the Method would utilize for the AckComment Parameter.

Example
AlarmClient1.Ack.All("Alarm is acknowledged");

This script acknowledges all alarms and provides each alarm the alarm comment: “Alarm is acknowledged”.

 

Scripting .NET Controls in QuickScript .NET

When scripting the .NET controls, you must make note of their Graphic Name in the Industrial Graphic Editor. In our example, our Alarm Client retains the default name AlarmClient1.

Any scripting of .NET controls follows this basic format:
AlarmClientGraphicName.Property
or

AlarmClientGraphicName.Method

or, when the method is built-in to another property

AlarmClientGraphicName.Property.Method

The QuickScript .NET editor provides a way to view the properties and methods once you’ve typed in the Graphic Name in the script editor. If you type AlarmClientGraphicName, the QuickScript .NET editor will provide a list of properties and/or methods.

You can also use this auto-complete feature to view any Parameters required for a particular Method, by typing “MethodName(”


IMPLEMENTATION

Alarm Acknowledgement

Section 1 – Acknowledge All Alarms

There are several properties and methods you could use to acknowledge all alarms. In this document, we will be using the Ack.All() method, previously discussed in the Overview on .NET Control Properties and Methods section.

  1. Open AlarmClientTraining in WindowMaker. Open the Live_Alarms window and then right-click the Alarm Client symbol -> Industrial Graphic “Alarm_client” -> Edit Symbol… to open the Alarm Client symbol for editing.

2. Create a Button element named AckAll. In Properties -> Appearance -> Text, enter Ack All. Position it below the Alarm Client element.

3. Double-click AckAll to open the Edit Animations window. Click the button to add a new Interaction -> Action Scripts animation.

4. In the body of the script, type:

AlarmClient1.Ack.All(“Acknowledging all alarms.”);

And then click OK to save/close the Edit Animations window. Save and close the graphic editor.

5. To test the button, open WindowViewer and open the Live_Alarms window. 5 alarms should appear. Click the Ack All button and observe the behavior.

All alarms become acknowledged, and the AlarmComment field is set to our specified Argument, “Acknowledging all alarms.”. Close and reopen WindowViewer to regenerate the alarms for further testing if you choose.

 

Section 2 – Acknowledge Selected Alarms

You can acknowledge individual alarms in the Alarm Client by right-clicking an alarm record -> Ack Selected. However, this functionality can also be added to a button. We will use the Ack.Selected() function.

Syntax
AlarmClient.Ack.Selected(AckComment);

Parameters
AckComment
A string indicating the alarm acknowledgement comment.

Example
AlarmClient1.Ack.Selected("This selected alarm is acknowledged");
  1. Open AlarmClientTraining in WindowMaker. Open the Live_Alarms window and then right-click the Alarm Client symbol -> Industrial Graphic “Alarm_client” -> Edit Symbol… to open the Alarm Client symbol for editing.

2. Add a new button named AckSelected to the right of Ack All, or a place of your choosing below the Alarm Client if you did not make the Ack All button. In Properties -> Appearance -> Text, enter Ack Selected.

3. Double-click AckSelected to open the Edit Animations window. Click the button to add a new Interaction -> Action Scripts animation.

In the body of the script, type:

AlarmClient1.Ack.Selected(“Alarm acknowledged”);

And then click OK to save/close the Edit Animations window. Save and close the graphic editor.

4. To test the button, open WindowViewer and open the Live_Alarms window. 5 alarms should appear. Select one or more (ctrl + click) alarms and then click the Ack Selected button and observe the behavior.

In this example, I used ctrl + click to select “Bool_Alarm3” and “Int_Alarm2”. Then I clicked the Ack Selected button, and they became acknowledged. In addition, the AlarmComment field is set to our specified Argument, “Alarm acknowledged”. Close and reopen WindowViewer to regenerate the alarms for further testing if you choose.

Alarm Filtering

Section 3 – Call a Pre-Defined Query/Filter

One way that we can set our Alarm Client to show a specific Alarm Group is to use a pre-defined Query/Filter. For Live Alarms, Queries are used to filter alarms. For Historical Alarms, Filters are used.

We can then call that Query/Filter by using the Favorite Property.

The Favorite property is a read-write string property that gets or sets the name of the current query filter favorite.

Syntax
QueryFilterName = AlarmClient.Favorite;
AlarmClient.Favorite = QueryFilterName;

Parameters
QueryFilterName
The name of a query filter favorite.

Example
The following example sets the current Alarm Control grid to the Query Filter Favorite with the name "All Hi Priority Alarms".
AlarmClient1.Favorite = "All Hi Priority Alarms";

  1. Open AlarmClientTraining in WindowMaker. Open the Live_Alarms window and then right-click the Alarm Client symbol -> Industrial Graphic “Alarm_client” -> Edit Symbol… to open the Alarm Client symbol for editing.

2. Double-click AlarmClient1 and choose Queries and Filters from the Configuration options.

3. Since this is a Live Alarms client, click the + button above Queries to add a new one. The Add Query or Filter window opens.

4. Name the Query “Discretes”. Select Group from the list and click the green right arrow. Then select Group from the middle pane, type “BooleanTags” in the value field, and click Set.

In the AlarmClientTraining application, BooleanTags is a defined Alarm Group. The three Discrete tags have BooleanTags configured for their alarm group, whereas the two Integer tags have $System set for their alarm group.

5. For Live Alarms, a provider must also be specified. Select Provider from the and click the green right arrow. Then select Provider from the middle pane, type “InTouch” in the value field, and click Set.

Click OK to close the Add Query or Filter popup. Then click OK again to close the Edit Animations window.

6. Add a new button named Discretes to the right of Ack Selected, or a place of your choosing below the Alarm Client if you did not make the Ack Selected button. In Properties -> Appearance -> Text, enter Discretes.

7. For the purposes of this document, we will create a Discretes button that utilizes a pushbutton “Toggle” animation. Clicking the button will set the Query to “Discretes”. Clicking the button again will set our filter to back to “Default”. Double-click Discretes to open the Edit Animations window. Then click the button to add a new Interaction -> Action Scripts animation.

In the body of the script, type:

AlarmClient1.Favorite = “Discretes”;

And then click OK to save/close the Edit Animations window. Save and close the graphic editor.

8. To test the button, open WindowViewer and open the Live_Alarms window. 5 alarms should appear. Then click the Discretes button. The Alarm Client should now show 3 alarms from the discrete tags only, and the Query is set to “Discretes”.

 

The post Using Scripting to Enhance the AVEVA Alarm Client Control appeared first on Industrial Software Solutions.

]]>
Getting Started with the AVEVA Trend Control Client in Stand Alone InTouch Applications https://industrial-software.com/training-support/training-documents/td002/ Mon, 02 Oct 2023 15:20:52 +0000 https://industrial-software.com/?post_type=wwpw_training_doc&p=27608 The AVEVA Trend Client Control is a .NET control available in all Standalone + Symbols InTouch applications in 2020 and newer. It can be used to trend historical data from either the InTouch Historical Logging system or from an AVEVA Historian. This training document will walk you through configuring InTouch Historical Logging and configuring the Trend Client to log data from a single tag using the InTouch Historical Logging system.

The post Getting Started with the AVEVA Trend Control Client in Stand Alone InTouch Applications appeared first on Industrial Software Solutions.

]]>
OVERVIEW

The AVEVA Trend Client Control is a .NET control available in all Standalone + Symbols InTouch applications in 2020 and newer. It can be used to trend historical data from either the InTouch Historical Logging system or from an AVEVA Historian. This training document will walk you through configuring InTouch Historical Logging and configuring the Trend Client to log data from a single tag using the InTouch Historical Logging system in two sections:

  • Setting up Historical Logging in InTouch
  • Configuring the Trend Client

This document assumes basic knowledge of Industrial Graphics. For a full list of configuration options, as well as scripting information, please view the AVEVA Trend Client Control User Guide.

APPLIES TO

  • InTouch HMI (all versions)


EXPLANATION

Historical Logging

To start historical logging, it must be first be enabled in WindowMaker -> Tools -> Configure -> Historical Logging. When historical logging is enabled, each day at midnight two files are created. The files which are created are .lgh, which contains the data. The second file is .idx which is an index for quick lookup of tag information.

An entry is recorded in the data file each time the value of a tag changes. This is named delta storage. Additionally, WindowViewer writes one record every hour for every tag that has been enabled for historical logging. This is named cyclic storage.

Individual tag data can be recorded to the historical log files when the Log Data feature is enabled. This setting can be done on a tag by tag basis in the Tagname Dictionary, or in bulk by using the DB Load feature.

Trend Client Control Overview

The Trend Client is a .NET control which must be added to an Industrial Graphic. The functionality of the Trend Client includes realtime plotting of tag data, and a backfill feature which leverages InTouch history. Backfill allows the chart to be instantly filled with data while waiting for real-time information to be plotted.

After the .NET Trend Client has been embedded into a symbol, its animations are then configured to determine the following:

  • Pens
    • Pens allows you to add tags to plot on the Trend Client in real-time. Pen configuration induces a legend description, data range, width of the pen, color of the pen, numerical formatting, and the historical source for backfill purposes.
  • Appearance & Options
    • The appearance and behavior of the Trend Client is determined by the Appearance and Options settings. For example, you can change the background color or image used in the chart, you can turn on a legend to display which pens are configured, or determine the rate at which the chart updates real-time data.
  • Historical Sources
    • You can get data from InTouch .lgh files or from an AVEVA Historian using the Historical Sources setting. This allows the chart to backfill with historical data.  If the chart remains on the screen long enough, eventually real-time data will fill the entire chart, and replace the backfilled portions. Once a historical source has been defined each pen that is added to the chart must use this historical source to backfill its individual data.

IMPLEMENTATION

Section 1 – Setting up Historical Logging in InTouch

In this section, we will configure the built-in historical logging system in InTouch and create a single tag to log data.

NOTE: If you already have historical logging configured or are using a Historian, you can use those instead and jump to Section 2 for Trend Client configuration.

  1. Open WindowMaker and go to the Tools pane -> Configure -> Historical Logging. The Historical Logging Properties window appears.

2. Check the Enable Historical Logging box to turn on historical logging. In the Keep Log Files for field, enter 180. We will leave the rest of the settings as default, but the following properties can be defined:

  • Keep Log Files for
    • The number of days prior to the current day to retain log files. 0 days is unlimited.
  • Store Log Files
    • Application Directory: Saves the log files in the same folder as the InTouch application creating the logged data.
    • Specific Directory: Specify another folder to store log files. This can be a Windows folder path or a Universal Naming Convention (UNC) path.
      • NOTE: If configured to write historical data to the master application node’s Application Directory, all NAD nodes try to write historical data to the master application. To avoid this, configure historical data on each NAD node to write to a local directory, not the master application node.
  • Name of Logging Node (ONLY used for Distributed Historical Logging)
    • The node name of the computer running the InTouch application creating log data.

3. Now we will create a tag to log data. Open the Tagname Dictionary and click New. Configure the tag as follows:

  • Tagname: Trend1
  • Type: Memory Integer
  • Min Value: 0
  • Max Value: 10
  • Initial Value: 5

4. In order to store historical data for “Trend1”, we will need to also check the Log Data checkbox.

Click Close to save and close the Tagname Dictionary.

5. Next, we will generate some changing data for this tag.  Go to Scripts -> Application. Change the Condition Type to “While Running”. Enter 1000 in the Every field so the script runs every one minute.

Then paste the following in the script body:

IF Trend1 < 10 THEN 
Trend1 = Trend1 + 1;
ELSE 
Trend1 = Trend1 - 10;
ENDIF;

With this script, every one second, Trend1 will increase until it reaches 10. Once it reaches 10, the count will reset back to 0 and start counting up again.

Section 2 – Configuring the Trend Client

Once we have historical logging configured, now we can configure our Trend Client to plot real-time data and backfill Historical Data.

  1. To start, create a new Industrial Graphic named Trend and open the symbol for editing.

2. In the Tools pane, select the TrendClient element and place it on the canvas.

3. Double-click TrendClient1 to open the Edit Animations window. Since it is a .NET control, it has a number of built-in animations. To start, we will configure Pens.

Click the to add a new pen and name it Pen 1. In the Expression or Reference field, enter “Trend1”.

4. Configure the Pen Details as follows:

  • Description: This is an example pen
  • Units: <blank>
  • Min: 0
  • Max: 10

5. We will leave the Pen Options as default, but they could be configured as follows:

  • Color: The line color of the pen. Click the colored square to select the color from a palette or define a custom color.
  • Width: The thickness of the trend curve. Valid values are 0 through 10.
  • Style: The style of the trend curve; for example, a solid or dashed line.
  • Plot type: The type of trend curve to draw. Options are Line, Step line, Point, and Auto.
  • Decimal Places: The number of decimal places to show for the data value. This applies only to analog tags. Valid values are 0 through 15.
  • Format The way the values for the pen appear, either in decimal format or scientific format.
  • Retrieval Mode The data retrieval mode, either Cyclic, Full, or Application Setting.

We will also leave Historical blank for now until we configure the Historical Source.

6. Click Appearance. Uncheck “Allow Highlight Pen”. The remaining settings could be configured as follows:

Properties
  • Single tag mode: Setting the trend to single tag mode allows you to exclude all tags but one from appearing in the trend chart, without removing them from the tag list.
  • Background color: Main color of the background of the plot area. If you are using a gradient fill, this is the starting color for the gradient.
  • End color: Ending color for the gradient. The gradient starts with the main color and fades to the gradient end color.
  • Type: The starting point for the flow of the gradient
  • Border Color: Color of the border for the entire chart area
  • Allow highlight pen: Highlights the currently selected pen. Highlight color and Width allow you to configure the color and width to be used for pen highlighting
  • Show horizontal grid and Show vertical grid allow you to show or not show the horizontal or vertical grid
  • Color: Configure a grid color
  • Width: The width, in pixels, of the border line
  • Style: The style of the border line
X Time Axis
  • Show Cursor: To show the horizontal time-axis cursor
  • Cursor 1
    • Color: Click to select or configure the color for time axis cursor 1
    • Width The width of time axis cursor 1
    • Style The line style of time axis cursor 1
  • Cursor 2
    • Color: Click to select or configure the color for time axis cursor 2
    • Width: The width of time axis cursor 2
    • Style: The line style of time axis cursor 2
  • Number of values: The number of values that are shown along the time axis. The values are shown at evenly-spaced points along the axis. The number of values remain the same even if you zoom in and out. The valid range is from 2 to 15, with a default of 6
  • Grid lines per value: The number of grid lines that appear between each pen value plotted on the chart. The valid range is from 1 to 20, with a default of 3
  • Label color: The color of the X axis label
Y Value Axis
  • Number of values: The number of values that are shown along the value axis. The timestamps are shown at evenly-spaced points along the axis. The number of values remain the same even if you zoom in and out. The valid range is from 2 to 15, with a default of 6
  • Grid lines per value: The number of grid lines appearing between each pen value that is plotted on the chart. The valid range is from 1 to 20, with a default of 2
    Value axis label: The label of the value axis

7. Click Options. Check “Show pen selector”. The settings could be configured as follows:

  • Show pen selector: Show the legend or list of pens at the bottom the trend
  • Trend background color: The main color of the background of the entire chart area
  • Show run-time context menu: Show the context menu when you right-click the trend at run time
  • Decimal Places: Number of decimal places to use in the trend
  • Labels: Show labels on the chart or not.
  • Allow freeze/unfreeze trend update: Enable Freeze on the run-time context menu so you can freeze the trend chart from live updates. When this option is selected (the default), you can also set the freeze duration. The freeze duration determines how long the chart remains frozen when you freeze the chart at run time. After the freeze time has elapsed, the chart resumes the live updates. If the freeze duration is set to 0, you must manually unfreeze the chart.
  • Refresh interval: Number of seconds between chart updates. You can optionally select Refresh entire chart to refresh the entire chart after the number of refresh intervals you specify.
  • Retrieval Mode: to Full or Cyclic. Full retrieval mode returns all stored data points for a tag within a trend period. Cyclic retrieval mode returns stored data at equal length intervals within a trend period.
  • Trend Duration: Set up to a maximum period of 2 years. All trend durations are calculated backward from an end date of the current time (except for the options “Yesterday” and “Previous Hour”). You can pick a duration from the list or type a specific duration in the list box. The time notation is:
    • [DD] HH:MM:SS.fff, where DD=days, HH=hours, MM=minutes, SS=seconds, and fff=milliseconds.

8. Click Historical Sources. Here we will enter the information for our InTouch Historical Logging to allow our pens to backfill with historical data.

Click the to add a new historical source. Click “InTouch Log History/LGH”.

9. Configure the InTouch Log History/LGH section as follows:

Name: InTouchHistory

UNC Path: <InTouch Application Path>

NOTE: By default, the InTouch Application File Path appears in the title bar of WindowMaker. If not, you can also find it from the InTouch Application Manager in the Path field.

Once the information is entered, click away and then come back to the page to see the new source populate.

10. The last configuration step is to go back to Pens and enter the Historical information for “Pen 1”. Click Pens and select “Pen 1”.

In the Historical area, enter “InTouchHistory” in the Source field and “Trend1” in the Tag field.

11. Click OK to close the Edit Animations window and Save and Close Graphic Editor. Embed “Trend” in a window of your choosing and open WindowViewer for testing.

Observe the value logging in real-time.

After observing enough live data, close WindowViewer completely and then re-open it to test the backfill capabilities.

The post Getting Started with the AVEVA Trend Control Client in Stand Alone InTouch Applications appeared first on Industrial Software Solutions.

]]>
Creating AVEVA InTouch HMI Access Names https://industrial-software.com/training-support/training-documents/td001/ Sun, 01 Oct 2023 21:07:18 +0000 https://industrial-software.com/?post_type=wwpw_training_doc&p=25458 AVEVA InTouch HMI uses Access names to reference real-time I/O data. Each Access name is associated with an I/O source (such as an AVEVA OI Server) that must be on the same network as the InTouch application node.

This training document will walk you thought the steps to set up an Access Name in a Stand Alone AVEVA InTouch HMI application.

The post Creating AVEVA InTouch HMI Access Names appeared first on Industrial Software Solutions.

]]>

SUMMARY

AVEVA InTouch HMI uses Access names to reference real-time I/O data. Each Access name is associated with an I/O source (such as an AVEVA OI Server) that must be on the same network as the InTouch application node.

This training document will walk you thought the steps to set up an Access Name in a Stand Alone AVEVA InTouch HMI application.

APPLIES TO

  • InTouch HMI (all versions)

PROCEDURE

Section 1 – Creating the Access Name

  1. In InTouch WindowMaker, open your application. One the Special menu, select Access Names.
  1. Click Add.
  1. In the Add Access Name window, you enter the appropriate values into the fields shown below:
OPTION PURPOSE
Access Name The Access name must be unique for each I/O source.
Node Name The Node Name is the computer name or IP address of the computer on the network which is hosting the I/O source (typically an AVEVA OI Server). A blank Node Name implies the I/O source is running on the local node.
Application Name The Application Name is the process or executable running on the remote computer, which InTouch will connect to. Note: Do not enter the “.exe” extension portion of the program name.
Topic Name The Topic Name is the device group, scan group, or channel used by one or more items (PLC memory addresses) that will be polled at a specific frequency or rate. The OI Server must contain the same spelling of the topic name in its device group list configuration.
Which Protocol to use Select DDE (local node only) for support of older I/O servers, or connections to Microsoft Office products; or SuiteLink (proprietary network protocol).
When to advise server

Advise all items: Select if the server program is to poll for all data whether or not it is in visible windows, alarmed, logged, trended or used in a script. Selecting this option impacts performance and is not recommended.

Advise only active items: Select if the server program is to poll only points in visible windows and points that are alarmed, logged, trended, or used in any script. An InTouch Pushbutton action script is not polled unless it opens in a visible window.

In our example, we are using the following values:

Access Name: ModbusPLC
Node Name: InTouchPC
Application Name: MBTCP
Topic Name: Normal
Which Protocol to use: SuiteLink
When to advise server: Advise only active items
  1. Click OK. The new item will now appear in the Access Names
  1. Click Close.

Section 2 – Adding Access Names to InTouch I/O Tags

In order for InTouch I/O tags to collect values from an I/O source, it must be associated with an Access name. An Access name defines a communication link with another I/O data source. Each Access name specifies an external I/O source consisting of a node name, an application name, and a topic. When you create I/O tags, you must associate them with an Access name in the definition of the tag.

  1. On the Special menu, select Tagname Dictionary.
  2. In the Tagname Dictionary window, click New.
  3. In the Tagname field, enter an appropriate tagname.  Our example uses “Mixer100_Level_PV”.
  1. Click Type and select the appropriate I/O tag type (our example uses I/O Integer) and click OK.

Note that when an I/O tag type is selected, an additional panel appears to configure the I/O details.

  1. Click Access Name. The Access Name window appears.
  2. Select the Access name you want to use and click OK.

Notice the tagname has been copied into the Item field, but it is grayed out so it cannot be edited. This field indicates the item that will be requested from the I/O source.  The Item name can be edited by changing the name of the tag. Otherwise, you must uncheck Use Tagname as Item Name to edit the Item field or create a Device Items list in the OI Server as detailed in the next section.

Section 3 – Create an OI Server Device Items List

The Item Name is used to determine which data value is retrieved from the I/O source.  In some instances, the item name in the I/O source may be different than the Tagname being used in the InTouch application (such as a PLC that uses numerical addresses instead of tags).  In these cases, you can either A) uncheck the Use Tagname as Item Name option for the tag and edit the Item Name field with the correct I/O source reference or B) you can create a list of all references on the Device Items tab of the OI Server configuration.

  1. In the System Platform Management Console, expand the Configuration section of the OI Server until you reach the PLC configuration. Our example is using the MBTCP OI Server.
  1. Select the Device Items tab. Right-click in the table area and select Add.
  1. In the Name field, enter the Tagname from the InTouch application. In our example, we are using the Mixer100_Level_PV tag.
  2. In the Item Reference field, enter the item in the PLC that you want to use for the listed tag. In our example, we are referencing the value at the 300001 address.
  1. When you have entered all the needed references, click on the save icon in to top right corner to save the configuration.

Once the Device Items list is saved, if any client (e.g. InTouch) requests the value for an item that is on the list, it will return the value of the configured reference in the PLC.  In our example, requesting the value of Mixer100_Level_PV from the MBTCP OI Server will return the value at address 300001 in the PLC.

The post Creating AVEVA InTouch HMI Access Names appeared first on Industrial Software Solutions.

]]>