İçeriğe geç

Proje Yönetimi

Proje, inSCADA’daki temel organizasyon birimidir. Bir tesis, saha veya mantıksal birim temsil eder. Tüm bağlantılar, değişkenler, alarmlar, script’ler ve ekranlar bir projeye bağlıdır.

Proje Listesi

AlanTipZorunluAçıklama
nameString (≤100)EvetProje adı — space içinde benzersiz, oluşturulduktan sonra değiştirilemez
dscString (≤255)HayırAçıklama
isActiveBooleanEvetProje aktif/pasif durumu
addressString (≤255)HayırTesis adresi (serbest metin)
latitudeDoubleHayırGIS harita enlemi
longitudeDoubleHayırGIS harita boylamı
iconFileIdStringHayırProje simgesi (yönetilen dosya sisteminden)
propertiesString (JSON, ≤32 767)HayırEk özellikler — JSON formatlı serbest alan

REST API /api/projects/{id}/status ya da UI’daki durum paneli projenin her bir bileşen tipi için çalışma durumunu döner:

{
"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" }
}
BileşenEnumOlası Değerler
ConnectionConnectionStatusConnected, Disconnected
ScriptScriptStatusScheduled, Not Scheduled
Data TransferDataTransferStatusScheduled, Not Scheduled
ReportReportStatusScheduled, Not Scheduled
Alarm GroupAlarmStatusActive, Not Active

Bir proje oluşturulduktan sonra içine eklenen bileşenler:

Project: "Energy Monitoring Demo"
├── Connection: LOCAL-Energy (LOCAL protokol)
│ └── Device: Energy-Device
│ └── Frame: Energy-Frame
│ ├── Variable: ActivePower_kW
│ ├── Variable: Voltage_V
│ ├── Variable: Current_A
│ └── ... (10 değişken)
├── Script: Chart_ActiveReactivePower
├── Script: Test_LoggedValues
├── Animation: (SVG ekranlar)
├── Trend: (grafik tanımları)
├── Alarm Group: (alarm tanımları)
└── Report: (rapor tanımları)

Space seviyesindeki bileşenler (Dashboard, Custom Menu, Expression, Symbol) projenin bir parçası değildir — aynı space içindeki tüm projelerden erişilebilirler.

Projelere latitude / longitude atanırsa, Project Map ekranında harita üzerinde görselleştirilebilir:

AlanÖrnek
latitude37.9
longitude32.5

Harita üzerinde her proje noktası tıklandığında popup ile anlık durum bilgisi (bağlantı durumu, aktif alarmlar) gösterilir.

Server-side script’lerde ins.* API üzerinden proje ile etkileşim:

// Space içindeki tüm projeleri getir
var projects = ins.getProjects();
// Yalnızca aktif projeleri getir
var activeProjects = ins.getProjects(true);
// Script'in çalıştığı projeyi getir
var current = ins.getProject();
// Başka bir projenin konumunu güncelle
ins.updateProjectLocation("GES-02", 37.9, 32.5);
// Mevcut projenin konumunu güncelle
ins.updateProjectLocation(41.0082, 28.9784);

getProjects() ve getProject(), her proje için ProjectResponseDto döner — yukarıdaki alanların tümü okunabilir (name, dsc, isActive, address, latitude, longitude, iconFileId, properties).

Detaylı API: Project API → | REST API Reference → (sidebar’da Project Controller grubuna bakın)