Skip to content

Project Management

A project is the fundamental organizational unit in inSCADA. It represents a facility, site, or logical unit. All connections, variables, alarms, scripts, and screens are bound to a project.

Project List

FieldTypeRequiredDescription
nameString (≤100)YesProject name — unique within the space, immutable after creation
dscString (≤255)NoDescription
isActiveBooleanYesActive / inactive flag
addressString (≤255)NoPlant address (free text)
latitudeDoubleNoGIS map latitude
longitudeDoubleNoGIS map longitude
iconFileIdStringNoProject icon (from the managed file system)
propertiesString (JSON, ≤32 767)NoFree-form extension field — JSON string

GET /api/projects/{id}/status (and the UI status panel) returns the operational status of every component under the project:

{
"connectionStatuses": { "conn-id-1": "Connected" },
"scriptStatuses": { "script-id-1": "Scheduled", "script-id-2": "Not Scheduled" },
"dataTransferStatuses":{ "dt-id-1": "Scheduled" },
"reportStatuses": { "rep-id-1": "Not Scheduled" },
"alarmGroupStatuses": { "ag-id-1": "Active" }
}
ComponentEnumPossible Values
ConnectionConnectionStatusConnected, Disconnected
ScriptScriptStatusScheduled, Not Scheduled
Data TransferDataTransferStatusScheduled, Not Scheduled
ReportReportStatusScheduled, Not Scheduled
Alarm GroupAlarmStatusActive, Not Active

Components added inside a project:

Project: "Energy Monitoring Demo"
├── Connection: LOCAL-Energy (LOCAL protocol)
│ └── Device: Energy-Device
│ └── Frame: Energy-Frame
│ ├── Variable: ActivePower_kW
│ ├── Variable: Voltage_V
│ ├── Variable: Current_A
│ └── ... (10 variables)
├── Script: Chart_ActiveReactivePower
├── Script: Test_LoggedValues
├── Animation: (SVG screens)
├── Trend: (trend definitions)
├── Alarm Group: (alarm definitions)
└── Report: (report definitions)

Space-level components (Dashboard, Custom Menu, Expression, Symbol) are not part of a project — they are shared across every project in the same space.

If latitude / longitude are set, projects appear on the Project Map view:

FieldExample
latitude37.9
longitude32.5

Clicking a marker opens a popup with live status (connection health, active alarms).

Server-side scripts interact with projects through the ins.* API:

// Get every project in the space
var projects = ins.getProjects();
// Only active projects
var activeProjects = ins.getProjects(true);
// The project this script runs under
var current = ins.getProject();
// Update another project's location
ins.updateProjectLocation("GES-02", 37.9, 32.5);
// Update the current project's location
ins.updateProjectLocation(41.0082, 28.9784);

getProjects() and getProject() return ProjectResponseDto — every field listed above (name, dsc, isActive, address, latitude, longitude, iconFileId, properties) is readable.

Details: Project API → | REST API Reference → (see the Project Controller group in the sidebar)