Craciun Fericit!

This year we’ve got special season’s greetings from Romania. Yes, Craciun Fericit! that’s how you say Merry Christmas in Romanian. We are very pleased to see many companies from more than 50 countries become very successful after using Ecava IGX.

We have been working hard, we even had our beta release during Christmas Eve. We have just added the nice module called Datamap. Datamap is a small and easy module that can be used for any data viewing or recording purpose. It can be used for equipment/maintenance list, or simply as a data map to any database table for visual, record, reporting or any info management purpose. Sometimes you may just want to have a spreadsheet for operator to record down some notes for operation needs. Datamap can do just that! Check out this common beta link that we keep updating the installer. We can be sure you will get the Xmas Eve version so long you download before New Year eve.

We wish to thank everyone for your continuous support, and we will strive to develop and enhance IGX to another level, so you could win more businesses. Yes, wishing you happy holidays and a more prosperous Year 2018!

How do you ensure your remote client would point to standby server IP when the primary server failed or shutdown for update? It’s common that you want to offer best user experience with seamless transition during any maintenance work. So you would need single IP for remote access although you have multiple servers behind. And Network Load Balancing will help you to achieve just that. This guide shows you how to achieve SCADA redundancy with NLB in Windows Server 2008 R2.

  1. From Window Start menu, point to Administrative Tools, and then click Server Manager. In the Features Summary area of the Server Manager main window, click Add Features.
  2. In the Add Features Wizard, select the check box next to Windows Network Load Balancing.
  3. Click Install.

To create an NLB cluster:

  1. To open Network Load Balancing Manager, click Start, click Administrative Tools, and then click Network Load Balancing Manager.
  2. Right-click Network Load Balancing Clusters, and then click New Cluster.
  3. Connect to the host that is to be a part of the new cluster. In Host, enter the IP address of the host, and then click Connect.
  4. Select the interface that you want to use with the cluster, and then click Next.
  5. In Host Parameters, select a value in Priority (Unique host identifier). This parameter specifies a unique ID for each host. Click Next to continue.
  6. In Cluster IP Addresses, click Add to enter the cluster IP address that is shared by every host in the cluster. This is also the virtual IP addresses by which the cluster will be accessible on the network Click Next to continue.
  7. In Cluster Parameters, enter the full Internet name of the cluster. In Cluster operation mode, click Unicast to specify that a unicast media access control (MAC) address should be used for cluster operations. Click Next to continue.
  8. In Port Rules, click Edit if would like to modify the default port rules. Else, click Finish to create the cluster.

To add more hosts to the cluster :

  1. Right click on the cluster name and select Add Host to Cluster.
  2. Enter the IP address of the host to be added as a new cluster node and click on Connect.
    Select the interface that you want to use with the cluster, and then click Next.
  3. Configure the host parameters (specify the unique ID/ priority for the new node). Click Next to change any of the cluster port rule settings.
  4. Click Finish to add host to the cluster.

Once finished, the new host will be listed in the manager screen with a status of Pending, followed by Converging and finally Converged.

Additional References:
Microsoft Technet

Techotopia – Building a Windows Server 2008 Network Load Balancing Cluster

Youtube Video Guide

Ecava IGX SCADA is committed to support all Windows versions that is currently supported by Microsoft, including Windows 10. When we say support doesn’t just mean running well and installing smoothly, but also mean uninstall without hassle, Windows 10 has launched its successor for old “Programs and Features” with brand new ‘Apps & features”. And you may find that the uninstall button for IGX may appear to be disabled in ‘Apps & features’.

Apparently all you need to do is got to Windows Start menu then right click on Ecava IGX to call out the good old “Programs and Features”, you can then proceed to uninstall as usual.

Since Ecaca follows Microsoft policy on discontinued Windows version, this also mean Ecava IGX version 6 and above no longer support Windows XP. In any case that you need to use Windows XP, do fallback to previous version 5 instead.

Note that you don’t have to uninstall for version upgrade, but only when you need to downgrade to previous version. Otherwise we trust that the reasons for you to uninstall are for migrating to another machine. In any case that you find IGX doesn’t fit in your application now, do share with us and write to support. We shall work hard to meet your requirement, so that you can reinstall and enjoy the benefits of Ecava IGX like many others soon.

It’s common requirement to indicate device status or trigger alarm upon any communication failure. You can easily check for device connection status using app.device[X], whereby X is the entered device name. However, there are times that your sensors or devices could be connected behind other gateway or any server. Hence you may always get a good connection status from gateway even though the sensor is down. So the only way to check for connection status is to monitor for timeout since the targeted sensor or device’s data change.

The first step is to associate current time as virtual tag, which will be used as limit reference and will be keep on shifting dynamically.

//seconds since 1970 in integer
setTag( "sec1970", ((new Date()).getTime()/1000)|0);

The second step is to update the last known timestamp added with timeout limit, whenever good data is received.

var LIM = 5;
var d = (new Date()).getTime();
setTag( "sensor001_time", (d/1000+LIM)|0); //last known update time plus timeout.

Finally you just need to add 2 tags into alarm for tag to tag comparison.

You only need to trigger this script every second or slower, depending what’s the additional delay that you can accept. Everytime the tags are changed, the Alarm task will be triggered to check. If you have a slow machine, then try to trigger as slow as possible.

TIPS: The trailing |0 in above examples is just the shortest and fast syntax to convert floating point to integer. You may convert a floating point tag to integer tag with expression just like this: $my_float_tag|0

In order to use SCADA modules / features like Trending, Alarm and Report for your project, it is required to create the database in PostgreSQL before configuring other database dependent module in IGX Project Editor.
The steps to create a database in PostgreSQL are simple.

  1. Launch pgAdmin from your Windows. (You can simply click on Windows Start and search for “pgAdmin”.
  2. After the user interface loaded, right click on “Databases” and select “Create” > “Database”.
  3. A configuration window shall be opened (as shown below). Enter your desired database name for your dedicated SCADA report, and click on “Save”.
  4. That’s it. Your report database has been created. You may verify it by expanding the “Databases” branch and locate your newly created database.

In case you wonder, you don’t have to create any table for SCADA, as all required tables will be automatically generated for you.

Ecava IGX SCADA is equipped with built-in menu with professional theme, so you could focus on developing your own mimic and have everything accessible from menu. There are times you want to load SVG without built-in menu and having your own fancy theme. All you need to do is to use a SVG loading file in your project folder called _loadsvg.htm.


Below is a typical SCADA demo with built-in menu in professional theme.

Using the SVG loader, you will get a full screen mimc without menu.

Ecava IGX SCADA allows you to dynamically turn on/off a pen from display during run-time. And there’s no restriction in any form except your database size. Obviously we don’t save all tags to avoid your database grows to reach disk limit in no time. However, you may have some situations that want to allow operator to choose any tag to trend during run-time, which is not hard to achieve in 4 steps:

      1. You need to create some buffer tags in advanced that log in your desired frequency e.g. buf001, buf002 & buf003, which is of float datatype. Next, create some source tags e.g. src001, src002 & src003, which is of string datatype
      2. Then create the same numbers of input fields on the screen which allow operator to enter any tag name during runtime into source tags: src001, src002 & src003, which is of string datatype.
      3. Then using SAGE, create input fields for the source tags with Set and Get function in Object Properties.

    1. Lastly you need to have a back-end script that trigger at the same frequency like the logging rate, whereby consist of the following lines:

      setTag( 'buf001', +getTag( getTag( 'src001')));
      setTag( 'buf002', +getTag( getTag( 'src002')));
      setTag( 'buf003', +getTag( getTag( 'src003')));

      Note that the inner getTag() is to fetch the tagname that is entered dynamically by operator during runtime. Then the outer getTag() is to get the tag values of the tagname specified by operator. The plus operator in front of getTag is a shortcut to ensure the returned data is of number type.

    The concept behind is straightforward. Firstly create some buffer tags that constantly logging into database with your desired trending rate. Secondly, you list down some interested tag names for operator to trending. Then allow them to specify any tag during run-time. Lastly the script keeps getting the values of the specify tag name and write into the buffer tags that constantly being logged.

    Please contact support in case you are not clear.

Engineers’ Choice Awards is organized yearly by Control Engineering to select the best of the bests from leading candidates among the world of industrial automation. This year, we are proud to announce that Ecava IntegraXor version 6 has been selected as the finalist in the software category for Engineers’ Choice Award 2018. The best news is we wish to celebrate this achievement by giving you $100 credits* when voting for IntegraXor!

Yes! All you need to do after voting is to email us your CONGRATS Print Screen!

Register to Vote now with 3 Simple Steps:

  1. Click here to RegisterJust fill in your name, email and a password. Click ‘Register’ button on the bottom right corner when all fill up.

    Password shall have min 8 characters long that mixed with at least 1 CAPITAL letter and 1 number.

    After registration, click on [X] to close the “Thank You” dialog.

  2. Click here to go to IntegraXor voting page.You may also search for ‘IntegraXor’ or ‘Ecava’ from products, as shown in screenshot below.

    You will find IntegraXor listed as the result. Click on “View Product” to go into IntegraXor’s product page.

  3. Click “Vote for this Product” button at top left corner to vote for IntegraXor.“Proceed to voting” after fill up your Organization Name, Job Title, and 2 options.

    Don’t forget to take the screenshot of your final CONGRATS screen and email to sales (a)

You may redeem your FREE $100 credit* when buying IGX SCADA license that worth $999 or more.
Vote NOW before End of November 2017. Thanks for your support and Happy Voting!

* Terms & Conditions Apply
  1. This credit cannot be converted to cash.
  2. The credit can be applied with online purchase only.
  3. The credit cannot be used together with any other credit/discount code.
  4. You may use the credit anytime before 31 Dec 2020.
  5. You may redeem the credit when you spend $999 or more in our online store.
  6. An email can only redeem the credit for one time.
  7. All support and warranty are still applicable.

To perform MQTT troubleshooting, you need to establish reliable reference for 3 involved parties separately, namely Subscriber, Publisher and Broker. For subscriber and publisher, you may use MQTT Spy as your MQTT clients, it is a small Java utility that you can run without installing. And it’s preconfigured with some public brokers or servers that you can use right away. So you need to get only one tool to isolate and troubleshoot on any of the scopes.

  1. Connect to public broker from start screen.

    MQTT Spy is has a dashboard-like of Control Panel which you can click on any listed public broker.

    You will then see a new tab openned with server name in light green indicating broker’s status.

  2. Subscribe to a topic by clicking on ‘New’ tab

    Enter your desired topic under Subscriptions and Received Message section , for example ecava/igx/scada/#, whereby # is the wildcard.

    A new Tab with entered topic will be added in Subcriptions section.

  3. Observe New Tab is added for receiving data

    You are now good to receive any MQTT data from any Publisher in the specified topic. You may try to publish any data from the Publish Message pane itself to see if data get looped back.

    Next step is to automate the publishing work, which is useful despite optional.

  4. Add and Set the Script Directory

    Copy the following script and save as a JavaScript (filename.js) file in a folder. And then set the directory as the Script Directory, in the pop up option when right clicking on Scripted Publications Pane.

    (function (){
      mqttspy.publish("ecava/igx/scada", (Math.random()*1000).toFixed(2));
      try {
        Java.type("java.lang.Thread").sleep(1000); //try to sleep
      catch (e){
        return false;
      ;return true;

    This script will automate a random data publishing sequence in every second.

  5. Load and Start Script

    Your script(s) shall appear in the script list after setting direcotry and refreshing list. Check on the Repeat option, then right click on the script to Start.

  6. Observe messages being sent and received

    You can now leave MQTT Spy running in the background, and proceed to your application to see if the same data can be received.

If you need to use Modbus in your work, you might be interested in the Modbus Troubleshooting Guide as well. Also, Ecava IGX SCADA can do both Pub/Sub and has a built-in MQTT broker or server. Download the latest copy for free and start enjoying many advanced benefits now.

We have spent great deal of time to simplify the flow to own SCADA license, so you can perform your complete transaction when it’s urgent. And we also taken care of previously purchased licenses. Just request your new software keys that associated to your existing project configuration and you will be able to authorize any offline license by generating ILA file by yourself. So you no longer need to wait for our admin to authorize your license manually.

Once you get your ILR file from offline or previous version of SCADA, all you need to do is to run License Manager from current IGX version (6+), then choose “I want to activate License from offline machine”. You will be prompted to browse for ILR file, then followed by Activation Screen.

Paste your software keys into this box then click Activate and you will get your own License Authorization (*.ILA) file!

The world is all about IoT (Internet of Things) now. Basically technology developers are aiming for IoT approach for whatever products (if possible). While home automation is another big trend that carries great development potentials, it is now commonly wrapped with IoT technologies as a package to furnish automation to your home.

Why use IoT for home automation? Simple. Because one of the main reasons of building an automated home is to be able to control it outside of your home. Such purpose can be achieved by applying IoT technolgy, there it stores and syncs all your required home data in the cloud. From there, you can then access/control your home while sitting in office or when heading home from your workout sessions.

What do people normally use home automation for? Well, the answer will be depending on what are the main objectives of the owner’s intention to implement an automated home. But for current users’ demand, usually it breaks down to a few main categories,
– Home security
– Power consumption monitor
– Smart control

Those who opt for security clearly will include smart devices like CCTVs, alarms’ sensors, and lock systems. These devices shall be installed to guard the house, at the same time they shall be connected to the main server which allows IoT cloud access, and users can access using portable smart devices (smartphones, tablets, etc.).

There are users who concern alot about their power consumption, despite to watch out for the bills or for resource saving purpose, it is always good to monitor your own house’s consumption. For landlords who rented out their houses, implementing a system to the house which is smart enough to let them monitor all the power usage can be very helpful. There are different ways to achieve the monitoring part. You can trigger to store the running hour of the certain device(s) and perform a calculation for the power consumption based on the records. In addition, you can even set the limit on the maximum allowed consumption, and alert yourself when the limit is coming close, or even cut off the power for that device(s) if you want.

On the other hand, some users think home automation serves for the purpose of convenience. They would love to utilize automation to allow themselves to have full control of their home. Similarly, such system shall include smart sensors built-in for devices like lighting, fan, air cond, heaters, etc. Smart enough where users can control (on/off, adjust) using their phones or tablets, anywhere they want as long as it is connected to the network.

Ecava has also taken the approach and stepped into the IoT Home Automation world. We have even built our own little demo home, in Lego version (built from scratch, brick by brick) and live it up with automation! We may be going a little bit too far and had enough fun for the house building part (who doesn’t like an over-luxury house with pools and chopper?), but the home automation concept should be the focus here.

SCADA IoT Home Automation demo house set

SCADA IoT Home Automation demo house set barrier gate

Our little dream home has automated lights for all rooms, automated car garage gate, automated barrier entrance gate, even an automated chopper! We plugged the home system via wire to workstation (laptop), go through an IoT gateway module, and wirelessly accessible via phones and tablets. Just simply tie the lights and motors to a PLC, create a SCADA project using IntegraXor with a minimalist HMI screen for home device controls/status, map the IO with the PLC, and we are ready to roll.

SCADA IoT Home Automation demonstration Ecava IGX

The demo house automation system was showcased in a developer’s housing property gallery exhibition.

SCADA IoT Home Automation demo set demonstration

Check out the video for demonstration on controlling lights, barrier gate, garage gate and helicopter using IGX SCADA via HMI screens on laptop, phone or tablet.

Fancy an automated system for your home? Contact us to know more on how to build it.

Do you still support some legacy system that could not speak MQTT? You can easily enable your legacy system with IIoT capability by adding MQTT gateway. IGX I/O module can perfectly help you achieving just that because it’s equipped with complete MQTT elements, which are subscriber, publisher as well as broker or server.

MQTT protocol is event driven and has a Broker/Server to act as middlemen in all transactions. So the traditional read/write transaction doesn’t apply directly, but can briefly associated. For read operation of device, the site will have to publish its tag to the broker when its data is updated. And then the SCADA shall be configured as subscribe from the broker to get notified. Conversely for write operation, the SCADA shall publish any write request (from operator) to the broker, and then the IGX gateway will subscribe to the broker to perform the write operation. So you can see that both pub and sub are involved in both read or write operation. As such, be informed that MQTT driver itself can only read status from sensor/device, change of data/setting will require MQTT publisher.

In the world of industrial automation, there are situations where System Integrators are required to backup the entire system and reinstall it back somewhere. Imagine if you can clone the entire hard disk, and just restore it to your destination drive identically. Forget about needing to install and setup everything again, that could make you save up plenty of time!

Clonezilla Live, it is a partition and disk imaging/cloning program for single machine. Basically it is a useful tool to perform disk backup and recovery. It is a bootable GNU/Linux distribution for both x86 or AMD64 based computers. One of the best things about Clonezilla is despite it is an open sourced tool, you can use it for any OS, regardless it is Microsoft Windows, Linux, or Mac OS. There were tons of tutorials about Clonezilla on the internet, even the official source provided the most detailed steps. However, most of the times we only require something simple. This guide serves as the only guide you need to achieve your maintenance job at site whenever there’s hard disk backup required.

To use Clonezilla Live, first you need to prepare it in a bootable media such as CD/DVD or USB drive. That can be achieved by relevant free tools found online (e.g. Unetbootin, Tuxboot, LinuxLive USB Creator, etc.). Or, simply follow this quick guide to install the tool in a bootable USB device.

Clone the hard drive

Step 1:

Startup your machine, which will boot from the media you have chosen. The boot menu will be displayed as shown in screenshot below.

SCADA system integrator tool

Proceed to choose your wanted resolution and setting. If you are unsure of what to choose, just go on with the default selection.

Step 2:

Follow the procedures and you will reach the screens to prompt you to choose your language and keyboard layout. Same advice, simply go on with the default selection to make things easier.

Choose Language – English
Keyboard Layout – Don’t touch keymap

Then, you will come across the screen to start Clonezilla Live. Choose ‘Start Clonezilla”.

SCADA system integrator tool

Step 3:

For industrial automation scenarios, it is often more practical to clone the disk to an image. Thus, in this guide we shall proceed to select “device-image”.

SCADA system integrator tool

Step 4:

Next is to select your destination to save the image. An USB drive or external hard disk is often the popular choice for SIs. Therefore, pick “local_dev” for saving in local device and proceed.

SCADA system integrator tool

The detected local drives will be listed out. Note that the disks and drives’ naming are Linux based. Choose a drive from the list as repository to save your image.

SCADA system integrator tool

Follow the procedures and choose to save the image in top directory of the selected drive. Then the disk space usage and details will be shown by Clonezilla.

Step 5:

You will be asked to select the mode to run cloning wizard. Choose “Beginner mode” will do.

SCADA system integrator tool

After that, select on how you wish to save your image. In this case, we will be cloning the partition only. Select on “saveparts” to clone the partition to image, then enter a site & project relevant name for the image file when prompted.

Step 6:

Next, the procedures shall lead you to choose the source that you wished to clone / backup. Select the disk to be cloned and proceed with “Skip checking” when prompted.

SCADA system integrator tool

You will also be prompted with more system and image checking options, as well as encryption. Proceed with your preferences.

SCADA system integrator tool

Step 7:

There will be one last prompt for your confirmation to clone the disk. Hit on “Y” key when being asked to continue.

SCADA system integrator tool

After that, the process will start, and you can notice the data block progress bar as the cloning is happening.

SCADA system integrator tool

When the cloning is done and image saved, Clonezilla will prompt for action to run the same thing again, or you may select to power off or reboot the machine.

Restore the Image

Now that you have cloned the disk or partition of the server, and it is time to restore the image directory into the destination drive. The steps to achieve that is pretty similar to the disk image storing process.

Step 1:

Again, boot into the system from your media with Clonezilla. Then repeat the selections from Step 1 to 4 as mentioned above for cloning.

Note that for the detected local devices, in this case you will need to select the drive that your image directory resides.

Step 2:

Choose “Beginner mode” as usual, and then the list of job selection will be displayed. Now you can see that the restore options are listed, because you have selected the drive with image directory in previous step.

Go on and select on how you wish to restore your image. For example, to restore the partition, choose “restoreparts”.

SCADA system integrator tool

Next, Clonezilla shall detect the image directory stored in the partition, proceed by selecting the image directory.

Step 3:
Then you will be asked to select the target partition to restore the image. List of detected partitions will be displayed, pick on whichever partition you wish to restore as destination.

Note: target partition should NOT be smaller than the image restore size!

Step 4:
Before the restore starts, there will be several confirmation prompts to notify you that all previous data located in the target partition will be overwritten. Proceed to restore if you are aware of this warning and have backed up everything inside the target drive (if any) to avoid any loss.

After the confirmation prompts, restore process will start.

SCADA system integrator tool

Wait for the progress to finish, and Clonezilla shall prompt you to either power off, reboot or rerun the process.

Then it is done, your system is clones and restored to your desired destination. No endless configuration job required to get the system running as before!


It is no doubt there are tons of ways (paid or free) to backup and restore a hard drive or partition. There may still be engineers who manually backup every single data from the machine, and then re-installs the system and software, then finally re-configure them to achieve the previous functionalities. However, all these procedures may take up to days, depending on how huge the system is.

The fact is, tools like Clonezilla exists for quite some time, and it is free. It is able to perform the backup/restore job for you in such a short time and easy effort. So, days or hours, it is your choice.

Ecava IntegraXor 6.0 (Stable) is here! The beta label is finally gone for version 6.0, and it is now the new STABLE after uncountable improvements. Just in case you haven’t join the fun, here’re the shiny new features released.

Added new MQTT driver and server support. Ecava team has paid great effort to bring in both MQTT Subscriber and Publisher features to IntegraXor.

MQTT (formerly known as Message Queuing Telemetry Transport) is a publish/subscribe messaging transport protocol based on client-server architecture. It is light weight, open, simple and is suitable for use in many situations, such as for communication in Machine to Machine (M2M) and Internet of Things (IoT).

MQTT Subscriber:
In IntegraXor, the MQTT subscriber is an MQTT client that is used to subscribe to the topics published by other MQTT clients. The received payload is written to a tag based on the selected data type. All of the IntegraXor data types are supported.

MQTT Publisher:
MQTT publisher in IntegraXor is an MQTT client that is used to publish tag values to other MQTT clients. And it’s very convenient that a built-in MQTT Server or Broker will be launched as well when the Publisher is started. So you don’t have to worry about learning and maintaining and managing another Server.

BACnet scheduler
BACnet scheduler is now added. In BACnet Protocol, you can automate repetitive events like daily HVAC On/Off and Lighting On/Off by using Schedule Object. IntegraXor provide a user-friendly and intuitive Scheduler Page as configuration page for Schedule Object.

Report Viewer
Added capability in report server to directly embed database result view into report.

UI language selection
In the past, you may add any language support for front end mimic. Now we have added UI language selection to IGX server and editor. Talk to us if you like your native language to be added.

[Edited 08/11/2017]

V6 Beta Release:

Added OPC UA client driver (the successor to OPC classic DA) into the supported list of communication protocols. OPC UA provides plug-and-play capabilities without DCOM configuration and also provides secure and reliable connections between OPC servers.

SCADA Cluster
Cluster module allows you to massively scale and distribute your SCADA installation over large geographical area. You may use cluster as I/O gateway, or isolate database related tasks like historian, alarm or report to another machine to break any bottleneck. You may also duplicate any module as many as you like to achieve partial or complete redundancy. Cluster module also facilitate project extension or delegation without interrupting existing configuration.

Download and install IntegraXor 6.0 today!

Portable edition means no installation needed. This is very common in the old days, but not anymore especially for large and complex program like SCADA.

In fact, there are many SCADA out there which requires complicated installation processes, such that to have the list of prerequisites installed first, then follow by core engine, front-end, etc. And you may need up to hours just to get the SCADA installed in your machine.

Nevertheless, Ecava IGX developers have spent a great effort by following Microsoft’s good practice and uses modern development tool for latest version of Windows, so the SCADA can work without registry entry, installing DLL and other unnecessary dependencies. There are too many benefits to make a program portable. Below are some we feel particularly true for SCADA environment.

  • You could run your SCADA on portable drive like flash drive on any PC without needing to install.
  • You could quickly try out certain version without going through the installation process.
  • You could try out different O.S. or environment to confirm your SCADA will work correctly.
  • You could have few versions running side-by-side without uninstall and reinstallation.
  • You could conduct quick test on site when no system admin right is granted.

Getting a portable SCADA is very easy after version 6, all you need to do is to copy the whole Program folder. You may call it portable edition right away and start running it anywhere. A SCADA typically store its configuration into the project itself, except some minor U.I. like column width will be stored in registry.

For any older version than 6.0, on top of copying the program folder, you just need to deploy Microsoft C++ runtime, which is a free Redistributable Package to install on target machine.

To avoid this hassle, you may simply go to Ecava IGX SCADA Download page to grab the latest copy and start making one portable SCADA for yourself!

Image Credit: LiquidSnake @