EVA ICS replication between v3 and v4

The new-generation EVA ICS v4 “internal alpha” is going to be released in May 2022. The “internal alpha” version will be available to our Enterprise customers only and will have very limited support of hardware equipment / logic, plus no replication between v4 and v4 nodes yet. However, it will be able to fully host UI apps and replicate data from v3 secondaries.

The goal is to:

  • test v4 core in production
  • replace heavy-loaded v3 SFA controllers
EVA ICS v3 to v4 replication

If you are the existing customer and want to try EVA ICS v4 internal alpha, please read the conditions:

v3-v4

EVA ICS v4 architecture (draft)

EVA ICS v4 is going to be released this year. How is it different from EVA ICS v3?

Take a look on the schema. The first one is v3 architecture we’ve been using since 2017. And here are the key problems with it:

  • The monolith core, written in Python
  • After 4 years, the core has got about 6 types of extensions (drivers, core scripts, plugins etc.)
  • Majority of plugins can be written in Python only and work directly inside the core, which reduces its stability and performance
  • Limited CPU scalability
  • Each enterprise setup is unique and requires unique features. All of them go to the core, slowing it down and making it more and more complicated.

But things will be completely different in v4.

Continue reading “EVA ICS v4 architecture (draft)”

Building reliable Web SCADA interfaces

Web-based SCADA interfaces require more different approach, than regular web sites.

Why web SCADA?

Pros:

– a properly designed UI can be used on any operator’s device: a smartphone, a tablet, or a desktop computer. It can be opened on any embedded kiosk device with almost any OS inside (of course, unless this OS has a web-browser).
– using a proper front-end web server/web proxy and a proper ACL setup, the UI can be absolutely securely opened from any location.
– classic SCADA software requires skilled professionals, while the web UI can be updated / modified by any IT-engineer, who knows HTML and JavaScript.

Cons: web interfaces are unstable. Sometimes seriously unstable.

In this article we will give some tips about it, no matter which web interface is built for EVA ICS or any other IoT/IIoT platform.

Continue reading “Building reliable Web SCADA interfaces”

Installing EVA ICS without the Internet connection

Installing EVA ICS on a production machine without the Internet connection is tricky is pretty easy, but Python virtual environment should be manually prepared. Another option is to mirror pypi.org repository, but it requires about 120GB of disk space and isn’t recommended, unless used for another company needs.

In this article we will explain how to install EVA ICS on Debian / Ubuntu machine in the offline mode.

Continue reading “Installing EVA ICS without the Internet connection”

EVA ICS core refractoring and async functions

When we started development of EVA ICS, asynchronous programming just started to be popular. EVA ICS 3 core is thread-based. It works pretty well, doesn’t produce too much memory/CPU load, but it can work even better.

Let me introduce atasker library. This is free, open source Python library, which will solve many problems as in EVA ICS core, as in any other similar project.

Continue reading “EVA ICS core refractoring and async functions”

Extended unit state in PHIs. Playing with LEDs

New Driver API v5 in EVA ICS 3.2.2 brings important improvement: now Physical Interface modules can support extended unit state (status + value). To test and demonstrate this feature, we’ve made PHIs for 2 popular LED controllers: Philips HUE and Nanoleaf. Everyone likes playing with LEDs, even industrial guys )

Both PHIs can be found at EVA ICS website and downloaded to Universal Controller instance.

Continue reading “Extended unit state in PHIs. Playing with LEDs”

IoT and security

In IoT “S” stands for security
(c) one smart guy in Twitter

Weak security is a major problem of almost all modern IoT and IIoT/Industry 4.0 solutions. There’s usually nothing wrong when equipment state or shadow state is available for nodes in your configuration, as one of Industry 4.0 design principles is “Information transparency”.

However things change when we start talking about control. Allowing nodes to control each other and send action API calls is dangerous: if attacker get an access to information exchange point, he can destroy your business or even your life.

Continue reading “IoT and security”

EVA ICS on Ubuntu: copy/paste install

This article describes, how to install EVA ICS on Ubuntu or Debian. Actually it duplicates the information from EVA ICS installation docs, however is focused on Ubuntu with local mosquitto MQTT server, has minimal description and contains all required commands which could be just copy/pasted in console shell.

So let’s consider you have fresh Ubuntu install (I’ve used 18.04 LTS). What should be done, before we can launch EVA ICS easy-setup:

  • Install required OS packages
  • Configure local mosquitto MQTT server
  • Configure EVA ICS venv to skip building “heavy” numpy/pandas modules (we’ll use them from OS repository)

Let’s go.

Continue reading “EVA ICS on Ubuntu: copy/paste install”