Comment on page
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}
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.
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;
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.
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.
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;
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.
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;
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;
// 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}]
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.
var result=ins.getProjectVariableValues();
if (result!==null) {
return result;
}
return -1;
inSCADA içerisinde tanımlı bir değişkene değer yazar.
variablename : Değer yazılacak değişkenin ismi.
ins.setVariableValue("UNIT01_Active_Power_Set",{value:100});
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.
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);
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.
ins.mapVariableValue("UNIT01_Active_Power","UNIT01_Active_Power_Set");
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 modified 8mo ago