Files
ISTTOK/epics/css/sys-mng-opi/CSS/scripts/physical_to_logical_time.js
2019-10-21 16:02:55 +01:00

44 lines
1.0 KiB
JavaScript
Executable File

importPackage(Packages.org.csstudio.opibuilder.scriptUtil);
importPackage(Packages.org.csstudio.platform.data);
var cbs = PVUtil.getString(pvArray[0]);
var cbs3 = PVUtil.getString(pvArray[1]);
var physical_slot = PVUtil.getDouble(pvArray[2]);
var addr_type = PVUtil.getDouble(pvArray[3]);
var pv_name = PVUtil.getString(pvArray[4]).replace("\"", "");
var property_name = PVUtil.getString(pvArray[5]).replace("\"", "");
var addr = [13, 11, 9, 7, 5, 1, 3, 4, 2, 6, 8, 10, 12, 14]
var slot;
var board_type = "TS";
ConsoleUtil.writeInfo("addr_type: " + addr_type);
// 0 - Physical
// 1 - Logical
if(addr_type == 1){
try{
slot = addr[physical_slot - 1];
}catch(err){
slot = 0;
}
}else{
slot = physical_slot;
}
if (slot == 1 || slot == 2){
board_type = "TS";
}else{
board_type = "IO";
}
ConsoleUtil.writeInfo("slot: " + slot);
var name = cbs + "-" + cbs3 + ":" + board_type + "-" + "B" + slot + "-" + pv_name;
if (slot > 0){
widget.setPropertyValue(property_name, name);
}else{
widget.setPropertyValue(property_name, "");
}