Deploying Action.NET Projects

Action.NET projects can be deployed to run locally on a stand-alone computer or embedded device, as well in a client-server distributed architecture or on the cloud.

The following sections describe how to deploy the runtime application:

n        Local and Distributed Systems

n        Product installation on the target computer

n        License and Project Settings Verification

n        Installing the Project Configuration files

n        Setup the server to start the runtime

n        Remote Client Users Setup

n        Deploying Redundant Systems


Local and Distributed Systems

When you are finished developing and testing the application, you can deploy the runtime application for use by the end-user clients.

Action.NET supports many deployment scenarios such as:

n        Embedded devices with no local user interface.

n        Stand-alone panels or computers with local user interface.

n        Distributed systems with many client stations accessing a server.

n        Redundant servers with multiple users connected.

The setup procedures to each scenario have many common steps. For all the systems, even the stand-alone installations, Action.NET has the concept of the Server and Client components.

The Server components is the Project file and the Modules that run the server side tasks, such as data-acquisition, alarms and data logging.

The Client component are the Graphical User Interfaces and related scripts.

When you have a local or stand-alone project the server and the client components are just running on the same machine.

The client technologies used by Action.NET simplify a lot the deployment as you have to install the project on the server computer; all the clients stations will use the project from its server.

In order to setup the server components or stand-alone configurations refer to sections:

n        Product installation on the target computer

n        License and Project Settings Verification

n        Installing the Project Configuration files

The client setup can be slightly different according to its type. Action.NET supports the following client technologies:

n        Windows rich client—See Windows Rich Clients

n        Windows smart client—See Windows Smart Clients

n        Windows web-based—See Windows Web Clients

n        iOS—See iOS, iPhone and iPads, Clients

n        Active-X, COM, and JavaScript—You can access the runtime application using the DataAccess API, which is a COM interface to provide integration with Active-X, JavaScript on web pages, or legacy programming languages such as VBScript. Contact support for assistance.

For redundant scenarios see Deploying Redundant Systems


Product installation on the target computer

n        Access to all referenced PLCs and their data.

n        Full installation of Action.NET, including either the embedded web server (TWebServer) or IIS.

The installation requires .NET. See Getting Help.

The stand-alone computer or the server components on distributed systems must that have the Action.NET installed and licensed.

The section Installing Action.NET describes the standard way to install and license Action.NET.

When you are not using components that require the setup of the Windows Registry, such as the OPC components, you also just copy the product files without running any installation (that is very useful to embed the software on devices), removing project examples or engineering components, adding custom protocols.

On distributed systems, the client computers don’t require a license, they just need to be allowed to connect with the server based on number of runtime users enabled on the server. For more information on the client setup, see Remote Client Users Setup.

If the system will have remote users, the TWebServer or IIS must be installed and running on the server computer.


License and Project Settings Verification

The Action.NET project is created targeting one specific Product Family and Product Model, as defined on the Info > Project > Settings page.

It is necessary to ensure that the License on the server computer is “greater than or equal” to the requirements of the project, which means the following check-list:

n        The Family defined in the license must be the same as the Family in the project or a higher hierarchy family.

l          Enterprise licenses can run all projects (Enterprise, HMI and OPCServer)

l          HMI licenses can run HMI and OPC Server projects

l          OPCServer licenses can run only OPC server projects

l          Express licenses or projects are not authorized for production environments.

n         The Model in the license must support a number of communication points equal to or greater than the project that will run on the server computer.

n        The License Type on the target computer must be Engineering or Runtime. The license of type DEV (Development) are only for System Integrators internal work and shall not be used in production environments.

n        If the Project requires any additional interfaces, such as OSIsoft(tm) PI System, or IEC protocols, make sure the license on the target computer is enabled for those interfaces.

n        Verify if the number of remote clients enabled meets your project requirements.

For more Information about product and license models refer to “Action.NET Versions and Licenses” on page 173.


Installing the Project Configuration files

The project configuration is just one file, with extension TPROJ or TRUN, according to whether you want to install for production the main project configuration file or a published version.

The Project Management utility allows you to connect with remote servers and download the project files to remote computers.

Although that one file contains the entire project configuration, you should use the following check-list to ensure that any external dependencies are also taken care of.

n        If the folder structures on the Production computer is not the same you used for development, make sure that all the places you have FILE PATHS in your project are mapped correctly to the production computer. Action.NET has many features and macros to define paths relative to the Project location, product installation or execution path; whenever possible avoid using fixed path locations in your projects.

n        Any external WPF controls should also be copied the target computer. For remote web access those files should be located at the folder WpfControl and the utility to update the web manifest must be executed.

n        If the application is referencing external DLL or .NET assemblies ensure they are available and at the correct paths on the target computer.

n        If the project uses RETENTIVE values, you must decide if the target computer will create a new Retentive database or you if you will copy one with some predefined values.

n        Enable Firewall to allow remote clients. Ports 3101 for startup (optionally port 3201 to Test Mode). For web and iOS clients, data web services enabled on port 80.

n        If the application is using external DLLs, WpfControls, configuration files or embedded databases, make sure you copy those files to the target machine and double check if the PATHNAMES you used in the project configuration are compatible.


Setup the server to start the runtime

You can run the project in any of the following ways:

n        Start manually, from the Action.NET main window and project list, right-click the project and select Run Project.

n        Start manually, when configuring the project, go to Run > Startup and click Run Startup.

n        Start the project automatically, which is the best option for production environments.

The best way to define an automated startup of the product, it is to use the configuration interface available on the Project Management tools, at the SERVER tab.

Click the Settings button to choose the project and start-up form

inset_1.jpg

 

The configuration window will be displayed, shown in the figure below

inset_2.jpg

 

The None option is used to not create the automatic project launch.We recommend to start manually during the project development or installation where it is necessary for an operator during the startup process, otherwise the automated startup is more suitable for production computers.

You should use the login option, the startup shortcut, when testing the project or in scenarios where the application will always run in the same Windows user profile.

Use the Windows Service on production servers when you need different Windows users to login on the computer, while keeping the server side runtime components running at all times.

We support the OPC client activation, in order to be in full OPC compliance, but we don’t recommend its use, because, as a good practice principle, it not desirable to allow the status of remote client connections to control if a server side application is running or not.

The following sections will describe what those automated settings are doing if, for some reason, you need to setup those startup settings without using the configuration tools.


Using a Shortcut on Windows Startup

You can configure a Windows server to automatically start a project using a startup shortcut. The startup shortcut only starts the application when a user logs in to Windows. and the application stops running when the user logs off of Windows.

This procedure is automatically executed by the system when the startup mode is selected, as described in Setup the server to start the runtime. This section will explain how to manually setup those shortcuts.

The Project runtime startup is executed by the program TStartup.exe.


When using this example, make sure to change the installation path and version of the Action.NET to the installation on your computer.

Command lines parameters:”

/project: Project Path and Name between double quotes

/username: (optional), username that will be used to start the server , if you do not specify, the user guest will be used.

/redundancy: indicates that the server redundancy is being used (requires ip1 and ip2)

/ip1: IP Address of the Primary Action.NET Server

/port1: TCP port of the Primary Action.NET Server

/ip2: IP Address of the Secondary Action.NET Server

/port2: TCP port of the Secondary Action.NET Server

The modules that will be started are configured in the project, at Run.Startup.

inset_0.jpg 

Examples:

"C:\Program Files (x86)\Spin\Action.Net\an-2016.1\TStartup.exe" /project:"C:\ActionNet Projects\Project1.tproj"

"C:\Program Files (x86)\Spin\Action.Net\an-2016.1\TStartup.exe" /project:"C:\ActionNet Projects\Project1.tproj" /port1:3101

 

Server Redundancy:

"C:\Program Files (x86)\Spin\Action.Net\an-2016.1\TStartup.exe" /project:"C:\ActionNet Projects\Project1.tproj" /username:Administrator /redundancy /ip1:192.168.1.1 /port1:3101 /ip2:192.168.1.2 /port2:3101


Creating the shortcut

Go to Start > All Programs, and right-click the Startup folder, and select Open.

1.      In the Startup folder, right-click and select New > Shortcut.

2.      In the Create Shortcut window, paste into the field that displays.

3.      If you are not using redundancy, delete the redundancy part of the text.


In the examples below, be sure to change the installation path and version of the Action.NET to the installation on your computer.

4.      Type or paste the full command line, examples: "C:\Program Files (x86)\Spin\Action.Net\an-2014.1\TStartup.exe" /project:"C:\ActionNet Projects\Project1.tproj"

5.      Click Next.

6.      Enter a name for the shortcut.

7.      Click Finish.

n        When you restart the computer next, the project will start automatically.

 


Using a Windows Service to Startup

You can configure a Windows server to automatically start a project when the computer starts using a Windows Service. The Windows Service starts the application as soon as the computer is powered on and the Windows Operating System starts, even if no user has logged in to Windows.

This procedure is automatically executed by the system when selected for startup mode, as describe on Setup the server to start the runtime. This section will explain how to setup it manually.


These methods do not start the client (user interface with the displays). To automate the client startup, see Automatically Starting Windows Clients.

Use the Windows Service only on production servers that you are not using as engineering stations, and only if you need the ability to differentiate Windows users logging in while the project is running.

The first several steps of the procedure below are required to let you set up the Windows Service.

To run your application as a Windows Service:

1.      Go to Info > Project > Redundancy.

2.      Enter or select the information, as needed.

Field

Description

Enable Configuration

Select to enable the configuration.

Primary Server IP and Port

Enter the IP address and port of the primary server.

Secondary Server IP and Port

Enter the IP address and port of the secondary server, if any.

On Primary Startup

Select the option you want.

Historian Replication

Select how to handle historian replication.

Connection Timeout

Connection timeout time, in seconds, to switch to secondary server.

Server Command Line

Read-only field populated based on the fields above. Click Copy to Clipboard to copy the command for use.

Rich Client command

The command line to start a Rich Client with the parameters selected for the project

Smart Client URL

The URL to access the Smart Client with the project parameters.

Web client URL

The URL to access the WEB Client with the project parameters.

View-Only

If checked, applies the View-Only parameter to Rich and Smart Clients URLs.

Windows Authentication

If checked, applies the Windows Authentication parameter to Rich and Smart Clients URLs.

3.      Next to the Server Command Line field, click Copy to Clipboard.

n        This copies the read-only field that was populated based on the fields above it.

4.      Open a text file, paste, and continue with steps 5 through 7 in the file.

5.      If you are not using redundancy, delete the redundancy part of the text.

6.      At the beginning of the command line, enter or paste the full path to the Action.NET installation folder and put quotes around it.

n        It should look something like this:
“C:\Program Files (x86)\Spin\Action.NET\an-2016.2\tStartup.exe”

7.      Before the “tproj” text, enter or paste the full path to the project.

n        It should look something like this:
/project:C:\Action.NET Projects\<project_name>.tproj

n        The whole command line should look something like this:
“C:\Program Files (x86)\Spin\Action.NET\an-2016.2\tStartup.exe” /project:/project:C:\Action.NET Projects\<project_name>.tproj

n        /username:<username>

8.      Leave the text file open for use in step 10.

9.      From the DOS prompt, go to the <.NET Framework Install Path> and execute the following command:

installutil <InstallPath>\<an-version>\TStartupAsService.exe

n        Example:
C:\Windows\Microsoft.NET\Framework\v2.0.50727>installutil c:\Program files\Spin\Action.NET\an-2016.2\TStartupAsService.exe

10.  Copy and paste the command you created in the text file.

11.  In the Windows Registry, set up the parameters on:

"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\TStartup\ImagePath"

n        Example:
"c:\\Spin\Action.Net\an-2016.2\TStartupAsService.exe" "/project:C:\Action.NET Projects\Project1.tproj"

12.  In the Windows Services (Administrative Tools), set "TStartup Service" to Automatic, so the selected project will start when the computer starts.


Remote Client Users Setup


Windows Rich Clients

You can deploy your application for use by Windows rich clients.

Table 1 describes how the rich client deployment works.

Table 1: Windows rich client deploymentAction.NET

Installation

Install Action.NET on the client computer. See Installing Action.NET.

How to start

Run the TRichClient.exe program.For an example of how to automatically start the client when a user logs in to Windows, see Automatically Starting Windows Clients.

Execution

Runs in its own window. It allows very strong user security, including the ability to disable Windows task-switch, according the login on the running project.

When running the TRichClientt.exe on 64-bit machines, the application runs in 64-bit native code. If you need run the 32-bit version, for instance to ensure compatibility with legacy COM and Active-X components, you can use the TRichClient32.exe program.

Communication

Communicates with the server using WCF (port configurable, default 3101).


Windows Smart Clients

You can deploy your application for use by Windows smart clients.

The smart client runs like the rich client, that is, they work the exact same way, but the smart client uses the ClickOnce™ installation. This technology lets you have the same functionality as the rich client, but without having to install Action.NET on your computer.

The first time you access the application, the system automatically downloads the necessary components to run the application. The next time you access the application, the system verifies if the local cache is the same version of the application that is on the server, and if necessary, updates the local cache before running the application. If the version is the same, the application starts immediately.

Table 2 describes how the smart client deployment works.

Table 2: Windows smart client deploymentAction.NET

Installation

No installation required. You just need .NET Framework 4.6.2 and Internet Explorer 8.0 or later on the client computer.

The first time you start the application, it will automatically download the required components from the server. Every time the application starts, it verifies automatically if a new version is available on the server.

How to start

From Internet Explorer (or a shortcut) go to the URL:

http://<ServerIPAddressorName>/an-2016.2/TSmartClient.application

For an example of how to automatically start the client when a user logs in to Windows, see Automatically Starting Windows Clients.

Execution

Runs exactly the same as the rich client. The functionality of the rich client and the smart client are the same; only the installation and activation methods are different.

Communication

Communicates with the server using WCF (port configurable, default 3101).


Windows Web Clients

You can deploy your application for use by Windows web clients.

Table 3 describes how the web client deployment works.

Table 3: Windows web client deploymentAction.NET

Installation

No installation required. You just need .NET Framework 4.6.2 and Internet Explorer 8.0 or later on the client computer.

The first time you start the application, will automatically download from the server the required components. Every time the application starts, it verifies automatically if a new version is available on the server.

How to start

From Internet Explorer (or a shortcut) go to the URL:

http://<ServerIPAddressorName>/an-2016.2/TWebClient.Xbap

For an example of how to automatically start the client when a user logs in to Windows, see Automatically Starting Windows Clients.

Execution

Runs inside a web browser windows using “Partial Trust” (Sandbox Security).

Communication

Communicates with the server using HTTP or HTTPS (port 80).


Automatically Starting Windows Clients

You can create a shortcut to the appropriate executable, depending on the client type, to automatically start the application on a Windows client. You can create the shortcut on the desktop or put it into the Startup folder, as described below.

For the web client, you can also configure the application as the home page in Internet Explorer.

Go to Start > All Programs

1.      Right-click the Windows Startup folder.

2.      Select Open to open the Startup folder.

3.      In the Startup folder, right-click and select New > Shortcut.

4.      In the Create Shortcut window, paste into the field that displays.

5.      If you are not using redundancy, delete the redundancy part of the text.

6.      Do one of the following:

n        For a rich client—At the beginning of the command line, enter or paste the full path to the Action.NET installation folder and put quotes around it.

l          It should look something like this:

“C:\Program Files (x86)\Spin\Action.NET\an-2016.2\TRichClient.exe” /ip1:<IP_address>

n        For a smart or web client—At the beginning of the command line, enter or paste the full path to the Internet Explorer installation folder and put quotes around it.

l          It should look something like this:

“C:\Program Files (x86)\Internet Explorer\iexplorer.exe” http:<IP_address>/an-2016.2/TSmartClient.application

“C:\Program Files (x86)\Internet Explorer\iexplorer.exe” http:<IP_address>/an-2016.2/TWebClient.Xbap

7.      Click Next.

8.      Enter a name for the shortcut.

9.      Click Finish.

n        When you next restart the computer, the project will start automatically.


iOS, iPhone and iPads, Clients

You can deploy your application for use by iOS clients: iPad, iPhone, and iTouch. For other tablet devices, contact support.

Table 4 describes how the iOS deployment works.

Table 4: iOS deploymentAction.NET

Installation

Install the SCADA HMI Client app from the Apple Store.

How to start

Start the SCADA HMI Client app and follow the initial setup options.

Execution

On iOS, it runs natively, thus providing higher performance, enhanced security, and access to native graphical components, compared to other applications using Terminal Client, Remote Desktop, or HTML web.

Communication

Communicates with the server by calling a web service using port 80. The server must be on the same VPN or local network as the iOS device, or it can be a public IP address, as long as HTTP access is enabled.

To deploy on an iOS device:

1.      From your iOS device, tap the App Store icon.

n        You can also go to the Apple App Store from iTunes.

2.      Search for and install the SCADA HMI Client app.

3.      Start the SCADA HMI Client app.

4.      Enter the following information:

Field

Description

Host Server

IP address or name of the project server.

Port

Port 80.

Polling

Defines the refresh rate between the client and the server, expressed in quarters of a second. The default value of 1, means the client gets new data from the server every 250 ms. When connecting to servers located on the Internet or low bandwidth networks, that value should be increased. For more information, refer to the help for the app.

User

Project user name as configured in the project. The default is guest.

Password

Project password associated with the user name.

Project

Project name on the remote project server.

5.      Touch in Login.

n        The graphics and displays download, then the application starts. The application startup the first time may take a little longer than subsequent startups.


Deploying Redundant Systems


Configuring Redundancy options

You can configure application redundancy by configuring two computers as servers. One computer will be the primary, and the other will be the secondary or hot standby. If the primary computer or connection to the computer fails, the system automatically fails over to the secondary computer.


If you selected HMI as the Product Family, the redundancy configuration is not available.

To configure redundancy:

1.      Go to Info >Project > Redundancy.

2.      Enter or select the information, as needed.

Field

Description

Enable Configuration

Select to enable the redundancy configuration.

Primary Server IP and Port

Enter the IP address and port of the primary server.

Secondary Server IP and Port

Enter the IP address and port of the secondary server.

On Primary Startup

Select the option you want.

Historian Replication

Select how to handle historian replication.

Connection Timeout

Connection timeout time, in seconds, to switch to secondary server.

Server Command Line

Read-only field populated based on the fields above. Click Copy to Clipboard to copy the command for use.

Rich Client Command

Read-only field populated based on the fields above. Click Copy to copy the command for use.

Smart Client URL

Read-only field populated based on the fields above. Click Copy to copy the command for use.

Web Client URL

Read-only field populated based on the fields above. Click Copy to copy the command for use.

 

Automatically start the application on a Windows client:

1.      Go to Info > Project > Redundancy.

2.      Enter or select the information, as needed.

Field

Description

Enable Configuration

Select to enable the configuration.

Primary Server IP and Port

Enter the IP address and port of the primary server.

Secondary Server IP and Port

Enter the IP address and port of the secondary server, if any.

On Primary Startup

Select the option you want.

Historian Replication

Select how to handle historian replication.

Connection Timeout

Connection timeout time, in seconds, to switch to secondary server.

Rich Client Command

Read-only field populated based on the fields above. Click Copy to copy the command for use.

Smart Client URL

Read-only field populated based on the fields above. Click Copy to copy the command for use.

Web Client URL

Read-only field populated based on the fields above. Click Copy to copy the command for use.

3.      Click the Copy button next to the type of client you want to start automatically.