Skip to content

FabyaVision Studio · Design

SCADA project design software

A project tree, a page editor and table editors cover the whole project in one workspace. The finished project runs in Live.

Overview

Workspace

Tag, alarm, recipe and report definitions are edited in spreadsheet-like table editors.

Project tree

Device and Live settings, pages (2D and 3D), tags, connections, alarms, recipes, history, scripts, tasks, reports, text lists, languages and users in a single tree.

Page editor

2D and 3D pages are drawn with drag and drop.

Inspector

The Properties, Animations, Events and Texts tabs of the selected object.

Table editors

Every table imports from and exports to Excel (.xlsx); Excel does not need to be installed. Preview, one-step undo and a blank template are included.

The syrup preparation screen in the editor, with the selected tank's properties and tag bindings.
2D screen design

Studio does not connect to PLCs. It can only test the TCP port of a connection address. Live values appear in Live.

Page editor

Drawing and dynamization

Almost any property of an object can be bound to a tag. There is no separate list of animation types.

Appearance and settings

Size, position, color, text and the settings specific to the object type.

  • Shared by every object: Visible, Blink, Opacity, X, Y, Width, Height, Angle
  • Type-specific settings: for example mode, format, decimals and unit on an I/O field
  • 32 layers (0–31); object groups can be saved as project templates

Change with the value

Color, text, visibility, position, size, angle, blink and opacity are bound to a tag. The conversion is direct or uses a range table.

  • Direct: bit selection, inversion, scaling
  • Range table: color, text or visibility by value range

React to operator actions

Every object offers 13 event types and more than 30 ready-made functions: load, click, press and release, pointer, key, change…

  • Set bits and values, scaling
  • Open pages and windows, previous page, session actions
  • Run scripts and assign properties

Separate text for every language

Texts on objects are collected automatically into the project text table.

  • Any number of project languages
  • Bulk translation with Excel
  • A font per language

Dynamization example

A tag carrying a tank level is bound to the fill color of an object through a range table.

Tag Tank1_Seviye Real · %
Range table
RangeFill color
0 – 20Low
20 – 85Normal
85 – 100High
Object

Page tools

  • Device window (faceplate)
  • Pop-up window
  • Fixed top and bottom areas
  • Navigation menu
  • Menu and toolbar design
  • 2D look: Realistic or Classic

Object library

480+ 2D objects

From pumps to HVAC ducts and from silos to robots, equipment drawings are vector objects generated in code. Their colors and motion bind to tags.

State model

Many equipment objects carry a ready-made state model. They move while running and flash on a fault; all four colors can be changed.

  • Stopped
  • Running
  • Fault

Equipment categories

  • Pipe
  • Valve
  • Pump
  • Motor and fan
  • Tank and silo
  • Mixer and mill
  • Heating and cooling
  • Ventilation (HVAC)
  • Process equipment
  • Water and treatment
  • Weighing and dosing
  • Conveying and handling
  • Robots and palletizing
  • Food and packaging
  • Vehicles and logistics
  • Instruments and sensors
  • Electrical and signaling
  • Electrical and power
  • Buttons and indicators
  • Computers and network
  • Safety
  • Laboratory
  • Buildings and facilities
Pump, valve, compressor and blower types as 2D objects.
Pumps, valves and compressors
The same equipment running (green), stopped (grey) and faulted (red).
Status colours
Vertical and horizontal tanks, silos, reactors, IBCs and basins.
Tanks, silos and reactors
Steam boiler, heat exchangers, ovens, cooling tower, separators and filters.
Heating and process equipment
Duct parts, grilles, air handling unit, fans and filters.
HVAC and air ducts

Operator elements and controls

Elements

I/O field, symbolic I/O, status indicator, check box, button, round and diamond button, switch, selector switch, increment / decrement, bar, gauge, slider, clock, analog clock, list box, option buttons, HTML browser, PDF viewer, computer info.

Controls

Trend, alarm, recipe, report and event views; IP camera; page window; menu and toolbar; PLC connection status; user view.

Recipe and report components

Fields specific to the recipe and report design pages: record selector, transfer panel, record table, date filter, signature block, period summary.

I/O fields, gauges, buttons, switches and alarm, trend, recipe and report views.
Operator elements
Operator elements such as the round button, increment / decrement, selector switch and PDF viewer.
New operator elements

3D scenes

430+ 3D objects

The scene is built in meters and equipment is placed with the Standard or the Realistic model. Tag binding, animation and events work as in 2D.

The 3D plant scene in the editor, with the 3D object library on the right.
3D scene design

Standard

A simple model: the basic shape and color of the equipment.

Realistic

A detailed model for 420+ objects: flanges, bolts, feet, nameplates; cast, painted and steel finishes.

The model is an object property and is not bound to a tag. From the page properties the whole scene can be switched to the Realistic or Standard model in one step, and switched back. Basic shapes, the flow arrow and the cloud have a single model.

The same seven objects with the Standard model on top and the Realistic model below.
Standard and Realistic models

Scene editor

A scene in meters

Choose a ground size from 10 × 8 m up to 80 × 50 m.

Place, move, rotate

Drag or click to place. Handles for moving, rotating (Q / E), raising and scaling; multi-select, copy and paste.

Alignment and collision check

The alignment guide lines objects up; the collision check shows overlaps.

Floors

Platform floors with adjustable height, columns, railings and transparency.

Light and views

Day, Evening, Night and Studio lighting, shadows and saved views.

Navigation in Live

A navigation cube and an automatic tour camera. The project-wide 3D quality is set to High or Fast.

Convert a page to 3D

A new 3D page is derived from a 2D page’s right-click or Insert menu. The 2D page stays untouched; the result is added as “name_3B” and can be undone in one step.

Default mode

Professional

Treats the page as a process diagram. Places equipment at real size, turns pipes into 3D pipes, elbows and tees and seats them on the equipment, and puts indicators as plates in front of their equipment. Adds a floor, fence, lighting and ready-made views.

One-to-one

Leaves every object where it is on the 2D page, laid out on the floor plan. Suits scenes you plan to shape by hand afterwards.

In both modes tag bindings and events carry over to the new page; those that cannot are listed.

The Professional mode window for converting the pasteurisation screen to 3D.
Convert screen to 3D
Conversion limits
  • The conversion is one-way; if the 2D page changes later, the 3D page is not updated.
  • Dimensions are approximate and the result is corrected by hand in the 3D editor. Floor, height and layer information is not carried over.
  • Cards, panels and controls are not brought into the scene. Recipe and report components, the menu and toolbar, the event view and some elements have no 3D counterpart; they are skipped or become a placeholder box.

3D needs a graphics driver with WebGL support. 2D objects cannot be placed on a 3D page.

Tags and data

Tags, types and connections

External tags bind to PLC addresses; internal tags are kept in the project. Type, limits, scaling and quality are defined per tag.

External and internal tags

Types from Bool to WString and DateTime; the chosen driver narrows the set. Unit, description, start value, group and folder are defined per tag.

  • Lower and upper limits: the operator cannot write outside the range
  • Persistent internal tags: written at shutdown, read at startup
  • Bulk import and export with Excel and CSV

Structures and instances

A structure is defined once and generates tags per instance, such as Pump_P101.Speed. For S7, Studio calculates the DB and byte / bit offsets; the device window (faceplate) opens with the instance prefix.

From raw value to engineering value

Linear scaling is set per tag: raw and engineering ends, clamping and reverse-direction writing. The quality code carries the connection and limit state (192 good, 84 out of limits, 8 no connection) and can be read from scripts. A fallback value can be used while the connection is down.

8 protocols and a simulator

Siemens S7, Modbus TCP, OPC UA (client), EtherNet/IP, Mitsubishi MC, Omron FINS, OPC DA, MQTT, and a built-in simulator for working without a PLC.

Connectivity page

Cycles

Named time settings: tags, archives, tasks and pages use them.

Text and graphic lists

Lists that turn a numeric value into text or a graphic; used by symbolic I/O fields and status indicators.

Design tables

Alarms, recipes, reports and tasks

These definitions are entered in tables; recipes and reports also have their own design pages.

Alarm definitions

Digital (bit or value) and analog (>, ≥, <, ≤, =, ≠) alarms; hysteresis, delay and priority. Alarm classes set the colors, whether acknowledgment is required and archiving.

Trend

The trend view reads from the archive or straight from live tags: many curves, multiple Y axes, limit lines.

Recipe design

Element definition (type, limits, tolerance, unit), draft and approved records, transfer to the PLC (direct or handshaked, with read-back), and a script before and after the transfer.

Report design

Triggered or manual records; daily, shift, weekly, monthly and batch summaries; approval and signature block. Output as Excel, CSV and PDF.

Data archives

Cyclic, on-change or triggered recording. A local file is always written; CSV and SQL Server mirroring are optional. Retention time and automatic cleanup are configurable.

Scheduled tasks

10 trigger types: cyclic, daily, weekly, monthly, yearly, one-time, tag change, tag condition, Live start and Live shutdown.

Scripting

4 scripting languages

VBScript, JavaScript, C and Python are written and checked in the same editor. The VBScript, C and Python engines ship with the product; no Windows Script Host, C compiler or Python installation is needed.

VBScript

A subset of Windows VBScript: Dim, Const, Class, On Error Resume Next and many built-in functions. CreateObject gives dictionary, regular expression, ADODB (ODBC) and file system objects.

  • Eval, Execute, GetObject and On Error GoTo are not available
VBScript
' 80% and above: status text “High”
Option Explicit
Function Action()
    If SmartTags("Tank1_Seviye") >= 80 Then
        SmartTags("Tank1_Durum") = "High"
    Else
        SmartTags("Tank1_Durum") = "Normal"
    End If
    Action = 0
End Function

JavaScript

The WebView2 JavaScript environment itself; there is no separate engine. The Tag.oku, Tag.yaz, Sayfa.ac, Bildir and Kullanici objects are ready to use.

  • No database, file or program-launch functions
JavaScript
// 80% and above: status text “High”
var seviye = Tag.oku('Tank1_Seviye');
Tag.yaz('Tank1_Durum', seviye >= 80
  ? 'High'
  : 'Normal');

C

An ANSI-C interpreter: struct, union, enum, typedef, pointers and macros. Besides the standard headers, more than 350 Live functions are ready (GetTag*, SetTag*, OpenPicture…).

  • Real DLLs are not loaded; DLL equivalents are built in
C
#include "apdefap.h"

// 80% and above: status text “High”
int gscAction(void)
{
    float seviye = GetTagFloat("Tank1_Seviye");
    SetTagChar("Tank1_Durum", seviye >= 80.0f
        ? "High"
        : "Normal");
    return 0;
}

Python

A subset of Python 3.12: classes, generators, match / case, f-strings and a ready-made part of the standard library (math, datetime, json, re, csv…).

  • No async, networking or third-party packages (such as numpy)
Python
# 80% and above: status text “High”
def action():
    seviye = scada.read("Tank1_Seviye")
    scada.write("Tank1_Durum",
                "High" if seviye >= 80 else "Normal")
    return 0

Script editor

  • Syntax coloring, line numbers, live syntax checking
  • Compile (F9) and Compile all: syntax plus project-aware rules (missing tags, calls whose permission is off)
  • Reference panel for VBScript, C and Python
  • A gallery of 120+ ready-made examples; import from and export to files

There are no breakpoints, step-by-step execution or auto-completion.

Ready-made VBS, C, JavaScript and Python examples with preview and add buttons.
Code example gallery
Compile errors listed with line numbers, each jumping to its line when clicked.
Compile errors
A Python module with a scada.read / scada.write reference panel on the right.
Python script

Script permissions

A script’s access to the outside is tied to three permissions. All three are off by default and are turned on in the General tab of the Live Settings.

  • Connect to databases
  • Run programs
  • Access files

VBScript, C and Python calls are limited to 30 seconds; a second call that arrives while the same trigger is still running is skipped.

WinCC scripts. Some object names in VBScript and C resemble WinCC’s scripting environment, but only a subset is implemented. Compile and check scripts brought in with Convert in Studio.

Project management

Checking, revisions and upload to Live

Check project (F7)

Collects tags with a missing or unresolvable address and unknown connection addresses in the Problems list. For scripts there is also Compile (F9).

Revisions and backups

Every upload to Live creates a revision and asks for a short description. The revision history is kept in the project file, and automatic backups are made.

Upload project to Live

Copies the project into Live’s project folder. To move it to another computer, copy the .fvs file; Live offers a project selection screen at startup.

Errors and warnings listed with their location, each opening its section when clicked.
Check results

Users and permissions

Users, groups and numbered permissions are defined; permissions apply at object, page and menu level. A new project comes with three groups and seven ready permissions; passwords are stored as salted hashes.

6-language interface

Studio’s interface runs in 6 languages and the choice is remembered.

  • Türkçe
  • English
  • Español
  • Deutsch
  • Italiano
  • Français

Light and dark theme

The top bar switches between a light and a dark theme. The interface scale can be set between 80% and 150%.

The syrup preparation screen in the editor, with the selected tank's properties and tag bindings.
2D screen design
The same screen editor in the dark theme, switched from the top bar.
Dark theme 2D design

Try Studio

With the demo, open the sample project, change a page and run it in Live with the simulator.