Flowcode SCADA


Supervisory Control And Data Acquisition (SCADA) is a control system architecture that uses computers with graphical user interfaces to provide highlevel supervisory management of processes or machinery. It uses networked data protocols to communicate with peripheral devices including sensors, programmable logic controller (PLC) or discrete PID controllers, that interface directly with process plant or machinery.

SCADA computer systems provide operator interfaces that enable monitoring and the issuing of process commands, such as controller setpoint changes. Most commonly, the real-time control logic or process calculations are performed by networked modules that connect to the field sensors and actuators.

Matrix SCADA is a low-cost and simple way of allowing visual and feature-rich PC control and data acquisition for electronic and electromechanical systems. It allows users to quickly and easily create PC-based control and data acquisition programs with graphical Human Machine Interfaces (HMI) based on flowcharts.

Matrix SCADA is comprised of two components: Flowcode SCADA, and the Matrix SCADA runtime. As a developer, you can create a Flowcode SCADA program, and then export it as a Matrix SCADA runtime application. This Matrix SCADA runtime application can run standalone, on any Windows PC, without a license. This allows for great portability and lets you create sellable items that you can roll out to customers without writing a dedicated application from scratch. The Matrix SCADA runtime version of your program is protected from editing, and its code is hidden. You can provide your end-user access to the traditional Flowcode panels, such as the 3D/2D, Console or Data recorder panels. The main goal of Matrix SCADA is to remotely control hardware from your PC, whether it’s on your bench or on the other side of the world. Applications may include the development of software to control the following: production batch testing, home automation, IoT, robotics / embedded systems control, and industrial systems control.

Breakdown of Matrix SCADA


Some applications might be.

  • Production batch testing
  • Home automation
  • IoT
  • Robotics / Embedded control
  • Rapid Prototyping
  • Industrial automation

Please note we don’t recommend using Flowcode SCADA for anything that could be described as a safety critical application.

One of the big departures with Flowcode SCADA is there is no chip, there aren’t even any pins! All of the components in Flowcode SCADA have been specially picked and crafted so as to not include pins. So without pins what can you do.

Here are some examples.

  • Network / Internet comms (Webserver / TCP / MQTT / Modbus / vNet)
  • COM port communications (USB / RS232 / RS485 / Bluetooth / Modbus)
  • File I/O (Logs / Parsing Data Files)
  • Operator GUI (Switches / Indicators / Dials / Gauges)
  • Speech / Audio output
  • Access advanced functionality and third party equipment using DLLs


SCADA Slave devices

Currently available in Flowcode 8.1 are three SCADA Slave devices. You will need to update your installation to version 8.1 and also run the check for updates tool in full database mode to get all the latest components etc.

The components target the Arduino Uno hardware as well as the Matrix ECIO PIC8 hardware. With more supported boards planned for the future.

Each of the components comes with a pre-written firmware project that can be found on the component help page. Simply right click the component and select help to go directly to the right page. The firmware needs to be programmed to the hardware to allow it to work with the component. The firmware project file is also available should you wish to edit or add to the functionality.

Once the firmware is programmed to the hardware the SCADA Slave component is good to go. Simply drag the component onto your project and select the correct COM port in the component properties. The components give you access to various peripherals including:

  • digital I/O
  • analogue I/O
  • I²C
  • SPI
  • PWM
  • UART

One of the big features of this is you can develop and test code for example on a new I²C sensor without ever having to wait for compilation or programming to chip. Instead you simply click the simulation run button and off it goes.

The SCADA Slave components all feature a flexible console output which can provide either fixed statistic output or logging output. The fixed statistics (left) shows the current status of I/O, Analogue and PWM peripherals whereas the logging output (right) shows all commands, parameters and returns to and from the SCADA Slave device.

You can also use the console to look directly at the communication bytes being sent back and forth.


Other supported devices

There are also other devices that can be easily controlled directly from the Flowcode SCADA runtime.

These include:

  • MIAC USB Slave
  • MIAC AllCode
  • Formula AllCode
  • Velleman K8055
  • PicoScope 2000 range



Flowcode 8.1 comes with some new template projects specifically designed for getting started with Flowcode SCADA.


Deploying a SCADA Project

Once the SCADA project is complete you can deploy the project so it is available to run outside of the Flowcode environment. Simply click File -> Deploy as Matrix SCADA Program from the Menu.

The Deploy window allows you to customise which Flowcode windows the end user will be able to see, access and control.

Once you have deployed the SCADA project you can run it by double clicking the .bat file that is created in the selected deployment folder. The .bat file simply opens the .mscada file using the packaged Matrix SCADA runtime.

Please click here or contact us to find out more!

4,002 total views, 2 views today

Leave a Reply