Version 2022

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);

Last updated