BitSCADA Docs ← Website

BitSCADA IEC 61850 v8

Complete User Manual

53
Function Blocks
9
Protocols
65
Graphic Elements
⬇ Download Demo (20 MB)

System Overview

BitSCADA is a browser-based industrial-grade SCADA system for supervisory control and data acquisition. It provides process visualization, data collection from controllers, actuator control, historian archiving, and alarm management.

Package Contents
FileSizeDescription
SCADA_IEC61850_v8.html~240 KBClient-side application (SCADA)
SCADA_Gateway.exe~25 MBServer-side application (Gateway + Emulator)

No additional software installation required. No internet connection required.

99% proprietary code. External dependencies — only React 18 and Babel (loaded from CDN). The offline build is fully self-contained.

System Requirements

Minimum MIN
  • CPU: x86-64, 2 cores
  • RAM: 2 GB
  • Disk: 50 MB
  • Browser: Chrome / Firefox / Edge
Recommended REC
  • CPU: x86-64, 4 cores
  • RAM: 4 GB
  • Disk: 500 MB (with 30-day historian DB)
  • Latest version of Chrome
ComponentRequirement
OSWindows 7/10/11, Linux, macOS
BrowserChrome 90+, Firefox 90+, Edge 90+
Python (.py build only)3.11
Python (.exe build)Not required
NetworkNot required (localhost)

Installation

📌
No installation required. Copy both files to any folder.
The folder must contain: SCADA_IEC61850_v8.html (or offline build), SCADA_Gateway.exe, and a demo project .json file
Installation complete. Administrator privileges are not required.

Gateway Auto-Start (Recommended)

To automatically start the Gateway when the computer boots:

# Open the startup folder
Win+R → shell:startup → Enter
# Place a shortcut to SCADA_Gateway.exe here

Quick Start

Launch the Gateway — double-click SCADA_Gateway.exe. Wait for the All servers running! message in the console. Do not close the window.
Open SCADA — double-click SCADA_IEC61850_v8.html. The browser will open automatically.
Verify the connection — the header bar should show a green GW indicator. In the Gateway console: Config received from SCADA.
Start Runtime — click the Runtime button in the header. Instruments will display live values from the emulator.
If instruments are displaying data — the system is operational! The Gateway Dashboard is available at http://localhost:8088

Graphical Editor

The editor opens by default. SCADA projects are created here:

Basic Operations
ActionHow To
Add block / shapeDrag from the palette on the left
SelectClick on element
Multi-selectCtrl + click
Connect wireClick output port → click input port
ZoomMouse wheel (0.2x – 3x)
PanMiddle mouse button or Shift + LMB
DeleteDelete
SaveCtrl + S
Auto-layout⚡ button in the header
Context menuRight-click: delete, duplicate, layer

Properties panel (right side, 280px) — settings for the selected block: name, parameters, bindings.

Debug panel (bottom, 56px) — event log. Hidden in Runtime mode.

Function Blocks (53)

Inputs (12)

BlockOutputsDescription
Analog InputvAnalog signal emulation (sine wave)
Discrete InputvDiscrete signal 0/1
ConstantvFixed constant value
GeneratorvSine, square, sawtooth, triangle, ramp, random
OPC UA Readv, qRead IEC 62541 variables
Modbus Readv, okRead Modbus TCP registers (FC 3/4)
MMS Readv, qRead IEC 61850-8-1 variables
GOOSE Subv, stGOOSE IEC 61850-8-1 subscription
SV Subia, ib, icSampled Values IEC 61850-9-2 (3-phase)
OPC DA Readv, qRead via OpenOPC/DCOM
InTouch Readv, qRead Wonderware InTouch
WinCC Readv, qRead Siemens WinCC

Logic (9)

BlockInputs → OutputsDescription
ANDa, b → qLogical AND
ORa, b → qLogical OR
NOTa → qLogical NOT
XORa, b → qExclusive OR
Comparatora, b → gt, eq, ltComparison: greater than, equal, less than
TONen → q, etOn-delay timer
Counterpu, rst → cv, qPulse counter with preset
MUXa, b, sel → qMultiplexer
SRs, r → qSR flip-flop

Computation (7)

BlockInputs → OutputsDescription
Math Operationa, b → r+, −, ×, ÷, pow, min, max
Scalev → rLinear range scaling
PID Controllerpv, sp → out, errPID with Kp and output limiting
Formulax, y → rArbitrary expression (sin, cos, sqrt, PI)
Filterv → rExponential low-pass filter
RMSv → rRoot Mean Square value
Limiterv → rRange clamp lo/hi

Programs (5)

BlockDescription
ScriptArbitrary JavaScript (i1, i2 → o1, o2)
SQL WriteWrite value to SQLite log
SQL ReadRead latest value from historian trends
DB WriteAuto-classification: >80 = alarm, >60 = warning
Auto-PrintAutomatic report printing

Outputs (10)

BlockDescription
Analog / Discrete OutputSimple output
OPC UA / Modbus / MMS WriteProtocol write operation
GOOSE PubPublish GOOSE event (d1, d2)
OPC DA / InTouch / WinCC WriteWrite via OPC DA
Alarm SoundWebAudio: alarm/warn/info/siren + custom URL

Displays (10 — visible in Runtime)

BlockDescription
Analog GaugeSVG 270° arc, auto-color by threshold
Numeric IndicatorDigital readout with engineering units
Bar GraphVertical scale with fill
IndicatorRound lamp, on/off by threshold
Trend3 channels, cursor, historian, PNG export, print
SliderOperator control knob
ButtonToggle 0/1
TextValue substitution display
Alarm Panel4 channels with color-coded status
Event LogLatest operator events

Graphic Elements (65)

Equipment 33

Pumps, gate valves, control valves, motors, variable frequency drives, fans, compressors, heaters, coolers, heat exchangers, filters, mixers, conveyors, agitators, dampers, screw feeders, furnaces, flare stacks, and others

Vessels 10

Tanks, cylindrical vessels, horizontal vessels, drain vessels, sumps, separators, hoppers, columns

Electrical Equipment 5

Circuit breakers, contactors, transformers, fuses, grounding

Indicators 7

LED (green, red, yellow), lamp, siren, traffic light, flame/flare

Pipelines (5): horizontal pipe, vertical pipe, tee, elbow, reducer.
Primitives (5): line, rectangle, circle, text, polygon.

🎨
All graphic elements can be bound to signals — color and animation change in Runtime according to the variable value.

Connections (Wires)

Connections are created by clicking the output port of a block (right side), then clicking the input port of another block (left side). Wires are rendered as Bezier curves.

Multi-Page Projects

A project can contain a main page and any number of additional pages:

Popups

Popups are pages that open as modal windows in Runtime when an equipment element is clicked. They are used to display detailed parameters for a specific node.

Runtime Environment

Toggle: Runtime button in the header.

Runtime Capabilities

The Trend block supports 3 channels with configurable colors and names. Real-time buffer — 200 data points.

Viewing Historian Data

Click Details on the trend display
Select a tag from the drop-down list
Select a time range: 1h, 2h, 6h, 12h, 24h
Save as PNG or print

Alarm Notifications

The Alarm Sound block generates audio via the WebAudio API:

TypeFrequencyCharacter
Warning660 HzSoft tone
Alarm880/440 HzSharp intermittent
Information520 HzShort click
Siren600/900 HzRising/falling wail
Custom soundURL of mp3/wav file

Protocol Overview (9)

ProtocolStandardModeLibrary
MMSIEC 61850-8-1REAL / EMUEmulation
GOOSEIEC 61850-8-1REAL / EMUEmulation
SVIEC 61850-9-2REAL / EMUEmulation
OPC UAIEC 62541REAL / EMUasyncua
Modbus TCPStandardREAL / EMUpymodbus
OPC DADCOMREAL / EMUOpenOPC
InTouchWonderwareREAL / EMUOPC DA
WinCCSiemensREAL / EMUOPC DA
SQLSQLiteREALsqlite3

IEC 61850 (MMS / GOOSE / SV)

MMS :102

Read/write IED variables. Control and monitoring.

GOOSE multicast

Fast event transfer (4 ms). Protection automation.

SV multicast

Instantaneous three-phase current values. Digital substations.

OPC UA

OPC UA (IEC 62541) — universal data access. The Gateway starts a server at opc.tcp://hostname:4840.

Configuration: SCADA → Settings → OPC UA → endpoint, port, security mode.

Modbus TCP

Standard industrial protocol. Gateway: port 502 (or 1502 if in use). Supported function codes: FC 3 (Read Holding Registers), FC 4 (Read Input Registers), FC 6 (Write Single Register), FC 16 (Write Multiple Registers).

OPC DA / InTouch / WinCC

Classic OPC DA via DCOM. Windows required. Supports Kepware, Wonderware InTouch (Wonderware.InTouch.OPCServer), Siemens WinCC (OPCServer.WinCC).

SCADA Gateway

The Gateway is the server-side component of the system. It runs 12 parallel protocol processing threads.

Gateway Threads
ThreadPortFunction
HTTP Dashboard8088Web management panel
WebSocket Bridge8089SCADA communication link
OPC UA Server4840OPC UA emulation
Modbus TCP Server502Modbus emulator
MMS Server102MMS emulator
GOOSE Publisher239.0.0.1:61850Multicast GOOSE
SV Publisher239.0.0.2:61851Multicast SV
EmulatorData generation
OPC UA ClientReal hardware
Modbus ClientReal PLCs
OPC DA ClientKepware/InTouch/WinCC
SQL EngineSQLite: event log, trends

Dashboard (6 Tabs)

Access: http://localhost:8088

Status

Cards for 9 protocols, EMU/REAL mode, R/W operations, connected projects, verification

Connectivity

Addresses for all endpoints: WebSocket, OPC UA, Modbus, MMS, REST API

Database

Rolling window, max records, statistics, cleanup, last 50 records

OPC Browser

OPC UA and OPC DA tag tree with current tag values

Users

CRUD operations, 3 roles: Operator, Engineer, Admin. SHA256 passwords

Event Log

Full event log with color-coded severity levels

Database (SQLite)

File: scada_journal.db (created automatically in the same folder as the Gateway).

TableDescription
journalEvent log: timestamp, source, severity, tag, value, message
trendsHistorian: timestamp, tag, value (recorded every 5 seconds)
alarmsAlarms: start, end, tag, severity, message, acknowledgement
usersUsers: name, role, SHA256 password, date

Retention: rolling 30-day window, max 100,000 records. Volume: ~2 MB/day.

Users & Roles

RolePermissions
OperatorRuntime, view only
Engineer+ Editor, settings
Admin+ User management, database

REST API (15 Endpoints)

MethodEndpointDescription
GET/apiProtocol status
GET/api/db/statsDatabase statistics
GET/api/db/lastLast 50 records
GET/api/usersUser list
GET/api/opc/browseOPC tag browser
GET/api/trends/historyHistorical trends
GET/api/trends/tagsAvailable tags
POST/api/emu/toggleEMU ON/OFF
POST/api/configConfiguration from SCADA
POST/api/db/clearClear database
POST/api/db/cleanupDelete old records
POST/api/db/configStorage settings
POST/api/users/addAdd user
POST/api/users/deleteDelete user
POST/api/log/clearClear event log

Projects

ActionHow To
Save💾 → enter name → localStorage
Load📂 → select project
Export⤓ → download JSON
Import📂 → Import → select JSON

Format: JSON, includes blocks, shapes, wires, settings, and pages.

Settings (9 Tabs)

SCADA → Settings button in the header:

TabParameters
GeneralScan cycle (ms), auto-start, full screen, login/password
OPC UAEndpoint, port, security mode
OPC DADCOM server, ProgID
ModbusTCP port, timeout
MMSPort, version, TSEL, TLS
GOOSEAppID, VLAN, interface
SVInterface, sampling rate
InTouchServer, Access Name
WinCCServer, Connection

Connecting to Real Hardware

In SCADA → Settings → select the protocol tab → enter the device address
In the Gateway Dashboard → Status → click EMU OFF
The Gateway will connect automatically. Status shows REAL instead of EMU
📌
The Gateway automatically detects installed libraries (asyncua, pymodbus, OpenOPC) at startup.

Backup

DataStorageBackup Method
SCADA ProjectsBrowser localStorageExport to JSON
Trends & Event Logscada_journal.dbCopy the file
Gateway Settingsscada_gateway.jsonCopy the file

Troubleshooting

SCADA cannot connect to Gateway

Verify that SCADA_Gateway.exe is running (look for All servers running!). Ensure port 8089 is not blocked by antivirus software.

Gateway: «asyncua not found»

This is normal for the standalone package. The Gateway operates in emulation mode — all data is generated by the built-in emulator.

Instruments in Runtime display no values

Check for the green GW indicator in the header. If absent — the Gateway is not connected. Click Runtime again after starting the Gateway.

Project cannot be saved

localStorage is full. Delete unused projects or export them to JSON.

Security

Licensing

Built-in licensing system with no activation servers required. Each build contains:

📌
To purchase a license, contact: scada@atwai.ru

Contacts

© 2026 BitSCADA — ATW Technologies. All rights reserved.
Application submitted for registration in the Russian Software Registry (Ministry of Digital Development).