MiScout SCADA Deployment

There are several MiScout SCADA setups available, so that you can choose among them depending on your needs.

MiScout SCADA could be installed in the central office or remotely on the park PC. In both cases, the data between park PC installation and central SCADA server are synchronized, ensuring that all data from the remote installation are also stored in the central database.

Data from the central MiScout Server could be provided to all clients such as MiScout Desk, MiScout WEB, MiScout App, to third-party applications using open protocols like MODBUS, IEC 61850 or OPC. MiScout SCADA uses Ethernet connection which can be established via router, GPRS modem, 3G/4G modems or ADSL modem and is implemented in an Encrypted VPN which is secure. There is no limitation on VPN type being used. The data from the central MiScout Server is provided through an encrypted HTTPS connection, which is also secure.

The typical MiScout SCADA solution setup is ideal for clients with large scale setups that require complete control and therefore need to have complete MiScout SCADA software installed on their local server, central data storage from all units. The whole SCADA Server setup or any part of it could be installed in the dedicated cloud.

The login procedure ensures the required level of security and provides user-specific settings. Furthermore, MiScout open API interface provides a set of RESTful Web service functions according to IEC61400-25-4 allowing you to build your own web solution or integrate SCADA data into own web portals.

MiScout Enterprise

The picture below illustrates a MiScout Enterprise Setup including possible components and connections between them.

MiScout SCADA provides the following possibilities:

Unified data processing and standardizing data allow easy adding new unit types to the system making MiScout even more flexible. In that way processing data for different unit types start being different only on presentation layer.

 

MiScout Data Collector

Data Collector is a limited version of MiScout SCADA Server supposed to install on-site.

In such configuration MiScout Data Collector is responsible for:

In such setup MiScout Data Collector works as an intermediate SCADA server allowing to store data locally when connection to wind farm is lost. As soon as connection is restored all data are synchronized to MiScout Enterprise avoiding data losses.

MiScout Cloud

For optimized setups a Mita-Teknik hosts MiScout Cloud setup. MiScout Cloud provides the whole overview of online and offline data from one or several machines, such as wind, water turbines and solar units combined wind and heating plants etc. Mita-Teknik provides access to the SCADA system through the cloud using Software as a Service (SaaS) approach. MiScout Cloud is well-suited for customers, who value cost-efficiency over in-depth surveillance or for customers who do not want to care about additional hardware and software setups.

MiScout Cloud provides the information needed to stay on top of operation 24/7 from any location presenting selected vital production data on park and unit levels using intuitive user interface with easy to read data. All you need is Internet connection and one of the most common web browsers - Google Chrome, Firefox or Safari on your PC or any available web browser on your mobile device. It is a simple and user-friendly solution that can be suitable for managers, maintenance technicians, engineers and operators.

Mita-Teknik provides:

Customer gets the following advantages:

The solution is easy extendable with new units connected to the system. Mita-Teknik provides service with 24/7 access to real time and historical data.

MiScout Distributed Setup

Let’s assume, that we have 3 separate PCs: Machine #1 (IP: 172.21.5.101), Machine #2 (IP: 172.21.5.102) and Machine #3 (IP: 172.21.5.103).

Machine #1 – with installed MiScout.

Machine #2 – with installed MiScout.

Machine #3 – with installed:

SCADA node – dedicated PC where installed instance of MiScout SCADA server.

The idea of distributed setup - that all nodes with installed and configured MiScout are connected to the “SCADA cluster”, using the same SQL and Cassandra databases for data storage, to avoid data loses in case when one of nodes become inactive.

Preconditions:

To include instance of MiScout into "SCADA cluster" there is required to make the following changes in MiScout properties at both Machines (#1 and #2) to file “MitaProps.properties”:

1. Connection to SQL DB:

com.mitateknik.gateway.db.connect.uri=

jdbc:sqlserver://172.21.5.103:1433;databaseName=Miscout;...

2. Connection to Cassandra NoSQL DB:

com.mitateknik.cassandra.node=172.21.5.103

com.mitateknik.cassandra.keyspace=miscout

3. To store generated reports the shared folder that is accessible from both PCs (#1 and #2) should be used.

com.mitateknik.reports.generatedReportsRootStoreFolder=

\\\\172.21.5.103\\Generated Reports

4. Distributed SCADA server properties configuration.

Machine #1:

Is distributed server functionality enabled:

com.mitateknik.distributed=true

Know seed nodes (ip:port) separated by comma.

For Machine #1 - IP address and listen port of Machine #2 should be entered:

com.mitateknik.distributed.nodes=172.21.5.102:12345

Local IP address to listen for inbound connections. Cannot change nor be a localhost address:

com.mitateknik.distributed.listenAddress=172.21.5.101

Port to listen for inbound connections:

com.mitateknik.distributed.listenPort=12345

Maximum time allowed for joining a cluster. After exceeding it, server will continue the startup:

com.mitateknik.distributed.ringDelay=15000

Dead nodes will be ignored for this time even after they become available again:

com.mitateknik.distributed.quarantineDelay=60000

Delay after which we assume unit distribution was accepted by all nodes:

com.mitateknik.distributed.unitDistributionDelay=10000

Proportional weight of this node in unit distribution:

com.mitateknik.distributed.unitDistributionWeight=1.0

Unique UUID identifier of this server node. Each node, which is going to be joined into the cluster should has its own UUID, which can be generated in the Internet:

com.mitateknik.distributed.uuid=8c676d7e-321d-4545-893b-905400a8d873

Identifier of the cluster we are trying to join. It is the common cluster name, should be the same for all nodes:

com.mitateknik.distributed.clusterName=Mita-teknik cluster ASO

 

Machine #2:

Is distributed server functionality enabled:

com.mitateknik.distributed=true

Know seed nodes (ip:port) separated by comma.

For Machine #2 - IP address and listen Port of Machine #1 should be entered:

com.mitateknik.distributed.nodes=172.21.5.101:12345

# Local IP address to listen for inbound connections. Cannot change nor be a localhost address:

com.mitateknik.distributed.listenAddress=172.21.5.102

# Port to listen for inbound connections:

com.mitateknik.distributed.listenPort=12345

# Maximum time allowed for joining a cluster. After exceeding it, server will continue the startup:

com.mitateknik.distributed.ringDelay=15000

# Dead nodes will be ignored for this time even after they become available again:

com.mitateknik.distributed.quarantineDelay=60000

# Delay after which we assume unit distribution was accepted by all nodes:

com.mitateknik.distributed.unitDistributionDelay=10000

# Proportional weight of this node in unit distribution:

com.mitateknik.distributed.unitDistributionWeight=1.0

# Unique UUID identifier of this server node. Each node, which is going to be joined into the cluster should has its own UUID, which can be generated in the Internet:

com.mitateknik.distributed.uuid= 5d1ce7fc-7005-4eba-be41-6d44a85571ea

# Identifier of the cluster we are trying to join. It is the common cluster name, should be the same for all nodes:

com.mitateknik.distributed.clusterName=Mita-teknik cluster ASO

We can join more than 2 MiScout nodes into the cluster. To join new node just make the same settings for Machine #x as described above listing in property com.mitateknik.distributed.nodes all cluster nodes separated by comma.

 

How to configure HHTP Load Balancer

Last version of Apache Web Server (binaries) has to be downloaded. After installation it must be adopted to purposes of "SCADA cluster".

Create “balancer.conf” file, under “…\ApacheXY\conf\extra” folder, with the following content:

<VirtualHost *:80>

ServerName loadbalancer

 

ProxyRequests off

ProxyPreserveHost On

Header add Set-Cookie "ROUTEID=.%{BALANCER_WORKER_ROUTE}e; path=/" env=BALANCER_ROUTE_CHANGED

<Proxy balancer://cluster_webapp>

BalancerMember http://172.21.5.101:80 route=8c676d7e-321d-4545-893b-905400a8d873

BalancerMember http://172.21.5.102:80 route=5d1ce7fc-7005-4eba-be41-6d44a85571ea

ProxySet lbmethod=byrequests

ProxySet stickysession=ROUTEID

</Proxy>

<Proxy balancer://cluster_webservice>

BalancerMember http://172.21.5.101:80 route=8c676d7e-321d-4545-893b-905400a8d873

BalancerMember http://172.21.5.102:80 route=5d1ce7fc-7005-4eba-be41-6d44a85571ea

ProxySet lbmethod=byrequests

ProxySet stickysession=ROUTEID

</Proxy>

<Proxy balancer://cluster_websocket>

BalancerMember ws://172.21.5.101:80 route=8c676d7e-321d-4545-893b-905400a8d873

BalancerMember ws://172.21.5.102:80 route=5d1ce7fc-7005-4eba-be41-6d44a85571ea

ProxySet lbmethod=byrequests

ProxySet stickysession=ROUTEID

</Proxy>

 

RewriteEngine on

RewriteCond %{HTTP:UPGRADE} ^WebSocket$ [NC]

RewriteCond %{HTTP:CONNECTION} Upgrade$ [NC]

RewriteRule .* balancer://cluster_websocket%{REQUEST_URI} [P]

 

ProxyPass /web-app/ balancer://cluster_webapp/web-app/

ProxyPassReverse /web-app/ balancer://cluster_webapp/web-app/

 

ProxyPass /webservice/ balancer://cluster_webservice/webservice/

ProxyPassReverse /webservice/ balancer://cluster_webservice/webservice/

 

ProxyPass / balancer://cluster_webapp/

ProxyPassReverse / balancer://cluster_webapp/

 

<Location /balancer-manager>

SetHandler balancer-manager

</Location>

 

ProxyPass /balancer-manager !

</VirtualHost>

 

Open “…\ApacheXY\conf\httpd.conf” file and make the following adjustments:

1. Define SRVROOT.

2. Configure “Listen” port, like “80”, it depends on local network settings.

3. Uncomment next lines:

a. LoadModule headers_module modules/mod_headers.so

b. LoadModule info_module modules/mod_info.so

c. LoadModule lbmethod_byrequests_module modules/mod_lbmethod_byrequests.so

d. LoadModule proxy_module modules/mod_proxy.so

e. LoadModule proxy_balancer_module modules/mod_proxy_balancer.so

f. LoadModule proxy_http_module modules/mod_proxy_http.so

g. LoadModule proxy_wstunnel_module modules/mod_proxy_wstunnel.so

h. LoadModule rewrite_module modules/mod_rewrite.so

i. LoadModule slotmem_shm_module modules/mod_slotmem_shm.so

j. LoadModule socache_shmcb_module modules/mod_socache_shmcb.so

k. LoadModule ssl_module modules/mod_ssl.so

l. LoadModule status_module modules/mod_status.so

m. Include conf/extra/httpd-autoindex.conf

n. Include conf/extra/httpd-info.conf

4. Set “ServerName” to be, e.g., “LoadBalancer”.

5. And finally include previously created "balancer.conf" file:

<IfModule http2_module>

ProtocolsHonorOrder On

Protocols h2 h2c http/1.1

</IfModule>

Include conf/extra/balancer.conf

 

Everything is ready to start Apache Web server. You can simply launch “httpd.exe” process, located under SRVROOT path (or can be configured to start automatically), afterwards MiScout can be reached at “Listen” port (“80” - configured inside “httpd.conf” file), like: “http://172.21.5.103/web-app/”.

 

MiScout configurations

MiScout can be installed in different configurations depending on customer needs. Configuration can be simple when all components are installed on single physical or virtual server or distributed across different data centers for large-scale setups. All configurations are fully scalable and extendable: Basic configuration can be easily extended to Basic Plus or to Cluster setup.

Basic configuration

This configuration is suitable for setups up to 50 power generation units. That could be wind turbines or small PV plant.

Configuration consists of all MiScout SCADA components including database and web server installed on single physical or virtual server. Such approach allows decrease price for server hardware and does not require additional IT infrastructure.

Basic configuration is a good choice for Data Collector as well as good option for installations in power plants. Such optimized setup suits well for small wind farms, small PV plants or local equipment providing limited amount of data.

 

 

Basic Plus configuration

This configuration is suitable for setups from 50 to 100 power generation units. That could be wind turbines or small PV plant.

MiScout SCADA and database are split into separate physical or virtual servers. Such approach increases system performance and data storing possibilities allowing to manage more power generation units.

Basic Plus configuration is a good choice for installations in power plants.

Redundant configuration

This configuration is suitable for setups from 50 to 500 power generation units where reliability is a key point. That could be multiple wind farms or medium PV plants.

MiScout SCADA and database are split into 2 physical or virtual servers. Load balancer splits user requests to multiple server nodes. Whole setups works as a single logical SCADA server. In normal conditions data flow from power generating units is split between 2 SCADA nodes allowing maximum hardware resource utilization. When one machine fails, the other ones shall takeover the primary role and do the jobs, normally performed by both of them. As soon as failed node recovers system returns to original state. Such approach allows continuous data collection and high system availability.

 

Cluster setup configuration

This configuration is suitable for large-scale setups containing more than 1000 power generation units where reliability and system availability are key points. It is recommended for big about of wind farms, large PV plants or several medium size PV plants. Setup is supposed to be deployed in data center having secure VPN access to power plants and secure access from end users.

Each MiScout component is installed on dedicated machine or multiple machines. Drawing below shows:

For planning SCADA server nodes there is recommended to use the following formula:

It means that setup with 4 nodes is suitable for about 3000 power generation units. Having one additional node allows system to work without overloading even if one node is shutdown for maintenance or is failed. Failure or shutting down one node of SCADA or database server does not affect data acquisition and is fully transparent for end user.

Configuration allows running the system 24/7 and at the same time perform all necessary maintenance works including security updates, operating system updates, etc.

MiScout in such setup is easy scalable: new nodes can be added or removed without affecting the system stability and availability.

 

High level Cluster setup configuration

The configuration has all the same possibilities as Cluster setup but also supporting data center redundancy. MiScout in such configuration provides even more reliability. If one data center loses communication or has general failure then all jobs running by MiScout nodes in that data center will move to other one. For end user this will be fully transparent.

In such setup there is used Microsoft Azure database. Cassandra database is split across data centers and must contain at least 2 nodes in each of them. SCADA server is installed in similar configuration in each data center.