inSCADA
Version 2022
Version 2022
  • inSCADA Version 2022
    • inSCADA 2022
    • Başlarken
    • Kullanıcı Arayüzü
      • Dashboards
      • Development
        • Projeler
        • Bağlantılar
        • Cihazlar
        • Variables
        • Cihaz Kütüphanesi
        • Animasyonlar
          • Pipe
          • Get
          • Click
          • Color
          • Rotate
          • Move & Move Line
          • Opacity
          • Bar
          • Tooltip
          • Visibility
          • Slider
          • Chart
          • Data Table
          • Get Symbol
          • Input
          • QR Code
          • All in One
        • Alarmlar
          • Alarm Grupları
          • Alarmlar
        • Grafikler
        • Scriptler
          • Scriptler
          • Script Editor
        • Expressions
        • Raporlar
          • Custom Reports
          • Raporlar
          • Jasper Reports
        • Custom Table
          • Custom Table
          • SQL Editor
        • Gas Ölçüm
        • Süreçler
        • Veri Transferi
        • Anahtar Kelimeler
        • Languages
        • Info
      • Runtime
        • Kontrol Panel
        • Visualization
        • Trend Grafik
        • Rapor
        • Variable Tracking
          • Değişken Geçmişi
          • Değişken İzleme
          • Variable Trace
        • Alarm Tracking
          • Alarm Geçmişi
          • Alarm Monitor
        • Proje Haritası
        • Akış
        • Süreç
        • Job
      • Kullanıcı Menüsü
        • Kullanıcılar
        • Space
        • Roller
      • Bildirimler
        • E-Posta
        • SMS
        • Chat
      • Yedekle / İçe Aktar
        • Meta Data
        • Data
      • Settings
        • General Settings
        • Custom Table
        • Akış
        • E-posta
        • SMS
        • Harita
      • Logs
        • Log
        • Auth Log
      • Yardım
        • Online Yardım
        • Lisans
        • Hakkında
    • Mimik Tasarım
    • Haberleşme Protokolleri
      • MODBUS
        • Modbus TCP
        • Modbus UDP
        • Modbus RTU Over TCP
        • Modbus TCP Server
        • Modbus RTU Slave Over TCP
      • DNP3
        • DNP3 Master
        • DNP3 Outstation
      • S7 Protokol
      • IEC-104-Master
      • OPC
        • OPC DA Client
        • OPC UA Client
      • MQTT
    • Programlama
      • API's
        • Variable Functions
        • Connection Functions
        • Project Functions
        • Alarm Functions
        • Script Functions
        • In-Memory DB Functions
        • System Functions
        • User Funcitons
        • Date-Time Functions
        • String Functions
        • Notification Functions
        • Confirmation Functions
        • Database Functions
        • Other Functions
    • Veritabanı
    • Faydalı Özellikler
    • Mimari ve Uygulamalar
    • Geliştirme Yol Haritası
    • inSCADA' ya Geçiş
    • Lisanslandırma Politikaları
    • SSS
    • Videolar
    • Örnek Ekranlar
    • Yardımcı Araçlar
      • VSTO Excel Add-In
      • S7-PLCSim Connector
      • Modbus TCP/UDP Client
  • KURULUMLAR
    • Gereksinimler
    • Windows Kurulum
    • Linux'a Kurulum
    • Başlangıç Parametreleri
Powered by GitBook
On this page
  • Get Variable Value
  • Get Variable Previous Values
  • Get Variables Values
  • Get Project Variables
  • Set Variable Value
  • Set Variables Values
  • Map Variable Value
  1. inSCADA Version 2022
  2. Programlama
  3. API's

Variable Functions

Değişken fonksiyonları, script/expression ile inSCADA Platformunda tanımlanmış değişkenleri okuma/yazma işlemleri için kullanılır.

Variable Object : Değişken fonksiyonların geri döndürdüğü bir JSON nesnesidir. İçerisinde zaman etiketi ve değeri bulunur.

{"@class":"com.inscada.mono.communication.model.values.NumberVariableValue","value":60,"date":1564649882811}

Get Variable Value

object ins.getVariableValue(var variablename)

inSCADA içerisinde tanımlı bir değişkenin değerini okur.

variablename : String

Return Value : Variable nesnesi geri döndürür. Dönen değer "null" ise işlem başarısızdır. Variable okunamamıştır.

Syntax

var val=ins.getVariableValue("UNIT01_Active_Power");
if (val != null) {
  if (val.value>0) {
    ins.notify("info","Unit 01","Unit 1 is working");
    return val.value;
  }
}
return -1;

veya

var val=ins.getVariableValue("UNIT01_Active_Power").value;
if (val>0) {
    ins.notify("info","Unite 01","Unit 1 is working");
    return val;
}
return -1;

Bir projeye bağlı script içerisinden diğer projeye bağlı bir değişkene erişmek için ;

ins.getVariableValue(projectName,variableName) ins.getVariableValue(projectName,variableName,index)

proje ismini parametre olarak alan API 'leri kullanabilirsiniz. inSCADA platformunda API' lerin birçoğu proje ismi (projectName) parametresini alabilmektedir.

Get Variable Previous Values

object ins.getVariableValue(var variablename,var index)

inSCADA içerisinde tanımlı bir değişkenin önceki taramalardaki değerini okur. inSCADA değişkenlerin en son okunan 300 değerini hafızada tutar. Bu 250 değere index ile ulaşabilirsiniz.

variablename : String

Return Value : Variable nesnesi geri döndürür. Dönen değer "null" ise işlem başarısızdır. Variable okunamamıştır.

Syntax

var variable=ins.getVariableValue("UNI01_Active_Power");
if (variable===null) {return -1}
var prv_variable=ins.getVariableValue("UNIT01_Active_Power",1);
if (prv_variable===null) {return -1}
if (variable.value!==prv_variable.value) {
    ins.notify("info","Unit 01","Power value is changed");
}
return variable.value;

Get Variables Values

Array[] ins.getVariableValues(variablenames[])

inSCADA içerisinde tanımlı, talep edilen değişken listesinin değerlerini okur.

variablenames[] : String array

Return Value : Talep edilen değişkenlerin nesnelerinden oluşan bir dizi döndürür.

Syntax

var TAGS=["UNCORRECTED_FLOW_RATE",
"MASS_FLOW_RATE",
"CORRECTED_FLOW_RATE",
"ENERGY_FLOW_RATE",
"INDICATED_UNCORRECTED_FLOW_RATE",
"UNCORRECTED_TOTAL",
"MASS_TOTAL",
"CORRECTED_TOTAL",
"ENERGY_TOTAL",
"INDICATED_UNCORRECTED_TOTAL",
"CONVERTION_FACTOR",
"CORRECTED_FACTOR",
"LINE_COMPRESIBILITY",
"BASE_COMPRESIBILITY",
"LINE_PRESSURE",
"LINE_TEMPERATURE",
"LINE_DENSITY",
"BASE_DENSITY"];

var VALUES=ins.getVariableValues(TAGS);
if (VALUES===null) {return -1;}

var mass_flow_rate_value=VALUES["MASS_FLOW_RATE"].value;
var mass_flow_rate_timestamp=VALUES["MASS_FLOW_RATE"].date;

// veya

var corrected_flow_rate_value=VALUES.CORRECTED_FLOW_RATE.value;

Array[] ins.getVariableValues(variableName,fromIndex,toIndex)

Bir değişkenin hafızada tutulan son 300 değerinden bir kısmını liste olarak almamızı sağlar.

variableName : String olarak değişken ismi,

fromIndex : Integer olarak son 300 sıralı değer listesi içerisinden okunmak istenen değerlerin başlangıç noktası (0-299) .

toIndex : Integer olarak kaç adet veri okunacağı bilgisi.

// Bir değişkenin son okunan 50 değerinini alalım.
var values=ins.getVariableValues("G1_Current_Demand_I1",0,50);
return values;

sonuç

// values 
[
{"value":61.433663614480324,"extras":{},"date":"2023-03-16T10:36:17.001+03:00","flags":{},"dateInMs":1678952177001},
{"value":379.89418908510373,"extras":{},"date":"2023-03-16T10:36:16.003+03:00","flags":{},"dateInMs":1678952176003},
{"value":851.2367689630646,"extras":{},"date":"2023-03-16T10:36:15.001+03:00","flags":{},"dateInMs":1678952175001},
{"value":346.0620345845453,"extras":{},"date":"2023-03-16T10:36:14.001+03:00","flags":{},"dateInMs":1678952174001},
{"value":720.6215883854054,"extras":{},"date":"2023-03-16T10:36:13.001+03:00","flags":{},"dateInMs":1678952173001},
{"value":182.81102901616708,"extras":{},"date":"2023-03-16T10:36:12.003+03:00","flags":{},"dateInMs":1678952172003},
{"value":199.20723231180816,"extras":{},"date":"2023-03-16T10:36:11.002+03:00","flags":{},"dateInMs":1678952171002},
{"value":515.8443852150383,"extras":{},"date":"2023-03-16T10:36:10.004+03:00","flags":{},"dateInMs":1678952170004},
{"value":951.2103124828357,"extras":{},"date":"2023-03-16T10:36:09.002+03:00","flags":{},"dateInMs":1678952169002},
{"value":598.0987694530843,"extras":{},"date":"2023-03-16T10:36:08.002+03:00","flags":{},"dateInMs":1678952168002},
{"value":561.0978723063662,"extras":{},"date":"2023-03-16T10:36:07.002+03:00","flags":{},"dateInMs":1678952167002},
{"value":44.50005972417226,"extras":{},"date":"2023-03-16T10:36:06.002+03:00","flags":{},"dateInMs":1678952166002},
{"value":815.0318528238909,"extras":{},"date":"2023-03-16T10:36:05.001+03:00","flags":{},"dateInMs":1678952165001},
{"value":765.0835785903397,"extras":{},"date":"2023-03-16T10:36:04.002+03:00","flags":{},"dateInMs":1678952164002},{"value":216.50387619957434,"extras":{},"date":"2023-03-16T10:36:03.002+03:00","flags":{},"dateInMs":1678952163002},{"value":22.86808245300087,"extras":{},"date":"2023-03-16T10:36:02.002+03:00","flags":{},"dateInMs":1678952162002},{"value":969.9048622958677,"extras":{},"date":"2023-03-16T10:36:01.001+03:00","flags":{},"dateInMs":1678952161001},{"value":896.8836603613863,"extras":{},"date":"2023-03-16T10:36:00.002+03:00","flags":{},"dateInMs":1678952160002},{"value":277.5028221587634,"extras":{},"date":"2023-03-16T10:35:59.001+03:00","flags":{},"dateInMs":1678952159001},{"value":70.67029521193291,"extras":{},"date":"2023-03-16T10:35:58.003+03:00","flags":{},"dateInMs":1678952158003},{"value":291.11618303659225,"extras":{},"date":"2023-03-16T10:35:57.002+03:00","flags":{},"dateInMs":1678952157002},{"value":745.3449727328392,"extras":{},"date":"2023-03-16T10:35:56.003+03:00","flags":{},"dateInMs":1678952156003},{"value":50.6826757090284,"extras":{},"date":"2023-03-16T10:35:55.002+03:00","flags":{},"dateInMs":1678952155002},{"value":777.5362620560402,"extras":{},"date":"2023-03-16T10:35:54.002+03:00","flags":{},"dateInMs":1678952154002},{"value":546.3353867808364,"extras":{},"date":"2023-03-16T10:35:53.001+03:00","flags":{},"dateInMs":1678952153001},{"value":230.5195720431553,"extras":{},"date":"2023-03-16T10:35:52.002+03:00","flags":{},"dateInMs":1678952152002},{"value":416.18171665236315,"extras":{},"date":"2023-03-16T10:35:51.001+03:00","flags":{},"dateInMs":1678952151001},{"value":343.07369971066015,"extras":{},"date":"2023-03-16T10:35:50.001+03:00","flags":{},"dateInMs":1678952150001},{"value":836.632869329902,"extras":{},"date":"2023-03-16T10:35:49.005+03:00","flags":{},"dateInMs":1678952149005},{"value":141.42417143051256,"extras":{},"date":"2023-03-16T10:35:48.001+03:00","flags":{},"dateInMs":1678952148001},{"value":516.1728740742122,"extras":{},"date":"2023-03-16T10:35:47.002+03:00","flags":{},"dateInMs":1678952147002},{"value":724.9382150271371,"extras":{},"date":"2023-03-16T10:35:46.002+03:00","flags":{},"dateInMs":1678952146002},{"value":213.26669905900664,"extras":{},"date":"2023-03-16T10:35:45.004+03:00","flags":{},"dateInMs":1678952145004},{"value":752.4412997081702,"extras":{},"date":"2023-03-16T10:35:44.001+03:00","flags":{},"dateInMs":1678952144001},{"value":395.5627138536615,"extras":{},"date":"2023-03-16T10:35:43.004+03:00","flags":{},"dateInMs":1678952143004},{"value":205.12661586632785,"extras":{},"date":"2023-03-16T10:35:42.001+03:00","flags":{},"dateInMs":1678952142001},{"value":972.1776159770743,"extras":{},"date":"2023-03-16T10:35:41.002+03:00","flags":{},"dateInMs":1678952141002},{"value":5.072085842030338,"extras":{},"date":"2023-03-16T10:35:40.002+03:00","flags":{},"dateInMs":1678952140002},{"value":658.6417416236958,"extras":{},"date":"2023-03-16T10:35:39.001+03:00","flags":{},"dateInMs":1678952139001},{"value":817.9844747232485,"extras":{},"date":"2023-03-16T10:35:38.003+03:00","flags":{},"dateInMs":1678952138003},{"value":219.87088693654766,"extras":{},"date":"2023-03-16T10:35:37.001+03:00","flags":{},"dateInMs":1678952137001},{"value":299.8395627492436,"extras":{},"date":"2023-03-16T10:35:36.003+03:00","flags":{},"dateInMs":1678952136003},{"value":213.85056922989122,"extras":{},"date":"2023-03-16T10:35:35.001+03:00","flags":{},"dateInMs":1678952135001},{"value":343.4389246899222,"extras":{},"date":"2023-03-16T10:35:34.001+03:00","flags":{},"dateInMs":1678952134001},{"value":537.5509568719278,"extras":{},"date":"2023-03-16T10:35:33.001+03:00","flags":{},"dateInMs":1678952133001},{"value":289.17724207944826,"extras":{},"date":"2023-03-16T10:35:32.002+03:00","flags":{},"dateInMs":1678952132002},{"value":168.52665571067814,"extras":{},"date":"2023-03-16T10:35:31.002+03:00","flags":{},"dateInMs":1678952131002},{"value":394.0002362514996,"extras":{},"date":"2023-03-16T10:35:30.001+03:00","flags":{},"dateInMs":1678952130001},{"value":126.04238572456406,"extras":{},"date":"2023-03-16T10:35:29.001+03:00","flags":{},"dateInMs":1678952129001},{"value":59.692987122517806,"extras":{},"date":"2023-03-16T10:35:28.003+03:00","flags":{},"dateInMs":1678952128003},{"value":165.0792885368262,"extras":{},"date":"2023-03-16T10:35:27.002+03:00","flags":{},"dateInMs":1678952127002}]

Get Project Variables

object ins.getProjectVariableValues()

inSCADA içerisindeki projeye bağlı tüm değişkenlerin değerini okur.

Return Value : Proje altındaki tüm değişkenlerin ve değerlerinin içerisinde olduğu bir JSON nesnesi döndürür.

Syntax

    var result=ins.getProjectVariableValues();
    if (result!==null) {
        return result;
    }
    return -1;

Set Variable Value

ins.setVariableValue(String variablename, object value)

inSCADA içerisinde tanımlı bir değişkene değer yazar.

variablename : Değer yazılacak değişkenin ismi.

Syntax

ins.setVariableValue("UNIT01_Active_Power_Set",{value:100});

Set Variables Values

ins.setVariableValues(object variables)

inSCADA içerisinde tanımlı değişkenlere, tek seferde değer yazar.

variables : Değişkenlerin ve yazılmak istenen değerlerin içinde bulunduğu bir JSON nesnesidir.

ins.setVariableValues, ins.setVariableValue ' dan farklı olarak tek seferde birden fazla değişkene değer yazılmasını sağlar. Bu işlemi yaparken, protokole uygun olarak yazma işlemini optimize eder ve aynı veri bloğunda bulunan değerleri tek seferde bağlı cihaza gönderir. Birden çok verinin aktarımı için kullanılabilecek bir fonksiyondur.

Syntax

var write_tags={};
write_tags.UNIT01_Active_Power_Set={value : 100};
// veya
write_tags["UNIT01_Active_Power_Set"]={value : 100};
// veya 

var tag_list=["TagName1","TagName2","TagName3",...,"TagName30"]
for (var i=0;i<tag_list.length;i++) {
    write_tags[tag_list[i]]={value:Math.random()*100};
}

ins.setVariableValues(write_tags);

Map Variable Value

ins.mapVariableValue(String source, String destination)

Bir değişken değerini başka bir değişkene yazar.

Source : Okunacak değerin değişken ismidir. Kaynak değişken.

Destination : Değer yazılacak değişken ismidir. Hedef değişken.

Syntax

ins.mapVariableValue("UNIT01_Active_Power","UNIT01_Active_Power_Set");

ins.mapVariableValue(String source, String destination, var defaultvalue)

Kaynak değişkenin okunamadığı durumda, hedef değişkene varsayılan bir değer yazar.

ins.mapVariableValue("UNIT01_Active_Power","UNIT01_Active_Power_Set",-1);

PreviousAPI'sNextConnection Functions

Last updated 2 years ago