diff --git a/builddir/3.14.12.5/dbd/EMU.dbd b/builddir/3.14.12.5/dbd/EMU.dbd new file mode 100644 index 0000000000000000000000000000000000000000..c5a2e423512f5e2c374de050fd022a8b44f29fd0 --- /dev/null +++ b/builddir/3.14.12.5/dbd/EMU.dbd @@ -0,0 +1,5 @@ +registrar (RampCurrentRegistrar) +function (FACTOR_CONVERSION) +function (ANGLE_CALCUL) +function (CREATE_TAB) +function (INIT_TAB) diff --git a/builddir/3.14.12.5/lib/centos7-x86_64/EMU.dep b/builddir/3.14.12.5/lib/centos7-x86_64/EMU.dep new file mode 100644 index 0000000000000000000000000000000000000000..27503d0ce918c5ddc567fbd68422b50a338c8cb1 --- /dev/null +++ b/builddir/3.14.12.5/lib/centos7-x86_64/EMU.dep @@ -0,0 +1,10 @@ +# Generated file. Do not edit. +DataAcquisition,agaget +scanning,2.0+ +FastAcquisition,agaget +ecat2db,0.3+ +streamdevice,2.7+ +sscan,2.10+ +busy,1.6+ +calc,3.6+ +seq,2.1+ diff --git a/builddir/3.14.12.5/lib/centos7-x86_64/libEMU.so b/builddir/3.14.12.5/lib/centos7-x86_64/libEMU.so new file mode 100644 index 0000000000000000000000000000000000000000..0eeaca36c3feb93626fe8598e4eeac77a78c2385 Binary files /dev/null and b/builddir/3.14.12.5/lib/centos7-x86_64/libEMU.so differ diff --git a/builddir/3.14.12.5/lib/eldk56-e500v2/EMU.dep b/builddir/3.14.12.5/lib/eldk56-e500v2/EMU.dep new file mode 100644 index 0000000000000000000000000000000000000000..27503d0ce918c5ddc567fbd68422b50a338c8cb1 --- /dev/null +++ b/builddir/3.14.12.5/lib/eldk56-e500v2/EMU.dep @@ -0,0 +1,10 @@ +# Generated file. Do not edit. +DataAcquisition,agaget +scanning,2.0+ +FastAcquisition,agaget +ecat2db,0.3+ +streamdevice,2.7+ +sscan,2.10+ +busy,1.6+ +calc,3.6+ +seq,2.1+ diff --git a/builddir/3.14.12.5/lib/eldk56-e500v2/libEMU.so b/builddir/3.14.12.5/lib/eldk56-e500v2/libEMU.so new file mode 100644 index 0000000000000000000000000000000000000000..bbbd1825ff13b97c35b2352678d61f453c5263fa Binary files /dev/null and b/builddir/3.14.12.5/lib/eldk56-e500v2/libEMU.so differ diff --git a/builddir/3.15.2/dbd/EMU.dbd b/builddir/3.15.2/dbd/EMU.dbd new file mode 100644 index 0000000000000000000000000000000000000000..c5a2e423512f5e2c374de050fd022a8b44f29fd0 --- /dev/null +++ b/builddir/3.15.2/dbd/EMU.dbd @@ -0,0 +1,5 @@ +registrar (RampCurrentRegistrar) +function (FACTOR_CONVERSION) +function (ANGLE_CALCUL) +function (CREATE_TAB) +function (INIT_TAB) diff --git a/builddir/3.15.2/lib/centos7-x86_64/EMU.dep b/builddir/3.15.2/lib/centos7-x86_64/EMU.dep new file mode 100644 index 0000000000000000000000000000000000000000..75e4953fdb9d796ebf58bc14ab549fec65622abb --- /dev/null +++ b/builddir/3.15.2/lib/centos7-x86_64/EMU.dep @@ -0,0 +1,10 @@ +# Generated file. Do not edit. +ecat2db +DataAcquisition,agaget +scanning,2.0+ +FastAcquisition,agaget +streamdevice,2.7+ +sscan,2.10+ +busy,1.6+ +calc,3.6+ +seq,2.1+ diff --git a/builddir/3.15.2/lib/centos7-x86_64/libEMU.so b/builddir/3.15.2/lib/centos7-x86_64/libEMU.so new file mode 100644 index 0000000000000000000000000000000000000000..49a87f3773a4d2bf42b263e390068619a1d6c7ac Binary files /dev/null and b/builddir/3.15.2/lib/centos7-x86_64/libEMU.so differ diff --git a/builddir/3.15.2/lib/eldk56-e500v2/EMU.dep b/builddir/3.15.2/lib/eldk56-e500v2/EMU.dep new file mode 100644 index 0000000000000000000000000000000000000000..75e4953fdb9d796ebf58bc14ab549fec65622abb --- /dev/null +++ b/builddir/3.15.2/lib/eldk56-e500v2/EMU.dep @@ -0,0 +1,10 @@ +# Generated file. Do not edit. +ecat2db +DataAcquisition,agaget +scanning,2.0+ +FastAcquisition,agaget +streamdevice,2.7+ +sscan,2.10+ +busy,1.6+ +calc,3.6+ +seq,2.1+ diff --git a/builddir/3.15.2/lib/eldk56-e500v2/libEMU.so b/builddir/3.15.2/lib/eldk56-e500v2/libEMU.so new file mode 100644 index 0000000000000000000000000000000000000000..cdb51c6cadc6f0bf36ef7a98731c93131031b195 Binary files /dev/null and b/builddir/3.15.2/lib/eldk56-e500v2/libEMU.so differ diff --git a/builddir/O.3.14.12.5_Common/EMU_subRecordFunctions.dbd b/builddir/O.3.14.12.5_Common/EMU_subRecordFunctions.dbd new file mode 100644 index 0000000000000000000000000000000000000000..9d289f7f6e7d348710b00e0ff2a4b84beb42ace8 --- /dev/null +++ b/builddir/O.3.14.12.5_Common/EMU_subRecordFunctions.dbd @@ -0,0 +1,4 @@ +function (FACTOR_CONVERSION) +function (ANGLE_CALCUL) +function (CREATE_TAB) +function (INIT_TAB) diff --git a/builddir/O.3.14.12.5_centos7-x86_64/.dependencies_includes b/builddir/O.3.14.12.5_centos7-x86_64/.dependencies_includes new file mode 100644 index 0000000000000000000000000000000000000000..2cb57abfadbeb65e54c494b7a9b922f1c1b77b81 --- /dev/null +++ b/builddir/O.3.14.12.5_centos7-x86_64/.dependencies_includes @@ -0,0 +1 @@ +DEPENDENCIES_INCLUDES = -I/opt/epics/modules/DataAcquisition/agaget/3.14.12.5/include -I/opt/epics/modules/DataAcquisition/agaget/3.14.12.5/include/os/Linux -I/opt/epics/modules/DataAcquisition/agaget/3.14.12.5/include/os/default -I/opt/epics/modules/scanning/2.0.4/3.14.12.5/include -I/opt/epics/modules/scanning/2.0.4/3.14.12.5/include/os/Linux -I/opt/epics/modules/scanning/2.0.4/3.14.12.5/include/os/default -I/opt/epics/modules/ecat2db/0.3.2/3.14.12.5/include -I/opt/epics/modules/ecat2db/0.3.2/3.14.12.5/include/os/Linux -I/opt/epics/modules/ecat2db/0.3.2/3.14.12.5/include/os/default -I/opt/epics/modules/FastAcquisition/agaget/3.14.12.5/include -I/opt/epics/modules/FastAcquisition/agaget/3.14.12.5/include/os/Linux -I/opt/epics/modules/FastAcquisition/agaget/3.14.12.5/include/os/default -I/opt/epics/modules/seq/2.1.10/3.14.12.5/include -I/opt/epics/modules/seq/2.1.10/3.14.12.5/include/os/Linux -I/opt/epics/modules/seq/2.1.10/3.14.12.5/include/os/default diff --git a/builddir/O.3.14.12.5_centos7-x86_64/EMU_CALCULS.d b/builddir/O.3.14.12.5_centos7-x86_64/EMU_CALCULS.d new file mode 100644 index 0000000000000000000000000000000000000000..7b2da4124cd9438a3957462272f59e78c942d234 --- /dev/null +++ b/builddir/O.3.14.12.5_centos7-x86_64/EMU_CALCULS.d @@ -0,0 +1,15 @@ +EMU_CALCULS.o: ../.././src/EMU_CALCULS.c \ + /opt/epics/bases/base-3.14.12.5/include/aSubRecord.h \ + /opt/epics/bases/base-3.14.12.5/include/epicsTypes.h \ + /opt/epics/bases/base-3.14.12.5/include/shareLib.h \ + /opt/epics/bases/base-3.14.12.5/include/link.h \ + /opt/epics/bases/base-3.14.12.5/include/dbDefs.h \ + /opt/epics/bases/base-3.14.12.5/include/epicsMutex.h \ + /opt/epics/bases/base-3.14.12.5/include/epicsAssert.h \ + /opt/epics/bases/base-3.14.12.5/include/os/Linux/osdMutex.h \ + /opt/epics/bases/base-3.14.12.5/include/ellLib.h \ + /opt/epics/bases/base-3.14.12.5/include/epicsTime.h \ + /opt/epics/bases/base-3.14.12.5/include/os/Linux/osdTime.h \ + /opt/epics/bases/base-3.14.12.5/include/registryFunction.h \ + /opt/epics/bases/base-3.14.12.5/include/epicsExport.h \ + /opt/epics/bases/base-3.14.12.5/include/shareLib.h diff --git a/builddir/O.3.14.12.5_centos7-x86_64/EMU_CALCULS.dc b/builddir/O.3.14.12.5_centos7-x86_64/EMU_CALCULS.dc new file mode 100644 index 0000000000000000000000000000000000000000..137d2927c9eb283bc9d7ab7067fa88b7a5ad4398 --- /dev/null +++ b/builddir/O.3.14.12.5_centos7-x86_64/EMU_CALCULS.dc @@ -0,0 +1,25 @@ +EMU_CALCULS.o: ../.././src/EMU_CALCULS.c /usr/include/stdc-predef.h \ + /opt/epics/bases/base-3.14.12.5/include/aSubRecord.h \ + /opt/epics/bases/base-3.14.12.5/include/epicsTypes.h \ + /opt/epics/bases/base-3.14.12.5/include/shareLib.h \ + /opt/epics/bases/base-3.14.12.5/include/link.h \ + /opt/epics/bases/base-3.14.12.5/include/dbDefs.h \ + /usr/lib/gcc/x86_64-redhat-linux/4.8.3/include/stddef.h \ + /opt/epics/bases/base-3.14.12.5/include/epicsMutex.h \ + /opt/epics/bases/base-3.14.12.5/include/epicsAssert.h \ + /opt/epics/bases/base-3.14.12.5/include/os/Linux/osdMutex.h \ + /opt/epics/bases/base-3.14.12.5/include/ellLib.h \ + /opt/epics/bases/base-3.14.12.5/include/epicsTime.h /usr/include/time.h \ + /usr/include/features.h /usr/include/sys/cdefs.h \ + /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \ + /usr/include/gnu/stubs-64.h /usr/include/bits/time.h \ + /usr/include/bits/types.h /usr/include/bits/typesizes.h \ + /usr/include/bits/timex.h /usr/include/xlocale.h \ + /opt/epics/bases/base-3.14.12.5/include/os/Linux/osdTime.h \ + /opt/epics/bases/base-3.14.12.5/include/registryFunction.h \ + /opt/epics/bases/base-3.14.12.5/include/epicsExport.h \ + /opt/epics/bases/base-3.14.12.5/include/shareLib.h /usr/include/math.h \ + /usr/include/bits/huge_val.h /usr/include/bits/huge_valf.h \ + /usr/include/bits/huge_vall.h /usr/include/bits/inf.h \ + /usr/include/bits/nan.h /usr/include/bits/mathdef.h \ + /usr/include/bits/mathcalls.h diff --git a/builddir/O.3.14.12.5_centos7-x86_64/EMU_CALCULS.o b/builddir/O.3.14.12.5_centos7-x86_64/EMU_CALCULS.o new file mode 100644 index 0000000000000000000000000000000000000000..91c92afe45b47272c347f2a651401236e40860fc Binary files /dev/null and b/builddir/O.3.14.12.5_centos7-x86_64/EMU_CALCULS.o differ diff --git a/builddir/O.3.14.12.5_centos7-x86_64/EMU_RAMP-CURRENT.c b/builddir/O.3.14.12.5_centos7-x86_64/EMU_RAMP-CURRENT.c new file mode 100644 index 0000000000000000000000000000000000000000..1326be681143157692b3a53146202932b64faf6e --- /dev/null +++ b/builddir/O.3.14.12.5_centos7-x86_64/EMU_RAMP-CURRENT.c @@ -0,0 +1,261 @@ +/* Generated with snc from EMU_RAMP-CURRENT.i */ + +/* Program "RampCurrent" */ +#include <string.h> +#include <stddef.h> +#include <stdio.h> +#include <limits.h> +#include "epicsTypes.h" +#include "seqCom.h" + +/* Variable declarations */ +# line 13 "../.././src/EMU_RAMP-CURRENT.st" +static float PS2_Cons = 0; +# line 20 "../.././src/EMU_RAMP-CURRENT.st" +static float FCCurr_Cons = 0; +# line 24 "../.././src/EMU_RAMP-CURRENT.st" +static short start = 0; +# line 28 "../.././src/EMU_RAMP-CURRENT.st" +static short simulation = 0; +# line 33 "../.././src/EMU_RAMP-CURRENT.st" +static float limitCurr = 0.6; + +/* C code definitions */ +# line 8 "../.././src/EMU_RAMP-CURRENT.st" +#include <stdio.h> +# line 9 "../.././src/EMU_RAMP-CURRENT.st" +#include <string.h> +# line 10 "../.././src/EMU_RAMP-CURRENT.st" +#include <stdlib.h> + +/* Program init func */ +static void G_prog_init(struct UserVar *pVar) +{ +} + +/****** Code for state "init" in state set "ss1" ******/ + +/* Delay function for state "init" in state set "ss1" */ +static void D_ss1_0_init(SS_ID ssId, struct UserVar *pVar) +{ +# line 38 "../.././src/EMU_RAMP-CURRENT.st" + seq_delayInit(ssId, 0, (1.0)); +} + +/* Event function for state "init" in state set "ss1" */ +static seqBool E_ss1_0_init(SS_ID ssId, struct UserVar *pVar, int *pTransNum, int *pNextState) +{ +# line 38 "../.././src/EMU_RAMP-CURRENT.st" + if (seq_delay(ssId, 0) && (seq_pvConnectCount(ssId) == seq_pvChannelCount(ssId))) + { + *pNextState = 1; + *pTransNum = 0; + return TRUE; + } + return FALSE; +} + +/* Action function for state "init" in state set "ss1" */ +static void A_ss1_0_init(SS_ID ssId, struct UserVar *pVar, int transNum, int *pNextState) +{ + switch(transNum) + { + case 0: + { +# line 40 "../.././src/EMU_RAMP-CURRENT.st" + start = 0; +# line 41 "../.././src/EMU_RAMP-CURRENT.st" + simulation = 0; + } + return; + } +} + +/****** Code for state "start" in state set "ss1" ******/ + +/* Delay function for state "start" in state set "ss1" */ +static void D_ss1_0_start(SS_ID ssId, struct UserVar *pVar) +{ +} + +/* Event function for state "start" in state set "ss1" */ +static seqBool E_ss1_0_start(SS_ID ssId, struct UserVar *pVar, int *pTransNum, int *pNextState) +{ +# line 47 "../.././src/EMU_RAMP-CURRENT.st" + if ((start == 1) && (simulation == 1)) + { + *pNextState = 2; + *pTransNum = 0; + return TRUE; + } + return FALSE; +} + +/* Action function for state "start" in state set "ss1" */ +static void A_ss1_0_start(SS_ID ssId, struct UserVar *pVar, int transNum, int *pNextState) +{ + switch(transNum) + { + case 0: + { +# line 49 "../.././src/EMU_RAMP-CURRENT.st" + FCCurr_Cons = 0; +# line 50 "../.././src/EMU_RAMP-CURRENT.st" + seq_pvPut(ssId, 1/*FCCurr_Cons*/, 0); + } + return; + } +} + +/****** Code for state "ramp" in state set "ss1" ******/ + +/* Delay function for state "ramp" in state set "ss1" */ +static void D_ss1_0_ramp(SS_ID ssId, struct UserVar *pVar) +{ +} + +/* Event function for state "ramp" in state set "ss1" */ +static seqBool E_ss1_0_ramp(SS_ID ssId, struct UserVar *pVar, int *pTransNum, int *pNextState) +{ +# line 56 "../.././src/EMU_RAMP-CURRENT.st" + if (seq_efTestAndClear(ssId, 1/*PS2_Cons_flag*/)) + { + *pNextState = 2; + *pTransNum = 0; + return TRUE; + } +# line 65 "../.././src/EMU_RAMP-CURRENT.st" + if (start == 0) + { + *pNextState = 1; + *pTransNum = 1; + return TRUE; + } + return FALSE; +} + +/* Action function for state "ramp" in state set "ss1" */ +static void A_ss1_0_ramp(SS_ID ssId, struct UserVar *pVar, int transNum, int *pNextState) +{ + switch(transNum) + { + case 0: + { +# line 58 "../.././src/EMU_RAMP-CURRENT.st" + if ((PS2_Cons < limitCurr) && (PS2_Cons > -limitCurr)) + { +# line 58 "../.././src/EMU_RAMP-CURRENT.st" + FCCurr_Cons = 10; + } + else + { + /* C code definitions */ +# line 60 "../.././src/EMU_RAMP-CURRENT.st" + FCCurr_Cons= PS2_Cons; + } +# line 62 "../.././src/EMU_RAMP-CURRENT.st" + seq_pvPut(ssId, 1/*FCCurr_Cons*/, 0); + } + return; + case 1: + { +# line 67 "../.././src/EMU_RAMP-CURRENT.st" + FCCurr_Cons = 0; +# line 68 "../.././src/EMU_RAMP-CURRENT.st" + seq_pvPut(ssId, 1/*FCCurr_Cons*/, 0); + } + return; + } +} + +/************************ Tables ************************/ + +/* Channel table */ +static seqChan G_channels[] = { + /* chName, offset, varName, varType, count, eventNum, efId, monitored, queueSize, queueIndex */ + {"{PREFIX_PS}:{CONS_PS2}", (size_t)&PS2_Cons, "PS2_Cons", "float", 1, 2, 1, 1, 0, 0}, + {"SIMU:CURRENT-SP", (size_t)&FCCurr_Cons, "FCCurr_Cons", "float", 1, 3, 0, 1, 0, 0}, + {"SCAN:MTR.EXSC", (size_t)&start, "start", "short", 1, 4, 0, 1, 0, 0}, + {"SCAN:PROC-SIMU", (size_t)&simulation, "simulation", "short", 1, 5, 0, 1, 0, 0} +}; + +/* Event masks for state set "ss1" */ +static const seqMask EM_ss1_0_init[] = { + 0x00000000, +}; +static const seqMask EM_ss1_0_start[] = { + 0x00000030, +}; +static const seqMask EM_ss1_0_ramp[] = { + 0x00000012, +}; + +/* State table for state set "ss1" */ +static seqState G_ss1_states[] = { + { + /* state name */ "init", + /* action function */ A_ss1_0_init, + /* event function */ E_ss1_0_init, + /* delay function */ D_ss1_0_init, + /* entry function */ 0, + /* exit function */ 0, + /* event mask array */ EM_ss1_0_init, + /* state options */ (0) + }, + { + /* state name */ "start", + /* action function */ A_ss1_0_start, + /* event function */ E_ss1_0_start, + /* delay function */ D_ss1_0_start, + /* entry function */ 0, + /* exit function */ 0, + /* event mask array */ EM_ss1_0_start, + /* state options */ (0) + }, + { + /* state name */ "ramp", + /* action function */ A_ss1_0_ramp, + /* event function */ E_ss1_0_ramp, + /* delay function */ D_ss1_0_ramp, + /* entry function */ 0, + /* exit function */ 0, + /* event mask array */ EM_ss1_0_ramp, + /* state options */ (0) + }, +}; + +/* State set table */ +static seqSS G_state_sets[] = { + { + /* state set name */ "ss1", + /* states */ G_ss1_states, + /* number of states */ 3, + /* number of delays */ 1 + }, +}; + +/* Program table (global) */ +seqProgram RampCurrent = { + /* magic number */ 2001010, + /* program name */ "RampCurrent", + /* channels */ G_channels, + /* num. channels */ 4, + /* state sets */ G_state_sets, + /* num. state sets */ 1, + /* user var size */ 0, + /* param */ "", + /* num. event flags */ 1, + /* encoded options */ (0 | OPT_CONN | OPT_NEWEF), + /* init func */ G_prog_init, + /* entry func */ NULL, + /* exit func */ NULL, + /* num. queues */ 0 +}; + +/* Register sequencer commands and program */ +#include "epicsExport.h" +static void RampCurrentRegistrar (void) { + seqRegisterSequencerCommands(); + seqRegisterSequencerProgram (&RampCurrent); +} +epicsExportRegistrar(RampCurrentRegistrar); diff --git a/builddir/O.3.14.12.5_centos7-x86_64/EMU_RAMP-CURRENT.d b/builddir/O.3.14.12.5_centos7-x86_64/EMU_RAMP-CURRENT.d new file mode 100644 index 0000000000000000000000000000000000000000..f86a72568ed051371a8a5c1acf1c537eb87828a1 --- /dev/null +++ b/builddir/O.3.14.12.5_centos7-x86_64/EMU_RAMP-CURRENT.d @@ -0,0 +1,14 @@ +EMU_RAMP-CURRENT.o: EMU_RAMP-CURRENT.c \ + /opt/epics/bases/base-3.14.12.5/include/epicsTypes.h \ + /opt/epics/bases/base-3.14.12.5/include/shareLib.h \ + /opt/epics/modules/seq/2.1.10/3.14.12.5/include/seqCom.h \ + /opt/epics/bases/base-3.14.12.5/include/shareLib.h \ + /opt/epics/modules/seq/2.1.10/3.14.12.5/include/pvAlarm.h \ + /opt/epics/modules/seq/2.1.10/3.14.12.5/include/pvType.h \ + /opt/epics/bases/base-3.14.12.5/include/epicsTime.h \ + /opt/epics/bases/base-3.14.12.5/include/epicsTypes.h \ + /opt/epics/bases/base-3.14.12.5/include/os/Linux/osdTime.h \ + /opt/epics/bases/base-3.14.12.5/include/epicsThread.h \ + /opt/epics/bases/base-3.14.12.5/include/os/Linux/osdThread.h \ + /opt/epics/modules/seq/2.1.10/3.14.12.5/include/seq_release.h \ + /opt/epics/bases/base-3.14.12.5/include/epicsExport.h diff --git a/builddir/O.3.14.12.5_centos7-x86_64/EMU_RAMP-CURRENT.dc b/builddir/O.3.14.12.5_centos7-x86_64/EMU_RAMP-CURRENT.dc new file mode 100644 index 0000000000000000000000000000000000000000..80182e3a1bfbd60895876beacdd8ba75a6ee5028 --- /dev/null +++ b/builddir/O.3.14.12.5_centos7-x86_64/EMU_RAMP-CURRENT.dc @@ -0,0 +1,27 @@ +EMU_RAMP-CURRENT.o: EMU_RAMP-CURRENT.c /usr/include/stdc-predef.h \ + /usr/include/string.h /usr/include/features.h /usr/include/sys/cdefs.h \ + /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \ + /usr/include/gnu/stubs-64.h \ + /usr/lib/gcc/x86_64-redhat-linux/4.8.3/include/stddef.h \ + /usr/include/xlocale.h /usr/include/stdio.h /usr/include/bits/types.h \ + /usr/include/bits/typesizes.h /usr/include/libio.h \ + /usr/include/_G_config.h /usr/include/wchar.h \ + /usr/lib/gcc/x86_64-redhat-linux/4.8.3/include/stdarg.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/lib/gcc/x86_64-redhat-linux/4.8.3/include/limits.h \ + /usr/lib/gcc/x86_64-redhat-linux/4.8.3/include/syslimits.h \ + /usr/include/limits.h /usr/include/bits/posix1_lim.h \ + /usr/include/bits/local_lim.h /usr/include/linux/limits.h \ + /usr/include/bits/posix2_lim.h /usr/include/bits/xopen_lim.h \ + /opt/epics/bases/base-3.14.12.5/include/epicsTypes.h \ + /opt/epics/bases/base-3.14.12.5/include/shareLib.h seqCom.h \ + /usr/include/stdlib.h /usr/include/bits/waitflags.h \ + /usr/include/bits/waitstatus.h /usr/include/endian.h \ + /usr/include/bits/endian.h /usr/include/bits/byteswap.h \ + /usr/include/bits/byteswap-16.h /usr/include/sys/types.h \ + /usr/include/time.h /usr/include/sys/select.h /usr/include/bits/select.h \ + /usr/include/bits/sigset.h /usr/include/bits/time.h \ + /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \ + /usr/include/alloca.h /usr/include/bits/stdlib-float.h \ + /opt/epics/bases/base-3.14.12.5/include/epicsExport.h \ + /opt/epics/bases/base-3.14.12.5/include/shareLib.h diff --git a/builddir/O.3.14.12.5_centos7-x86_64/EMU_RAMP-CURRENT.i b/builddir/O.3.14.12.5_centos7-x86_64/EMU_RAMP-CURRENT.i new file mode 100644 index 0000000000000000000000000000000000000000..8a50d3d934ca2086f52bd0c2a942040ac3d8b782 --- /dev/null +++ b/builddir/O.3.14.12.5_centos7-x86_64/EMU_RAMP-CURRENT.i @@ -0,0 +1,78 @@ +# 1 "../.././src/EMU_RAMP-CURRENT.st" +# 1 "<interne>" +# 1 "<command-line>" +# 1 "/usr/include/stdc-predef.h" 1 3 4 +# 1 "<command-line>" 2 +# 1 "../.././src/EMU_RAMP-CURRENT.st" + + + + + +program RampCurrent + +%%#include <stdio.h> +%%#include <string.h> +%%#include <stdlib.h> + + +float PS2_Cons; +assign PS2_Cons to "{PREFIX_PS}:{CONS_PS2}"; +monitor PS2_Cons; +evflag PS2_Cons_flag; +sync PS2_Cons PS2_Cons_flag; + + +float FCCurr_Cons; +assign FCCurr_Cons to "SIMU:CURRENT-SP"; +monitor FCCurr_Cons; + +short start; +assign start to "SCAN:MTR.EXSC"; +monitor start; + +short simulation; +assign simulation to "SCAN:PROC-SIMU"; +monitor simulation; + + +float limitCurr=0.6; + +ss ss1 +{ + state init { + when (delay(1.0) && (pvConnectCount() == pvChannelCount())) + { + start=0; + simulation=0; + } state start + } + + state start + { + when ((start==1) && (simulation==1)) + { + FCCurr_Cons=0; + pvPut(FCCurr_Cons); + }state ramp + } + + state ramp + { + when(efTestAndClear(PS2_Cons_flag)) + { + if((PS2_Cons<limitCurr) && (PS2_Cons>-limitCurr)){FCCurr_Cons= 10;} + else{ + %%FCCurr_Cons= PS2_Cons; + } + pvPut(FCCurr_Cons); + }state ramp + + when (start==0) + { + FCCurr_Cons=0; + pvPut(FCCurr_Cons); + }state start + } + +} diff --git a/builddir/O.3.14.12.5_centos7-x86_64/EMU_RAMP-CURRENT.o b/builddir/O.3.14.12.5_centos7-x86_64/EMU_RAMP-CURRENT.o new file mode 100644 index 0000000000000000000000000000000000000000..5f8a18d93a8dd3992642a8d1a18ff8b16ed12169 Binary files /dev/null and b/builddir/O.3.14.12.5_centos7-x86_64/EMU_RAMP-CURRENT.o differ diff --git a/builddir/O.3.14.12.5_centos7-x86_64/EMU_RAMP-CURRENT_snl.dbd b/builddir/O.3.14.12.5_centos7-x86_64/EMU_RAMP-CURRENT_snl.dbd new file mode 100644 index 0000000000000000000000000000000000000000..b47d140bf201417375c49d2d2a6698409e48d4a8 --- /dev/null +++ b/builddir/O.3.14.12.5_centos7-x86_64/EMU_RAMP-CURRENT_snl.dbd @@ -0,0 +1 @@ +registrar (RampCurrentRegistrar) diff --git a/builddir/O.3.14.12.5_centos7-x86_64/EMU_Versionjfdenis.c b/builddir/O.3.14.12.5_centos7-x86_64/EMU_Versionjfdenis.c new file mode 100644 index 0000000000000000000000000000000000000000..790699c3704deb191da8bcd66648d87e83a4bc33 --- /dev/null +++ b/builddir/O.3.14.12.5_centos7-x86_64/EMU_Versionjfdenis.c @@ -0,0 +1 @@ +char epics_EMULibRelease[] = "jfdenis"; diff --git a/builddir/O.3.14.12.5_centos7-x86_64/EMU_Versionjfdenis.d b/builddir/O.3.14.12.5_centos7-x86_64/EMU_Versionjfdenis.d new file mode 100644 index 0000000000000000000000000000000000000000..ed81567a28402d5387d3e5d7e009f79df37599d5 --- /dev/null +++ b/builddir/O.3.14.12.5_centos7-x86_64/EMU_Versionjfdenis.d @@ -0,0 +1 @@ +EMU_Versionjfdenis.o: EMU_Versionjfdenis.c diff --git a/builddir/O.3.14.12.5_centos7-x86_64/EMU_Versionjfdenis.o b/builddir/O.3.14.12.5_centos7-x86_64/EMU_Versionjfdenis.o new file mode 100644 index 0000000000000000000000000000000000000000..a620f1fb151ddcd5bc4628f9e7e2b276bfeaf9c0 Binary files /dev/null and b/builddir/O.3.14.12.5_centos7-x86_64/EMU_Versionjfdenis.o differ diff --git a/builddir/O.3.14.12.5_centos7-x86_64/EMU_registerRecordDeviceDriver.cpp b/builddir/O.3.14.12.5_centos7-x86_64/EMU_registerRecordDeviceDriver.cpp new file mode 100644 index 0000000000000000000000000000000000000000..2fe4f42b5e20bf173516167bfcdaaaddf73ec460 --- /dev/null +++ b/builddir/O.3.14.12.5_centos7-x86_64/EMU_registerRecordDeviceDriver.cpp @@ -0,0 +1,55 @@ +/* THIS IS A GENERATED FILE. DO NOT EDIT! */ +/* Generated from ../../builddir/3.14.12.5/dbd/EMU.dbd */ + +#include <string.h> + +#include "epicsStdlib.h" +#include "iocsh.h" +#include "registryCommon.h" + +extern "C" { + +epicsShareExtern void (*pvar_func_RampCurrentRegistrar)(void); +epicsShareExtern void (*pvar_func_register_func_FACTOR_CONVERSION)(void); +epicsShareExtern void (*pvar_func_register_func_ANGLE_CALCUL)(void); +epicsShareExtern void (*pvar_func_register_func_CREATE_TAB)(void); +epicsShareExtern void (*pvar_func_register_func_INIT_TAB)(void); + +int EMU_registerRecordDeviceDriver(DBBASE *pbase) +{ + if (!pbase) { + printf("pdbbase is NULL; you must load a DBD file first.\n"); + return -1; + } + + (*pvar_func_RampCurrentRegistrar)(); + (*pvar_func_register_func_FACTOR_CONVERSION)(); + (*pvar_func_register_func_ANGLE_CALCUL)(); + (*pvar_func_register_func_CREATE_TAB)(); + (*pvar_func_register_func_INIT_TAB)(); + return 0; +} + +/* registerRecordDeviceDriver */ +static const iocshArg registerRecordDeviceDriverArg0 = + {"pdbbase",iocshArgPdbbase}; +static const iocshArg *registerRecordDeviceDriverArgs[1] = + {®isterRecordDeviceDriverArg0}; +static const iocshFuncDef registerRecordDeviceDriverFuncDef = + {"EMU_registerRecordDeviceDriver",1,registerRecordDeviceDriverArgs}; +static void registerRecordDeviceDriverCallFunc(const iocshArgBuf *) +{ + EMU_registerRecordDeviceDriver(*iocshPpdbbase); +} + +} // extern "C" +/* + * Register commands on application startup + */ +static int Registration() { + iocshRegister(®isterRecordDeviceDriverFuncDef, + registerRecordDeviceDriverCallFunc); + return 0; +} + +static int done = Registration(); diff --git a/builddir/O.3.14.12.5_centos7-x86_64/EMU_registerRecordDeviceDriver.d b/builddir/O.3.14.12.5_centos7-x86_64/EMU_registerRecordDeviceDriver.d new file mode 100644 index 0000000000000000000000000000000000000000..482ee06d15331431c18e4cfeac8ff77616b7206f --- /dev/null +++ b/builddir/O.3.14.12.5_centos7-x86_64/EMU_registerRecordDeviceDriver.d @@ -0,0 +1,18 @@ +EMU_registerRecordDeviceDriver.o: EMU_registerRecordDeviceDriver.cpp \ + /opt/epics/bases/base-3.14.12.5/include/epicsStdlib.h \ + /opt/epics/bases/base-3.14.12.5/include/shareLib.h \ + /opt/epics/bases/base-3.14.12.5/include/os/Linux/osdStrtod.h \ + /opt/epics/bases/base-3.14.12.5/include/iocsh.h \ + /opt/epics/bases/base-3.14.12.5/include/shareLib.h \ + /opt/epics/bases/base-3.14.12.5/include/registryCommon.h \ + /opt/epics/bases/base-3.14.12.5/include/dbStaticLib.h \ + /opt/epics/bases/base-3.14.12.5/include/dbFldTypes.h \ + /opt/epics/bases/base-3.14.12.5/include/dbBase.h \ + /opt/epics/bases/base-3.14.12.5/include/epicsTypes.h \ + /opt/epics/bases/base-3.14.12.5/include/ellLib.h \ + /opt/epics/bases/base-3.14.12.5/include/dbDefs.h \ + /opt/epics/bases/base-3.14.12.5/include/link.h \ + /opt/epics/bases/base-3.14.12.5/include/errMdef.h \ + /opt/epics/bases/base-3.14.12.5/include/cantProceed.h \ + /opt/epics/bases/base-3.14.12.5/include/registryRecordType.h \ + /opt/epics/bases/base-3.14.12.5/include/recSup.h diff --git a/builddir/O.3.14.12.5_centos7-x86_64/EMU_registerRecordDeviceDriver.o b/builddir/O.3.14.12.5_centos7-x86_64/EMU_registerRecordDeviceDriver.o new file mode 100644 index 0000000000000000000000000000000000000000..5db4656d93003894f5b0a4df81713bf032758129 Binary files /dev/null and b/builddir/O.3.14.12.5_centos7-x86_64/EMU_registerRecordDeviceDriver.o differ diff --git a/builddir/O.3.14.12.5_centos7-x86_64/libEMU.so b/builddir/O.3.14.12.5_centos7-x86_64/libEMU.so new file mode 100755 index 0000000000000000000000000000000000000000..0eeaca36c3feb93626fe8598e4eeac77a78c2385 Binary files /dev/null and b/builddir/O.3.14.12.5_centos7-x86_64/libEMU.so differ diff --git a/builddir/O.3.14.12.5_eldk56-e500v2/.dependencies_includes b/builddir/O.3.14.12.5_eldk56-e500v2/.dependencies_includes new file mode 100644 index 0000000000000000000000000000000000000000..4a44fdf35d9f55a8c559f5b2a85cfa160ed0a592 --- /dev/null +++ b/builddir/O.3.14.12.5_eldk56-e500v2/.dependencies_includes @@ -0,0 +1 @@ +DEPENDENCIES_INCLUDES = -I/opt/epics/modules/DataAcquisition/agaget/3.14.12.5/include -I/opt/epics/modules/DataAcquisition/agaget/3.14.12.5/include/os/Linux -I/opt/epics/modules/DataAcquisition/agaget/3.14.12.5/include/os/default -I/opt/epics/modules/scanning/2.0.4/3.14.12.5/include -I/opt/epics/modules/scanning/2.0.4/3.14.12.5/include/os/Linux -I/opt/epics/modules/scanning/2.0.4/3.14.12.5/include/os/default -I/opt/epics/modules/FastAcquisition/agaget/3.14.12.5/include -I/opt/epics/modules/FastAcquisition/agaget/3.14.12.5/include/os/Linux -I/opt/epics/modules/FastAcquisition/agaget/3.14.12.5/include/os/default -I/opt/epics/modules/ecat2db/0.3.2/3.14.12.5/include -I/opt/epics/modules/ecat2db/0.3.2/3.14.12.5/include/os/Linux -I/opt/epics/modules/ecat2db/0.3.2/3.14.12.5/include/os/default -I/opt/epics/modules/asyn/4.27.0/3.14.12.5/include -I/opt/epics/modules/asyn/4.27.0/3.14.12.5/include/os/Linux -I/opt/epics/modules/asyn/4.27.0/3.14.12.5/include/os/default -I/opt/epics/modules/streamdevice/2.7.1/3.14.12.5/include -I/opt/epics/modules/streamdevice/2.7.1/3.14.12.5/include/os/Linux -I/opt/epics/modules/streamdevice/2.7.1/3.14.12.5/include/os/default -I/opt/epics/modules/sscan/2.10.1/3.14.12.5/include -I/opt/epics/modules/sscan/2.10.1/3.14.12.5/include/os/Linux -I/opt/epics/modules/sscan/2.10.1/3.14.12.5/include/os/default -I/opt/epics/modules/busy/1.6.0/3.14.12.5/include -I/opt/epics/modules/busy/1.6.0/3.14.12.5/include/os/Linux -I/opt/epics/modules/busy/1.6.0/3.14.12.5/include/os/default -I/opt/epics/modules/calc/3.6.1/3.14.12.5/include -I/opt/epics/modules/calc/3.6.1/3.14.12.5/include/os/Linux -I/opt/epics/modules/calc/3.6.1/3.14.12.5/include/os/default -I/opt/epics/modules/pcre/8.36.0/3.14.12.5/include -I/opt/epics/modules/pcre/8.36.0/3.14.12.5/include/os/Linux -I/opt/epics/modules/pcre/8.36.0/3.14.12.5/include/os/default -I/opt/epics/modules/seq/2.1.10/3.14.12.5/include -I/opt/epics/modules/seq/2.1.10/3.14.12.5/include/os/Linux -I/opt/epics/modules/seq/2.1.10/3.14.12.5/include/os/default diff --git a/builddir/O.3.14.12.5_eldk56-e500v2/EMU_CALCULS.d b/builddir/O.3.14.12.5_eldk56-e500v2/EMU_CALCULS.d new file mode 100644 index 0000000000000000000000000000000000000000..7b2da4124cd9438a3957462272f59e78c942d234 --- /dev/null +++ b/builddir/O.3.14.12.5_eldk56-e500v2/EMU_CALCULS.d @@ -0,0 +1,15 @@ +EMU_CALCULS.o: ../.././src/EMU_CALCULS.c \ + /opt/epics/bases/base-3.14.12.5/include/aSubRecord.h \ + /opt/epics/bases/base-3.14.12.5/include/epicsTypes.h \ + /opt/epics/bases/base-3.14.12.5/include/shareLib.h \ + /opt/epics/bases/base-3.14.12.5/include/link.h \ + /opt/epics/bases/base-3.14.12.5/include/dbDefs.h \ + /opt/epics/bases/base-3.14.12.5/include/epicsMutex.h \ + /opt/epics/bases/base-3.14.12.5/include/epicsAssert.h \ + /opt/epics/bases/base-3.14.12.5/include/os/Linux/osdMutex.h \ + /opt/epics/bases/base-3.14.12.5/include/ellLib.h \ + /opt/epics/bases/base-3.14.12.5/include/epicsTime.h \ + /opt/epics/bases/base-3.14.12.5/include/os/Linux/osdTime.h \ + /opt/epics/bases/base-3.14.12.5/include/registryFunction.h \ + /opt/epics/bases/base-3.14.12.5/include/epicsExport.h \ + /opt/epics/bases/base-3.14.12.5/include/shareLib.h diff --git a/builddir/O.3.14.12.5_eldk56-e500v2/EMU_CALCULS.dc b/builddir/O.3.14.12.5_eldk56-e500v2/EMU_CALCULS.dc new file mode 100644 index 0000000000000000000000000000000000000000..729f96d8b4ad22a189550dc5ee5f8064cd0eb910 --- /dev/null +++ b/builddir/O.3.14.12.5_eldk56-e500v2/EMU_CALCULS.dc @@ -0,0 +1,36 @@ +EMU_CALCULS.o: ../.././src/EMU_CALCULS.c \ + /opt/eldk-5.6/ifc1210/sysroots/ppce500v2-linux-gnuspe/usr/include/stdc-predef.h \ + /opt/epics/bases/base-3.14.12.5/include/aSubRecord.h \ + /opt/epics/bases/base-3.14.12.5/include/epicsTypes.h \ + /opt/epics/bases/base-3.14.12.5/include/shareLib.h \ + /opt/epics/bases/base-3.14.12.5/include/link.h \ + /opt/epics/bases/base-3.14.12.5/include/dbDefs.h \ + /opt/eldk-5.6/ifc1210/sysroots/i686-eldk-linux/usr/lib/powerpc-linux-gnuspe/gcc/powerpc-linux-gnuspe/4.8.2/include/stddef.h \ + /opt/epics/bases/base-3.14.12.5/include/epicsMutex.h \ + /opt/epics/bases/base-3.14.12.5/include/epicsAssert.h \ + /opt/epics/bases/base-3.14.12.5/include/os/Linux/osdMutex.h \ + /opt/epics/bases/base-3.14.12.5/include/ellLib.h \ + /opt/epics/bases/base-3.14.12.5/include/epicsTime.h \ + /opt/eldk-5.6/ifc1210/sysroots/ppce500v2-linux-gnuspe/usr/include/time.h \ + /opt/eldk-5.6/ifc1210/sysroots/ppce500v2-linux-gnuspe/usr/include/features.h \ + /opt/eldk-5.6/ifc1210/sysroots/ppce500v2-linux-gnuspe/usr/include/sys/cdefs.h \ + /opt/eldk-5.6/ifc1210/sysroots/ppce500v2-linux-gnuspe/usr/include/bits/wordsize.h \ + /opt/eldk-5.6/ifc1210/sysroots/ppce500v2-linux-gnuspe/usr/include/gnu/stubs.h \ + /opt/eldk-5.6/ifc1210/sysroots/ppce500v2-linux-gnuspe/usr/include/gnu/stubs-32.h \ + /opt/eldk-5.6/ifc1210/sysroots/ppce500v2-linux-gnuspe/usr/include/bits/time.h \ + /opt/eldk-5.6/ifc1210/sysroots/ppce500v2-linux-gnuspe/usr/include/bits/types.h \ + /opt/eldk-5.6/ifc1210/sysroots/ppce500v2-linux-gnuspe/usr/include/bits/typesizes.h \ + /opt/eldk-5.6/ifc1210/sysroots/ppce500v2-linux-gnuspe/usr/include/bits/timex.h \ + /opt/eldk-5.6/ifc1210/sysroots/ppce500v2-linux-gnuspe/usr/include/xlocale.h \ + /opt/epics/bases/base-3.14.12.5/include/os/Linux/osdTime.h \ + /opt/epics/bases/base-3.14.12.5/include/registryFunction.h \ + /opt/epics/bases/base-3.14.12.5/include/epicsExport.h \ + /opt/epics/bases/base-3.14.12.5/include/shareLib.h \ + /opt/eldk-5.6/ifc1210/sysroots/ppce500v2-linux-gnuspe/usr/include/math.h \ + /opt/eldk-5.6/ifc1210/sysroots/ppce500v2-linux-gnuspe/usr/include/bits/huge_val.h \ + /opt/eldk-5.6/ifc1210/sysroots/ppce500v2-linux-gnuspe/usr/include/bits/huge_valf.h \ + /opt/eldk-5.6/ifc1210/sysroots/ppce500v2-linux-gnuspe/usr/include/bits/huge_vall.h \ + /opt/eldk-5.6/ifc1210/sysroots/ppce500v2-linux-gnuspe/usr/include/bits/inf.h \ + /opt/eldk-5.6/ifc1210/sysroots/ppce500v2-linux-gnuspe/usr/include/bits/nan.h \ + /opt/eldk-5.6/ifc1210/sysroots/ppce500v2-linux-gnuspe/usr/include/bits/mathdef.h \ + /opt/eldk-5.6/ifc1210/sysroots/ppce500v2-linux-gnuspe/usr/include/bits/mathcalls.h diff --git a/builddir/O.3.14.12.5_eldk56-e500v2/EMU_CALCULS.o b/builddir/O.3.14.12.5_eldk56-e500v2/EMU_CALCULS.o new file mode 100644 index 0000000000000000000000000000000000000000..b4060b18387ebc5f24f02be280dc6b81d99592c5 Binary files /dev/null and b/builddir/O.3.14.12.5_eldk56-e500v2/EMU_CALCULS.o differ diff --git a/builddir/O.3.14.12.5_eldk56-e500v2/EMU_RAMP-CURRENT.c b/builddir/O.3.14.12.5_eldk56-e500v2/EMU_RAMP-CURRENT.c new file mode 100644 index 0000000000000000000000000000000000000000..1326be681143157692b3a53146202932b64faf6e --- /dev/null +++ b/builddir/O.3.14.12.5_eldk56-e500v2/EMU_RAMP-CURRENT.c @@ -0,0 +1,261 @@ +/* Generated with snc from EMU_RAMP-CURRENT.i */ + +/* Program "RampCurrent" */ +#include <string.h> +#include <stddef.h> +#include <stdio.h> +#include <limits.h> +#include "epicsTypes.h" +#include "seqCom.h" + +/* Variable declarations */ +# line 13 "../.././src/EMU_RAMP-CURRENT.st" +static float PS2_Cons = 0; +# line 20 "../.././src/EMU_RAMP-CURRENT.st" +static float FCCurr_Cons = 0; +# line 24 "../.././src/EMU_RAMP-CURRENT.st" +static short start = 0; +# line 28 "../.././src/EMU_RAMP-CURRENT.st" +static short simulation = 0; +# line 33 "../.././src/EMU_RAMP-CURRENT.st" +static float limitCurr = 0.6; + +/* C code definitions */ +# line 8 "../.././src/EMU_RAMP-CURRENT.st" +#include <stdio.h> +# line 9 "../.././src/EMU_RAMP-CURRENT.st" +#include <string.h> +# line 10 "../.././src/EMU_RAMP-CURRENT.st" +#include <stdlib.h> + +/* Program init func */ +static void G_prog_init(struct UserVar *pVar) +{ +} + +/****** Code for state "init" in state set "ss1" ******/ + +/* Delay function for state "init" in state set "ss1" */ +static void D_ss1_0_init(SS_ID ssId, struct UserVar *pVar) +{ +# line 38 "../.././src/EMU_RAMP-CURRENT.st" + seq_delayInit(ssId, 0, (1.0)); +} + +/* Event function for state "init" in state set "ss1" */ +static seqBool E_ss1_0_init(SS_ID ssId, struct UserVar *pVar, int *pTransNum, int *pNextState) +{ +# line 38 "../.././src/EMU_RAMP-CURRENT.st" + if (seq_delay(ssId, 0) && (seq_pvConnectCount(ssId) == seq_pvChannelCount(ssId))) + { + *pNextState = 1; + *pTransNum = 0; + return TRUE; + } + return FALSE; +} + +/* Action function for state "init" in state set "ss1" */ +static void A_ss1_0_init(SS_ID ssId, struct UserVar *pVar, int transNum, int *pNextState) +{ + switch(transNum) + { + case 0: + { +# line 40 "../.././src/EMU_RAMP-CURRENT.st" + start = 0; +# line 41 "../.././src/EMU_RAMP-CURRENT.st" + simulation = 0; + } + return; + } +} + +/****** Code for state "start" in state set "ss1" ******/ + +/* Delay function for state "start" in state set "ss1" */ +static void D_ss1_0_start(SS_ID ssId, struct UserVar *pVar) +{ +} + +/* Event function for state "start" in state set "ss1" */ +static seqBool E_ss1_0_start(SS_ID ssId, struct UserVar *pVar, int *pTransNum, int *pNextState) +{ +# line 47 "../.././src/EMU_RAMP-CURRENT.st" + if ((start == 1) && (simulation == 1)) + { + *pNextState = 2; + *pTransNum = 0; + return TRUE; + } + return FALSE; +} + +/* Action function for state "start" in state set "ss1" */ +static void A_ss1_0_start(SS_ID ssId, struct UserVar *pVar, int transNum, int *pNextState) +{ + switch(transNum) + { + case 0: + { +# line 49 "../.././src/EMU_RAMP-CURRENT.st" + FCCurr_Cons = 0; +# line 50 "../.././src/EMU_RAMP-CURRENT.st" + seq_pvPut(ssId, 1/*FCCurr_Cons*/, 0); + } + return; + } +} + +/****** Code for state "ramp" in state set "ss1" ******/ + +/* Delay function for state "ramp" in state set "ss1" */ +static void D_ss1_0_ramp(SS_ID ssId, struct UserVar *pVar) +{ +} + +/* Event function for state "ramp" in state set "ss1" */ +static seqBool E_ss1_0_ramp(SS_ID ssId, struct UserVar *pVar, int *pTransNum, int *pNextState) +{ +# line 56 "../.././src/EMU_RAMP-CURRENT.st" + if (seq_efTestAndClear(ssId, 1/*PS2_Cons_flag*/)) + { + *pNextState = 2; + *pTransNum = 0; + return TRUE; + } +# line 65 "../.././src/EMU_RAMP-CURRENT.st" + if (start == 0) + { + *pNextState = 1; + *pTransNum = 1; + return TRUE; + } + return FALSE; +} + +/* Action function for state "ramp" in state set "ss1" */ +static void A_ss1_0_ramp(SS_ID ssId, struct UserVar *pVar, int transNum, int *pNextState) +{ + switch(transNum) + { + case 0: + { +# line 58 "../.././src/EMU_RAMP-CURRENT.st" + if ((PS2_Cons < limitCurr) && (PS2_Cons > -limitCurr)) + { +# line 58 "../.././src/EMU_RAMP-CURRENT.st" + FCCurr_Cons = 10; + } + else + { + /* C code definitions */ +# line 60 "../.././src/EMU_RAMP-CURRENT.st" + FCCurr_Cons= PS2_Cons; + } +# line 62 "../.././src/EMU_RAMP-CURRENT.st" + seq_pvPut(ssId, 1/*FCCurr_Cons*/, 0); + } + return; + case 1: + { +# line 67 "../.././src/EMU_RAMP-CURRENT.st" + FCCurr_Cons = 0; +# line 68 "../.././src/EMU_RAMP-CURRENT.st" + seq_pvPut(ssId, 1/*FCCurr_Cons*/, 0); + } + return; + } +} + +/************************ Tables ************************/ + +/* Channel table */ +static seqChan G_channels[] = { + /* chName, offset, varName, varType, count, eventNum, efId, monitored, queueSize, queueIndex */ + {"{PREFIX_PS}:{CONS_PS2}", (size_t)&PS2_Cons, "PS2_Cons", "float", 1, 2, 1, 1, 0, 0}, + {"SIMU:CURRENT-SP", (size_t)&FCCurr_Cons, "FCCurr_Cons", "float", 1, 3, 0, 1, 0, 0}, + {"SCAN:MTR.EXSC", (size_t)&start, "start", "short", 1, 4, 0, 1, 0, 0}, + {"SCAN:PROC-SIMU", (size_t)&simulation, "simulation", "short", 1, 5, 0, 1, 0, 0} +}; + +/* Event masks for state set "ss1" */ +static const seqMask EM_ss1_0_init[] = { + 0x00000000, +}; +static const seqMask EM_ss1_0_start[] = { + 0x00000030, +}; +static const seqMask EM_ss1_0_ramp[] = { + 0x00000012, +}; + +/* State table for state set "ss1" */ +static seqState G_ss1_states[] = { + { + /* state name */ "init", + /* action function */ A_ss1_0_init, + /* event function */ E_ss1_0_init, + /* delay function */ D_ss1_0_init, + /* entry function */ 0, + /* exit function */ 0, + /* event mask array */ EM_ss1_0_init, + /* state options */ (0) + }, + { + /* state name */ "start", + /* action function */ A_ss1_0_start, + /* event function */ E_ss1_0_start, + /* delay function */ D_ss1_0_start, + /* entry function */ 0, + /* exit function */ 0, + /* event mask array */ EM_ss1_0_start, + /* state options */ (0) + }, + { + /* state name */ "ramp", + /* action function */ A_ss1_0_ramp, + /* event function */ E_ss1_0_ramp, + /* delay function */ D_ss1_0_ramp, + /* entry function */ 0, + /* exit function */ 0, + /* event mask array */ EM_ss1_0_ramp, + /* state options */ (0) + }, +}; + +/* State set table */ +static seqSS G_state_sets[] = { + { + /* state set name */ "ss1", + /* states */ G_ss1_states, + /* number of states */ 3, + /* number of delays */ 1 + }, +}; + +/* Program table (global) */ +seqProgram RampCurrent = { + /* magic number */ 2001010, + /* program name */ "RampCurrent", + /* channels */ G_channels, + /* num. channels */ 4, + /* state sets */ G_state_sets, + /* num. state sets */ 1, + /* user var size */ 0, + /* param */ "", + /* num. event flags */ 1, + /* encoded options */ (0 | OPT_CONN | OPT_NEWEF), + /* init func */ G_prog_init, + /* entry func */ NULL, + /* exit func */ NULL, + /* num. queues */ 0 +}; + +/* Register sequencer commands and program */ +#include "epicsExport.h" +static void RampCurrentRegistrar (void) { + seqRegisterSequencerCommands(); + seqRegisterSequencerProgram (&RampCurrent); +} +epicsExportRegistrar(RampCurrentRegistrar); diff --git a/builddir/O.3.14.12.5_eldk56-e500v2/EMU_RAMP-CURRENT.d b/builddir/O.3.14.12.5_eldk56-e500v2/EMU_RAMP-CURRENT.d new file mode 100644 index 0000000000000000000000000000000000000000..f86a72568ed051371a8a5c1acf1c537eb87828a1 --- /dev/null +++ b/builddir/O.3.14.12.5_eldk56-e500v2/EMU_RAMP-CURRENT.d @@ -0,0 +1,14 @@ +EMU_RAMP-CURRENT.o: EMU_RAMP-CURRENT.c \ + /opt/epics/bases/base-3.14.12.5/include/epicsTypes.h \ + /opt/epics/bases/base-3.14.12.5/include/shareLib.h \ + /opt/epics/modules/seq/2.1.10/3.14.12.5/include/seqCom.h \ + /opt/epics/bases/base-3.14.12.5/include/shareLib.h \ + /opt/epics/modules/seq/2.1.10/3.14.12.5/include/pvAlarm.h \ + /opt/epics/modules/seq/2.1.10/3.14.12.5/include/pvType.h \ + /opt/epics/bases/base-3.14.12.5/include/epicsTime.h \ + /opt/epics/bases/base-3.14.12.5/include/epicsTypes.h \ + /opt/epics/bases/base-3.14.12.5/include/os/Linux/osdTime.h \ + /opt/epics/bases/base-3.14.12.5/include/epicsThread.h \ + /opt/epics/bases/base-3.14.12.5/include/os/Linux/osdThread.h \ + /opt/epics/modules/seq/2.1.10/3.14.12.5/include/seq_release.h \ + /opt/epics/bases/base-3.14.12.5/include/epicsExport.h diff --git a/builddir/O.3.14.12.5_eldk56-e500v2/EMU_RAMP-CURRENT.dc b/builddir/O.3.14.12.5_eldk56-e500v2/EMU_RAMP-CURRENT.dc new file mode 100644 index 0000000000000000000000000000000000000000..55481fdab220e6a7b7d8a175f938058d49f61d7e --- /dev/null +++ b/builddir/O.3.14.12.5_eldk56-e500v2/EMU_RAMP-CURRENT.dc @@ -0,0 +1,48 @@ +EMU_RAMP-CURRENT.o: EMU_RAMP-CURRENT.c \ + /opt/eldk-5.6/ifc1210/sysroots/ppce500v2-linux-gnuspe/usr/include/stdc-predef.h \ + /opt/eldk-5.6/ifc1210/sysroots/ppce500v2-linux-gnuspe/usr/include/string.h \ + /opt/eldk-5.6/ifc1210/sysroots/ppce500v2-linux-gnuspe/usr/include/features.h \ + /opt/eldk-5.6/ifc1210/sysroots/ppce500v2-linux-gnuspe/usr/include/sys/cdefs.h \ + /opt/eldk-5.6/ifc1210/sysroots/ppce500v2-linux-gnuspe/usr/include/bits/wordsize.h \ + /opt/eldk-5.6/ifc1210/sysroots/ppce500v2-linux-gnuspe/usr/include/gnu/stubs.h \ + /opt/eldk-5.6/ifc1210/sysroots/ppce500v2-linux-gnuspe/usr/include/gnu/stubs-32.h \ + /opt/eldk-5.6/ifc1210/sysroots/i686-eldk-linux/usr/lib/powerpc-linux-gnuspe/gcc/powerpc-linux-gnuspe/4.8.2/include/stddef.h \ + /opt/eldk-5.6/ifc1210/sysroots/ppce500v2-linux-gnuspe/usr/include/xlocale.h \ + /opt/eldk-5.6/ifc1210/sysroots/ppce500v2-linux-gnuspe/usr/include/stdio.h \ + /opt/eldk-5.6/ifc1210/sysroots/ppce500v2-linux-gnuspe/usr/include/bits/types.h \ + /opt/eldk-5.6/ifc1210/sysroots/ppce500v2-linux-gnuspe/usr/include/bits/typesizes.h \ + /opt/eldk-5.6/ifc1210/sysroots/ppce500v2-linux-gnuspe/usr/include/libio.h \ + /opt/eldk-5.6/ifc1210/sysroots/ppce500v2-linux-gnuspe/usr/include/_G_config.h \ + /opt/eldk-5.6/ifc1210/sysroots/ppce500v2-linux-gnuspe/usr/include/wchar.h \ + /opt/eldk-5.6/ifc1210/sysroots/i686-eldk-linux/usr/lib/powerpc-linux-gnuspe/gcc/powerpc-linux-gnuspe/4.8.2/include/stdarg.h \ + /opt/eldk-5.6/ifc1210/sysroots/ppce500v2-linux-gnuspe/usr/include/bits/stdio_lim.h \ + /opt/eldk-5.6/ifc1210/sysroots/ppce500v2-linux-gnuspe/usr/include/bits/sys_errlist.h \ + /opt/eldk-5.6/ifc1210/sysroots/i686-eldk-linux/usr/lib/powerpc-linux-gnuspe/gcc/powerpc-linux-gnuspe/4.8.2/include-fixed/limits.h \ + /opt/eldk-5.6/ifc1210/sysroots/i686-eldk-linux/usr/lib/powerpc-linux-gnuspe/gcc/powerpc-linux-gnuspe/4.8.2/include-fixed/syslimits.h \ + /opt/eldk-5.6/ifc1210/sysroots/ppce500v2-linux-gnuspe/usr/include/limits.h \ + /opt/eldk-5.6/ifc1210/sysroots/ppce500v2-linux-gnuspe/usr/include/bits/posix1_lim.h \ + /opt/eldk-5.6/ifc1210/sysroots/ppce500v2-linux-gnuspe/usr/include/bits/local_lim.h \ + /opt/eldk-5.6/ifc1210/sysroots/ppce500v2-linux-gnuspe/usr/include/linux/limits.h \ + /opt/eldk-5.6/ifc1210/sysroots/ppce500v2-linux-gnuspe/usr/include/bits/posix2_lim.h \ + /opt/eldk-5.6/ifc1210/sysroots/ppce500v2-linux-gnuspe/usr/include/bits/xopen_lim.h \ + /opt/epics/bases/base-3.14.12.5/include/epicsTypes.h \ + /opt/epics/bases/base-3.14.12.5/include/shareLib.h seqCom.h \ + /opt/eldk-5.6/ifc1210/sysroots/ppce500v2-linux-gnuspe/usr/include/stdlib.h \ + /opt/eldk-5.6/ifc1210/sysroots/ppce500v2-linux-gnuspe/usr/include/bits/waitflags.h \ + /opt/eldk-5.6/ifc1210/sysroots/ppce500v2-linux-gnuspe/usr/include/bits/waitstatus.h \ + /opt/eldk-5.6/ifc1210/sysroots/ppce500v2-linux-gnuspe/usr/include/endian.h \ + /opt/eldk-5.6/ifc1210/sysroots/ppce500v2-linux-gnuspe/usr/include/bits/endian.h \ + /opt/eldk-5.6/ifc1210/sysroots/ppce500v2-linux-gnuspe/usr/include/bits/byteswap.h \ + /opt/eldk-5.6/ifc1210/sysroots/ppce500v2-linux-gnuspe/usr/include/bits/byteswap-16.h \ + /opt/eldk-5.6/ifc1210/sysroots/ppce500v2-linux-gnuspe/usr/include/sys/types.h \ + /opt/eldk-5.6/ifc1210/sysroots/ppce500v2-linux-gnuspe/usr/include/time.h \ + /opt/eldk-5.6/ifc1210/sysroots/ppce500v2-linux-gnuspe/usr/include/sys/select.h \ + /opt/eldk-5.6/ifc1210/sysroots/ppce500v2-linux-gnuspe/usr/include/bits/select.h \ + /opt/eldk-5.6/ifc1210/sysroots/ppce500v2-linux-gnuspe/usr/include/bits/sigset.h \ + /opt/eldk-5.6/ifc1210/sysroots/ppce500v2-linux-gnuspe/usr/include/bits/time.h \ + /opt/eldk-5.6/ifc1210/sysroots/ppce500v2-linux-gnuspe/usr/include/sys/sysmacros.h \ + /opt/eldk-5.6/ifc1210/sysroots/ppce500v2-linux-gnuspe/usr/include/bits/pthreadtypes.h \ + /opt/eldk-5.6/ifc1210/sysroots/ppce500v2-linux-gnuspe/usr/include/alloca.h \ + /opt/eldk-5.6/ifc1210/sysroots/ppce500v2-linux-gnuspe/usr/include/bits/stdlib-float.h \ + /opt/epics/bases/base-3.14.12.5/include/epicsExport.h \ + /opt/epics/bases/base-3.14.12.5/include/shareLib.h diff --git a/builddir/O.3.14.12.5_eldk56-e500v2/EMU_RAMP-CURRENT.i b/builddir/O.3.14.12.5_eldk56-e500v2/EMU_RAMP-CURRENT.i new file mode 100644 index 0000000000000000000000000000000000000000..b15959dbe7fd89f67236b6acbae9fefeb090b83d --- /dev/null +++ b/builddir/O.3.14.12.5_eldk56-e500v2/EMU_RAMP-CURRENT.i @@ -0,0 +1,77 @@ +# 1 "../.././src/EMU_RAMP-CURRENT.st" +# 1 "<command-line>" +# 1 "/opt/eldk-5.6/ifc1210/sysroots/ppce500v2-linux-gnuspe/usr/include/stdc-predef.h" 1 3 4 +# 1 "<command-line>" 2 +# 1 "../.././src/EMU_RAMP-CURRENT.st" + + + + + +program RampCurrent + +%%#include <stdio.h> +%%#include <string.h> +%%#include <stdlib.h> + + +float PS2_Cons; +assign PS2_Cons to "{PREFIX_PS}:{CONS_PS2}"; +monitor PS2_Cons; +evflag PS2_Cons_flag; +sync PS2_Cons PS2_Cons_flag; + + +float FCCurr_Cons; +assign FCCurr_Cons to "SIMU:CURRENT-SP"; +monitor FCCurr_Cons; + +short start; +assign start to "SCAN:MTR.EXSC"; +monitor start; + +short simulation; +assign simulation to "SCAN:PROC-SIMU"; +monitor simulation; + + +float limitCurr=0.6; + +ss ss1 +{ + state init { + when (delay(1.0) && (pvConnectCount() == pvChannelCount())) + { + start=0; + simulation=0; + } state start + } + + state start + { + when ((start==1) && (simulation==1)) + { + FCCurr_Cons=0; + pvPut(FCCurr_Cons); + }state ramp + } + + state ramp + { + when(efTestAndClear(PS2_Cons_flag)) + { + if((PS2_Cons<limitCurr) && (PS2_Cons>-limitCurr)){FCCurr_Cons= 10;} + else{ + %%FCCurr_Cons= PS2_Cons; + } + pvPut(FCCurr_Cons); + }state ramp + + when (start==0) + { + FCCurr_Cons=0; + pvPut(FCCurr_Cons); + }state start + } + +} diff --git a/builddir/O.3.14.12.5_eldk56-e500v2/EMU_RAMP-CURRENT.o b/builddir/O.3.14.12.5_eldk56-e500v2/EMU_RAMP-CURRENT.o new file mode 100644 index 0000000000000000000000000000000000000000..ab4e9161a6a57819761d2d9666099c763b45ba01 Binary files /dev/null and b/builddir/O.3.14.12.5_eldk56-e500v2/EMU_RAMP-CURRENT.o differ diff --git a/builddir/O.3.14.12.5_eldk56-e500v2/EMU_RAMP-CURRENT_snl.dbd b/builddir/O.3.14.12.5_eldk56-e500v2/EMU_RAMP-CURRENT_snl.dbd new file mode 100644 index 0000000000000000000000000000000000000000..b47d140bf201417375c49d2d2a6698409e48d4a8 --- /dev/null +++ b/builddir/O.3.14.12.5_eldk56-e500v2/EMU_RAMP-CURRENT_snl.dbd @@ -0,0 +1 @@ +registrar (RampCurrentRegistrar) diff --git a/builddir/O.3.14.12.5_eldk56-e500v2/EMU_Versionjfdenis.c b/builddir/O.3.14.12.5_eldk56-e500v2/EMU_Versionjfdenis.c new file mode 100644 index 0000000000000000000000000000000000000000..790699c3704deb191da8bcd66648d87e83a4bc33 --- /dev/null +++ b/builddir/O.3.14.12.5_eldk56-e500v2/EMU_Versionjfdenis.c @@ -0,0 +1 @@ +char epics_EMULibRelease[] = "jfdenis"; diff --git a/builddir/O.3.14.12.5_eldk56-e500v2/EMU_Versionjfdenis.d b/builddir/O.3.14.12.5_eldk56-e500v2/EMU_Versionjfdenis.d new file mode 100644 index 0000000000000000000000000000000000000000..ed81567a28402d5387d3e5d7e009f79df37599d5 --- /dev/null +++ b/builddir/O.3.14.12.5_eldk56-e500v2/EMU_Versionjfdenis.d @@ -0,0 +1 @@ +EMU_Versionjfdenis.o: EMU_Versionjfdenis.c diff --git a/builddir/O.3.14.12.5_eldk56-e500v2/EMU_Versionjfdenis.o b/builddir/O.3.14.12.5_eldk56-e500v2/EMU_Versionjfdenis.o new file mode 100644 index 0000000000000000000000000000000000000000..02df4a8875434761a4b2bec2dde4cafb1621b35d Binary files /dev/null and b/builddir/O.3.14.12.5_eldk56-e500v2/EMU_Versionjfdenis.o differ diff --git a/builddir/O.3.14.12.5_eldk56-e500v2/EMU_registerRecordDeviceDriver.cpp b/builddir/O.3.14.12.5_eldk56-e500v2/EMU_registerRecordDeviceDriver.cpp new file mode 100644 index 0000000000000000000000000000000000000000..2fe4f42b5e20bf173516167bfcdaaaddf73ec460 --- /dev/null +++ b/builddir/O.3.14.12.5_eldk56-e500v2/EMU_registerRecordDeviceDriver.cpp @@ -0,0 +1,55 @@ +/* THIS IS A GENERATED FILE. DO NOT EDIT! */ +/* Generated from ../../builddir/3.14.12.5/dbd/EMU.dbd */ + +#include <string.h> + +#include "epicsStdlib.h" +#include "iocsh.h" +#include "registryCommon.h" + +extern "C" { + +epicsShareExtern void (*pvar_func_RampCurrentRegistrar)(void); +epicsShareExtern void (*pvar_func_register_func_FACTOR_CONVERSION)(void); +epicsShareExtern void (*pvar_func_register_func_ANGLE_CALCUL)(void); +epicsShareExtern void (*pvar_func_register_func_CREATE_TAB)(void); +epicsShareExtern void (*pvar_func_register_func_INIT_TAB)(void); + +int EMU_registerRecordDeviceDriver(DBBASE *pbase) +{ + if (!pbase) { + printf("pdbbase is NULL; you must load a DBD file first.\n"); + return -1; + } + + (*pvar_func_RampCurrentRegistrar)(); + (*pvar_func_register_func_FACTOR_CONVERSION)(); + (*pvar_func_register_func_ANGLE_CALCUL)(); + (*pvar_func_register_func_CREATE_TAB)(); + (*pvar_func_register_func_INIT_TAB)(); + return 0; +} + +/* registerRecordDeviceDriver */ +static const iocshArg registerRecordDeviceDriverArg0 = + {"pdbbase",iocshArgPdbbase}; +static const iocshArg *registerRecordDeviceDriverArgs[1] = + {®isterRecordDeviceDriverArg0}; +static const iocshFuncDef registerRecordDeviceDriverFuncDef = + {"EMU_registerRecordDeviceDriver",1,registerRecordDeviceDriverArgs}; +static void registerRecordDeviceDriverCallFunc(const iocshArgBuf *) +{ + EMU_registerRecordDeviceDriver(*iocshPpdbbase); +} + +} // extern "C" +/* + * Register commands on application startup + */ +static int Registration() { + iocshRegister(®isterRecordDeviceDriverFuncDef, + registerRecordDeviceDriverCallFunc); + return 0; +} + +static int done = Registration(); diff --git a/builddir/O.3.14.12.5_eldk56-e500v2/EMU_registerRecordDeviceDriver.d b/builddir/O.3.14.12.5_eldk56-e500v2/EMU_registerRecordDeviceDriver.d new file mode 100644 index 0000000000000000000000000000000000000000..482ee06d15331431c18e4cfeac8ff77616b7206f --- /dev/null +++ b/builddir/O.3.14.12.5_eldk56-e500v2/EMU_registerRecordDeviceDriver.d @@ -0,0 +1,18 @@ +EMU_registerRecordDeviceDriver.o: EMU_registerRecordDeviceDriver.cpp \ + /opt/epics/bases/base-3.14.12.5/include/epicsStdlib.h \ + /opt/epics/bases/base-3.14.12.5/include/shareLib.h \ + /opt/epics/bases/base-3.14.12.5/include/os/Linux/osdStrtod.h \ + /opt/epics/bases/base-3.14.12.5/include/iocsh.h \ + /opt/epics/bases/base-3.14.12.5/include/shareLib.h \ + /opt/epics/bases/base-3.14.12.5/include/registryCommon.h \ + /opt/epics/bases/base-3.14.12.5/include/dbStaticLib.h \ + /opt/epics/bases/base-3.14.12.5/include/dbFldTypes.h \ + /opt/epics/bases/base-3.14.12.5/include/dbBase.h \ + /opt/epics/bases/base-3.14.12.5/include/epicsTypes.h \ + /opt/epics/bases/base-3.14.12.5/include/ellLib.h \ + /opt/epics/bases/base-3.14.12.5/include/dbDefs.h \ + /opt/epics/bases/base-3.14.12.5/include/link.h \ + /opt/epics/bases/base-3.14.12.5/include/errMdef.h \ + /opt/epics/bases/base-3.14.12.5/include/cantProceed.h \ + /opt/epics/bases/base-3.14.12.5/include/registryRecordType.h \ + /opt/epics/bases/base-3.14.12.5/include/recSup.h diff --git a/builddir/O.3.14.12.5_eldk56-e500v2/EMU_registerRecordDeviceDriver.o b/builddir/O.3.14.12.5_eldk56-e500v2/EMU_registerRecordDeviceDriver.o new file mode 100644 index 0000000000000000000000000000000000000000..b42f4be957ac9c034413c04dbf21f381a654e53f Binary files /dev/null and b/builddir/O.3.14.12.5_eldk56-e500v2/EMU_registerRecordDeviceDriver.o differ diff --git a/builddir/O.3.14.12.5_eldk56-e500v2/libEMU.so b/builddir/O.3.14.12.5_eldk56-e500v2/libEMU.so new file mode 100755 index 0000000000000000000000000000000000000000..bbbd1825ff13b97c35b2352678d61f453c5263fa Binary files /dev/null and b/builddir/O.3.14.12.5_eldk56-e500v2/libEMU.so differ diff --git a/builddir/O.3.15.2_Common/EMU_subRecordFunctions.dbd b/builddir/O.3.15.2_Common/EMU_subRecordFunctions.dbd new file mode 100644 index 0000000000000000000000000000000000000000..9d289f7f6e7d348710b00e0ff2a4b84beb42ace8 --- /dev/null +++ b/builddir/O.3.15.2_Common/EMU_subRecordFunctions.dbd @@ -0,0 +1,4 @@ +function (FACTOR_CONVERSION) +function (ANGLE_CALCUL) +function (CREATE_TAB) +function (INIT_TAB) diff --git a/builddir/O.3.15.2_centos7-x86_64/.dependencies_includes b/builddir/O.3.15.2_centos7-x86_64/.dependencies_includes new file mode 100644 index 0000000000000000000000000000000000000000..8f12eaae89887375ba4900494b9caf10ed61c500 --- /dev/null +++ b/builddir/O.3.15.2_centos7-x86_64/.dependencies_includes @@ -0,0 +1 @@ +DEPENDENCIES_INCLUDES = -I/opt/epics/modules/DataAcquisition/agaget/3.15.2/include -I/opt/epics/modules/DataAcquisition/agaget/3.15.2/include/os/Linux -I/opt/epics/modules/DataAcquisition/agaget/3.15.2/include/os/default -I/opt/epics/modules/scanning/2.0.4/3.15.2/include -I/opt/epics/modules/scanning/2.0.4/3.15.2/include/os/Linux -I/opt/epics/modules/scanning/2.0.4/3.15.2/include/os/default -I/opt/epics/modules/FastAcquisition/agaget/3.15.2/include -I/opt/epics/modules/FastAcquisition/agaget/3.15.2/include/os/Linux -I/opt/epics/modules/FastAcquisition/agaget/3.15.2/include/os/default -I/opt/epics/modules/asyn/4.27.0/3.15.2/include -I/opt/epics/modules/asyn/4.27.0/3.15.2/include/os/Linux -I/opt/epics/modules/asyn/4.27.0/3.15.2/include/os/default -I/opt/epics/modules/streamdevice/2.7.1/3.15.2/include -I/opt/epics/modules/streamdevice/2.7.1/3.15.2/include/os/Linux -I/opt/epics/modules/streamdevice/2.7.1/3.15.2/include/os/default -I/opt/epics/modules/sscan/2.10.1/3.15.2/include -I/opt/epics/modules/sscan/2.10.1/3.15.2/include/os/Linux -I/opt/epics/modules/sscan/2.10.1/3.15.2/include/os/default -I/opt/epics/modules/busy/1.6.0/3.15.2/include -I/opt/epics/modules/busy/1.6.0/3.15.2/include/os/Linux -I/opt/epics/modules/busy/1.6.0/3.15.2/include/os/default -I/opt/epics/modules/calc/3.6.1/3.15.2/include -I/opt/epics/modules/calc/3.6.1/3.15.2/include/os/Linux -I/opt/epics/modules/calc/3.6.1/3.15.2/include/os/default -I/opt/epics/modules/pcre/8.36.0/3.15.2/include -I/opt/epics/modules/pcre/8.36.0/3.15.2/include/os/Linux -I/opt/epics/modules/pcre/8.36.0/3.15.2/include/os/default -I/opt/epics/modules/seq/2.1.10/3.15.2/include -I/opt/epics/modules/seq/2.1.10/3.15.2/include/os/Linux -I/opt/epics/modules/seq/2.1.10/3.15.2/include/os/default diff --git a/builddir/O.3.15.2_centos7-x86_64/EMU_CALCULS.d b/builddir/O.3.15.2_centos7-x86_64/EMU_CALCULS.d new file mode 100644 index 0000000000000000000000000000000000000000..e3a9c42c41401ef79ea8ab42f6053e8c1ee01207 --- /dev/null +++ b/builddir/O.3.15.2_centos7-x86_64/EMU_CALCULS.d @@ -0,0 +1,17 @@ +EMU_CALCULS.o: ../.././src/EMU_CALCULS.c \ + /opt/epics/bases/base-3.15.2/include/aSubRecord.h \ + /opt/epics/bases/base-3.15.2/include/epicsTypes.h \ + /opt/epics/bases/base-3.15.2/include/shareLib.h \ + /opt/epics/bases/base-3.15.2/include/compilerDependencies.h \ + /opt/epics/bases/base-3.15.2/include/compiler/gcc/compilerSpecific.h \ + /opt/epics/bases/base-3.15.2/include/link.h \ + /opt/epics/bases/base-3.15.2/include/dbDefs.h \ + /opt/epics/bases/base-3.15.2/include/epicsMutex.h \ + /opt/epics/bases/base-3.15.2/include/epicsAssert.h \ + /opt/epics/bases/base-3.15.2/include/os/Linux/osdMutex.h \ + /opt/epics/bases/base-3.15.2/include/ellLib.h \ + /opt/epics/bases/base-3.15.2/include/epicsTime.h \ + /opt/epics/bases/base-3.15.2/include/os/Linux/osdTime.h \ + /opt/epics/bases/base-3.15.2/include/registryFunction.h \ + /opt/epics/bases/base-3.15.2/include/epicsExport.h \ + /opt/epics/bases/base-3.15.2/include/shareLib.h diff --git a/builddir/O.3.15.2_centos7-x86_64/EMU_CALCULS.dc b/builddir/O.3.15.2_centos7-x86_64/EMU_CALCULS.dc new file mode 100644 index 0000000000000000000000000000000000000000..be9a4f9cf87a69c5f3a4618510a45ba485e86666 --- /dev/null +++ b/builddir/O.3.15.2_centos7-x86_64/EMU_CALCULS.dc @@ -0,0 +1,27 @@ +EMU_CALCULS.o: ../.././src/EMU_CALCULS.c /usr/include/stdc-predef.h \ + /opt/epics/bases/base-3.15.2/include/aSubRecord.h \ + /opt/epics/bases/base-3.15.2/include/epicsTypes.h \ + /opt/epics/bases/base-3.15.2/include/shareLib.h \ + /opt/epics/bases/base-3.15.2/include/compilerDependencies.h \ + /opt/epics/bases/base-3.15.2/include/compiler/gcc/compilerSpecific.h \ + /opt/epics/bases/base-3.15.2/include/link.h \ + /opt/epics/bases/base-3.15.2/include/dbDefs.h \ + /usr/lib/gcc/x86_64-redhat-linux/4.8.3/include/stddef.h \ + /opt/epics/bases/base-3.15.2/include/epicsMutex.h \ + /opt/epics/bases/base-3.15.2/include/epicsAssert.h \ + /opt/epics/bases/base-3.15.2/include/os/Linux/osdMutex.h \ + /opt/epics/bases/base-3.15.2/include/ellLib.h \ + /opt/epics/bases/base-3.15.2/include/epicsTime.h /usr/include/time.h \ + /usr/include/features.h /usr/include/sys/cdefs.h \ + /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \ + /usr/include/gnu/stubs-64.h /usr/include/bits/time.h \ + /usr/include/bits/types.h /usr/include/bits/typesizes.h \ + /usr/include/bits/timex.h /usr/include/xlocale.h \ + /opt/epics/bases/base-3.15.2/include/os/Linux/osdTime.h \ + /opt/epics/bases/base-3.15.2/include/registryFunction.h \ + /opt/epics/bases/base-3.15.2/include/epicsExport.h \ + /opt/epics/bases/base-3.15.2/include/shareLib.h /usr/include/math.h \ + /usr/include/bits/huge_val.h /usr/include/bits/huge_valf.h \ + /usr/include/bits/huge_vall.h /usr/include/bits/inf.h \ + /usr/include/bits/nan.h /usr/include/bits/mathdef.h \ + /usr/include/bits/mathcalls.h diff --git a/builddir/O.3.15.2_centos7-x86_64/EMU_CALCULS.o b/builddir/O.3.15.2_centos7-x86_64/EMU_CALCULS.o new file mode 100644 index 0000000000000000000000000000000000000000..084c9e483d4eacba306cc9cb53cd6b83cba86b45 Binary files /dev/null and b/builddir/O.3.15.2_centos7-x86_64/EMU_CALCULS.o differ diff --git a/builddir/O.3.15.2_centos7-x86_64/EMU_RAMP-CURRENT.c b/builddir/O.3.15.2_centos7-x86_64/EMU_RAMP-CURRENT.c new file mode 100644 index 0000000000000000000000000000000000000000..1326be681143157692b3a53146202932b64faf6e --- /dev/null +++ b/builddir/O.3.15.2_centos7-x86_64/EMU_RAMP-CURRENT.c @@ -0,0 +1,261 @@ +/* Generated with snc from EMU_RAMP-CURRENT.i */ + +/* Program "RampCurrent" */ +#include <string.h> +#include <stddef.h> +#include <stdio.h> +#include <limits.h> +#include "epicsTypes.h" +#include "seqCom.h" + +/* Variable declarations */ +# line 13 "../.././src/EMU_RAMP-CURRENT.st" +static float PS2_Cons = 0; +# line 20 "../.././src/EMU_RAMP-CURRENT.st" +static float FCCurr_Cons = 0; +# line 24 "../.././src/EMU_RAMP-CURRENT.st" +static short start = 0; +# line 28 "../.././src/EMU_RAMP-CURRENT.st" +static short simulation = 0; +# line 33 "../.././src/EMU_RAMP-CURRENT.st" +static float limitCurr = 0.6; + +/* C code definitions */ +# line 8 "../.././src/EMU_RAMP-CURRENT.st" +#include <stdio.h> +# line 9 "../.././src/EMU_RAMP-CURRENT.st" +#include <string.h> +# line 10 "../.././src/EMU_RAMP-CURRENT.st" +#include <stdlib.h> + +/* Program init func */ +static void G_prog_init(struct UserVar *pVar) +{ +} + +/****** Code for state "init" in state set "ss1" ******/ + +/* Delay function for state "init" in state set "ss1" */ +static void D_ss1_0_init(SS_ID ssId, struct UserVar *pVar) +{ +# line 38 "../.././src/EMU_RAMP-CURRENT.st" + seq_delayInit(ssId, 0, (1.0)); +} + +/* Event function for state "init" in state set "ss1" */ +static seqBool E_ss1_0_init(SS_ID ssId, struct UserVar *pVar, int *pTransNum, int *pNextState) +{ +# line 38 "../.././src/EMU_RAMP-CURRENT.st" + if (seq_delay(ssId, 0) && (seq_pvConnectCount(ssId) == seq_pvChannelCount(ssId))) + { + *pNextState = 1; + *pTransNum = 0; + return TRUE; + } + return FALSE; +} + +/* Action function for state "init" in state set "ss1" */ +static void A_ss1_0_init(SS_ID ssId, struct UserVar *pVar, int transNum, int *pNextState) +{ + switch(transNum) + { + case 0: + { +# line 40 "../.././src/EMU_RAMP-CURRENT.st" + start = 0; +# line 41 "../.././src/EMU_RAMP-CURRENT.st" + simulation = 0; + } + return; + } +} + +/****** Code for state "start" in state set "ss1" ******/ + +/* Delay function for state "start" in state set "ss1" */ +static void D_ss1_0_start(SS_ID ssId, struct UserVar *pVar) +{ +} + +/* Event function for state "start" in state set "ss1" */ +static seqBool E_ss1_0_start(SS_ID ssId, struct UserVar *pVar, int *pTransNum, int *pNextState) +{ +# line 47 "../.././src/EMU_RAMP-CURRENT.st" + if ((start == 1) && (simulation == 1)) + { + *pNextState = 2; + *pTransNum = 0; + return TRUE; + } + return FALSE; +} + +/* Action function for state "start" in state set "ss1" */ +static void A_ss1_0_start(SS_ID ssId, struct UserVar *pVar, int transNum, int *pNextState) +{ + switch(transNum) + { + case 0: + { +# line 49 "../.././src/EMU_RAMP-CURRENT.st" + FCCurr_Cons = 0; +# line 50 "../.././src/EMU_RAMP-CURRENT.st" + seq_pvPut(ssId, 1/*FCCurr_Cons*/, 0); + } + return; + } +} + +/****** Code for state "ramp" in state set "ss1" ******/ + +/* Delay function for state "ramp" in state set "ss1" */ +static void D_ss1_0_ramp(SS_ID ssId, struct UserVar *pVar) +{ +} + +/* Event function for state "ramp" in state set "ss1" */ +static seqBool E_ss1_0_ramp(SS_ID ssId, struct UserVar *pVar, int *pTransNum, int *pNextState) +{ +# line 56 "../.././src/EMU_RAMP-CURRENT.st" + if (seq_efTestAndClear(ssId, 1/*PS2_Cons_flag*/)) + { + *pNextState = 2; + *pTransNum = 0; + return TRUE; + } +# line 65 "../.././src/EMU_RAMP-CURRENT.st" + if (start == 0) + { + *pNextState = 1; + *pTransNum = 1; + return TRUE; + } + return FALSE; +} + +/* Action function for state "ramp" in state set "ss1" */ +static void A_ss1_0_ramp(SS_ID ssId, struct UserVar *pVar, int transNum, int *pNextState) +{ + switch(transNum) + { + case 0: + { +# line 58 "../.././src/EMU_RAMP-CURRENT.st" + if ((PS2_Cons < limitCurr) && (PS2_Cons > -limitCurr)) + { +# line 58 "../.././src/EMU_RAMP-CURRENT.st" + FCCurr_Cons = 10; + } + else + { + /* C code definitions */ +# line 60 "../.././src/EMU_RAMP-CURRENT.st" + FCCurr_Cons= PS2_Cons; + } +# line 62 "../.././src/EMU_RAMP-CURRENT.st" + seq_pvPut(ssId, 1/*FCCurr_Cons*/, 0); + } + return; + case 1: + { +# line 67 "../.././src/EMU_RAMP-CURRENT.st" + FCCurr_Cons = 0; +# line 68 "../.././src/EMU_RAMP-CURRENT.st" + seq_pvPut(ssId, 1/*FCCurr_Cons*/, 0); + } + return; + } +} + +/************************ Tables ************************/ + +/* Channel table */ +static seqChan G_channels[] = { + /* chName, offset, varName, varType, count, eventNum, efId, monitored, queueSize, queueIndex */ + {"{PREFIX_PS}:{CONS_PS2}", (size_t)&PS2_Cons, "PS2_Cons", "float", 1, 2, 1, 1, 0, 0}, + {"SIMU:CURRENT-SP", (size_t)&FCCurr_Cons, "FCCurr_Cons", "float", 1, 3, 0, 1, 0, 0}, + {"SCAN:MTR.EXSC", (size_t)&start, "start", "short", 1, 4, 0, 1, 0, 0}, + {"SCAN:PROC-SIMU", (size_t)&simulation, "simulation", "short", 1, 5, 0, 1, 0, 0} +}; + +/* Event masks for state set "ss1" */ +static const seqMask EM_ss1_0_init[] = { + 0x00000000, +}; +static const seqMask EM_ss1_0_start[] = { + 0x00000030, +}; +static const seqMask EM_ss1_0_ramp[] = { + 0x00000012, +}; + +/* State table for state set "ss1" */ +static seqState G_ss1_states[] = { + { + /* state name */ "init", + /* action function */ A_ss1_0_init, + /* event function */ E_ss1_0_init, + /* delay function */ D_ss1_0_init, + /* entry function */ 0, + /* exit function */ 0, + /* event mask array */ EM_ss1_0_init, + /* state options */ (0) + }, + { + /* state name */ "start", + /* action function */ A_ss1_0_start, + /* event function */ E_ss1_0_start, + /* delay function */ D_ss1_0_start, + /* entry function */ 0, + /* exit function */ 0, + /* event mask array */ EM_ss1_0_start, + /* state options */ (0) + }, + { + /* state name */ "ramp", + /* action function */ A_ss1_0_ramp, + /* event function */ E_ss1_0_ramp, + /* delay function */ D_ss1_0_ramp, + /* entry function */ 0, + /* exit function */ 0, + /* event mask array */ EM_ss1_0_ramp, + /* state options */ (0) + }, +}; + +/* State set table */ +static seqSS G_state_sets[] = { + { + /* state set name */ "ss1", + /* states */ G_ss1_states, + /* number of states */ 3, + /* number of delays */ 1 + }, +}; + +/* Program table (global) */ +seqProgram RampCurrent = { + /* magic number */ 2001010, + /* program name */ "RampCurrent", + /* channels */ G_channels, + /* num. channels */ 4, + /* state sets */ G_state_sets, + /* num. state sets */ 1, + /* user var size */ 0, + /* param */ "", + /* num. event flags */ 1, + /* encoded options */ (0 | OPT_CONN | OPT_NEWEF), + /* init func */ G_prog_init, + /* entry func */ NULL, + /* exit func */ NULL, + /* num. queues */ 0 +}; + +/* Register sequencer commands and program */ +#include "epicsExport.h" +static void RampCurrentRegistrar (void) { + seqRegisterSequencerCommands(); + seqRegisterSequencerProgram (&RampCurrent); +} +epicsExportRegistrar(RampCurrentRegistrar); diff --git a/builddir/O.3.15.2_centos7-x86_64/EMU_RAMP-CURRENT.d b/builddir/O.3.15.2_centos7-x86_64/EMU_RAMP-CURRENT.d new file mode 100644 index 0000000000000000000000000000000000000000..2605acc8560de8109dd8596e0c314be440d77212 --- /dev/null +++ b/builddir/O.3.15.2_centos7-x86_64/EMU_RAMP-CURRENT.d @@ -0,0 +1,19 @@ +EMU_RAMP-CURRENT.o: EMU_RAMP-CURRENT.c \ + /opt/epics/bases/base-3.15.2/include/epicsTypes.h \ + /opt/epics/bases/base-3.15.2/include/shareLib.h \ + /opt/epics/bases/base-3.15.2/include/compilerDependencies.h \ + /opt/epics/bases/base-3.15.2/include/compiler/gcc/compilerSpecific.h \ + /opt/epics/modules/seq/2.1.10/3.15.2/include/seqCom.h \ + /opt/epics/bases/base-3.15.2/include/shareLib.h \ + /opt/epics/modules/seq/2.1.10/3.15.2/include/pvAlarm.h \ + /opt/epics/modules/seq/2.1.10/3.15.2/include/pvType.h \ + /opt/epics/bases/base-3.15.2/include/epicsTime.h \ + /opt/epics/bases/base-3.15.2/include/epicsTypes.h \ + /opt/epics/bases/base-3.15.2/include/os/Linux/osdTime.h \ + /opt/epics/bases/base-3.15.2/include/epicsThread.h \ + /opt/epics/bases/base-3.15.2/include/os/Linux/osdThread.h \ + /opt/epics/bases/base-3.15.2/include/ellLib.h \ + /opt/epics/bases/base-3.15.2/include/epicsEvent.h \ + /opt/epics/bases/base-3.15.2/include/os/Linux/osdEvent.h \ + /opt/epics/modules/seq/2.1.10/3.15.2/include/seq_release.h \ + /opt/epics/bases/base-3.15.2/include/epicsExport.h diff --git a/builddir/O.3.15.2_centos7-x86_64/EMU_RAMP-CURRENT.dc b/builddir/O.3.15.2_centos7-x86_64/EMU_RAMP-CURRENT.dc new file mode 100644 index 0000000000000000000000000000000000000000..5dcdb1fa1762cd7a86428b0044e8784e7bfd65c5 --- /dev/null +++ b/builddir/O.3.15.2_centos7-x86_64/EMU_RAMP-CURRENT.dc @@ -0,0 +1,29 @@ +EMU_RAMP-CURRENT.o: EMU_RAMP-CURRENT.c /usr/include/stdc-predef.h \ + /usr/include/string.h /usr/include/features.h /usr/include/sys/cdefs.h \ + /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \ + /usr/include/gnu/stubs-64.h \ + /usr/lib/gcc/x86_64-redhat-linux/4.8.3/include/stddef.h \ + /usr/include/xlocale.h /usr/include/stdio.h /usr/include/bits/types.h \ + /usr/include/bits/typesizes.h /usr/include/libio.h \ + /usr/include/_G_config.h /usr/include/wchar.h \ + /usr/lib/gcc/x86_64-redhat-linux/4.8.3/include/stdarg.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/lib/gcc/x86_64-redhat-linux/4.8.3/include/limits.h \ + /usr/lib/gcc/x86_64-redhat-linux/4.8.3/include/syslimits.h \ + /usr/include/limits.h /usr/include/bits/posix1_lim.h \ + /usr/include/bits/local_lim.h /usr/include/linux/limits.h \ + /usr/include/bits/posix2_lim.h /usr/include/bits/xopen_lim.h \ + /opt/epics/bases/base-3.15.2/include/epicsTypes.h \ + /opt/epics/bases/base-3.15.2/include/shareLib.h \ + /opt/epics/bases/base-3.15.2/include/compilerDependencies.h \ + /opt/epics/bases/base-3.15.2/include/compiler/gcc/compilerSpecific.h \ + seqCom.h /usr/include/stdlib.h /usr/include/bits/waitflags.h \ + /usr/include/bits/waitstatus.h /usr/include/endian.h \ + /usr/include/bits/endian.h /usr/include/bits/byteswap.h \ + /usr/include/bits/byteswap-16.h /usr/include/sys/types.h \ + /usr/include/time.h /usr/include/sys/select.h /usr/include/bits/select.h \ + /usr/include/bits/sigset.h /usr/include/bits/time.h \ + /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \ + /usr/include/alloca.h /usr/include/bits/stdlib-float.h \ + /opt/epics/bases/base-3.15.2/include/epicsExport.h \ + /opt/epics/bases/base-3.15.2/include/shareLib.h diff --git a/builddir/O.3.15.2_centos7-x86_64/EMU_RAMP-CURRENT.i b/builddir/O.3.15.2_centos7-x86_64/EMU_RAMP-CURRENT.i new file mode 100644 index 0000000000000000000000000000000000000000..8a50d3d934ca2086f52bd0c2a942040ac3d8b782 --- /dev/null +++ b/builddir/O.3.15.2_centos7-x86_64/EMU_RAMP-CURRENT.i @@ -0,0 +1,78 @@ +# 1 "../.././src/EMU_RAMP-CURRENT.st" +# 1 "<interne>" +# 1 "<command-line>" +# 1 "/usr/include/stdc-predef.h" 1 3 4 +# 1 "<command-line>" 2 +# 1 "../.././src/EMU_RAMP-CURRENT.st" + + + + + +program RampCurrent + +%%#include <stdio.h> +%%#include <string.h> +%%#include <stdlib.h> + + +float PS2_Cons; +assign PS2_Cons to "{PREFIX_PS}:{CONS_PS2}"; +monitor PS2_Cons; +evflag PS2_Cons_flag; +sync PS2_Cons PS2_Cons_flag; + + +float FCCurr_Cons; +assign FCCurr_Cons to "SIMU:CURRENT-SP"; +monitor FCCurr_Cons; + +short start; +assign start to "SCAN:MTR.EXSC"; +monitor start; + +short simulation; +assign simulation to "SCAN:PROC-SIMU"; +monitor simulation; + + +float limitCurr=0.6; + +ss ss1 +{ + state init { + when (delay(1.0) && (pvConnectCount() == pvChannelCount())) + { + start=0; + simulation=0; + } state start + } + + state start + { + when ((start==1) && (simulation==1)) + { + FCCurr_Cons=0; + pvPut(FCCurr_Cons); + }state ramp + } + + state ramp + { + when(efTestAndClear(PS2_Cons_flag)) + { + if((PS2_Cons<limitCurr) && (PS2_Cons>-limitCurr)){FCCurr_Cons= 10;} + else{ + %%FCCurr_Cons= PS2_Cons; + } + pvPut(FCCurr_Cons); + }state ramp + + when (start==0) + { + FCCurr_Cons=0; + pvPut(FCCurr_Cons); + }state start + } + +} diff --git a/builddir/O.3.15.2_centos7-x86_64/EMU_RAMP-CURRENT.o b/builddir/O.3.15.2_centos7-x86_64/EMU_RAMP-CURRENT.o new file mode 100644 index 0000000000000000000000000000000000000000..c1356fb72e8f696f96fd44a11c409147b681a4ec Binary files /dev/null and b/builddir/O.3.15.2_centos7-x86_64/EMU_RAMP-CURRENT.o differ diff --git a/builddir/O.3.15.2_centos7-x86_64/EMU_RAMP-CURRENT_snl.dbd b/builddir/O.3.15.2_centos7-x86_64/EMU_RAMP-CURRENT_snl.dbd new file mode 100644 index 0000000000000000000000000000000000000000..b47d140bf201417375c49d2d2a6698409e48d4a8 --- /dev/null +++ b/builddir/O.3.15.2_centos7-x86_64/EMU_RAMP-CURRENT_snl.dbd @@ -0,0 +1 @@ +registrar (RampCurrentRegistrar) diff --git a/builddir/O.3.15.2_centos7-x86_64/EMU_Versionjfdenis.c b/builddir/O.3.15.2_centos7-x86_64/EMU_Versionjfdenis.c new file mode 100644 index 0000000000000000000000000000000000000000..790699c3704deb191da8bcd66648d87e83a4bc33 --- /dev/null +++ b/builddir/O.3.15.2_centos7-x86_64/EMU_Versionjfdenis.c @@ -0,0 +1 @@ +char epics_EMULibRelease[] = "jfdenis"; diff --git a/builddir/O.3.15.2_centos7-x86_64/EMU_Versionjfdenis.d b/builddir/O.3.15.2_centos7-x86_64/EMU_Versionjfdenis.d new file mode 100644 index 0000000000000000000000000000000000000000..ed81567a28402d5387d3e5d7e009f79df37599d5 --- /dev/null +++ b/builddir/O.3.15.2_centos7-x86_64/EMU_Versionjfdenis.d @@ -0,0 +1 @@ +EMU_Versionjfdenis.o: EMU_Versionjfdenis.c diff --git a/builddir/O.3.15.2_centos7-x86_64/EMU_Versionjfdenis.o b/builddir/O.3.15.2_centos7-x86_64/EMU_Versionjfdenis.o new file mode 100644 index 0000000000000000000000000000000000000000..9d7920b360df3b1e148eb51c4c4f44b929c22066 Binary files /dev/null and b/builddir/O.3.15.2_centos7-x86_64/EMU_Versionjfdenis.o differ diff --git a/builddir/O.3.15.2_centos7-x86_64/EMU_registerRecordDeviceDriver.cpp b/builddir/O.3.15.2_centos7-x86_64/EMU_registerRecordDeviceDriver.cpp new file mode 100644 index 0000000000000000000000000000000000000000..8d27b3be9e7cbb90328ea37ddf326c3d13e61c51 --- /dev/null +++ b/builddir/O.3.15.2_centos7-x86_64/EMU_registerRecordDeviceDriver.cpp @@ -0,0 +1,63 @@ +/* THIS IS A GENERATED FILE. DO NOT EDIT! */ +/* Generated from ../../builddir/3.15.2/dbd/EMU.dbd */ + +#include <string.h> + +#include "epicsStdlib.h" +#include "iocsh.h" +#include "registryCommon.h" + +#define epicsExportSharedSymbols +#include "shareLib.h" + +extern "C" { + +typedef void (*reg_func)(void); +epicsShareExtern reg_func pvar_func_RampCurrentRegistrar, + pvar_func_register_func_ANGLE_CALCUL, + pvar_func_register_func_CREATE_TAB, + pvar_func_register_func_FACTOR_CONVERSION, + pvar_func_register_func_INIT_TAB; + +int EMU_registerRecordDeviceDriver(DBBASE *pbase) +{ + static int executed = 0; + if (!pbase) { + printf("pdbbase is NULL; you must load a DBD file first.\n"); + return -1; + } + + if (executed) { + printf("Warning: Registration already done.\n"); + } + executed = 1; + + pvar_func_RampCurrentRegistrar(); + pvar_func_register_func_ANGLE_CALCUL(); + pvar_func_register_func_CREATE_TAB(); + pvar_func_register_func_FACTOR_CONVERSION(); + pvar_func_register_func_INIT_TAB(); + return 0; +} + +/* EMU_registerRecordDeviceDriver */ +static const iocshArg rrddArg0 = {"pdbbase", iocshArgPdbbase}; +static const iocshArg *rrddArgs[] = {&rrddArg0}; +static const iocshFuncDef rrddFuncDef = + {"EMU_registerRecordDeviceDriver", 1, rrddArgs}; +static void rrddCallFunc(const iocshArgBuf *) +{ + EMU_registerRecordDeviceDriver(*iocshPpdbbase); +} + +} // extern "C" + +/* + * Register commands on application startup + */ +static int Registration() { + iocshRegister(&rrddFuncDef, rrddCallFunc); + return 0; +} + +static int done = Registration(); diff --git a/builddir/O.3.15.2_centos7-x86_64/EMU_registerRecordDeviceDriver.cpp.tmp b/builddir/O.3.15.2_centos7-x86_64/EMU_registerRecordDeviceDriver.cpp.tmp new file mode 100644 index 0000000000000000000000000000000000000000..884c0a8bc2715cc53c6381d7706c6d47f063105a --- /dev/null +++ b/builddir/O.3.15.2_centos7-x86_64/EMU_registerRecordDeviceDriver.cpp.tmp @@ -0,0 +1,65 @@ +/* THIS IS A GENERATED FILE. DO NOT EDIT! */ +/* Generated from ../../builddir/3.15.2/dbd/EMU.dbd */ + +#include <string.h> + +#include "epicsStdlib.h" +#include "iocsh.h" +#include "iocshRegisterCommon.h" +#include "registryCommon.h" + +#define epicsExportSharedSymbols +#include "shareLib.h" + +extern "C" { + +typedef void (*reg_func)(void); +epicsShareExtern reg_func pvar_func_RampCurrentRegistrar, + pvar_func_register_func_ANGLE_CALCUL, + pvar_func_register_func_CREATE_TAB, + pvar_func_register_func_FACTOR_CONVERSION, + pvar_func_register_func_INIT_TAB; + +int EMU_registerRecordDeviceDriver(DBBASE *pbase) +{ + static int executed = 0; + if (!pbase) { + printf("pdbbase is NULL; you must load a DBD file first.\n"); + return -1; + } + + if (executed) { + printf("Warning: Registration already done.\n"); + } + executed = 1; + + pvar_func_RampCurrentRegistrar(); + pvar_func_register_func_ANGLE_CALCUL(); + pvar_func_register_func_CREATE_TAB(); + pvar_func_register_func_FACTOR_CONVERSION(); + pvar_func_register_func_INIT_TAB(); + return 0; +} + +/* EMU_registerRecordDeviceDriver */ +static const iocshArg rrddArg0 = {"pdbbase", iocshArgPdbbase}; +static const iocshArg *rrddArgs[] = {&rrddArg0}; +static const iocshFuncDef rrddFuncDef = + {"EMU_registerRecordDeviceDriver", 1, rrddArgs}; +static void rrddCallFunc(const iocshArgBuf *) +{ + EMU_registerRecordDeviceDriver(*iocshPpdbbase); +} + +} // extern "C" + +/* + * Register commands on application startup + */ +static int Registration() { + iocshRegisterCommon(); + iocshRegister(&rrddFuncDef, rrddCallFunc); + return 0; +} + +static int done = Registration(); diff --git a/builddir/O.3.15.2_centos7-x86_64/EMU_registerRecordDeviceDriver.d b/builddir/O.3.15.2_centos7-x86_64/EMU_registerRecordDeviceDriver.d new file mode 100644 index 0000000000000000000000000000000000000000..d460c1526c7dbd997fa35f4d87cd5febc8a1699c --- /dev/null +++ b/builddir/O.3.15.2_centos7-x86_64/EMU_registerRecordDeviceDriver.d @@ -0,0 +1,21 @@ +EMU_registerRecordDeviceDriver.o: EMU_registerRecordDeviceDriver.cpp \ + /opt/epics/bases/base-3.15.2/include/epicsStdlib.h \ + /opt/epics/bases/base-3.15.2/include/shareLib.h \ + /opt/epics/bases/base-3.15.2/include/os/Linux/osdStrtod.h \ + /opt/epics/bases/base-3.15.2/include/epicsTypes.h \ + /opt/epics/bases/base-3.15.2/include/compilerDependencies.h \ + /opt/epics/bases/base-3.15.2/include/compiler/gcc/compilerSpecific.h \ + /opt/epics/bases/base-3.15.2/include/errMdef.h \ + /opt/epics/bases/base-3.15.2/include/iocsh.h \ + /opt/epics/bases/base-3.15.2/include/registryCommon.h \ + /opt/epics/bases/base-3.15.2/include/dbStaticLib.h \ + /opt/epics/bases/base-3.15.2/include/dbFldTypes.h \ + /opt/epics/bases/base-3.15.2/include/dbBase.h \ + /opt/epics/bases/base-3.15.2/include/ellLib.h \ + /opt/epics/bases/base-3.15.2/include/dbDefs.h \ + /opt/epics/bases/base-3.15.2/include/link.h \ + /opt/epics/bases/base-3.15.2/include/cantProceed.h \ + /opt/epics/bases/base-3.15.2/include/devSup.h \ + /opt/epics/bases/base-3.15.2/include/registryRecordType.h \ + /opt/epics/bases/base-3.15.2/include/recSup.h \ + /opt/epics/bases/base-3.15.2/include/shareLib.h diff --git a/builddir/O.3.15.2_centos7-x86_64/EMU_registerRecordDeviceDriver.o b/builddir/O.3.15.2_centos7-x86_64/EMU_registerRecordDeviceDriver.o new file mode 100644 index 0000000000000000000000000000000000000000..9d7fe8deaf9ebd167773639075ae1b8db549df54 Binary files /dev/null and b/builddir/O.3.15.2_centos7-x86_64/EMU_registerRecordDeviceDriver.o differ diff --git a/builddir/O.3.15.2_centos7-x86_64/libEMU.so b/builddir/O.3.15.2_centos7-x86_64/libEMU.so new file mode 100755 index 0000000000000000000000000000000000000000..49a87f3773a4d2bf42b263e390068619a1d6c7ac Binary files /dev/null and b/builddir/O.3.15.2_centos7-x86_64/libEMU.so differ diff --git a/builddir/O.3.15.2_eldk56-e500v2/.dependencies_includes b/builddir/O.3.15.2_eldk56-e500v2/.dependencies_includes new file mode 100644 index 0000000000000000000000000000000000000000..8f12eaae89887375ba4900494b9caf10ed61c500 --- /dev/null +++ b/builddir/O.3.15.2_eldk56-e500v2/.dependencies_includes @@ -0,0 +1 @@ +DEPENDENCIES_INCLUDES = -I/opt/epics/modules/DataAcquisition/agaget/3.15.2/include -I/opt/epics/modules/DataAcquisition/agaget/3.15.2/include/os/Linux -I/opt/epics/modules/DataAcquisition/agaget/3.15.2/include/os/default -I/opt/epics/modules/scanning/2.0.4/3.15.2/include -I/opt/epics/modules/scanning/2.0.4/3.15.2/include/os/Linux -I/opt/epics/modules/scanning/2.0.4/3.15.2/include/os/default -I/opt/epics/modules/FastAcquisition/agaget/3.15.2/include -I/opt/epics/modules/FastAcquisition/agaget/3.15.2/include/os/Linux -I/opt/epics/modules/FastAcquisition/agaget/3.15.2/include/os/default -I/opt/epics/modules/asyn/4.27.0/3.15.2/include -I/opt/epics/modules/asyn/4.27.0/3.15.2/include/os/Linux -I/opt/epics/modules/asyn/4.27.0/3.15.2/include/os/default -I/opt/epics/modules/streamdevice/2.7.1/3.15.2/include -I/opt/epics/modules/streamdevice/2.7.1/3.15.2/include/os/Linux -I/opt/epics/modules/streamdevice/2.7.1/3.15.2/include/os/default -I/opt/epics/modules/sscan/2.10.1/3.15.2/include -I/opt/epics/modules/sscan/2.10.1/3.15.2/include/os/Linux -I/opt/epics/modules/sscan/2.10.1/3.15.2/include/os/default -I/opt/epics/modules/busy/1.6.0/3.15.2/include -I/opt/epics/modules/busy/1.6.0/3.15.2/include/os/Linux -I/opt/epics/modules/busy/1.6.0/3.15.2/include/os/default -I/opt/epics/modules/calc/3.6.1/3.15.2/include -I/opt/epics/modules/calc/3.6.1/3.15.2/include/os/Linux -I/opt/epics/modules/calc/3.6.1/3.15.2/include/os/default -I/opt/epics/modules/pcre/8.36.0/3.15.2/include -I/opt/epics/modules/pcre/8.36.0/3.15.2/include/os/Linux -I/opt/epics/modules/pcre/8.36.0/3.15.2/include/os/default -I/opt/epics/modules/seq/2.1.10/3.15.2/include -I/opt/epics/modules/seq/2.1.10/3.15.2/include/os/Linux -I/opt/epics/modules/seq/2.1.10/3.15.2/include/os/default diff --git a/builddir/O.3.15.2_eldk56-e500v2/EMU_CALCULS.d b/builddir/O.3.15.2_eldk56-e500v2/EMU_CALCULS.d new file mode 100644 index 0000000000000000000000000000000000000000..e3a9c42c41401ef79ea8ab42f6053e8c1ee01207 --- /dev/null +++ b/builddir/O.3.15.2_eldk56-e500v2/EMU_CALCULS.d @@ -0,0 +1,17 @@ +EMU_CALCULS.o: ../.././src/EMU_CALCULS.c \ + /opt/epics/bases/base-3.15.2/include/aSubRecord.h \ + /opt/epics/bases/base-3.15.2/include/epicsTypes.h \ + /opt/epics/bases/base-3.15.2/include/shareLib.h \ + /opt/epics/bases/base-3.15.2/include/compilerDependencies.h \ + /opt/epics/bases/base-3.15.2/include/compiler/gcc/compilerSpecific.h \ + /opt/epics/bases/base-3.15.2/include/link.h \ + /opt/epics/bases/base-3.15.2/include/dbDefs.h \ + /opt/epics/bases/base-3.15.2/include/epicsMutex.h \ + /opt/epics/bases/base-3.15.2/include/epicsAssert.h \ + /opt/epics/bases/base-3.15.2/include/os/Linux/osdMutex.h \ + /opt/epics/bases/base-3.15.2/include/ellLib.h \ + /opt/epics/bases/base-3.15.2/include/epicsTime.h \ + /opt/epics/bases/base-3.15.2/include/os/Linux/osdTime.h \ + /opt/epics/bases/base-3.15.2/include/registryFunction.h \ + /opt/epics/bases/base-3.15.2/include/epicsExport.h \ + /opt/epics/bases/base-3.15.2/include/shareLib.h diff --git a/builddir/O.3.15.2_eldk56-e500v2/EMU_CALCULS.dc b/builddir/O.3.15.2_eldk56-e500v2/EMU_CALCULS.dc new file mode 100644 index 0000000000000000000000000000000000000000..45a1cb20eabc5e1de277d0bfd184edff5f7efa00 --- /dev/null +++ b/builddir/O.3.15.2_eldk56-e500v2/EMU_CALCULS.dc @@ -0,0 +1,38 @@ +EMU_CALCULS.o: ../.././src/EMU_CALCULS.c \ + /opt/eldk-5.6/ifc1210/sysroots/ppce500v2-linux-gnuspe/usr/include/stdc-predef.h \ + /opt/epics/bases/base-3.15.2/include/aSubRecord.h \ + /opt/epics/bases/base-3.15.2/include/epicsTypes.h \ + /opt/epics/bases/base-3.15.2/include/shareLib.h \ + /opt/epics/bases/base-3.15.2/include/compilerDependencies.h \ + /opt/epics/bases/base-3.15.2/include/compiler/gcc/compilerSpecific.h \ + /opt/epics/bases/base-3.15.2/include/link.h \ + /opt/epics/bases/base-3.15.2/include/dbDefs.h \ + /opt/eldk-5.6/ifc1210/sysroots/i686-eldk-linux/usr/lib/powerpc-linux-gnuspe/gcc/powerpc-linux-gnuspe/4.8.2/include/stddef.h \ + /opt/epics/bases/base-3.15.2/include/epicsMutex.h \ + /opt/epics/bases/base-3.15.2/include/epicsAssert.h \ + /opt/epics/bases/base-3.15.2/include/os/Linux/osdMutex.h \ + /opt/epics/bases/base-3.15.2/include/ellLib.h \ + /opt/epics/bases/base-3.15.2/include/epicsTime.h \ + /opt/eldk-5.6/ifc1210/sysroots/ppce500v2-linux-gnuspe/usr/include/time.h \ + /opt/eldk-5.6/ifc1210/sysroots/ppce500v2-linux-gnuspe/usr/include/features.h \ + /opt/eldk-5.6/ifc1210/sysroots/ppce500v2-linux-gnuspe/usr/include/sys/cdefs.h \ + /opt/eldk-5.6/ifc1210/sysroots/ppce500v2-linux-gnuspe/usr/include/bits/wordsize.h \ + /opt/eldk-5.6/ifc1210/sysroots/ppce500v2-linux-gnuspe/usr/include/gnu/stubs.h \ + /opt/eldk-5.6/ifc1210/sysroots/ppce500v2-linux-gnuspe/usr/include/gnu/stubs-32.h \ + /opt/eldk-5.6/ifc1210/sysroots/ppce500v2-linux-gnuspe/usr/include/bits/time.h \ + /opt/eldk-5.6/ifc1210/sysroots/ppce500v2-linux-gnuspe/usr/include/bits/types.h \ + /opt/eldk-5.6/ifc1210/sysroots/ppce500v2-linux-gnuspe/usr/include/bits/typesizes.h \ + /opt/eldk-5.6/ifc1210/sysroots/ppce500v2-linux-gnuspe/usr/include/bits/timex.h \ + /opt/eldk-5.6/ifc1210/sysroots/ppce500v2-linux-gnuspe/usr/include/xlocale.h \ + /opt/epics/bases/base-3.15.2/include/os/Linux/osdTime.h \ + /opt/epics/bases/base-3.15.2/include/registryFunction.h \ + /opt/epics/bases/base-3.15.2/include/epicsExport.h \ + /opt/epics/bases/base-3.15.2/include/shareLib.h \ + /opt/eldk-5.6/ifc1210/sysroots/ppce500v2-linux-gnuspe/usr/include/math.h \ + /opt/eldk-5.6/ifc1210/sysroots/ppce500v2-linux-gnuspe/usr/include/bits/huge_val.h \ + /opt/eldk-5.6/ifc1210/sysroots/ppce500v2-linux-gnuspe/usr/include/bits/huge_valf.h \ + /opt/eldk-5.6/ifc1210/sysroots/ppce500v2-linux-gnuspe/usr/include/bits/huge_vall.h \ + /opt/eldk-5.6/ifc1210/sysroots/ppce500v2-linux-gnuspe/usr/include/bits/inf.h \ + /opt/eldk-5.6/ifc1210/sysroots/ppce500v2-linux-gnuspe/usr/include/bits/nan.h \ + /opt/eldk-5.6/ifc1210/sysroots/ppce500v2-linux-gnuspe/usr/include/bits/mathdef.h \ + /opt/eldk-5.6/ifc1210/sysroots/ppce500v2-linux-gnuspe/usr/include/bits/mathcalls.h diff --git a/builddir/O.3.15.2_eldk56-e500v2/EMU_CALCULS.o b/builddir/O.3.15.2_eldk56-e500v2/EMU_CALCULS.o new file mode 100644 index 0000000000000000000000000000000000000000..3702fa70575a68f9a984990790850c15e5d0e785 Binary files /dev/null and b/builddir/O.3.15.2_eldk56-e500v2/EMU_CALCULS.o differ diff --git a/builddir/O.3.15.2_eldk56-e500v2/EMU_RAMP-CURRENT.c b/builddir/O.3.15.2_eldk56-e500v2/EMU_RAMP-CURRENT.c new file mode 100644 index 0000000000000000000000000000000000000000..1326be681143157692b3a53146202932b64faf6e --- /dev/null +++ b/builddir/O.3.15.2_eldk56-e500v2/EMU_RAMP-CURRENT.c @@ -0,0 +1,261 @@ +/* Generated with snc from EMU_RAMP-CURRENT.i */ + +/* Program "RampCurrent" */ +#include <string.h> +#include <stddef.h> +#include <stdio.h> +#include <limits.h> +#include "epicsTypes.h" +#include "seqCom.h" + +/* Variable declarations */ +# line 13 "../.././src/EMU_RAMP-CURRENT.st" +static float PS2_Cons = 0; +# line 20 "../.././src/EMU_RAMP-CURRENT.st" +static float FCCurr_Cons = 0; +# line 24 "../.././src/EMU_RAMP-CURRENT.st" +static short start = 0; +# line 28 "../.././src/EMU_RAMP-CURRENT.st" +static short simulation = 0; +# line 33 "../.././src/EMU_RAMP-CURRENT.st" +static float limitCurr = 0.6; + +/* C code definitions */ +# line 8 "../.././src/EMU_RAMP-CURRENT.st" +#include <stdio.h> +# line 9 "../.././src/EMU_RAMP-CURRENT.st" +#include <string.h> +# line 10 "../.././src/EMU_RAMP-CURRENT.st" +#include <stdlib.h> + +/* Program init func */ +static void G_prog_init(struct UserVar *pVar) +{ +} + +/****** Code for state "init" in state set "ss1" ******/ + +/* Delay function for state "init" in state set "ss1" */ +static void D_ss1_0_init(SS_ID ssId, struct UserVar *pVar) +{ +# line 38 "../.././src/EMU_RAMP-CURRENT.st" + seq_delayInit(ssId, 0, (1.0)); +} + +/* Event function for state "init" in state set "ss1" */ +static seqBool E_ss1_0_init(SS_ID ssId, struct UserVar *pVar, int *pTransNum, int *pNextState) +{ +# line 38 "../.././src/EMU_RAMP-CURRENT.st" + if (seq_delay(ssId, 0) && (seq_pvConnectCount(ssId) == seq_pvChannelCount(ssId))) + { + *pNextState = 1; + *pTransNum = 0; + return TRUE; + } + return FALSE; +} + +/* Action function for state "init" in state set "ss1" */ +static void A_ss1_0_init(SS_ID ssId, struct UserVar *pVar, int transNum, int *pNextState) +{ + switch(transNum) + { + case 0: + { +# line 40 "../.././src/EMU_RAMP-CURRENT.st" + start = 0; +# line 41 "../.././src/EMU_RAMP-CURRENT.st" + simulation = 0; + } + return; + } +} + +/****** Code for state "start" in state set "ss1" ******/ + +/* Delay function for state "start" in state set "ss1" */ +static void D_ss1_0_start(SS_ID ssId, struct UserVar *pVar) +{ +} + +/* Event function for state "start" in state set "ss1" */ +static seqBool E_ss1_0_start(SS_ID ssId, struct UserVar *pVar, int *pTransNum, int *pNextState) +{ +# line 47 "../.././src/EMU_RAMP-CURRENT.st" + if ((start == 1) && (simulation == 1)) + { + *pNextState = 2; + *pTransNum = 0; + return TRUE; + } + return FALSE; +} + +/* Action function for state "start" in state set "ss1" */ +static void A_ss1_0_start(SS_ID ssId, struct UserVar *pVar, int transNum, int *pNextState) +{ + switch(transNum) + { + case 0: + { +# line 49 "../.././src/EMU_RAMP-CURRENT.st" + FCCurr_Cons = 0; +# line 50 "../.././src/EMU_RAMP-CURRENT.st" + seq_pvPut(ssId, 1/*FCCurr_Cons*/, 0); + } + return; + } +} + +/****** Code for state "ramp" in state set "ss1" ******/ + +/* Delay function for state "ramp" in state set "ss1" */ +static void D_ss1_0_ramp(SS_ID ssId, struct UserVar *pVar) +{ +} + +/* Event function for state "ramp" in state set "ss1" */ +static seqBool E_ss1_0_ramp(SS_ID ssId, struct UserVar *pVar, int *pTransNum, int *pNextState) +{ +# line 56 "../.././src/EMU_RAMP-CURRENT.st" + if (seq_efTestAndClear(ssId, 1/*PS2_Cons_flag*/)) + { + *pNextState = 2; + *pTransNum = 0; + return TRUE; + } +# line 65 "../.././src/EMU_RAMP-CURRENT.st" + if (start == 0) + { + *pNextState = 1; + *pTransNum = 1; + return TRUE; + } + return FALSE; +} + +/* Action function for state "ramp" in state set "ss1" */ +static void A_ss1_0_ramp(SS_ID ssId, struct UserVar *pVar, int transNum, int *pNextState) +{ + switch(transNum) + { + case 0: + { +# line 58 "../.././src/EMU_RAMP-CURRENT.st" + if ((PS2_Cons < limitCurr) && (PS2_Cons > -limitCurr)) + { +# line 58 "../.././src/EMU_RAMP-CURRENT.st" + FCCurr_Cons = 10; + } + else + { + /* C code definitions */ +# line 60 "../.././src/EMU_RAMP-CURRENT.st" + FCCurr_Cons= PS2_Cons; + } +# line 62 "../.././src/EMU_RAMP-CURRENT.st" + seq_pvPut(ssId, 1/*FCCurr_Cons*/, 0); + } + return; + case 1: + { +# line 67 "../.././src/EMU_RAMP-CURRENT.st" + FCCurr_Cons = 0; +# line 68 "../.././src/EMU_RAMP-CURRENT.st" + seq_pvPut(ssId, 1/*FCCurr_Cons*/, 0); + } + return; + } +} + +/************************ Tables ************************/ + +/* Channel table */ +static seqChan G_channels[] = { + /* chName, offset, varName, varType, count, eventNum, efId, monitored, queueSize, queueIndex */ + {"{PREFIX_PS}:{CONS_PS2}", (size_t)&PS2_Cons, "PS2_Cons", "float", 1, 2, 1, 1, 0, 0}, + {"SIMU:CURRENT-SP", (size_t)&FCCurr_Cons, "FCCurr_Cons", "float", 1, 3, 0, 1, 0, 0}, + {"SCAN:MTR.EXSC", (size_t)&start, "start", "short", 1, 4, 0, 1, 0, 0}, + {"SCAN:PROC-SIMU", (size_t)&simulation, "simulation", "short", 1, 5, 0, 1, 0, 0} +}; + +/* Event masks for state set "ss1" */ +static const seqMask EM_ss1_0_init[] = { + 0x00000000, +}; +static const seqMask EM_ss1_0_start[] = { + 0x00000030, +}; +static const seqMask EM_ss1_0_ramp[] = { + 0x00000012, +}; + +/* State table for state set "ss1" */ +static seqState G_ss1_states[] = { + { + /* state name */ "init", + /* action function */ A_ss1_0_init, + /* event function */ E_ss1_0_init, + /* delay function */ D_ss1_0_init, + /* entry function */ 0, + /* exit function */ 0, + /* event mask array */ EM_ss1_0_init, + /* state options */ (0) + }, + { + /* state name */ "start", + /* action function */ A_ss1_0_start, + /* event function */ E_ss1_0_start, + /* delay function */ D_ss1_0_start, + /* entry function */ 0, + /* exit function */ 0, + /* event mask array */ EM_ss1_0_start, + /* state options */ (0) + }, + { + /* state name */ "ramp", + /* action function */ A_ss1_0_ramp, + /* event function */ E_ss1_0_ramp, + /* delay function */ D_ss1_0_ramp, + /* entry function */ 0, + /* exit function */ 0, + /* event mask array */ EM_ss1_0_ramp, + /* state options */ (0) + }, +}; + +/* State set table */ +static seqSS G_state_sets[] = { + { + /* state set name */ "ss1", + /* states */ G_ss1_states, + /* number of states */ 3, + /* number of delays */ 1 + }, +}; + +/* Program table (global) */ +seqProgram RampCurrent = { + /* magic number */ 2001010, + /* program name */ "RampCurrent", + /* channels */ G_channels, + /* num. channels */ 4, + /* state sets */ G_state_sets, + /* num. state sets */ 1, + /* user var size */ 0, + /* param */ "", + /* num. event flags */ 1, + /* encoded options */ (0 | OPT_CONN | OPT_NEWEF), + /* init func */ G_prog_init, + /* entry func */ NULL, + /* exit func */ NULL, + /* num. queues */ 0 +}; + +/* Register sequencer commands and program */ +#include "epicsExport.h" +static void RampCurrentRegistrar (void) { + seqRegisterSequencerCommands(); + seqRegisterSequencerProgram (&RampCurrent); +} +epicsExportRegistrar(RampCurrentRegistrar); diff --git a/builddir/O.3.15.2_eldk56-e500v2/EMU_RAMP-CURRENT.d b/builddir/O.3.15.2_eldk56-e500v2/EMU_RAMP-CURRENT.d new file mode 100644 index 0000000000000000000000000000000000000000..2605acc8560de8109dd8596e0c314be440d77212 --- /dev/null +++ b/builddir/O.3.15.2_eldk56-e500v2/EMU_RAMP-CURRENT.d @@ -0,0 +1,19 @@ +EMU_RAMP-CURRENT.o: EMU_RAMP-CURRENT.c \ + /opt/epics/bases/base-3.15.2/include/epicsTypes.h \ + /opt/epics/bases/base-3.15.2/include/shareLib.h \ + /opt/epics/bases/base-3.15.2/include/compilerDependencies.h \ + /opt/epics/bases/base-3.15.2/include/compiler/gcc/compilerSpecific.h \ + /opt/epics/modules/seq/2.1.10/3.15.2/include/seqCom.h \ + /opt/epics/bases/base-3.15.2/include/shareLib.h \ + /opt/epics/modules/seq/2.1.10/3.15.2/include/pvAlarm.h \ + /opt/epics/modules/seq/2.1.10/3.15.2/include/pvType.h \ + /opt/epics/bases/base-3.15.2/include/epicsTime.h \ + /opt/epics/bases/base-3.15.2/include/epicsTypes.h \ + /opt/epics/bases/base-3.15.2/include/os/Linux/osdTime.h \ + /opt/epics/bases/base-3.15.2/include/epicsThread.h \ + /opt/epics/bases/base-3.15.2/include/os/Linux/osdThread.h \ + /opt/epics/bases/base-3.15.2/include/ellLib.h \ + /opt/epics/bases/base-3.15.2/include/epicsEvent.h \ + /opt/epics/bases/base-3.15.2/include/os/Linux/osdEvent.h \ + /opt/epics/modules/seq/2.1.10/3.15.2/include/seq_release.h \ + /opt/epics/bases/base-3.15.2/include/epicsExport.h diff --git a/builddir/O.3.15.2_eldk56-e500v2/EMU_RAMP-CURRENT.dc b/builddir/O.3.15.2_eldk56-e500v2/EMU_RAMP-CURRENT.dc new file mode 100644 index 0000000000000000000000000000000000000000..d71d1be0f49f8d97db0025fdc728595c79ffc475 --- /dev/null +++ b/builddir/O.3.15.2_eldk56-e500v2/EMU_RAMP-CURRENT.dc @@ -0,0 +1,51 @@ +EMU_RAMP-CURRENT.o: EMU_RAMP-CURRENT.c \ + /opt/eldk-5.6/ifc1210/sysroots/ppce500v2-linux-gnuspe/usr/include/stdc-predef.h \ + /opt/eldk-5.6/ifc1210/sysroots/ppce500v2-linux-gnuspe/usr/include/string.h \ + /opt/eldk-5.6/ifc1210/sysroots/ppce500v2-linux-gnuspe/usr/include/features.h \ + /opt/eldk-5.6/ifc1210/sysroots/ppce500v2-linux-gnuspe/usr/include/sys/cdefs.h \ + /opt/eldk-5.6/ifc1210/sysroots/ppce500v2-linux-gnuspe/usr/include/bits/wordsize.h \ + /opt/eldk-5.6/ifc1210/sysroots/ppce500v2-linux-gnuspe/usr/include/gnu/stubs.h \ + /opt/eldk-5.6/ifc1210/sysroots/ppce500v2-linux-gnuspe/usr/include/gnu/stubs-32.h \ + /opt/eldk-5.6/ifc1210/sysroots/i686-eldk-linux/usr/lib/powerpc-linux-gnuspe/gcc/powerpc-linux-gnuspe/4.8.2/include/stddef.h \ + /opt/eldk-5.6/ifc1210/sysroots/ppce500v2-linux-gnuspe/usr/include/xlocale.h \ + /opt/eldk-5.6/ifc1210/sysroots/ppce500v2-linux-gnuspe/usr/include/stdio.h \ + /opt/eldk-5.6/ifc1210/sysroots/ppce500v2-linux-gnuspe/usr/include/bits/types.h \ + /opt/eldk-5.6/ifc1210/sysroots/ppce500v2-linux-gnuspe/usr/include/bits/typesizes.h \ + /opt/eldk-5.6/ifc1210/sysroots/ppce500v2-linux-gnuspe/usr/include/libio.h \ + /opt/eldk-5.6/ifc1210/sysroots/ppce500v2-linux-gnuspe/usr/include/_G_config.h \ + /opt/eldk-5.6/ifc1210/sysroots/ppce500v2-linux-gnuspe/usr/include/wchar.h \ + /opt/eldk-5.6/ifc1210/sysroots/i686-eldk-linux/usr/lib/powerpc-linux-gnuspe/gcc/powerpc-linux-gnuspe/4.8.2/include/stdarg.h \ + /opt/eldk-5.6/ifc1210/sysroots/ppce500v2-linux-gnuspe/usr/include/bits/stdio_lim.h \ + /opt/eldk-5.6/ifc1210/sysroots/ppce500v2-linux-gnuspe/usr/include/bits/sys_errlist.h \ + /opt/eldk-5.6/ifc1210/sysroots/i686-eldk-linux/usr/lib/powerpc-linux-gnuspe/gcc/powerpc-linux-gnuspe/4.8.2/include-fixed/limits.h \ + /opt/eldk-5.6/ifc1210/sysroots/i686-eldk-linux/usr/lib/powerpc-linux-gnuspe/gcc/powerpc-linux-gnuspe/4.8.2/include-fixed/syslimits.h \ + /opt/eldk-5.6/ifc1210/sysroots/ppce500v2-linux-gnuspe/usr/include/limits.h \ + /opt/eldk-5.6/ifc1210/sysroots/ppce500v2-linux-gnuspe/usr/include/bits/posix1_lim.h \ + /opt/eldk-5.6/ifc1210/sysroots/ppce500v2-linux-gnuspe/usr/include/bits/local_lim.h \ + /opt/eldk-5.6/ifc1210/sysroots/ppce500v2-linux-gnuspe/usr/include/linux/limits.h \ + /opt/eldk-5.6/ifc1210/sysroots/ppce500v2-linux-gnuspe/usr/include/bits/posix2_lim.h \ + /opt/eldk-5.6/ifc1210/sysroots/ppce500v2-linux-gnuspe/usr/include/bits/xopen_lim.h \ + /opt/epics/bases/base-3.15.2/include/epicsTypes.h \ + /opt/epics/bases/base-3.15.2/include/shareLib.h \ + /opt/epics/bases/base-3.15.2/include/compilerDependencies.h \ + /opt/epics/bases/base-3.15.2/include/compiler/gcc/compilerSpecific.h \ + seqCom.h \ + /opt/eldk-5.6/ifc1210/sysroots/ppce500v2-linux-gnuspe/usr/include/stdlib.h \ + /opt/eldk-5.6/ifc1210/sysroots/ppce500v2-linux-gnuspe/usr/include/bits/waitflags.h \ + /opt/eldk-5.6/ifc1210/sysroots/ppce500v2-linux-gnuspe/usr/include/bits/waitstatus.h \ + /opt/eldk-5.6/ifc1210/sysroots/ppce500v2-linux-gnuspe/usr/include/endian.h \ + /opt/eldk-5.6/ifc1210/sysroots/ppce500v2-linux-gnuspe/usr/include/bits/endian.h \ + /opt/eldk-5.6/ifc1210/sysroots/ppce500v2-linux-gnuspe/usr/include/bits/byteswap.h \ + /opt/eldk-5.6/ifc1210/sysroots/ppce500v2-linux-gnuspe/usr/include/bits/byteswap-16.h \ + /opt/eldk-5.6/ifc1210/sysroots/ppce500v2-linux-gnuspe/usr/include/sys/types.h \ + /opt/eldk-5.6/ifc1210/sysroots/ppce500v2-linux-gnuspe/usr/include/time.h \ + /opt/eldk-5.6/ifc1210/sysroots/ppce500v2-linux-gnuspe/usr/include/sys/select.h \ + /opt/eldk-5.6/ifc1210/sysroots/ppce500v2-linux-gnuspe/usr/include/bits/select.h \ + /opt/eldk-5.6/ifc1210/sysroots/ppce500v2-linux-gnuspe/usr/include/bits/sigset.h \ + /opt/eldk-5.6/ifc1210/sysroots/ppce500v2-linux-gnuspe/usr/include/bits/time.h \ + /opt/eldk-5.6/ifc1210/sysroots/ppce500v2-linux-gnuspe/usr/include/sys/sysmacros.h \ + /opt/eldk-5.6/ifc1210/sysroots/ppce500v2-linux-gnuspe/usr/include/bits/pthreadtypes.h \ + /opt/eldk-5.6/ifc1210/sysroots/ppce500v2-linux-gnuspe/usr/include/alloca.h \ + /opt/eldk-5.6/ifc1210/sysroots/ppce500v2-linux-gnuspe/usr/include/bits/stdlib-float.h \ + /opt/epics/bases/base-3.15.2/include/epicsExport.h \ + /opt/epics/bases/base-3.15.2/include/shareLib.h diff --git a/builddir/O.3.15.2_eldk56-e500v2/EMU_RAMP-CURRENT.i b/builddir/O.3.15.2_eldk56-e500v2/EMU_RAMP-CURRENT.i new file mode 100644 index 0000000000000000000000000000000000000000..b15959dbe7fd89f67236b6acbae9fefeb090b83d --- /dev/null +++ b/builddir/O.3.15.2_eldk56-e500v2/EMU_RAMP-CURRENT.i @@ -0,0 +1,77 @@ +# 1 "../.././src/EMU_RAMP-CURRENT.st" +# 1 "<command-line>" +# 1 "/opt/eldk-5.6/ifc1210/sysroots/ppce500v2-linux-gnuspe/usr/include/stdc-predef.h" 1 3 4 +# 1 "<command-line>" 2 +# 1 "../.././src/EMU_RAMP-CURRENT.st" + + + + + +program RampCurrent + +%%#include <stdio.h> +%%#include <string.h> +%%#include <stdlib.h> + + +float PS2_Cons; +assign PS2_Cons to "{PREFIX_PS}:{CONS_PS2}"; +monitor PS2_Cons; +evflag PS2_Cons_flag; +sync PS2_Cons PS2_Cons_flag; + + +float FCCurr_Cons; +assign FCCurr_Cons to "SIMU:CURRENT-SP"; +monitor FCCurr_Cons; + +short start; +assign start to "SCAN:MTR.EXSC"; +monitor start; + +short simulation; +assign simulation to "SCAN:PROC-SIMU"; +monitor simulation; + + +float limitCurr=0.6; + +ss ss1 +{ + state init { + when (delay(1.0) && (pvConnectCount() == pvChannelCount())) + { + start=0; + simulation=0; + } state start + } + + state start + { + when ((start==1) && (simulation==1)) + { + FCCurr_Cons=0; + pvPut(FCCurr_Cons); + }state ramp + } + + state ramp + { + when(efTestAndClear(PS2_Cons_flag)) + { + if((PS2_Cons<limitCurr) && (PS2_Cons>-limitCurr)){FCCurr_Cons= 10;} + else{ + %%FCCurr_Cons= PS2_Cons; + } + pvPut(FCCurr_Cons); + }state ramp + + when (start==0) + { + FCCurr_Cons=0; + pvPut(FCCurr_Cons); + }state start + } + +} diff --git a/builddir/O.3.15.2_eldk56-e500v2/EMU_RAMP-CURRENT.o b/builddir/O.3.15.2_eldk56-e500v2/EMU_RAMP-CURRENT.o new file mode 100644 index 0000000000000000000000000000000000000000..ab4e9161a6a57819761d2d9666099c763b45ba01 Binary files /dev/null and b/builddir/O.3.15.2_eldk56-e500v2/EMU_RAMP-CURRENT.o differ diff --git a/builddir/O.3.15.2_eldk56-e500v2/EMU_RAMP-CURRENT_snl.dbd b/builddir/O.3.15.2_eldk56-e500v2/EMU_RAMP-CURRENT_snl.dbd new file mode 100644 index 0000000000000000000000000000000000000000..b47d140bf201417375c49d2d2a6698409e48d4a8 --- /dev/null +++ b/builddir/O.3.15.2_eldk56-e500v2/EMU_RAMP-CURRENT_snl.dbd @@ -0,0 +1 @@ +registrar (RampCurrentRegistrar) diff --git a/builddir/O.3.15.2_eldk56-e500v2/EMU_Versionjfdenis.c b/builddir/O.3.15.2_eldk56-e500v2/EMU_Versionjfdenis.c new file mode 100644 index 0000000000000000000000000000000000000000..790699c3704deb191da8bcd66648d87e83a4bc33 --- /dev/null +++ b/builddir/O.3.15.2_eldk56-e500v2/EMU_Versionjfdenis.c @@ -0,0 +1 @@ +char epics_EMULibRelease[] = "jfdenis"; diff --git a/builddir/O.3.15.2_eldk56-e500v2/EMU_Versionjfdenis.d b/builddir/O.3.15.2_eldk56-e500v2/EMU_Versionjfdenis.d new file mode 100644 index 0000000000000000000000000000000000000000..ed81567a28402d5387d3e5d7e009f79df37599d5 --- /dev/null +++ b/builddir/O.3.15.2_eldk56-e500v2/EMU_Versionjfdenis.d @@ -0,0 +1 @@ +EMU_Versionjfdenis.o: EMU_Versionjfdenis.c diff --git a/builddir/O.3.15.2_eldk56-e500v2/EMU_Versionjfdenis.o b/builddir/O.3.15.2_eldk56-e500v2/EMU_Versionjfdenis.o new file mode 100644 index 0000000000000000000000000000000000000000..02df4a8875434761a4b2bec2dde4cafb1621b35d Binary files /dev/null and b/builddir/O.3.15.2_eldk56-e500v2/EMU_Versionjfdenis.o differ diff --git a/builddir/O.3.15.2_eldk56-e500v2/EMU_registerRecordDeviceDriver.cpp b/builddir/O.3.15.2_eldk56-e500v2/EMU_registerRecordDeviceDriver.cpp new file mode 100644 index 0000000000000000000000000000000000000000..8d27b3be9e7cbb90328ea37ddf326c3d13e61c51 --- /dev/null +++ b/builddir/O.3.15.2_eldk56-e500v2/EMU_registerRecordDeviceDriver.cpp @@ -0,0 +1,63 @@ +/* THIS IS A GENERATED FILE. DO NOT EDIT! */ +/* Generated from ../../builddir/3.15.2/dbd/EMU.dbd */ + +#include <string.h> + +#include "epicsStdlib.h" +#include "iocsh.h" +#include "registryCommon.h" + +#define epicsExportSharedSymbols +#include "shareLib.h" + +extern "C" { + +typedef void (*reg_func)(void); +epicsShareExtern reg_func pvar_func_RampCurrentRegistrar, + pvar_func_register_func_ANGLE_CALCUL, + pvar_func_register_func_CREATE_TAB, + pvar_func_register_func_FACTOR_CONVERSION, + pvar_func_register_func_INIT_TAB; + +int EMU_registerRecordDeviceDriver(DBBASE *pbase) +{ + static int executed = 0; + if (!pbase) { + printf("pdbbase is NULL; you must load a DBD file first.\n"); + return -1; + } + + if (executed) { + printf("Warning: Registration already done.\n"); + } + executed = 1; + + pvar_func_RampCurrentRegistrar(); + pvar_func_register_func_ANGLE_CALCUL(); + pvar_func_register_func_CREATE_TAB(); + pvar_func_register_func_FACTOR_CONVERSION(); + pvar_func_register_func_INIT_TAB(); + return 0; +} + +/* EMU_registerRecordDeviceDriver */ +static const iocshArg rrddArg0 = {"pdbbase", iocshArgPdbbase}; +static const iocshArg *rrddArgs[] = {&rrddArg0}; +static const iocshFuncDef rrddFuncDef = + {"EMU_registerRecordDeviceDriver", 1, rrddArgs}; +static void rrddCallFunc(const iocshArgBuf *) +{ + EMU_registerRecordDeviceDriver(*iocshPpdbbase); +} + +} // extern "C" + +/* + * Register commands on application startup + */ +static int Registration() { + iocshRegister(&rrddFuncDef, rrddCallFunc); + return 0; +} + +static int done = Registration(); diff --git a/builddir/O.3.15.2_eldk56-e500v2/EMU_registerRecordDeviceDriver.cpp.tmp b/builddir/O.3.15.2_eldk56-e500v2/EMU_registerRecordDeviceDriver.cpp.tmp new file mode 100644 index 0000000000000000000000000000000000000000..884c0a8bc2715cc53c6381d7706c6d47f063105a --- /dev/null +++ b/builddir/O.3.15.2_eldk56-e500v2/EMU_registerRecordDeviceDriver.cpp.tmp @@ -0,0 +1,65 @@ +/* THIS IS A GENERATED FILE. DO NOT EDIT! */ +/* Generated from ../../builddir/3.15.2/dbd/EMU.dbd */ + +#include <string.h> + +#include "epicsStdlib.h" +#include "iocsh.h" +#include "iocshRegisterCommon.h" +#include "registryCommon.h" + +#define epicsExportSharedSymbols +#include "shareLib.h" + +extern "C" { + +typedef void (*reg_func)(void); +epicsShareExtern reg_func pvar_func_RampCurrentRegistrar, + pvar_func_register_func_ANGLE_CALCUL, + pvar_func_register_func_CREATE_TAB, + pvar_func_register_func_FACTOR_CONVERSION, + pvar_func_register_func_INIT_TAB; + +int EMU_registerRecordDeviceDriver(DBBASE *pbase) +{ + static int executed = 0; + if (!pbase) { + printf("pdbbase is NULL; you must load a DBD file first.\n"); + return -1; + } + + if (executed) { + printf("Warning: Registration already done.\n"); + } + executed = 1; + + pvar_func_RampCurrentRegistrar(); + pvar_func_register_func_ANGLE_CALCUL(); + pvar_func_register_func_CREATE_TAB(); + pvar_func_register_func_FACTOR_CONVERSION(); + pvar_func_register_func_INIT_TAB(); + return 0; +} + +/* EMU_registerRecordDeviceDriver */ +static const iocshArg rrddArg0 = {"pdbbase", iocshArgPdbbase}; +static const iocshArg *rrddArgs[] = {&rrddArg0}; +static const iocshFuncDef rrddFuncDef = + {"EMU_registerRecordDeviceDriver", 1, rrddArgs}; +static void rrddCallFunc(const iocshArgBuf *) +{ + EMU_registerRecordDeviceDriver(*iocshPpdbbase); +} + +} // extern "C" + +/* + * Register commands on application startup + */ +static int Registration() { + iocshRegisterCommon(); + iocshRegister(&rrddFuncDef, rrddCallFunc); + return 0; +} + +static int done = Registration(); diff --git a/builddir/O.3.15.2_eldk56-e500v2/EMU_registerRecordDeviceDriver.d b/builddir/O.3.15.2_eldk56-e500v2/EMU_registerRecordDeviceDriver.d new file mode 100644 index 0000000000000000000000000000000000000000..d460c1526c7dbd997fa35f4d87cd5febc8a1699c --- /dev/null +++ b/builddir/O.3.15.2_eldk56-e500v2/EMU_registerRecordDeviceDriver.d @@ -0,0 +1,21 @@ +EMU_registerRecordDeviceDriver.o: EMU_registerRecordDeviceDriver.cpp \ + /opt/epics/bases/base-3.15.2/include/epicsStdlib.h \ + /opt/epics/bases/base-3.15.2/include/shareLib.h \ + /opt/epics/bases/base-3.15.2/include/os/Linux/osdStrtod.h \ + /opt/epics/bases/base-3.15.2/include/epicsTypes.h \ + /opt/epics/bases/base-3.15.2/include/compilerDependencies.h \ + /opt/epics/bases/base-3.15.2/include/compiler/gcc/compilerSpecific.h \ + /opt/epics/bases/base-3.15.2/include/errMdef.h \ + /opt/epics/bases/base-3.15.2/include/iocsh.h \ + /opt/epics/bases/base-3.15.2/include/registryCommon.h \ + /opt/epics/bases/base-3.15.2/include/dbStaticLib.h \ + /opt/epics/bases/base-3.15.2/include/dbFldTypes.h \ + /opt/epics/bases/base-3.15.2/include/dbBase.h \ + /opt/epics/bases/base-3.15.2/include/ellLib.h \ + /opt/epics/bases/base-3.15.2/include/dbDefs.h \ + /opt/epics/bases/base-3.15.2/include/link.h \ + /opt/epics/bases/base-3.15.2/include/cantProceed.h \ + /opt/epics/bases/base-3.15.2/include/devSup.h \ + /opt/epics/bases/base-3.15.2/include/registryRecordType.h \ + /opt/epics/bases/base-3.15.2/include/recSup.h \ + /opt/epics/bases/base-3.15.2/include/shareLib.h diff --git a/builddir/O.3.15.2_eldk56-e500v2/EMU_registerRecordDeviceDriver.o b/builddir/O.3.15.2_eldk56-e500v2/EMU_registerRecordDeviceDriver.o new file mode 100644 index 0000000000000000000000000000000000000000..a62411a23f0ca275b7cc479abae299ad4f433503 Binary files /dev/null and b/builddir/O.3.15.2_eldk56-e500v2/EMU_registerRecordDeviceDriver.o differ diff --git a/builddir/O.3.15.2_eldk56-e500v2/libEMU.so b/builddir/O.3.15.2_eldk56-e500v2/libEMU.so new file mode 100755 index 0000000000000000000000000000000000000000..cdb51c6cadc6f0bf36ef7a98731c93131031b195 Binary files /dev/null and b/builddir/O.3.15.2_eldk56-e500v2/libEMU.so differ diff --git a/builddir/db/EMU.db b/builddir/db/EMU.db new file mode 100644 index 0000000000000000000000000000000000000000..66ecae0dcf76ab5c132693a293e29de066a099a0 --- /dev/null +++ b/builddir/db/EMU.db @@ -0,0 +1,2511 @@ +# File: scanBase.template +# Author: Alexander Soderqvist <alexander.soderqvist@cosylab.com> +# +# Template containing the base for a scanning application. +# This is not a scanning application by it self +# and although it can be used as stand alone component, +# it is designed to be a part of scanning application implemented +# within geenricScan.substitutions. + + +# SSCAN record + +record(sscan, "$(DEVICE,recursive):$(SCAN_SLIT,undefined)") +{ + field(DESC, "$(SCAN_SLIT,undefined)") + + field(MPTS, "$(MAX_POINTS_SLIT,undefined)") + field(PASM, "STAY") + field(NPTS, "$(MAX_POINTS_SLIT,undefined)") + field(FPTS, "FREEZE") + field(ATIME, "0.1") + field(ACQT, "SCALAR") + field(ACQM, "NORMAL") + + #Before scan start fields + field(BSPV, "$(DEVICE,recursive):$(SCAN_SLIT,undefined)-BEFORE_SCAN") + field(BSCD, "1") + + #After scan start field- + field(ASPV, "$(DEVICE,recursive):$(SCAN_SLIT,undefined)-AFTER_SCAN") + field(ASCD, "1") + + #Detector triggers + field(T1PV, "$(DEVICE,recursive):$(SCAN_EF,undefined).EXSC") + field(T2PV, "") + field(T3PV, "") + field(T4PV, "$(DEVICE,recursive):$(SCAN_SLIT,undefined)-TRTRG.PROC") + + #Detectors + field(D01PV, "") + field(D02PV, "") + field(D03PV, "") + field(D04PV, "") + field(D05PV, "") + field(D06PV, "") + field(D07PV, "") + field(D08PV, "") + field(D09PV, "") + field(D10PV, "") + field(D11PV, "") + field(D12PV, "") + field(D13PV, "") + field(D14PV, "") + field(D15PV, "") + field(D16PV, "") + field(D17PV, "") + field(D18PV, "") + field(D19PV, "") + field(D20PV, "") + field(D21PV, "") + field(D22PV, "") + field(D23PV, "") + field(D24PV, "") + field(D25PV, "") + field(D26PV, "") + field(D27PV, "") + field(D28PV, "") + field(D29PV, "") + field(D30PV, "") + field(D31PV, "") + field(D32PV, "") + field(D33PV, "") + field(D34PV, "") + field(D35PV, "") + field(D36PV, "") + field(D37PV, "") + field(D38PV, "") + field(D39PV, "") + field(D40PV, "") + field(D41PV, "") + field(D42PV, "") + field(D43PV, "") + field(D44PV, "") + field(D45PV, "") + field(D46PV, "") + field(D47PV, "") + field(D48PV, "") + field(D49PV, "") + field(D50PV, "") + field(D51PV, "") + field(D52PV, "") + field(D53PV, "") + field(D54PV, "") + field(D55PV, "") + field(D56PV, "") + field(D57PV, "") + field(D58PV, "") + field(D59PV, "") + field(D60PV, "") + field(D61PV, "") + field(D62PV, "") + field(D63PV, "") + field(D64PV, "") + field(D65PV, "") + field(D66PV, "") + field(D67PV, "") + field(D68PV, "") + field(D69PV, "") + field(D70PV, "") + + #Positioner and step mode + field(P1PV, "$(MTRREC,undefined).ACCL") + field(P1SM, "FLY") + field(P2PV, "$(MTRREC,undefined).VELO") + field(P2SM, "FLY") + field(P3PV, "") + field(P3SM, "FLY") + field(P4PV, "$(MTRREC,undefined).VAL") + field(P4SM, "LINEAR") + + #Start, end and diff limit + field(P1SP, "") + field(P1EP, "") + field(P2SP, "") + field(P2EP, "") + field(P3SP, "") + field(P3EP, "") + field(P4SP, "") + field(P4EP, "") + + # Freeze flags, start, increment and end + field(P1FS, "FREEZE") + field(P1FI, "") + field(P1FE, "FREEZE") + field(P2FS, "") + field(P2FI, "") + field(P2FE, "") + field(P3FS, "") + field(P3FI, "") + field(P3FE, "") + field(P4FS, "") + field(P4FI, "") + field(P4FE, "") + + # Position readback PVs + field(R1PV, "") + field(R2PV, "") + field(R3PV, "") + field(R4PV, "") + + field(A1PV, "") +} +# File : scanGeneric.template +# Author: Alexander Soderqvist <alexandersoderqvist@esss.lu.se> + +# Support database for one SSCAN record. The main responsibility of this template +# is to handle before and after scan links and abort depending on mode (LINEAR, TABLE, FLY). +# It also handles reconfiguration of sscan when changing mode. +# +# All scanning logic and data collection are handled by SSCAN record, this template is an add-on +# to make it more flexible when designing applications. + +#### BEFORE AND AFTER SCAN LINKS #### + + +# Processed after every scan, independent of the scan mode. +# When processed, record defined by macro AS_LNK will be processed (optional). +# Additional after scan link may be defined if necessary. + +record(seq, "$(DEVICE,recursive):$(SCAN_SLIT,undefined)-AFTER_SCAN") +{ + field(DESC, "Links to after scan processing") + + + # Process internal records which will dispatch after scan notification + + field(DO1, "1") + field(LNK1, "$(MTRREC,undefined).SPMG") + + # Process mode specific after scan links + field(FLNK, "$(DEVICE,recursive):$(SCAN_SLIT,undefined)-AFTER_SCAN_") +} + +# Select after scan links to process according to mode + +record(seq, "$(DEVICE,recursive):$(SCAN_SLIT,undefined)-AFTER_SCAN_") +{ + field(DESC, "Links to after scan processing") + + field(SELM, "Specified") + field(SELL, "$(DEVICE,recursive):$(SCAN_SLIT,undefined)-MODE_SEL PP") + + field(DO1, "1") + field(LNK1, "$(DEVICE,recursive):$(SCAN_SLIT,undefined)-AFSTEP PP") + + field(DO2, "1") + field(LNK2, "$(DEVICE,recursive):$(SCAN_SLIT,undefined)-AFSTEP PP") + + field(DO3, "1") + field(LNK3, "$(DEVICE,recursive):$(SCAN_SLIT,undefined)-AFFLY PP") + +} + + +# Processed after scan finishes in LINEAR or TABLE mode. + +record(seq, "$(DEVICE,recursive):$(SCAN_SLIT,undefined)-AFSTEP") +{ + + field(DO1, "0") + field(LNK1, "$(DEVICE,recursive):$(SCAN_SLIT,undefined)-TR_TLCTRL.VAL PP") + + + field(DO2, "") + field(DO3, "") + field(DO4, "") + + field(LNK2, "") + field(LNK3, "") + field(LNK4, "") + + field(FLNK, "") +} + + +# Processed after scan is done (terminated) in FLY mode +# Optional: Process any external records given in AF_FLY_FLNK + +record(seq, "$(DEVICE,recursive):$(SCAN_SLIT,undefined)-AFFLY") +{ + field(DO1, "") + field(DO2, "") + field(DO3, "") + + field(LNK1, "") + field(LNK2, "") + field(LNK3, "") + + field(FLNK, "") +} + + +# Processed before every scan, independent of the mode. +# When processed, record defined by BS_LNK will be processed. +# If necessary more links can be added + +record(seq, "$(DEVICE,recursive):$(SCAN_SLIT,undefined)-BEFORE_SCAN") +{ + field(DESC, "Links to before scan processing") + + field(DO1, "3") + field(LNK1, "$(MTRREC,undefined).SPMG") + + field(FLNK, "$(DEVICE,recursive):$(SCAN_SLIT,undefined)-BEFORE_SCAN_") +} + +# Select before scan links to process according to mode + +record(seq, "$(DEVICE,recursive):$(SCAN_SLIT,undefined)-BEFORE_SCAN_") +{ + field(DESC, "Links to before scan processing") + + field(SELM, "Specified") + field(SELL, "$(DEVICE,recursive):$(SCAN_SLIT,undefined)-MODE_SEL PP") + + field(DO1, "1") + field(LNK1, "$(DEVICE,recursive):$(SCAN_SLIT,undefined)-BFSTEP PP") + + field(DO2, "1") + field(LNK2, "$(DEVICE,recursive):$(SCAN_SLIT,undefined)-BFSTEP PP") + + field(DO3, "1") + field(LNK3, "$(DEVICE,recursive):$(SCAN_SLIT,undefined)-BFFLY PP") + +} + + +# Processed before scan is executed in FLY mode. + +record(seq, "$(DEVICE,recursive):$(SCAN_SLIT,undefined)-BFFLY") +{ + + field(DO1, "") + field(DO2, "") + field(DO3, "") + + field(LNK1, "") + field(LNK2, "") + field(LNK3, "") + + field(FLNK, "") +} + + +# Processed before scan is executed in LINEAR or TABLE mode. + +record(seq, "$(DEVICE,recursive):$(SCAN_SLIT,undefined)-BFSTEP") +{ + + field(DO1, "") + field(LNK1, "") + + field(DO2, "") + field(LNK2, "") + + field(DO3, "") + field(LNK3, "") + + field(FLNK, "") +} + + +# Processed on scan abort when when in LINEAR mode. +# Optional: Process any external records given in AB_STEP_FLNK + +record(seq, "$(DEVICE,recursive):$(SCAN_SLIT,undefined)-ABSTEP") +{ + field(DO1, "0") + field(LNK1, "$(DEVICE,recursive):$(SCAN_SLIT,undefined)-TR_TLCTRL.VAL PP") + + field(DO2, "0") + field(LNK2, "$(DEVICE,recursive):$(SCAN_SLIT,undefined).EXSC PP") + + field(DO3, "") + field(LNK3, "") + + field(DO4, "") + field(LNK4, "") + + field(DO5, "") + field(LNK5, "") + + field(FLNK, "$(DEVICE,recursive):$(SCAN_EF,undefined)-ABORT") +} + + +# Processed on scan abort when in FLY mode. +# Optional: Process any external records given in AB_FLY_FLNK + +record(seq, "$(DEVICE,recursive):$(SCAN_SLIT,undefined)-ABFLY") +{ + field(DO1, "0") + field(LNK1, "$(DEVICE,recursive):$(SCAN_SLIT,undefined)-TR_TLCTRL.VAL PP") + + field(DO2, "0") + field(LNK2, "$(DEVICE,recursive):$(SCAN_SLIT,undefined).EXSC PP") + + field(DO3, "") + field(LNK3, "") + + field(DO4, "") + field(LNK4, "") + + field(DO5, "") + field(LNK5, "") + + field(FLNK, "") +} + + + + +### Command interface ### + + +# Abort the scan, general links. + +record(seq, "$(DEVICE,recursive):$(SCAN_SLIT,undefined)-ABORT") +{ + field(DO1, "1") + field(LNK1, "$(MTRREC,undefined).STOP PP") + + field(FLNK, "$(DEVICE,recursive):$(SCAN_SLIT,undefined)-ABORT_") +} + +# Select STEP or FLY abort depending on mode + +record(seq, "$(DEVICE,recursive):$(SCAN_SLIT,undefined)-ABORT_") +{ + field(SELM, "Specified") + field(SELL, "$(DEVICE,recursive):$(SCAN_SLIT,undefined)-MODE_SEL") + + field(DO1, "0") + field(LNK1, "$(DEVICE,recursive):$(SCAN_SLIT,undefined)-ABSTEP PP") + + field(DO2, "0") + field(LNK3, "$(DEVICE,recursive):$(SCAN_SLIT,undefined)-ABSTEP PP") + + field(DO3, "0") + field(LNK3, "$(DEVICE,recursive):$(SCAN_SLIT,undefined)-ABFLY PP") + + field(FLNK, "") +} + + +### Auto configuration records ### +# Record which handles reconfiguration of sscan due to change of mode. + +# Calcuclate mode for use with selection algoritm in seq records +# Propagate execution to configuration for that specific mode. + +record(calcout, "$(DEVICE,recursive):$(SCAN_SLIT,undefined)-MODE_SEL") +{ + field(CALC, "A + 1") + field(INPA, "$(DEVICE,recursive):$(SCAN_SLIT,undefined).P4SM CP") + +# Only execute on change, execution everytime +# also meant executin at end-of-scan when the field +# updates. This caused problems when nesting scans + field(OOPT, "On Change") + field(OUT, "$(DEVICE,recursive):$(SCAN_SLIT,undefined)-CONFLNK.PROC PP") +# field(FLNK, "$(DEVICE,recursive):$(SCAN_SLIT,undefined)-CONFLNK") +} + +# Execute mode configuration links + +record(seq, "$(DEVICE,recursive):$(SCAN_SLIT,undefined)-CONFLNK") +{ + + field(SELM, "Specified") + field(SELL, "$(DEVICE,recursive):$(SCAN_SLIT,undefined)-MODE_SEL") + + field(DO1, "1") + field(LNK1, "$(DEVICE,recursive):$(SCAN_SLIT,undefined)-STEPCONF.PROC PP") + + field(DO2, "1") + field(LNK2, "$(DEVICE,recursive):$(SCAN_SLIT,undefined)-STEPCONF.PROC PP") + + field(DO3, "1") + field(LNK3, "$(DEVICE,recursive):$(SCAN_SLIT,undefined)-FLYCONF.PROC PP") + +} + +# Configures the sscan record for on the fly: +# 1. prevent automatic recalculation of number of points +# 2. sets number of points to scan to Macro(MAX_POINTS) +# 3, 4. User defined links before setting fly mode +# + +record(seq, "$(DEVICE,recursive):$(SCAN_SLIT,undefined)-FLYCONF") +{ + field(DESC, "Sets SSCAN in OTF mode") + + field(DO1, "1") + field(DO2, "$(MAX_POINTS_SLIT,undefined)") + + field(DO3, "") + field(DO4, "") + + + field(LNK1, "$(DEVICE,recursive):$(SCAN_SLIT,undefined).FPTS PP") + field(LNK2, "$(DEVICE,recursive):$(SCAN_SLIT,undefined).NPTS PP") + + field(LNK3, "") + field(LNK4, "") + + field(FLNK, "$(DEVICE,recursive):$(SCAN_SLIT,undefined)-SET_POS_RBV") +} + + +# Configures the sscan record to: +# - automatically recalculate number of points +# - sets mode of the positioner to "LINEAR" +# +# Changes input of the common positions waveform to get values +# from sscan record (.PnCA) + +record(seq, "$(DEVICE,recursive):$(SCAN_SLIT,undefined)-STEPCONF") +{ + field(DESC, "Sets SSCAN in Step mode") + + field(DO1, "0") + + field(DO2, "") + field(DO3, "") + + field(LNK1, "$(DEVICE,recursive):$(SCAN_SLIT,undefined).FPTS PP") + + field(LNK2, "") + field(LNK3, "") + + field(FLNK, "$(DEVICE,recursive):$(SCAN_SLIT,undefined)-SET_POS_RBV") +} + + +# Configure RBV PV depending on mode + +# Set read back pv for positioner. +# Read back value for step mode are usually a scalar PV. +# For example the .RBV field on the motor record. +# +# Read back value for fly scan is usually an array. +# Due to that aggregation of positions often happens closer to the source +# due to the timing critical nature of fly scans. +# Sccan will however aggreage position from scalar also during fly scan, +# If this want to be done simply specifiy to a scalar instead. +record(sseq, "$(DEVICE,recursive):$(SCAN_SLIT,undefined)-SET_POS_RBV") +{ + field(SELM, "Specified") + field(SELL, "$(DEVICE,recursive):$(SCAN_SLIT,undefined)-MODE_SEL NPP") + + field(STR1, "$(MTRREC,undefined).RBV") + field(LNK1, "$(DEVICE,recursive):$(SCAN_SLIT,undefined).R4PV PP") + + field(STR2, "$(MTRREC,undefined).RBV") + field(LNK2, "$(DEVICE,recursive):$(SCAN_SLIT,undefined).R4PV PP") + + field(STR3, "") + field(LNK3, "$(DEVICE,recursive):$(SCAN_SLIT,undefined).R4PV PP") + +} + + +# Common record for exposing number of read positions. This is used to expose +# Number of positions collected from a separate component which aggregates positions for fly scans. +# In step mode it will simply follow the .CPT field on sscan. +# +# It updates on: +# 1) change of .CPT if in LINEAR mode, +# 2) by explicit update from external positioner control records when in FLY mode. +# In this case, the positioner control logic is responsible to process this record! +# +# When in FLY mode, it is required to process this by external component +# when provided position array is updated (Macro(POS_ARR_RBV_PV)) + +record(calc, "$(DEVICE,recursive):$(SCAN_SLIT,undefined)-NORD_POS") +{ + field(CALC, "A = 2 ? B : C") + + field(INPA, "$(DEVICE,recursive):$(SCAN_SLIT,undefined).P4SM") + + field(INPB, "0") + field(INPC, "$(DEVICE,recursive):$(SCAN_SLIT,undefined).CPT CP") + +} + + +# File : scanTRCtrl.template +# Author: Rok Stefanic <rok.stefanic@cosylab.com> +# Modified: Alexander Soderqvist <alexander.soderqvist@cosylab.com> + +# This template implements all necessary logic for acquiring timestamps on received +# timing events which generate HW triggers used by the positioner and detector. +# + +# Macro: +# TR_TLTSEL Full name of the record which holds the time-stamp of the +# HW trigger generation on the timing receiver. +# Example: DTL-Ctrl:TR-01:ACT-TL3-EV5-RBV.TIME + +# It also requires a forward link to signal when to store the timestamp. +# The forward link should be direct to SAVE_TS record and is commonly set +# from DAQDetTrigger done signal for one dimensional scans. +# On two dimensional scan the outer scan's SAVE_TS record can be forward linked +# from an after scan link on the inner scan. And TR_TLTSEL can be set to TS_START +# from the inner scan. + +# Record converts the time-stamp of HW trigger generation +# on timing receiver trigger line output + +record(stringin, "$(DEVICE,recursive):$(SCAN_SLIT,undefined)-TS") +{ + field(DTYP, "Soft Timestamp" ) + field(TSEL, "$(DEVICE,recursive):$(SCAN_EF,undefined)-TS_START.TIME" ) + field(INP, "@%Y-%m-%d %H:%M:%S.%09f" ) + + field(FLNK, "$(DEVICE,recursive):$(SCAN_SLIT,undefined)-TS_ARRAY_CONCAT") +} + + +# aSub routine concatenates all incoming time-stamps to an array + +record(aSub, "$(DEVICE,recursive):$(SCAN_SLIT,undefined)-TS_ARRAY_CONCAT") +{ + field(DESC, "Concatenate time-stamps") + field(INAM, "concatTSArrayInit") + field(SNAM, "concatTSArrayProcess") + + field(FTA, "STRING") + field(INPA, "$(DEVICE,recursive):$(SCAN_SLIT,undefined)-TS.VAL NPP") + + field(FTB, "LONG") + field(INPB, "$(DEVICE,recursive):$(SCAN_SLIT,undefined).CPT NPP") + + field(NOVA, "$(MAX_POINTS_SLIT,undefined)") + field(FTVA, "STRING") + field(OUTA, "$(DEVICE,recursive):$(SCAN_SLIT,undefined)-TS_ARR.VAL PP") + + field(FLNK, "$(DEVICE,recursive):$(SCAN_SLIT,undefined)-TS_START_") +} + + +# Internal record to determine if trigger is the first +# trigger of the current scan. If so, then record +# -TS_START will be processed which will holed +# the time-stamp when the scan was started. +# Time-stamp is obtained directly from the timing +# receiver (time when the timing event was received +# and HW trigger signal was generated) + +record(calcout, "$(DEVICE,recursive):$(SCAN_SLIT,undefined)-TS_START_") +{ + field(DESC, "Process ts of first trigger") + field(CALC, "A = 0 ? 0 : 1") + + field(INPA, "$(DEVICE,recursive):$(SCAN_SLIT,undefined).CPT NPP") + + field(DOPT, "Use OCAL") + field(OOPT, "When Zero") + field(OCAL, "1") + + field(OUT, "$(DEVICE,recursive):$(SCAN_SLIT,undefined)-TS_START.PROC PP") +} + + +# Record is processed when the first timing event is +# received - generating the first HW trigger signal +# in the timing receiver. This time-stamp is the actual +# time when scan started. + +record(longin, "$(DEVICE,recursive):$(SCAN_SLIT,undefined)-TS_START") +{ + field(DESC, "TS of first trigger") + field(MDEL, "-1") + + field(TSEL, "$(DEVICE,recursive):$(SCAN_SLIT,undefined)-TS.TIME") +} + + +# Array containing all time-stamps gathered during the scan + +record(waveform, "$(DEVICE,recursive):$(SCAN_SLIT,undefined)-TS_ARR") +{ + field(NELM, "$(MAX_POINTS_SLIT,undefined)") + field(FTVL, "STRING") +} + + +# Trigger end of scan timestamp read-back array to be stored. +record(bi, "$(DEVICE,recursive):$(SCAN_SLIT,undefined)-EOS_TS_RBV") +{ + field(INP, "$(DEVICE,recursive):$(SCAN_SLIT,undefined).DATA CP") + field(FLNK, "$(DEVICE,recursive):$(SCAN_SLIT,undefined)-TS_ARR_RBV") +} + + +# Store acquired time-stamps when scan is finished +# NOTE: this record will not be updated during the scan! + +record(waveform, "$(DEVICE,recursive):$(SCAN_SLIT,undefined)-TS_ARR_RBV") +{ + field(DISV, "0") + field(SDIS, "$(DEVICE,recursive):$(SCAN_SLIT,undefined)-EOS_TS NPP") + + field(NELM, "$(MAX_POINTS_SLIT,undefined)") + field(FTVL, "STRING") + + field(INP, "$(DEVICE,recursive):$(SCAN_SLIT,undefined)-TS_ARR") + + # Set the time of the record to the beginning of the scan + # (time of the first timing trigger) + field(TSEL, "$(DEVICE,recursive):$(SCAN_SLIT,undefined)-TS_START.TIME") +} + +# Record that MUST be processed once acquisition on the detector is triggered +# acquisition ends. It is necessary that DAQ functions in blocking mode, +# where this process is processed when DAQ finishes and unblocks. +# The record will trigger saving the time-stamp into the internal time-stamp array. +# +# The record will not be processed when the scan is not active. +# This enables the inner scan to be performed without affecting the outter scan +# in a setup of 2D scan. + +record(fanout, "$(DEVICE,recursive):$(SCAN_SLIT,undefined)-SAVE_TS") +{ + field(DESC, "Save timestamp") + + # Disable record processing if the scan component is not active + # The case for this is in 2D scans and the inner scan is executed. + # Without this guard, time-stamps from the inner scan component would + # be appended to the array. + + field(DISV, "0") + field(SDIS, "$(DEVICE,recursive):$(SCAN_SLIT,undefined).BUSY NPP") + + field(LNK1, "$(DEVICE,recursive):$(SCAN_SLIT,undefined)-TS") +} +# File : scanTRDetTrig.template +# Author: Alexander Soderqvist <alexander.soderqvist@cosylab.com> + +# The purpose of this template is to provide an interface to the ESS timing receiver. +# The actual timing receiver logic still has to be provided by an external component, +# which can be found in the trAction.template of the timing receiver support. +# +# It also handles auto abort for fly scan which is related to turning of +# trigger lines at the correct moment to assure conformity in positioner and data points. +# +# This template is not meant to be used as a stand-alone component but together with scanGeneric.template. + +# Controls trigger generation on trigger liens on the timing receiver. +# +# +# MACRO: +# TR_TL1 Record Name of the TR record responsible to control the output +# Example: DTL-Ctrl:TR-01:ACT-TL3-EV5 +# And TR_TL2 and TR_TL3 for controlling more trigger lines. +# +# TL_ENBL_VAL Value written to enable reaction to events on triggler line. +# TL_DIS_VAL Value written to disable reaction to events on triggler line. + + +# INTERFACE SSCAN record detector trigger: +# Detects the first detector trigger issued by SSCAN record (when <SSCAN>.CPT == 0) +# And activate trigger lines +record(calc, "$(DEVICE,recursive):$(SCAN_SLIT,undefined)-TRTRG") +{ + field(DESC, "Detects first detector trigger") + field(CALC, "A = 0 ? 1 : 2") + + field(INPA, "$(DEVICE,recursive):$(SCAN_SLIT,undefined).CPT NPP") + + field(FLNK, "$(DEVICE,recursive):$(SCAN_SLIT,undefined)-OPSEL") +} + +record(seq, "$(DEVICE,recursive):$(SCAN_SLIT,undefined)-OPSEL") +{ + field(SELM, "Specified") + field(SELL, "$(DEVICE,recursive):$(SCAN_SLIT,undefined)-TRTRG") + + # Enable trigger lines + field(DO1, "1") + field(LNK1, "$(DEVICE,recursive):$(SCAN_SLIT,undefined)-TR_TLCTRL.VAL PP") + + # Else dact trigger lines + field(DO2, "1") + field(LNK2, "$(DEVICE,recursive):$(SCAN_SLIT,undefined)-DACT_TR.PROC PP") +} + +# INTERNAL RECORD & INTERFACE SCAN GENERIC: +# Control Trigger lines reaction to event +# "Simultaneosly" enable/disable reaction to events on multiple trigger lines. +# Note that this might be a hack. The timing receiver has to support doing this otherwise +# we have a race condition, even though it seems unlikely to actually happen. +# This will however only happen for fly scans. +record(dfanout, "$(DEVICE,recursive):$(SCAN_SLIT,undefined)-TR_TLCTRL") +{ + field(DESC, "Enable/disable TR output") + field(OMSL, "supervisory") + + field(OUTA, "") + field(OUTB, "") + field(OUTC, "") +} + +# INTERNAL RECORD: +# Deactivate trigger lines for fly scans when number of points +# is reached or the positioner is done moving. +record(calcout, "$(DEVICE,recursive):$(SCAN_SLIT,undefined)-DACT_TR") +{ + field(DESC, "Deactivate TR trigger lines") + field(CALC, "A = 2 && (B = 1 || C = D) ? 0 : 1") + field(INPA, "$(DEVICE,recursive):$(SCAN_SLIT,undefined).P4SM NPP") + field(INPB, "0") + field(INPC, "$(DEVICE,recursive):$(SCAN_SLIT,undefined).CPT NPP") + field(INPD, "$(DEVICE,recursive):$(SCAN_SLIT,undefined).NPTS NPP") + + field(OCAL, "0") + field(OOPT, "When Zero") + field(DOPT, "Use OCAL") + field(OUT, "$(DEVICE,recursive):$(SCAN_SLIT,undefined)-TR_TLCTRL PP") +# Trigger Auto abort + field(FLNK, "$(DEVICE,recursive):$(SCAN_SLIT,undefined)-AUTOABORT") +} + +# INTERNAL RECORD: +# If triggler lines were deactivated and positioner is done moving +# trigger auto abort links to finish the scan. To avoid waiting for NPTS to be collected. +record(calcout, "$(DEVICE,recursive):$(SCAN_SLIT,undefined)-AUTOABORT") +{ + field(DESC, "Auto abort fly scans") + field(CALC, "A = 0 && B = 1 ? 0 : 1") + field(INPA, "$(DEVICE,recursive):$(SCAN_SLIT,undefined)-DACT_TR NPP") + field(INPB, "0") + field(OOPT, "When Zero") + + field(OUT, "$(DEVICE,recursive):$(SCAN_SLIT,undefined)-AUTOABLNK.PROC PP") +} + +# Auto abort links. +# Abort scan and execute user defined links for any other things +# that needs to be finsihsed or reset. +record(seq, "$(DEVICE,recursive):$(SCAN_SLIT,undefined)-AUTOABLNK") +{ + field(DLY1, "0.1") + field(DO1, "0") + field(LNK1, "$(DEVICE,recursive):$(SCAN_SLIT,undefined).EXSC NPP") + + field(DLY2, "0.1") + field(DO2, "") + field(LNK2, "") + + field(DLY3, "0.1") + field(DO3, "") + field(LNK3, "") + +} +# File: scanBase.template +# Author: Alexander Soderqvist <alexander.soderqvist@cosylab.com> +# +# Template containing the base for a scanning application. +# This is not a scanning application by it self +# and although it can be used as stand alone component, +# it is designed to be a part of scanning application implemented +# within geenricScan.substitutions. + + +# SSCAN record + +record(sscan, "$(DEVICE,recursive):$(SCAN_EF,undefined)") +{ + field(DESC, "$(SCAN_EF,undefined)") + + field(MPTS, "$(MAX_POINTS_EF,undefined)") + field(PASM, "STAY") + field(NPTS, "$(MAX_POINTS_EF,undefined)") + field(FPTS, "FREEZE") + field(ATIME, "0.1") + field(ACQT, "SCALAR") + field(ACQM, "NORMAL") + + #Before scan start fields + field(BSPV, "$(DEVICE,recursive):$(SCAN_EF,undefined)-BEFORE_SCAN") + field(BSCD, "1") + + #After scan start field- + field(ASPV, "$(DEVICE,recursive):$(SCAN_EF,undefined)-AFTER_SCAN") + field(ASCD, "1") + + #Detector triggers + field(T1PV, "$(DEVICE,recursive):DAQTRG-TRG") + field(T2PV, "") + field(T3PV, "") + field(T4PV, "$(DEVICE,recursive):$(SCAN_EF,undefined)-TRTRG.PROC") + + #Detectors + field(D01PV, "$(DEVICE,recursive):DET1-COMP") + field(D02PV, "$(DEVICE,recursive):DET2-COMP") + field(D03PV, "$(DEVICE,recursive):DET3-COMP") + field(D04PV, "") + field(D05PV, "") + field(D06PV, "") + field(D07PV, "") + field(D08PV, "") + field(D09PV, "") + field(D10PV, "") + field(D11PV, "") + field(D12PV, "") + field(D13PV, "") + field(D14PV, "") + field(D15PV, "") + field(D16PV, "") + field(D17PV, "") + field(D18PV, "") + field(D19PV, "") + field(D20PV, "") + field(D21PV, "") + field(D22PV, "") + field(D23PV, "") + field(D24PV, "") + field(D25PV, "") + field(D26PV, "") + field(D27PV, "") + field(D28PV, "") + field(D29PV, "") + field(D30PV, "") + field(D31PV, "") + field(D32PV, "") + field(D33PV, "") + field(D34PV, "") + field(D35PV, "") + field(D36PV, "") + field(D37PV, "") + field(D38PV, "") + field(D39PV, "") + field(D40PV, "") + field(D41PV, "") + field(D42PV, "") + field(D43PV, "") + field(D44PV, "") + field(D45PV, "") + field(D46PV, "") + field(D47PV, "") + field(D48PV, "") + field(D49PV, "") + field(D50PV, "") + field(D51PV, "") + field(D52PV, "") + field(D53PV, "") + field(D54PV, "") + field(D55PV, "") + field(D56PV, "") + field(D57PV, "") + field(D58PV, "") + field(D59PV, "") + field(D60PV, "") + field(D61PV, "") + field(D62PV, "") + field(D63PV, "") + field(D64PV, "") + field(D65PV, "") + field(D66PV, "") + field(D67PV, "") + field(D68PV, "") + field(D69PV, "") + field(D70PV, "") + + #Positioner and step mode + field(P1PV, "$(PSU2_SP,undefined)") + field(P1SM, "LINEAR") + field(P2PV, "") + field(P2SM, "FLY") + field(P3PV, "") + field(P3SM, "FLY") + field(P4PV, "$(PSU_SP,undefined)") + field(P4SM, "LINEAR") + + #Start, end and diff limit + field(P1SP, "") + field(P1EP, "") + field(P2SP, "") + field(P2EP, "") + field(P3SP, "") + field(P3EP, "") + field(P4SP, "") + field(P4EP, "") + + # Freeze flags, start, increment and end + field(P1FS, "FREEZE") + field(P1FI, "") + field(P1FE, "FREEZE") + field(P2FS, "") + field(P2FI, "") + field(P2FE, "") + field(P3FS, "") + field(P3FI, "") + field(P3FE, "") + field(P4FS, "") + field(P4FI, "") + field(P4FE, "") + + # Position readback PVs + field(R1PV, "$(PSU2_RBV,undefined)") + field(R2PV, "") + field(R3PV, "") + field(R4PV, "") + + field(A1PV, "") +} +# File : scanGeneric.template +# Author: Alexander Soderqvist <alexandersoderqvist@esss.lu.se> + +# Support database for one SSCAN record. The main responsibility of this template +# is to handle before and after scan links and abort depending on mode (LINEAR, TABLE, FLY). +# It also handles reconfiguration of sscan when changing mode. +# +# All scanning logic and data collection are handled by SSCAN record, this template is an add-on +# to make it more flexible when designing applications. + +#### BEFORE AND AFTER SCAN LINKS #### + + +# Processed after every scan, independent of the scan mode. +# When processed, record defined by macro AS_LNK will be processed (optional). +# Additional after scan link may be defined if necessary. + +record(seq, "$(DEVICE,recursive):$(SCAN_EF,undefined)-AFTER_SCAN") +{ + field(DESC, "Links to after scan processing") + + + # Process internal records which will dispatch after scan notification + + field(DO1, "") + field(LNK1, "") + + # Process mode specific after scan links + field(FLNK, "$(DEVICE,recursive):$(SCAN_EF,undefined)-AFTER_SCAN_") +} + +# Select after scan links to process according to mode + +record(seq, "$(DEVICE,recursive):$(SCAN_EF,undefined)-AFTER_SCAN_") +{ + field(DESC, "Links to after scan processing") + + field(SELM, "Specified") + field(SELL, "$(DEVICE,recursive):$(SCAN_EF,undefined)-MODE_SEL PP") + + field(DO1, "1") + field(LNK1, "$(DEVICE,recursive):$(SCAN_EF,undefined)-AFSTEP PP") + + field(DO2, "1") + field(LNK2, "$(DEVICE,recursive):$(SCAN_EF,undefined)-AFSTEP PP") + + field(DO3, "1") + field(LNK3, "$(DEVICE,recursive):$(SCAN_EF,undefined)-AFFLY PP") + +} + + +# Processed after scan finishes in LINEAR or TABLE mode. + +record(seq, "$(DEVICE,recursive):$(SCAN_EF,undefined)-AFSTEP") +{ + + field(DO1, "0") + field(LNK1, "$(DEVICE,recursive):$(SCAN_EF,undefined)-TR_TLCTRL.VAL PP") + + + field(DO2, "") + field(DO3, "") + field(DO4, "") + + field(LNK2, "") + field(LNK3, "") + field(LNK4, "") + + field(FLNK, "$(DEVICE,recursive):$(SCAN_SLIT,undefined)-SAVE_TS") +} + + +# Processed after scan is done (terminated) in FLY mode +# Optional: Process any external records given in AF_FLY_FLNK + +record(seq, "$(DEVICE,recursive):$(SCAN_EF,undefined)-AFFLY") +{ + field(DO1, "") + field(DO2, "") + field(DO3, "") + + field(LNK1, "") + field(LNK2, "") + field(LNK3, "") + + field(FLNK, "") +} + + +# Processed before every scan, independent of the mode. +# When processed, record defined by BS_LNK will be processed. +# If necessary more links can be added + +record(seq, "$(DEVICE,recursive):$(SCAN_EF,undefined)-BEFORE_SCAN") +{ + field(DESC, "Links to before scan processing") + + field(DO1, "") + field(LNK1, "") + + field(FLNK, "$(DEVICE,recursive):$(SCAN_EF,undefined)-BEFORE_SCAN_") +} + +# Select before scan links to process according to mode + +record(seq, "$(DEVICE,recursive):$(SCAN_EF,undefined)-BEFORE_SCAN_") +{ + field(DESC, "Links to before scan processing") + + field(SELM, "Specified") + field(SELL, "$(DEVICE,recursive):$(SCAN_EF,undefined)-MODE_SEL PP") + + field(DO1, "1") + field(LNK1, "$(DEVICE,recursive):$(SCAN_EF,undefined)-BFSTEP PP") + + field(DO2, "1") + field(LNK2, "$(DEVICE,recursive):$(SCAN_EF,undefined)-BFSTEP PP") + + field(DO3, "1") + field(LNK3, "$(DEVICE,recursive):$(SCAN_EF,undefined)-BFFLY PP") + +} + + +# Processed before scan is executed in FLY mode. + +record(seq, "$(DEVICE,recursive):$(SCAN_EF,undefined)-BFFLY") +{ + + field(DO1, "") + field(DO2, "") + field(DO3, "") + + field(LNK1, "") + field(LNK2, "") + field(LNK3, "") + + field(FLNK, "") +} + + +# Processed before scan is executed in LINEAR or TABLE mode. + +record(seq, "$(DEVICE,recursive):$(SCAN_EF,undefined)-BFSTEP") +{ + + field(DO1, "") + field(LNK1, "") + + field(DO2, "") + field(LNK2, "") + + field(DO3, "") + field(LNK3, "") + + field(FLNK, "") +} + + +# Processed on scan abort when when in LINEAR mode. +# Optional: Process any external records given in AB_STEP_FLNK + +record(seq, "$(DEVICE,recursive):$(SCAN_EF,undefined)-ABSTEP") +{ + field(DO1, "0") + field(LNK1, "$(DEVICE,recursive):$(SCAN_EF,undefined)-TR_TLCTRL.VAL PP") + + field(DO2, "0") + field(LNK2, "$(DEVICE,recursive):$(SCAN_EF,undefined).EXSC PP") + + field(DO3, "") + field(LNK3, "$(DEVICE,recursive):DAQTRG-RST.PROC PP") + + field(DO4, "") + field(LNK4, "") + + field(DO5, "") + field(LNK5, "") + + field(FLNK, "") +} + + +# Processed on scan abort when in FLY mode. +# Optional: Process any external records given in AB_FLY_FLNK + +record(seq, "$(DEVICE,recursive):$(SCAN_EF,undefined)-ABFLY") +{ + field(DO1, "0") + field(LNK1, "$(DEVICE,recursive):$(SCAN_EF,undefined)-TR_TLCTRL.VAL PP") + + field(DO2, "0") + field(LNK2, "$(DEVICE,recursive):$(SCAN_EF,undefined).EXSC PP") + + field(DO3, "") + field(LNK3, "") + + field(DO4, "") + field(LNK4, "") + + field(DO5, "") + field(LNK5, "") + + field(FLNK, "") +} + + + + +### Command interface ### + + +# Abort the scan, general links. + +record(seq, "$(DEVICE,recursive):$(SCAN_EF,undefined)-ABORT") +{ + field(DO1, "") + field(LNK1, "") + + field(FLNK, "$(DEVICE,recursive):$(SCAN_EF,undefined)-ABORT_") +} + +# Select STEP or FLY abort depending on mode + +record(seq, "$(DEVICE,recursive):$(SCAN_EF,undefined)-ABORT_") +{ + field(SELM, "Specified") + field(SELL, "$(DEVICE,recursive):$(SCAN_EF,undefined)-MODE_SEL") + + field(DO1, "0") + field(LNK1, "$(DEVICE,recursive):$(SCAN_EF,undefined)-ABSTEP PP") + + field(DO2, "0") + field(LNK3, "$(DEVICE,recursive):$(SCAN_EF,undefined)-ABSTEP PP") + + field(DO3, "0") + field(LNK3, "$(DEVICE,recursive):$(SCAN_EF,undefined)-ABFLY PP") + + field(FLNK, "") +} + + +### Auto configuration records ### +# Record which handles reconfiguration of sscan due to change of mode. + +# Calcuclate mode for use with selection algoritm in seq records +# Propagate execution to configuration for that specific mode. + +record(calcout, "$(DEVICE,recursive):$(SCAN_EF,undefined)-MODE_SEL") +{ + field(CALC, "A + 1") + field(INPA, "$(DEVICE,recursive):$(SCAN_EF,undefined).P4SM CP") + +# Only execute on change, execution everytime +# also meant executin at end-of-scan when the field +# updates. This caused problems when nesting scans + field(OOPT, "On Change") + field(OUT, "$(DEVICE,recursive):$(SCAN_EF,undefined)-CONFLNK.PROC PP") +# field(FLNK, "$(DEVICE,recursive):$(SCAN_EF,undefined)-CONFLNK") +} + +# Execute mode configuration links + +record(seq, "$(DEVICE,recursive):$(SCAN_EF,undefined)-CONFLNK") +{ + + field(SELM, "Specified") + field(SELL, "$(DEVICE,recursive):$(SCAN_EF,undefined)-MODE_SEL") + + field(DO1, "1") + field(LNK1, "$(DEVICE,recursive):$(SCAN_EF,undefined)-STEPCONF.PROC PP") + + field(DO2, "1") + field(LNK2, "$(DEVICE,recursive):$(SCAN_EF,undefined)-STEPCONF.PROC PP") + + field(DO3, "1") + field(LNK3, "$(DEVICE,recursive):$(SCAN_EF,undefined)-FLYCONF.PROC PP") + +} + +# Configures the sscan record for on the fly: +# 1. prevent automatic recalculation of number of points +# 2. sets number of points to scan to Macro(MAX_POINTS) +# 3, 4. User defined links before setting fly mode +# + +record(seq, "$(DEVICE,recursive):$(SCAN_EF,undefined)-FLYCONF") +{ + field(DESC, "Sets SSCAN in OTF mode") + + field(DO1, "1") + field(DO2, "$(MAX_POINTS_EF,undefined)") + + field(DO3, "") + field(DO4, "") + + + field(LNK1, "$(DEVICE,recursive):$(SCAN_EF,undefined).FPTS PP") + field(LNK2, "$(DEVICE,recursive):$(SCAN_EF,undefined).NPTS PP") + + field(LNK3, "") + field(LNK4, "") + + field(FLNK, "$(DEVICE,recursive):$(SCAN_EF,undefined)-SET_POS_RBV") +} + + +# Configures the sscan record to: +# - automatically recalculate number of points +# - sets mode of the positioner to "LINEAR" +# +# Changes input of the common positions waveform to get values +# from sscan record (.PnCA) + +record(seq, "$(DEVICE,recursive):$(SCAN_EF,undefined)-STEPCONF") +{ + field(DESC, "Sets SSCAN in Step mode") + + field(DO1, "0") + + field(DO2, "") + field(DO3, "") + + field(LNK1, "$(DEVICE,recursive):$(SCAN_EF,undefined).FPTS PP") + + field(LNK2, "") + field(LNK3, "") + + field(FLNK, "$(DEVICE,recursive):$(SCAN_EF,undefined)-SET_POS_RBV") +} + + +# Configure RBV PV depending on mode + +# Set read back pv for positioner. +# Read back value for step mode are usually a scalar PV. +# For example the .RBV field on the motor record. +# +# Read back value for fly scan is usually an array. +# Due to that aggregation of positions often happens closer to the source +# due to the timing critical nature of fly scans. +# Sccan will however aggreage position from scalar also during fly scan, +# If this want to be done simply specifiy to a scalar instead. +record(sseq, "$(DEVICE,recursive):$(SCAN_EF,undefined)-SET_POS_RBV") +{ + field(SELM, "Specified") + field(SELL, "$(DEVICE,recursive):$(SCAN_EF,undefined)-MODE_SEL NPP") + + field(STR1, "$(PSU_RBV,undefined)") + field(LNK1, "$(DEVICE,recursive):$(SCAN_EF,undefined).R4PV PP") + + field(STR2, "$(PSU_RBV,undefined)") + field(LNK2, "$(DEVICE,recursive):$(SCAN_EF,undefined).R4PV PP") + + field(STR3, "") + field(LNK3, "$(DEVICE,recursive):$(SCAN_EF,undefined).R4PV PP") + +} + + +# Common record for exposing number of read positions. This is used to expose +# Number of positions collected from a separate component which aggregates positions for fly scans. +# In step mode it will simply follow the .CPT field on sscan. +# +# It updates on: +# 1) change of .CPT if in LINEAR mode, +# 2) by explicit update from external positioner control records when in FLY mode. +# In this case, the positioner control logic is responsible to process this record! +# +# When in FLY mode, it is required to process this by external component +# when provided position array is updated (Macro(POS_ARR_RBV_PV)) + +record(calc, "$(DEVICE,recursive):$(SCAN_EF,undefined)-NORD_POS") +{ + field(CALC, "A = 2 ? B : C") + + field(INPA, "$(DEVICE,recursive):$(SCAN_EF,undefined).P4SM") + + field(INPB, "0") + field(INPC, "$(DEVICE,recursive):$(SCAN_EF,undefined).CPT CP") + +} + + +# File : scanTRCtrl.template +# Author: Rok Stefanic <rok.stefanic@cosylab.com> +# Modified: Alexander Soderqvist <alexander.soderqvist@cosylab.com> + +# This template implements all necessary logic for acquiring timestamps on received +# timing events which generate HW triggers used by the positioner and detector. +# + +# Macro: +# TR_TLTSEL Full name of the record which holds the time-stamp of the +# HW trigger generation on the timing receiver. +# Example: DTL-Ctrl:TR-01:ACT-TL3-EV5-RBV.TIME + +# It also requires a forward link to signal when to store the timestamp. +# The forward link should be direct to SAVE_TS record and is commonly set +# from DAQDetTrigger done signal for one dimensional scans. +# On two dimensional scan the outer scan's SAVE_TS record can be forward linked +# from an after scan link on the inner scan. And TR_TLTSEL can be set to TS_START +# from the inner scan. + +# Record converts the time-stamp of HW trigger generation +# on timing receiver trigger line output + +record(stringin, "$(DEVICE,recursive):$(SCAN_EF,undefined)-TS") +{ + field(DTYP, "Soft Timestamp" ) + field(TSEL, "$(TR_TLTSEL,recursive)" ) + field(INP, "@%Y-%m-%d %H:%M:%S.%09f" ) + + field(FLNK, "$(DEVICE,recursive):$(SCAN_EF,undefined)-TS_ARRAY_CONCAT") +} + + +# aSub routine concatenates all incoming time-stamps to an array + +record(aSub, "$(DEVICE,recursive):$(SCAN_EF,undefined)-TS_ARRAY_CONCAT") +{ + field(DESC, "Concatenate time-stamps") + field(INAM, "concatTSArrayInit") + field(SNAM, "concatTSArrayProcess") + + field(FTA, "STRING") + field(INPA, "$(DEVICE,recursive):$(SCAN_EF,undefined)-TS.VAL NPP") + + field(FTB, "LONG") + field(INPB, "$(DEVICE,recursive):$(SCAN_EF,undefined).CPT NPP") + + field(NOVA, "$(MAX_POINTS_EF,undefined)") + field(FTVA, "STRING") + field(OUTA, "$(DEVICE,recursive):$(SCAN_EF,undefined)-TS_ARR.VAL PP") + + field(FLNK, "$(DEVICE,recursive):$(SCAN_EF,undefined)-TS_START_") +} + + +# Internal record to determine if trigger is the first +# trigger of the current scan. If so, then record +# -TS_START will be processed which will holed +# the time-stamp when the scan was started. +# Time-stamp is obtained directly from the timing +# receiver (time when the timing event was received +# and HW trigger signal was generated) + +record(calcout, "$(DEVICE,recursive):$(SCAN_EF,undefined)-TS_START_") +{ + field(DESC, "Process ts of first trigger") + field(CALC, "A = 0 ? 0 : 1") + + field(INPA, "$(DEVICE,recursive):$(SCAN_EF,undefined).CPT NPP") + + field(DOPT, "Use OCAL") + field(OOPT, "When Zero") + field(OCAL, "1") + + field(OUT, "$(DEVICE,recursive):$(SCAN_EF,undefined)-TS_START.PROC PP") +} + + +# Record is processed when the first timing event is +# received - generating the first HW trigger signal +# in the timing receiver. This time-stamp is the actual +# time when scan started. + +record(longin, "$(DEVICE,recursive):$(SCAN_EF,undefined)-TS_START") +{ + field(DESC, "TS of first trigger") + field(MDEL, "-1") + + field(TSEL, "$(DEVICE,recursive):$(SCAN_EF,undefined)-TS.TIME") +} + + +# Array containing all time-stamps gathered during the scan + +record(waveform, "$(DEVICE,recursive):$(SCAN_EF,undefined)-TS_ARR") +{ + field(NELM, "$(MAX_POINTS_EF,undefined)") + field(FTVL, "STRING") +} + + +# Trigger end of scan timestamp read-back array to be stored. +record(bi, "$(DEVICE,recursive):$(SCAN_EF,undefined)-EOS_TS_RBV") +{ + field(INP, "$(DEVICE,recursive):$(SCAN_EF,undefined).DATA CP") + field(FLNK, "$(DEVICE,recursive):$(SCAN_EF,undefined)-TS_ARR_RBV") +} + + +# Store acquired time-stamps when scan is finished +# NOTE: this record will not be updated during the scan! + +record(waveform, "$(DEVICE,recursive):$(SCAN_EF,undefined)-TS_ARR_RBV") +{ + field(DISV, "0") + field(SDIS, "$(DEVICE,recursive):$(SCAN_EF,undefined)-EOS_TS NPP") + + field(NELM, "$(MAX_POINTS_EF,undefined)") + field(FTVL, "STRING") + + field(INP, "$(DEVICE,recursive):$(SCAN_EF,undefined)-TS_ARR") + + # Set the time of the record to the beginning of the scan + # (time of the first timing trigger) + field(TSEL, "$(DEVICE,recursive):$(SCAN_EF,undefined)-TS_START.TIME") +} + +# Record that MUST be processed once acquisition on the detector is triggered +# acquisition ends. It is necessary that DAQ functions in blocking mode, +# where this process is processed when DAQ finishes and unblocks. +# The record will trigger saving the time-stamp into the internal time-stamp array. +# +# The record will not be processed when the scan is not active. +# This enables the inner scan to be performed without affecting the outter scan +# in a setup of 2D scan. + +record(fanout, "$(DEVICE,recursive):$(SCAN_EF,undefined)-SAVE_TS") +{ + field(DESC, "Save timestamp") + + # Disable record processing if the scan component is not active + # The case for this is in 2D scans and the inner scan is executed. + # Without this guard, time-stamps from the inner scan component would + # be appended to the array. + + field(DISV, "0") + field(SDIS, "$(DEVICE,recursive):$(SCAN_EF,undefined).BUSY NPP") + + field(LNK1, "$(DEVICE,recursive):$(SCAN_EF,undefined)-TS") +} +# File : scanTRDetTrig.template +# Author: Alexander Soderqvist <alexander.soderqvist@cosylab.com> + +# The purpose of this template is to provide an interface to the ESS timing receiver. +# The actual timing receiver logic still has to be provided by an external component, +# which can be found in the trAction.template of the timing receiver support. +# +# It also handles auto abort for fly scan which is related to turning of +# trigger lines at the correct moment to assure conformity in positioner and data points. +# +# This template is not meant to be used as a stand-alone component but together with scanGeneric.template. + +# Controls trigger generation on trigger liens on the timing receiver. +# +# +# MACRO: +# TR_TL1 Record Name of the TR record responsible to control the output +# Example: DTL-Ctrl:TR-01:ACT-TL3-EV5 +# And TR_TL2 and TR_TL3 for controlling more trigger lines. +# +# TL_ENBL_VAL Value written to enable reaction to events on triggler line. +# TL_DIS_VAL Value written to disable reaction to events on triggler line. + + +# INTERFACE SSCAN record detector trigger: +# Detects the first detector trigger issued by SSCAN record (when <SSCAN>.CPT == 0) +# And activate trigger lines +record(calc, "$(DEVICE,recursive):$(SCAN_EF,undefined)-TRTRG") +{ + field(DESC, "Detects first detector trigger") + field(CALC, "A = 0 ? 1 : 2") + + field(INPA, "$(DEVICE,recursive):$(SCAN_EF,undefined).CPT NPP") + + field(FLNK, "$(DEVICE,recursive):$(SCAN_EF,undefined)-OPSEL") +} + +record(seq, "$(DEVICE,recursive):$(SCAN_EF,undefined)-OPSEL") +{ + field(SELM, "Specified") + field(SELL, "$(DEVICE,recursive):$(SCAN_EF,undefined)-TRTRG") + + # Enable trigger lines + field(DO1, "1") + field(LNK1, "$(DEVICE,recursive):$(SCAN_EF,undefined)-TR_TLCTRL.VAL PP") + + # Else dact trigger lines + field(DO2, "1") + field(LNK2, "$(DEVICE,recursive):$(SCAN_EF,undefined)-DACT_TR.PROC PP") +} + +# INTERNAL RECORD & INTERFACE SCAN GENERIC: +# Control Trigger lines reaction to event +# "Simultaneosly" enable/disable reaction to events on multiple trigger lines. +# Note that this might be a hack. The timing receiver has to support doing this otherwise +# we have a race condition, even though it seems unlikely to actually happen. +# This will however only happen for fly scans. +record(dfanout, "$(DEVICE,recursive):$(SCAN_EF,undefined)-TR_TLCTRL") +{ + field(DESC, "Enable/disable TR output") + field(OMSL, "supervisory") + + field(OUTA, "$(TR_TL,undefined) PP") + field(OUTB, "") + field(OUTC, "") +} + +# INTERNAL RECORD: +# Deactivate trigger lines for fly scans when number of points +# is reached or the positioner is done moving. +record(calcout, "$(DEVICE,recursive):$(SCAN_EF,undefined)-DACT_TR") +{ + field(DESC, "Deactivate TR trigger lines") + field(CALC, "A = 2 && (B = 1 || C = D) ? 0 : 1") + field(INPA, "$(DEVICE,recursive):$(SCAN_EF,undefined).P4SM NPP") + field(INPB, "0") + field(INPC, "$(DEVICE,recursive):$(SCAN_EF,undefined).CPT NPP") + field(INPD, "$(DEVICE,recursive):$(SCAN_EF,undefined).NPTS NPP") + + field(OCAL, "0") + field(OOPT, "When Zero") + field(DOPT, "Use OCAL") + field(OUT, "$(DEVICE,recursive):$(SCAN_EF,undefined)-TR_TLCTRL PP") +# Trigger Auto abort + field(FLNK, "$(DEVICE,recursive):$(SCAN_EF,undefined)-AUTOABORT") +} + +# INTERNAL RECORD: +# If triggler lines were deactivated and positioner is done moving +# trigger auto abort links to finish the scan. To avoid waiting for NPTS to be collected. +record(calcout, "$(DEVICE,recursive):$(SCAN_EF,undefined)-AUTOABORT") +{ + field(DESC, "Auto abort fly scans") + field(CALC, "A = 0 && B = 1 ? 0 : 1") + field(INPA, "$(DEVICE,recursive):$(SCAN_EF,undefined)-DACT_TR NPP") + field(INPB, "0") + field(OOPT, "When Zero") + + field(OUT, "$(DEVICE,recursive):$(SCAN_EF,undefined)-AUTOABLNK.PROC PP") +} + +# Auto abort links. +# Abort scan and execute user defined links for any other things +# that needs to be finsihsed or reset. +record(seq, "$(DEVICE,recursive):$(SCAN_EF,undefined)-AUTOABLNK") +{ + field(DLY1, "0.1") + field(DO1, "0") + field(LNK1, "$(DEVICE,recursive):$(SCAN_EF,undefined).EXSC NPP") + + field(DLY2, "0.1") + field(DO2, "") + field(LNK2, "") + + field(DLY3, "0.1") + field(DO3, "") + field(LNK3, "") + +} +# scanDetTrig.template +# Author: Alexander Soderqvist <alexander.soderqvist@esss.se> +# +# Template containing generic detector trigger logic. +# This is not a standalone component. +# It is Intended to use with DAQ specific logic, for example +# scanDetTrigNDSDAQSupp.template, as a detector trigger on sScan record. +# +# Support for a detector trigger is implemented with a one record interface: +# $(DEVICE,recursive):DAQTRG-ACQ_CTRL. Writing zero to this has to stop acquistion and +# writing 1 to this has to start acquistion. + + +# SSCAN DETECTOR TRIGGER INTERFACE: +# 1. Writes number of acqusitions to a user definable PV. +# 2. Set detector trigger as busy. +# 3. Triggers activate acquisition + +record(seq, "$(DEVICE,recursive):DAQTRG-TRG") +{ + field(DO1, "1") + field(LNK1, "$(DEVICE,recursive):DAQTRG-BUSY PP") + + field(DO2, "1") + field(LNK2, "$(DEVICE,recursive):DAQTRG-ACT_ACQ.PROC PP") + +} + +# INTERFACE DAQ DETECTOR TRIGGER SUPPORT: +# Activates acqusition on the DAQ device. +# When at the first point in the scan always activate. +# When positioner is not in FLY mode always activate. +record(calcout, "$(DEVICE,recursive):DAQTRG-ACT_ACQ") +{ + field(DESC, "Detects first detector trigger") + field(CALC, "A = 0 || B # 1 ? 0 : 1") + + field(INPA, "$(DEVICE,recursive):$(SCAN_EF,undefined).CPT NPP") + field(INPB, "$(DEVICE,recursive):$(SCAN_EF,undefined).P4SM NPP") + + field(DOPT, "Use OCAL") + field(OOPT, "When Zero") + field(OCAL, "2") + + field(OUT, "$(DEVICE,recursive):DAQTRG-ACQ_CTRL_ PP") +} + +# INTERNAL RECORD: +# Triggers start or stop of acquisition message to be sent. +# Write 1 starts acquisiton and 0 stops acquistion + +record(mbbi, "$(DEVICE,recursive):DAQTRG-ACQ_CTRL_") +{ + field(FLNK, "$(DEVICE,recursive):DAQTRG-ACQ_CTRL") + field(ONST, "Acq. stopped") + field(ONVL, "1") + field(TWST, "Acq. started") + field(TWVL, "2") +} + +# INTERFACE DAQ DEVICE +# Starts acqusition when ACQ_CTRL_ is 2 and stop when 1. + +record(sseq, "$(DEVICE,recursive):DAQTRG-ACQ_CTRL") +{ + field(SELM, "Specified") + field(SELL, "$(DEVICE,recursive):DAQTRG-ACQ_CTRL_") + + field(DO1, "") + field(STR1, "ON") + field(LNK1, "$(DAQNDSPREFIX,undefined):AI-STAT PP") + + field(DO2, "") + field(STR2, "RUNNING") + field(LNK2, "$(DAQNDSPREFIX,undefined):AI-STAT PP") +} + + +# SSCAN DETECTOR TRIGGER INTERFACE: +# Signals busy while being 1 and signals completion when going 1 to 0. + +record(busy, "$(DEVICE,recursive):DAQTRG-BUSY") +{ +} + + +# SCAN GENERIC INTERFACE and INTERNAL RECORD: +# Fanout with Macro that is used to trigger saving of timestamps and DAQ data rdy. +# Set busy to 0 to signal to SScan that DAQ data is ready. + +record(seq, "$(DEVICE,recursive):DAQTRG-RDY") +{ + field(DO1, "1") + field(DO2, "0") + + # Notify scanTSarray component that acquisition is done and + # timestamp can be saved. + # + # This is a necessary action needed to be done by the detector control! + field(LNK1, "$(DEVICE,recursive):$(SCAN_EF,undefined)-SAVE_TS.PROC PP") + + field(LNK2, "$(DEVICE,recursive):DAQTRG-BUSY PP") +} + +# DETECTOR INTERFACE: +# Process its output link when all detectors are done. +# Each detector's compress record has a forward link to this record. + +record(calc, "$(DEVICE,recursive):DAQTRG-DETCNT") +{ + field(CALC, "C = 1 ? A % B + 1 : 0") + field(INPA, "$(DEVICE,recursive):DAQTRG-DETCNT.VAL NPP") + field(INPB, "3") + field(INPC, "$(DEVICE,recursive):DAQTRG-BUSY.VAL NPP") + field(FLNK, "$(DEVICE,recursive):DAQTRG-DETRDY NPP") +} + +# DAQ state Guard: +# Note that if the DAQ state pv is used, there has to be a forward link +# from the state record to this record. +record(calcout, "$(DEVICE,recursive):DAQTRG-DAQSTGUARD") +{ + field(CALC, "A = B & C = 1 ? 0 : 1") + field(INPA, "$(DAQNDSPREFIX,undefined):AI-STAT-RB") + field(INPB, "4") + field(INPC, "$(DEVICE,recursive):DAQTRG-BUSY PP") + field(OOPT, "When Zero") + field(OUT, "$(DEVICE,recursive):DAQTRG-DETRDY.PROC PP") + +} + +# INTERNAL RECORD: +# Trigger RDY_FOUT record when all detectors has fired their forwards links. +# Also check that DAQ is in the right state to be armed again, +# so next iteration can be started immediatley. If macros are unset their +# default values will ignore it and only count detectors ready. +record(calcout, "$(DEVICE,recursive):DAQTRG-DETRDY") +{ + field(CALC, "A = B & C = D ? 0 : 1") + field(INPA, "$(DEVICE,recursive):DAQTRG-DETCNT NPP") + field(INPB, "3") + field(INPC, "$(DAQNDSPREFIX,undefined):AI-STAT-RB") + field(INPD, "4") + field(OOPT, "When Zero") + field(OUT, "$(DEVICE,recursive):DAQTRG-RDY.PROC PP") + +} + +# INTERFACE SCAN GENERIC: +# Resets the detecor trigger when a scan is aborted. +# Issues an event which lets all detectors reset as well. +# DAQ support's ACQ_CTRL record has to stop acqusition when +# writing 0 to it. + +record(seq, "$(DEVICE,recursive):DAQTRG-RST") +{ + field(DO1, "0") + field(DO2, "1") + field(DO3, "1") + + field(LNK1, "$(DEVICE,recursive):DAQTRG-BUSY.VAL PP") + field(LNK2, "$(DEVICE,recursive):DAQTRG-ACQ_CTRL_.VAL PP") + field(LNK3, "$(DEVICE,recursive):DAQTRG-DETCNT.PROC PP") + field(FLNK, "$(DEVICE,recursive):DAQTRG-RSTDET") +} + +# DETECTOR INTERFACE and SCAN GENERIC +# This reset event for detectors used for when scan is aborted. + +record(event, "$(DEVICE,recursive):DAQTRG-RSTDET") +{ + field(VAL, "55") +} +# scanDet.template +# Author: Alexander Soderqvist <alexander.soderqvist@esss.se> +# +# Generic detector for scan. +# Used with scanDetTrig.template in generic scanning. +# NOT SUPPOSED be used as a stand alone Component + + +# DAQ INTERFACE: +# Guard to avoid processing unless detector trigger on SSCAN notified busy +# This is the record where the DAQ input channels forward link should be set to. + +record(calcout, "$(DEVICE,recursive):DET1-GUARD") +{ + field(CALC, "A") + field(INPA, "$(DEVICE,recursive):DAQTRG-BUSY.VAL NPP") + + field(OOPT, "When Non-zero") + field(DOPT, "Use OCAL") + field(OCAL, "1") + field(OUT, "$(DEVICE,recursive):DET1-PULSCNT.PROC PP") +} + +# INTERNAL RECORD: +# Incoming pulse acqusition counter + +record(calcout, "$(DEVICE,recursive):DET1-PULSCNT") +{ + field(CALC, "C = 1 ? (A % ABS(B)) + 1 : 0") + field(INPA, "$(DEVICE,recursive):DET1-PULSCNT NPP") + field(INPB, "$(DAQNDSPREFIX,undefined):AI-TRGR-RB NPP") + field(INPC, "$(DEVICE,recursive):DAQTRG-BUSY.VAL NPP") + + field(OOPT, "When Non-zero") + field(DOPT, "Use OCAL") + field(OCAL, "1") + + field(OUT, "$(DEVICE,recursive):DET1-TRGCOMP.PROC PP") +} + +# INTERNAL RECORD: +# Trigger compression of waveform record. +# This can be combined with averaging, in that case it should first trigger averaging +# of the summarized waveform and then compression is triggered from that record. + +record(calcout, "$(DEVICE,recursive):DET1-TRGCOMP") +{ + field(CALC, "A = ABS(B) ? 0 : 1") + field(INPA, "$(DEVICE,recursive):DET1-PULSCNT NPP") + field(INPB, "$(DAQNDSPREFIX,undefined):AI-TRGR-RB NPP") + field(OOPT, "When Zero") + field(OUT, "$(DEVICE,recursive):DET1-COMPN.PROC PP") +} + +# DETECTOR TRIGGER INTERFACE: +# Set compress record to averageover N elements. +# This should be Number of samples from the data acqusition device. +# There has to be a forward link to this record for nsampels setting on DAQ. + +record(seq, "$(DEVICE,recursive):DET1-COMPN") +{ + field(DOL1, "$(DAQNDSPREFIX,undefined):$(DET1WF,undefined).NORD") + field(LNK1, "$(DEVICE,recursive):DET1-COMP.N") + field(FLNK, "$(DEVICE,recursive):DET1-COMP") +} + +# DETECTOR TRIGGER and sSCAN DETECTOR INTERFACE: +# Averages DAQ DATA array to a scalar value. +# Holds scalar value which should be referenced to by sscan's detector. + +record(compress, "$(DEVICE,recursive):DET1-COMP") +{ + field(ALG, "N to 1 Average") + field(INP, "$(DAQNDSPREFIX,undefined):$(DET1WF,undefined)") + field(N, "$(DAQBUFSIZE,undefined)") + field(FLNK, "$(DEVICE,recursive):DAQTRG-DETCNT") +} + + + +# DETECTOR TRIGGER INTERFACE: +# Resets detectors pulse counter when an abort is issued. + +record(bo, "$(DEVICE,recursive):DET1-RSTABORT") +{ + field(SCAN, "Event") + field(EVNT, "55") + field(FLNK, "$(DEVICE,recursive):DET1-PULSCNT") +} + +# DAQ INTERFACE: +# Reset puls counter if Trigger repeat on DAQ changes + +record(longin, "$(DEVICE,recursive):DET1-RSTTRGRCHG") +{ + field(INP, "$(DAQNDSPREFIX,undefined):AI-TRGR-RB CP") + field(FLNK, "$(DEVICE,recursive):DET1-PULSCNT") +}# scanDet.template +# Author: Alexander Soderqvist <alexander.soderqvist@esss.se> +# +# Generic detector for scan. +# Used with scanDetTrig.template in generic scanning. +# NOT SUPPOSED be used as a stand alone Component + + +# DAQ INTERFACE: +# Guard to avoid processing unless detector trigger on SSCAN notified busy +# This is the record where the DAQ input channels forward link should be set to. + +record(calcout, "$(DEVICE,recursive):DET2-GUARD") +{ + field(CALC, "A") + field(INPA, "$(DEVICE,recursive):DAQTRG-BUSY.VAL NPP") + + field(OOPT, "When Non-zero") + field(DOPT, "Use OCAL") + field(OCAL, "1") + field(OUT, "$(DEVICE,recursive):DET2-PULSCNT.PROC PP") +} + +# INTERNAL RECORD: +# Incoming pulse acqusition counter + +record(calcout, "$(DEVICE,recursive):DET2-PULSCNT") +{ + field(CALC, "C = 1 ? (A % ABS(B)) + 1 : 0") + field(INPA, "$(DEVICE,recursive):DET2-PULSCNT NPP") + field(INPB, "$(DAQNDSPREFIX,undefined):AI-TRGR-RB NPP") + field(INPC, "$(DEVICE,recursive):DAQTRG-BUSY.VAL NPP") + + field(OOPT, "When Non-zero") + field(DOPT, "Use OCAL") + field(OCAL, "1") + + field(OUT, "$(DEVICE,recursive):DET2-TRGCOMP.PROC PP") +} + +# INTERNAL RECORD: +# Trigger compression of waveform record. +# This can be combined with averaging, in that case it should first trigger averaging +# of the summarized waveform and then compression is triggered from that record. + +record(calcout, "$(DEVICE,recursive):DET2-TRGCOMP") +{ + field(CALC, "A = ABS(B) ? 0 : 1") + field(INPA, "$(DEVICE,recursive):DET2-PULSCNT NPP") + field(INPB, "$(DAQNDSPREFIX,undefined):AI-TRGR-RB NPP") + field(OOPT, "When Zero") + field(OUT, "$(DEVICE,recursive):DET2-COMPN.PROC PP") +} + +# DETECTOR TRIGGER INTERFACE: +# Set compress record to averageover N elements. +# This should be Number of samples from the data acqusition device. +# There has to be a forward link to this record for nsampels setting on DAQ. + +record(seq, "$(DEVICE,recursive):DET2-COMPN") +{ + field(DOL1, "$(DAQNDSPREFIX,undefined):$(DET2WF,undefined).NORD") + field(LNK1, "$(DEVICE,recursive):DET2-COMP.N") + field(FLNK, "$(DEVICE,recursive):DET2-COMP") +} + +# DETECTOR TRIGGER and sSCAN DETECTOR INTERFACE: +# Averages DAQ DATA array to a scalar value. +# Holds scalar value which should be referenced to by sscan's detector. + +record(compress, "$(DEVICE,recursive):DET2-COMP") +{ + field(ALG, "N to 1 Average") + field(INP, "$(DAQNDSPREFIX,undefined):$(DET2WF,undefined)") + field(N, "$(DAQBUFSIZE,undefined)") + field(FLNK, "$(DEVICE,recursive):DAQTRG-DETCNT") +} + + + +# DETECTOR TRIGGER INTERFACE: +# Resets detectors pulse counter when an abort is issued. + +record(bo, "$(DEVICE,recursive):DET2-RSTABORT") +{ + field(SCAN, "Event") + field(EVNT, "55") + field(FLNK, "$(DEVICE,recursive):DET2-PULSCNT") +} + +# DAQ INTERFACE: +# Reset puls counter if Trigger repeat on DAQ changes + +record(longin, "$(DEVICE,recursive):DET2-RSTTRGRCHG") +{ + field(INP, "$(DAQNDSPREFIX,undefined):AI-TRGR-RB CP") + field(FLNK, "$(DEVICE,recursive):DET2-PULSCNT") +}# scanDet.template +# Author: Alexander Soderqvist <alexander.soderqvist@esss.se> +# +# Generic detector for scan. +# Used with scanDetTrig.template in generic scanning. +# NOT SUPPOSED be used as a stand alone Component + + +# DAQ INTERFACE: +# Guard to avoid processing unless detector trigger on SSCAN notified busy +# This is the record where the DAQ input channels forward link should be set to. + +record(calcout, "$(DEVICE,recursive):DET3-GUARD") +{ + field(CALC, "A") + field(INPA, "$(DEVICE,recursive):DAQTRG-BUSY.VAL NPP") + + field(OOPT, "When Non-zero") + field(DOPT, "Use OCAL") + field(OCAL, "1") + field(OUT, "$(DEVICE,recursive):DET3-PULSCNT.PROC PP") +} + +# INTERNAL RECORD: +# Incoming pulse acqusition counter + +record(calcout, "$(DEVICE,recursive):DET3-PULSCNT") +{ + field(CALC, "C = 1 ? (A % ABS(B)) + 1 : 0") + field(INPA, "$(DEVICE,recursive):DET3-PULSCNT NPP") + field(INPB, "$(DAQNDSPREFIX,undefined):AI-TRGR-RB NPP") + field(INPC, "$(DEVICE,recursive):DAQTRG-BUSY.VAL NPP") + + field(OOPT, "When Non-zero") + field(DOPT, "Use OCAL") + field(OCAL, "1") + + field(OUT, "$(DEVICE,recursive):DET3-TRGCOMP.PROC PP") +} + +# INTERNAL RECORD: +# Trigger compression of waveform record. +# This can be combined with averaging, in that case it should first trigger averaging +# of the summarized waveform and then compression is triggered from that record. + +record(calcout, "$(DEVICE,recursive):DET3-TRGCOMP") +{ + field(CALC, "A = ABS(B) ? 0 : 1") + field(INPA, "$(DEVICE,recursive):DET3-PULSCNT NPP") + field(INPB, "$(DAQNDSPREFIX,undefined):AI-TRGR-RB NPP") + field(OOPT, "When Zero") + field(OUT, "$(DEVICE,recursive):DET3-COMPN.PROC PP") +} + +# DETECTOR TRIGGER INTERFACE: +# Set compress record to averageover N elements. +# This should be Number of samples from the data acqusition device. +# There has to be a forward link to this record for nsampels setting on DAQ. + +record(seq, "$(DEVICE,recursive):DET3-COMPN") +{ + field(DOL1, "$(DAQNDSPREFIX,undefined):$(DET3WF,undefined).NORD") + field(LNK1, "$(DEVICE,recursive):DET3-COMP.N") + field(FLNK, "$(DEVICE,recursive):DET3-COMP") +} + +# DETECTOR TRIGGER and sSCAN DETECTOR INTERFACE: +# Averages DAQ DATA array to a scalar value. +# Holds scalar value which should be referenced to by sscan's detector. + +record(compress, "$(DEVICE,recursive):DET3-COMP") +{ + field(ALG, "N to 1 Average") + field(INP, "$(DAQNDSPREFIX,undefined):$(DET3WF,undefined)") + field(N, "$(DAQBUFSIZE,undefined)") + field(FLNK, "$(DEVICE,recursive):DAQTRG-DETCNT") +} + + + +# DETECTOR TRIGGER INTERFACE: +# Resets detectors pulse counter when an abort is issued. + +record(bo, "$(DEVICE,recursive):DET3-RSTABORT") +{ + field(SCAN, "Event") + field(EVNT, "55") + field(FLNK, "$(DEVICE,recursive):DET3-PULSCNT") +} + +# DAQ INTERFACE: +# Reset puls counter if Trigger repeat on DAQ changes + +record(longin, "$(DEVICE,recursive):DET3-RSTTRGRCHG") +{ + field(INP, "$(DAQNDSPREFIX,undefined):AI-TRGR-RB CP") + field(FLNK, "$(DEVICE,recursive):DET3-PULSCNT") +}############################################# +############## ANGLE MAX #################### +############################################# + +record(ao, "$(DEVICE,recursive):PROC-AngleMax-SP") { + field(FLNK,"$(DEVICE,recursive):PROC-VoltMax") + field(EGU, "mrad") +} + +record(calcout, "$(DEVICE,recursive):PROC-VoltMax") { + field(VAL, "0") + field(INPA,"$(DEVICE,recursive):PROC-AngleMax-SP") + field(INPB,"$(DEVICE,recursive):CALC-FactMRADtoV") + ### /1000 => conversion in 0/10V ### + field(CALC, "(A*B)/2000") + field(PREC, "4") + field(EGU,"kV") + field(OUT,"$(DEVICE,recursive):PROC-VoltMax-SP PP") +} + +record(dfanout,"$(DEVICE,recursive):PROC-VoltMax-SP"){ + field(OUTA,"$(DEVICE,recursive):$(SCAN_EF,recursive).P1EP PP") + field(OUTB,"$(DEVICE,recursive):$(SCAN_EF,recursive).P4SP PP") +} + +############################################# +############ ANGLE MIM ###################### +############################################# + +record(ao, "$(DEVICE,recursive):PROC-AngleMin-SP") { + field(FLNK,"$(DEVICE,recursive):PROC-VoltMin") + field(EGU, "mrad") +} + +record(calcout, "$(DEVICE,recursive):PROC-VoltMin") { + field(VAL, "0") + field(INPA,"$(DEVICE,recursive):PROC-AngleMin-SP") + field(INPB,"$(DEVICE,recursive):CALC-FactMRADtoV") + ### /1000 => conversion in 0/10V + field(CALC, "(A*B)/2000") + field(PREC, "4") + field(EGU,"kV") + field(OUT,"$(DEVICE,recursive):PROC-VoltMin-SP PP") +} + +record(dfanout,"$(DEVICE,recursive):PROC-VoltMin-SP"){ + field(OUTA,"$(DEVICE,recursive):$(SCAN_EF,recursive).P1SP PP") + field(OUTB,"$(DEVICE,recursive):$(SCAN_EF,recursive).P4EP PP") +} + +############################################# +############ ANGLE STP ###################### +############################################# + +record(calcout, "$(DEVICE,recursive):PROC-StepAngle") { + field(INPA,"$(DEVICE,recursive):PROC-AngleMax-SP CPP") + field(INPB,"$(DEVICE,recursive):PROC-AngleMin-SP CPP") + field(INPC,"$(DEVICE,recursive):$(SCAN_EF,recursive).NPTS CPP") + field(CALC,"(A-B)/C") + field(EGU, "mrad") + field(PREC, "3") +} + +############################################# +############ SIMULATION ##################### +############################################# +record(bo,"$(DEVICE,recursive):PROC-SIMU") { +field(ZNAM,"HARD") +field(ONAM,"SIMU") +} + +############################################ +############### Energy eV (U) ############## +############################################ +record(ao, "$(DEVICE,recursive):CALC-Energy-SP") +{ + field(DESC,"Energy eV (U)") + field(EGU, "eV") + field(DRVH, "100000") + field(DRVL, "0") + field(VAL,"95000") + field(PINI,"YES") + field(FLNK,"$(DEVICE,recursive):CALC-FuncCalcConv") +} +############################################ +## Distance Between Plates (d) ############# +############################################ +record(ao, "$(DEVICE,recursive):CALC-DistP-SP") +{ + field(DESC,"Distance Between Plates (d)") + field(EGU, "mm") + field(DRVH, "100") + field(DRVL, "0") + field(VAL,"9") + field(PINI,"YES") + field(FLNK,"$(DEVICE,recursive):CALC-FuncCalcConv") +} +############################################ +## Lenght plates(L) ######################## +############################################ +record(ao, "$(DEVICE,recursive):CALC-LenghP-SP") +{ + field(DESC,"Lenght plates(L)") + field(EGU, "mm") + field(DRVH, "100") + field(DRVL, "0") + field(VAL,"90") + field(PINI,"YES") + field(FLNK,"$(DEVICE,recursive):CALC-FuncCalcConv") +} + +############################################ +## Face Lenght plates(L1) ################## +############################################ +record(ao, "$(DEVICE,recursive):CALC-FacLenghP-SP") +{ + field(DESC,"Face Lenght plates(L1)") + field(EGU, "mm") + field(DRVH, "100") + field(DRVL, "0") + field(VAL,"10") + field(PINI,"YES") + field(FLNK,"$(DEVICE,recursive):CALC-FuncCalcConv") +} + +############################################ +## Rear Lenght plates(L3) ################## +############################################ +record(ao, "$(DEVICE,recursive):CALC-RearLenghP-SP") +{ + field(DESC,"Rear Lenght plates(L3)") + field(EGU, "mm") + field(DRVH, "100") + field(DRVL, "0") + field(VAL,"2") + field(PINI,"YES") + field(FLNK,"$(DEVICE,recursive):CALC-FuncCalcConv") +} + +######################################################################################## +## ## Function that compute the coefficient between MRAD and VOLTAGE) ################## +######################################################################################## +record(aSub, "$(DEVICE,recursive):CALC-FuncCalcConv") { +######### INPUTS ######### +## Energy eV (U) + field(FTA, "FLOAT") + field(NOA,1) + field(INPA, "$(DEVICE,recursive):CALC-Energy-SP") + +## Distance Between Plates (d) + field(FTB, "FLOAT") + field(NOB,1) + field(INPB, "$(DEVICE,recursive):CALC-DistP-SP") + +## Lenght plates(L) + field(FTC, "FLOAT") + field(NOC,1) + field(INPC, "$(DEVICE,recursive):CALC-LenghP-SP") + +##Face Lenght plates(L1) + field(FTD, "FLOAT") + field(NOD,1) + field(INPD, "$(DEVICE,recursive):CALC-FacLenghP-SP") + +## Rear Lenght plates(L3) + field(FTE, "FLOAT") + field(NOE,1) + field(INPE, "$(DEVICE,recursive):CALC-RearLenghP-SP") + +######### OUTPUTS ######### + field(FTVA, "FLOAT") + field(NOVA, "1") + field(OUTA, "$(DEVICE,recursive):CALC-FactVtoMRAD PP") + + field(FTVB, "FLOAT") + field(NOVB, "1") + field(OUTB, "$(DEVICE,recursive):CALC-FactMRADtoV PP") + +######### FUNCTION ####### + field(SNAM, "FACTOR_CONVERSION") +} + +############################################ +## Conversion factor for MRAD to V ######### +############################################ +record(ao, "$(DEVICE,recursive):CALC-FactMRADtoV") +{ + field(DESC,"Conv fact for MRAD to V)") + field(EGU, "V/mrad") + field(PREC, "4") +} + +############################################ +## Conversion factor for V to MRAD########## +############################################ +record(ao, "$(DEVICE,recursive):CALC-FactVtoMRAD") +{ + field(DESC,"Conv fact for V to MRAD)") + field(EGU, "mrad/V") + field(PREC, "4") +} + +########################################################################################### +########################## CREATE THE ANGLE WAVEFORM ###################################### +########################################################################################### + +## Function that compute the coefficient between MRAD and VOLTAGE +record(aSub, "$(DEVICE,recursive):CALC-BLDWFAngle") { +######### INPUTS ######### +## FACTOR CONVERSION VtoMRAD + field(FTA, "FLOAT") + field(NOA,1) + field(INPA, "$(DEVICE,recursive):CALC-FactVtoMRAD") + +## Plate volatge 1 Waveform (PS1) + field(FTB, "FLOAT") + field(NOB,$(DAQBUFSIZE,undefined)) + field(INPB, "$(DAQNDSPREFIX,undefined):AI-CH1-DATA") + +## Plate volatge 2 Waveform (PS2) + field(FTC, "FLOAT") + field(NOC,$(DAQBUFSIZE,undefined)) + field(INPC, "$(DAQNDSPREFIX,undefined):AI-CH2-DATA") + +## Plate volatge 1 average (PS1) + field(FTD, "FLOAT") + field(NOD,1) + field(INPD, "$(DEVICE,recursive):DET2-COMP") + +## Plate volatge 2 average (PS2) + field(FTE, "FLOAT") + field(NOE, "1") + field(INPE, "$(DEVICE,recursive):DET3-COMP") + +## Counter detector (cpt det) + field(FTE, "LONG") + field(NOE, "1") + field(INPE, "$(DEVICE,recursive):PS-NORD_POS CPP") + +######### OUTPUTS ######### +## ANGLE Waveform converted in MRAD (to save) + field(FTVA, "FLOAT") + field(NOVA, "$(DAQBUFSIZE,undefined)") + field(OUTA, "$(DEVICE,recursive):CALC-ANGLEwf PP") + +## ANGLE AVG value converted in VOLT + field(FTVB, "FLOAT") + field(NOVB, "1") + field(OUTB, "$(DEVICE,recursive):CALC-ANGLE PP") + +######### FUNCTION ####### + field(SNAM, "ANGLE_CALCUL") +} + +################ RESULTAT ANGLE ############## +## AVERAGE ANGLE +record(ao, "$(DEVICE,recursive):CALC-ANGLE") { +} + +## WAVEFORM ANGLE +record(waveform, "$(DEVICE,recursive):CALC-ANGLEwf") { + field(FTVL, "FLOAT") + field(NELM, "$(DAQBUFSIZE,undefined)") +} +## COMPRESS SCALARE VALUE +record(compress, "$(DEVICE,recursive):BUFF-DET1-COMP") { + field(NSAM, "80") + field(ALG,"Circular Buffer") + field(INP,"$(DEVICE,recursive):DET1-COMP CPP") + #field(SDIS,"$(MTRREC,recursive).MVON") + #field(DISV,"1") + } + +## Reset +record(bo,$(DEVICE,recursive):BUFF-DET1-RES-WF){ +} + +## WAVEFORM FINAL +record(waveform, "$(DEVICE,recursive):BUFF-CURRENT") { + field(FTVL, "FLOAT") + field(NELM, "10000") +} + +#################################################################### +########################## CREATE THE ANGLE WAVEFORM ############### +#################################################################### + +## Function that compute the coefficient between MRAD and VOLTAGE +record(aSub, "$(DEVICE,recursive):BUFF-DET1-FUNC") { +######### INPUTS ######### +## Waveform data + field(FTA, "FLOAT") + field(NOA,80) + field(INPA, "$(DEVICE,recursive):BUFF-DET1-COMP") + +## Waveform data reentrance + field(FTB, "FLOAT") + field(NOB,10000) + field(INPB,"$(DEVICE,recursive):BUFF-CURRENT") + +## Motor position // process the record after each position + field(FTC, "LONG") + field(NOC,1) + field(INPC,"$(DEVICE,recursive):$(SCAN_SLIT,recursive)-NORD_POS CPP") + +## Nb angle total + field(FTD, "LONG") + field(NOD, "1") + field(INPD, "$(DEVICE,recursive):$(SCAN_EF,recursive).NPTS") + +## Nb position total + field(FTE, "LONG") + field(NOE, "1") + field(INPE, "$(DEVICE,recursive):$(SCAN_SLIT,recursive).NPTS") + +## Reset + field(FTF, "LONG") + field(NOF, "1") + field(INPF, "$(DEVICE,recursive):BUFF-DET1-RES-WF CPP") + +######### OUTPUTS ######### +## ANGLE Waveform converted in MRAD (to save) + field(FTVA, "FLOAT") + field(NOVA, "10000") + field(OUTA, "$(DEVICE,recursive):BUFF-CURRENT PP") + +## RESET Compress + field(FTVB, "LONG") + field(NOVB, "1") + field(OUTB, "$(DEVICE,recursive):BUFF-DET1-COMP.RES PP") + +## RESET buttom + field(FTVC, "LONG") + field(NOVC, "1") + field(OUTC, "$(DEVICE,recursive):BUFF-DET1-RES-WF PP") + +######### FUNCTION ####### + field(SNAM, "CREATE_TAB") +} + +record(ao, "LNS-ISRC-010:PBI-EM:HVhor-SP") +{ + field(DESC, "Analog Output") + field(DTYP, "ecat2") + field(OUT, "s1.sm2.p1.e0") + field(LINR, "SLOPE") + field(EOFF, "0") + field(ESLO, "0.0003051850947599719") + field(EGU, "V") + field(PREC, "2") + field(DRVL, "-10") + field(DRVH, "10") +} + +record(ao, "LNS-ISRC-010:PBI-EM:HVver-SP") +{ + field(DESC, "Analog Output") + field(DTYP, "ecat2") + field(OUT, "s1.sm2.p2.e0") + field(LINR, "SLOPE") + field(EOFF, "0") + field(ESLO, "0.0003051850947599719") + field(EGU, "V") + field(PREC, "2") + field(DRVL, "-10") + field(DRVH, "10") +} + +record(ao, "SIMU:CURRENT-SP") +{ + field(DESC, "Analog Output") + field(DTYP, "ecat2") + field(OUT, "s1.sm2.p3.e0") + field(LINR, "SLOPE") + field(EOFF, "0") + field(ESLO, "0.0003051850947599719") + field(EGU, "V") + field(PREC, "2") + field(DRVL, "-10") + field(DRVH, "10") +} + +record(stringin, "LNS-ISRC-010:PBI-EM:EL4134-DTYP") +{ + field(DESC, "Module type (Not read from device)") + field(PINI, "YES") + field(VAL, "EL4134") +} + +record(bi, "LNS-ISRC-010:PBI-EM:EL4134-STATUS") +{ + field(DESC, "Slave status") + field(SCAN, "I/O Intr") + field(DTYP, "ecat2") + field(INP, "s1 STATUS_SLAVE_OP") + field(ZNAM, "Not OK") + field(ONAM, "OK") +} +#DEBUG +#sends ASCII string to pmac +record(stringout, "LNS-ISRC-010:PBI-EM:PMAC-ASK") { + field(DESC, "sends ASCII string to pmac") + field(OUT, "LNS-ISRC-010:PBI-EM:PMAC-ANSWER CP") + field(FLNK, "LNS-ISRC-010:PBI-EM:PMAC-ANSWER") +} +#receives ASCII string from pmac +record(stringin, "LNS-ISRC-010:PBI-EM:PMAC-ANSWER") { + field(DESC, "receives ASCII string from pmac") + field(DTYP, "stream") + field(INP, "@pmacVariables.proto sendString(LNS-ISRC-010:PBI-EM:PMAC-ASK) pmacLV") +} + +#get variables value from Geo Brick +record(ai, "LNS-ISRC-010_PBI-EM:VER-BRAKE_GET") { + field(DESC, "0: brake on, 1: brake off") + field(EGU, "boolean") + field(DTYP, "stream") + field(PREC, "0") + field(INP, "@pmacVariables.proto getVar(M33) pmacLV") + field(SCAN, "1 second") #I/O Intr +} +#set data to send to the Geo brick +record(bo, "LNS-ISRC-010_PBI-EM:VER-BRAKE_SET") { + field(DESC, "brake") + field(HIGH, "1") + field(VAL, "0") +} +#send the data to the Geo brick +record(calcout, "LNS-ISRC-010_PBI-EM:VER-BRAKE_WRITE") { + field(DESC, "send the data to PMAC") + field(DTYP, "stream") + field(CALC, "A") + field(INPA, "LNS-ISRC-010_PBI-EM:VER-BRAKE_SET CP") + field(OUT, "@pmacVariables.proto setVar(M33) pmacLV") +} diff --git a/builddir/db/EMU.substitutions b/builddir/db/EMU.substitutions new file mode 100644 index 0000000000000000000000000000000000000000..c4bfb22b9496e577b531f9cec56a087aaccf6cc0 --- /dev/null +++ b/builddir/db/EMU.substitutions @@ -0,0 +1,477 @@ +# File wireScanner.substitutions +# Author: Alexander Soderqvist <alexander.soderqvist@esss.se> +# +# Prototype allison scanner. Compilations of components from scanning module. +# + +########################################################################## +################################ OUTER SCAN: MOTOR ####################### +########################################################################## + +file "scanBase.db" +{ + pattern { + DEVICE, + SCAN, + MAX_POINTS, + +# INTERFACE POSITIONERS: 1 and 2. 3 is also available but not used here + POS1_SP_PV, + POS2_SP_PV, + +# INTERFACE MAIN POSITIONER, This positioner 4 on sscan to allow the other positioner to be used for configuration + POS_SP_PV, + POS_SCALAR_RBV_PV, + +# INTERFACE: TIMING RECEIVER + TR_TL1, + TR_TLTSEL, + +# INTERFACE: DETECTOR TRIGGERS, T1PV is take by timing receiver control + T1PV, + +# INTERFACE: DETECTORS, + D01PV, + +# INTERFACE: BEFORE, AFTER and ABORT scan links +# Before, after and abort scan links. Both for Step by step and on the fly. + +# General before and after scan links with data output, for both fly and step by step. + BS_LNK, + BS_DO, + AS_LNK, + AS_DO, + AB_LNK, + AB_DO, + + BF_STEP_LNK1, + BF_STEP_LNK2, + BF_STEP_DO1, + BF_STEP_DO2, + BF_STEP_FLNK, + + AF_STEP_LNK1, + AF_STEP_LNK2, + AF_STEP_DO1, + AF_STEP_DO2, + AF_STEP_FLNK, + + AB_STEP_LNK1, + AB_STEP_LNK2, + AB_STEP_DO1, + AB_STEP_DO2, + AB_STEP_FLNK + } + { + "$(DEVICE)", + "$(SCAN_SLIT)", + "$(MAX_POINTS_SLIT)", + +# INTERFACE POSITIONER: Motor record for a wirescanner + "$(MTRREC).ACCL", + "$(MTRREC).VELO", + +# INTERFACE MAIN POSITIONER: + "$(MTRREC).VAL", + "$(MTRREC).RBV", + +# INTERFACE: Timing receiver Action in ESS timing + "", + "$(DEVICE):$(SCAN_EF)-TS_START.TIME", + +# INTERFACE: Detector Trigger + "$(DEVICE):$(SCAN_EF).EXSC", + +# INTERFACE: Detectors. No detectors on Outer scan + "", + +# INTERFACE: BEFORE, AFTER and ABORT scan links + +# General links before scan + "$(MTRREC).SPMG", + "3", + +# General links after scan + "$(MTRREC).SPMG", + "1", + +# General links abort scan + "$(MTRREC).STOP PP", + "1", + + +# Before scan step by step links + "", + "", + "", + "", + "", + +# After scan step by step links + "", + "", + "", + "", + "", + +# Abort scan step by step links + "", + "", + "", + "", + "$(DEVICE):$(SCAN_EF)-ABORT" + + } + +} + +########################################################################## +################################ INNER SCAN: DAC ####################### +########################################################################## + +# INNER SCAN: Electrical field +file "scanBase.db" +{ + pattern { + DEVICE, + SCAN, + MAX_POINTS, + +# Power supply PS1 + POS_SP_PV, + POS_SCALAR_RBV_PV, + +# Power supply PS2 + POS1_SP_PV, + POS1_RBV_PV, + POS1_MODE, + +# INTERFACE: TIMING RECEIVER + TR_TL1, + TR_TLTSEL, + +# INTERFACE: DETECTOR TRIGGERS, T1PV is take by timing receiver control + T1PV, + +# INTERFACE: DETECTORS, + D01PV, + D02PV, + D03PV, + +# INTERFACE: BEFORE, AFTER and ABORT scan links +# Before, after and abort scan links. Both for Step by step and on the fly. + +# General before and after scan links with data output, for both fly and step by step. + BS_LNK, + BS_LNK_DO, + AS_LNK, + AS_LNK_DO, + AB_LNK, + AB_DO, + + BF_STEP_LNK1, + BF_STEP_LNK2, + BF_STEP_LNK1_DO, + BF_STEP_LNK2_DO, + BF_STEP_FLNK, + + AF_STEP_LNK1, + AF_STEP_LNK2, + AF_STEP_LNK1_DO, + AF_STEP_LNK2_DO, + AF_STEP_FLNK, + + AB_STEP_LNK1, + AB_STEP_LNK2, + AB_STEP_LNK1_DO, + AB_STEP_LNK2_DO, + AB_STEP_FLNK + } + { + "$(DEVICE)", + "$(SCAN_EF)", + "$(MAX_POINTS_EF)", + +# PS1 POSITIONER INTERFACE + "$(PSU_SP)", + "$(PSU_RBV)", + + +# PS2 POSITIONER INTERFACE + "$(PSU2_SP)", + "$(PSU2_RBV)", + "LINEAR", + +# INTERFACE: Timing receiver Action in ESS timing + "$(TR_TL) PP", + "$(TR_TLTSEL)", + +# INTERFACE: Detector Trigger + "$(DEVICE):DAQTRG-TRG", + +# INTERFACE: Detectors + "$(DEVICE):DET1-COMP", + "$(DEVICE):DET2-COMP", + "$(DEVICE):DET3-COMP", + +# INTERFACE: BEFORE, AFTER and ABORT scan links + +# General links after scan + "", + "", + +# General links before scan + "", + "", + +# General links abort scan + "", + "", + +# Before scan step by step links + "", + "", + "", + "", + "", + +# After scan step by step links + "", + "", + "", + "", + "$(DEVICE):$(SCAN_SLIT)-SAVE_TS", + +# Abort scan step by step links + "$(DEVICE):DAQTRG-RST.PROC PP", + "", + "1", + "", + "" + + } + +} + + +########################################################################## +################################ OUTER SCAN: MOTOR ####################### +########################################################################## +# +# Detector trigger control +# + +file "scanDAQDetTrig.template" +{ + pattern { + DEVICE, + DETTRG, + + SCAN, + POS_NUM, + RSTEVENT, + + NDET, + + ACQ_STOP_LNK, + ACQ_STOP_STR, + + ACQ_START_LNK, + ACQ_START_STR, + + DAQ_DATA_RDY_FLNK, + + DAQ_STATE_PV, + DAQ_STATE_OKVALUE + } + { + "$(DEVICE)", + "DAQTRG" + + "$(SCAN_EF)", + "4", + "55", + + "3", + + "$(DAQNDSPREFIX):AI-STAT", + "ON", + + "$(DAQNDSPREFIX):AI-STAT", + "RUNNING", + + "$(DEVICE):$(SCAN_EF)-SAVE_TS", + + "$(DAQNDSPREFIX):AI-STAT-RB", + "4" + } +} + + +########################################################################## +################################ DETECTOR 1: Faraday CUP ################# +########################################################################## + +file "scanDAQDet.template" +{ + + pattern { + DEVICE, + DET, + + DETTRG, + RSTEVENT, + + NELM, + TRGRRBVREC, + WFSRCREC, + WFNORD + } + { + "$(DEVICE)", + "DET1", + + "DAQTRG", + "55" + + "$(DAQBUFSIZE)", + "$(DAQNDSPREFIX):AI-TRGR-RB", + "$(DAQNDSPREFIX):$(DET1WF)", + "$(DAQNDSPREFIX):$(DET1WF).NORD" + } +} + + +########################################################################## +################################ DETECTOR 2: PS1 ######################### +########################################################################## +file "scanDAQDet.template" +{ + + pattern { + DEVICE, + DET, + + DETTRG, + RSTEVENT, + + NELM, + TRGRRBVREC, + WFSRCREC, + WFNORD + } + { + "$(DEVICE)", + "DET2", + + "DAQTRG", + "55" + + "$(DAQBUFSIZE)", + "$(DAQNDSPREFIX):AI-TRGR-RB", + "$(DAQNDSPREFIX):$(DET2WF)", + "$(DAQNDSPREFIX):$(DET2WF).NORD" + } +} + +########################################################################## +################################ DETECTOR 3: PS2 ######################### +########################################################################## + +file "scanDAQDet.template" +{ + + pattern { + DEVICE, + DET, + + DETTRG, + RSTEVENT, + + NELM, + TRGRRBVREC, + WFSRCREC, + WFNORD + } + { + "$(DEVICE)", + "DET3", + + "DAQTRG", + "55" + + "$(DAQBUFSIZE)", + "$(DAQNDSPREFIX):AI-TRGR-RB", + "$(DAQNDSPREFIX):$(DET3WF)", + "$(DAQNDSPREFIX):$(DET3WF).NORD" + } +} + +########################################################################## +################################ PROCESS ################################ +########################################################################## +file EMU_PROCESS.template +{ +pattern {DEVICE, SCAN_EF} + {"$(DEVICE)","$(SCAN_EF)"} +} + +########################################################################## +################################ CALCUL ################################ +########################################################################## +file EMU_CALCUL.template +{ +pattern {DEVICE,DAQPREFIX,DET2WF,DET3WF,DET2,DET3,NELM,SCAN_EF} + {"$(DEVICE)","$(DAQNDSPREFIX)","AI-CH1-DATA","AI-CH2-DATA","DET2","DET3","$(DAQBUFSIZE)","PS"} +} + +########################################################################## +################################ BUFFER ################################## +########################################################################## +file EMU_BUFF_CHAN.template +{ +pattern {DEVICE,SIGNAL,SIGNAL2,NELM,NELM_COMP,SCAN_EF,SCAN_SLIT,MTRREC} + {"$(DEVICE)","DET1","CURRENT","10000","80","$(SCAN_EF)","$(SCAN_SLIT)","$(MTRREC)"} +} + + +########################################################################## +################################ ETHERCAT ################################ +########################################################################## +file ecat2el41xx.template +{ + pattern {PREFIX,CH_ID, SLAVE_IDX,PDO_IDX, EOFF, ESLO, DRVL, DRVH} + {"LNS-ISRC-010:PBI-EM","HVhor-SP", 1,1, 0, 0.0003051850947599719, -10, 10} + {"LNS-ISRC-010:PBI-EM","HVver-SP", 1,2, 0, 0.0003051850947599719, -10, 10} + {"SIMU","CURRENT-SP", 1,3, 0, 0.0003051850947599719, -10, 10} +} + +file ecat2slave.template +{ + pattern {PREFIX,DTYP,MOD_ID,SLAVE_IDX} + {"LNS-ISRC-010:PBI-EM","EL4134","EL4134",1} +} + +########################################################################## +################################ GEOBRICK - TEST ######################### +########################################################################## + +file EMU_PMAC-CONSOLE.template +{ +pattern {P, M, SPORT} + {LNS-ISRC-010,PBI-EM,pmacLV} +} + +file EMU_PMAC-GETBO.template +{ +pattern {P, M, NAME, DESC, EGU, VARIABLE, PREC, SCAN, SPORT} + {LNS-ISRC-010,PBI-EM, VER-BRAKE, "0: brake on, 1: brake off", boolean,M33, 0, "1 second", pmacLV} +} + +file EMU_PMAC-SETBO.template +{ +pattern {P, M, NAME, DESC, VAL, TIME, CALC, VARIABLE, SPORT} + {LNS-ISRC-010,PBI-EM, VER-BRAKE, "brake", 0, 1, A, M33, pmacLV} +} + + diff --git a/builddir/db/EMU_BUFF_CHAN.template b/builddir/db/EMU_BUFF_CHAN.template new file mode 100644 index 0000000000000000000000000000000000000000..6891a6c782d9011bcc830a663edbe18cc1a5ccd1 --- /dev/null +++ b/builddir/db/EMU_BUFF_CHAN.template @@ -0,0 +1,76 @@ +## COMPRESS SCALARE VALUE +record(compress, "$(DEVICE):BUFF-$(SIGNAL)-COMP") { + field(NSAM, "$(NELM_COMP)") + field(ALG,"Circular Buffer") + field(INP,"$(DEVICE):$(SIGNAL)-COMP CPP") + #field(SDIS,"$(MTRREC).MVON") + #field(DISV,"1") + } + +## Reset +record(bo,$(DEVICE):BUFF-$(SIGNAL)-RES-WF){ +} + +## WAVEFORM FINAL +record(waveform, "$(DEVICE):BUFF-$(SIGNAL2)") { + field(FTVL, "FLOAT") + field(NELM, "$(NELM)") +} + +#################################################################### +########################## CREATE THE ANGLE WAVEFORM ############### +#################################################################### + +## Function that compute the coefficient between MRAD and VOLTAGE +record(aSub, "$(DEVICE):BUFF-$(SIGNAL)-FUNC") { +######### INPUTS ######### +## Waveform data + field(FTA, "FLOAT") + field(NOA,$(NELM_COMP)) + field(INPA, "$(DEVICE):BUFF-$(SIGNAL)-COMP") + +## Waveform data reentrance + field(FTB, "FLOAT") + field(NOB,$(NELM)) + field(INPB,"$(DEVICE):BUFF-$(SIGNAL2)") + +## Motor position // process the record after each position + field(FTC, "LONG") + field(NOC,1) + field(INPC,"$(DEVICE):$(SCAN_SLIT)-NORD_POS CPP") + +## Nb angle total + field(FTD, "LONG") + field(NOD, "1") + field(INPD, "$(DEVICE):$(SCAN_EF).NPTS") + +## Nb position total + field(FTE, "LONG") + field(NOE, "1") + field(INPE, "$(DEVICE):$(SCAN_SLIT).NPTS") + +## Reset + field(FTF, "LONG") + field(NOF, "1") + field(INPF, "$(DEVICE):BUFF-$(SIGNAL)-RES-WF CPP") + +######### OUTPUTS ######### +## ANGLE Waveform converted in MRAD (to save) + field(FTVA, "FLOAT") + field(NOVA, "$(NELM)") + field(OUTA, "$(DEVICE):BUFF-$(SIGNAL2) PP") + +## RESET Compress + field(FTVB, "LONG") + field(NOVB, "1") + field(OUTB, "$(DEVICE):BUFF-$(SIGNAL)-COMP.RES PP") + +## RESET buttom + field(FTVC, "LONG") + field(NOVC, "1") + field(OUTC, "$(DEVICE):BUFF-$(SIGNAL)-RES-WF PP") + +######### FUNCTION ####### + field(SNAM, "CREATE_TAB") +} + diff --git a/builddir/db/EMU_CALCUL.template b/builddir/db/EMU_CALCUL.template new file mode 100644 index 0000000000000000000000000000000000000000..35da5d57d77dc59e46a10ac6b0cae0afc0406f47 --- /dev/null +++ b/builddir/db/EMU_CALCUL.template @@ -0,0 +1,193 @@ +############################################ +############### Energy eV (U) ############## +############################################ +record(ao, "$(DEVICE):CALC-Energy-SP") +{ + field(DESC,"Energy eV (U)") + field(EGU, "eV") + field(DRVH, "100000") + field(DRVL, "0") + field(VAL,"95000") + field(PINI,"YES") + field(FLNK,"$(DEVICE):CALC-FuncCalcConv") +} +############################################ +## Distance Between Plates (d) ############# +############################################ +record(ao, "$(DEVICE):CALC-DistP-SP") +{ + field(DESC,"Distance Between Plates (d)") + field(EGU, "mm") + field(DRVH, "100") + field(DRVL, "0") + field(VAL,"9") + field(PINI,"YES") + field(FLNK,"$(DEVICE):CALC-FuncCalcConv") +} +############################################ +## Lenght plates(L) ######################## +############################################ +record(ao, "$(DEVICE):CALC-LenghP-SP") +{ + field(DESC,"Lenght plates(L)") + field(EGU, "mm") + field(DRVH, "100") + field(DRVL, "0") + field(VAL,"90") + field(PINI,"YES") + field(FLNK,"$(DEVICE):CALC-FuncCalcConv") +} + +############################################ +## Face Lenght plates(L1) ################## +############################################ +record(ao, "$(DEVICE):CALC-FacLenghP-SP") +{ + field(DESC,"Face Lenght plates(L1)") + field(EGU, "mm") + field(DRVH, "100") + field(DRVL, "0") + field(VAL,"10") + field(PINI,"YES") + field(FLNK,"$(DEVICE):CALC-FuncCalcConv") +} + +############################################ +## Rear Lenght plates(L3) ################## +############################################ +record(ao, "$(DEVICE):CALC-RearLenghP-SP") +{ + field(DESC,"Rear Lenght plates(L3)") + field(EGU, "mm") + field(DRVH, "100") + field(DRVL, "0") + field(VAL,"2") + field(PINI,"YES") + field(FLNK,"$(DEVICE):CALC-FuncCalcConv") +} + +######################################################################################## +## ## Function that compute the coefficient between MRAD and VOLTAGE) ################## +######################################################################################## +record(aSub, "$(DEVICE):CALC-FuncCalcConv") { +######### INPUTS ######### +## Energy eV (U) + field(FTA, "FLOAT") + field(NOA,1) + field(INPA, "$(DEVICE):CALC-Energy-SP") + +## Distance Between Plates (d) + field(FTB, "FLOAT") + field(NOB,1) + field(INPB, "$(DEVICE):CALC-DistP-SP") + +## Lenght plates(L) + field(FTC, "FLOAT") + field(NOC,1) + field(INPC, "$(DEVICE):CALC-LenghP-SP") + +##Face Lenght plates(L1) + field(FTD, "FLOAT") + field(NOD,1) + field(INPD, "$(DEVICE):CALC-FacLenghP-SP") + +## Rear Lenght plates(L3) + field(FTE, "FLOAT") + field(NOE,1) + field(INPE, "$(DEVICE):CALC-RearLenghP-SP") + +######### OUTPUTS ######### + field(FTVA, "FLOAT") + field(NOVA, "1") + field(OUTA, "$(DEVICE):CALC-FactVtoMRAD PP") + + field(FTVB, "FLOAT") + field(NOVB, "1") + field(OUTB, "$(DEVICE):CALC-FactMRADtoV PP") + +######### FUNCTION ####### + field(SNAM, "FACTOR_CONVERSION") +} + +############################################ +## Conversion factor for MRAD to V ######### +############################################ +record(ao, "$(DEVICE):CALC-FactMRADtoV") +{ + field(DESC,"Conv fact for MRAD to V)") + field(EGU, "V/mrad") + field(PREC, "4") +} + +############################################ +## Conversion factor for V to MRAD########## +############################################ +record(ao, "$(DEVICE):CALC-FactVtoMRAD") +{ + field(DESC,"Conv fact for V to MRAD)") + field(EGU, "mrad/V") + field(PREC, "4") +} + +########################################################################################### +########################## CREATE THE ANGLE WAVEFORM ###################################### +########################################################################################### + +## Function that compute the coefficient between MRAD and VOLTAGE +record(aSub, "$(DEVICE):CALC-BLDWFAngle") { +######### INPUTS ######### +## FACTOR CONVERSION VtoMRAD + field(FTA, "FLOAT") + field(NOA,1) + field(INPA, "$(DEVICE):CALC-FactVtoMRAD") + +## Plate volatge 1 Waveform (PS1) + field(FTB, "FLOAT") + field(NOB,$(NELM)) + field(INPB, "$(DAQPREFIX):$(DET2WF)") + +## Plate volatge 2 Waveform (PS2) + field(FTC, "FLOAT") + field(NOC,$(NELM)) + field(INPC, "$(DAQPREFIX):$(DET3WF)") + +## Plate volatge 1 average (PS1) + field(FTD, "FLOAT") + field(NOD,1) + field(INPD, "$(DEVICE):$(DET2)-COMP") + +## Plate volatge 2 average (PS2) + field(FTE, "FLOAT") + field(NOE, "1") + field(INPE, "$(DEVICE):$(DET3)-COMP") + +## Counter detector (cpt det) + field(FTE, "LONG") + field(NOE, "1") + field(INPE, "$(DEVICE):$(SCAN_EF)-NORD_POS CPP") + +######### OUTPUTS ######### +## ANGLE Waveform converted in MRAD (to save) + field(FTVA, "FLOAT") + field(NOVA, "$(NELM)") + field(OUTA, "$(DEVICE):CALC-ANGLEwf PP") + +## ANGLE AVG value converted in VOLT + field(FTVB, "FLOAT") + field(NOVB, "1") + field(OUTB, "$(DEVICE):CALC-ANGLE PP") + +######### FUNCTION ####### + field(SNAM, "ANGLE_CALCUL") +} + +################ RESULTAT ANGLE ############## +## AVERAGE ANGLE +record(ao, "$(DEVICE):CALC-ANGLE") { +} + +## WAVEFORM ANGLE +record(waveform, "$(DEVICE):CALC-ANGLEwf") { + field(FTVL, "FLOAT") + field(NELM, "$(NELM)") +} diff --git a/builddir/db/EMU_PMAC-CONSOLE.template b/builddir/db/EMU_PMAC-CONSOLE.template new file mode 100644 index 0000000000000000000000000000000000000000..a2a11ddc690e6b957fc26fb56c18eb9d5b1a7b0b --- /dev/null +++ b/builddir/db/EMU_PMAC-CONSOLE.template @@ -0,0 +1,14 @@ +#DEBUG +#sends ASCII string to pmac +record(stringout, "$(P):$(M):PMAC-ASK") { + field(DESC, "sends ASCII string to pmac") + field(OUT, "$(P):$(M):PMAC-ANSWER CP") + field(FLNK, "$(P):$(M):PMAC-ANSWER") +} +#receives ASCII string from pmac +record(stringin, "$(P):$(M):PMAC-ANSWER") { + field(DESC, "receives ASCII string from pmac") + field(DTYP, "stream") + field(INP, "@pmacVariables.proto sendString($(P):$(M):PMAC-ASK) $(SPORT)") +} + diff --git a/builddir/db/EMU_PMAC-GETBO.template b/builddir/db/EMU_PMAC-GETBO.template new file mode 100644 index 0000000000000000000000000000000000000000..918032053d6cf733bf6b4aacbeca7e064a082a08 --- /dev/null +++ b/builddir/db/EMU_PMAC-GETBO.template @@ -0,0 +1,9 @@ +#get variables value from Geo Brick +record(ai, "$(P)_$(M):$(NAME)_GET") { + field(DESC, "$(DESC)") + field(EGU, "$(EGU)") + field(DTYP, "stream") + field(PREC, "$(PREC)") + field(INP, "@pmacVariables.proto getVar($(VARIABLE)) $(SPORT)") + field(SCAN, "$(SCAN)") #I/O Intr +} diff --git a/builddir/db/EMU_PMAC-SETBO.template b/builddir/db/EMU_PMAC-SETBO.template new file mode 100644 index 0000000000000000000000000000000000000000..bc26759cd4e9c78f33c7b1eb77131339ff973c46 --- /dev/null +++ b/builddir/db/EMU_PMAC-SETBO.template @@ -0,0 +1,14 @@ +#set data to send to the Geo brick +record(bo, "$(P)_$(M):$(NAME)_SET") { + field(DESC, "$(DESC)") + field(HIGH, "$(TIME)") + field(VAL, "$(VAL)") +} +#send the data to the Geo brick +record(calcout, "$(P)_$(M):$(NAME)_WRITE") { + field(DESC, "send the data to PMAC") + field(DTYP, "stream") + field(CALC, "$(CALC)") + field(INPA, "$(P)_$(M):$(NAME)_SET CP") + field(OUT, "@pmacVariables.proto setVar($(VARIABLE)) $(SPORT)") +} diff --git a/builddir/db/EMU_PROCESS.template b/builddir/db/EMU_PROCESS.template new file mode 100644 index 0000000000000000000000000000000000000000..3cbbb95f879b216ce4ac98af8c4d7f5e5c87767f --- /dev/null +++ b/builddir/db/EMU_PROCESS.template @@ -0,0 +1,71 @@ +############################################# +############## ANGLE MAX #################### +############################################# + +record(ao, "$(DEVICE):PROC-AngleMax-SP") { + field(FLNK,"$(DEVICE):PROC-VoltMax") + field(EGU, "mrad") +} + +record(calcout, "$(DEVICE):PROC-VoltMax") { + field(VAL, "0") + field(INPA,"$(DEVICE):PROC-AngleMax-SP") + field(INPB,"$(DEVICE):CALC-FactMRADtoV") + ### /1000 => conversion in 0/10V ### + field(CALC, "(A*B)/2000") + field(PREC, "4") + field(EGU,"kV") + field(OUT,"$(DEVICE):PROC-VoltMax-SP PP") +} + +record(dfanout,"$(DEVICE):PROC-VoltMax-SP"){ + field(OUTA,"$(DEVICE):$(SCAN_EF).P1EP PP") + field(OUTB,"$(DEVICE):$(SCAN_EF).P4SP PP") +} + +############################################# +############ ANGLE MIM ###################### +############################################# + +record(ao, "$(DEVICE):PROC-AngleMin-SP") { + field(FLNK,"$(DEVICE):PROC-VoltMin") + field(EGU, "mrad") +} + +record(calcout, "$(DEVICE):PROC-VoltMin") { + field(VAL, "0") + field(INPA,"$(DEVICE):PROC-AngleMin-SP") + field(INPB,"$(DEVICE):CALC-FactMRADtoV") + ### /1000 => conversion in 0/10V + field(CALC, "(A*B)/2000") + field(PREC, "4") + field(EGU,"kV") + field(OUT,"$(DEVICE):PROC-VoltMin-SP PP") +} + +record(dfanout,"$(DEVICE):PROC-VoltMin-SP"){ + field(OUTA,"$(DEVICE):$(SCAN_EF).P1SP PP") + field(OUTB,"$(DEVICE):$(SCAN_EF).P4EP PP") +} + +############################################# +############ ANGLE STP ###################### +############################################# + +record(calcout, "$(DEVICE):PROC-StepAngle") { + field(INPA,"$(DEVICE):PROC-AngleMax-SP CPP") + field(INPB,"$(DEVICE):PROC-AngleMin-SP CPP") + field(INPC,"$(DEVICE):$(SCAN_EF).NPTS CPP") + field(CALC,"(A-B)/C") + field(EGU, "mrad") + field(PREC, "3") +} + +############################################# +############ SIMULATION ##################### +############################################# +record(bo,"$(DEVICE):PROC-SIMU") { +field(ZNAM,"HARD") +field(ONAM,"SIMU") +} + diff --git a/builddir/db/set_bo_pmac.template b/builddir/db/set_bo_pmac.template new file mode 100644 index 0000000000000000000000000000000000000000..bc26759cd4e9c78f33c7b1eb77131339ff973c46 --- /dev/null +++ b/builddir/db/set_bo_pmac.template @@ -0,0 +1,14 @@ +#set data to send to the Geo brick +record(bo, "$(P)_$(M):$(NAME)_SET") { + field(DESC, "$(DESC)") + field(HIGH, "$(TIME)") + field(VAL, "$(VAL)") +} +#send the data to the Geo brick +record(calcout, "$(P)_$(M):$(NAME)_WRITE") { + field(DESC, "send the data to PMAC") + field(DTYP, "stream") + field(CALC, "$(CALC)") + field(INPA, "$(P)_$(M):$(NAME)_SET CP") + field(OUT, "@pmacVariables.proto setVar($(VARIABLE)) $(SPORT)") +} diff --git a/builddir/doc/README.md b/builddir/doc/README.md new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/builddir/misc/pmacVariables.proto b/builddir/misc/pmacVariables.proto new file mode 100644 index 0000000000000000000000000000000000000000..a8fbd0ffcd5d545d58065edea4b28f38452be050 --- /dev/null +++ b/builddir/misc/pmacVariables.proto @@ -0,0 +1,37 @@ +# Streams protocol file for the pmacStreams protocol +# Initial version NPR 04/2006 + +# use "streamReload" to reload this file without restarting the IOC + +ExtraInput = Ignore; +ReadTimeout = 500; +OutTerminator = ""; +InTerminator = ACK; +Separator = CR; + + +sendString +{ + out "%(\$1)s" CR; + in "%s"; +} + + +setVar +{ + out "\$1=%f" CR; + in; +} + +getVar +{ + out "\$1" CR; + in "%f"; +} + + + + + + + diff --git a/builddir/opi/EMU.opi b/builddir/opi/EMU.opi new file mode 100644 index 0000000000000000000000000000000000000000..cca7bdd172f317dd1dd8f7551f1b87e8f6e1e3d8 --- /dev/null +++ b/builddir/opi/EMU.opi @@ -0,0 +1,10635 @@ +<?xml version="1.0" encoding="UTF-8"?> +<display typeId="org.csstudio.opibuilder.Display" version="1.0.0"> + <show_close_button>true</show_close_button> + <rules /> + <wuid>3f06f9b8:152877ca726:-7d52</wuid> + <show_grid>true</show_grid> + <auto_zoom_to_fit_all>false</auto_zoom_to_fit_all> + <scripts /> + <height>1600</height> + <macros> + <include_parent_macros>true</include_parent_macros> + <DTACQ-NAME>DACQ</DTACQ-NAME> + <SIGNAL_FC>CurR</SIGNAL_FC> + <PREFIX_SIG>DACQ</PREFIX_SIG> + <PREFIX_MTR>PMAC</PREFIX_MTR> + <NAME_MTR>MTR</NAME_MTR> + <NAME_PS>PS</NAME_PS> + <PREFIX_PS>LNS-ISRC-010:PBI-EM:HV</PREFIX_PS> + <PREFIX_SCAN>SCAN</PREFIX_SCAN> + <SCAN>MOTOR</SCAN> + <P>SOURCE</P> + <M>EMITTANCE-METTER</M> + <PROC>PROC</PROC> + <CALC>CALC</CALC> + </macros> + <boy_version>4.0.103.201506251634</boy_version> + <show_edit_range>true</show_edit_range> + <widget_type>Display</widget_type> + <auto_scale_widgets> + <auto_scale_widgets>false</auto_scale_widgets> + <min_width>-1</min_width> + <min_height>-1</min_height> + </auto_scale_widgets> + <background_color> + <color red="240" green="240" blue="240" /> + </background_color> + <width>2510</width> + <x>-1</x> + <name></name> + <grid_space>6</grid_space> + <show_ruler>true</show_ruler> + <y>-1</y> + <snap_to_geometry>true</snap_to_geometry> + <foreground_color> + <color red="192" green="192" blue="192" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <widget typeId="org.csstudio.opibuilder.widgets.tab" version="1.0.0"> + <active_tab>0</active_tab> + <tooltip></tooltip> + <tab_3_icon_path></tab_3_icon_path> + <height>1165</height> + <tab_2_icon_path></tab_2_icon_path> + <border_width>1</border_width> + <border_color> + <color red="0" green="128" blue="255" /> + </border_color> + <tab_0_foreground_color> + <color red="0" green="0" blue="0" /> + </tab_0_foreground_color> + <actions hook="false" hook_all="false" /> + <tab_1_enabled>true</tab_1_enabled> + <border_style>0</border_style> + <enabled>true</enabled> + <wuid>2fea3147:153609206ed:-7766</wuid> + <tab_1_background_color> + <color red="255" green="255" blue="255" /> + </tab_1_background_color> + <tab_1_icon_path></tab_1_icon_path> + <tab_2_foreground_color> + <color red="0" green="0" blue="0" /> + </tab_2_foreground_color> + <tab_1_font> + <opifont.name fontName="Cantarell" height="11" style="0">Default</opifont.name> + </tab_1_font> + <tab_3_title>TREK6096E</tab_3_title> + <tab_2_enabled>true</tab_2_enabled> + <background_color> + <color red="240" green="240" blue="240" /> + </background_color> + <width>2491</width> + <x>18</x> + <horizontal_tabs>true</horizontal_tabs> + <y>102</y> + <rules /> + <tab_3_font> + <opifont.name fontName="Cantarell" height="11" style="0">Default</opifont.name> + </tab_3_font> + <macros> + <include_parent_macros>true</include_parent_macros> + </macros> + <visible>true</visible> + <tab_0_background_color> + <color red="255" green="255" blue="255" /> + </tab_0_background_color> + <tab_3_foreground_color> + <color red="0" green="0" blue="0" /> + </tab_3_foreground_color> + <widget_type>Tabbed Container</widget_type> + <tab_2_font> + <opifont.name fontName="Cantarell" height="11" style="0">Default</opifont.name> + </tab_2_font> + <tab_3_background_color> + <color red="255" green="255" blue="255" /> + </tab_3_background_color> + <tab_3_enabled>true</tab_3_enabled> + <name></name> + <minimum_tab_height>10</minimum_tab_height> + <tab_2_title>MOTOR</tab_2_title> + <tab_0_font> + <opifont.name fontName="Cantarell" height="11" style="0">Default</opifont.name> + </tab_0_font> + <tab_2_background_color> + <color red="255" green="255" blue="255" /> + </tab_2_background_color> + <tab_0_title>SCANNING</tab_0_title> + <tab_1_foreground_color> + <color red="0" green="0" blue="0" /> + </tab_1_foreground_color> + <tab_1_title>DTACQ</tab_1_title> + <scripts /> + <tab_count>4</tab_count> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <tab_0_icon_path></tab_0_icon_path> + <tab_0_enabled>true</tab_0_enabled> + <foreground_color> + <color red="192" green="192" blue="192" /> + </foreground_color> + <widget typeId="org.csstudio.opibuilder.widgets.groupingContainer" version="1.0.0"> + <border_style>0</border_style> + <tooltip></tooltip> + <rules /> + <enabled>true</enabled> + <wuid>-4f668e34:1537ecf193c:-7f8d</wuid> + <transparent>true</transparent> + <lock_children>false</lock_children> + <scripts /> + <height>1130</height> + <border_width>1</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <macros> + <include_parent_macros>true</include_parent_macros> + </macros> + <visible>true</visible> + <border_color> + <color red="0" green="128" blue="255" /> + </border_color> + <widget_type>Grouping Container</widget_type> + <background_color> + <color red="240" green="240" blue="240" /> + </background_color> + <width>2489</width> + <x>1</x> + <name>SCANNING</name> + <y>1</y> + <foreground_color> + <color red="192" green="192" blue="192" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <fc>false</fc> + <show_scrollbar>true</show_scrollbar> + <font> + <opifont.name fontName="Cantarell" height="11" style="0">Default</opifont.name> + </font> + <widget typeId="org.csstudio.opibuilder.widgets.RoundedRectangle" version="1.0.0"> + <border_style>0</border_style> + <forecolor_alarm_sensitive>false</forecolor_alarm_sensitive> + <line_width>0</line_width> + <horizontal_fill>true</horizontal_fill> + <alarm_pulsing>false</alarm_pulsing> + <tooltip>$(pv_name) +$(pv_value)</tooltip> + <rules /> + <enabled>true</enabled> + <wuid>1e771979:1565068c2e3:-4ace</wuid> + <transparent>false</transparent> + <pv_value /> + <alpha>255</alpha> + <corner_height>16</corner_height> + <bg_gradient_color> + <color red="255" green="255" blue="255" /> + </bg_gradient_color> + <scripts /> + <border_alarm_sensitive>false</border_alarm_sensitive> + <height>1099</height> + <border_width>1</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>true</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <pv_name></pv_name> + <gradient>false</gradient> + <border_color> + <color red="0" green="128" blue="255" /> + </border_color> + <anti_alias>true</anti_alias> + <corner_width>16</corner_width> + <line_style>0</line_style> + <widget_type>Rounded Rectangle</widget_type> + <fg_gradient_color> + <color red="255" green="255" blue="255" /> + </fg_gradient_color> + <backcolor_alarm_sensitive>false</backcolor_alarm_sensitive> + <background_color> + <color red="186" green="189" blue="182" /> + </background_color> + <width>349</width> + <x>29</x> + <name>Rounded Rectangle_5</name> + <y>12</y> + <fill_level>0.0</fill_level> + <foreground_color> + <color red="255" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <font> + <opifont.name fontName="Cantarell" height="11" style="0">Default</opifont.name> + </font> + <line_color> + <color red="128" green="0" blue="255" /> + </line_color> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.RoundedRectangle" version="1.0.0"> + <border_style>0</border_style> + <forecolor_alarm_sensitive>false</forecolor_alarm_sensitive> + <line_width>0</line_width> + <horizontal_fill>true</horizontal_fill> + <alarm_pulsing>false</alarm_pulsing> + <tooltip>$(pv_name) +$(pv_value)</tooltip> + <rules /> + <enabled>true</enabled> + <wuid>-16429ab9:158444d4181:-7ba7</wuid> + <transparent>false</transparent> + <pv_value /> + <alpha>255</alpha> + <corner_height>16</corner_height> + <bg_gradient_color> + <color red="255" green="255" blue="255" /> + </bg_gradient_color> + <scripts /> + <border_alarm_sensitive>false</border_alarm_sensitive> + <height>79</height> + <border_width>1</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <pv_name></pv_name> + <gradient>false</gradient> + <border_color> + <color red="0" green="128" blue="255" /> + </border_color> + <anti_alias>true</anti_alias> + <corner_width>16</corner_width> + <line_style>0</line_style> + <widget_type>Rounded Rectangle</widget_type> + <fg_gradient_color> + <color red="255" green="255" blue="255" /> + </fg_gradient_color> + <backcolor_alarm_sensitive>false</backcolor_alarm_sensitive> + <background_color> + <color name="Container Border Grey" red="150" green="150" blue="150" /> + </background_color> + <width>350</width> + <x>29</x> + <name>Rounded Rectangle</name> + <y>1038</y> + <fill_level>0.0</fill_level> + <foreground_color> + <color red="255" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <font> + <opifont.name fontName="Cantarell" height="11" style="0">Default</opifont.name> + </font> + <line_color> + <color red="128" green="0" blue="255" /> + </line_color> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.RoundedRectangle" version="1.0.0"> + <border_style>0</border_style> + <forecolor_alarm_sensitive>false</forecolor_alarm_sensitive> + <line_width>0</line_width> + <horizontal_fill>true</horizontal_fill> + <alarm_pulsing>false</alarm_pulsing> + <tooltip>$(pv_name) +$(pv_value)</tooltip> + <rules /> + <enabled>true</enabled> + <wuid>-16429ab9:1582e68df9a:-4223</wuid> + <transparent>false</transparent> + <pv_value /> + <alpha>255</alpha> + <corner_height>16</corner_height> + <bg_gradient_color> + <color red="255" green="255" blue="255" /> + </bg_gradient_color> + <scripts /> + <border_alarm_sensitive>false</border_alarm_sensitive> + <height>1099</height> + <border_width>1</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <pv_name></pv_name> + <gradient>false</gradient> + <border_color> + <color red="0" green="128" blue="255" /> + </border_color> + <anti_alias>true</anti_alias> + <corner_width>16</corner_width> + <line_style>0</line_style> + <widget_type>Rounded Rectangle</widget_type> + <fg_gradient_color> + <color red="255" green="255" blue="255" /> + </fg_gradient_color> + <backcolor_alarm_sensitive>false</backcolor_alarm_sensitive> + <background_color> + <color red="186" green="189" blue="182" /> + </background_color> + <width>1681</width> + <x>414</x> + <name>Rounded Rectangle_5</name> + <y>18</y> + <fill_level>0.0</fill_level> + <foreground_color> + <color red="255" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <font> + <opifont.name fontName="Cantarell" height="11" style="0">Default</opifont.name> + </font> + <line_color> + <color red="128" green="0" blue="255" /> + </line_color> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.LED" version="1.0.0"> + <alarm_pulsing>false</alarm_pulsing> + <tooltip>$(pv_name) +$(pv_value)</tooltip> + <rules /> + <effect_3d>true</effect_3d> + <bit>-1</bit> + <pv_value /> + <height>36</height> + <border_width>1</border_width> + <visible>true</visible> + <pv_name>${PREFIX_SCAN}:$(NAME_MTR).BUSY</pv_name> + <border_color> + <color red="0" green="128" blue="255" /> + </border_color> + <widget_type>LED</widget_type> + <name>LED</name> + <actions hook="false" hook_all="false" /> + <show_boolean_label>false</show_boolean_label> + <border_style>0</border_style> + <forecolor_alarm_sensitive>false</forecolor_alarm_sensitive> + <enabled>true</enabled> + <wuid>1e771979:1565068c2e3:-4cec</wuid> + <on_color> + <color red="0" green="255" blue="0" /> + </on_color> + <scripts /> + <border_alarm_sensitive>true</border_alarm_sensitive> + <on_label>ON</on_label> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>true</keep_wh_ratio> + </scale_options> + <off_color> + <color red="0" green="100" blue="0" /> + </off_color> + <backcolor_alarm_sensitive>false</backcolor_alarm_sensitive> + <background_color> + <color red="240" green="240" blue="240" /> + </background_color> + <square_led>true</square_led> + <width>32</width> + <x>336</x> + <data_type>0</data_type> + <y>1066</y> + <foreground_color> + <color red="192" green="192" blue="192" /> + </foreground_color> + <font> + <opifont.name fontName="Cantarell" height="11" style="0">Default</opifont.name> + </font> + <off_label>OFF</off_label> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.polyline" version="1.0.0"> + <border_style>0</border_style> + <forecolor_alarm_sensitive>false</forecolor_alarm_sensitive> + <line_width>1</line_width> + <horizontal_fill>true</horizontal_fill> + <alarm_pulsing>false</alarm_pulsing> + <tooltip>$(pv_name) +$(pv_value)</tooltip> + <arrows>0</arrows> + <rules /> + <enabled>true</enabled> + <wuid>1e771979:1565068c2e3:-4a2d</wuid> + <transparent>false</transparent> + <points> + <point x="30" y="369" /> + <point x="378" y="369" /> + <point x="378" y="369" /> + <point x="378" y="369" /> + <point x="378" y="369" /> + </points> + <fill_arrow>true</fill_arrow> + <pv_value /> + <alpha>255</alpha> + <rotation_angle>0.0</rotation_angle> + <scripts /> + <border_alarm_sensitive>false</border_alarm_sensitive> + <height>1</height> + <border_width>1</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>true</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <pv_name></pv_name> + <border_color> + <color name="Black" red="0" green="0" blue="0" /> + </border_color> + <anti_alias>true</anti_alias> + <line_style>0</line_style> + <arrow_length>20</arrow_length> + <widget_type>Polyline</widget_type> + <backcolor_alarm_sensitive>false</backcolor_alarm_sensitive> + <background_color> + <color name="Black" red="0" green="0" blue="0" /> + </background_color> + <width>349</width> + <x>30</x> + <name>Polyline</name> + <y>369</y> + <fill_level>0.0</fill_level> + <foreground_color> + <color red="255" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <font> + <opifont.name fontName="Cantarell" height="11" style="0">Default</opifont.name> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.Label" version="1.0.0"> + <border_style>0</border_style> + <tooltip></tooltip> + <horizontal_alignment>1</horizontal_alignment> + <rules /> + <enabled>true</enabled> + <wuid>1e771979:1565068c2e3:-4ab2</wuid> + <transparent>false</transparent> + <auto_size>false</auto_size> + <text>Position</text> + <scripts /> + <height>20</height> + <border_width>1</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <vertical_alignment>1</vertical_alignment> + <border_color> + <color red="0" green="128" blue="255" /> + </border_color> + <widget_type>Label</widget_type> + <wrap_words>false</wrap_words> + <background_color> + <color name="panelArea" red="240" green="240" blue="240" /> + </background_color> + <width>229</width> + <x>96</x> + <name>Label_156</name> + <y>360</y> + <foreground_color> + <color red="0" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <font> + <opifont.name fontName="OpenSans" height="10" style="1">Small Bold</opifont.name> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.Label" version="1.0.0"> + <border_style>0</border_style> + <tooltip></tooltip> + <horizontal_alignment>1</horizontal_alignment> + <rules /> + <enabled>false</enabled> + <wuid>1e771979:1565068c2e3:-3e44</wuid> + <transparent>true</transparent> + <auto_size>false</auto_size> + <text>START position</text> + <scripts /> + <height>20</height> + <border_width>2</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <vertical_alignment>1</vertical_alignment> + <border_color> + <color name="IO Border" red="215" green="215" blue="215" /> + </border_color> + <widget_type>Label</widget_type> + <wrap_words>false</wrap_words> + <background_color> + <color name="IO Background" red="255" green="255" blue="205" /> + </background_color> + <width>151</width> + <x>42</x> + <name>Label Orientation_7</name> + <y>402</y> + <foreground_color> + <color name="IO Foreground" red="0" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <font> + <opifont.name fontName="OpenSans" height="10" style="1">Small Bold</opifont.name> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.TextInput" version="2.0.0"> + <alarm_pulsing>false</alarm_pulsing> + <precision>0</precision> + <tooltip>$(pv_name) +$(pv_value)</tooltip> + <horizontal_alignment>1</horizontal_alignment> + <rules> + <rule name="Disable" prop_id="enabled" out_exp="false"> + <exp bool_exp="pv0==1"> + <value>false</value> + </exp> + <exp bool_exp="pv0==0"> + <value>true</value> + </exp> + <pv trig="true">${PREFIX_SCAN}:$(NAME_MTR).BUSY</pv> + </rule> + </rules> + <pv_value /> + <auto_size>false</auto_size> + <text></text> + <rotation_angle>0.0</rotation_angle> + <show_units>true</show_units> + <height>31</height> + <multiline_input>false</multiline_input> + <border_width>1</border_width> + <visible>true</visible> + <pv_name>${PREFIX_SCAN}:$(NAME_MTR).P4SP</pv_name> + <selector_type>0</selector_type> + <border_color> + <color red="0" green="128" blue="255" /> + </border_color> + <precision_from_pv>true</precision_from_pv> + <widget_type>Text Input</widget_type> + <confirm_message></confirm_message> + <name>Text Input</name> + <style>0</style> + <actions hook="false" hook_all="false" /> + <border_style>3</border_style> + <forecolor_alarm_sensitive>false</forecolor_alarm_sensitive> + <enabled>true</enabled> + <wuid>1e771979:1565068c2e3:-3e43</wuid> + <transparent>false</transparent> + <scripts /> + <border_alarm_sensitive>false</border_alarm_sensitive> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <backcolor_alarm_sensitive>false</backcolor_alarm_sensitive> + <format_type>0</format_type> + <limits_from_pv>false</limits_from_pv> + <background_color> + <color name="TextBackground" red="70" green="70" blue="70" /> + </background_color> + <width>100</width> + <x>228</x> + <y>396</y> + <maximum>1.7976931348623157E308</maximum> + <foreground_color> + <color name="KeyboardEntry" red="0" green="255" blue="255" /> + </foreground_color> + <minimum>-1.7976931348623157E308</minimum> + <font> + <fontdata fontName="Sans" height="10" style="1" /> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.Label" version="1.0.0"> + <border_style>0</border_style> + <tooltip></tooltip> + <horizontal_alignment>1</horizontal_alignment> + <rules /> + <enabled>false</enabled> + <wuid>1e771979:1565068c2e3:-3d91</wuid> + <transparent>true</transparent> + <auto_size>false</auto_size> + <text>END position</text> + <scripts /> + <height>20</height> + <border_width>2</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <vertical_alignment>1</vertical_alignment> + <border_color> + <color name="IO Border" red="215" green="215" blue="215" /> + </border_color> + <widget_type>Label</widget_type> + <wrap_words>false</wrap_words> + <background_color> + <color name="IO Background" red="255" green="255" blue="205" /> + </background_color> + <width>104</width> + <x>71</x> + <name>Label Orientation_7</name> + <y>444</y> + <foreground_color> + <color name="IO Foreground" red="0" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <font> + <opifont.name fontName="OpenSans" height="10" style="1">Small Bold</opifont.name> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.TextInput" version="2.0.0"> + <alarm_pulsing>false</alarm_pulsing> + <precision>0</precision> + <tooltip>$(pv_name) +$(pv_value)</tooltip> + <horizontal_alignment>1</horizontal_alignment> + <rules> + <rule name="Disable" prop_id="enabled" out_exp="false"> + <exp bool_exp="pv0==1"> + <value>false</value> + </exp> + <exp bool_exp="pv0==0"> + <value>true</value> + </exp> + <pv trig="true">${PREFIX_SCAN}:$(NAME_MTR).BUSY</pv> + </rule> + </rules> + <pv_value /> + <auto_size>false</auto_size> + <text></text> + <rotation_angle>0.0</rotation_angle> + <show_units>true</show_units> + <height>31</height> + <multiline_input>false</multiline_input> + <border_width>1</border_width> + <visible>true</visible> + <pv_name>${PREFIX_SCAN}:$(NAME_MTR).P4EP</pv_name> + <selector_type>0</selector_type> + <border_color> + <color red="0" green="128" blue="255" /> + </border_color> + <precision_from_pv>true</precision_from_pv> + <widget_type>Text Input</widget_type> + <confirm_message></confirm_message> + <name>Text Input</name> + <style>0</style> + <actions hook="false" hook_all="false" /> + <border_style>3</border_style> + <forecolor_alarm_sensitive>false</forecolor_alarm_sensitive> + <enabled>true</enabled> + <wuid>1e771979:1565068c2e3:-3d90</wuid> + <transparent>false</transparent> + <scripts /> + <border_alarm_sensitive>false</border_alarm_sensitive> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <backcolor_alarm_sensitive>false</backcolor_alarm_sensitive> + <format_type>0</format_type> + <limits_from_pv>false</limits_from_pv> + <background_color> + <color name="TextBackground" red="70" green="70" blue="70" /> + </background_color> + <width>100</width> + <x>228</x> + <y>438</y> + <maximum>1.7976931348623157E308</maximum> + <foreground_color> + <color name="KeyboardEntry" red="0" green="255" blue="255" /> + </foreground_color> + <minimum>-1.7976931348623157E308</minimum> + <font> + <fontdata fontName="Sans" height="10" style="1" /> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.Label" version="1.0.0"> + <border_style>0</border_style> + <tooltip></tooltip> + <horizontal_alignment>1</horizontal_alignment> + <rules /> + <enabled>false</enabled> + <wuid>1e771979:1565068c2e3:-359e</wuid> + <transparent>true</transparent> + <auto_size>false</auto_size> + <text>After SCAN Position</text> + <scripts /> + <height>20</height> + <border_width>2</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <vertical_alignment>1</vertical_alignment> + <border_color> + <color name="IO Border" red="215" green="215" blue="215" /> + </border_color> + <widget_type>Label</widget_type> + <wrap_words>false</wrap_words> + <background_color> + <color name="IO Background" red="255" green="255" blue="205" /> + </background_color> + <width>199</width> + <x>34</x> + <name>Label Orientation_7</name> + <y>571</y> + <foreground_color> + <color name="IO Foreground" red="0" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <font> + <opifont.name fontName="OpenSans" height="10" style="1">Small Bold</opifont.name> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.combo" version="1.0.0"> + <border_style>0</border_style> + <forecolor_alarm_sensitive>false</forecolor_alarm_sensitive> + <alarm_pulsing>false</alarm_pulsing> + <tooltip>$(pv_name) +$(pv_value)</tooltip> + <rules /> + <enabled>true</enabled> + <wuid>1e771979:1565068c2e3:-3589</wuid> + <pv_value /> + <scripts /> + <border_alarm_sensitive>false</border_alarm_sensitive> + <height>20</height> + <border_width>0</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>false</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <items_from_pv>true</items_from_pv> + <visible>true</visible> + <pv_name>${PREFIX_SCAN}:$(NAME_MTR).PASM</pv_name> + <border_color> + <color name="IO Border" red="215" green="215" blue="215" /> + </border_color> + <widget_type>Combo Box</widget_type> + <backcolor_alarm_sensitive>false</backcolor_alarm_sensitive> + <background_color> + <color name="IO Grid" red="215" green="215" blue="215" /> + </background_color> + <width>100</width> + <x>228</x> + <name>channel_name</name> + <y>571</y> + <foreground_color> + <color red="0" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <font> + <fontdata fontName="Sans" height="10" style="0" /> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.polyline" version="1.0.0"> + <border_style>0</border_style> + <forecolor_alarm_sensitive>false</forecolor_alarm_sensitive> + <line_width>1</line_width> + <horizontal_fill>true</horizontal_fill> + <alarm_pulsing>false</alarm_pulsing> + <tooltip>$(pv_name) +$(pv_value)</tooltip> + <arrows>0</arrows> + <rules /> + <enabled>true</enabled> + <wuid>1e771979:1565068c2e3:-33bf</wuid> + <transparent>false</transparent> + <points> + <point x="29" y="621" /> + <point x="377" y="621" /> + <point x="377" y="621" /> + <point x="377" y="621" /> + <point x="377" y="621" /> + </points> + <fill_arrow>true</fill_arrow> + <pv_value /> + <alpha>255</alpha> + <rotation_angle>0.0</rotation_angle> + <scripts /> + <border_alarm_sensitive>false</border_alarm_sensitive> + <height>1</height> + <border_width>1</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>true</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <pv_name></pv_name> + <border_color> + <color name="Black" red="0" green="0" blue="0" /> + </border_color> + <anti_alias>true</anti_alias> + <line_style>0</line_style> + <arrow_length>20</arrow_length> + <widget_type>Polyline</widget_type> + <backcolor_alarm_sensitive>false</backcolor_alarm_sensitive> + <background_color> + <color name="Black" red="0" green="0" blue="0" /> + </background_color> + <width>349</width> + <x>29</x> + <name>Polyline</name> + <y>621</y> + <fill_level>0.0</fill_level> + <foreground_color> + <color red="255" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <font> + <opifont.name fontName="Cantarell" height="11" style="0">Default</opifont.name> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.Label" version="1.0.0"> + <border_style>0</border_style> + <tooltip></tooltip> + <horizontal_alignment>1</horizontal_alignment> + <rules /> + <enabled>true</enabled> + <wuid>1e771979:1565068c2e3:-33be</wuid> + <transparent>false</transparent> + <auto_size>false</auto_size> + <text>Angle</text> + <scripts /> + <height>20</height> + <border_width>1</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <vertical_alignment>1</vertical_alignment> + <border_color> + <color red="0" green="128" blue="255" /> + </border_color> + <widget_type>Label</widget_type> + <wrap_words>false</wrap_words> + <background_color> + <color name="panelArea" red="240" green="240" blue="240" /> + </background_color> + <width>229</width> + <x>96</x> + <name>Label_156</name> + <y>612</y> + <foreground_color> + <color red="0" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <font> + <opifont.name fontName="OpenSans" height="10" style="1">Small Bold</opifont.name> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.Label" version="1.0.0"> + <border_style>0</border_style> + <tooltip></tooltip> + <horizontal_alignment>1</horizontal_alignment> + <rules /> + <enabled>false</enabled> + <wuid>1e771979:1565068c2e3:-33b3</wuid> + <transparent>true</transparent> + <auto_size>false</auto_size> + <text>Number of positions</text> + <scripts /> + <height>20</height> + <border_width>2</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <vertical_alignment>1</vertical_alignment> + <border_color> + <color name="IO Border" red="215" green="215" blue="215" /> + </border_color> + <widget_type>Label</widget_type> + <wrap_words>false</wrap_words> + <background_color> + <color name="IO Background" red="255" green="255" blue="205" /> + </background_color> + <width>199</width> + <x>30</x> + <name>Label Orientation_7</name> + <y>484</y> + <foreground_color> + <color name="IO Foreground" red="0" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <font> + <opifont.name fontName="OpenSans" height="10" style="1">Small Bold</opifont.name> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.TextInput" version="2.0.0"> + <alarm_pulsing>false</alarm_pulsing> + <precision>0</precision> + <tooltip>$(pv_name) +$(pv_value)</tooltip> + <horizontal_alignment>1</horizontal_alignment> + <rules> + <rule name="Disable" prop_id="enabled" out_exp="false"> + <exp bool_exp="pv0==1"> + <value>false</value> + </exp> + <exp bool_exp="pv0==0"> + <value>true</value> + </exp> + <pv trig="true">${PREFIX_SCAN}:$(NAME_MTR).BUSY</pv> + </rule> + </rules> + <pv_value /> + <auto_size>false</auto_size> + <text></text> + <rotation_angle>0.0</rotation_angle> + <show_units>true</show_units> + <height>31</height> + <multiline_input>false</multiline_input> + <border_width>1</border_width> + <visible>true</visible> + <pv_name>${PREFIX_SCAN}:$(NAME_MTR).NPTS</pv_name> + <selector_type>0</selector_type> + <border_color> + <color red="0" green="128" blue="255" /> + </border_color> + <precision_from_pv>true</precision_from_pv> + <widget_type>Text Input</widget_type> + <confirm_message></confirm_message> + <name>Text Input</name> + <style>0</style> + <actions hook="false" hook_all="false" /> + <border_style>3</border_style> + <forecolor_alarm_sensitive>false</forecolor_alarm_sensitive> + <enabled>true</enabled> + <wuid>1e771979:1565068c2e3:-33a9</wuid> + <transparent>false</transparent> + <scripts /> + <border_alarm_sensitive>false</border_alarm_sensitive> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <backcolor_alarm_sensitive>false</backcolor_alarm_sensitive> + <format_type>0</format_type> + <limits_from_pv>false</limits_from_pv> + <background_color> + <color name="TextBackground" red="70" green="70" blue="70" /> + </background_color> + <width>100</width> + <x>228</x> + <y>478</y> + <maximum>80.0</maximum> + <foreground_color> + <color name="KeyboardEntry" red="0" green="255" blue="255" /> + </foreground_color> + <minimum>0.0</minimum> + <font> + <fontdata fontName="Sans" height="10" style="1" /> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.Label" version="1.0.0"> + <border_style>0</border_style> + <tooltip></tooltip> + <horizontal_alignment>1</horizontal_alignment> + <rules /> + <enabled>false</enabled> + <wuid>1e771979:1565068c2e3:-335c</wuid> + <transparent>true</transparent> + <auto_size>false</auto_size> + <text>Step size</text> + <scripts /> + <height>20</height> + <border_width>2</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <vertical_alignment>1</vertical_alignment> + <border_color> + <color name="IO Border" red="215" green="215" blue="215" /> + </border_color> + <widget_type>Label</widget_type> + <wrap_words>false</wrap_words> + <background_color> + <color name="IO Background" red="255" green="255" blue="205" /> + </background_color> + <width>199</width> + <x>30</x> + <name>Label Orientation_7</name> + <y>529</y> + <foreground_color> + <color name="IO Foreground" red="0" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <font> + <opifont.name fontName="OpenSans" height="10" style="1">Small Bold</opifont.name> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.TextInput" version="2.0.0"> + <alarm_pulsing>false</alarm_pulsing> + <precision>0</precision> + <tooltip>$(pv_name) +$(pv_value)</tooltip> + <horizontal_alignment>1</horizontal_alignment> + <rules> + <rule name="Disable" prop_id="enabled" out_exp="false"> + <exp bool_exp="pv0==1"> + <value>false</value> + </exp> + <exp bool_exp="pv0==0"> + <value>true</value> + </exp> + <pv trig="true">${PREFIX_SCAN}:$(NAME_MTR).BUSY</pv> + </rule> + </rules> + <pv_value /> + <auto_size>false</auto_size> + <text></text> + <rotation_angle>0.0</rotation_angle> + <show_units>true</show_units> + <height>31</height> + <multiline_input>false</multiline_input> + <border_width>1</border_width> + <visible>true</visible> + <pv_name>${PREFIX_SCAN}:$(NAME_MTR).P4SI</pv_name> + <selector_type>0</selector_type> + <border_color> + <color red="0" green="128" blue="255" /> + </border_color> + <precision_from_pv>true</precision_from_pv> + <widget_type>Text Input</widget_type> + <confirm_message></confirm_message> + <name>Text Input</name> + <style>0</style> + <actions hook="false" hook_all="false" /> + <border_style>3</border_style> + <forecolor_alarm_sensitive>false</forecolor_alarm_sensitive> + <enabled>true</enabled> + <wuid>1e771979:1565068c2e3:-335b</wuid> + <transparent>false</transparent> + <scripts /> + <border_alarm_sensitive>false</border_alarm_sensitive> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <backcolor_alarm_sensitive>false</backcolor_alarm_sensitive> + <format_type>0</format_type> + <limits_from_pv>false</limits_from_pv> + <background_color> + <color name="TextBackground" red="70" green="70" blue="70" /> + </background_color> + <width>100</width> + <x>228</x> + <y>523</y> + <maximum>1.7976931348623157E308</maximum> + <foreground_color> + <color name="KeyboardEntry" red="0" green="255" blue="255" /> + </foreground_color> + <minimum>-1.7976931348623157E308</minimum> + <font> + <fontdata fontName="Sans" height="10" style="1" /> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.Label" version="1.0.0"> + <border_style>0</border_style> + <tooltip></tooltip> + <horizontal_alignment>1</horizontal_alignment> + <rules /> + <enabled>false</enabled> + <wuid>1e771979:1565068c2e3:-31f0</wuid> + <transparent>true</transparent> + <auto_size>false</auto_size> + <text>Nb Angles</text> + <scripts /> + <height>20</height> + <border_width>2</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <vertical_alignment>1</vertical_alignment> + <border_color> + <color name="IO Border" red="215" green="215" blue="215" /> + </border_color> + <widget_type>Label</widget_type> + <wrap_words>false</wrap_words> + <background_color> + <color name="IO Background" red="255" green="255" blue="205" /> + </background_color> + <width>84</width> + <x>99</x> + <name>Label Orientation_2</name> + <y>739</y> + <foreground_color> + <color name="IO Foreground" red="0" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <font> + <opifont.name fontName="OpenSans" height="10" style="1">Small Bold</opifont.name> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.TextInput" version="2.0.0"> + <alarm_pulsing>false</alarm_pulsing> + <precision>0</precision> + <tooltip>$(pv_name) +$(pv_value)</tooltip> + <horizontal_alignment>1</horizontal_alignment> + <rules> + <rule name="Disable" prop_id="enabled" out_exp="false"> + <exp bool_exp="pv0==1"> + <value>false</value> + </exp> + <exp bool_exp="pv0==0"> + <value>true</value> + </exp> + <pv trig="true">${PREFIX_SCAN}:$(NAME_MTR).BUSY</pv> + </rule> + </rules> + <pv_value /> + <auto_size>false</auto_size> + <text></text> + <rotation_angle>0.0</rotation_angle> + <show_units>true</show_units> + <height>31</height> + <multiline_input>false</multiline_input> + <border_width>1</border_width> + <visible>true</visible> + <pv_name>${PREFIX_SCAN}:$(NAME_PS).NPTS</pv_name> + <selector_type>0</selector_type> + <border_color> + <color red="0" green="128" blue="255" /> + </border_color> + <precision_from_pv>true</precision_from_pv> + <widget_type>Text Input</widget_type> + <confirm_message></confirm_message> + <name>Text Input_2</name> + <style>0</style> + <actions hook="false" hook_all="false" /> + <border_style>3</border_style> + <forecolor_alarm_sensitive>false</forecolor_alarm_sensitive> + <enabled>true</enabled> + <wuid>1e771979:1565068c2e3:-31ef</wuid> + <transparent>false</transparent> + <scripts /> + <border_alarm_sensitive>false</border_alarm_sensitive> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <backcolor_alarm_sensitive>false</backcolor_alarm_sensitive> + <format_type>0</format_type> + <limits_from_pv>false</limits_from_pv> + <background_color> + <color name="TextBackground" red="70" green="70" blue="70" /> + </background_color> + <width>100</width> + <x>228</x> + <y>733</y> + <maximum>80.0</maximum> + <foreground_color> + <color name="KeyboardEntry" red="0" green="255" blue="255" /> + </foreground_color> + <minimum>0.0</minimum> + <font> + <fontdata fontName="Sans" height="10" style="1" /> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.ActionButton" version="2.0.0"> + <toggle_button>false</toggle_button> + <border_style>6</border_style> + <forecolor_alarm_sensitive>false</forecolor_alarm_sensitive> + <alarm_pulsing>false</alarm_pulsing> + <tooltip>$(pv_name) +$(pv_value)</tooltip> + <push_action_index>0</push_action_index> + <rules /> + <enabled>true</enabled> + <wuid>1e771979:1565068c2e3:-2a00</wuid> + <pv_value /> + <text>Abort</text> + <scripts /> + <border_alarm_sensitive>false</border_alarm_sensitive> + <height>55</height> + <border_width>2</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <image></image> + <visible>true</visible> + <pv_name></pv_name> + <border_color> + <color name="IO Border" red="215" green="215" blue="215" /> + </border_color> + <widget_type>Action Button</widget_type> + <backcolor_alarm_sensitive>false</backcolor_alarm_sensitive> + <background_color> + <color name="Major" red="255" green="0" blue="0" /> + </background_color> + <width>79</width> + <x>138</x> + <name>Abort Scan</name> + <y>1056</y> + <style>0</style> + <foreground_color> + <color name="IO Foreground" red="0" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="true"> + <action type="WRITE_PV"> + <pv_name>${PREFIX_SCAN}:$(NAME_MTR)-ABORT.PROC</pv_name> + <value>1</value> + <timeout>10</timeout> + <confirm_message></confirm_message> + <description>Abort Scan</description> + </action> + </actions> + <font> + <fontdata fontName="Sans" height="10" style="1" /> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.ActionButton" version="2.0.0"> + <toggle_button>false</toggle_button> + <border_style>6</border_style> + <forecolor_alarm_sensitive>false</forecolor_alarm_sensitive> + <alarm_pulsing>false</alarm_pulsing> + <tooltip>$(pv_name) +$(pv_value)</tooltip> + <push_action_index>0</push_action_index> + <rules /> + <enabled>true</enabled> + <wuid>1e771979:1565068c2e3:-2a01</wuid> + <pv_value /> + <text>START</text> + <scripts /> + <border_alarm_sensitive>false</border_alarm_sensitive> + <height>55</height> + <border_width>2</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <image></image> + <visible>true</visible> + <pv_name></pv_name> + <border_color> + <color name="IO Border" red="215" green="215" blue="215" /> + </border_color> + <widget_type>Action Button</widget_type> + <backcolor_alarm_sensitive>false</backcolor_alarm_sensitive> + <background_color> + <color name="IO Button" red="178" green="178" blue="178" /> + </background_color> + <width>79</width> + <x>240</x> + <name>Start Scan</name> + <y>1056</y> + <style>0</style> + <foreground_color> + <color name="IO Foreground" red="0" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false"> + <action type="WRITE_PV"> + <pv_name>${PREFIX_SCAN}:$(NAME_MTR).EXSC</pv_name> + <value>1</value> + <timeout>10</timeout> + <confirm_message></confirm_message> + <description>Start SCAN</description> + </action> + </actions> + <font> + <fontdata fontName="Sans" height="10" style="1" /> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.TextInput" version="2.0.0"> + <alarm_pulsing>false</alarm_pulsing> + <precision>0</precision> + <tooltip>$(pv_name) +$(pv_value)</tooltip> + <horizontal_alignment>1</horizontal_alignment> + <rules> + <rule name="Disable" prop_id="enabled" out_exp="false"> + <exp bool_exp="pv0==1"> + <value>false</value> + </exp> + <exp bool_exp="pv0==0"> + <value>true</value> + </exp> + <pv trig="true">${PREFIX_SCAN}:$(NAME_MTR).BUSY</pv> + </rule> + </rules> + <pv_value /> + <auto_size>false</auto_size> + <text></text> + <rotation_angle>0.0</rotation_angle> + <show_units>true</show_units> + <height>31</height> + <multiline_input>false</multiline_input> + <border_width>1</border_width> + <visible>true</visible> + <pv_name>${PREFIX_SCAN}:$(NAME_PS).PDLY</pv_name> + <selector_type>0</selector_type> + <border_color> + <color red="0" green="128" blue="255" /> + </border_color> + <precision_from_pv>true</precision_from_pv> + <widget_type>Text Input</widget_type> + <confirm_message></confirm_message> + <name>Text Input</name> + <style>0</style> + <actions hook="false" hook_all="false" /> + <border_style>3</border_style> + <forecolor_alarm_sensitive>false</forecolor_alarm_sensitive> + <enabled>true</enabled> + <wuid>-6b2ac396:15659b62087:-789d</wuid> + <transparent>false</transparent> + <scripts /> + <border_alarm_sensitive>false</border_alarm_sensitive> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <backcolor_alarm_sensitive>false</backcolor_alarm_sensitive> + <format_type>0</format_type> + <limits_from_pv>false</limits_from_pv> + <background_color> + <color name="TextBackground" red="70" green="70" blue="70" /> + </background_color> + <width>100</width> + <x>228</x> + <y>816</y> + <maximum>1.7976931348623157E308</maximum> + <foreground_color> + <color name="KeyboardEntry" red="0" green="255" blue="255" /> + </foreground_color> + <minimum>-1.7976931348623157E308</minimum> + <font> + <fontdata fontName="Sans" height="10" style="1" /> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.Label" version="1.0.0"> + <border_style>0</border_style> + <tooltip></tooltip> + <horizontal_alignment>1</horizontal_alignment> + <rules /> + <enabled>false</enabled> + <wuid>-6b2ac396:15659b62087:-5a56</wuid> + <transparent>true</transparent> + <auto_size>false</auto_size> + <text>Delay (s)</text> + <scripts /> + <height>20</height> + <border_width>2</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <vertical_alignment>1</vertical_alignment> + <border_color> + <color name="IO Border" red="215" green="215" blue="215" /> + </border_color> + <widget_type>Label</widget_type> + <wrap_words>false</wrap_words> + <background_color> + <color name="IO Background" red="255" green="255" blue="205" /> + </background_color> + <width>71</width> + <x>96</x> + <name>Label Orientation_2</name> + <y>822</y> + <foreground_color> + <color name="IO Foreground" red="0" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <font> + <opifont.name fontName="OpenSans" height="10" style="1">Small Bold</opifont.name> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.Label" version="1.0.0"> + <border_style>0</border_style> + <tooltip></tooltip> + <horizontal_alignment>1</horizontal_alignment> + <rules /> + <enabled>false</enabled> + <wuid>1e771979:1565068c2e3:-31f4</wuid> + <transparent>true</transparent> + <auto_size>false</auto_size> + <text>MRAD MIN</text> + <scripts /> + <height>25</height> + <border_width>2</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <vertical_alignment>1</vertical_alignment> + <border_color> + <color name="IO Border" red="215" green="215" blue="215" /> + </border_color> + <widget_type>Label</widget_type> + <wrap_words>false</wrap_words> + <background_color> + <color name="IO Background" red="255" green="255" blue="205" /> + </background_color> + <width>101</width> + <x>83</x> + <name>Label Orientation_7</name> + <y>693</y> + <foreground_color> + <color name="IO Foreground" red="0" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <font> + <opifont.name fontName="OpenSans" height="10" style="1">Small Bold</opifont.name> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.TextInput" version="2.0.0"> + <alarm_pulsing>false</alarm_pulsing> + <precision>0</precision> + <tooltip>$(pv_name) +$(pv_value)</tooltip> + <horizontal_alignment>1</horizontal_alignment> + <rules> + <rule name="Disable" prop_id="enabled" out_exp="false"> + <exp bool_exp="pv0==1"> + <value>false</value> + </exp> + <exp bool_exp="pv0==0"> + <value>true</value> + </exp> + <pv trig="true">${PREFIX_SCAN}:$(NAME_MTR).BUSY</pv> + </rule> + </rules> + <pv_value /> + <auto_size>false</auto_size> + <text></text> + <rotation_angle>0.0</rotation_angle> + <show_units>true</show_units> + <height>31</height> + <multiline_input>false</multiline_input> + <border_width>1</border_width> + <visible>true</visible> + <pv_name>${PREFIX_SCAN}:$(PROC)-AngleMin-SP</pv_name> + <selector_type>0</selector_type> + <border_color> + <color red="0" green="128" blue="255" /> + </border_color> + <precision_from_pv>true</precision_from_pv> + <widget_type>Text Input</widget_type> + <confirm_message></confirm_message> + <name>Text Input</name> + <style>0</style> + <actions hook="false" hook_all="false" /> + <border_style>3</border_style> + <forecolor_alarm_sensitive>false</forecolor_alarm_sensitive> + <enabled>true</enabled> + <wuid>1e771979:1565068c2e3:-31f3</wuid> + <transparent>false</transparent> + <scripts /> + <border_alarm_sensitive>false</border_alarm_sensitive> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <backcolor_alarm_sensitive>false</backcolor_alarm_sensitive> + <format_type>0</format_type> + <limits_from_pv>false</limits_from_pv> + <background_color> + <color name="TextBackground" red="70" green="70" blue="70" /> + </background_color> + <width>100</width> + <x>228</x> + <y>690</y> + <maximum>1.7976931348623157E308</maximum> + <foreground_color> + <color name="KeyboardEntry" red="0" green="255" blue="255" /> + </foreground_color> + <minimum>-1.7976931348623157E308</minimum> + <font> + <fontdata fontName="Sans" height="10" style="1" /> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.Label" version="1.0.0"> + <border_style>0</border_style> + <tooltip></tooltip> + <horizontal_alignment>1</horizontal_alignment> + <rules /> + <enabled>false</enabled> + <wuid>-cae44c:157dd221fed:-75d1</wuid> + <transparent>true</transparent> + <auto_size>false</auto_size> + <text>Step size</text> + <scripts /> + <height>20</height> + <border_width>2</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <vertical_alignment>1</vertical_alignment> + <border_color> + <color name="IO Border" red="215" green="215" blue="215" /> + </border_color> + <widget_type>Label</widget_type> + <wrap_words>false</wrap_words> + <background_color> + <color name="IO Background" red="255" green="255" blue="205" /> + </background_color> + <width>144</width> + <x>60</x> + <name>Label Orientation_2</name> + <y>780</y> + <foreground_color> + <color name="IO Foreground" red="0" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <font> + <opifont.name fontName="OpenSans" height="10" style="1">Small Bold</opifont.name> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.TextInput" version="2.0.0"> + <alarm_pulsing>false</alarm_pulsing> + <precision>0</precision> + <tooltip>$(pv_name) +$(pv_value)</tooltip> + <horizontal_alignment>1</horizontal_alignment> + <rules> + <rule name="Disable" prop_id="enabled" out_exp="false"> + <exp bool_exp="pv0==1"> + <value>false</value> + </exp> + <exp bool_exp="pv0==0"> + <value>true</value> + </exp> + <pv trig="true">${PREFIX_SCAN}:$(NAME_MTR).BUSY</pv> + </rule> + </rules> + <pv_value /> + <auto_size>false</auto_size> + <text></text> + <rotation_angle>0.0</rotation_angle> + <show_units>true</show_units> + <height>31</height> + <multiline_input>false</multiline_input> + <border_width>1</border_width> + <visible>true</visible> + <pv_name>${PREFIX_SCAN}:${PROC}-StepAngle</pv_name> + <selector_type>0</selector_type> + <border_color> + <color red="0" green="128" blue="255" /> + </border_color> + <precision_from_pv>true</precision_from_pv> + <widget_type>Text Input</widget_type> + <confirm_message></confirm_message> + <name>Text Input_2</name> + <style>0</style> + <actions hook="false" hook_all="false" /> + <border_style>3</border_style> + <forecolor_alarm_sensitive>false</forecolor_alarm_sensitive> + <enabled>true</enabled> + <wuid>-cae44c:157dd221fed:-75d0</wuid> + <transparent>false</transparent> + <scripts /> + <border_alarm_sensitive>false</border_alarm_sensitive> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <backcolor_alarm_sensitive>false</backcolor_alarm_sensitive> + <format_type>0</format_type> + <limits_from_pv>false</limits_from_pv> + <background_color> + <color name="TextBackground" red="70" green="70" blue="70" /> + </background_color> + <width>100</width> + <x>228</x> + <y>774</y> + <maximum>1.7976931348623157E308</maximum> + <foreground_color> + <color name="KeyboardEntry" red="0" green="255" blue="255" /> + </foreground_color> + <minimum>-1.7976931348623157E308</minimum> + <font> + <fontdata fontName="Sans" height="10" style="1" /> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.Label" version="1.0.0"> + <border_style>0</border_style> + <tooltip></tooltip> + <horizontal_alignment>1</horizontal_alignment> + <rules /> + <enabled>false</enabled> + <wuid>4ad471b5:157e1276406:-740b</wuid> + <transparent>true</transparent> + <auto_size>false</auto_size> + <text>MRAD MAX</text> + <scripts /> + <height>25</height> + <border_width>2</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <vertical_alignment>1</vertical_alignment> + <border_color> + <color name="IO Border" red="215" green="215" blue="215" /> + </border_color> + <widget_type>Label</widget_type> + <wrap_words>false</wrap_words> + <background_color> + <color name="IO Background" red="255" green="255" blue="205" /> + </background_color> + <width>99</width> + <x>82</x> + <name>Label Orientation_1</name> + <y>648</y> + <foreground_color> + <color name="IO Foreground" red="0" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <font> + <opifont.name fontName="OpenSans" height="10" style="1">Small Bold</opifont.name> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.TextInput" version="2.0.0"> + <alarm_pulsing>false</alarm_pulsing> + <precision>0</precision> + <tooltip>$(pv_name) +$(pv_value)</tooltip> + <horizontal_alignment>1</horizontal_alignment> + <rules> + <rule name="Disable" prop_id="enabled" out_exp="false"> + <exp bool_exp="pv0==1"> + <value>false</value> + </exp> + <exp bool_exp="pv0==0"> + <value>true</value> + </exp> + <pv trig="true">${PREFIX_SCAN}:$(NAME_MTR).BUSY</pv> + </rule> + </rules> + <pv_value /> + <auto_size>false</auto_size> + <text></text> + <rotation_angle>0.0</rotation_angle> + <show_units>true</show_units> + <height>31</height> + <multiline_input>false</multiline_input> + <border_width>1</border_width> + <visible>true</visible> + <pv_name>${PREFIX_SCAN}:$(PROC)-AngleMax-SP</pv_name> + <selector_type>0</selector_type> + <border_color> + <color red="0" green="128" blue="255" /> + </border_color> + <precision_from_pv>true</precision_from_pv> + <widget_type>Text Input</widget_type> + <confirm_message></confirm_message> + <name>Text Input</name> + <style>0</style> + <actions hook="false" hook_all="false" /> + <border_style>3</border_style> + <forecolor_alarm_sensitive>false</forecolor_alarm_sensitive> + <enabled>true</enabled> + <wuid>4ad471b5:157e1276406:-740a</wuid> + <transparent>false</transparent> + <scripts /> + <border_alarm_sensitive>false</border_alarm_sensitive> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <backcolor_alarm_sensitive>false</backcolor_alarm_sensitive> + <format_type>0</format_type> + <limits_from_pv>false</limits_from_pv> + <background_color> + <color name="TextBackground" red="70" green="70" blue="70" /> + </background_color> + <width>100</width> + <x>228</x> + <y>648</y> + <maximum>1.7976931348623157E308</maximum> + <foreground_color> + <color name="KeyboardEntry" red="0" green="255" blue="255" /> + </foreground_color> + <minimum>-1.7976931348623157E308</minimum> + <font> + <fontdata fontName="Sans" height="10" style="1" /> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.Label" version="1.0.0"> + <border_style>0</border_style> + <tooltip></tooltip> + <horizontal_alignment>1</horizontal_alignment> + <rules /> + <enabled>true</enabled> + <wuid>-20a75393:15809f6e4ee:-700a</wuid> + <transparent>false</transparent> + <auto_size>false</auto_size> + <text>CONFIGURATION</text> + <scripts /> + <height>32</height> + <border_width>1</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <vertical_alignment>1</vertical_alignment> + <border_color> + <color red="0" green="128" blue="255" /> + </border_color> + <widget_type>Label</widget_type> + <wrap_words>true</wrap_words> + <background_color> + <color name="SubPanel" red="176" green="218" blue="249" /> + </background_color> + <width>349</width> + <x>30</x> + <name>Label_15</name> + <y>39</y> + <foreground_color> + <color red="0" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <show_scrollbar>false</show_scrollbar> + <font> + <fontdata fontName="Sans" height="10" style="1" /> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.intensityGraph" version="1.0.0"> + <vertial_profile_y_pv_value /> + <y_axis_show_minor_ticks>true</y_axis_show_minor_ticks> + <alarm_pulsing>false</alarm_pulsing> + <tooltip>$(pv_name)</tooltip> + <x_axis_show_minor_ticks>true</x_axis_show_minor_ticks> + <horizon_profile_x_pv_name></horizon_profile_x_pv_name> + <height>1027</height> + <border_width>1</border_width> + <graph_area_width>1533</graph_area_width> + <y_axis_scale_font> + <opifont.name fontName="Cantarell" height="11" style="0">Default</opifont.name> + </y_axis_scale_font> + <border_color> + <color red="0" green="128" blue="255" /> + </border_color> + <x_axis_minimum>0.0</x_axis_minimum> + <y_axis_maximum>80.0</y_axis_maximum> + <pixel_info_pv_value /> + <x_axis_maximum>-100.0</x_axis_maximum> + <vertial_profile_x_pv_value /> + <actions hook="false" hook_all="false" /> + <border_style>0</border_style> + <rgb_mode>false</rgb_mode> + <crop_left>0</crop_left> + <x_axis_scale_font> + <opifont.name fontName="Cantarell" height="11" style="0">Default</opifont.name> + </x_axis_scale_font> + <data_width>0</data_width> + <enabled>true</enabled> + <wuid>-16429ab9:1582e68df9a:-6ffb</wuid> + <y_axis_title_font> + <opifont.name fontName="Cantarell" height="11" style="1">Default Bold</opifont.name> + </y_axis_title_font> + <border_alarm_sensitive>false</border_alarm_sensitive> + <graph_area_height>967</graph_area_height> + <x_axis_visible>true</x_axis_visible> + <vertical_profile_x_pv_name></vertical_profile_x_pv_name> + <pixel_info_pv_name></pixel_info_pv_name> + <x_axis_axis_color> + <color red="0" green="0" blue="0" /> + </x_axis_axis_color> + <background_color> + <color red="240" green="240" blue="240" /> + </background_color> + <x_axis_axis_title>mm</x_axis_axis_title> + <width>1649</width> + <x>422</x> + <y>84</y> + <maximum>10.0</maximum> + <data_height>0</data_height> + <minimum>-4.0</minimum> + <crop_right>0</crop_right> + <crop_top>0</crop_top> + <roi_color> + <color red="0" green="255" blue="255" /> + </roi_color> + <font> + <opifont.name fontName="Cantarell" height="11" style="0">Default</opifont.name> + </font> + <rules> + <rule name="DataHeight" prop_id="data_height" out_exp="true"> + <exp bool_exp="pv0>0"> + <value>pv0</value> + </exp> + <pv trig="true">${PREFIX_SCAN}:$(NAME_PS).NPTS</pv> + </rule> + <rule name="DataWidth" prop_id="data_width" out_exp="true"> + <exp bool_exp="pv0>0"> + <value>pv0</value> + </exp> + <pv trig="true">${PREFIX_SCAN}:$(NAME_MTR).NPTS</pv> + </rule> + <rule name="XMax" prop_id="x_axis_maximum" out_exp="true"> + <exp bool_exp="pv0!=0"> + <value>pv0</value> + </exp> + <pv trig="true">${PREFIX_SCAN}:$(NAME_MTR).P4SP</pv> + </rule> + <rule name="XMin" prop_id="x_axis_minimum" out_exp="true"> + <exp bool_exp="pv0!=0"> + <value>pv0</value> + </exp> + <pv trig="true">${PREFIX_SCAN}:$(NAME_MTR).P4EP</pv> + </rule> + <rule name="YMax" prop_id="y_axis_maximum" out_exp="true"> + <exp bool_exp="pv0!=0"> + <value>pv0</value> + </exp> + <pv trig="true">${PREFIX_SCAN}:$(PROC)-AngleMax-SP</pv> + </rule> + <rule name="YMin" prop_id="y_axis_minimum" out_exp="true"> + <exp bool_exp="pv0!=0"> + <value>pv0</value> + </exp> + <pv trig="true">${PREFIX_SCAN}:$(PROC)-AngleMin-SP</pv> + </rule> + </rules> + <horizon_profile_y_pv_value /> + <roi_count>0</roi_count> + <pv_value /> + <color_map> + <interpolate>true</interpolate> + <autoscale>true</autoscale> + <map>2</map> + </color_map> + <show_ramp>true</show_ramp> + <y_axis_axis_title>Deg</y_axis_axis_title> + <horizon_profile_y_pv_name></horizon_profile_y_pv_name> + <single_line_profiling>false</single_line_profiling> + <y_axis_minimum>-80.0</y_axis_minimum> + <visible>true</visible> + <vertical_profile_y_pv_name></vertical_profile_y_pv_name> + <x_axis_major_tick_step_hint>50</x_axis_major_tick_step_hint> + <pv_name>$(PREFIX_SCAN):BUFF-CURRENT</pv_name> + <widget_type>Intensity Graph</widget_type> + <name>Intensity Graph</name> + <y_axis_axis_color> + <color red="0" green="0" blue="0" /> + </y_axis_axis_color> + <forecolor_alarm_sensitive>false</forecolor_alarm_sensitive> + <y_axis_major_tick_step_hint>50</y_axis_major_tick_step_hint> + <scripts /> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>true</keep_wh_ratio> + </scale_options> + <x_axis_title_font> + <opifont.name fontName="Cantarell" height="11" style="1">Default Bold</opifont.name> + </x_axis_title_font> + <crop_bottom>0</crop_bottom> + <y_axis_visible>true</y_axis_visible> + <backcolor_alarm_sensitive>false</backcolor_alarm_sensitive> + <horizon_profile_x_pv_value /> + <foreground_color> + <color red="0" green="0" blue="0" /> + </foreground_color> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.tank" version="1.0.0"> + <alarm_pulsing>false</alarm_pulsing> + <tooltip>$(pv_name) +$(pv_value)</tooltip> + <rules /> + <effect_3d>true</effect_3d> + <scale_font> + <opifont.name fontName="Cantarell" height="11" style="0">Default</opifont.name> + </scale_font> + <pv_value /> + <show_scale>true</show_scale> + <scale_format></scale_format> + <height>5</height> + <fill_color> + <color red="0" green="0" blue="255" /> + </fill_color> + <border_width>1</border_width> + <visible>true</visible> + <pv_name></pv_name> + <border_color> + <color red="0" green="128" blue="255" /> + </border_color> + <widget_type>Tank</widget_type> + <name>Tank</name> + <show_hi>true</show_hi> + <actions hook="false" hook_all="false" /> + <show_lo>true</show_lo> + <border_style>0</border_style> + <show_lolo>true</show_lolo> + <show_minor_ticks>true</show_minor_ticks> + <forecolor_alarm_sensitive>false</forecolor_alarm_sensitive> + <show_markers>true</show_markers> + <color_hihi> + <color red="255" green="0" blue="0" /> + </color_hihi> + <show_hihi>true</show_hihi> + <log_scale>false</log_scale> + <enabled>true</enabled> + <wuid>-16429ab9:1582e68df9a:-568c</wuid> + <level_hihi>90.0</level_hihi> + <color_hi> + <color red="255" green="128" blue="0" /> + </color_hi> + <color_lo> + <color red="255" green="128" blue="0" /> + </color_lo> + <scripts /> + <border_alarm_sensitive>true</border_alarm_sensitive> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <fillcolor_alarm_sensitive>false</fillcolor_alarm_sensitive> + <color_fillbackground> + <color red="192" green="192" blue="192" /> + </color_fillbackground> + <major_tick_step_hint>50</major_tick_step_hint> + <level_hi>80.0</level_hi> + <transparent_background>true</transparent_background> + <level_lo>20.0</level_lo> + <backcolor_alarm_sensitive>false</backcolor_alarm_sensitive> + <limits_from_pv>true</limits_from_pv> + <background_color> + <color red="240" green="240" blue="240" /> + </background_color> + <level_lolo>10.0</level_lolo> + <width>475</width> + <x>522</x> + <y>1008</y> + <maximum>100.0</maximum> + <color_lolo> + <color red="255" green="0" blue="0" /> + </color_lolo> + <foreground_color> + <color red="0" green="0" blue="0" /> + </foreground_color> + <minimum>0.0</minimum> + <font> + <opifont.name fontName="Cantarell" height="11" style="0">Default</opifont.name> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.Label" version="1.0.0"> + <border_style>0</border_style> + <tooltip></tooltip> + <horizontal_alignment>1</horizontal_alignment> + <rules /> + <enabled>true</enabled> + <wuid>-16429ab9:1582e68df9a:-4219</wuid> + <transparent>false</transparent> + <auto_size>false</auto_size> + <text>MEASURE</text> + <scripts /> + <height>32</height> + <border_width>1</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <vertical_alignment>1</vertical_alignment> + <border_color> + <color red="0" green="128" blue="255" /> + </border_color> + <widget_type>Label</widget_type> + <wrap_words>true</wrap_words> + <background_color> + <color name="SubPanel" red="176" green="218" blue="249" /> + </background_color> + <width>1681</width> + <x>414</x> + <name>Label_15</name> + <y>39</y> + <foreground_color> + <color red="0" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <show_scrollbar>false</show_scrollbar> + <font> + <fontdata fontName="Sans" height="10" style="1" /> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.RoundedRectangle" version="1.0.0"> + <border_style>0</border_style> + <forecolor_alarm_sensitive>false</forecolor_alarm_sensitive> + <line_width>0</line_width> + <horizontal_fill>true</horizontal_fill> + <alarm_pulsing>false</alarm_pulsing> + <tooltip>$(pv_name) +$(pv_value)</tooltip> + <rules /> + <enabled>true</enabled> + <wuid>-16429ab9:1582e68df9a:-3a8f</wuid> + <transparent>false</transparent> + <pv_value /> + <alpha>255</alpha> + <corner_height>16</corner_height> + <bg_gradient_color> + <color red="255" green="255" blue="255" /> + </bg_gradient_color> + <scripts /> + <border_alarm_sensitive>false</border_alarm_sensitive> + <height>1099</height> + <border_width>1</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <pv_name></pv_name> + <gradient>false</gradient> + <border_color> + <color red="0" green="128" blue="255" /> + </border_color> + <anti_alias>true</anti_alias> + <corner_width>16</corner_width> + <line_style>0</line_style> + <widget_type>Rounded Rectangle</widget_type> + <fg_gradient_color> + <color red="255" green="255" blue="255" /> + </fg_gradient_color> + <backcolor_alarm_sensitive>false</backcolor_alarm_sensitive> + <background_color> + <color red="186" green="189" blue="182" /> + </background_color> + <width>319</width> + <x>2136</x> + <name>Rounded Rectangle_5</name> + <y>18</y> + <fill_level>0.0</fill_level> + <foreground_color> + <color red="255" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <font> + <opifont.name fontName="Cantarell" height="11" style="0">Default</opifont.name> + </font> + <line_color> + <color red="128" green="0" blue="255" /> + </line_color> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.tab" version="1.0.0"> + <active_tab>0</active_tab> + <tooltip></tooltip> + <height>996</height> + <border_width>1</border_width> + <border_color> + <color red="0" green="128" blue="255" /> + </border_color> + <tab_0_foreground_color> + <color red="0" green="0" blue="0" /> + </tab_0_foreground_color> + <actions hook="false" hook_all="false" /> + <border_style>0</border_style> + <enabled>true</enabled> + <wuid>-16429ab9:1582e68df9a:-3a8b</wuid> + <background_color> + <color red="186" green="189" blue="182" /> + </background_color> + <width>319</width> + <x>2136</x> + <horizontal_tabs>true</horizontal_tabs> + <y>70</y> + <rules /> + <macros> + <include_parent_macros>true</include_parent_macros> + </macros> + <visible>true</visible> + <tab_0_background_color> + <color red="186" green="189" blue="182" /> + </tab_0_background_color> + <widget_type>Tabbed Container</widget_type> + <name>Tabbed Container</name> + <minimum_tab_height>10</minimum_tab_height> + <tab_0_font> + <opifont.name fontName="Cantarell" height="11" style="0">Default</opifont.name> + </tab_0_font> + <tab_0_title>Control</tab_0_title> + <scripts /> + <tab_count>1</tab_count> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <tab_0_icon_path></tab_0_icon_path> + <tab_0_enabled>true</tab_0_enabled> + <foreground_color> + <color red="192" green="192" blue="192" /> + </foreground_color> + <widget typeId="org.csstudio.opibuilder.widgets.groupingContainer" version="1.0.0"> + <border_style>0</border_style> + <tooltip></tooltip> + <rules /> + <enabled>true</enabled> + <wuid>-16429ab9:1582e68df9a:-3a8a</wuid> + <transparent>true</transparent> + <lock_children>false</lock_children> + <scripts /> + <height>961</height> + <border_width>1</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <macros> + <include_parent_macros>true</include_parent_macros> + </macros> + <visible>true</visible> + <border_color> + <color red="0" green="128" blue="255" /> + </border_color> + <widget_type>Grouping Container</widget_type> + <background_color> + <color red="240" green="240" blue="240" /> + </background_color> + <width>317</width> + <x>1</x> + <name>Control</name> + <y>1</y> + <foreground_color> + <color red="192" green="192" blue="192" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <fc>false</fc> + <show_scrollbar>true</show_scrollbar> + <font> + <opifont.name fontName="Cantarell" height="11" style="0">Default</opifont.name> + </font> + <widget typeId="org.csstudio.opibuilder.widgets.Label" version="1.0.0"> + <border_style>0</border_style> + <tooltip></tooltip> + <horizontal_alignment>1</horizontal_alignment> + <rules /> + <enabled>false</enabled> + <wuid>4ad471b5:157e1276406:-781e</wuid> + <transparent>true</transparent> + <auto_size>false</auto_size> + <text>PS Horizontal</text> + <scripts /> + <height>20</height> + <border_width>2</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <vertical_alignment>1</vertical_alignment> + <border_color> + <color name="IO Border" red="215" green="215" blue="215" /> + </border_color> + <widget_type>Label</widget_type> + <wrap_words>false</wrap_words> + <background_color> + <color name="IO Background" red="255" green="255" blue="205" /> + </background_color> + <width>125</width> + <x>38</x> + <name>Label Orientation_7</name> + <y>36</y> + <foreground_color> + <color name="IO Foreground" red="0" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <font> + <opifont.name fontName="OpenSans" height="10" style="1">Small Bold</opifont.name> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.TextInput" version="2.0.0"> + <alarm_pulsing>false</alarm_pulsing> + <precision>0</precision> + <tooltip>$(pv_name) +$(pv_value)</tooltip> + <horizontal_alignment>1</horizontal_alignment> + <rules /> + <pv_value /> + <auto_size>false</auto_size> + <text></text> + <rotation_angle>0.0</rotation_angle> + <show_units>true</show_units> + <height>31</height> + <multiline_input>false</multiline_input> + <border_width>1</border_width> + <visible>true</visible> + <pv_name>$(PREFIX_PS)hor-SP</pv_name> + <selector_type>0</selector_type> + <border_color> + <color red="0" green="128" blue="255" /> + </border_color> + <precision_from_pv>true</precision_from_pv> + <widget_type>Text Input</widget_type> + <confirm_message></confirm_message> + <name>Text Input</name> + <style>0</style> + <actions hook="false" hook_all="false" /> + <border_style>3</border_style> + <forecolor_alarm_sensitive>false</forecolor_alarm_sensitive> + <enabled>true</enabled> + <wuid>4ad471b5:157e1276406:-781d</wuid> + <transparent>false</transparent> + <scripts /> + <border_alarm_sensitive>false</border_alarm_sensitive> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <backcolor_alarm_sensitive>false</backcolor_alarm_sensitive> + <format_type>0</format_type> + <limits_from_pv>false</limits_from_pv> + <background_color> + <color name="TextBackground" red="70" green="70" blue="70" /> + </background_color> + <width>100</width> + <x>186</x> + <y>30</y> + <maximum>1.7976931348623157E308</maximum> + <foreground_color> + <color name="Green On" red="0" green="255" blue="0" /> + </foreground_color> + <minimum>-1.7976931348623157E308</minimum> + <font> + <fontdata fontName="Sans" height="10" style="1" /> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.Label" version="1.0.0"> + <border_style>0</border_style> + <tooltip></tooltip> + <horizontal_alignment>1</horizontal_alignment> + <rules /> + <enabled>false</enabled> + <wuid>4ad471b5:157e1276406:-780f</wuid> + <transparent>true</transparent> + <auto_size>false</auto_size> + <text>PS Vertical</text> + <scripts /> + <height>20</height> + <border_width>2</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <vertical_alignment>1</vertical_alignment> + <border_color> + <color name="IO Border" red="215" green="215" blue="215" /> + </border_color> + <widget_type>Label</widget_type> + <wrap_words>false</wrap_words> + <background_color> + <color name="IO Background" red="255" green="255" blue="205" /> + </background_color> + <width>127</width> + <x>30</x> + <name>Label Orientation_7</name> + <y>84</y> + <foreground_color> + <color name="IO Foreground" red="0" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <font> + <opifont.name fontName="OpenSans" height="10" style="1">Small Bold</opifont.name> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.TextInput" version="2.0.0"> + <alarm_pulsing>false</alarm_pulsing> + <precision>0</precision> + <tooltip>$(pv_name) +$(pv_value)</tooltip> + <horizontal_alignment>1</horizontal_alignment> + <rules /> + <pv_value /> + <auto_size>false</auto_size> + <text></text> + <rotation_angle>0.0</rotation_angle> + <show_units>true</show_units> + <height>31</height> + <multiline_input>false</multiline_input> + <border_width>1</border_width> + <visible>true</visible> + <pv_name>$(PREFIX_PS)ver-SP</pv_name> + <selector_type>0</selector_type> + <border_color> + <color red="0" green="128" blue="255" /> + </border_color> + <precision_from_pv>true</precision_from_pv> + <widget_type>Text Input</widget_type> + <confirm_message></confirm_message> + <name>Text Input</name> + <style>0</style> + <actions hook="false" hook_all="false" /> + <border_style>3</border_style> + <forecolor_alarm_sensitive>false</forecolor_alarm_sensitive> + <enabled>true</enabled> + <wuid>4ad471b5:157e1276406:-780e</wuid> + <transparent>false</transparent> + <scripts /> + <border_alarm_sensitive>false</border_alarm_sensitive> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <backcolor_alarm_sensitive>false</backcolor_alarm_sensitive> + <format_type>0</format_type> + <limits_from_pv>false</limits_from_pv> + <background_color> + <color name="TextBackground" red="70" green="70" blue="70" /> + </background_color> + <width>100</width> + <x>186</x> + <y>78</y> + <maximum>1.7976931348623157E308</maximum> + <foreground_color> + <color name="Green On" red="0" green="255" blue="0" /> + </foreground_color> + <minimum>-1.7976931348623157E308</minimum> + <font> + <fontdata fontName="Sans" height="10" style="1" /> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.Label" version="1.0.0"> + <border_style>0</border_style> + <tooltip></tooltip> + <horizontal_alignment>1</horizontal_alignment> + <rules /> + <enabled>false</enabled> + <wuid>79429b6c:157dd491a6d:-7dd7</wuid> + <transparent>true</transparent> + <auto_size>false</auto_size> + <text>Angle STEP in course ...</text> + <scripts /> + <height>20</height> + <border_width>2</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <vertical_alignment>1</vertical_alignment> + <border_color> + <color name="IO Border" red="215" green="215" blue="215" /> + </border_color> + <widget_type>Label</widget_type> + <wrap_words>false</wrap_words> + <background_color> + <color name="IO Background" red="255" green="255" blue="205" /> + </background_color> + <width>151</width> + <x>25</x> + <name>Label Orientation_7</name> + <y>132</y> + <foreground_color> + <color name="IO Foreground" red="0" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <font> + <opifont.name fontName="OpenSans" height="10" style="1">Small Bold</opifont.name> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.TextInput" version="2.0.0"> + <alarm_pulsing>false</alarm_pulsing> + <precision>0</precision> + <tooltip>$(pv_name) +$(pv_value)</tooltip> + <horizontal_alignment>1</horizontal_alignment> + <rules /> + <pv_value /> + <auto_size>false</auto_size> + <text></text> + <rotation_angle>0.0</rotation_angle> + <show_units>true</show_units> + <height>31</height> + <multiline_input>false</multiline_input> + <border_width>1</border_width> + <visible>true</visible> + <pv_name>${PREFIX_SCAN}:$(NAME_PS)-NORD_POS</pv_name> + <selector_type>0</selector_type> + <border_color> + <color red="0" green="128" blue="255" /> + </border_color> + <precision_from_pv>true</precision_from_pv> + <widget_type>Text Input</widget_type> + <confirm_message></confirm_message> + <name>Text Input</name> + <style>0</style> + <actions hook="false" hook_all="false" /> + <border_style>3</border_style> + <forecolor_alarm_sensitive>false</forecolor_alarm_sensitive> + <enabled>true</enabled> + <wuid>79429b6c:157dd491a6d:-7dd6</wuid> + <transparent>false</transparent> + <scripts /> + <border_alarm_sensitive>false</border_alarm_sensitive> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <backcolor_alarm_sensitive>false</backcolor_alarm_sensitive> + <format_type>0</format_type> + <limits_from_pv>false</limits_from_pv> + <background_color> + <color name="TextBackground" red="70" green="70" blue="70" /> + </background_color> + <width>100</width> + <x>186</x> + <y>126</y> + <maximum>1.7976931348623157E308</maximum> + <foreground_color> + <color name="Green On" red="0" green="255" blue="0" /> + </foreground_color> + <minimum>-1.7976931348623157E308</minimum> + <font> + <fontdata fontName="Sans" height="10" style="1" /> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.TextInput" version="2.0.0"> + <alarm_pulsing>false</alarm_pulsing> + <precision>0</precision> + <tooltip>$(pv_name) +$(pv_value)</tooltip> + <horizontal_alignment>1</horizontal_alignment> + <rules /> + <pv_value /> + <auto_size>false</auto_size> + <text></text> + <rotation_angle>0.0</rotation_angle> + <show_units>true</show_units> + <height>31</height> + <multiline_input>false</multiline_input> + <border_width>1</border_width> + <visible>true</visible> + <pv_name>${PREFIX_SCAN}:$(NAME_MTR)-NORD_POS</pv_name> + <selector_type>0</selector_type> + <border_color> + <color red="0" green="128" blue="255" /> + </border_color> + <precision_from_pv>true</precision_from_pv> + <widget_type>Text Input</widget_type> + <confirm_message></confirm_message> + <name>Text Input_3</name> + <style>0</style> + <actions hook="false" hook_all="false" /> + <border_style>3</border_style> + <forecolor_alarm_sensitive>false</forecolor_alarm_sensitive> + <enabled>true</enabled> + <wuid>-16429ab9:1582e68df9a:-6dec</wuid> + <transparent>false</transparent> + <scripts /> + <border_alarm_sensitive>false</border_alarm_sensitive> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <backcolor_alarm_sensitive>false</backcolor_alarm_sensitive> + <format_type>0</format_type> + <limits_from_pv>false</limits_from_pv> + <background_color> + <color name="TextBackground" red="70" green="70" blue="70" /> + </background_color> + <width>100</width> + <x>186</x> + <y>240</y> + <maximum>1.7976931348623157E308</maximum> + <foreground_color> + <color name="Green On" red="0" green="255" blue="0" /> + </foreground_color> + <minimum>-1.7976931348623157E308</minimum> + <font> + <fontdata fontName="Sans" height="10" style="1" /> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.Label" version="1.0.0"> + <border_style>0</border_style> + <tooltip></tooltip> + <horizontal_alignment>1</horizontal_alignment> + <rules /> + <enabled>false</enabled> + <wuid>-16429ab9:1582e68df9a:-3c09</wuid> + <transparent>true</transparent> + <auto_size>false</auto_size> + <text>Position STEP in course ...</text> + <scripts /> + <height>20</height> + <border_width>2</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <vertical_alignment>1</vertical_alignment> + <border_color> + <color name="IO Border" red="215" green="215" blue="215" /> + </border_color> + <widget_type>Label</widget_type> + <wrap_words>false</wrap_words> + <background_color> + <color name="IO Background" red="255" green="255" blue="205" /> + </background_color> + <width>172</width> + <x>15</x> + <name>Label Orientation_1</name> + <y>246</y> + <foreground_color> + <color name="IO Foreground" red="0" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <font> + <opifont.name fontName="OpenSans" height="10" style="1">Small Bold</opifont.name> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.bytemonitor" version="1.0.0"> + <border_style>0</border_style> + <forecolor_alarm_sensitive>false</forecolor_alarm_sensitive> + <alarm_pulsing>false</alarm_pulsing> + <tooltip>$(pv_name) +$(pv_value)</tooltip> + <rules /> + <effect_3d>true</effect_3d> + <enabled>true</enabled> + <wuid>59fc39f9:158487e5950:-422a</wuid> + <on_color> + <color name="Major" red="255" green="0" blue="0" /> + </on_color> + <horizontal>false</horizontal> + <pv_value /> + <numBits>1</numBits> + <scripts /> + <border_alarm_sensitive>true</border_alarm_sensitive> + <height>28</height> + <border_width>0</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <pv_name>PMAC:MTR1.MSTA</pv_name> + <border_color> + <color name="IO Border" red="215" green="215" blue="215" /> + </border_color> + <bitReverse>true</bitReverse> + <label /> + <widget_type>Byte Monitor</widget_type> + <off_color> + <color name="IO Grid" red="215" green="215" blue="215" /> + </off_color> + <backcolor_alarm_sensitive>false</backcolor_alarm_sensitive> + <background_color> + <color name="IO Background" red="255" green="255" blue="205" /> + </background_color> + <square_led>true</square_led> + <startBit>13</startBit> + <width>70</width> + <x>201</x> + <name>Byte Monitor Template</name> + <y>402</y> + <foreground_color> + <color name="IO InputPV Fg" red="0" green="32" blue="92" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <font> + <opifont.name fontName="arial" height="10" style="0">IO Normal</opifont.name> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.Label" version="1.0.0"> + <border_style>0</border_style> + <tooltip></tooltip> + <horizontal_alignment>1</horizontal_alignment> + <rules /> + <enabled>true</enabled> + <wuid>59fc39f9:158487e5950:-3dc7</wuid> + <transparent>true</transparent> + <auto_size>false</auto_size> + <text>LOW Limit </text> + <scripts /> + <height>20</height> + <border_width>1</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <vertical_alignment>1</vertical_alignment> + <border_color> + <color red="0" green="128" blue="255" /> + </border_color> + <widget_type>Label</widget_type> + <wrap_words>false</wrap_words> + <background_color> + <color red="255" green="255" blue="255" /> + </background_color> + <width>83</width> + <x>52</x> + <name>Label_164</name> + <y>406</y> + <foreground_color> + <color red="0" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <font> + <opifont.name fontName="OpenSans" height="10" style="1">Small Bold</opifont.name> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.Label" version="1.0.0"> + <border_style>0</border_style> + <tooltip></tooltip> + <horizontal_alignment>1</horizontal_alignment> + <rules /> + <enabled>true</enabled> + <wuid>59fc39f9:158487e5950:-38d5</wuid> + <transparent>true</transparent> + <auto_size>false</auto_size> + <text>HIGH Limit </text> + <scripts /> + <height>20</height> + <border_width>1</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <vertical_alignment>1</vertical_alignment> + <border_color> + <color red="0" green="128" blue="255" /> + </border_color> + <widget_type>Label</widget_type> + <wrap_words>false</wrap_words> + <background_color> + <color red="255" green="255" blue="255" /> + </background_color> + <width>83</width> + <x>52</x> + <name>Label_164</name> + <y>448</y> + <foreground_color> + <color red="0" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <font> + <opifont.name fontName="OpenSans" height="10" style="1">Small Bold</opifont.name> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.bytemonitor" version="1.0.0"> + <border_style>0</border_style> + <forecolor_alarm_sensitive>false</forecolor_alarm_sensitive> + <alarm_pulsing>false</alarm_pulsing> + <tooltip>$(pv_name) +$(pv_value)</tooltip> + <rules /> + <effect_3d>true</effect_3d> + <enabled>true</enabled> + <wuid>59fc39f9:158487e5950:-38d6</wuid> + <on_color> + <color name="Major" red="255" green="0" blue="0" /> + </on_color> + <horizontal>false</horizontal> + <pv_value /> + <numBits>1</numBits> + <scripts /> + <border_alarm_sensitive>true</border_alarm_sensitive> + <height>28</height> + <border_width>0</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <pv_name>PMAC:MTR1.MSTA</pv_name> + <border_color> + <color name="IO Border" red="215" green="215" blue="215" /> + </border_color> + <bitReverse>true</bitReverse> + <label /> + <widget_type>Byte Monitor</widget_type> + <off_color> + <color name="IO Grid" red="215" green="215" blue="215" /> + </off_color> + <backcolor_alarm_sensitive>false</backcolor_alarm_sensitive> + <background_color> + <color name="IO Background" red="255" green="255" blue="205" /> + </background_color> + <square_led>true</square_led> + <startBit>2</startBit> + <width>70</width> + <x>201</x> + <name>Byte Monitor Template</name> + <y>444</y> + <foreground_color> + <color name="IO InputPV Fg" red="0" green="32" blue="92" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <font> + <opifont.name fontName="arial" height="10" style="0">IO Normal</opifont.name> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.bytemonitor" version="1.0.0"> + <border_style>0</border_style> + <forecolor_alarm_sensitive>false</forecolor_alarm_sensitive> + <alarm_pulsing>false</alarm_pulsing> + <tooltip>$(pv_name) +$(pv_value)</tooltip> + <rules /> + <effect_3d>true</effect_3d> + <enabled>true</enabled> + <wuid>59fc39f9:158487e5950:-38ce</wuid> + <on_color> + <color name="Major" red="255" green="0" blue="0" /> + </on_color> + <horizontal>false</horizontal> + <pv_value /> + <numBits>1</numBits> + <scripts /> + <border_alarm_sensitive>true</border_alarm_sensitive> + <height>28</height> + <border_width>0</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <pv_name>PMAC:MTR1.MOVN</pv_name> + <border_color> + <color name="IO Border" red="215" green="215" blue="215" /> + </border_color> + <bitReverse>true</bitReverse> + <label /> + <widget_type>Byte Monitor</widget_type> + <off_color> + <color name="IO Grid" red="215" green="215" blue="215" /> + </off_color> + <backcolor_alarm_sensitive>false</backcolor_alarm_sensitive> + <background_color> + <color name="IO Background" red="255" green="255" blue="205" /> + </background_color> + <square_led>true</square_led> + <startBit>0</startBit> + <width>70</width> + <x>201</x> + <name>Byte Monitor Template</name> + <y>330</y> + <foreground_color> + <color name="IO InputPV Fg" red="0" green="32" blue="92" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <font> + <opifont.name fontName="arial" height="10" style="0">IO Normal</opifont.name> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.Label" version="1.0.0"> + <border_style>0</border_style> + <tooltip></tooltip> + <horizontal_alignment>1</horizontal_alignment> + <rules /> + <enabled>true</enabled> + <wuid>59fc39f9:158487e5950:-38cd</wuid> + <transparent>true</transparent> + <auto_size>false</auto_size> + <text>Motor is moving ...</text> + <scripts /> + <height>20</height> + <border_width>1</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <vertical_alignment>1</vertical_alignment> + <border_color> + <color red="0" green="128" blue="255" /> + </border_color> + <widget_type>Label</widget_type> + <wrap_words>false</wrap_words> + <background_color> + <color red="255" green="255" blue="255" /> + </background_color> + <width>133</width> + <x>30</x> + <name>Label_164</name> + <y>334</y> + <foreground_color> + <color red="0" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <font> + <opifont.name fontName="OpenSans" height="10" style="1">Small Bold</opifont.name> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.TextInput" version="2.0.0"> + <alarm_pulsing>false</alarm_pulsing> + <precision>2</precision> + <tooltip>$(pv_name) +$(pv_value)</tooltip> + <horizontal_alignment>1</horizontal_alignment> + <rules /> + <pv_value /> + <auto_size>false</auto_size> + <text></text> + <rotation_angle>0.0</rotation_angle> + <show_units>true</show_units> + <height>31</height> + <multiline_input>false</multiline_input> + <border_width>1</border_width> + <visible>true</visible> + <pv_name>PMAC:MTR1.RBV</pv_name> + <selector_type>0</selector_type> + <border_color> + <color red="0" green="128" blue="255" /> + </border_color> + <precision_from_pv>false</precision_from_pv> + <widget_type>Text Input</widget_type> + <confirm_message></confirm_message> + <name>Text Input_3</name> + <style>0</style> + <actions hook="false" hook_all="false" /> + <border_style>3</border_style> + <forecolor_alarm_sensitive>false</forecolor_alarm_sensitive> + <enabled>true</enabled> + <wuid>59fc39f9:158487e5950:-356b</wuid> + <transparent>false</transparent> + <scripts /> + <border_alarm_sensitive>false</border_alarm_sensitive> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <backcolor_alarm_sensitive>false</backcolor_alarm_sensitive> + <format_type>0</format_type> + <limits_from_pv>false</limits_from_pv> + <background_color> + <color name="TextBackground" red="70" green="70" blue="70" /> + </background_color> + <width>100</width> + <x>186</x> + <y>288</y> + <maximum>1.7976931348623157E308</maximum> + <foreground_color> + <color name="Green On" red="0" green="255" blue="0" /> + </foreground_color> + <minimum>-1.7976931348623157E308</minimum> + <font> + <fontdata fontName="Sans" height="10" style="1" /> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.Label" version="1.0.0"> + <border_style>0</border_style> + <tooltip></tooltip> + <horizontal_alignment>1</horizontal_alignment> + <rules /> + <enabled>false</enabled> + <wuid>59fc39f9:158487e5950:-356a</wuid> + <transparent>true</transparent> + <auto_size>false</auto_size> + <text>Position in course</text> + <scripts /> + <height>20</height> + <border_width>2</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <vertical_alignment>1</vertical_alignment> + <border_color> + <color name="IO Border" red="215" green="215" blue="215" /> + </border_color> + <widget_type>Label</widget_type> + <wrap_words>false</wrap_words> + <background_color> + <color name="IO Background" red="255" green="255" blue="205" /> + </background_color> + <width>166</width> + <x>12</x> + <name>Label Orientation_1</name> + <y>294</y> + <foreground_color> + <color name="IO Foreground" red="0" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <font> + <opifont.name fontName="OpenSans" height="10" style="1">Small Bold</opifont.name> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.bytemonitor" version="1.0.0"> + <border_style>0</border_style> + <forecolor_alarm_sensitive>false</forecolor_alarm_sensitive> + <alarm_pulsing>false</alarm_pulsing> + <tooltip>$(pv_name) +$(pv_value)</tooltip> + <rules /> + <effect_3d>true</effect_3d> + <enabled>true</enabled> + <wuid>59fc39f9:158487e5950:-33a7</wuid> + <on_color> + <color name="Green On" red="0" green="255" blue="0" /> + </on_color> + <horizontal>false</horizontal> + <pv_value /> + <numBits>1</numBits> + <scripts /> + <border_alarm_sensitive>true</border_alarm_sensitive> + <height>28</height> + <border_width>0</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <pv_name>PMAC:MTR1.MSTA</pv_name> + <border_color> + <color name="IO Border" red="215" green="215" blue="215" /> + </border_color> + <bitReverse>true</bitReverse> + <label /> + <widget_type>Byte Monitor</widget_type> + <off_color> + <color name="IO Grid" red="215" green="215" blue="215" /> + </off_color> + <backcolor_alarm_sensitive>false</backcolor_alarm_sensitive> + <background_color> + <color name="IO Background" red="255" green="255" blue="205" /> + </background_color> + <square_led>true</square_led> + <startBit>1</startBit> + <width>70</width> + <x>201</x> + <name>Byte Monitor Template</name> + <y>366</y> + <foreground_color> + <color name="IO InputPV Fg" red="0" green="32" blue="92" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <font> + <opifont.name fontName="arial" height="10" style="0">IO Normal</opifont.name> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.Label" version="1.0.0"> + <border_style>0</border_style> + <tooltip></tooltip> + <horizontal_alignment>1</horizontal_alignment> + <rules /> + <enabled>true</enabled> + <wuid>59fc39f9:158487e5950:-33a6</wuid> + <transparent>true</transparent> + <auto_size>false</auto_size> + <text>Motor is placed</text> + <scripts /> + <height>20</height> + <border_width>1</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <vertical_alignment>1</vertical_alignment> + <border_color> + <color red="0" green="128" blue="255" /> + </border_color> + <widget_type>Label</widget_type> + <wrap_words>false</wrap_words> + <background_color> + <color red="255" green="255" blue="255" /> + </background_color> + <width>110</width> + <x>38</x> + <name>Label_164</name> + <y>370</y> + <foreground_color> + <color red="0" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <font> + <opifont.name fontName="OpenSans" height="10" style="1">Small Bold</opifont.name> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.Label" version="1.0.0"> + <border_style>0</border_style> + <tooltip></tooltip> + <horizontal_alignment>1</horizontal_alignment> + <rules /> + <enabled>true</enabled> + <wuid>59fc39f9:158487e5950:-26fe</wuid> + <transparent>true</transparent> + <auto_size>false</auto_size> + <text>HV is ramping ...</text> + <scripts /> + <height>20</height> + <border_width>1</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <vertical_alignment>1</vertical_alignment> + <border_color> + <color red="0" green="128" blue="255" /> + </border_color> + <widget_type>Label</widget_type> + <wrap_words>false</wrap_words> + <background_color> + <color red="255" green="255" blue="255" /> + </background_color> + <width>196</width> + <x>6</x> + <name>Label_164</name> + <y>178</y> + <foreground_color> + <color red="0" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <font> + <opifont.name fontName="OpenSans" height="10" style="1">Small Bold</opifont.name> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.bytemonitor" version="1.0.0"> + <border_style>0</border_style> + <forecolor_alarm_sensitive>false</forecolor_alarm_sensitive> + <alarm_pulsing>false</alarm_pulsing> + <tooltip>$(pv_name) +$(pv_value)</tooltip> + <rules /> + <effect_3d>true</effect_3d> + <enabled>true</enabled> + <wuid>59fc39f9:158487e5950:-26ff</wuid> + <on_color> + <color name="Major" red="255" green="0" blue="0" /> + </on_color> + <horizontal>false</horizontal> + <pv_value /> + <numBits>1</numBits> + <scripts /> + <border_alarm_sensitive>true</border_alarm_sensitive> + <height>28</height> + <border_width>0</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <pv_name>${PREFIX_SCAN}:$(NAME_PS).BUSY</pv_name> + <border_color> + <color name="IO Border" red="215" green="215" blue="215" /> + </border_color> + <bitReverse>true</bitReverse> + <label /> + <widget_type>Byte Monitor</widget_type> + <off_color> + <color name="IO Grid" red="215" green="215" blue="215" /> + </off_color> + <backcolor_alarm_sensitive>false</backcolor_alarm_sensitive> + <background_color> + <color name="IO Background" red="255" green="255" blue="205" /> + </background_color> + <square_led>true</square_led> + <startBit>0</startBit> + <width>70</width> + <x>201</x> + <name>Byte Monitor Template</name> + <y>174</y> + <foreground_color> + <color name="IO InputPV Fg" red="0" green="32" blue="92" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <font> + <opifont.name fontName="arial" height="10" style="0">IO Normal</opifont.name> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.Rectangle" version="1.0.0"> + <border_style>0</border_style> + <forecolor_alarm_sensitive>false</forecolor_alarm_sensitive> + <line_width>4</line_width> + <horizontal_fill>true</horizontal_fill> + <alarm_pulsing>false</alarm_pulsing> + <tooltip>$(pv_name) +$(pv_value)</tooltip> + <rules> + <rule name="Visible" prop_id="visible" out_exp="false"> + <exp bool_exp="pv0==1"> + <value>true</value> + </exp> + <exp bool_exp="pv0==0"> + <value>false</value> + </exp> + <pv trig="true">${PREFIX_SCAN}:$(NAME_PS).BUSY</pv> + </rule> + </rules> + <enabled>true</enabled> + <wuid>59fc39f9:158487e5950:-2314</wuid> + <transparent>true</transparent> + <pv_value /> + <alpha>255</alpha> + <bg_gradient_color> + <color red="255" green="255" blue="255" /> + </bg_gradient_color> + <scripts /> + <border_alarm_sensitive>false</border_alarm_sensitive> + <height>207</height> + <border_width>1</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <pv_name>${PREFIX_SCAN}:$(NAME_PS).BUSY</pv_name> + <gradient>false</gradient> + <border_color> + <color name="Major" red="255" green="0" blue="0" /> + </border_color> + <anti_alias>true</anti_alias> + <line_style>0</line_style> + <widget_type>Rectangle</widget_type> + <fg_gradient_color> + <color red="255" green="255" blue="255" /> + </fg_gradient_color> + <backcolor_alarm_sensitive>false</backcolor_alarm_sensitive> + <background_color> + <color name="Major" red="255" green="0" blue="0" /> + </background_color> + <width>295</width> + <x>12</x> + <name>Rectangle</name> + <y>4</y> + <fill_level>0.0</fill_level> + <foreground_color> + <color red="255" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <font> + <opifont.name fontName="Cantarell" height="11" style="0">Default</opifont.name> + </font> + <line_color> + <color name="Major" red="255" green="0" blue="0" /> + </line_color> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.Rectangle" version="1.0.0"> + <border_style>0</border_style> + <forecolor_alarm_sensitive>false</forecolor_alarm_sensitive> + <line_width>4</line_width> + <horizontal_fill>true</horizontal_fill> + <alarm_pulsing>false</alarm_pulsing> + <tooltip>$(pv_name) +$(pv_value)</tooltip> + <rules> + <rule name="Visible" prop_id="visible" out_exp="false"> + <exp bool_exp="pv0==1"> + <value>true</value> + </exp> + <exp bool_exp="pv0==0"> + <value>false</value> + </exp> + <pv trig="true">PMAC:MTR1.MOVN</pv> + </rule> + </rules> + <enabled>true</enabled> + <wuid>59fc39f9:158487e5950:-2172</wuid> + <transparent>true</transparent> + <pv_value /> + <alpha>255</alpha> + <bg_gradient_color> + <color red="255" green="255" blue="255" /> + </bg_gradient_color> + <scripts /> + <border_alarm_sensitive>false</border_alarm_sensitive> + <height>253</height> + <border_width>1</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <pv_name>PMAC:MTR1.MOVN</pv_name> + <gradient>false</gradient> + <border_color> + <color name="Major" red="255" green="0" blue="0" /> + </border_color> + <anti_alias>true</anti_alias> + <line_style>0</line_style> + <widget_type>Rectangle</widget_type> + <fg_gradient_color> + <color red="255" green="255" blue="255" /> + </fg_gradient_color> + <backcolor_alarm_sensitive>false</backcolor_alarm_sensitive> + <background_color> + <color name="Major" red="255" green="0" blue="0" /> + </background_color> + <width>295</width> + <x>12</x> + <name>Rectangle_1</name> + <y>228</y> + <fill_level>0.0</fill_level> + <foreground_color> + <color red="255" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <font> + <opifont.name fontName="Cantarell" height="11" style="0">Default</opifont.name> + </font> + <line_color> + <color name="Major" red="255" green="0" blue="0" /> + </line_color> + </widget> + </widget> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.Label" version="1.0.0"> + <border_style>0</border_style> + <tooltip></tooltip> + <horizontal_alignment>1</horizontal_alignment> + <rules /> + <enabled>true</enabled> + <wuid>-16429ab9:1582e68df9a:-3a7c</wuid> + <transparent>false</transparent> + <auto_size>false</auto_size> + <text>STATUS</text> + <scripts /> + <height>32</height> + <border_width>1</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <vertical_alignment>1</vertical_alignment> + <border_color> + <color red="0" green="128" blue="255" /> + </border_color> + <widget_type>Label</widget_type> + <wrap_words>true</wrap_words> + <background_color> + <color name="SubPanel" red="176" green="218" blue="249" /> + </background_color> + <width>319</width> + <x>2136</x> + <name>Label_15</name> + <y>39</y> + <foreground_color> + <color red="0" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <show_scrollbar>false</show_scrollbar> + <font> + <fontdata fontName="Sans" height="10" style="1" /> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.Label" version="1.0.0"> + <border_style>0</border_style> + <tooltip></tooltip> + <horizontal_alignment>1</horizontal_alignment> + <rules /> + <enabled>false</enabled> + <wuid>-20a75393:15809f6e4ee:-6feb</wuid> + <transparent>true</transparent> + <auto_size>false</auto_size> + <text>Energy (eV)</text> + <scripts /> + <height>20</height> + <border_width>2</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <vertical_alignment>1</vertical_alignment> + <border_color> + <color name="IO Border" red="215" green="215" blue="215" /> + </border_color> + <widget_type>Label</widget_type> + <wrap_words>false</wrap_words> + <background_color> + <color name="IO Background" red="255" green="255" blue="205" /> + </background_color> + <width>151</width> + <x>42</x> + <name>Label Orientation_1</name> + <y>138</y> + <foreground_color> + <color name="IO Foreground" red="0" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <font> + <opifont.name fontName="OpenSans" height="10" style="1">Small Bold</opifont.name> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.TextInput" version="2.0.0"> + <alarm_pulsing>false</alarm_pulsing> + <precision>0</precision> + <tooltip>$(pv_name) +$(pv_value)</tooltip> + <horizontal_alignment>1</horizontal_alignment> + <rules> + <rule name="Disable" prop_id="enabled" out_exp="false"> + <exp bool_exp="pv0==1"> + <value>false</value> + </exp> + <exp bool_exp="pv0==0"> + <value>true</value> + </exp> + <pv trig="true">${PREFIX_SCAN}:$(NAME_MTR).BUSY</pv> + </rule> + </rules> + <pv_value /> + <auto_size>false</auto_size> + <text></text> + <rotation_angle>0.0</rotation_angle> + <show_units>true</show_units> + <height>31</height> + <multiline_input>false</multiline_input> + <border_width>1</border_width> + <visible>true</visible> + <pv_name>${PREFIX_SCAN}:${CALC}-Energy-SP</pv_name> + <selector_type>0</selector_type> + <border_color> + <color red="0" green="128" blue="255" /> + </border_color> + <precision_from_pv>true</precision_from_pv> + <widget_type>Text Input</widget_type> + <confirm_message></confirm_message> + <name>Text Input</name> + <style>0</style> + <actions hook="false" hook_all="false" /> + <border_style>3</border_style> + <forecolor_alarm_sensitive>false</forecolor_alarm_sensitive> + <enabled>true</enabled> + <wuid>-20a75393:15809f6e4ee:-6fea</wuid> + <transparent>false</transparent> + <scripts /> + <border_alarm_sensitive>false</border_alarm_sensitive> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <backcolor_alarm_sensitive>false</backcolor_alarm_sensitive> + <format_type>0</format_type> + <limits_from_pv>false</limits_from_pv> + <background_color> + <color name="TextBackground" red="70" green="70" blue="70" /> + </background_color> + <width>100</width> + <x>228</x> + <y>132</y> + <maximum>1.7976931348623157E308</maximum> + <foreground_color> + <color name="KeyboardEntry" red="0" green="255" blue="255" /> + </foreground_color> + <minimum>-1.7976931348623157E308</minimum> + <font> + <fontdata fontName="Sans" height="10" style="1" /> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.TextInput" version="2.0.0"> + <alarm_pulsing>false</alarm_pulsing> + <precision>0</precision> + <tooltip>$(pv_name) +$(pv_value)</tooltip> + <horizontal_alignment>1</horizontal_alignment> + <rules> + <rule name="Disable" prop_id="enabled" out_exp="false"> + <exp bool_exp="pv0==1"> + <value>false</value> + </exp> + <exp bool_exp="pv0==0"> + <value>true</value> + </exp> + <pv trig="true">${PREFIX_SCAN}:$(NAME_MTR).BUSY</pv> + </rule> + </rules> + <pv_value /> + <auto_size>false</auto_size> + <text></text> + <rotation_angle>0.0</rotation_angle> + <show_units>true</show_units> + <height>31</height> + <multiline_input>false</multiline_input> + <border_width>1</border_width> + <visible>true</visible> + <pv_name>${PREFIX_SCAN}:${CALC}-DistP-SP</pv_name> + <selector_type>0</selector_type> + <border_color> + <color red="0" green="128" blue="255" /> + </border_color> + <precision_from_pv>true</precision_from_pv> + <widget_type>Text Input</widget_type> + <confirm_message></confirm_message> + <name>Text Input_2</name> + <style>0</style> + <actions hook="false" hook_all="false" /> + <border_style>3</border_style> + <forecolor_alarm_sensitive>false</forecolor_alarm_sensitive> + <enabled>true</enabled> + <wuid>-20a75393:15809f6e4ee:-6fe8</wuid> + <transparent>false</transparent> + <scripts /> + <border_alarm_sensitive>false</border_alarm_sensitive> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <backcolor_alarm_sensitive>false</backcolor_alarm_sensitive> + <format_type>0</format_type> + <limits_from_pv>false</limits_from_pv> + <background_color> + <color name="TextBackground" red="70" green="70" blue="70" /> + </background_color> + <width>100</width> + <x>228</x> + <y>174</y> + <maximum>1.7976931348623157E308</maximum> + <foreground_color> + <color name="KeyboardEntry" red="0" green="255" blue="255" /> + </foreground_color> + <minimum>-1.7976931348623157E308</minimum> + <font> + <fontdata fontName="Sans" height="10" style="1" /> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.Label" version="1.0.0"> + <border_style>0</border_style> + <tooltip></tooltip> + <horizontal_alignment>1</horizontal_alignment> + <rules /> + <enabled>false</enabled> + <wuid>-20a75393:15809f6e4ee:-6fe9</wuid> + <transparent>true</transparent> + <auto_size>false</auto_size> + <text>Distance betw. Plates</text> + <scripts /> + <height>20</height> + <border_width>2</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <vertical_alignment>1</vertical_alignment> + <border_color> + <color name="IO Border" red="215" green="215" blue="215" /> + </border_color> + <widget_type>Label</widget_type> + <wrap_words>false</wrap_words> + <background_color> + <color name="IO Background" red="255" green="255" blue="205" /> + </background_color> + <width>174</width> + <x>43</x> + <name>Label Orientation_2</name> + <y>180</y> + <foreground_color> + <color name="IO Foreground" red="0" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <font> + <opifont.name fontName="OpenSans" height="10" style="1">Small Bold</opifont.name> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.Label" version="1.0.0"> + <border_style>0</border_style> + <tooltip></tooltip> + <horizontal_alignment>1</horizontal_alignment> + <rules /> + <enabled>false</enabled> + <wuid>-20a75393:15809f6e4ee:-6fe7</wuid> + <transparent>true</transparent> + <auto_size>false</auto_size> + <text>Plate lenght</text> + <scripts /> + <height>20</height> + <border_width>2</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <vertical_alignment>1</vertical_alignment> + <border_color> + <color name="IO Border" red="215" green="215" blue="215" /> + </border_color> + <widget_type>Label</widget_type> + <wrap_words>false</wrap_words> + <background_color> + <color name="IO Background" red="255" green="255" blue="205" /> + </background_color> + <width>199</width> + <x>30</x> + <name>Label Orientation_3</name> + <y>220</y> + <foreground_color> + <color name="IO Foreground" red="0" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <font> + <opifont.name fontName="OpenSans" height="10" style="1">Small Bold</opifont.name> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.TextInput" version="2.0.0"> + <alarm_pulsing>false</alarm_pulsing> + <precision>0</precision> + <tooltip>$(pv_name) +$(pv_value)</tooltip> + <horizontal_alignment>1</horizontal_alignment> + <rules> + <rule name="Disable" prop_id="enabled" out_exp="false"> + <exp bool_exp="pv0==1"> + <value>false</value> + </exp> + <exp bool_exp="pv0==0"> + <value>true</value> + </exp> + <pv trig="true">${PREFIX_SCAN}:$(NAME_MTR).BUSY</pv> + </rule> + </rules> + <pv_value /> + <auto_size>false</auto_size> + <text></text> + <rotation_angle>0.0</rotation_angle> + <show_units>true</show_units> + <height>31</height> + <multiline_input>false</multiline_input> + <border_width>1</border_width> + <visible>true</visible> + <pv_name>${PREFIX_SCAN}:${CALC}-LenghP-SP</pv_name> + <selector_type>0</selector_type> + <border_color> + <color red="0" green="128" blue="255" /> + </border_color> + <precision_from_pv>true</precision_from_pv> + <widget_type>Text Input</widget_type> + <confirm_message></confirm_message> + <name>Text Input_3</name> + <style>0</style> + <actions hook="false" hook_all="false" /> + <border_style>3</border_style> + <forecolor_alarm_sensitive>false</forecolor_alarm_sensitive> + <enabled>true</enabled> + <wuid>-20a75393:15809f6e4ee:-6fe6</wuid> + <transparent>false</transparent> + <scripts /> + <border_alarm_sensitive>false</border_alarm_sensitive> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <backcolor_alarm_sensitive>false</backcolor_alarm_sensitive> + <format_type>0</format_type> + <limits_from_pv>false</limits_from_pv> + <background_color> + <color name="TextBackground" red="70" green="70" blue="70" /> + </background_color> + <width>100</width> + <x>228</x> + <y>214</y> + <maximum>1.7976931348623157E308</maximum> + <foreground_color> + <color name="KeyboardEntry" red="0" green="255" blue="255" /> + </foreground_color> + <minimum>-1.7976931348623157E308</minimum> + <font> + <fontdata fontName="Sans" height="10" style="1" /> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.TextInput" version="2.0.0"> + <alarm_pulsing>false</alarm_pulsing> + <precision>0</precision> + <tooltip>$(pv_name) +$(pv_value)</tooltip> + <horizontal_alignment>1</horizontal_alignment> + <rules> + <rule name="Disable" prop_id="enabled" out_exp="false"> + <exp bool_exp="pv0==1"> + <value>false</value> + </exp> + <exp bool_exp="pv0==0"> + <value>true</value> + </exp> + <pv trig="true">${PREFIX_SCAN}:$(NAME_MTR).BUSY</pv> + </rule> + </rules> + <pv_value /> + <auto_size>false</auto_size> + <text></text> + <rotation_angle>0.0</rotation_angle> + <show_units>true</show_units> + <height>31</height> + <multiline_input>false</multiline_input> + <border_width>1</border_width> + <visible>true</visible> + <pv_name>${PREFIX_SCAN}:${CALC}-FacLenghP-SP</pv_name> + <selector_type>0</selector_type> + <border_color> + <color red="0" green="128" blue="255" /> + </border_color> + <precision_from_pv>true</precision_from_pv> + <widget_type>Text Input</widget_type> + <confirm_message></confirm_message> + <name>Text Input_4</name> + <style>0</style> + <actions hook="false" hook_all="false" /> + <border_style>3</border_style> + <forecolor_alarm_sensitive>false</forecolor_alarm_sensitive> + <enabled>true</enabled> + <wuid>-20a75393:15809f6e4ee:-6fe4</wuid> + <transparent>false</transparent> + <scripts /> + <border_alarm_sensitive>false</border_alarm_sensitive> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <backcolor_alarm_sensitive>false</backcolor_alarm_sensitive> + <format_type>0</format_type> + <limits_from_pv>false</limits_from_pv> + <background_color> + <color name="TextBackground" red="70" green="70" blue="70" /> + </background_color> + <width>100</width> + <x>228</x> + <y>259</y> + <maximum>1.7976931348623157E308</maximum> + <foreground_color> + <color name="KeyboardEntry" red="0" green="255" blue="255" /> + </foreground_color> + <minimum>-1.7976931348623157E308</minimum> + <font> + <fontdata fontName="Sans" height="10" style="1" /> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.Label" version="1.0.0"> + <border_style>0</border_style> + <tooltip></tooltip> + <horizontal_alignment>1</horizontal_alignment> + <rules /> + <enabled>false</enabled> + <wuid>-20a75393:15809f6e4ee:-6fe5</wuid> + <transparent>true</transparent> + <auto_size>false</auto_size> + <text>Face Plate lenght</text> + <scripts /> + <height>20</height> + <border_width>2</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <vertical_alignment>1</vertical_alignment> + <border_color> + <color name="IO Border" red="215" green="215" blue="215" /> + </border_color> + <widget_type>Label</widget_type> + <wrap_words>false</wrap_words> + <background_color> + <color name="IO Background" red="255" green="255" blue="205" /> + </background_color> + <width>199</width> + <x>30</x> + <name>Label Orientation_4</name> + <y>265</y> + <foreground_color> + <color name="IO Foreground" red="0" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <font> + <opifont.name fontName="OpenSans" height="10" style="1">Small Bold</opifont.name> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.Label" version="1.0.0"> + <border_style>0</border_style> + <tooltip></tooltip> + <horizontal_alignment>1</horizontal_alignment> + <rules /> + <enabled>false</enabled> + <wuid>-20a75393:15809f6e4ee:-6fa3</wuid> + <transparent>true</transparent> + <auto_size>false</auto_size> + <text>Rear Plate lenght</text> + <scripts /> + <height>20</height> + <border_width>2</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <vertical_alignment>1</vertical_alignment> + <border_color> + <color name="IO Border" red="215" green="215" blue="215" /> + </border_color> + <widget_type>Label</widget_type> + <wrap_words>false</wrap_words> + <background_color> + <color name="IO Background" red="255" green="255" blue="205" /> + </background_color> + <width>199</width> + <x>30</x> + <name>Label Orientation_4</name> + <y>309</y> + <foreground_color> + <color name="IO Foreground" red="0" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <font> + <opifont.name fontName="OpenSans" height="10" style="1">Small Bold</opifont.name> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.TextInput" version="2.0.0"> + <alarm_pulsing>false</alarm_pulsing> + <precision>0</precision> + <tooltip>$(pv_name) +$(pv_value)</tooltip> + <horizontal_alignment>1</horizontal_alignment> + <rules> + <rule name="Disable" prop_id="enabled" out_exp="false"> + <exp bool_exp="pv0==1"> + <value>false</value> + </exp> + <exp bool_exp="pv0==0"> + <value>true</value> + </exp> + <pv trig="true">${PREFIX_SCAN}:$(NAME_MTR).BUSY</pv> + </rule> + </rules> + <pv_value /> + <auto_size>false</auto_size> + <text></text> + <rotation_angle>0.0</rotation_angle> + <show_units>true</show_units> + <height>31</height> + <multiline_input>false</multiline_input> + <border_width>1</border_width> + <visible>true</visible> + <pv_name>${PREFIX_SCAN}:${CALC}-RearLenghP-SP</pv_name> + <selector_type>0</selector_type> + <border_color> + <color red="0" green="128" blue="255" /> + </border_color> + <precision_from_pv>true</precision_from_pv> + <widget_type>Text Input</widget_type> + <confirm_message></confirm_message> + <name>Text Input_4</name> + <style>0</style> + <actions hook="false" hook_all="false" /> + <border_style>3</border_style> + <forecolor_alarm_sensitive>false</forecolor_alarm_sensitive> + <enabled>true</enabled> + <wuid>-20a75393:15809f6e4ee:-6fa2</wuid> + <transparent>false</transparent> + <scripts /> + <border_alarm_sensitive>false</border_alarm_sensitive> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <backcolor_alarm_sensitive>false</backcolor_alarm_sensitive> + <format_type>0</format_type> + <limits_from_pv>false</limits_from_pv> + <background_color> + <color name="TextBackground" red="70" green="70" blue="70" /> + </background_color> + <width>100</width> + <x>228</x> + <y>303</y> + <maximum>1.7976931348623157E308</maximum> + <foreground_color> + <color name="KeyboardEntry" red="0" green="255" blue="255" /> + </foreground_color> + <minimum>-1.7976931348623157E308</minimum> + <font> + <fontdata fontName="Sans" height="10" style="1" /> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.polyline" version="1.0.0"> + <border_style>0</border_style> + <forecolor_alarm_sensitive>false</forecolor_alarm_sensitive> + <line_width>1</line_width> + <horizontal_fill>true</horizontal_fill> + <alarm_pulsing>false</alarm_pulsing> + <tooltip>$(pv_name) +$(pv_value)</tooltip> + <arrows>0</arrows> + <rules /> + <enabled>true</enabled> + <wuid>-16429ab9:1582e68df9a:-375a</wuid> + <transparent>false</transparent> + <points> + <point x="30" y="100" /> + <point x="378" y="100" /> + <point x="378" y="100" /> + <point x="378" y="100" /> + <point x="378" y="100" /> + </points> + <fill_arrow>true</fill_arrow> + <pv_value /> + <alpha>255</alpha> + <rotation_angle>0.0</rotation_angle> + <scripts /> + <border_alarm_sensitive>false</border_alarm_sensitive> + <height>1</height> + <border_width>1</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>true</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <pv_name></pv_name> + <border_color> + <color name="Black" red="0" green="0" blue="0" /> + </border_color> + <anti_alias>true</anti_alias> + <line_style>0</line_style> + <arrow_length>20</arrow_length> + <widget_type>Polyline</widget_type> + <backcolor_alarm_sensitive>false</backcolor_alarm_sensitive> + <background_color> + <color name="Black" red="0" green="0" blue="0" /> + </background_color> + <width>349</width> + <x>30</x> + <name>Polyline</name> + <y>100</y> + <fill_level>0.0</fill_level> + <foreground_color> + <color red="255" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <font> + <opifont.name fontName="Cantarell" height="11" style="0">Default</opifont.name> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.Label" version="1.0.0"> + <border_style>0</border_style> + <tooltip></tooltip> + <horizontal_alignment>1</horizontal_alignment> + <rules /> + <enabled>true</enabled> + <wuid>-16429ab9:1582e68df9a:-3759</wuid> + <transparent>false</transparent> + <auto_size>false</auto_size> + <text>Dimension</text> + <scripts /> + <height>20</height> + <border_width>1</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <vertical_alignment>1</vertical_alignment> + <border_color> + <color red="0" green="128" blue="255" /> + </border_color> + <widget_type>Label</widget_type> + <wrap_words>false</wrap_words> + <background_color> + <color name="panelArea" red="240" green="240" blue="240" /> + </background_color> + <width>229</width> + <x>96</x> + <name>Label_156</name> + <y>91</y> + <foreground_color> + <color red="0" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <font> + <opifont.name fontName="OpenSans" height="10" style="1">Small Bold</opifont.name> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.polyline" version="1.0.0"> + <border_style>0</border_style> + <forecolor_alarm_sensitive>false</forecolor_alarm_sensitive> + <line_width>1</line_width> + <horizontal_fill>true</horizontal_fill> + <alarm_pulsing>false</alarm_pulsing> + <tooltip>$(pv_name) +$(pv_value)</tooltip> + <arrows>0</arrows> + <rules /> + <enabled>true</enabled> + <wuid>-16429ab9:1582e68df9a:-3733</wuid> + <transparent>false</transparent> + <points> + <point x="29" y="873" /> + <point x="377" y="873" /> + <point x="377" y="873" /> + <point x="377" y="873" /> + <point x="377" y="873" /> + </points> + <fill_arrow>true</fill_arrow> + <pv_value /> + <alpha>255</alpha> + <rotation_angle>0.0</rotation_angle> + <scripts /> + <border_alarm_sensitive>false</border_alarm_sensitive> + <height>1</height> + <border_width>1</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>true</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <pv_name></pv_name> + <border_color> + <color name="Black" red="0" green="0" blue="0" /> + </border_color> + <anti_alias>true</anti_alias> + <line_style>0</line_style> + <arrow_length>20</arrow_length> + <widget_type>Polyline</widget_type> + <backcolor_alarm_sensitive>false</backcolor_alarm_sensitive> + <background_color> + <color name="Black" red="0" green="0" blue="0" /> + </background_color> + <width>349</width> + <x>29</x> + <name>Polyline</name> + <y>873</y> + <fill_level>0.0</fill_level> + <foreground_color> + <color red="255" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <font> + <opifont.name fontName="Cantarell" height="11" style="0">Default</opifont.name> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.Label" version="1.0.0"> + <border_style>0</border_style> + <tooltip></tooltip> + <horizontal_alignment>1</horizontal_alignment> + <rules /> + <enabled>true</enabled> + <wuid>-16429ab9:1582e68df9a:-3732</wuid> + <transparent>false</transparent> + <auto_size>false</auto_size> + <text>Motor</text> + <scripts /> + <height>20</height> + <border_width>1</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <vertical_alignment>1</vertical_alignment> + <border_color> + <color red="0" green="128" blue="255" /> + </border_color> + <widget_type>Label</widget_type> + <wrap_words>false</wrap_words> + <background_color> + <color name="panelArea" red="240" green="240" blue="240" /> + </background_color> + <width>229</width> + <x>96</x> + <name>Label_156</name> + <y>864</y> + <foreground_color> + <color red="0" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <font> + <opifont.name fontName="OpenSans" height="10" style="1">Small Bold</opifont.name> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.TextInput" version="2.0.0"> + <alarm_pulsing>false</alarm_pulsing> + <precision>1</precision> + <tooltip>$(pv_name) +$(pv_value)</tooltip> + <horizontal_alignment>1</horizontal_alignment> + <rules> + <rule name="Disable" prop_id="enabled" out_exp="false"> + <exp bool_exp="pv0==1"> + <value>false</value> + </exp> + <exp bool_exp="pv0==0"> + <value>true</value> + </exp> + <pv trig="true">${PREFIX_SCAN}:$(NAME_MTR).BUSY</pv> + </rule> + </rules> + <pv_value /> + <auto_size>false</auto_size> + <text></text> + <rotation_angle>0.0</rotation_angle> + <show_units>true</show_units> + <height>31</height> + <multiline_input>false</multiline_input> + <border_width>1</border_width> + <visible>true</visible> + <pv_name>PMAC:MTR1.VELO</pv_name> + <selector_type>0</selector_type> + <border_color> + <color red="0" green="128" blue="255" /> + </border_color> + <precision_from_pv>false</precision_from_pv> + <widget_type>Text Input</widget_type> + <confirm_message></confirm_message> + <name>Text Input_9</name> + <style>0</style> + <actions hook="false" hook_all="false" /> + <border_style>3</border_style> + <forecolor_alarm_sensitive>false</forecolor_alarm_sensitive> + <enabled>true</enabled> + <wuid>-16429ab9:1582e68df9a:-3717</wuid> + <transparent>false</transparent> + <scripts /> + <border_alarm_sensitive>false</border_alarm_sensitive> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <backcolor_alarm_sensitive>false</backcolor_alarm_sensitive> + <format_type>0</format_type> + <limits_from_pv>false</limits_from_pv> + <background_color> + <color name="TextBackground" red="70" green="70" blue="70" /> + </background_color> + <width>100</width> + <x>228</x> + <y>900</y> + <maximum>1.7976931348623157E308</maximum> + <foreground_color> + <color name="KeyboardEntry" red="0" green="255" blue="255" /> + </foreground_color> + <minimum>-1.7976931348623157E308</minimum> + <font> + <fontdata fontName="Sans" height="10" style="1" /> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.Label" version="1.0.0"> + <border_style>0</border_style> + <tooltip></tooltip> + <horizontal_alignment>1</horizontal_alignment> + <rules /> + <enabled>false</enabled> + <wuid>-16429ab9:1582e68df9a:-370d</wuid> + <transparent>true</transparent> + <auto_size>false</auto_size> + <text>Velocity</text> + <scripts /> + <height>20</height> + <border_width>2</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <vertical_alignment>1</vertical_alignment> + <border_color> + <color name="IO Border" red="215" green="215" blue="215" /> + </border_color> + <widget_type>Label</widget_type> + <wrap_words>false</wrap_words> + <background_color> + <color name="IO Background" red="255" green="255" blue="205" /> + </background_color> + <width>86</width> + <x>98</x> + <name>Label Orientation_15</name> + <y>906</y> + <foreground_color> + <color name="IO Foreground" red="0" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <font> + <opifont.name fontName="OpenSans" height="10" style="1">Small Bold</opifont.name> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.ActionButton" version="2.0.0"> + <toggle_button>false</toggle_button> + <border_style>0</border_style> + <forecolor_alarm_sensitive>false</forecolor_alarm_sensitive> + <alarm_pulsing>false</alarm_pulsing> + <tooltip>$(pv_name)</tooltip> + <push_action_index>0</push_action_index> + <rules /> + <enabled>true</enabled> + <wuid>-16429ab9:1582e68df9a:-3721</wuid> + <pv_value /> + <text>GO!</text> + <scripts /> + <border_alarm_sensitive>false</border_alarm_sensitive> + <height>36</height> + <border_width>1</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <image></image> + <visible>true</visible> + <pv_name></pv_name> + <border_color> + <color name="Blue" red="0" green="128" blue="255" /> + </border_color> + <widget_type>Action Button</widget_type> + <backcolor_alarm_sensitive>false</backcolor_alarm_sensitive> + <background_color> + <color name="Button Grey" red="180" green="180" blue="180" /> + </background_color> + <width>97</width> + <x>229</x> + <name>Action Button_1</name> + <y>942</y> + <style>0</style> + <foreground_color> + <color name="Black" red="0" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false"> + <action type="WRITE_PV"> + <pv_name>PMAC:MTR1-HOMCMD</pv_name> + <value>1</value> + <timeout>10</timeout> + <confirm_message></confirm_message> + <description></description> + </action> + </actions> + <font> + <opifont.name fontName="Cantarell" height="11" style="1">Default Bold</opifont.name> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.polyline" version="1.0.0"> + <border_style>0</border_style> + <forecolor_alarm_sensitive>false</forecolor_alarm_sensitive> + <line_width>5</line_width> + <horizontal_fill>true</horizontal_fill> + <alarm_pulsing>false</alarm_pulsing> + <tooltip>$(pv_name) +$(pv_value)</tooltip> + <arrows>0</arrows> + <rules /> + <enabled>true</enabled> + <wuid>-16429ab9:1582e68df9a:-363a</wuid> + <transparent>false</transparent> + <points> + <point x="29" y="1038" /> + <point x="377" y="1038" /> + <point x="377" y="1038" /> + <point x="377" y="1038" /> + <point x="377" y="1038" /> + </points> + <fill_arrow>true</fill_arrow> + <pv_value /> + <alpha>255</alpha> + <rotation_angle>0.0</rotation_angle> + <scripts /> + <border_alarm_sensitive>false</border_alarm_sensitive> + <height>1</height> + <border_width>1</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>true</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <pv_name></pv_name> + <border_color> + <color name="Black" red="0" green="0" blue="0" /> + </border_color> + <anti_alias>true</anti_alias> + <line_style>0</line_style> + <arrow_length>20</arrow_length> + <widget_type>Polyline</widget_type> + <backcolor_alarm_sensitive>false</backcolor_alarm_sensitive> + <background_color> + <color name="Black" red="0" green="0" blue="0" /> + </background_color> + <width>349</width> + <x>29</x> + <name>Polyline</name> + <y>1038</y> + <fill_level>0.0</fill_level> + <foreground_color> + <color red="255" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <font> + <opifont.name fontName="Cantarell" height="11" style="0">Default</opifont.name> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.ActionButton" version="2.0.0"> + <toggle_button>false</toggle_button> + <border_style>0</border_style> + <forecolor_alarm_sensitive>false</forecolor_alarm_sensitive> + <alarm_pulsing>false</alarm_pulsing> + <tooltip>$(pv_name)</tooltip> + <push_action_index>0</push_action_index> + <rules /> + <enabled>true</enabled> + <wuid>-16429ab9:158444d4181:-720b</wuid> + <pv_value /> + <text>Reset</text> + <scripts /> + <border_alarm_sensitive>false</border_alarm_sensitive> + <height>36</height> + <border_width>1</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <image></image> + <visible>true</visible> + <pv_name></pv_name> + <border_color> + <color name="Blue" red="0" green="128" blue="255" /> + </border_color> + <widget_type>Action Button</widget_type> + <backcolor_alarm_sensitive>false</backcolor_alarm_sensitive> + <background_color> + <color name="Button Grey" red="180" green="180" blue="180" /> + </background_color> + <width>98</width> + <x>229</x> + <name>Action Button_1</name> + <y>993</y> + <style>0</style> + <foreground_color> + <color name="Black" red="0" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false"> + <action type="WRITE_PV"> + <pv_name>PMAC:MT1-HOMCMD</pv_name> + <value>1</value> + <timeout>10</timeout> + <confirm_message></confirm_message> + <description></description> + </action> + </actions> + <font> + <opifont.name fontName="Cantarell" height="11" style="1">Default Bold</opifont.name> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.TextInput" version="2.0.0"> + <alarm_pulsing>false</alarm_pulsing> + <precision>2</precision> + <tooltip>$(pv_name) +$(pv_value)</tooltip> + <horizontal_alignment>1</horizontal_alignment> + <rules /> + <pv_value /> + <auto_size>false</auto_size> + <text></text> + <rotation_angle>0.0</rotation_angle> + <show_units>false</show_units> + <height>22</height> + <multiline_input>false</multiline_input> + <border_width>1</border_width> + <visible>true</visible> + <pv_name>PMAC:MTR1.RBV</pv_name> + <selector_type>0</selector_type> + <border_color> + <color red="0" green="128" blue="255" /> + </border_color> + <precision_from_pv>false</precision_from_pv> + <widget_type>Text Input</widget_type> + <confirm_message></confirm_message> + <name>Text Input_9</name> + <style>0</style> + <actions hook="false" hook_all="false" /> + <border_style>3</border_style> + <forecolor_alarm_sensitive>false</forecolor_alarm_sensitive> + <enabled>true</enabled> + <wuid>-16429ab9:158444d4181:-628c</wuid> + <transparent>false</transparent> + <scripts /> + <border_alarm_sensitive>false</border_alarm_sensitive> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <backcolor_alarm_sensitive>false</backcolor_alarm_sensitive> + <format_type>0</format_type> + <limits_from_pv>false</limits_from_pv> + <background_color> + <color name="TextBackground" red="70" green="70" blue="70" /> + </background_color> + <width>100</width> + <x>1122</x> + <y>1089</y> + <maximum>1.7976931348623157E308</maximum> + <foreground_color> + <color name="Green On" red="0" green="255" blue="0" /> + </foreground_color> + <minimum>-1.7976931348623157E308</minimum> + <font> + <fontdata fontName="Sans" height="10" style="1" /> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.combo" version="1.0.0"> + <border_style>0</border_style> + <forecolor_alarm_sensitive>false</forecolor_alarm_sensitive> + <alarm_pulsing>false</alarm_pulsing> + <tooltip>$(pv_name) +$(pv_value)</tooltip> + <rules /> + <enabled>true</enabled> + <wuid>59fc39f9:158487e5950:-5c74</wuid> + <pv_value /> + <scripts /> + <border_alarm_sensitive>true</border_alarm_sensitive> + <height>24</height> + <border_width>0</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>false</height_scalable> + <keep_wh_ratio>true</keep_wh_ratio> + </scale_options> + <items_from_pv>true</items_from_pv> + <visible>true</visible> + <pv_name>PMAC:MTR1-HOMCPTFLAG</pv_name> + <border_color> + <color red="215" green="215" blue="215" /> + </border_color> + <widget_type>Combo</widget_type> + <backcolor_alarm_sensitive>false</backcolor_alarm_sensitive> + <background_color> + <color red="178" green="178" blue="178" /> + </background_color> + <width>103</width> + <x>48</x> + <name>Combo</name> + <y>948</y> + <foreground_color> + <color red="0" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <font> + <opifont.name fontName="Cantarell" height="11" style="0">Default</opifont.name> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.polyline" version="1.0.0"> + <border_style>0</border_style> + <forecolor_alarm_sensitive>false</forecolor_alarm_sensitive> + <line_width>5</line_width> + <horizontal_fill>true</horizontal_fill> + <alarm_pulsing>false</alarm_pulsing> + <tooltip>$(pv_name) +$(pv_value)</tooltip> + <arrows>2</arrows> + <rules /> + <enabled>true</enabled> + <wuid>59fc39f9:158487e5950:-555c</wuid> + <transparent>false</transparent> + <points> + <point x="166" y="959" /> + <point x="183" y="959" /> + <point x="183" y="959" /> + <point x="223" y="959" /> + </points> + <fill_arrow>true</fill_arrow> + <pv_value /> + <alpha>255</alpha> + <rotation_angle>0.0</rotation_angle> + <scripts /> + <border_alarm_sensitive>false</border_alarm_sensitive> + <height>1</height> + <border_width>1</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>true</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <pv_name></pv_name> + <border_color> + <color red="0" green="128" blue="255" /> + </border_color> + <anti_alias>true</anti_alias> + <line_style>0</line_style> + <arrow_length>20</arrow_length> + <widget_type>Polyline</widget_type> + <backcolor_alarm_sensitive>false</backcolor_alarm_sensitive> + <background_color> + <color red="0" green="0" blue="0" /> + </background_color> + <width>58</width> + <x>166</x> + <name>Polyline_5</name> + <y>959</y> + <fill_level>0.0</fill_level> + <foreground_color> + <color red="255" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <font> + <opifont.name fontName="Cantarell" height="11" style="0">Default</opifont.name> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.Label" version="1.0.0"> + <border_style>0</border_style> + <tooltip></tooltip> + <horizontal_alignment>1</horizontal_alignment> + <rules> + <rule name="Visible" prop_id="visible" out_exp="false"> + <exp bool_exp="pv0==1"> + <value>true</value> + </exp> + <exp bool_exp="pv0==0"> + <value>false</value> + </exp> + <pv trig="true">PMAC:MTR1.MOVN</pv> + </rule> + </rules> + <enabled>true</enabled> + <wuid>59fc39f9:158487e5950:-4c5d</wuid> + <transparent>true</transparent> + <auto_size>false</auto_size> + <text>MOTOR IS MOVING ...</text> + <scripts /> + <height>20</height> + <border_width>1</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <vertical_alignment>1</vertical_alignment> + <border_color> + <color red="0" green="128" blue="255" /> + </border_color> + <widget_type>Label</widget_type> + <wrap_words>false</wrap_words> + <background_color> + <color red="255" green="255" blue="255" /> + </background_color> + <width>181</width> + <x>936</x> + <name>Label</name> + <y>1090</y> + <foreground_color> + <color name="Major" red="255" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <font> + <opifont.name fontName="Cantarell" height="11" style="1">Default Bold</opifont.name> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.ActionButton" version="2.0.0"> + <toggle_button>false</toggle_button> + <border_style>0</border_style> + <forecolor_alarm_sensitive>false</forecolor_alarm_sensitive> + <alarm_pulsing>false</alarm_pulsing> + <tooltip>$(pv_name)</tooltip> + <push_action_index>0</push_action_index> + <rules /> + <enabled>true</enabled> + <wuid>59fc39f9:158487e5950:-16e5</wuid> + <pv_value /> + <text>Reset</text> + <scripts /> + <border_alarm_sensitive>false</border_alarm_sensitive> + <height>36</height> + <border_width>1</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <image></image> + <visible>true</visible> + <pv_name></pv_name> + <border_color> + <color name="Blue" red="0" green="128" blue="255" /> + </border_color> + <widget_type>Action Button</widget_type> + <backcolor_alarm_sensitive>false</backcolor_alarm_sensitive> + <background_color> + <color name="Button Grey" red="180" green="180" blue="180" /> + </background_color> + <width>72</width> + <x>48</x> + <name>Action Button_1</name> + <y>1066</y> + <style>0</style> + <foreground_color> + <color name="Black" red="0" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false"> + <action type="WRITE_PV"> + <pv_name>SCAN:BUFF-DET1-RES-WF</pv_name> + <value>1</value> + <timeout>10</timeout> + <confirm_message></confirm_message> + <description></description> + </action> + </actions> + <font> + <opifont.name fontName="Cantarell" height="11" style="1">Default Bold</opifont.name> + </font> + </widget> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.groupingContainer" version="1.0.0"> + <border_style>0</border_style> + <tooltip></tooltip> + <rules /> + <enabled>true</enabled> + <wuid>2fea3147:153609206ed:-7765</wuid> + <transparent>true</transparent> + <lock_children>false</lock_children> + <scripts /> + <height>1130</height> + <border_width>1</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <macros> + <include_parent_macros>true</include_parent_macros> + </macros> + <visible>false</visible> + <border_color> + <color red="0" green="128" blue="255" /> + </border_color> + <widget_type>Grouping Container</widget_type> + <background_color> + <color red="240" green="240" blue="240" /> + </background_color> + <width>2489</width> + <x>1</x> + <name>DTACQ</name> + <y>1</y> + <foreground_color> + <color red="192" green="192" blue="192" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <fc>false</fc> + <show_scrollbar>true</show_scrollbar> + <font> + <opifont.name fontName="Cantarell" height="11" style="0">Default</opifont.name> + </font> + <widget typeId="org.csstudio.opibuilder.widgets.Rectangle" version="1.0.0"> + <border_style>0</border_style> + <forecolor_alarm_sensitive>false</forecolor_alarm_sensitive> + <line_width>0</line_width> + <horizontal_fill>true</horizontal_fill> + <alarm_pulsing>false</alarm_pulsing> + <tooltip>$(pv_name) +$(pv_value)</tooltip> + <rules /> + <enabled>true</enabled> + <wuid>-3f6498d2:15645d229d4:-663a</wuid> + <transparent>false</transparent> + <pv_value /> + <alpha>255</alpha> + <bg_gradient_color> + <color red="255" green="255" blue="255" /> + </bg_gradient_color> + <scripts /> + <border_alarm_sensitive>false</border_alarm_sensitive> + <height>20</height> + <border_width>1</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <pv_name></pv_name> + <gradient>false</gradient> + <border_color> + <color red="0" green="128" blue="255" /> + </border_color> + <anti_alias>true</anti_alias> + <line_style>0</line_style> + <widget_type>Rectangle</widget_type> + <fg_gradient_color> + <color red="255" green="255" blue="255" /> + </fg_gradient_color> + <backcolor_alarm_sensitive>false</backcolor_alarm_sensitive> + <background_color> + <color red="186" green="189" blue="182" /> + </background_color> + <width>160</width> + <x>450</x> + <name>Rectangle_2</name> + <y>690</y> + <fill_level>0.0</fill_level> + <foreground_color> + <color red="255" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <font> + <opifont.name fontName="Cantarell" height="11" style="0">Default</opifont.name> + </font> + <line_color> + <color red="128" green="0" blue="255" /> + </line_color> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.xyGraph" version="1.0.0"> + <axis_1_scale_format></axis_1_scale_format> + <trace_2_x_axis_index>0</trace_2_x_axis_index> + <alarm_pulsing>false</alarm_pulsing> + <tooltip>$(trace_0_y_pv) +$(trace_0_y_pv_value)</tooltip> + <trace_0_concatenate_data>false</trace_0_concatenate_data> + <trace_0_trace_type>0</trace_0_trace_type> + <border_width>1</border_width> + <trace_1_x_axis_index>0</trace_1_x_axis_index> + <border_style>0</border_style> + <axis_0_grid_color> + <color red="78" green="154" blue="6" /> + </axis_0_grid_color> + <axis_2_visible>false</axis_2_visible> + <trace_0_name>$(trace_0_y_pv)</trace_0_name> + <axis_2_minimum>0.0</axis_2_minimum> + <trace_0_update_mode>0</trace_0_update_mode> + <trace_1_x_pv>$(PREFIX_SIG):$(SIGNAL_FC):RCURSOR_X</trace_1_x_pv> + <wuid>-3f6498d2:15645d229d4:-6639</wuid> + <transparent>false</transparent> + <trace_1_update_mode>0</trace_1_update_mode> + <axis_0_title_font> + <opifont.name fontName="Cantarell" height="11" style="1">Default Bold</opifont.name> + </axis_0_title_font> + <trace_2_update_mode>0</trace_2_update_mode> + <background_color> + <color red="186" green="189" blue="182" /> + </background_color> + <x>450</x> + <y>84</y> + <trace_0_x_axis_index>0</trace_0_x_axis_index> + <axis_count>3</axis_count> + <trace_1_point_size>4</trace_1_point_size> + <trace_1_anti_alias>true</trace_1_anti_alias> + <pv_value /> + <axis_2_grid_color> + <color red="200" green="200" blue="200" /> + </axis_2_grid_color> + <trace_0_buffer_size>520</trace_0_buffer_size> + <trace_2_buffer_size>2</trace_2_buffer_size> + <axis_1_maximum>20.0</axis_1_maximum> + <axis_0_scale_font> + <opifont.name fontName="Cantarell" height="11" style="0">Default</opifont.name> + </axis_0_scale_font> + <trigger_pv></trigger_pv> + <widget_type>XY Graph</widget_type> + <trace_2_line_width>2</trace_2_line_width> + <axis_1_axis_color> + <color red="0" green="0" blue="0" /> + </axis_1_axis_color> + <axis_0_scale_format></axis_0_scale_format> + <axis_1_log_scale>false</axis_1_log_scale> + <title></title> + <trace_0_visible>true</trace_0_visible> + <trace_1_name>$(trace_1_y_pv)</trace_1_name> + <trace_1_y_pv_value /> + <axis_2_auto_scale>true</axis_2_auto_scale> + <show_legend>false</show_legend> + <axis_0_axis_title>ms</axis_0_axis_title> + <axis_0_axis_color> + <color red="0" green="0" blue="0" /> + </axis_0_axis_color> + <axis_2_scale_font> + <opifont.name fontName="Cantarell" height="11" style="0">Default</opifont.name> + </axis_2_scale_font> + <trace_2_update_delay>100</trace_2_update_delay> + <axis_0_dash_grid_line>false</axis_0_dash_grid_line> + <trace_0_point_style>2</trace_0_point_style> + <trace_1_point_style>0</trace_1_point_style> + <trace_0_line_width>1</trace_0_line_width> + <axis_2_y_axis>false</axis_2_y_axis> + <axis_0_time_format>0</axis_0_time_format> + <trace_count>3</trace_count> + <axis_1_show_grid>true</axis_1_show_grid> + <trace_2_trace_color> + <color name="Major" red="255" green="0" blue="0" /> + </trace_2_trace_color> + <axis_1_dash_grid_line>true</axis_1_dash_grid_line> + <trace_2_trace_type>0</trace_2_trace_type> + <show_toolbar>false</show_toolbar> + <axis_0_visible>true</axis_0_visible> + <axis_0_show_grid>true</axis_0_show_grid> + <trace_0_y_axis_index>1</trace_0_y_axis_index> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>true</keep_wh_ratio> + </scale_options> + <trace_1_y_pv>loc://val(-100,100)</trace_1_y_pv> + <trace_2_concatenate_data>false</trace_2_concatenate_data> + <backcolor_alarm_sensitive>false</backcolor_alarm_sensitive> + <trace_2_y_pv_value /> + <trace_2_anti_alias>true</trace_2_anti_alias> + <axis_0_maximum>100.0</axis_0_maximum> + <trace_1_y_axis_index>1</trace_1_y_axis_index> + <trace_2_name>$(trace_2_y_pv)</trace_2_name> + <height>607</height> + <trace_2_visible>true</trace_2_visible> + <trigger_pv_value /> + <axis_1_grid_color> + <color red="78" green="154" blue="6" /> + </axis_1_grid_color> + <actions hook="false" hook_all="false" /> + <trace_2_point_size>4</trace_2_point_size> + <axis_2_axis_color> + <color red="0" green="0" blue="0" /> + </axis_2_axis_color> + <axis_0_log_scale>false</axis_0_log_scale> + <trace_0_x_pv_value /> + <axis_0_auto_scale_threshold>0.0</axis_0_auto_scale_threshold> + <rules /> + <axis_1_visible>true</axis_1_visible> + <axis_2_show_grid>false</axis_2_show_grid> + <trace_0_update_delay>1</trace_0_update_delay> + <trace_1_concatenate_data>false</trace_1_concatenate_data> + <trace_1_trace_color> + <color red="242" green="26" blue="26" /> + </trace_1_trace_color> + <pv_name></pv_name> + <axis_2_log_scale>false</axis_2_log_scale> + <axis_2_auto_scale_threshold>0.0</axis_2_auto_scale_threshold> + <name>XY Graph</name> + <trace_1_trace_type>0</trace_1_trace_type> + <axis_0_auto_scale>true</axis_0_auto_scale> + <axis_0_minimum>0.0</axis_0_minimum> + <trace_2_y_axis_index>1</trace_2_y_axis_index> + <trace_1_update_delay>10</trace_1_update_delay> + <axis_2_dash_grid_line>false</axis_2_dash_grid_line> + <axis_1_axis_title>mA</axis_1_axis_title> + <trace_2_x_pv_value /> + <axis_1_auto_scale>false</axis_1_auto_scale> + <trace_1_line_width>2</trace_1_line_width> + <trace_2_y_pv>loc://val(-100,100)</trace_2_y_pv> + <trace_1_plot_mode>0</trace_1_plot_mode> + <border_color> + <color red="0" green="128" blue="255" /> + </border_color> + <axis_2_title_font> + <opifont.name fontName="Cantarell" height="11" style="1">Default Bold</opifont.name> + </axis_2_title_font> + <trace_0_y_pv>$(PREFIX_SIG):$(SIGNAL_FC)</trace_0_y_pv> + <trace_2_point_style>0</trace_2_point_style> + <trace_0_plot_mode>0</trace_0_plot_mode> + <enabled>true</enabled> + <trace_0_x_pv>$(PREFIX_SIG):$(SIGNAL_FC)_XMS</trace_0_x_pv> + <axis_1_scale_font> + <opifont.name fontName="Cantarell" height="11" style="0">Default</opifont.name> + </axis_1_scale_font> + <axis_1_time_format>0</axis_1_time_format> + <axis_2_time_format>0</axis_2_time_format> + <axis_2_left_bottom_side>false</axis_2_left_bottom_side> + <border_alarm_sensitive>false</border_alarm_sensitive> + <axis_2_maximum>22.0</axis_2_maximum> + <show_plot_area_border>false</show_plot_area_border> + <width>853</width> + <trace_1_x_pv_value /> + <axis_1_minimum>-1.0</axis_1_minimum> + <title_font> + <opifont.name fontName="Cantarell" height="11" style="1">Default Bold</opifont.name> + </title_font> + <trace_0_y_pv_value /> + <trace_1_visible>true</trace_1_visible> + <plot_area_background_color> + <color red="0" green="0" blue="0" /> + </plot_area_background_color> + <axis_1_title_font> + <opifont.name fontName="Cantarell" height="11" style="1">Default Bold</opifont.name> + </axis_1_title_font> + <visible>true</visible> + <axis_2_axis_title>ms</axis_2_axis_title> + <trace_1_buffer_size>2</trace_1_buffer_size> + <forecolor_alarm_sensitive>false</forecolor_alarm_sensitive> + <axis_2_scale_format></axis_2_scale_format> + <scripts /> + <trace_0_point_size>3</trace_0_point_size> + <trace_0_trace_color> + <color red="0" green="255" blue="0" /> + </trace_0_trace_color> + <trace_0_anti_alias>true</trace_0_anti_alias> + <axis_1_auto_scale_threshold>0.0</axis_1_auto_scale_threshold> + <trace_2_plot_mode>0</trace_2_plot_mode> + <trace_2_x_pv>$(PREFIX_SIG):$(SIGNAL_FC):LCURSOR_X</trace_2_x_pv> + <foreground_color> + <color red="0" green="0" blue="255" /> + </foreground_color> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.RoundedRectangle" version="1.0.0"> + <border_style>0</border_style> + <forecolor_alarm_sensitive>false</forecolor_alarm_sensitive> + <line_width>0</line_width> + <horizontal_fill>true</horizontal_fill> + <alarm_pulsing>false</alarm_pulsing> + <tooltip>$(pv_name) +$(pv_value)</tooltip> + <rules /> + <enabled>true</enabled> + <wuid>-3f6498d2:15645d229d4:-6638</wuid> + <transparent>false</transparent> + <pv_value /> + <alpha>255</alpha> + <corner_height>16</corner_height> + <bg_gradient_color> + <color red="255" green="255" blue="255" /> + </bg_gradient_color> + <scripts /> + <border_alarm_sensitive>false</border_alarm_sensitive> + <height>97</height> + <border_width>1</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <pv_name></pv_name> + <gradient>false</gradient> + <border_color> + <color red="0" green="128" blue="255" /> + </border_color> + <anti_alias>true</anti_alias> + <corner_width>16</corner_width> + <line_style>0</line_style> + <widget_type>Rounded Rectangle</widget_type> + <fg_gradient_color> + <color red="255" green="255" blue="255" /> + </fg_gradient_color> + <backcolor_alarm_sensitive>false</backcolor_alarm_sensitive> + <background_color> + <color red="186" green="189" blue="182" /> + </background_color> + <width>349</width> + <x>48</x> + <name>Rounded Rectangle_4</name> + <y>90</y> + <fill_level>0.0</fill_level> + <foreground_color> + <color red="255" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <font> + <opifont.name fontName="Cantarell" height="11" style="0">Default</opifont.name> + </font> + <line_color> + <color red="128" green="0" blue="255" /> + </line_color> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.TextInput" version="2.0.0"> + <alarm_pulsing>false</alarm_pulsing> + <precision>0</precision> + <tooltip>$(pv_name) +$(pv_value)</tooltip> + <horizontal_alignment>1</horizontal_alignment> + <rules /> + <pv_value /> + <auto_size>false</auto_size> + <text></text> + <rotation_angle>0.0</rotation_angle> + <show_units>false</show_units> + <height>31</height> + <multiline_input>false</multiline_input> + <border_width>1</border_width> + <visible>true</visible> + <pv_name>$(DTACQ-NAME):TRIGGER:PRETRIGGER_ms</pv_name> + <selector_type>0</selector_type> + <border_color> + <color red="0" green="128" blue="255" /> + </border_color> + <precision_from_pv>true</precision_from_pv> + <widget_type>Text Input</widget_type> + <confirm_message></confirm_message> + <name>Text Input</name> + <style>0</style> + <actions hook="false" hook_all="false" /> + <border_style>3</border_style> + <forecolor_alarm_sensitive>false</forecolor_alarm_sensitive> + <enabled>false</enabled> + <wuid>-3f6498d2:15645d229d4:-6637</wuid> + <transparent>false</transparent> + <scripts /> + <border_alarm_sensitive>false</border_alarm_sensitive> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <backcolor_alarm_sensitive>false</backcolor_alarm_sensitive> + <format_type>0</format_type> + <limits_from_pv>false</limits_from_pv> + <background_color> + <color name="TextBackground" red="70" green="70" blue="70" /> + </background_color> + <width>85</width> + <x>66</x> + <y>136</y> + <maximum>1.7976931348623157E308</maximum> + <foreground_color> + <color name="KeyboardEntry" red="0" green="255" blue="255" /> + </foreground_color> + <minimum>-1.7976931348623157E308</minimum> + <font> + <opifont.name fontName="Cantarell" height="11" style="1">Default Bold</opifont.name> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.Label" version="1.0.0"> + <border_style>0</border_style> + <tooltip></tooltip> + <horizontal_alignment>1</horizontal_alignment> + <rules /> + <enabled>true</enabled> + <wuid>-3f6498d2:15645d229d4:-6636</wuid> + <transparent>false</transparent> + <auto_size>false</auto_size> + <text>Display interval</text> + <scripts /> + <height>32</height> + <border_width>1</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <vertical_alignment>1</vertical_alignment> + <border_color> + <color red="0" green="128" blue="255" /> + </border_color> + <widget_type>Label</widget_type> + <wrap_words>true</wrap_words> + <background_color> + <color name="SubPanel" red="176" green="218" blue="249" /> + </background_color> + <width>349</width> + <x>48</x> + <name>Label_15</name> + <y>85</y> + <foreground_color> + <color red="0" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <show_scrollbar>false</show_scrollbar> + <font> + <fontdata fontName="Sans" height="10" style="1" /> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.TextInput" version="2.0.0"> + <alarm_pulsing>false</alarm_pulsing> + <precision>2</precision> + <tooltip>$(pv_name) +$(pv_value)</tooltip> + <horizontal_alignment>1</horizontal_alignment> + <rules /> + <pv_value /> + <auto_size>false</auto_size> + <text></text> + <rotation_angle>0.0</rotation_angle> + <show_units>false</show_units> + <height>31</height> + <multiline_input>false</multiline_input> + <border_width>1</border_width> + <visible>true</visible> + <pv_name>$(DTACQ-NAME):NSAMPLES_ms</pv_name> + <selector_type>0</selector_type> + <border_color> + <color red="0" green="128" blue="255" /> + </border_color> + <precision_from_pv>false</precision_from_pv> + <widget_type>Text Input</widget_type> + <confirm_message></confirm_message> + <name>Text Input_15</name> + <style>0</style> + <actions hook="false" hook_all="false" /> + <border_style>3</border_style> + <forecolor_alarm_sensitive>false</forecolor_alarm_sensitive> + <enabled>true</enabled> + <wuid>-3f6498d2:15645d229d4:-6635</wuid> + <transparent>false</transparent> + <scripts /> + <border_alarm_sensitive>false</border_alarm_sensitive> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <backcolor_alarm_sensitive>false</backcolor_alarm_sensitive> + <format_type>0</format_type> + <limits_from_pv>false</limits_from_pv> + <background_color> + <color name="TextBackground" red="70" green="70" blue="70" /> + </background_color> + <width>85</width> + <x>216</x> + <y>136</y> + <maximum>1.7976931348623157E308</maximum> + <foreground_color> + <color name="KeyboardEntry" red="0" green="255" blue="255" /> + </foreground_color> + <minimum>-1.7976931348623157E308</minimum> + <font> + <opifont.name fontName="Cantarell" height="11" style="1">Default Bold</opifont.name> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.polyline" version="1.0.0"> + <border_style>0</border_style> + <forecolor_alarm_sensitive>false</forecolor_alarm_sensitive> + <line_width>2</line_width> + <horizontal_fill>true</horizontal_fill> + <alarm_pulsing>false</alarm_pulsing> + <tooltip>$(pv_name) +$(pv_value)</tooltip> + <arrows>1</arrows> + <rules /> + <enabled>true</enabled> + <wuid>-3f6498d2:15645d229d4:-6634</wuid> + <transparent>false</transparent> + <points> + <point x="214" y="144" /> + <point x="157" y="144" /> + <point x="157" y="144" /> + </points> + <fill_arrow>true</fill_arrow> + <pv_value /> + <alpha>255</alpha> + <rotation_angle>0.0</rotation_angle> + <scripts /> + <border_alarm_sensitive>false</border_alarm_sensitive> + <height>1</height> + <border_width>1</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>true</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <pv_name></pv_name> + <border_color> + <color red="0" green="128" blue="255" /> + </border_color> + <anti_alias>true</anti_alias> + <line_style>2</line_style> + <arrow_length>20</arrow_length> + <widget_type>Polyline</widget_type> + <backcolor_alarm_sensitive>false</backcolor_alarm_sensitive> + <background_color> + <color red="0" green="0" blue="0" /> + </background_color> + <width>58</width> + <x>157</x> + <name>Polyline_1</name> + <y>144</y> + <fill_level>0.0</fill_level> + <foreground_color> + <color red="255" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <font> + <opifont.name fontName="Cantarell" height="11" style="0">Default</opifont.name> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.Label" version="1.0.0"> + <border_style>0</border_style> + <tooltip></tooltip> + <horizontal_alignment>1</horizontal_alignment> + <rules /> + <enabled>true</enabled> + <wuid>-3f6498d2:15645d229d4:-6633</wuid> + <transparent>true</transparent> + <auto_size>false</auto_size> + <text>ms</text> + <scripts /> + <height>20</height> + <border_width>1</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <vertical_alignment>1</vertical_alignment> + <border_color> + <color red="0" green="128" blue="255" /> + </border_color> + <widget_type>Label</widget_type> + <wrap_words>false</wrap_words> + <background_color> + <color red="255" green="255" blue="255" /> + </background_color> + <width>40</width> + <x>324</x> + <name>Label_16</name> + <y>142</y> + <foreground_color> + <color red="0" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <font> + <opifont.name fontName="Cantarell" height="11" style="1">Default Bold</opifont.name> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.RoundedRectangle" version="1.0.0"> + <border_style>0</border_style> + <forecolor_alarm_sensitive>false</forecolor_alarm_sensitive> + <line_width>0</line_width> + <horizontal_fill>true</horizontal_fill> + <alarm_pulsing>false</alarm_pulsing> + <tooltip>$(pv_name) +$(pv_value)</tooltip> + <rules /> + <enabled>true</enabled> + <wuid>-3f6498d2:15645d229d4:-6632</wuid> + <transparent>false</transparent> + <pv_value /> + <alpha>255</alpha> + <corner_height>16</corner_height> + <bg_gradient_color> + <color red="255" green="255" blue="255" /> + </bg_gradient_color> + <scripts /> + <border_alarm_sensitive>false</border_alarm_sensitive> + <height>97</height> + <border_width>1</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <pv_name></pv_name> + <gradient>false</gradient> + <border_color> + <color red="0" green="128" blue="255" /> + </border_color> + <anti_alias>true</anti_alias> + <corner_width>16</corner_width> + <line_style>0</line_style> + <widget_type>Rounded Rectangle</widget_type> + <fg_gradient_color> + <color red="255" green="255" blue="255" /> + </fg_gradient_color> + <backcolor_alarm_sensitive>false</backcolor_alarm_sensitive> + <background_color> + <color red="186" green="189" blue="182" /> + </background_color> + <width>349</width> + <x>48</x> + <name>Rounded Rectangle_5</name> + <y>228</y> + <fill_level>0.0</fill_level> + <foreground_color> + <color red="255" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <font> + <opifont.name fontName="Cantarell" height="11" style="0">Default</opifont.name> + </font> + <line_color> + <color red="128" green="0" blue="255" /> + </line_color> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.TextInput" version="2.0.0"> + <alarm_pulsing>false</alarm_pulsing> + <precision>2</precision> + <tooltip>$(pv_name) +$(pv_value)</tooltip> + <horizontal_alignment>1</horizontal_alignment> + <rules /> + <pv_value /> + <auto_size>false</auto_size> + <text></text> + <rotation_angle>0.0</rotation_angle> + <show_units>true</show_units> + <height>31</height> + <multiline_input>false</multiline_input> + <border_width>1</border_width> + <visible>true</visible> + <pv_name>$(PREFIX_SIG):$(SIGNAL_FC):LCURSOR_ms</pv_name> + <selector_type>0</selector_type> + <border_color> + <color red="0" green="128" blue="255" /> + </border_color> + <precision_from_pv>false</precision_from_pv> + <widget_type>Text Input</widget_type> + <confirm_message></confirm_message> + <name>Text Input_16</name> + <style>0</style> + <actions hook="false" hook_all="false" /> + <border_style>3</border_style> + <forecolor_alarm_sensitive>false</forecolor_alarm_sensitive> + <enabled>true</enabled> + <wuid>-3f6498d2:15645d229d4:-6631</wuid> + <transparent>false</transparent> + <scripts /> + <border_alarm_sensitive>false</border_alarm_sensitive> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <backcolor_alarm_sensitive>false</backcolor_alarm_sensitive> + <format_type>0</format_type> + <limits_from_pv>false</limits_from_pv> + <background_color> + <color name="TextBackground" red="70" green="70" blue="70" /> + </background_color> + <width>85</width> + <x>66</x> + <y>274</y> + <maximum>1.7976931348623157E308</maximum> + <foreground_color> + <color name="KeyboardEntry" red="0" green="255" blue="255" /> + </foreground_color> + <minimum>-1.7976931348623157E308</minimum> + <font> + <opifont.name fontName="Cantarell" height="11" style="1">Default Bold</opifont.name> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.Label" version="1.0.0"> + <border_style>0</border_style> + <tooltip></tooltip> + <horizontal_alignment>1</horizontal_alignment> + <rules /> + <enabled>true</enabled> + <wuid>-3f6498d2:15645d229d4:-6630</wuid> + <transparent>false</transparent> + <auto_size>false</auto_size> + <text>Measure interval</text> + <scripts /> + <height>32</height> + <border_width>1</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <vertical_alignment>1</vertical_alignment> + <border_color> + <color red="0" green="128" blue="255" /> + </border_color> + <widget_type>Label</widget_type> + <wrap_words>true</wrap_words> + <background_color> + <color name="SubPanel" red="176" green="218" blue="249" /> + </background_color> + <width>349</width> + <x>48</x> + <name>Label_17</name> + <y>223</y> + <foreground_color> + <color red="0" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <show_scrollbar>false</show_scrollbar> + <font> + <fontdata fontName="Sans" height="10" style="1" /> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.TextInput" version="2.0.0"> + <alarm_pulsing>false</alarm_pulsing> + <precision>2</precision> + <tooltip>$(pv_name) +$(pv_value)</tooltip> + <horizontal_alignment>1</horizontal_alignment> + <rules /> + <pv_value /> + <auto_size>false</auto_size> + <text></text> + <rotation_angle>0.0</rotation_angle> + <show_units>true</show_units> + <height>31</height> + <multiline_input>false</multiline_input> + <border_width>1</border_width> + <visible>true</visible> + <pv_name>$(PREFIX_SIG):$(SIGNAL_FC):RCURSOR_ms</pv_name> + <selector_type>0</selector_type> + <border_color> + <color red="0" green="128" blue="255" /> + </border_color> + <precision_from_pv>false</precision_from_pv> + <widget_type>Text Input</widget_type> + <confirm_message></confirm_message> + <name>Text Input_17</name> + <style>0</style> + <actions hook="false" hook_all="false" /> + <border_style>3</border_style> + <forecolor_alarm_sensitive>false</forecolor_alarm_sensitive> + <enabled>true</enabled> + <wuid>-3f6498d2:15645d229d4:-662f</wuid> + <transparent>false</transparent> + <scripts /> + <border_alarm_sensitive>false</border_alarm_sensitive> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <backcolor_alarm_sensitive>false</backcolor_alarm_sensitive> + <format_type>0</format_type> + <limits_from_pv>false</limits_from_pv> + <background_color> + <color name="TextBackground" red="70" green="70" blue="70" /> + </background_color> + <width>85</width> + <x>216</x> + <y>274</y> + <maximum>1.7976931348623157E308</maximum> + <foreground_color> + <color name="KeyboardEntry" red="0" green="255" blue="255" /> + </foreground_color> + <minimum>-1.7976931348623157E308</minimum> + <font> + <opifont.name fontName="Cantarell" height="11" style="1">Default Bold</opifont.name> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.polyline" version="1.0.0"> + <border_style>0</border_style> + <forecolor_alarm_sensitive>false</forecolor_alarm_sensitive> + <line_width>2</line_width> + <horizontal_fill>true</horizontal_fill> + <alarm_pulsing>false</alarm_pulsing> + <tooltip>$(pv_name) +$(pv_value)</tooltip> + <arrows>1</arrows> + <rules /> + <enabled>true</enabled> + <wuid>-3f6498d2:15645d229d4:-662e</wuid> + <transparent>false</transparent> + <points> + <point x="214" y="282" /> + <point x="157" y="282" /> + <point x="157" y="282" /> + </points> + <fill_arrow>true</fill_arrow> + <pv_value /> + <alpha>255</alpha> + <rotation_angle>0.0</rotation_angle> + <scripts /> + <border_alarm_sensitive>false</border_alarm_sensitive> + <height>1</height> + <border_width>1</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>true</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <pv_name></pv_name> + <border_color> + <color red="0" green="128" blue="255" /> + </border_color> + <anti_alias>true</anti_alias> + <line_style>2</line_style> + <arrow_length>20</arrow_length> + <widget_type>Polyline</widget_type> + <backcolor_alarm_sensitive>false</backcolor_alarm_sensitive> + <background_color> + <color red="0" green="0" blue="0" /> + </background_color> + <width>58</width> + <x>157</x> + <name>Polyline_2</name> + <y>282</y> + <fill_level>0.0</fill_level> + <foreground_color> + <color red="255" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <font> + <opifont.name fontName="Cantarell" height="11" style="0">Default</opifont.name> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.Label" version="1.0.0"> + <border_style>0</border_style> + <tooltip></tooltip> + <horizontal_alignment>1</horizontal_alignment> + <rules /> + <enabled>true</enabled> + <wuid>-3f6498d2:15645d229d4:-662d</wuid> + <transparent>true</transparent> + <auto_size>false</auto_size> + <text>ms</text> + <scripts /> + <height>20</height> + <border_width>1</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <vertical_alignment>1</vertical_alignment> + <border_color> + <color red="0" green="128" blue="255" /> + </border_color> + <widget_type>Label</widget_type> + <wrap_words>false</wrap_words> + <background_color> + <color red="255" green="255" blue="255" /> + </background_color> + <width>40</width> + <x>324</x> + <name>Label_18</name> + <y>280</y> + <foreground_color> + <color red="0" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <font> + <opifont.name fontName="Cantarell" height="11" style="1">Default Bold</opifont.name> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.Label" version="1.0.0"> + <border_style>0</border_style> + <tooltip></tooltip> + <horizontal_alignment>1</horizontal_alignment> + <rules /> + <enabled>true</enabled> + <wuid>-3f6498d2:15645d229d4:-662c</wuid> + <transparent>false</transparent> + <auto_size>false</auto_size> + <text>FC Curr</text> + <scripts /> + <height>24</height> + <border_width>1</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <vertical_alignment>1</vertical_alignment> + <border_color> + <color red="0" green="128" blue="255" /> + </border_color> + <widget_type>Label</widget_type> + <wrap_words>false</wrap_words> + <background_color> + <color red="0" green="0" blue="0" /> + </background_color> + <width>160</width> + <x>450</x> + <name>Label_11</name> + <y>710</y> + <foreground_color> + <color name="TextDynamic" red="0" green="244" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <font> + <opifont.name fontName="Cantarell" height="11" style="1">Default Bold</opifont.name> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.TextUpdate" version="1.0.0"> + <border_style>0</border_style> + <forecolor_alarm_sensitive>false</forecolor_alarm_sensitive> + <alarm_pulsing>false</alarm_pulsing> + <precision>3</precision> + <tooltip>$(pv_name) +$(pv_value)</tooltip> + <horizontal_alignment>1</horizontal_alignment> + <rules /> + <enabled>true</enabled> + <wuid>-3f6498d2:15645d229d4:-662b</wuid> + <transparent>false</transparent> + <pv_value /> + <auto_size>false</auto_size> + <text>######</text> + <rotation_angle>0.0</rotation_angle> + <scripts /> + <border_alarm_sensitive>true</border_alarm_sensitive> + <show_units>true</show_units> + <height>24</height> + <border_width>1</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <pv_name>$(PREFIX_SIG):$(SIGNAL_FC):AVG</pv_name> + <vertical_alignment>1</vertical_alignment> + <border_color> + <color red="0" green="128" blue="255" /> + </border_color> + <precision_from_pv>false</precision_from_pv> + <widget_type>Text Update</widget_type> + <backcolor_alarm_sensitive>false</backcolor_alarm_sensitive> + <wrap_words>false</wrap_words> + <format_type>0</format_type> + <background_color> + <color name="TextBackground" red="70" green="70" blue="70" /> + </background_color> + <width>150</width> + <x>609</x> + <name>Text Update_3</name> + <y>710</y> + <foreground_color> + <color name="TextDynamic" red="0" green="244" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <font> + <opifont.name fontName="Cantarell" height="11" style="0">Default</opifont.name> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.TextUpdate" version="1.0.0"> + <border_style>0</border_style> + <forecolor_alarm_sensitive>false</forecolor_alarm_sensitive> + <alarm_pulsing>false</alarm_pulsing> + <precision>3</precision> + <tooltip>$(pv_name) +$(pv_value)</tooltip> + <horizontal_alignment>1</horizontal_alignment> + <rules /> + <enabled>true</enabled> + <wuid>-3f6498d2:15645d229d4:-662a</wuid> + <transparent>false</transparent> + <pv_value /> + <auto_size>false</auto_size> + <text>######</text> + <rotation_angle>0.0</rotation_angle> + <scripts /> + <border_alarm_sensitive>true</border_alarm_sensitive> + <show_units>true</show_units> + <height>24</height> + <border_width>1</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <pv_name>$(PREFIX_SIG):$(SIGNAL_FC):MAX</pv_name> + <vertical_alignment>1</vertical_alignment> + <border_color> + <color red="0" green="128" blue="255" /> + </border_color> + <precision_from_pv>false</precision_from_pv> + <widget_type>Text Update</widget_type> + <backcolor_alarm_sensitive>false</backcolor_alarm_sensitive> + <wrap_words>false</wrap_words> + <format_type>0</format_type> + <background_color> + <color name="TextBackground" red="70" green="70" blue="70" /> + </background_color> + <width>150</width> + <x>758</x> + <name>Text Update_1</name> + <y>710</y> + <foreground_color> + <color name="TextDynamic" red="0" green="244" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <font> + <opifont.name fontName="Cantarell" height="11" style="0">Default</opifont.name> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.TextUpdate" version="1.0.0"> + <border_style>0</border_style> + <forecolor_alarm_sensitive>false</forecolor_alarm_sensitive> + <alarm_pulsing>false</alarm_pulsing> + <precision>3</precision> + <tooltip>$(pv_name) +$(pv_value)</tooltip> + <horizontal_alignment>1</horizontal_alignment> + <rules /> + <enabled>true</enabled> + <wuid>-3f6498d2:15645d229d4:-6629</wuid> + <transparent>false</transparent> + <pv_value /> + <auto_size>false</auto_size> + <text>######</text> + <rotation_angle>0.0</rotation_angle> + <scripts /> + <border_alarm_sensitive>true</border_alarm_sensitive> + <show_units>true</show_units> + <height>24</height> + <border_width>1</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <pv_name>$(PREFIX_SIG):$(SIGNAL_FC):MIN</pv_name> + <vertical_alignment>1</vertical_alignment> + <border_color> + <color red="0" green="128" blue="255" /> + </border_color> + <precision_from_pv>false</precision_from_pv> + <widget_type>Text Update</widget_type> + <backcolor_alarm_sensitive>false</backcolor_alarm_sensitive> + <wrap_words>false</wrap_words> + <format_type>0</format_type> + <background_color> + <color name="TextBackground" red="70" green="70" blue="70" /> + </background_color> + <width>150</width> + <x>907</x> + <name>Text Update_2</name> + <y>710</y> + <foreground_color> + <color name="TextDynamic" red="0" green="244" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <font> + <opifont.name fontName="Cantarell" height="11" style="0">Default</opifont.name> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.Rectangle" version="1.0.0"> + <border_style>0</border_style> + <forecolor_alarm_sensitive>false</forecolor_alarm_sensitive> + <line_width>1</line_width> + <horizontal_fill>true</horizontal_fill> + <alarm_pulsing>false</alarm_pulsing> + <tooltip>$(pv_name) +$(pv_value)</tooltip> + <rules /> + <enabled>true</enabled> + <wuid>-3f6498d2:15645d229d4:-6628</wuid> + <transparent>false</transparent> + <pv_value /> + <alpha>255</alpha> + <bg_gradient_color> + <color red="255" green="255" blue="255" /> + </bg_gradient_color> + <scripts /> + <border_alarm_sensitive>false</border_alarm_sensitive> + <height>22</height> + <border_width>1</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <pv_name></pv_name> + <gradient>false</gradient> + <border_color> + <color red="0" green="128" blue="255" /> + </border_color> + <anti_alias>true</anti_alias> + <line_style>0</line_style> + <widget_type>Rectangle</widget_type> + <fg_gradient_color> + <color red="255" green="255" blue="255" /> + </fg_gradient_color> + <backcolor_alarm_sensitive>false</backcolor_alarm_sensitive> + <background_color> + <color red="186" green="189" blue="182" /> + </background_color> + <width>448</width> + <x>609</x> + <name>Rectangle_1</name> + <y>689</y> + <fill_level>0.0</fill_level> + <foreground_color> + <color red="255" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <font> + <opifont.name fontName="Cantarell" height="11" style="0">Default</opifont.name> + </font> + <line_color> + <color red="0" green="0" blue="0" /> + </line_color> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.Label" version="1.0.0"> + <border_style>0</border_style> + <tooltip></tooltip> + <horizontal_alignment>1</horizontal_alignment> + <rules /> + <enabled>true</enabled> + <wuid>-3f6498d2:15645d229d4:-6627</wuid> + <transparent>true</transparent> + <auto_size>false</auto_size> + <text>Max</text> + <scripts /> + <height>20</height> + <border_width>1</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <vertical_alignment>1</vertical_alignment> + <border_color> + <color red="0" green="128" blue="255" /> + </border_color> + <widget_type>Label</widget_type> + <wrap_words>false</wrap_words> + <background_color> + <color red="255" green="255" blue="255" /> + </background_color> + <width>150</width> + <x>758</x> + <name>Label_5</name> + <y>690</y> + <foreground_color> + <color red="0" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <font> + <opifont.name fontName="Cantarell" height="11" style="1">Default Bold</opifont.name> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.Label" version="1.0.0"> + <border_style>0</border_style> + <tooltip></tooltip> + <horizontal_alignment>1</horizontal_alignment> + <rules /> + <enabled>true</enabled> + <wuid>-3f6498d2:15645d229d4:-6626</wuid> + <transparent>true</transparent> + <auto_size>false</auto_size> + <text>Min</text> + <scripts /> + <height>20</height> + <border_width>1</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <vertical_alignment>1</vertical_alignment> + <border_color> + <color red="0" green="128" blue="255" /> + </border_color> + <widget_type>Label</widget_type> + <wrap_words>false</wrap_words> + <background_color> + <color red="255" green="255" blue="255" /> + </background_color> + <width>150</width> + <x>907</x> + <name>Label_22</name> + <y>690</y> + <foreground_color> + <color red="0" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <font> + <opifont.name fontName="Cantarell" height="11" style="1">Default Bold</opifont.name> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.Label" version="1.0.0"> + <border_style>0</border_style> + <tooltip></tooltip> + <horizontal_alignment>1</horizontal_alignment> + <rules /> + <enabled>true</enabled> + <wuid>-3f6498d2:15645d229d4:-6625</wuid> + <transparent>true</transparent> + <auto_size>false</auto_size> + <text>Average</text> + <scripts /> + <height>20</height> + <border_width>1</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <vertical_alignment>1</vertical_alignment> + <border_color> + <color red="0" green="128" blue="255" /> + </border_color> + <widget_type>Label</widget_type> + <wrap_words>false</wrap_words> + <background_color> + <color red="255" green="255" blue="255" /> + </background_color> + <width>150</width> + <x>609</x> + <name>Label_21</name> + <y>690</y> + <foreground_color> + <color red="0" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <font> + <opifont.name fontName="Cantarell" height="11" style="1">Default Bold</opifont.name> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.BoolButton" version="1.0.0"> + <toggle_button>true</toggle_button> + <border_style>0</border_style> + <forecolor_alarm_sensitive>false</forecolor_alarm_sensitive> + <alarm_pulsing>false</alarm_pulsing> + <tooltip>$(pv_name) +$(pv_value)</tooltip> + <push_action_index>1</push_action_index> + <rules /> + <effect_3d>true</effect_3d> + <bit>-1</bit> + <enabled>true</enabled> + <wuid>-3f6498d2:15645d229d4:-3a0d</wuid> + <on_color> + <color red="0" green="255" blue="0" /> + </on_color> + <show_confirm_dialog>0</show_confirm_dialog> + <password></password> + <pv_value /> + <released_action_index>0</released_action_index> + <square_button>true</square_button> + <show_led>true</show_led> + <scripts /> + <border_alarm_sensitive>true</border_alarm_sensitive> + <height>35</height> + <on_label>ON</on_label> + <border_width>1</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>true</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <pv_name>SYS0-EVR0:FrontOut0-Ena-SP</pv_name> + <border_color> + <color red="0" green="128" blue="255" /> + </border_color> + <widget_type>Boolean Button</widget_type> + <off_color> + <color red="0" green="100" blue="0" /> + </off_color> + <confirm_message>Are your sure you want to do this?</confirm_message> + <backcolor_alarm_sensitive>false</backcolor_alarm_sensitive> + <background_color> + <color red="240" green="240" blue="240" /> + </background_color> + <width>109</width> + <x>289</x> + <name>Boolean Button</name> + <data_type>0</data_type> + <y>370</y> + <foreground_color> + <color red="0" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false"> + <action type="WRITE_PV"> + <pv_name>$(pv_name)</pv_name> + <value>0</value> + <timeout>10</timeout> + <confirm_message></confirm_message> + <description></description> + </action> + <action type="WRITE_PV"> + <pv_name>$(pv_name)</pv_name> + <value>1</value> + <timeout>10</timeout> + <confirm_message></confirm_message> + <description></description> + </action> + </actions> + <show_boolean_label>true</show_boolean_label> + <font> + <opifont.name fontName="Cantarell" height="11" style="1">Default Bold</opifont.name> + </font> + <off_label>OFF</off_label> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.Label" version="1.0.0"> + <border_style>0</border_style> + <tooltip></tooltip> + <horizontal_alignment>1</horizontal_alignment> + <rules /> + <enabled>true</enabled> + <wuid>-3f6498d2:15645d229d4:-38f7</wuid> + <transparent>false</transparent> + <auto_size>false</auto_size> + <text>Fast Acquisition</text> + <scripts /> + <height>43</height> + <border_width>1</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <vertical_alignment>1</vertical_alignment> + <border_color> + <color red="0" green="0" blue="0" /> + </border_color> + <widget_type>Label</widget_type> + <wrap_words>true</wrap_words> + <background_color> + <color name="IO Shape Fill" red="188" green="188" blue="188" /> + </background_color> + <width>1357</width> + <x>0</x> + <name>Label_124</name> + <y>12</y> + <foreground_color> + <color name="IO Label" red="0" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <show_scrollbar>false</show_scrollbar> + <font> + <opifont.name fontName="Cantarell" height="13" style="1">Header 3</opifont.name> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.Label" version="1.0.0"> + <border_style>0</border_style> + <tooltip></tooltip> + <horizontal_alignment>1</horizontal_alignment> + <rules /> + <enabled>true</enabled> + <wuid>-3f6498d2:15645d229d4:-348a</wuid> + <transparent>true</transparent> + <auto_size>false</auto_size> + <text>Activate timing System</text> + <scripts /> + <height>20</height> + <border_width>1</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <vertical_alignment>1</vertical_alignment> + <border_color> + <color red="0" green="128" blue="255" /> + </border_color> + <widget_type>Label</widget_type> + <wrap_words>false</wrap_words> + <background_color> + <color red="255" green="255" blue="255" /> + </background_color> + <width>199</width> + <x>54</x> + <name>Label_18</name> + <y>378</y> + <foreground_color> + <color red="0" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <font> + <opifont.name fontName="Cantarell" height="11" style="1">Default Bold</opifont.name> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.TextUpdate" version="1.0.0"> + <border_style>0</border_style> + <forecolor_alarm_sensitive>false</forecolor_alarm_sensitive> + <alarm_pulsing>false</alarm_pulsing> + <precision>0</precision> + <tooltip>$(pv_name) +$(pv_value)</tooltip> + <horizontal_alignment>0</horizontal_alignment> + <rules /> + <enabled>true</enabled> + <wuid>1e771979:1565068c2e3:-483e</wuid> + <transparent>false</transparent> + <pv_value /> + <auto_size>false</auto_size> + <text>######</text> + <rotation_angle>0.0</rotation_angle> + <scripts /> + <border_alarm_sensitive>false</border_alarm_sensitive> + <show_units>true</show_units> + <height>20</height> + <border_width>1</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <pv_name>$(DTACQ-NAME)-STAT-RB</pv_name> + <vertical_alignment>1</vertical_alignment> + <border_color> + <color red="0" green="128" blue="255" /> + </border_color> + <precision_from_pv>true</precision_from_pv> + <widget_type>Text Update</widget_type> + <backcolor_alarm_sensitive>false</backcolor_alarm_sensitive> + <wrap_words>false</wrap_words> + <format_type>0</format_type> + <background_color> + <color red="0" green="0" blue="0" /> + </background_color> + <width>148</width> + <x>1188</x> + <name>Text Update</name> + <y>24</y> + <foreground_color> + <color name="TextDynamic" red="0" green="244" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <font> + <opifont.name fontName="Cantarell" height="11" style="0">Default</opifont.name> + </font> + </widget> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.groupingContainer" version="1.0.0"> + <border_style>0</border_style> + <tooltip></tooltip> + <rules /> + <enabled>true</enabled> + <wuid>-5b5af26c:15364c41bca:-785a</wuid> + <transparent>true</transparent> + <lock_children>false</lock_children> + <scripts /> + <height>1130</height> + <border_width>1</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <macros> + <include_parent_macros>true</include_parent_macros> + </macros> + <visible>false</visible> + <border_color> + <color red="0" green="128" blue="255" /> + </border_color> + <widget_type>Grouping Container</widget_type> + <background_color> + <color red="240" green="240" blue="240" /> + </background_color> + <width>2489</width> + <x>1</x> + <name>MOTOR</name> + <y>1</y> + <foreground_color> + <color red="192" green="192" blue="192" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <fc>false</fc> + <show_scrollbar>true</show_scrollbar> + <font> + <opifont.name fontName="Cantarell" height="11" style="0">Default</opifont.name> + </font> + <widget typeId="org.csstudio.opibuilder.widgets.RoundedRectangle" version="1.0.0"> + <border_style>0</border_style> + <forecolor_alarm_sensitive>false</forecolor_alarm_sensitive> + <line_width>0</line_width> + <horizontal_fill>true</horizontal_fill> + <alarm_pulsing>false</alarm_pulsing> + <tooltip>$(pv_name) +$(pv_value)</tooltip> + <rules /> + <enabled>true</enabled> + <wuid>1e771979:1565068c2e3:-7000</wuid> + <transparent>false</transparent> + <pv_value /> + <alpha>255</alpha> + <corner_height>16</corner_height> + <bg_gradient_color> + <color red="255" green="255" blue="255" /> + </bg_gradient_color> + <scripts /> + <border_alarm_sensitive>false</border_alarm_sensitive> + <height>243</height> + <border_width>1</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <pv_name></pv_name> + <gradient>false</gradient> + <border_color> + <color red="0" green="128" blue="255" /> + </border_color> + <anti_alias>true</anti_alias> + <corner_width>16</corner_width> + <line_style>0</line_style> + <widget_type>Rounded Rectangle</widget_type> + <fg_gradient_color> + <color red="255" green="255" blue="255" /> + </fg_gradient_color> + <backcolor_alarm_sensitive>false</backcolor_alarm_sensitive> + <background_color> + <color red="186" green="189" blue="182" /> + </background_color> + <width>493</width> + <x>392</x> + <name>Rounded Rectangle_4</name> + <y>96</y> + <fill_level>0.0</fill_level> + <foreground_color> + <color red="255" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <font> + <opifont.name fontName="Cantarell" height="11" style="0">Default</opifont.name> + </font> + <line_color> + <color red="128" green="0" blue="255" /> + </line_color> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.RoundedRectangle" version="1.0.0"> + <border_style>0</border_style> + <forecolor_alarm_sensitive>false</forecolor_alarm_sensitive> + <line_width>0</line_width> + <horizontal_fill>true</horizontal_fill> + <alarm_pulsing>false</alarm_pulsing> + <tooltip>$(pv_name) +$(pv_value)</tooltip> + <rules /> + <enabled>true</enabled> + <wuid>-3f6498d2:15645d229d4:-268a</wuid> + <transparent>false</transparent> + <pv_value /> + <alpha>255</alpha> + <corner_height>16</corner_height> + <bg_gradient_color> + <color red="255" green="255" blue="255" /> + </bg_gradient_color> + <scripts /> + <border_alarm_sensitive>false</border_alarm_sensitive> + <height>106</height> + <border_width>1</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <pv_name></pv_name> + <gradient>false</gradient> + <border_color> + <color red="0" green="128" blue="255" /> + </border_color> + <anti_alias>true</anti_alias> + <corner_width>16</corner_width> + <line_style>0</line_style> + <widget_type>Rounded Rectangle</widget_type> + <fg_gradient_color> + <color red="255" green="255" blue="255" /> + </fg_gradient_color> + <backcolor_alarm_sensitive>false</backcolor_alarm_sensitive> + <background_color> + <color red="186" green="189" blue="182" /> + </background_color> + <width>337</width> + <x>38</x> + <name>Rounded Rectangle_4</name> + <y>95</y> + <fill_level>0.0</fill_level> + <foreground_color> + <color red="255" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <font> + <opifont.name fontName="Cantarell" height="11" style="0">Default</opifont.name> + </font> + <line_color> + <color red="128" green="0" blue="255" /> + </line_color> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.TextUpdate" version="1.0.0"> + <border_style>0</border_style> + <forecolor_alarm_sensitive>false</forecolor_alarm_sensitive> + <alarm_pulsing>false</alarm_pulsing> + <precision>0</precision> + <tooltip>$(pv_name) +$(pv_value)</tooltip> + <horizontal_alignment>1</horizontal_alignment> + <rules /> + <enabled>true</enabled> + <wuid>-5b5af26c:15364c41bca:-7593</wuid> + <transparent>false</transparent> + <pv_value /> + <auto_size>false</auto_size> + <text>######</text> + <rotation_angle>0.0</rotation_angle> + <scripts /> + <border_alarm_sensitive>true</border_alarm_sensitive> + <show_units>true</show_units> + <height>20</height> + <border_width>0</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <pv_name>$(PREFIX_MTR):$(NAME_MTR).RBV</pv_name> + <vertical_alignment>1</vertical_alignment> + <border_color> + <color name="IO Border" red="215" green="215" blue="215" /> + </border_color> + <precision_from_pv>true</precision_from_pv> + <widget_type>Text Update</widget_type> + <backcolor_alarm_sensitive>false</backcolor_alarm_sensitive> + <wrap_words>false</wrap_words> + <format_type>0</format_type> + <background_color> + <color name="TextBackground" red="70" green="70" blue="70" /> + </background_color> + <width>140</width> + <x>584</x> + <name>Text Update Template_16</name> + <y>200</y> + <foreground_color> + <color name="TextDynamic" red="0" green="244" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <font> + <opifont.name fontName="arial" height="10" style="1">IO Input 1</opifont.name> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.LED" version="1.0.0"> + <alarm_pulsing>false</alarm_pulsing> + <tooltip>$(pv_name) +$(pv_value)</tooltip> + <rules /> + <effect_3d>true</effect_3d> + <bit>0</bit> + <pv_value /> + <height>20</height> + <border_width>0</border_width> + <visible>true</visible> + <pv_name>$(PREFIX_MTR):$(NAME_MTR).MOVN</pv_name> + <border_color> + <color name="IO Border" red="215" green="215" blue="215" /> + </border_color> + <widget_type>LED</widget_type> + <name>LED Template_3</name> + <actions hook="false" hook_all="false" /> + <show_boolean_label>true</show_boolean_label> + <border_style>0</border_style> + <forecolor_alarm_sensitive>false</forecolor_alarm_sensitive> + <enabled>true</enabled> + <wuid>-5b5af26c:15364c41bca:-758f</wuid> + <on_color> + <color name="Major" red="255" green="0" blue="0" /> + </on_color> + <scripts /> + <border_alarm_sensitive>false</border_alarm_sensitive> + <on_label></on_label> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>true</keep_wh_ratio> + </scale_options> + <off_color> + <color name="IO PV OFF" red="77" green="77" blue="77" /> + </off_color> + <backcolor_alarm_sensitive>false</backcolor_alarm_sensitive> + <background_color> + <color name="IO Background" red="255" green="255" blue="205" /> + </background_color> + <square_led>true</square_led> + <width>20</width> + <x>841</x> + <data_type>0</data_type> + <y>165</y> + <foreground_color> + <color name="IO InputPV Fg" red="0" green="32" blue="92" /> + </foreground_color> + <font> + <opifont.name fontName="arial" height="10" style="0">IO Normal</opifont.name> + </font> + <off_label></off_label> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.LED" version="1.0.0"> + <alarm_pulsing>false</alarm_pulsing> + <tooltip>$(pv_name) +$(pv_value)</tooltip> + <rules /> + <effect_3d>true</effect_3d> + <bit>0</bit> + <pv_value /> + <height>20</height> + <border_width>2</border_width> + <visible>true</visible> + <pv_name>$(PREFIX_MTR):$(NAME_MTR).DMOV</pv_name> + <border_color> + <color name="IO Border" red="215" green="215" blue="215" /> + </border_color> + <widget_type>LED</widget_type> + <name>LED Template_2</name> + <actions hook="false" hook_all="false" /> + <show_boolean_label>true</show_boolean_label> + <border_style>0</border_style> + <forecolor_alarm_sensitive>false</forecolor_alarm_sensitive> + <enabled>true</enabled> + <wuid>-5b5af26c:15364c41bca:-758e</wuid> + <on_color> + <color red="0" green="255" blue="0" /> + </on_color> + <scripts /> + <border_alarm_sensitive>false</border_alarm_sensitive> + <on_label></on_label> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>true</keep_wh_ratio> + </scale_options> + <off_color> + <color red="77" green="77" blue="77" /> + </off_color> + <backcolor_alarm_sensitive>false</backcolor_alarm_sensitive> + <background_color> + <color name="IO Background" red="255" green="255" blue="205" /> + </background_color> + <square_led>true</square_led> + <width>20</width> + <x>841</x> + <data_type>0</data_type> + <y>135</y> + <foreground_color> + <color name="IO InputPV Fg" red="0" green="32" blue="92" /> + </foreground_color> + <font> + <opifont.name fontName="arial" height="10" style="0">IO Normal</opifont.name> + </font> + <off_label></off_label> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.Label" version="1.0.0"> + <border_style>0</border_style> + <tooltip></tooltip> + <horizontal_alignment>0</horizontal_alignment> + <rules /> + <enabled>false</enabled> + <wuid>-5b5af26c:15364c41bca:-7587</wuid> + <transparent>true</transparent> + <auto_size>false</auto_size> + <text>Done moving</text> + <scripts /> + <height>20</height> + <border_width>2</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <vertical_alignment>1</vertical_alignment> + <border_color> + <color name="IO Border" red="215" green="215" blue="215" /> + </border_color> + <widget_type>Label</widget_type> + <wrap_words>false</wrap_words> + <background_color> + <color name="IO Background" red="255" green="255" blue="205" /> + </background_color> + <width>80</width> + <x>746</x> + <name>Label Orientation_1</name> + <y>135</y> + <foreground_color> + <color name="IO Foreground" red="0" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <font> + <opifont.name fontName="arial" height="10" style="0">IO Normal</opifont.name> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.Label" version="1.0.0"> + <border_style>0</border_style> + <tooltip></tooltip> + <horizontal_alignment>0</horizontal_alignment> + <rules /> + <enabled>false</enabled> + <wuid>-5b5af26c:15364c41bca:-7586</wuid> + <transparent>true</transparent> + <auto_size>false</auto_size> + <text>Moving</text> + <scripts /> + <height>20</height> + <border_width>2</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <vertical_alignment>1</vertical_alignment> + <border_color> + <color name="IO Border" red="215" green="215" blue="215" /> + </border_color> + <widget_type>Label</widget_type> + <wrap_words>false</wrap_words> + <background_color> + <color name="IO Background" red="255" green="255" blue="205" /> + </background_color> + <width>86</width> + <x>746</x> + <name>Label Orientation_2</name> + <y>165</y> + <foreground_color> + <color name="IO Foreground" red="0" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <font> + <opifont.name fontName="arial" height="10" style="0">IO Normal</opifont.name> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.Label" version="1.0.0"> + <border_style>0</border_style> + <tooltip></tooltip> + <horizontal_alignment>0</horizontal_alignment> + <rules /> + <enabled>false</enabled> + <wuid>-5b5af26c:15364c41bca:-7580</wuid> + <transparent>true</transparent> + <auto_size>false</auto_size> + <text> Command</text> + <scripts /> + <height>20</height> + <border_width>2</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <vertical_alignment>1</vertical_alignment> + <border_color> + <color name="IO Border" red="215" green="215" blue="215" /> + </border_color> + <widget_type>Label</widget_type> + <wrap_words>false</wrap_words> + <background_color> + <color name="IO Background" red="255" green="255" blue="205" /> + </background_color> + <width>87</width> + <x>48</x> + <name>Label Orientation_7</name> + <y>146</y> + <foreground_color> + <color name="IO Foreground" red="0" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <font> + <fontdata fontName="Sans" height="11" style="1" /> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.Label" version="1.0.0"> + <border_style>0</border_style> + <tooltip></tooltip> + <horizontal_alignment>1</horizontal_alignment> + <rules /> + <enabled>true</enabled> + <wuid>-5b5af26c:15364c41bca:-758b</wuid> + <transparent>false</transparent> + <auto_size>false</auto_size> + <text>Motor Record</text> + <scripts /> + <height>43</height> + <border_width>1</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <vertical_alignment>1</vertical_alignment> + <border_color> + <color red="0" green="0" blue="0" /> + </border_color> + <widget_type>Label</widget_type> + <wrap_words>true</wrap_words> + <background_color> + <color name="IO Shape Fill" red="188" green="188" blue="188" /> + </background_color> + <width>1357</width> + <x>0</x> + <name>Label_124</name> + <y>12</y> + <foreground_color> + <color name="IO Label" red="0" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <show_scrollbar>false</show_scrollbar> + <font> + <opifont.name fontName="Cantarell" height="13" style="1">Header 3</opifont.name> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.TextInput" version="2.0.0"> + <alarm_pulsing>false</alarm_pulsing> + <precision>0</precision> + <tooltip>$(pv_name) +$(pv_value)</tooltip> + <horizontal_alignment>1</horizontal_alignment> + <rules /> + <pv_value /> + <auto_size>false</auto_size> + <text></text> + <rotation_angle>0.0</rotation_angle> + <show_units>true</show_units> + <height>31</height> + <multiline_input>false</multiline_input> + <border_width>1</border_width> + <visible>true</visible> + <pv_name>$(PREFIX_MTR):$(NAME_MTR).VAL</pv_name> + <selector_type>0</selector_type> + <border_color> + <color red="0" green="128" blue="255" /> + </border_color> + <precision_from_pv>true</precision_from_pv> + <widget_type>Text Input</widget_type> + <confirm_message></confirm_message> + <name>Text Input</name> + <style>0</style> + <actions hook="false" hook_all="false" /> + <border_style>3</border_style> + <forecolor_alarm_sensitive>false</forecolor_alarm_sensitive> + <enabled>true</enabled> + <wuid>-3f6498d2:15645d229d4:-2689</wuid> + <transparent>false</transparent> + <scripts /> + <border_alarm_sensitive>false</border_alarm_sensitive> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <backcolor_alarm_sensitive>false</backcolor_alarm_sensitive> + <format_type>0</format_type> + <limits_from_pv>false</limits_from_pv> + <background_color> + <color name="TextBackground" red="70" green="70" blue="70" /> + </background_color> + <width>140</width> + <x>166</x> + <y>140</y> + <maximum>10.0</maximum> + <foreground_color> + <color name="KeyboardEntry" red="0" green="255" blue="255" /> + </foreground_color> + <minimum>-10.0</minimum> + <font> + <opifont.name fontName="Cantarell" height="11" style="1">Default Bold</opifont.name> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.Label" version="1.0.0"> + <border_style>0</border_style> + <tooltip></tooltip> + <horizontal_alignment>1</horizontal_alignment> + <rules /> + <enabled>true</enabled> + <wuid>-3f6498d2:15645d229d4:-2688</wuid> + <transparent>false</transparent> + <auto_size>false</auto_size> + <text>Position</text> + <scripts /> + <height>32</height> + <border_width>1</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <vertical_alignment>1</vertical_alignment> + <border_color> + <color red="0" green="128" blue="255" /> + </border_color> + <widget_type>Label</widget_type> + <wrap_words>true</wrap_words> + <background_color> + <color name="SubPanel" red="176" green="218" blue="249" /> + </background_color> + <width>337</width> + <x>38</x> + <name>Label_15</name> + <y>90</y> + <foreground_color> + <color red="0" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <show_scrollbar>false</show_scrollbar> + <font> + <fontdata fontName="Sans" height="10" style="1" /> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.progressbar" version="1.0.0"> + <alarm_pulsing>false</alarm_pulsing> + <tooltip>$(pv_name) +$(pv_value)</tooltip> + <rules /> + <effect_3d>true</effect_3d> + <scale_font> + <opifont.name fontName="Cantarell" height="11" style="0">Default</opifont.name> + </scale_font> + <horizontal>true</horizontal> + <pv_value /> + <show_scale>true</show_scale> + <scale_format></scale_format> + <show_label>false</show_label> + <height>109</height> + <fill_color> + <color red="0" green="0" blue="255" /> + </fill_color> + <border_width>1</border_width> + <value_label_format></value_label_format> + <visible>true</visible> + <pv_name>$(PREFIX_MTR):$(NAME_MTR).RBV</pv_name> + <border_color> + <color red="0" green="128" blue="255" /> + </border_color> + <widget_type>Progress Bar</widget_type> + <name>Progress Bar</name> + <show_hi>false</show_hi> + <actions hook="false" hook_all="false" /> + <show_lo>false</show_lo> + <border_style>0</border_style> + <show_lolo>false</show_lolo> + <show_minor_ticks>true</show_minor_ticks> + <forecolor_alarm_sensitive>false</forecolor_alarm_sensitive> + <show_markers>true</show_markers> + <color_hihi> + <color red="255" green="0" blue="0" /> + </color_hihi> + <origin>0.0</origin> + <show_hihi>false</show_hihi> + <log_scale>false</log_scale> + <enabled>true</enabled> + <wuid>1e771979:1565068c2e3:-7c9c</wuid> + <indicator_mode>false</indicator_mode> + <level_hihi>90.0</level_hihi> + <origin_ignored>true</origin_ignored> + <color_hi> + <color red="255" green="128" blue="0" /> + </color_hi> + <color_lo> + <color red="255" green="128" blue="0" /> + </color_lo> + <scripts /> + <border_alarm_sensitive>true</border_alarm_sensitive> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <fillcolor_alarm_sensitive>false</fillcolor_alarm_sensitive> + <color_fillbackground> + <color red="200" green="200" blue="200" /> + </color_fillbackground> + <major_tick_step_hint>50</major_tick_step_hint> + <level_hi>80.0</level_hi> + <transparent_background>true</transparent_background> + <level_lo>20.0</level_lo> + <backcolor_alarm_sensitive>false</backcolor_alarm_sensitive> + <limits_from_pv>false</limits_from_pv> + <background_color> + <color red="240" green="240" blue="240" /> + </background_color> + <level_lolo>10.0</level_lolo> + <width>464</width> + <x>409</x> + <y>200</y> + <maximum>200.0</maximum> + <color_lolo> + <color red="255" green="0" blue="0" /> + </color_lolo> + <foreground_color> + <color red="0" green="0" blue="0" /> + </foreground_color> + <minimum>0.0</minimum> + <font> + <opifont.name fontName="Cantarell" height="11" style="0">Default</opifont.name> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.RoundedRectangle" version="1.0.0"> + <border_style>0</border_style> + <forecolor_alarm_sensitive>false</forecolor_alarm_sensitive> + <line_width>0</line_width> + <horizontal_fill>true</horizontal_fill> + <alarm_pulsing>false</alarm_pulsing> + <tooltip>$(pv_name) +$(pv_value)</tooltip> + <rules /> + <enabled>true</enabled> + <wuid>1e771979:1565068c2e3:-78c5</wuid> + <transparent>false</transparent> + <pv_value /> + <alpha>255</alpha> + <corner_height>16</corner_height> + <bg_gradient_color> + <color red="255" green="255" blue="255" /> + </bg_gradient_color> + <scripts /> + <border_alarm_sensitive>false</border_alarm_sensitive> + <height>103</height> + <border_width>1</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <pv_name></pv_name> + <gradient>false</gradient> + <border_color> + <color red="0" green="128" blue="255" /> + </border_color> + <anti_alias>true</anti_alias> + <corner_width>16</corner_width> + <line_style>0</line_style> + <widget_type>Rounded Rectangle</widget_type> + <fg_gradient_color> + <color red="255" green="255" blue="255" /> + </fg_gradient_color> + <backcolor_alarm_sensitive>false</backcolor_alarm_sensitive> + <background_color> + <color red="186" green="189" blue="182" /> + </background_color> + <width>337</width> + <x>38</x> + <name>Rounded Rectangle_4</name> + <y>230</y> + <fill_level>0.0</fill_level> + <foreground_color> + <color red="255" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <font> + <opifont.name fontName="Cantarell" height="11" style="0">Default</opifont.name> + </font> + <line_color> + <color red="128" green="0" blue="255" /> + </line_color> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.Label" version="1.0.0"> + <border_style>0</border_style> + <tooltip></tooltip> + <horizontal_alignment>0</horizontal_alignment> + <rules /> + <enabled>false</enabled> + <wuid>1e771979:1565068c2e3:-78c4</wuid> + <transparent>true</transparent> + <auto_size>false</auto_size> + <text>Velocity</text> + <scripts /> + <height>20</height> + <border_width>2</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <vertical_alignment>1</vertical_alignment> + <border_color> + <color name="IO Border" red="215" green="215" blue="215" /> + </border_color> + <widget_type>Label</widget_type> + <wrap_words>false</wrap_words> + <background_color> + <color name="IO Background" red="255" green="255" blue="205" /> + </background_color> + <width>111</width> + <x>48</x> + <name>Label Orientation_7</name> + <y>281</y> + <foreground_color> + <color name="IO Foreground" red="0" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <font> + <fontdata fontName="Sans" height="11" style="1" /> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.Label" version="1.0.0"> + <border_style>0</border_style> + <tooltip></tooltip> + <horizontal_alignment>1</horizontal_alignment> + <rules /> + <enabled>true</enabled> + <wuid>1e771979:1565068c2e3:-78c2</wuid> + <transparent>false</transparent> + <auto_size>false</auto_size> + <text>Motor settings</text> + <scripts /> + <height>32</height> + <border_width>1</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <vertical_alignment>1</vertical_alignment> + <border_color> + <color red="0" green="128" blue="255" /> + </border_color> + <widget_type>Label</widget_type> + <wrap_words>true</wrap_words> + <background_color> + <color name="SubPanel" red="176" green="218" blue="249" /> + </background_color> + <width>337</width> + <x>38</x> + <name>Label_15</name> + <y>225</y> + <foreground_color> + <color red="0" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <show_scrollbar>false</show_scrollbar> + <font> + <fontdata fontName="Sans" height="10" style="1" /> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.TextInput" version="2.0.0"> + <alarm_pulsing>false</alarm_pulsing> + <precision>0</precision> + <tooltip>$(pv_name) +$(pv_value)</tooltip> + <horizontal_alignment>1</horizontal_alignment> + <rules /> + <pv_value /> + <auto_size>false</auto_size> + <text></text> + <rotation_angle>0.0</rotation_angle> + <show_units>true</show_units> + <height>31</height> + <multiline_input>false</multiline_input> + <border_width>1</border_width> + <visible>true</visible> + <pv_name>$(PREFIX_MTR):$(NAME_MTR).VELO</pv_name> + <selector_type>0</selector_type> + <border_color> + <color red="0" green="128" blue="255" /> + </border_color> + <precision_from_pv>true</precision_from_pv> + <widget_type>Text Input</widget_type> + <confirm_message></confirm_message> + <name>Text Input</name> + <style>0</style> + <actions hook="false" hook_all="false" /> + <border_style>3</border_style> + <forecolor_alarm_sensitive>false</forecolor_alarm_sensitive> + <enabled>true</enabled> + <wuid>1e771979:1565068c2e3:-7099</wuid> + <transparent>false</transparent> + <scripts /> + <border_alarm_sensitive>false</border_alarm_sensitive> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <backcolor_alarm_sensitive>false</backcolor_alarm_sensitive> + <format_type>0</format_type> + <limits_from_pv>false</limits_from_pv> + <background_color> + <color name="TextBackground" red="70" green="70" blue="70" /> + </background_color> + <width>140</width> + <x>166</x> + <y>275</y> + <maximum>1.7976931348623157E308</maximum> + <foreground_color> + <color name="KeyboardEntry" red="0" green="255" blue="255" /> + </foreground_color> + <minimum>-1.7976931348623157E308</minimum> + <font> + <opifont.name fontName="Cantarell" height="11" style="1">Default Bold</opifont.name> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.Label" version="1.0.0"> + <border_style>0</border_style> + <tooltip></tooltip> + <horizontal_alignment>1</horizontal_alignment> + <rules /> + <enabled>true</enabled> + <wuid>1e771979:1565068c2e3:-6fff</wuid> + <transparent>false</transparent> + <auto_size>false</auto_size> + <text>Motion</text> + <scripts /> + <height>32</height> + <border_width>1</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <vertical_alignment>1</vertical_alignment> + <border_color> + <color red="0" green="128" blue="255" /> + </border_color> + <widget_type>Label</widget_type> + <wrap_words>true</wrap_words> + <background_color> + <color name="SubPanel" red="176" green="218" blue="249" /> + </background_color> + <width>493</width> + <x>392</x> + <name>Label_15</name> + <y>91</y> + <foreground_color> + <color red="0" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <show_scrollbar>false</show_scrollbar> + <font> + <fontdata fontName="Sans" height="10" style="1" /> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.RoundedRectangle" version="1.0.0"> + <border_style>0</border_style> + <forecolor_alarm_sensitive>false</forecolor_alarm_sensitive> + <line_width>0</line_width> + <horizontal_fill>true</horizontal_fill> + <alarm_pulsing>false</alarm_pulsing> + <tooltip>$(pv_name) +$(pv_value)</tooltip> + <rules /> + <enabled>true</enabled> + <wuid>1e771979:1565068c2e3:-6f55</wuid> + <transparent>false</transparent> + <pv_value /> + <alpha>255</alpha> + <corner_height>16</corner_height> + <bg_gradient_color> + <color red="255" green="255" blue="255" /> + </bg_gradient_color> + <scripts /> + <border_alarm_sensitive>false</border_alarm_sensitive> + <height>363</height> + <border_width>1</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <pv_name></pv_name> + <gradient>false</gradient> + <border_color> + <color red="0" green="128" blue="255" /> + </border_color> + <anti_alias>true</anti_alias> + <corner_width>16</corner_width> + <line_style>0</line_style> + <widget_type>Rounded Rectangle</widget_type> + <fg_gradient_color> + <color red="255" green="255" blue="255" /> + </fg_gradient_color> + <backcolor_alarm_sensitive>false</backcolor_alarm_sensitive> + <background_color> + <color red="186" green="189" blue="182" /> + </background_color> + <width>440</width> + <x>900</x> + <name>Rounded Rectangle_4</name> + <y>96</y> + <fill_level>0.0</fill_level> + <foreground_color> + <color red="255" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <font> + <opifont.name fontName="Cantarell" height="11" style="0">Default</opifont.name> + </font> + <line_color> + <color red="128" green="0" blue="255" /> + </line_color> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.Label" version="1.0.0"> + <border_style>0</border_style> + <tooltip></tooltip> + <horizontal_alignment>1</horizontal_alignment> + <rules /> + <enabled>true</enabled> + <wuid>1e771979:1565068c2e3:-6f54</wuid> + <transparent>false</transparent> + <auto_size>false</auto_size> + <text>Motion</text> + <scripts /> + <height>32</height> + <border_width>1</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <vertical_alignment>1</vertical_alignment> + <border_color> + <color red="0" green="128" blue="255" /> + </border_color> + <widget_type>Label</widget_type> + <wrap_words>true</wrap_words> + <background_color> + <color name="SubPanel" red="176" green="218" blue="249" /> + </background_color> + <width>440</width> + <x>900</x> + <name>Label_15</name> + <y>90</y> + <foreground_color> + <color red="0" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <show_scrollbar>false</show_scrollbar> + <font> + <fontdata fontName="Sans" height="10" style="1" /> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.bytemonitor" version="1.0.0"> + <border_style>0</border_style> + <forecolor_alarm_sensitive>false</forecolor_alarm_sensitive> + <alarm_pulsing>false</alarm_pulsing> + <tooltip>$(pv_name) +$(pv_value)</tooltip> + <rules /> + <effect_3d>true</effect_3d> + <enabled>true</enabled> + <wuid>1e771979:1565068c2e3:-6b0b</wuid> + <on_color> + <color name="IO OK" red="0" green="255" blue="0" /> + </on_color> + <horizontal>false</horizontal> + <pv_value /> + <numBits>15</numBits> + <scripts /> + <border_alarm_sensitive>true</border_alarm_sensitive> + <height>320</height> + <border_width>0</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <pv_name>$(PREFIX_MTR):$(NAME_MTR).MSTA</pv_name> + <border_color> + <color name="IO Border" red="215" green="215" blue="215" /> + </border_color> + <bitReverse>true</bitReverse> + <label /> + <widget_type>Byte Monitor</widget_type> + <off_color> + <color name="IO Grid" red="215" green="215" blue="215" /> + </off_color> + <backcolor_alarm_sensitive>false</backcolor_alarm_sensitive> + <background_color> + <color name="IO Background" red="255" green="255" blue="205" /> + </background_color> + <square_led>true</square_led> + <startBit>0</startBit> + <width>25</width> + <x>932</x> + <name>Byte Monitor Template</name> + <y>131</y> + <foreground_color> + <color name="IO InputPV Fg" red="0" green="32" blue="92" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <font> + <opifont.name fontName="arial" height="10" style="0">IO Normal</opifont.name> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.Label" version="1.0.0"> + <border_style>0</border_style> + <tooltip></tooltip> + <horizontal_alignment>0</horizontal_alignment> + <rules /> + <enabled>false</enabled> + <wuid>1e771979:1565068c2e3:-6a44</wuid> + <transparent>true</transparent> + <auto_size>true</auto_size> + <text>DONE: Motion is complete.</text> + <scripts /> + <height>15</height> + <border_width>2</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <vertical_alignment>1</vertical_alignment> + <border_color> + <color name="IO Border" red="215" green="215" blue="215" /> + </border_color> + <widget_type>Label</widget_type> + <wrap_words>true</wrap_words> + <background_color> + <color name="IO Background" red="255" green="255" blue="205" /> + </background_color> + <width>159</width> + <x>968</x> + <name>Label Template_4</name> + <y>156</y> + <foreground_color> + <color name="IO Foreground" red="0" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <show_scrollbar>false</show_scrollbar> + <font> + <opifont.name fontName="arial" height="10" style="0">IO Normal</opifont.name> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.Label" version="1.0.0"> + <border_style>0</border_style> + <tooltip></tooltip> + <horizontal_alignment>0</horizontal_alignment> + <rules /> + <enabled>false</enabled> + <wuid>1e771979:1565068c2e3:-6a43</wuid> + <transparent>true</transparent> + <auto_size>true</auto_size> + <text>PLUS_LS: Plus limit switch has been hit.</text> + <scripts /> + <height>15</height> + <border_width>2</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <vertical_alignment>1</vertical_alignment> + <border_color> + <color name="IO Border" red="215" green="215" blue="215" /> + </border_color> + <widget_type>Label</widget_type> + <wrap_words>true</wrap_words> + <background_color> + <color name="IO Background" red="255" green="255" blue="205" /> + </background_color> + <width>239</width> + <x>968</x> + <name>Label Template_5</name> + <y>177</y> + <foreground_color> + <color name="IO Foreground" red="0" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <show_scrollbar>false</show_scrollbar> + <font> + <opifont.name fontName="arial" height="10" style="0">IO Normal</opifont.name> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.Label" version="1.0.0"> + <border_style>0</border_style> + <tooltip></tooltip> + <horizontal_alignment>0</horizontal_alignment> + <rules /> + <enabled>false</enabled> + <wuid>1e771979:1565068c2e3:-6a42</wuid> + <transparent>true</transparent> + <auto_size>true</auto_size> + <text>HOMELS: Sate of the home limit switch.</text> + <scripts /> + <height>15</height> + <border_width>2</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <vertical_alignment>1</vertical_alignment> + <border_color> + <color name="IO Border" red="215" green="215" blue="215" /> + </border_color> + <widget_type>Label</widget_type> + <wrap_words>true</wrap_words> + <background_color> + <color name="IO Background" red="255" green="255" blue="205" /> + </background_color> + <width>235</width> + <x>968</x> + <name>Label Template_6</name> + <y>198</y> + <foreground_color> + <color name="IO Foreground" red="0" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <show_scrollbar>false</show_scrollbar> + <font> + <opifont.name fontName="arial" height="10" style="0">IO Normal</opifont.name> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.Label" version="1.0.0"> + <border_style>0</border_style> + <tooltip></tooltip> + <horizontal_alignment>0</horizontal_alignment> + <rules /> + <enabled>false</enabled> + <wuid>1e771979:1565068c2e3:-6a41</wuid> + <transparent>true</transparent> + <auto_size>true</auto_size> + <text>Unused.</text> + <scripts /> + <height>15</height> + <border_width>2</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <vertical_alignment>1</vertical_alignment> + <border_color> + <color name="IO Border" red="215" green="215" blue="215" /> + </border_color> + <widget_type>Label</widget_type> + <wrap_words>true</wrap_words> + <background_color> + <color name="IO Background" red="255" green="255" blue="205" /> + </background_color> + <width>48</width> + <x>968</x> + <name>Label Template_7</name> + <y>219</y> + <foreground_color> + <color name="IO Foreground" red="0" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <show_scrollbar>false</show_scrollbar> + <font> + <opifont.name fontName="arial" height="10" style="0">IO Normal</opifont.name> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.Label" version="1.0.0"> + <border_style>0</border_style> + <tooltip></tooltip> + <horizontal_alignment>0</horizontal_alignment> + <rules /> + <enabled>false</enabled> + <wuid>1e771979:1565068c2e3:-6a40</wuid> + <transparent>true</transparent> + <auto_size>true</auto_size> + <text>POSITION: Closed-loop position control is enabled.</text> + <scripts /> + <height>15</height> + <border_width>2</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <vertical_alignment>1</vertical_alignment> + <border_color> + <color name="IO Border" red="215" green="215" blue="215" /> + </border_color> + <widget_type>Label</widget_type> + <wrap_words>true</wrap_words> + <background_color> + <color name="IO Background" red="255" green="255" blue="205" /> + </background_color> + <width>295</width> + <x>968</x> + <name>Label Template_8</name> + <y>240</y> + <foreground_color> + <color name="IO Foreground" red="0" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <show_scrollbar>false</show_scrollbar> + <font> + <opifont.name fontName="arial" height="10" style="0">IO Normal</opifont.name> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.Label" version="1.0.0"> + <border_style>0</border_style> + <tooltip></tooltip> + <horizontal_alignment>0</horizontal_alignment> + <rules /> + <enabled>false</enabled> + <wuid>1e771979:1565068c2e3:-6a3f</wuid> + <transparent>true</transparent> + <auto_size>true</auto_size> + <text>SLIP_STALL: Slip/Stall detected (eg. fatal following error).</text> + <scripts /> + <height>15</height> + <border_width>2</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <vertical_alignment>1</vertical_alignment> + <border_color> + <color name="IO Border" red="215" green="215" blue="215" /> + </border_color> + <widget_type>Label</widget_type> + <wrap_words>true</wrap_words> + <background_color> + <color name="IO Background" red="255" green="255" blue="205" /> + </background_color> + <width>332</width> + <x>968</x> + <name>Label Template_9</name> + <y>261</y> + <foreground_color> + <color name="IO Foreground" red="0" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <show_scrollbar>false</show_scrollbar> + <font> + <opifont.name fontName="arial" height="10" style="0">IO Normal</opifont.name> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.Label" version="1.0.0"> + <border_style>0</border_style> + <tooltip></tooltip> + <horizontal_alignment>0</horizontal_alignment> + <rules /> + <enabled>false</enabled> + <wuid>1e771979:1565068c2e3:-6a3e</wuid> + <transparent>true</transparent> + <auto_size>true</auto_size> + <text>HOME: If at home position.</text> + <scripts /> + <height>15</height> + <border_width>2</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <vertical_alignment>1</vertical_alignment> + <border_color> + <color name="IO Border" red="215" green="215" blue="215" /> + </border_color> + <widget_type>Label</widget_type> + <wrap_words>true</wrap_words> + <background_color> + <color name="IO Background" red="255" green="255" blue="205" /> + </background_color> + <width>157</width> + <x>968</x> + <name>Label Template_10</name> + <y>282</y> + <foreground_color> + <color name="IO Foreground" red="0" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <show_scrollbar>false</show_scrollbar> + <font> + <opifont.name fontName="arial" height="10" style="0">IO Normal</opifont.name> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.Label" version="1.0.0"> + <border_style>0</border_style> + <tooltip></tooltip> + <horizontal_alignment>0</horizontal_alignment> + <rules /> + <enabled>false</enabled> + <wuid>1e771979:1565068c2e3:-6a3d</wuid> + <transparent>true</transparent> + <auto_size>true</auto_size> + <text>PRESENT: Encoder is present.</text> + <scripts /> + <height>15</height> + <border_width>2</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <vertical_alignment>1</vertical_alignment> + <border_color> + <color name="IO Border" red="215" green="215" blue="215" /> + </border_color> + <widget_type>Label</widget_type> + <wrap_words>true</wrap_words> + <background_color> + <color name="IO Background" red="255" green="255" blue="205" /> + </background_color> + <width>181</width> + <x>968</x> + <name>Label Template_22</name> + <y>303</y> + <foreground_color> + <color name="IO Foreground" red="0" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <show_scrollbar>false</show_scrollbar> + <font> + <opifont.name fontName="arial" height="10" style="0">IO Normal</opifont.name> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.Label" version="1.0.0"> + <border_style>0</border_style> + <tooltip></tooltip> + <horizontal_alignment>0</horizontal_alignment> + <rules /> + <enabled>false</enabled> + <wuid>1e771979:1565068c2e3:-6a3c</wuid> + <transparent>true</transparent> + <auto_size>true</auto_size> + <text>PROBLEM: Driver stopped polling, or hardware problem.</text> + <scripts /> + <height>15</height> + <border_width>2</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <vertical_alignment>1</vertical_alignment> + <border_color> + <color name="IO Border" red="215" green="215" blue="215" /> + </border_color> + <widget_type>Label</widget_type> + <wrap_words>true</wrap_words> + <background_color> + <color name="IO Background" red="255" green="255" blue="205" /> + </background_color> + <width>324</width> + <x>968</x> + <name>Label Template_23</name> + <y>324</y> + <foreground_color> + <color name="IO Foreground" red="0" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <show_scrollbar>false</show_scrollbar> + <font> + <opifont.name fontName="arial" height="10" style="0">IO Normal</opifont.name> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.Label" version="1.0.0"> + <border_style>0</border_style> + <tooltip></tooltip> + <horizontal_alignment>0</horizontal_alignment> + <rules /> + <enabled>false</enabled> + <wuid>1e771979:1565068c2e3:-6a3b</wuid> + <transparent>true</transparent> + <auto_size>true</auto_size> + <text>MOVING: Non-zero velocity present.</text> + <scripts /> + <height>15</height> + <border_width>2</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <vertical_alignment>1</vertical_alignment> + <border_color> + <color name="IO Border" red="215" green="215" blue="215" /> + </border_color> + <widget_type>Label</widget_type> + <wrap_words>true</wrap_words> + <background_color> + <color name="IO Background" red="255" green="255" blue="205" /> + </background_color> + <width>210</width> + <x>968</x> + <name>Label Template_13</name> + <y>345</y> + <foreground_color> + <color name="IO Foreground" red="0" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <show_scrollbar>false</show_scrollbar> + <font> + <opifont.name fontName="arial" height="10" style="0">IO Normal</opifont.name> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.Label" version="1.0.0"> + <border_style>0</border_style> + <tooltip></tooltip> + <horizontal_alignment>0</horizontal_alignment> + <rules /> + <enabled>false</enabled> + <wuid>1e771979:1565068c2e3:-6a3a</wuid> + <transparent>true</transparent> + <auto_size>true</auto_size> + <text>GAIN_SUPPORT: Motor supports closed-loop pos. control.</text> + <scripts /> + <height>15</height> + <border_width>2</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <vertical_alignment>1</vertical_alignment> + <border_color> + <color name="IO Border" red="215" green="215" blue="215" /> + </border_color> + <widget_type>Label</widget_type> + <wrap_words>true</wrap_words> + <background_color> + <color name="IO Background" red="255" green="255" blue="205" /> + </background_color> + <width>340</width> + <x>968</x> + <name>Label Template_14</name> + <y>366</y> + <foreground_color> + <color name="IO Foreground" red="0" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <show_scrollbar>false</show_scrollbar> + <font> + <opifont.name fontName="arial" height="10" style="0">IO Normal</opifont.name> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.Label" version="1.0.0"> + <border_style>0</border_style> + <tooltip></tooltip> + <horizontal_alignment>0</horizontal_alignment> + <rules /> + <enabled>false</enabled> + <wuid>1e771979:1565068c2e3:-6a39</wuid> + <transparent>true</transparent> + <auto_size>true</auto_size> + <text>COMM_ERR: Controller communication error.</text> + <scripts /> + <height>15</height> + <border_width>2</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <vertical_alignment>1</vertical_alignment> + <border_color> + <color name="IO Border" red="215" green="215" blue="215" /> + </border_color> + <widget_type>Label</widget_type> + <wrap_words>true</wrap_words> + <background_color> + <color name="IO Background" red="255" green="255" blue="205" /> + </background_color> + <width>263</width> + <x>968</x> + <name>Label Template_15</name> + <y>387</y> + <foreground_color> + <color name="IO Foreground" red="0" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <show_scrollbar>false</show_scrollbar> + <font> + <opifont.name fontName="arial" height="10" style="0">IO Normal</opifont.name> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.Label" version="1.0.0"> + <border_style>0</border_style> + <tooltip></tooltip> + <horizontal_alignment>0</horizontal_alignment> + <rules /> + <enabled>false</enabled> + <wuid>1e771979:1565068c2e3:-6a38</wuid> + <transparent>true</transparent> + <auto_size>true</auto_size> + <text>MINUS_LS: Minus limit switch has been hit.</text> + <scripts /> + <height>15</height> + <border_width>2</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <vertical_alignment>1</vertical_alignment> + <border_color> + <color name="IO Border" red="215" green="215" blue="215" /> + </border_color> + <widget_type>Label</widget_type> + <wrap_words>true</wrap_words> + <background_color> + <color name="IO Background" red="255" green="255" blue="205" /> + </background_color> + <width>255</width> + <x>968</x> + <name>Label Template_16</name> + <y>408</y> + <foreground_color> + <color name="IO Foreground" red="0" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <show_scrollbar>false</show_scrollbar> + <font> + <opifont.name fontName="arial" height="10" style="0">IO Normal</opifont.name> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.Label" version="1.0.0"> + <border_style>0</border_style> + <tooltip></tooltip> + <horizontal_alignment>0</horizontal_alignment> + <rules /> + <enabled>false</enabled> + <wuid>1e771979:1565068c2e3:-6a37</wuid> + <transparent>true</transparent> + <auto_size>true</auto_size> + <text>HOMED: The motor has been homed.</text> + <scripts /> + <height>15</height> + <border_width>2</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <vertical_alignment>1</vertical_alignment> + <border_color> + <color name="IO Border" red="215" green="215" blue="215" /> + </border_color> + <widget_type>Label</widget_type> + <wrap_words>true</wrap_words> + <background_color> + <color name="IO Background" red="255" green="255" blue="205" /> + </background_color> + <width>218</width> + <x>968</x> + <name>Label Template_17</name> + <y>429</y> + <foreground_color> + <color name="IO Foreground" red="0" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <show_scrollbar>false</show_scrollbar> + <font> + <opifont.name fontName="arial" height="10" style="0">IO Normal</opifont.name> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.Label" version="1.0.0"> + <border_style>0</border_style> + <tooltip></tooltip> + <horizontal_alignment>0</horizontal_alignment> + <rules /> + <enabled>false</enabled> + <wuid>1e771979:1565068c2e3:-6a36</wuid> + <transparent>false</transparent> + <auto_size>false</auto_size> + <text>DIRECTION: Last raw direction; (Grey: Neg., Green: Pos.)</text> + <scripts /> + <height>20</height> + <border_width>2</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <vertical_alignment>1</vertical_alignment> + <border_color> + <color name="IO Border" red="215" green="215" blue="215" /> + </border_color> + <widget_type>Label</widget_type> + <wrap_words>true</wrap_words> + <background_color> + <color name="IO Shape Fill" red="188" green="188" blue="188" /> + </background_color> + <width>350</width> + <x>968</x> + <name>Label Template_45</name> + <y>135</y> + <foreground_color> + <color red="0" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <show_scrollbar>false</show_scrollbar> + <font> + <opifont.name fontName="arial" height="10" style="0">IO Normal</opifont.name> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.ActionButton" version="2.0.0"> + <toggle_button>true</toggle_button> + <border_style>6</border_style> + <forecolor_alarm_sensitive>false</forecolor_alarm_sensitive> + <alarm_pulsing>false</alarm_pulsing> + <tooltip>$(pv_name) +$(pv_value)</tooltip> + <push_action_index>1</push_action_index> + <rules /> + <enabled>true</enabled> + <wuid>1e771979:1565068c2e3:-597a</wuid> + <release_action_index>0</release_action_index> + <pv_value /> + <text>STOP</text> + <scripts /> + <border_alarm_sensitive>true</border_alarm_sensitive> + <height>64</height> + <border_width>2</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <image></image> + <visible>true</visible> + <pv_name></pv_name> + <border_color> + <color name="IO Border" red="215" green="215" blue="215" /> + </border_color> + <widget_type>Action Button</widget_type> + <backcolor_alarm_sensitive>false</backcolor_alarm_sensitive> + <background_color> + <color name="Major" red="255" green="0" blue="0" /> + </background_color> + <width>181</width> + <x>576</x> + <name>Action Button Template_1</name> + <y>380</y> + <style>0</style> + <foreground_color> + <color name="IO Foreground" red="0" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <font> + <opifont.name fontName="Cantarell" height="11" style="1">Default Bold</opifont.name> + </font> + </widget> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.groupingContainer" version="1.0.0"> + <border_style>0</border_style> + <tooltip></tooltip> + <rules /> + <enabled>true</enabled> + <wuid>-5b5af26c:15364c41bca:-6d20</wuid> + <transparent>true</transparent> + <lock_children>false</lock_children> + <scripts /> + <height>1130</height> + <border_width>1</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <macros> + <include_parent_macros>true</include_parent_macros> + </macros> + <visible>false</visible> + <border_color> + <color red="0" green="128" blue="255" /> + </border_color> + <widget_type>Grouping Container</widget_type> + <background_color> + <color red="240" green="240" blue="240" /> + </background_color> + <width>2489</width> + <x>1</x> + <name>TREK6096E</name> + <y>1</y> + <foreground_color> + <color red="192" green="192" blue="192" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <fc>false</fc> + <show_scrollbar>true</show_scrollbar> + <font> + <opifont.name fontName="Cantarell" height="11" style="0">Default</opifont.name> + </font> + <widget typeId="org.csstudio.opibuilder.widgets.RoundedRectangle" version="1.0.0"> + <border_style>0</border_style> + <forecolor_alarm_sensitive>false</forecolor_alarm_sensitive> + <line_width>0</line_width> + <horizontal_fill>true</horizontal_fill> + <alarm_pulsing>false</alarm_pulsing> + <tooltip>$(pv_name) +$(pv_value)</tooltip> + <rules /> + <enabled>true</enabled> + <wuid>1e771979:1565068c2e3:-5856</wuid> + <transparent>false</transparent> + <pv_value /> + <alpha>255</alpha> + <corner_height>16</corner_height> + <bg_gradient_color> + <color red="255" green="255" blue="255" /> + </bg_gradient_color> + <scripts /> + <border_alarm_sensitive>false</border_alarm_sensitive> + <height>106</height> + <border_width>1</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <pv_name></pv_name> + <gradient>false</gradient> + <border_color> + <color red="0" green="128" blue="255" /> + </border_color> + <anti_alias>true</anti_alias> + <corner_width>16</corner_width> + <line_style>0</line_style> + <widget_type>Rounded Rectangle</widget_type> + <fg_gradient_color> + <color red="255" green="255" blue="255" /> + </fg_gradient_color> + <backcolor_alarm_sensitive>false</backcolor_alarm_sensitive> + <background_color> + <color red="186" green="189" blue="182" /> + </background_color> + <width>568</width> + <x>72</x> + <name>Rounded Rectangle_4</name> + <y>72</y> + <fill_level>0.0</fill_level> + <foreground_color> + <color red="255" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <font> + <opifont.name fontName="Cantarell" height="11" style="0">Default</opifont.name> + </font> + <line_color> + <color red="128" green="0" blue="255" /> + </line_color> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.Label" version="1.0.0"> + <border_style>0</border_style> + <tooltip></tooltip> + <horizontal_alignment>0</horizontal_alignment> + <rules /> + <enabled>false</enabled> + <wuid>1e771979:1565068c2e3:-5860</wuid> + <transparent>true</transparent> + <auto_size>false</auto_size> + <text>Voltage</text> + <scripts /> + <height>20</height> + <border_width>2</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <vertical_alignment>1</vertical_alignment> + <border_color> + <color name="IO Border" red="215" green="215" blue="215" /> + </border_color> + <widget_type>Label</widget_type> + <wrap_words>false</wrap_words> + <background_color> + <color name="IO Background" red="255" green="255" blue="205" /> + </background_color> + <width>87</width> + <x>93</x> + <name>Label Orientation_7</name> + <y>122</y> + <foreground_color> + <color name="IO Foreground" red="0" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <font> + <fontdata fontName="Sans" height="11" style="1" /> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.TextInput" version="2.0.0"> + <alarm_pulsing>false</alarm_pulsing> + <precision>0</precision> + <tooltip>$(pv_name) +$(pv_value)</tooltip> + <horizontal_alignment>1</horizontal_alignment> + <rules /> + <pv_value /> + <auto_size>false</auto_size> + <text></text> + <rotation_angle>0.0</rotation_angle> + <show_units>true</show_units> + <height>31</height> + <multiline_input>false</multiline_input> + <border_width>1</border_width> + <visible>true</visible> + <pv_name>$(PREFIX_PS)hor-SP</pv_name> + <selector_type>0</selector_type> + <border_color> + <color red="0" green="128" blue="255" /> + </border_color> + <precision_from_pv>true</precision_from_pv> + <widget_type>Text Input</widget_type> + <confirm_message></confirm_message> + <name>Text Input</name> + <style>0</style> + <actions hook="false" hook_all="false" /> + <border_style>3</border_style> + <forecolor_alarm_sensitive>false</forecolor_alarm_sensitive> + <enabled>true</enabled> + <wuid>1e771979:1565068c2e3:-585f</wuid> + <transparent>false</transparent> + <scripts /> + <border_alarm_sensitive>false</border_alarm_sensitive> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <backcolor_alarm_sensitive>false</backcolor_alarm_sensitive> + <format_type>0</format_type> + <limits_from_pv>false</limits_from_pv> + <background_color> + <color name="TextBackground" red="70" green="70" blue="70" /> + </background_color> + <width>140</width> + <x>189</x> + <y>116</y> + <maximum>1.7976931348623157E308</maximum> + <foreground_color> + <color name="KeyboardEntry" red="0" green="255" blue="255" /> + </foreground_color> + <minimum>-1.7976931348623157E308</minimum> + <font> + <opifont.name fontName="Cantarell" height="11" style="1">Default Bold</opifont.name> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.Label" version="1.0.0"> + <border_style>0</border_style> + <tooltip></tooltip> + <horizontal_alignment>1</horizontal_alignment> + <rules /> + <enabled>true</enabled> + <wuid>1e771979:1565068c2e3:-585e</wuid> + <transparent>false</transparent> + <auto_size>false</auto_size> + <text>HORIZONTAL Power Supply</text> + <scripts /> + <height>32</height> + <border_width>1</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <vertical_alignment>1</vertical_alignment> + <border_color> + <color red="0" green="128" blue="255" /> + </border_color> + <widget_type>Label</widget_type> + <wrap_words>true</wrap_words> + <background_color> + <color name="SubPanel" red="176" green="218" blue="249" /> + </background_color> + <width>568</width> + <x>72</x> + <name>Label_15</name> + <y>66</y> + <foreground_color> + <color red="0" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <show_scrollbar>false</show_scrollbar> + <font> + <fontdata fontName="Sans" height="10" style="1" /> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.TextUpdate" version="1.0.0"> + <border_style>0</border_style> + <forecolor_alarm_sensitive>false</forecolor_alarm_sensitive> + <alarm_pulsing>false</alarm_pulsing> + <precision>3</precision> + <tooltip>$(pv_name) +$(pv_value)</tooltip> + <horizontal_alignment>1</horizontal_alignment> + <rules /> + <enabled>true</enabled> + <wuid>1e771979:1565068c2e3:-5848</wuid> + <transparent>false</transparent> + <pv_value /> + <auto_size>false</auto_size> + <text>######</text> + <rotation_angle>0.0</rotation_angle> + <scripts /> + <border_alarm_sensitive>false</border_alarm_sensitive> + <show_units>true</show_units> + <height>31</height> + <border_width>1</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <pv_name>$(PREFIX_PS)hor-RBV</pv_name> + <vertical_alignment>1</vertical_alignment> + <border_color> + <color red="0" green="128" blue="255" /> + </border_color> + <precision_from_pv>false</precision_from_pv> + <widget_type>Text Update</widget_type> + <backcolor_alarm_sensitive>false</backcolor_alarm_sensitive> + <wrap_words>false</wrap_words> + <format_type>0</format_type> + <background_color> + <color name="TextBackground" red="70" green="70" blue="70" /> + </background_color> + <width>150</width> + <x>411</x> + <name>Text Update_3</name> + <y>116</y> + <foreground_color> + <color name="TextDynamic" red="0" green="244" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <font> + <opifont.name fontName="Cantarell" height="11" style="0">Default</opifont.name> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.RoundedRectangle" version="1.0.0"> + <border_style>0</border_style> + <forecolor_alarm_sensitive>false</forecolor_alarm_sensitive> + <line_width>0</line_width> + <horizontal_fill>true</horizontal_fill> + <alarm_pulsing>false</alarm_pulsing> + <tooltip>$(pv_name) +$(pv_value)</tooltip> + <rules /> + <enabled>true</enabled> + <wuid>1e771979:1565068c2e3:-5732</wuid> + <transparent>false</transparent> + <pv_value /> + <alpha>255</alpha> + <corner_height>16</corner_height> + <bg_gradient_color> + <color red="255" green="255" blue="255" /> + </bg_gradient_color> + <scripts /> + <border_alarm_sensitive>false</border_alarm_sensitive> + <height>106</height> + <border_width>1</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <pv_name></pv_name> + <gradient>false</gradient> + <border_color> + <color red="0" green="128" blue="255" /> + </border_color> + <anti_alias>true</anti_alias> + <corner_width>16</corner_width> + <line_style>0</line_style> + <widget_type>Rounded Rectangle</widget_type> + <fg_gradient_color> + <color red="255" green="255" blue="255" /> + </fg_gradient_color> + <backcolor_alarm_sensitive>false</backcolor_alarm_sensitive> + <background_color> + <color red="186" green="189" blue="182" /> + </background_color> + <width>568</width> + <x>72</x> + <name>Rounded Rectangle_4</name> + <y>246</y> + <fill_level>0.0</fill_level> + <foreground_color> + <color red="255" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <font> + <opifont.name fontName="Cantarell" height="11" style="0">Default</opifont.name> + </font> + <line_color> + <color red="128" green="0" blue="255" /> + </line_color> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.Label" version="1.0.0"> + <border_style>0</border_style> + <tooltip></tooltip> + <horizontal_alignment>0</horizontal_alignment> + <rules /> + <enabled>false</enabled> + <wuid>1e771979:1565068c2e3:-5731</wuid> + <transparent>true</transparent> + <auto_size>false</auto_size> + <text>Voltage</text> + <scripts /> + <height>20</height> + <border_width>2</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <vertical_alignment>1</vertical_alignment> + <border_color> + <color name="IO Border" red="215" green="215" blue="215" /> + </border_color> + <widget_type>Label</widget_type> + <wrap_words>false</wrap_words> + <background_color> + <color name="IO Background" red="255" green="255" blue="205" /> + </background_color> + <width>87</width> + <x>93</x> + <name>Label Orientation_7</name> + <y>296</y> + <foreground_color> + <color name="IO Foreground" red="0" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <font> + <fontdata fontName="Sans" height="11" style="1" /> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.TextInput" version="2.0.0"> + <alarm_pulsing>false</alarm_pulsing> + <precision>0</precision> + <tooltip>$(pv_name) +$(pv_value)</tooltip> + <horizontal_alignment>1</horizontal_alignment> + <rules /> + <pv_value /> + <auto_size>false</auto_size> + <text></text> + <rotation_angle>0.0</rotation_angle> + <show_units>true</show_units> + <height>31</height> + <multiline_input>false</multiline_input> + <border_width>1</border_width> + <visible>true</visible> + <pv_name>$(PREFIX_PS)ver-SP</pv_name> + <selector_type>0</selector_type> + <border_color> + <color red="0" green="128" blue="255" /> + </border_color> + <precision_from_pv>true</precision_from_pv> + <widget_type>Text Input</widget_type> + <confirm_message></confirm_message> + <name>Text Input</name> + <style>0</style> + <actions hook="false" hook_all="false" /> + <border_style>3</border_style> + <forecolor_alarm_sensitive>false</forecolor_alarm_sensitive> + <enabled>true</enabled> + <wuid>1e771979:1565068c2e3:-5730</wuid> + <transparent>false</transparent> + <scripts /> + <border_alarm_sensitive>false</border_alarm_sensitive> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <backcolor_alarm_sensitive>false</backcolor_alarm_sensitive> + <format_type>0</format_type> + <limits_from_pv>false</limits_from_pv> + <background_color> + <color name="TextBackground" red="70" green="70" blue="70" /> + </background_color> + <width>140</width> + <x>189</x> + <y>290</y> + <maximum>1.7976931348623157E308</maximum> + <foreground_color> + <color name="KeyboardEntry" red="0" green="255" blue="255" /> + </foreground_color> + <minimum>-1.7976931348623157E308</minimum> + <font> + <opifont.name fontName="Cantarell" height="11" style="1">Default Bold</opifont.name> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.Label" version="1.0.0"> + <border_style>0</border_style> + <tooltip></tooltip> + <horizontal_alignment>1</horizontal_alignment> + <rules /> + <enabled>true</enabled> + <wuid>1e771979:1565068c2e3:-572f</wuid> + <transparent>false</transparent> + <auto_size>false</auto_size> + <text>VERTICAL Power Supply</text> + <scripts /> + <height>32</height> + <border_width>1</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <vertical_alignment>1</vertical_alignment> + <border_color> + <color red="0" green="128" blue="255" /> + </border_color> + <widget_type>Label</widget_type> + <wrap_words>true</wrap_words> + <background_color> + <color name="SubPanel" red="176" green="218" blue="249" /> + </background_color> + <width>568</width> + <x>72</x> + <name>Label_15</name> + <y>240</y> + <foreground_color> + <color red="0" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <show_scrollbar>false</show_scrollbar> + <font> + <fontdata fontName="Sans" height="10" style="1" /> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.TextUpdate" version="1.0.0"> + <border_style>0</border_style> + <forecolor_alarm_sensitive>false</forecolor_alarm_sensitive> + <alarm_pulsing>false</alarm_pulsing> + <precision>3</precision> + <tooltip>$(pv_name) +$(pv_value)</tooltip> + <horizontal_alignment>1</horizontal_alignment> + <rules /> + <enabled>true</enabled> + <wuid>1e771979:1565068c2e3:-572e</wuid> + <transparent>false</transparent> + <pv_value /> + <auto_size>false</auto_size> + <text>######</text> + <rotation_angle>0.0</rotation_angle> + <scripts /> + <border_alarm_sensitive>false</border_alarm_sensitive> + <show_units>true</show_units> + <height>31</height> + <border_width>1</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <pv_name>$(PREFIX_PS)ver-RBV</pv_name> + <vertical_alignment>1</vertical_alignment> + <border_color> + <color red="0" green="128" blue="255" /> + </border_color> + <precision_from_pv>false</precision_from_pv> + <widget_type>Text Update</widget_type> + <backcolor_alarm_sensitive>false</backcolor_alarm_sensitive> + <wrap_words>false</wrap_words> + <format_type>0</format_type> + <background_color> + <color name="TextBackground" red="70" green="70" blue="70" /> + </background_color> + <width>150</width> + <x>411</x> + <name>Text Update_3</name> + <y>290</y> + <foreground_color> + <color name="TextDynamic" red="0" green="244" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <font> + <opifont.name fontName="Cantarell" height="11" style="0">Default</opifont.name> + </font> + </widget> + </widget> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.Rectangle" version="1.0.0"> + <border_style>0</border_style> + <forecolor_alarm_sensitive>false</forecolor_alarm_sensitive> + <line_width>1</line_width> + <horizontal_fill>true</horizontal_fill> + <alarm_pulsing>false</alarm_pulsing> + <tooltip>$(pv_name) +$(pv_value)</tooltip> + <rules /> + <enabled>true</enabled> + <wuid>20cc570d:152c6318c71:-19d6</wuid> + <transparent>false</transparent> + <pv_value /> + <alpha>255</alpha> + <bg_gradient_color> + <color name="IO Foreground" red="0" green="0" blue="0" /> + </bg_gradient_color> + <scripts /> + <border_alarm_sensitive>false</border_alarm_sensitive> + <height>80</height> + <border_width>2</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <pv_name></pv_name> + <gradient>false</gradient> + <border_color> + <color red="0" green="148" blue="202" /> + </border_color> + <anti_alias>true</anti_alias> + <line_style>0</line_style> + <widget_type>Rectangle</widget_type> + <fg_gradient_color> + <color name="IO Foreground" red="0" green="0" blue="0" /> + </fg_gradient_color> + <backcolor_alarm_sensitive>false</backcolor_alarm_sensitive> + <background_color> + <color red="0" green="148" blue="202" /> + </background_color> + <width>2491</width> + <x>18</x> + <name>Rectangle Template</name> + <y>0</y> + <fill_level>100.0</fill_level> + <foreground_color> + <color red="0" green="148" blue="202" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <font> + <opifont.name fontName="arial" height="10" style="0">IO Normal</opifont.name> + </font> + <line_color> + <color name="IO Line" red="0" green="32" blue="92" /> + </line_color> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.Label" version="1.0.0"> + <border_style>0</border_style> + <tooltip></tooltip> + <horizontal_alignment>1</horizontal_alignment> + <rules /> + <enabled>false</enabled> + <wuid>20cc570d:152c6318c71:-19d2</wuid> + <transparent>true</transparent> + <auto_size>true</auto_size> + <text>EMU</text> + <scripts /> + <height>39</height> + <border_width>2</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <vertical_alignment>1</vertical_alignment> + <border_color> + <color name="IO Border" red="215" green="215" blue="215" /> + </border_color> + <widget_type>Label</widget_type> + <wrap_words>true</wrap_words> + <background_color> + <color name="IO Background" red="255" green="255" blue="205" /> + </background_color> + <width>73</width> + <x>475</x> + <name>Label Template</name> + <y>20</y> + <foreground_color> + <color red="255" green="255" blue="255" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <show_scrollbar>false</show_scrollbar> + <font> + <fontdata fontName="Titillium" height="25" style="0" /> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.Label" version="1.0.0"> + <border_style>0</border_style> + <tooltip></tooltip> + <horizontal_alignment>1</horizontal_alignment> + <rules /> + <enabled>false</enabled> + <wuid>-cae44c:157dd221fed:-6b69</wuid> + <transparent>true</transparent> + <auto_size>false</auto_size> + <text>Status</text> + <scripts /> + <height>20</height> + <border_width>2</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <vertical_alignment>1</vertical_alignment> + <border_color> + <color name="IO Border" red="215" green="215" blue="215" /> + </border_color> + <widget_type>Label</widget_type> + <wrap_words>false</wrap_words> + <background_color> + <color name="IO Background" red="255" green="255" blue="205" /> + </background_color> + <width>115</width> + <x>666</x> + <name>Label Orientation_7</name> + <y>30</y> + <foreground_color> + <color name="IO Foreground" red="0" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <font> + <fontdata fontName="Sans" height="10" style="1" /> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.TextInput" version="2.0.0"> + <alarm_pulsing>false</alarm_pulsing> + <precision>0</precision> + <tooltip>$(pv_name) +$(pv_value)</tooltip> + <horizontal_alignment>0</horizontal_alignment> + <rules /> + <pv_value /> + <auto_size>false</auto_size> + <text></text> + <rotation_angle>0.0</rotation_angle> + <show_units>true</show_units> + <height>25</height> + <multiline_input>false</multiline_input> + <border_width>1</border_width> + <visible>true</visible> + <pv_name>${PREFIX_SCAN}:$(NAME_MTR).FAZE</pv_name> + <selector_type>0</selector_type> + <border_color> + <color red="0" green="128" blue="255" /> + </border_color> + <precision_from_pv>true</precision_from_pv> + <widget_type>Text Input</widget_type> + <confirm_message></confirm_message> + <name>Text Input_9</name> + <style>0</style> + <actions hook="false" hook_all="false" /> + <border_style>3</border_style> + <forecolor_alarm_sensitive>false</forecolor_alarm_sensitive> + <enabled>true</enabled> + <wuid>-cae44c:157dd221fed:-6b63</wuid> + <transparent>false</transparent> + <scripts /> + <border_alarm_sensitive>false</border_alarm_sensitive> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <backcolor_alarm_sensitive>false</backcolor_alarm_sensitive> + <format_type>0</format_type> + <limits_from_pv>false</limits_from_pv> + <background_color> + <color name="Black" red="0" green="0" blue="0" /> + </background_color> + <width>322</width> + <x>780</x> + <y>27</y> + <maximum>1.7976931348623157E308</maximum> + <foreground_color> + <color name="Major" red="255" green="0" blue="0" /> + </foreground_color> + <minimum>-1.7976931348623157E308</minimum> + <font> + <opifont.name fontName="OpenSans" height="10" style="1">Small Bold</opifont.name> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.xyGraph" version="1.0.0"> + <axis_1_scale_format></axis_1_scale_format> + <trace_2_x_axis_index>0</trace_2_x_axis_index> + <alarm_pulsing>false</alarm_pulsing> + <tooltip>$(trace_0_y_pv) +$(trace_0_y_pv_value)</tooltip> + <trace_0_concatenate_data>false</trace_0_concatenate_data> + <trace_0_trace_type>0</trace_0_trace_type> + <border_width>1</border_width> + <trace_1_x_axis_index>0</trace_1_x_axis_index> + <border_style>0</border_style> + <axis_0_grid_color> + <color red="200" green="200" blue="200" /> + </axis_0_grid_color> + <trace_0_name>$(trace_0_y_pv)</trace_0_name> + <trace_0_update_mode>0</trace_0_update_mode> + <trace_1_x_pv></trace_1_x_pv> + <wuid>4ad471b5:157e1276406:-7497</wuid> + <transparent>false</transparent> + <trace_1_update_mode>0</trace_1_update_mode> + <axis_0_title_font> + <opifont.name fontName="Cantarell" height="11" style="1">Default Bold</opifont.name> + </axis_0_title_font> + <trace_2_update_mode>0</trace_2_update_mode> + <background_color> + <color red="240" green="240" blue="240" /> + </background_color> + <x>2652</x> + <y>930</y> + <trace_0_x_axis_index>0</trace_0_x_axis_index> + <axis_count>2</axis_count> + <trace_1_point_size>4</trace_1_point_size> + <trace_1_anti_alias>true</trace_1_anti_alias> + <pv_value /> + <trace_0_buffer_size>5000</trace_0_buffer_size> + <trace_2_buffer_size>5000</trace_2_buffer_size> + <axis_1_maximum>100.0</axis_1_maximum> + <axis_0_scale_font> + <opifont.name fontName="Cantarell" height="11" style="0">Default</opifont.name> + </axis_0_scale_font> + <trigger_pv></trigger_pv> + <widget_type>XY Graph</widget_type> + <trace_2_line_width>1</trace_2_line_width> + <axis_1_axis_color> + <color red="0" green="0" blue="0" /> + </axis_1_axis_color> + <axis_0_scale_format></axis_0_scale_format> + <axis_1_log_scale>false</axis_1_log_scale> + <title></title> + <trace_0_visible>true</trace_0_visible> + <trace_1_name>$(trace_1_y_pv)</trace_1_name> + <trace_1_y_pv_value /> + <show_legend>true</show_legend> + <axis_0_axis_title>Primary X Axis (0)</axis_0_axis_title> + <axis_0_axis_color> + <color red="0" green="0" blue="0" /> + </axis_0_axis_color> + <trace_2_update_delay>100</trace_2_update_delay> + <axis_0_dash_grid_line>true</axis_0_dash_grid_line> + <trace_0_point_style>0</trace_0_point_style> + <trace_1_point_style>0</trace_1_point_style> + <trace_0_line_width>1</trace_0_line_width> + <axis_0_time_format>0</axis_0_time_format> + <trace_count>3</trace_count> + <axis_1_show_grid>true</axis_1_show_grid> + <trace_2_trace_color> + <color red="33" green="179" blue="33" /> + </trace_2_trace_color> + <axis_1_dash_grid_line>true</axis_1_dash_grid_line> + <trace_2_trace_type>0</trace_2_trace_type> + <show_toolbar>true</show_toolbar> + <axis_0_visible>true</axis_0_visible> + <axis_0_show_grid>true</axis_0_show_grid> + <trace_0_y_axis_index>1</trace_0_y_axis_index> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <trace_1_y_pv>SCANNINGDAQ:AI-CH1-DATA</trace_1_y_pv> + <trace_2_concatenate_data>false</trace_2_concatenate_data> + <backcolor_alarm_sensitive>false</backcolor_alarm_sensitive> + <trace_2_y_pv_value /> + <trace_2_anti_alias>true</trace_2_anti_alias> + <axis_0_maximum>100.0</axis_0_maximum> + <trace_1_y_axis_index>1</trace_1_y_axis_index> + <trace_2_name>$(trace_2_y_pv)</trace_2_name> + <height>244</height> + <trace_2_visible>true</trace_2_visible> + <trigger_pv_value /> + <axis_1_grid_color> + <color red="200" green="200" blue="200" /> + </axis_1_grid_color> + <actions hook="false" hook_all="false" /> + <trace_2_point_size>4</trace_2_point_size> + <axis_0_log_scale>false</axis_0_log_scale> + <trace_0_x_pv_value /> + <axis_0_auto_scale_threshold>0.0</axis_0_auto_scale_threshold> + <rules /> + <axis_1_visible>true</axis_1_visible> + <trace_0_update_delay>100</trace_0_update_delay> + <trace_1_concatenate_data>false</trace_1_concatenate_data> + <trace_1_trace_color> + <color red="242" green="26" blue="26" /> + </trace_1_trace_color> + <pv_name></pv_name> + <name>XY Graph</name> + <trace_1_trace_type>0</trace_1_trace_type> + <axis_0_auto_scale>true</axis_0_auto_scale> + <axis_0_minimum>0.0</axis_0_minimum> + <trace_2_y_axis_index>1</trace_2_y_axis_index> + <trace_1_update_delay>100</trace_1_update_delay> + <axis_1_axis_title>Primary Y Axis (1)</axis_1_axis_title> + <trace_2_x_pv_value /> + <axis_1_auto_scale>true</axis_1_auto_scale> + <trace_1_line_width>1</trace_1_line_width> + <trace_2_y_pv>SCANNINGDAQ:AI-CH2-DATA</trace_2_y_pv> + <trace_1_plot_mode>0</trace_1_plot_mode> + <border_color> + <color red="0" green="128" blue="255" /> + </border_color> + <trace_0_y_pv>SCANNINGDAQ:AI-CH0-DATA</trace_0_y_pv> + <trace_2_point_style>0</trace_2_point_style> + <trace_0_plot_mode>0</trace_0_plot_mode> + <enabled>true</enabled> + <trace_0_x_pv></trace_0_x_pv> + <axis_1_scale_font> + <opifont.name fontName="Cantarell" height="11" style="0">Default</opifont.name> + </axis_1_scale_font> + <axis_1_time_format>0</axis_1_time_format> + <border_alarm_sensitive>true</border_alarm_sensitive> + <show_plot_area_border>false</show_plot_area_border> + <width>352</width> + <trace_1_x_pv_value /> + <axis_1_minimum>0.0</axis_1_minimum> + <title_font> + <opifont.name fontName="Cantarell" height="11" style="1">Default Bold</opifont.name> + </title_font> + <trace_0_y_pv_value /> + <trace_1_visible>true</trace_1_visible> + <plot_area_background_color> + <color red="255" green="255" blue="255" /> + </plot_area_background_color> + <axis_1_title_font> + <opifont.name fontName="Cantarell" height="11" style="1">Default Bold</opifont.name> + </axis_1_title_font> + <visible>true</visible> + <trace_1_buffer_size>5000</trace_1_buffer_size> + <forecolor_alarm_sensitive>false</forecolor_alarm_sensitive> + <scripts /> + <trace_0_point_size>4</trace_0_point_size> + <trace_0_trace_color> + <color red="21" green="21" blue="196" /> + </trace_0_trace_color> + <trace_0_anti_alias>true</trace_0_anti_alias> + <axis_1_auto_scale_threshold>0.0</axis_1_auto_scale_threshold> + <trace_2_plot_mode>0</trace_2_plot_mode> + <trace_2_x_pv></trace_2_x_pv> + <foreground_color> + <color red="0" green="0" blue="255" /> + </foreground_color> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.tab" version="1.0.0"> + <active_tab>0</active_tab> + <tooltip></tooltip> + <height>460</height> + <border_width>1</border_width> + <border_color> + <color name="Container Border Grey" red="150" green="150" blue="150" /> + </border_color> + <tab_0_foreground_color> + <color name="Black" red="0" green="0" blue="0" /> + </tab_0_foreground_color> + <actions hook="false" hook_all="false"> + <action type="WRITE_PV"> + <pv_name>$(pv_name)</pv_name> + <value></value> + <timeout>10</timeout> + <confirm_message></confirm_message> + <description>save data</description> + </action> + </actions> + <tab_1_enabled>true</tab_1_enabled> + <border_style>14</border_style> + <enabled>true</enabled> + <wuid>-20a75393:15809f6e4ee:-74d8</wuid> + <tab_1_background_color> + <color name="Container Grey" red="200" green="200" blue="200" /> + </tab_1_background_color> + <tab_1_icon_path></tab_1_icon_path> + <tab_1_font> + <opifont.name fontName="OpenSans" height="12" style="1">Normal Bold</opifont.name> + </tab_1_font> + <background_color> + <color name="Container Border Grey" red="150" green="150" blue="150" /> + </background_color> + <width>450</width> + <x>2712</x> + <horizontal_tabs>true</horizontal_tabs> + <y>486</y> + <rules /> + <macros> + <include_parent_macros>true</include_parent_macros> + </macros> + <visible>true</visible> + <tab_0_background_color> + <color name="Container Grey" red="200" green="200" blue="200" /> + </tab_0_background_color> + <widget_type>Tabbed Container</widget_type> + <name>Tabbed Container_1</name> + <minimum_tab_height>10</minimum_tab_height> + <tab_0_font> + <opifont.name fontName="OpenSans" height="12" style="1">Normal Bold</opifont.name> + </tab_0_font> + <tab_0_title>Vertical motor</tab_0_title> + <tab_1_foreground_color> + <color name="Black" red="0" green="0" blue="0" /> + </tab_1_foreground_color> + <tab_1_title>Console</tab_1_title> + <scripts /> + <tab_count>2</tab_count> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <tab_0_icon_path></tab_0_icon_path> + <tab_0_enabled>true</tab_0_enabled> + <foreground_color> + <color name="Black" red="0" green="0" blue="0" /> + </foreground_color> + <widget typeId="org.csstudio.opibuilder.widgets.groupingContainer" version="1.0.0"> + <border_style>0</border_style> + <tooltip></tooltip> + <rules /> + <enabled>true</enabled> + <wuid>-20a75393:15809f6e4ee:-74d7</wuid> + <transparent>true</transparent> + <lock_children>false</lock_children> + <scripts /> + <height>420</height> + <border_width>1</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <macros> + <include_parent_macros>true</include_parent_macros> + </macros> + <visible>true</visible> + <border_color> + <color red="0" green="128" blue="255" /> + </border_color> + <widget_type>Grouping Container</widget_type> + <background_color> + <color red="240" green="240" blue="240" /> + </background_color> + <width>444</width> + <x>1</x> + <name>Vertical motor</name> + <y>1</y> + <foreground_color> + <color red="192" green="192" blue="192" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <fc>false</fc> + <show_scrollbar>true</show_scrollbar> + <font> + <opifont.name fontName="Cantarell" height="11" style="0">Default</opifont.name> + </font> + <widget typeId="org.csstudio.opibuilder.widgets.LED" version="1.0.0"> + <alarm_pulsing>false</alarm_pulsing> + <tooltip>$(pv_name)</tooltip> + <rules /> + <effect_3d>true</effect_3d> + <bit>-1</bit> + <pv_value /> + <height>18</height> + <border_width>1</border_width> + <visible>true</visible> + <pv_name>$(P)_$(M):V_SWITCH_H_GET</pv_name> + <border_color> + <color name="Blue" red="0" green="128" blue="255" /> + </border_color> + <widget_type>LED</widget_type> + <name>LED</name> + <actions hook="false" hook_all="false" /> + <show_boolean_label>false</show_boolean_label> + <border_style>0</border_style> + <forecolor_alarm_sensitive>false</forecolor_alarm_sensitive> + <enabled>true</enabled> + <wuid>-20a75393:15809f6e4ee:-74d6</wuid> + <on_color> + <color name="Minor" red="255" green="128" blue="0" /> + </on_color> + <scripts /> + <border_alarm_sensitive>false</border_alarm_sensitive> + <on_label>ON</on_label> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>true</keep_wh_ratio> + </scale_options> + <off_color> + <color name="Green Off" red="0" green="30" blue="0" /> + </off_color> + <backcolor_alarm_sensitive>false</backcolor_alarm_sensitive> + <background_color> + <color name="Field Background Grey" red="240" green="240" blue="240" /> + </background_color> + <square_led>false</square_led> + <width>18</width> + <x>30</x> + <data_type>0</data_type> + <y>30</y> + <foreground_color> + <color name="Button Grey" red="180" green="180" blue="180" /> + </foreground_color> + <font> + <opifont.name fontName="Cantarell" height="11" style="0">Default</opifont.name> + </font> + <off_label>OFF</off_label> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.Label" version="1.0.0"> + <border_style>0</border_style> + <tooltip></tooltip> + <horizontal_alignment>0</horizontal_alignment> + <rules /> + <enabled>true</enabled> + <wuid>-20a75393:15809f6e4ee:-74d5</wuid> + <transparent>true</transparent> + <auto_size>true</auto_size> + <text>Vertical high switch</text> + <scripts /> + <height>18</height> + <border_width>2</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <vertical_alignment>1</vertical_alignment> + <border_color> + <color name="Black" red="0" green="0" blue="0" /> + </border_color> + <widget_type>Label</widget_type> + <wrap_words>true</wrap_words> + <background_color> + <color name="White" red="255" green="255" blue="255" /> + </background_color> + <width>114</width> + <x>60</x> + <name>Label Template_13</name> + <y>30</y> + <foreground_color> + <color name="Black" red="0" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <show_scrollbar>false</show_scrollbar> + <font> + <opifont.name fontName="OpenSans" height="10" style="0">Small</opifont.name> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.LED" version="1.0.0"> + <alarm_pulsing>false</alarm_pulsing> + <tooltip>$(pv_name)</tooltip> + <rules /> + <effect_3d>true</effect_3d> + <bit>-1</bit> + <pv_value /> + <height>18</height> + <border_width>1</border_width> + <visible>true</visible> + <pv_name>$(P)_$(M):V_SWITCH_L_GET</pv_name> + <border_color> + <color name="Blue" red="0" green="128" blue="255" /> + </border_color> + <widget_type>LED</widget_type> + <name>LED</name> + <actions hook="false" hook_all="false" /> + <show_boolean_label>false</show_boolean_label> + <border_style>0</border_style> + <forecolor_alarm_sensitive>false</forecolor_alarm_sensitive> + <enabled>true</enabled> + <wuid>-20a75393:15809f6e4ee:-74d4</wuid> + <on_color> + <color name="Minor" red="255" green="128" blue="0" /> + </on_color> + <scripts /> + <border_alarm_sensitive>false</border_alarm_sensitive> + <on_label>ON</on_label> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>true</keep_wh_ratio> + </scale_options> + <off_color> + <color name="Green Off" red="0" green="30" blue="0" /> + </off_color> + <backcolor_alarm_sensitive>false</backcolor_alarm_sensitive> + <background_color> + <color name="Field Background Grey" red="240" green="240" blue="240" /> + </background_color> + <square_led>false</square_led> + <width>18</width> + <x>30</x> + <data_type>0</data_type> + <y>60</y> + <foreground_color> + <color name="Button Grey" red="180" green="180" blue="180" /> + </foreground_color> + <font> + <opifont.name fontName="Cantarell" height="11" style="0">Default</opifont.name> + </font> + <off_label>OFF</off_label> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.Label" version="1.0.0"> + <border_style>0</border_style> + <tooltip></tooltip> + <horizontal_alignment>0</horizontal_alignment> + <rules /> + <enabled>true</enabled> + <wuid>-20a75393:15809f6e4ee:-74d3</wuid> + <transparent>true</transparent> + <auto_size>true</auto_size> + <text>Vertical low switch</text> + <scripts /> + <height>18</height> + <border_width>2</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <vertical_alignment>1</vertical_alignment> + <border_color> + <color name="Black" red="0" green="0" blue="0" /> + </border_color> + <widget_type>Label</widget_type> + <wrap_words>true</wrap_words> + <background_color> + <color name="White" red="255" green="255" blue="255" /> + </background_color> + <width>109</width> + <x>60</x> + <name>Label Template_13</name> + <y>60</y> + <foreground_color> + <color name="Black" red="0" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <show_scrollbar>false</show_scrollbar> + <font> + <opifont.name fontName="OpenSans" height="10" style="0">Small</opifont.name> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.LED" version="1.0.0"> + <alarm_pulsing>false</alarm_pulsing> + <tooltip>$(pv_name)</tooltip> + <rules /> + <effect_3d>true</effect_3d> + <bit>-1</bit> + <pv_value /> + <height>18</height> + <border_width>1</border_width> + <visible>true</visible> + <pv_name>$(P)_$(M):V_M_IN_POSITION_GET</pv_name> + <border_color> + <color name="Blue" red="0" green="128" blue="255" /> + </border_color> + <widget_type>LED</widget_type> + <name>LED</name> + <actions hook="false" hook_all="false" /> + <show_boolean_label>false</show_boolean_label> + <border_style>0</border_style> + <forecolor_alarm_sensitive>false</forecolor_alarm_sensitive> + <enabled>true</enabled> + <wuid>-20a75393:15809f6e4ee:-74d2</wuid> + <on_color> + <color name="Green On" red="0" green="255" blue="0" /> + </on_color> + <scripts /> + <border_alarm_sensitive>false</border_alarm_sensitive> + <on_label>ON</on_label> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>true</keep_wh_ratio> + </scale_options> + <off_color> + <color name="Minor" red="255" green="128" blue="0" /> + </off_color> + <backcolor_alarm_sensitive>false</backcolor_alarm_sensitive> + <background_color> + <color name="Field Background Grey" red="240" green="240" blue="240" /> + </background_color> + <square_led>false</square_led> + <width>18</width> + <x>30</x> + <data_type>0</data_type> + <y>90</y> + <foreground_color> + <color name="Button Grey" red="180" green="180" blue="180" /> + </foreground_color> + <font> + <opifont.name fontName="Cantarell" height="11" style="0">Default</opifont.name> + </font> + <off_label>OFF</off_label> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.LED" version="1.0.0"> + <alarm_pulsing>false</alarm_pulsing> + <tooltip>$(pv_name)</tooltip> + <rules /> + <effect_3d>true</effect_3d> + <bit>-1</bit> + <pv_value /> + <height>18</height> + <border_width>1</border_width> + <visible>true</visible> + <pv_name>$(P)_$(M):V_HOME_DONE_GET</pv_name> + <border_color> + <color name="Blue" red="0" green="128" blue="255" /> + </border_color> + <widget_type>LED</widget_type> + <name>LED</name> + <actions hook="false" hook_all="false" /> + <show_boolean_label>false</show_boolean_label> + <border_style>0</border_style> + <forecolor_alarm_sensitive>false</forecolor_alarm_sensitive> + <enabled>true</enabled> + <wuid>-20a75393:15809f6e4ee:-74d1</wuid> + <on_color> + <color name="Green On" red="0" green="255" blue="0" /> + </on_color> + <scripts /> + <border_alarm_sensitive>false</border_alarm_sensitive> + <on_label>ON</on_label> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>true</keep_wh_ratio> + </scale_options> + <off_color> + <color name="Major" red="255" green="0" blue="0" /> + </off_color> + <backcolor_alarm_sensitive>false</backcolor_alarm_sensitive> + <background_color> + <color name="Field Background Grey" red="240" green="240" blue="240" /> + </background_color> + <square_led>false</square_led> + <width>18</width> + <x>30</x> + <data_type>0</data_type> + <y>120</y> + <foreground_color> + <color name="Button Grey" red="180" green="180" blue="180" /> + </foreground_color> + <font> + <opifont.name fontName="Cantarell" height="11" style="0">Default</opifont.name> + </font> + <off_label>OFF</off_label> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.Label" version="1.0.0"> + <border_style>0</border_style> + <tooltip></tooltip> + <horizontal_alignment>0</horizontal_alignment> + <rules /> + <enabled>true</enabled> + <wuid>-20a75393:15809f6e4ee:-74d0</wuid> + <transparent>true</transparent> + <auto_size>true</auto_size> + <text>Vertical motor in position</text> + <scripts /> + <height>18</height> + <border_width>2</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <vertical_alignment>1</vertical_alignment> + <border_color> + <color name="Black" red="0" green="0" blue="0" /> + </border_color> + <widget_type>Label</widget_type> + <wrap_words>true</wrap_words> + <background_color> + <color name="White" red="255" green="255" blue="255" /> + </background_color> + <width>151</width> + <x>60</x> + <name>Label Template_13</name> + <y>90</y> + <foreground_color> + <color name="Black" red="0" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <show_scrollbar>false</show_scrollbar> + <font> + <opifont.name fontName="OpenSans" height="10" style="0">Small</opifont.name> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.Label" version="1.0.0"> + <border_style>0</border_style> + <tooltip></tooltip> + <horizontal_alignment>0</horizontal_alignment> + <rules /> + <enabled>true</enabled> + <wuid>-20a75393:15809f6e4ee:-74cf</wuid> + <transparent>true</transparent> + <auto_size>true</auto_size> + <text>Vertical motor, home procedure done</text> + <scripts /> + <height>18</height> + <border_width>2</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <vertical_alignment>1</vertical_alignment> + <border_color> + <color name="Black" red="0" green="0" blue="0" /> + </border_color> + <widget_type>Label</widget_type> + <wrap_words>true</wrap_words> + <background_color> + <color name="White" red="255" green="255" blue="255" /> + </background_color> + <width>225</width> + <x>60</x> + <name>Label Template_13</name> + <y>120</y> + <foreground_color> + <color name="Black" red="0" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <show_scrollbar>false</show_scrollbar> + <font> + <opifont.name fontName="OpenSans" height="10" style="0">Small</opifont.name> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.TextInput" version="2.0.0"> + <alarm_pulsing>false</alarm_pulsing> + <precision>0</precision> + <tooltip>$(pv_name)</tooltip> + <horizontal_alignment>1</horizontal_alignment> + <rules> + <rule name="enable" prop_id="enabled" out_exp="false"> + <exp bool_exp="pv0 == 1"> + <value>false</value> + </exp> + <pv trig="true">$(P)_$(M):V_BRAKE_GET</pv> + </rule> + <rule name="color_enable" prop_id="background_color" out_exp="false"> + <exp bool_exp="pv0 == 1"> + <value> + <color name="Container Grey" red="200" green="200" blue="200" /> + </value> + </exp> + <pv trig="true">$(P)_$(M):V_BRAKE_GET</pv> + </rule> + </rules> + <pv_value /> + <auto_size>false</auto_size> + <text></text> + <rotation_angle>0.0</rotation_angle> + <show_units>true</show_units> + <height>20</height> + <multiline_input>false</multiline_input> + <border_width>1</border_width> + <visible>true</visible> + <pv_name>$(P)_$(M):V_ABS-POS_SET</pv_name> + <selector_type>0</selector_type> + <border_color> + <color name="Blue" red="0" green="128" blue="255" /> + </border_color> + <precision_from_pv>true</precision_from_pv> + <widget_type>Text Input</widget_type> + <confirm_message></confirm_message> + <name>Text Input</name> + <style>0</style> + <actions hook="false" hook_all="false" /> + <border_style>3</border_style> + <forecolor_alarm_sensitive>false</forecolor_alarm_sensitive> + <enabled>true</enabled> + <wuid>-20a75393:15809f6e4ee:-74ce</wuid> + <transparent>false</transparent> + <scripts /> + <border_alarm_sensitive>false</border_alarm_sensitive> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <backcolor_alarm_sensitive>false</backcolor_alarm_sensitive> + <format_type>0</format_type> + <limits_from_pv>true</limits_from_pv> + <background_color> + <color name="White" red="255" green="255" blue="255" /> + </background_color> + <width>137</width> + <x>220</x> + <y>231</y> + <foreground_color> + <color name="Black" red="0" green="0" blue="0" /> + </foreground_color> + <font> + <opifont.name fontName="OpenSans" height="12" style="1">Normal Bold</opifont.name> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.Label" version="1.0.0"> + <border_style>0</border_style> + <tooltip></tooltip> + <horizontal_alignment>0</horizontal_alignment> + <rules /> + <enabled>true</enabled> + <wuid>-20a75393:15809f6e4ee:-74cd</wuid> + <transparent>true</transparent> + <auto_size>true</auto_size> + <text>Set new absolute position</text> + <scripts /> + <height>18</height> + <border_width>2</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <vertical_alignment>1</vertical_alignment> + <border_color> + <color name="Black" red="0" green="0" blue="0" /> + </border_color> + <widget_type>Label</widget_type> + <wrap_words>true</wrap_words> + <background_color> + <color name="White" red="255" green="255" blue="255" /> + </background_color> + <width>154</width> + <x>47</x> + <name>Label Template_13</name> + <y>232</y> + <foreground_color> + <color name="Black" red="0" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <show_scrollbar>false</show_scrollbar> + <font> + <opifont.name fontName="OpenSans" height="10" style="0">Small</opifont.name> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.TextUpdate" version="1.0.0"> + <border_style>0</border_style> + <forecolor_alarm_sensitive>false</forecolor_alarm_sensitive> + <alarm_pulsing>false</alarm_pulsing> + <precision>0</precision> + <tooltip>$(pv_name)</tooltip> + <horizontal_alignment>1</horizontal_alignment> + <rules /> + <enabled>true</enabled> + <wuid>-20a75393:15809f6e4ee:-74cc</wuid> + <transparent>false</transparent> + <pv_value /> + <auto_size>false</auto_size> + <text></text> + <rotation_angle>0.0</rotation_angle> + <scripts /> + <border_alarm_sensitive>false</border_alarm_sensitive> + <show_units>true</show_units> + <height>20</height> + <border_width>1</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <pv_name>$(P)_$(M):V_M_POSITION_GET</pv_name> + <vertical_alignment>1</vertical_alignment> + <border_color> + <color name="Blue" red="0" green="128" blue="255" /> + </border_color> + <precision_from_pv>true</precision_from_pv> + <widget_type>Text Update</widget_type> + <backcolor_alarm_sensitive>false</backcolor_alarm_sensitive> + <wrap_words>false</wrap_words> + <format_type>0</format_type> + <background_color> + <color name="Field Background Grey" red="240" green="240" blue="240" /> + </background_color> + <width>137</width> + <x>220</x> + <name>Text Update</name> + <y>260</y> + <foreground_color> + <color name="Black" red="0" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <font> + <opifont.name fontName="OpenSans" height="12" style="0">Normal</opifont.name> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.Label" version="1.0.0"> + <border_style>0</border_style> + <tooltip></tooltip> + <horizontal_alignment>0</horizontal_alignment> + <rules /> + <enabled>true</enabled> + <wuid>-20a75393:15809f6e4ee:-74cb</wuid> + <transparent>true</transparent> + <auto_size>true</auto_size> + <text>Actual position</text> + <scripts /> + <height>18</height> + <border_width>2</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <vertical_alignment>1</vertical_alignment> + <border_color> + <color name="Black" red="0" green="0" blue="0" /> + </border_color> + <widget_type>Label</widget_type> + <wrap_words>true</wrap_words> + <background_color> + <color name="White" red="255" green="255" blue="255" /> + </background_color> + <width>89</width> + <x>120</x> + <name>Label Template_13</name> + <y>261</y> + <foreground_color> + <color name="Black" red="0" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <show_scrollbar>false</show_scrollbar> + <font> + <opifont.name fontName="OpenSans" height="10" style="0">Small</opifont.name> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.Label" version="1.0.0"> + <border_style>0</border_style> + <tooltip></tooltip> + <horizontal_alignment>0</horizontal_alignment> + <rules /> + <enabled>true</enabled> + <wuid>-20a75393:15809f6e4ee:-74ca</wuid> + <transparent>true</transparent> + <auto_size>true</auto_size> + <text>Brake</text> + <scripts /> + <height>18</height> + <border_width>2</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <vertical_alignment>1</vertical_alignment> + <border_color> + <color name="Black" red="0" green="0" blue="0" /> + </border_color> + <widget_type>Label</widget_type> + <wrap_words>true</wrap_words> + <background_color> + <color name="White" red="255" green="255" blue="255" /> + </background_color> + <width>34</width> + <x>30</x> + <name>Label Template_13</name> + <y>147</y> + <foreground_color> + <color name="Black" red="0" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <show_scrollbar>false</show_scrollbar> + <font> + <opifont.name fontName="OpenSans" height="10" style="0">Small</opifont.name> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.ActionButton" version="2.0.0"> + <toggle_button>false</toggle_button> + <border_style>0</border_style> + <forecolor_alarm_sensitive>false</forecolor_alarm_sensitive> + <alarm_pulsing>false</alarm_pulsing> + <tooltip>$(pv_name)</tooltip> + <push_action_index>0</push_action_index> + <rules> + <rule name="enable" prop_id="enabled" out_exp="false"> + <exp bool_exp="pv0 == 1"> + <value>false</value> + </exp> + <pv trig="true">$(P)_$(M):V_BRAKE_GET</pv> + </rule> + </rules> + <enabled>true</enabled> + <wuid>-20a75393:15809f6e4ee:-74c9</wuid> + <pv_value /> + <text>Go home position</text> + <scripts /> + <border_alarm_sensitive>false</border_alarm_sensitive> + <height>24</height> + <border_width>1</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <image></image> + <visible>true</visible> + <pv_name></pv_name> + <border_color> + <color name="Blue" red="0" green="128" blue="255" /> + </border_color> + <widget_type>Action Button</widget_type> + <backcolor_alarm_sensitive>false</backcolor_alarm_sensitive> + <background_color> + <color name="Button Grey" red="180" green="180" blue="180" /> + </background_color> + <width>156</width> + <x>211</x> + <name>Action Button_1</name> + <y>300</y> + <style>0</style> + <foreground_color> + <color name="Black" red="0" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false"> + <action type="WRITE_PV"> + <pv_name>$(P)_$(M):V_GO_HOME_SET</pv_name> + <value>1</value> + <timeout>10</timeout> + <confirm_message></confirm_message> + <description></description> + </action> + </actions> + <font> + <opifont.name fontName="OpenSans" height="12" style="1">Normal Bold</opifont.name> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.ActionButton" version="2.0.0"> + <toggle_button>false</toggle_button> + <border_style>0</border_style> + <forecolor_alarm_sensitive>false</forecolor_alarm_sensitive> + <alarm_pulsing>false</alarm_pulsing> + <tooltip>$(pv_name)</tooltip> + <push_action_index>0</push_action_index> + <rules> + <rule name="enable" prop_id="enabled" out_exp="false"> + <exp bool_exp="pv0 == 1"> + <value>false</value> + </exp> + <pv trig="true">$(P)_$(M):V_BRAKE_GET</pv> + </rule> + </rules> + <enabled>true</enabled> + <wuid>-20a75393:15809f6e4ee:-74c8</wuid> + <pv_value /> + <text>Go maintenance position</text> + <scripts /> + <border_alarm_sensitive>false</border_alarm_sensitive> + <height>24</height> + <border_width>1</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <image></image> + <visible>true</visible> + <pv_name></pv_name> + <border_color> + <color name="Blue" red="0" green="128" blue="255" /> + </border_color> + <widget_type>Action Button</widget_type> + <backcolor_alarm_sensitive>false</backcolor_alarm_sensitive> + <background_color> + <color name="Button Grey" red="180" green="180" blue="180" /> + </background_color> + <width>221</width> + <x>178</x> + <name>Action Button_1</name> + <y>340</y> + <style>0</style> + <foreground_color> + <color name="Black" red="0" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false"> + <action type="WRITE_PV"> + <pv_name>$(P)_$(M):V_GO_MAINTENANCE_SET</pv_name> + <value>1</value> + <timeout>10</timeout> + <confirm_message></confirm_message> + <description></description> + </action> + </actions> + <font> + <opifont.name fontName="OpenSans" height="12" style="1">Normal Bold</opifont.name> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.ActionButton" version="2.0.0"> + <toggle_button>false</toggle_button> + <border_style>0</border_style> + <forecolor_alarm_sensitive>false</forecolor_alarm_sensitive> + <alarm_pulsing>false</alarm_pulsing> + <tooltip>$(pv_name)</tooltip> + <push_action_index>0</push_action_index> + <rules /> + <enabled>true</enabled> + <wuid>-20a75393:15809f6e4ee:-74c7</wuid> + <pv_value /> + <text>STOP EMERGENCY</text> + <scripts /> + <border_alarm_sensitive>false</border_alarm_sensitive> + <height>54</height> + <border_width>1</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <image></image> + <visible>true</visible> + <pv_name></pv_name> + <border_color> + <color name="Blue" red="0" green="128" blue="255" /> + </border_color> + <widget_type>Action Button</widget_type> + <backcolor_alarm_sensitive>false</backcolor_alarm_sensitive> + <background_color> + <color name="Button Grey" red="180" green="180" blue="180" /> + </background_color> + <width>156</width> + <x>260</x> + <name>Action Button_1</name> + <y>30</y> + <style>0</style> + <foreground_color> + <color name="Black" red="0" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false"> + <action type="WRITE_PV"> + <pv_name>$(P)_$(M):ASK</pv_name> + <value>#1K</value> + <timeout>10</timeout> + <confirm_message></confirm_message> + <description></description> + </action> + </actions> + <font> + <opifont.name fontName="OpenSans" height="12" style="1">Normal Bold</opifont.name> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.TextInput" version="2.0.0"> + <alarm_pulsing>false</alarm_pulsing> + <precision>0</precision> + <tooltip>$(pv_name)</tooltip> + <horizontal_alignment>1</horizontal_alignment> + <rules /> + <pv_value /> + <auto_size>false</auto_size> + <text></text> + <rotation_angle>0.0</rotation_angle> + <show_units>true</show_units> + <height>20</height> + <multiline_input>false</multiline_input> + <border_width>1</border_width> + <visible>true</visible> + <pv_name>$(P)_$(M):V_VELOCITY_SET</pv_name> + <selector_type>0</selector_type> + <border_color> + <color name="Blue" red="0" green="128" blue="255" /> + </border_color> + <precision_from_pv>true</precision_from_pv> + <widget_type>Text Input</widget_type> + <confirm_message></confirm_message> + <name>Text Input</name> + <style>0</style> + <actions hook="false" hook_all="false" /> + <border_style>3</border_style> + <forecolor_alarm_sensitive>false</forecolor_alarm_sensitive> + <enabled>true</enabled> + <wuid>-20a75393:15809f6e4ee:-74c6</wuid> + <transparent>false</transparent> + <scripts /> + <border_alarm_sensitive>false</border_alarm_sensitive> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <backcolor_alarm_sensitive>false</backcolor_alarm_sensitive> + <format_type>0</format_type> + <limits_from_pv>true</limits_from_pv> + <background_color> + <color name="White" red="255" green="255" blue="255" /> + </background_color> + <width>137</width> + <x>220</x> + <y>200</y> + <foreground_color> + <color name="Black" red="0" green="0" blue="0" /> + </foreground_color> + <font> + <opifont.name fontName="OpenSans" height="12" style="1">Normal Bold</opifont.name> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.Label" version="1.0.0"> + <border_style>0</border_style> + <tooltip></tooltip> + <horizontal_alignment>0</horizontal_alignment> + <rules /> + <enabled>true</enabled> + <wuid>-20a75393:15809f6e4ee:-74c5</wuid> + <transparent>true</transparent> + <auto_size>true</auto_size> + <text>Velocity</text> + <scripts /> + <height>18</height> + <border_width>2</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <vertical_alignment>1</vertical_alignment> + <border_color> + <color name="Black" red="0" green="0" blue="0" /> + </border_color> + <widget_type>Label</widget_type> + <wrap_words>true</wrap_words> + <background_color> + <color name="White" red="255" green="255" blue="255" /> + </background_color> + <width>47</width> + <x>151</x> + <name>Label Template_13</name> + <y>201</y> + <foreground_color> + <color name="Black" red="0" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <show_scrollbar>false</show_scrollbar> + <font> + <opifont.name fontName="OpenSans" height="10" style="0">Small</opifont.name> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.TextUpdate" version="1.0.0"> + <border_style>0</border_style> + <forecolor_alarm_sensitive>false</forecolor_alarm_sensitive> + <alarm_pulsing>false</alarm_pulsing> + <precision>0</precision> + <tooltip>$(pv_name)</tooltip> + <horizontal_alignment>1</horizontal_alignment> + <rules> + <rule name="On_OFF_BRAKE" prop_id="text" out_exp="false"> + <exp bool_exp="pv0"> + <value>off</value> + </exp> + <pv trig="true">$(P)_$(M):V_BRAKE_GET</pv> + </rule> + </rules> + <enabled>true</enabled> + <wuid>-20a75393:15809f6e4ee:-74c4</wuid> + <transparent>false</transparent> + <pv_value /> + <auto_size>false</auto_size> + <text>on</text> + <rotation_angle>0.0</rotation_angle> + <scripts /> + <border_alarm_sensitive>false</border_alarm_sensitive> + <show_units>true</show_units> + <height>18</height> + <border_width>1</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <pv_name></pv_name> + <vertical_alignment>1</vertical_alignment> + <border_color> + <color name="Blue" red="0" green="128" blue="255" /> + </border_color> + <precision_from_pv>true</precision_from_pv> + <widget_type>Text Update</widget_type> + <backcolor_alarm_sensitive>false</backcolor_alarm_sensitive> + <wrap_words>false</wrap_words> + <format_type>0</format_type> + <background_color> + <color name="Field Background Grey" red="240" green="240" blue="240" /> + </background_color> + <width>41</width> + <x>70</x> + <name>Text Update</name> + <y>147</y> + <foreground_color> + <color name="Black" red="0" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <font> + <opifont.name fontName="OpenSans" height="12" style="0">Normal</opifont.name> + </font> + </widget> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.groupingContainer" version="1.0.0"> + <border_style>0</border_style> + <tooltip></tooltip> + <rules /> + <enabled>true</enabled> + <wuid>-20a75393:15809f6e4ee:-74c3</wuid> + <transparent>true</transparent> + <lock_children>false</lock_children> + <scripts /> + <height>420</height> + <border_width>1</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <macros> + <include_parent_macros>true</include_parent_macros> + </macros> + <visible>false</visible> + <border_color> + <color red="0" green="128" blue="255" /> + </border_color> + <widget_type>Grouping Container</widget_type> + <background_color> + <color red="240" green="240" blue="240" /> + </background_color> + <width>444</width> + <x>1</x> + <name>Console</name> + <y>1</y> + <foreground_color> + <color red="192" green="192" blue="192" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <fc>false</fc> + <show_scrollbar>true</show_scrollbar> + <font> + <opifont.name fontName="Cantarell" height="11" style="0">Default</opifont.name> + </font> + <widget typeId="org.csstudio.opibuilder.widgets.Label" version="1.0.0"> + <border_style>0</border_style> + <tooltip></tooltip> + <horizontal_alignment>0</horizontal_alignment> + <rules /> + <enabled>true</enabled> + <wuid>-20a75393:15809f6e4ee:-74c2</wuid> + <transparent>true</transparent> + <auto_size>true</auto_size> + <text>Answer</text> + <scripts /> + <height>18</height> + <border_width>2</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <vertical_alignment>1</vertical_alignment> + <border_color> + <color name="Black" red="0" green="0" blue="0" /> + </border_color> + <widget_type>Label</widget_type> + <wrap_words>true</wrap_words> + <background_color> + <color name="White" red="255" green="255" blue="255" /> + </background_color> + <width>44</width> + <x>50</x> + <name>Label Template_1</name> + <y>131</y> + <foreground_color> + <color name="Black" red="0" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <show_scrollbar>false</show_scrollbar> + <font> + <opifont.name fontName="OpenSans" height="10" style="0">Small</opifont.name> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.Label" version="1.0.0"> + <border_style>0</border_style> + <tooltip></tooltip> + <horizontal_alignment>0</horizontal_alignment> + <rules /> + <enabled>true</enabled> + <wuid>-20a75393:15809f6e4ee:-74c1</wuid> + <transparent>true</transparent> + <auto_size>true</auto_size> + <text>Ask</text> + <scripts /> + <height>18</height> + <border_width>2</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <vertical_alignment>1</vertical_alignment> + <border_color> + <color name="Black" red="0" green="0" blue="0" /> + </border_color> + <widget_type>Label</widget_type> + <wrap_words>true</wrap_words> + <background_color> + <color name="White" red="255" green="255" blue="255" /> + </background_color> + <width>21</width> + <x>73</x> + <name>Label Template_13</name> + <y>96</y> + <foreground_color> + <color name="Black" red="0" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <show_scrollbar>false</show_scrollbar> + <font> + <opifont.name fontName="OpenSans" height="10" style="0">Small</opifont.name> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.TextInput" version="2.0.0"> + <alarm_pulsing>false</alarm_pulsing> + <precision>0</precision> + <tooltip>$(pv_name)</tooltip> + <horizontal_alignment>1</horizontal_alignment> + <rules /> + <pv_value /> + <auto_size>false</auto_size> + <text></text> + <rotation_angle>0.0</rotation_angle> + <show_units>true</show_units> + <height>19</height> + <multiline_input>false</multiline_input> + <border_width>1</border_width> + <visible>true</visible> + <pv_name>$(P)_$(M):ASK</pv_name> + <selector_type>0</selector_type> + <border_color> + <color name="Blue" red="0" green="128" blue="255" /> + </border_color> + <precision_from_pv>true</precision_from_pv> + <widget_type>Text Input</widget_type> + <confirm_message></confirm_message> + <name>Text Input</name> + <style>0</style> + <actions hook="false" hook_all="false" /> + <border_style>3</border_style> + <forecolor_alarm_sensitive>false</forecolor_alarm_sensitive> + <enabled>true</enabled> + <wuid>-20a75393:15809f6e4ee:-74c0</wuid> + <transparent>false</transparent> + <scripts /> + <border_alarm_sensitive>false</border_alarm_sensitive> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <backcolor_alarm_sensitive>false</backcolor_alarm_sensitive> + <format_type>0</format_type> + <limits_from_pv>true</limits_from_pv> + <background_color> + <color name="White" red="255" green="255" blue="255" /> + </background_color> + <width>248</width> + <x>103</x> + <y>95</y> + <foreground_color> + <color name="Black" red="0" green="0" blue="0" /> + </foreground_color> + <font> + <opifont.name fontName="OpenSans" height="12" style="1">Normal Bold</opifont.name> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.TextUpdate" version="1.0.0"> + <border_style>0</border_style> + <forecolor_alarm_sensitive>false</forecolor_alarm_sensitive> + <alarm_pulsing>false</alarm_pulsing> + <precision>0</precision> + <tooltip>$(pv_name)</tooltip> + <horizontal_alignment>2</horizontal_alignment> + <rules /> + <enabled>true</enabled> + <wuid>-20a75393:15809f6e4ee:-74bf</wuid> + <transparent>false</transparent> + <pv_value /> + <auto_size>false</auto_size> + <text></text> + <rotation_angle>0.0</rotation_angle> + <scripts /> + <border_alarm_sensitive>false</border_alarm_sensitive> + <show_units>true</show_units> + <height>19</height> + <border_width>1</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <pv_name>$(P)_$(M):ANSWER</pv_name> + <vertical_alignment>1</vertical_alignment> + <border_color> + <color name="Blue" red="0" green="128" blue="255" /> + </border_color> + <precision_from_pv>true</precision_from_pv> + <widget_type>Text Update</widget_type> + <backcolor_alarm_sensitive>false</backcolor_alarm_sensitive> + <wrap_words>false</wrap_words> + <format_type>0</format_type> + <background_color> + <color name="Field Background Grey" red="240" green="240" blue="240" /> + </background_color> + <width>248</width> + <x>103</x> + <name>Text Update</name> + <y>130</y> + <foreground_color> + <color name="Black" red="0" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <font> + <opifont.name fontName="OpenSans" height="12" style="0">Normal</opifont.name> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.Label" version="1.0.0"> + <border_style>0</border_style> + <tooltip></tooltip> + <horizontal_alignment>1</horizontal_alignment> + <rules /> + <enabled>true</enabled> + <wuid>-20a75393:15809f6e4ee:-74be</wuid> + <transparent>true</transparent> + <auto_size>true</auto_size> + <text>This tab is for advanced user ONLY !</text> + <scripts /> + <height>27</height> + <border_width>2</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <vertical_alignment>1</vertical_alignment> + <border_color> + <color name="Black" red="0" green="0" blue="0" /> + </border_color> + <widget_type>Label</widget_type> + <wrap_words>true</wrap_words> + <background_color> + <color name="White" red="255" green="255" blue="255" /> + </background_color> + <width>356</width> + <x>42</x> + <name>Label Template_5</name> + <y>20</y> + <foreground_color> + <color name="Black" red="0" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <show_scrollbar>false</show_scrollbar> + <font> + <opifont.name fontName="OpenSans" height="15" style="1">Medium Bold</opifont.name> + </font> + </widget> + </widget> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.Label" version="1.0.0"> + <border_style>0</border_style> + <tooltip></tooltip> + <horizontal_alignment>1</horizontal_alignment> + <rules /> + <enabled>false</enabled> + <wuid>-16429ab9:1582e68df9a:-3768</wuid> + <transparent>true</transparent> + <auto_size>false</auto_size> + <text>Coeff MRAD to VOLT</text> + <scripts /> + <height>20</height> + <border_width>2</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <vertical_alignment>1</vertical_alignment> + <border_color> + <color name="IO Border" red="215" green="215" blue="215" /> + </border_color> + <widget_type>Label</widget_type> + <wrap_words>false</wrap_words> + <background_color> + <color name="IO Background" red="255" green="255" blue="205" /> + </background_color> + <width>199</width> + <x>2698</x> + <name>Label Orientation_2</name> + <y>132</y> + <foreground_color> + <color name="IO Foreground" red="0" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <font> + <fontdata fontName="Sans" height="10" style="1" /> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.Label" version="1.0.0"> + <border_style>0</border_style> + <tooltip></tooltip> + <horizontal_alignment>1</horizontal_alignment> + <rules /> + <enabled>false</enabled> + <wuid>-16429ab9:1582e68df9a:-3767</wuid> + <transparent>true</transparent> + <auto_size>false</auto_size> + <text>Coeff VOLT to MRAD</text> + <scripts /> + <height>20</height> + <border_width>2</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <vertical_alignment>1</vertical_alignment> + <border_color> + <color name="IO Border" red="215" green="215" blue="215" /> + </border_color> + <widget_type>Label</widget_type> + <wrap_words>false</wrap_words> + <background_color> + <color name="IO Background" red="255" green="255" blue="205" /> + </background_color> + <width>199</width> + <x>2694</x> + <name>Label Orientation_12</name> + <y>165</y> + <foreground_color> + <color name="IO Foreground" red="0" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <font> + <fontdata fontName="Sans" height="10" style="1" /> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.TextInput" version="2.0.0"> + <alarm_pulsing>false</alarm_pulsing> + <precision>0</precision> + <tooltip>$(pv_name) +$(pv_value)</tooltip> + <horizontal_alignment>1</horizontal_alignment> + <rules /> + <pv_value /> + <auto_size>false</auto_size> + <text></text> + <rotation_angle>0.0</rotation_angle> + <show_units>true</show_units> + <height>31</height> + <multiline_input>false</multiline_input> + <border_width>1</border_width> + <visible>true</visible> + <pv_name>${PREFIX_SCAN}:$(CALC)-FactVtoMRAD</pv_name> + <selector_type>0</selector_type> + <border_color> + <color red="0" green="128" blue="255" /> + </border_color> + <precision_from_pv>true</precision_from_pv> + <widget_type>Text Input</widget_type> + <confirm_message></confirm_message> + <name>Text Input_5</name> + <style>0</style> + <actions hook="false" hook_all="false" /> + <border_style>3</border_style> + <forecolor_alarm_sensitive>false</forecolor_alarm_sensitive> + <enabled>true</enabled> + <wuid>-16429ab9:1582e68df9a:-3766</wuid> + <transparent>false</transparent> + <scripts /> + <border_alarm_sensitive>false</border_alarm_sensitive> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <backcolor_alarm_sensitive>false</backcolor_alarm_sensitive> + <format_type>0</format_type> + <limits_from_pv>false</limits_from_pv> + <background_color> + <color name="TextBackground" red="70" green="70" blue="70" /> + </background_color> + <width>133</width> + <x>2892</x> + <y>159</y> + <maximum>1.7976931348623157E308</maximum> + <foreground_color> + <color name="Green On" red="0" green="255" blue="0" /> + </foreground_color> + <minimum>-1.7976931348623157E308</minimum> + <font> + <fontdata fontName="Sans" height="10" style="1" /> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.TextInput" version="2.0.0"> + <alarm_pulsing>false</alarm_pulsing> + <precision>0</precision> + <tooltip>$(pv_name) +$(pv_value)</tooltip> + <horizontal_alignment>1</horizontal_alignment> + <rules /> + <pv_value /> + <auto_size>false</auto_size> + <text></text> + <rotation_angle>0.0</rotation_angle> + <show_units>true</show_units> + <height>31</height> + <multiline_input>false</multiline_input> + <border_width>1</border_width> + <visible>true</visible> + <pv_name>${PREFIX_SCAN}:${CALC}-FactMRADtoV</pv_name> + <selector_type>0</selector_type> + <border_color> + <color red="0" green="128" blue="255" /> + </border_color> + <precision_from_pv>true</precision_from_pv> + <widget_type>Text Input</widget_type> + <confirm_message></confirm_message> + <name>Text Input_2</name> + <style>0</style> + <actions hook="false" hook_all="false" /> + <border_style>3</border_style> + <forecolor_alarm_sensitive>false</forecolor_alarm_sensitive> + <enabled>true</enabled> + <wuid>-16429ab9:1582e68df9a:-3765</wuid> + <transparent>false</transparent> + <scripts /> + <border_alarm_sensitive>false</border_alarm_sensitive> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <backcolor_alarm_sensitive>false</backcolor_alarm_sensitive> + <format_type>0</format_type> + <limits_from_pv>false</limits_from_pv> + <background_color> + <color name="TextBackground" red="70" green="70" blue="70" /> + </background_color> + <width>133</width> + <x>2892</x> + <y>126</y> + <maximum>1.7976931348623157E308</maximum> + <foreground_color> + <color name="Green On" red="0" green="255" blue="0" /> + </foreground_color> + <minimum>-1.7976931348623157E308</minimum> + <font> + <fontdata fontName="Sans" height="10" style="1" /> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.Rectangle" version="1.0.0"> + <border_style>0</border_style> + <forecolor_alarm_sensitive>false</forecolor_alarm_sensitive> + <line_width>0</line_width> + <horizontal_fill>true</horizontal_fill> + <alarm_pulsing>false</alarm_pulsing> + <tooltip>$(pv_name) +$(pv_value)</tooltip> + <rules /> + <enabled>true</enabled> + <wuid>-16429ab9:1582e68df9a:-3742</wuid> + <transparent>false</transparent> + <pv_value /> + <alpha>255</alpha> + <bg_gradient_color> + <color red="255" green="255" blue="255" /> + </bg_gradient_color> + <scripts /> + <border_alarm_sensitive>false</border_alarm_sensitive> + <height>79</height> + <border_width>1</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <pv_name></pv_name> + <gradient>false</gradient> + <border_color> + <color red="0" green="128" blue="255" /> + </border_color> + <anti_alias>true</anti_alias> + <line_style>0</line_style> + <widget_type>Rectangle</widget_type> + <fg_gradient_color> + <color red="255" green="255" blue="255" /> + </fg_gradient_color> + <backcolor_alarm_sensitive>false</backcolor_alarm_sensitive> + <background_color> + <color name="Container Border Grey" red="150" green="150" blue="150" /> + </background_color> + <width>289</width> + <x>2832</x> + <name>Rectangle</name> + <y>264</y> + <fill_level>0.0</fill_level> + <foreground_color> + <color red="255" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <font> + <opifont.name fontName="Cantarell" height="11" style="0">Default</opifont.name> + </font> + <line_color> + <color red="128" green="0" blue="255" /> + </line_color> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.Label" version="1.0.0"> + <border_style>0</border_style> + <tooltip></tooltip> + <horizontal_alignment>1</horizontal_alignment> + <rules /> + <enabled>false</enabled> + <wuid>-16429ab9:1582e68df9a:-3741</wuid> + <transparent>true</transparent> + <auto_size>false</auto_size> + <text>VOLTAGE Max</text> + <scripts /> + <height>20</height> + <border_width>2</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <vertical_alignment>1</vertical_alignment> + <border_color> + <color name="IO Border" red="215" green="215" blue="215" /> + </border_color> + <widget_type>Label</widget_type> + <wrap_words>false</wrap_words> + <background_color> + <color name="IO Background" red="255" green="255" blue="205" /> + </background_color> + <width>199</width> + <x>2814</x> + <name>Label Orientation_13</name> + <y>309</y> + <foreground_color> + <color name="IO Foreground" red="0" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <font> + <fontdata fontName="Sans" height="10" style="1" /> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.TextInput" version="2.0.0"> + <alarm_pulsing>false</alarm_pulsing> + <precision>0</precision> + <tooltip>$(pv_name) +$(pv_value)</tooltip> + <horizontal_alignment>1</horizontal_alignment> + <rules /> + <pv_value /> + <auto_size>false</auto_size> + <text></text> + <rotation_angle>0.0</rotation_angle> + <show_units>true</show_units> + <height>31</height> + <multiline_input>false</multiline_input> + <border_width>1</border_width> + <visible>true</visible> + <pv_name>${PREFIX_SCAN}:${PROC}-VoltMin</pv_name> + <selector_type>0</selector_type> + <border_color> + <color red="0" green="128" blue="255" /> + </border_color> + <precision_from_pv>true</precision_from_pv> + <widget_type>Text Input</widget_type> + <confirm_message></confirm_message> + <name>Text Input_7</name> + <style>0</style> + <actions hook="false" hook_all="false" /> + <border_style>3</border_style> + <forecolor_alarm_sensitive>false</forecolor_alarm_sensitive> + <enabled>true</enabled> + <wuid>-16429ab9:1582e68df9a:-3740</wuid> + <transparent>false</transparent> + <scripts /> + <border_alarm_sensitive>false</border_alarm_sensitive> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <backcolor_alarm_sensitive>false</backcolor_alarm_sensitive> + <format_type>0</format_type> + <limits_from_pv>false</limits_from_pv> + <background_color> + <color name="TextBackground" red="70" green="70" blue="70" /> + </background_color> + <width>100</width> + <x>3012</x> + <y>303</y> + <maximum>1.7976931348623157E308</maximum> + <foreground_color> + <color name="Green On" red="0" green="255" blue="0" /> + </foreground_color> + <minimum>-1.7976931348623157E308</minimum> + <font> + <fontdata fontName="Sans" height="10" style="1" /> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.Label" version="1.0.0"> + <border_style>0</border_style> + <tooltip></tooltip> + <horizontal_alignment>1</horizontal_alignment> + <rules /> + <enabled>false</enabled> + <wuid>-16429ab9:1582e68df9a:-373f</wuid> + <transparent>true</transparent> + <auto_size>false</auto_size> + <text>VOLTAGE Min</text> + <scripts /> + <height>20</height> + <border_width>2</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <vertical_alignment>1</vertical_alignment> + <border_color> + <color name="IO Border" red="215" green="215" blue="215" /> + </border_color> + <widget_type>Label</widget_type> + <wrap_words>false</wrap_words> + <background_color> + <color name="IO Background" red="255" green="255" blue="205" /> + </background_color> + <width>199</width> + <x>2818</x> + <name>Label Orientation_14</name> + <y>276</y> + <foreground_color> + <color name="IO Foreground" red="0" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <font> + <fontdata fontName="Sans" height="10" style="1" /> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.TextInput" version="2.0.0"> + <alarm_pulsing>false</alarm_pulsing> + <precision>0</precision> + <tooltip>$(pv_name) +$(pv_value)</tooltip> + <horizontal_alignment>1</horizontal_alignment> + <rules /> + <pv_value /> + <auto_size>false</auto_size> + <text></text> + <rotation_angle>0.0</rotation_angle> + <show_units>true</show_units> + <height>31</height> + <multiline_input>false</multiline_input> + <border_width>1</border_width> + <visible>true</visible> + <pv_name>${PREFIX_SCAN}:${PROC}-VoltMax</pv_name> + <selector_type>0</selector_type> + <border_color> + <color red="0" green="128" blue="255" /> + </border_color> + <precision_from_pv>true</precision_from_pv> + <widget_type>Text Input</widget_type> + <confirm_message></confirm_message> + <name>Text Input_8</name> + <style>0</style> + <actions hook="false" hook_all="false" /> + <border_style>3</border_style> + <forecolor_alarm_sensitive>false</forecolor_alarm_sensitive> + <enabled>true</enabled> + <wuid>-16429ab9:1582e68df9a:-373e</wuid> + <transparent>false</transparent> + <scripts /> + <border_alarm_sensitive>false</border_alarm_sensitive> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <backcolor_alarm_sensitive>false</backcolor_alarm_sensitive> + <format_type>0</format_type> + <limits_from_pv>false</limits_from_pv> + <background_color> + <color name="TextBackground" red="70" green="70" blue="70" /> + </background_color> + <width>100</width> + <x>3012</x> + <y>270</y> + <maximum>1.7976931348623157E308</maximum> + <foreground_color> + <color name="Green On" red="0" green="255" blue="0" /> + </foreground_color> + <minimum>-1.7976931348623157E308</minimum> + <font> + <fontdata fontName="Sans" height="10" style="1" /> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.checkbox" version="1.0.0"> + <border_style>0</border_style> + <forecolor_alarm_sensitive>false</forecolor_alarm_sensitive> + <alarm_pulsing>false</alarm_pulsing> + <tooltip>$(pv_name) +$(pv_value)</tooltip> + <rules /> + <bit>0</bit> + <enabled>true</enabled> + <wuid>-16429ab9:1582e68df9a:-6254</wuid> + <selected_color> + <color red="77" green="77" blue="77" /> + </selected_color> + <pv_value /> + <auto_size>false</auto_size> + <scripts /> + <border_alarm_sensitive>true</border_alarm_sensitive> + <height>20</height> + <border_width>1</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>false</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <pv_name>${PREFIX_SCAN}:PROC-SIMU</pv_name> + <border_color> + <color red="0" green="128" blue="255" /> + </border_color> + <label></label> + <widget_type>Check Box</widget_type> + <backcolor_alarm_sensitive>false</backcolor_alarm_sensitive> + <background_color> + <color red="240" green="240" blue="240" /> + </background_color> + <width>33</width> + <x>1156</x> + <name>Check Box</name> + <y>30</y> + <foreground_color> + <color red="0" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <font> + <opifont.name fontName="Cantarell" height="11" style="0">Default</opifont.name> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.Label" version="1.0.0"> + <border_style>0</border_style> + <tooltip></tooltip> + <horizontal_alignment>1</horizontal_alignment> + <rules /> + <enabled>true</enabled> + <wuid>-16429ab9:1582e68df9a:-6258</wuid> + <transparent>true</transparent> + <auto_size>false</auto_size> + <text>Simulation</text> + <scripts /> + <height>20</height> + <border_width>1</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <vertical_alignment>1</vertical_alignment> + <border_color> + <color red="0" green="128" blue="255" /> + </border_color> + <widget_type>Label</widget_type> + <wrap_words>false</wrap_words> + <background_color> + <color red="255" green="255" blue="255" /> + </background_color> + <width>80</width> + <x>1188</x> + <name>Label</name> + <y>30</y> + <foreground_color> + <color red="0" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <font> + <opifont.name fontName="OpenSans" height="10" style="1">Small Bold</opifont.name> + </font> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.Label" version="1.0.0"> + <border_style>0</border_style> + <tooltip></tooltip> + <horizontal_alignment>1</horizontal_alignment> + <rules> + <rule name="Visible" prop_id="visible" out_exp="false"> + <exp bool_exp="pv0==1"> + <value>true</value> + </exp> + <exp bool_exp="pv0==0"> + <value>false</value> + </exp> + <pv trig="true">${PREFIX_SCAN}:PROC-SIMU</pv> + </rule> + </rules> + <enabled>true</enabled> + <wuid>-16429ab9:158444d4181:-7960</wuid> + <transparent>true</transparent> + <auto_size>false</auto_size> + <text>SIMULATION</text> + <scripts /> + <height>45</height> + <border_width>1</border_width> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <visible>true</visible> + <vertical_alignment>1</vertical_alignment> + <border_color> + <color red="0" green="128" blue="255" /> + </border_color> + <widget_type>Label</widget_type> + <wrap_words>false</wrap_words> + <background_color> + <color red="255" green="255" blue="255" /> + </background_color> + <width>411</width> + <x>1200</x> + <name>Label_163</name> + <y>88</y> + <foreground_color> + <color name="Major" red="255" green="0" blue="0" /> + </foreground_color> + <actions hook="false" hook_all="false" /> + <font> + <fontdata fontName="Cantarell" height="26" style="1" /> + </font> + </widget> +</display> \ No newline at end of file diff --git a/builddir/startup/EMU.cmd b/builddir/startup/EMU.cmd new file mode 100644 index 0000000000000000000000000000000000000000..dc21f8aa117c628de4c3b951ec0ea4a2422aaffe --- /dev/null +++ b/builddir/startup/EMU.cmd @@ -0,0 +1,214 @@ +# Required modules ### +require ifcdaq +require singlemotion +require mrfsample +require pev +require EMU,jfdenis +require ecat2db,0.3.2 + +### MACROS ### +# PMAC common macros3 ) +epicsEnvSet("PMACPREFIX", "PMAC") +epicsEnvSet("PMACPORT", "pmacLV") +epicsEnvSet("MOTOR_PORT", "pmac1" ) +epicsEnvSet("NB_AXES", "1" ) + +# Motor Macros +epicsEnvSet("EGU", "mm" ) +epicsEnvSet("DIR", "Pos" ) +epicsEnvSet("MRES", "0.000249515") +epicsEnvSet("PREC", "4" ) +epicsEnvSet("DHLM", "4" ) +epicsEnvSet("DLLM", "-200" ) +epicsEnvSet("VELO", "1" ) +epicsEnvSet("VBAS", "0.1" ) +epicsEnvSet("VMAX", "2" ) +epicsEnvSet("ACCL", "0.1" ) +epicsEnvSet("BDST", "0" ) +epicsEnvSet("INIT", "" ) +epicsEnvSet("OFF", "0" ) + +epicsEnvSet("MOTOR_NAME1", "MTR1") +epicsEnvSet("AXIS_NO1", "1") + +# Motor Status macros +epicsEnvSet("SCAN", "1 second") +epicsEnvSet("OVERHEAT1", "MAJOR" ) +epicsEnvSet("SWITCH_OFF1", "MINOR" ) +epicsEnvSet("OVERHEAT2", "0" ) +epicsEnvSet("SWITCH_OFF2", "0" ) +epicsEnvSet("MOTOR_ERROR1", "0" ) +epicsEnvSet("MOTOR_ERROR2", "0" ) +epicsEnvSet("MOTOR_ERROR3", "0" ) +epicsEnvSet("MOTOR_ERROR4", "0" ) + +# EVG Macros +epicsEnvSet("SYS" "SYS0") +epicsEnvSet("EVG" "EVG0") +epicsEnvSet("EVG_VMESLOT" "7") + +# EVR Macros +epicsEnvSet("EVR_PCIDOMAIN", "0000") +epicsEnvSet("EVR_PCIBUS", "05") +epicsEnvSet("EVR_PCIDEVICE", "00") +epicsEnvSet("EVR_PCIFUNCTION", "0") +epicsEnvSet("EVR", "EVR0") +epicsEnvSet("EVR_PUL0_EVENT", "14") +epicsEnvSet("EVR_PUL0_DELAY", "$(EVR_EV14_OUT0_DELAY=0)") +epicsEnvSet("EVR_PUL0_WIDTH", "$(EVR_EV14_OUT0_WIDTH=1000)") + +#DAQ macros +epicsEnvSet("DAQPREFIX", "SCANNINGDAQ" ) +epicsEnvSet("DAQBUFSIZE", "1024" ) + +#Scanning macros +epicsEnvSet("SCANPREFIX", "SCAN" ) +epicsEnvSet("SCAN_SLIT", "MTR" ) +epicsEnvSet("SCAN_EF", "PS" ) +epicsEnvSet("SCAN_POINTS_EF", "1000" ) +epicsEnvSet("SCAN_POINTS_SLIT", "100" ) + +epicsEnvSet(EPICS_CA_MAX_ARRAY_BYTES, 400000000) + +# Connection to PMAC and setup for $(NUM_MOTORS) motors +pmacAsynIPConfigure($(PMACPORT), "10.2.139.237:1025") +pmacCreateController($(MOTOR_PORT), $(PMACPORT), 0, $(NB_AXES), 50, 300) +pmacCreateAxis($(MOTOR_PORT), $(AXIS_NO1)) + +# Initialize EVG +mrmEvgSetupVME($(EVG), $(EVG_VMESLOT), 0x100000, 1, 0x01) + +# Initialize EVR +mrmEvrSetupPCI($(EVR), $(EVR_PCIDOMAIN), $(EVR_PCIBUS), $(EVR_PCIDEVICE), $(EVR_PCIFUNCTION)) + +# Initialize daq +ndsCreateDevice(ifcdaq, $(DAQPREFIX), card=0, fmc=2) + +### LOAD RECORDS ### + +#Load EVG records +dbLoadRecords("evg-vme-230.db", "DEVICE=$(EVG), SYS=$(SYS)") + +#Load EVR records +dbLoadRecords("evr-pmc-230.db", "DEVICE=$(EVR), SYS=$(SYS)") +dbLoadRecords("evr-softEvent.template", "DEVICE=$(EVR), SYS=$(SYS), EVT=$(EVR_PUL0_EVENT), CODE=$(EVR_PUL0_EVENT)") +dbLoadRecords("evr-pulserMap.template", "DEVICE=$(EVR), SYS=$(SYS), EVT=$(EVR_PUL0_EVENT), PID=0, F=Trig, ID=0") + +## Load ifcdaq instance +dbLoadRecords(IFCDAQAIChannelGroup.template, "PREFIX=$(DAQPREFIX),CH_GRP_ID=AI") +dbLoadRecords(IFCDAQAIChannel.template, "PREFIX=$(DAQPREFIX),CH_GRP_ID=AI,CH_ID=CH0, NELM=$(DAQBUFSIZE)") +dbLoadRecords(IFCDAQAIChannel.template, "PREFIX=$(DAQPREFIX),CH_GRP_ID=AI,CH_ID=CH1, NELM=$(DAQBUFSIZE)") +dbLoadRecords(IFCDAQAIChannel.template, "PREFIX=$(DAQPREFIX),CH_GRP_ID=AI,CH_ID=CH2, NELM=$(DAQBUFSIZE)") + +# +# Load Single motions records +# + +# +# Motors +# + +dbLoadRecords("motor.template", "PREFIX=$(PMACPREFIX),MOTOR_NAME=$(MOTOR_NAME1),MOTOR_PORT=$(MOTOR_PORT),AXIS_NO=$(AXIS_NO1),EGU=$(EGU),DIR=$(DIR),MRES=$(MRES),PREC=$(PREC),DHLM=$(DHLM),DLLM=$(DLLM),VELO=$(VELO),VBAS=$(VBAS),VMAX=$(VMAX),ACCL=$(ACCL),BDST=$(BDST),INIT=$(INIT),OFF=$(OFF)") + +# +# Motor status +# + +dbLoadRecords("motorStatus.template", "PREFIX=$(PMACPREFIX),MOTOR_NAME=$(MOTOR_NAME1),ASYN_PORT=$(PMACPORT),AXIS_NO=$(AXIS_NO1),SCAN=$(SCAN),EGU=$(EGU),PREC=$(PREC),OVERHEAT1=$(OVERHEAT1),SWITCH_OFF1=$(SWITCH_OFF1),OVERHEAT2=$(OVERHEAT2),SWITCH_OFF2=$(SWITCH_OFF2),MOTOR_ERROR1=$(MOTOR_ERROR1),MOTOR_ERROR2=$(MOTOR_ERROR2),MOTOR_ERROR3=$(MOTOR_ERROR3),MOTOR_ERROR4=$(MOTOR_ERROR4)") + +# +# Homing procedure records +# + +dbLoadRecords("motorHoming.template", "PREFIX=$(PMACPREFIX),MOTOR_NAME=$(MOTOR_NAME1),ASYN_PORT=$(PMACPORT),AXIS_NO=$(AXIS_NO1),PREC=$(PREC),EGU=$(EGU)") + +dbLoadRecords("EMU.db", "DEVICE=$(SCANPREFIX), SCAN_SLIT=$(SCAN_SLIT), SCAN_EF=$(SCAN_EF),MTRREC=$(PMACPREFIX):$(MOTOR_NAME1), MAX_POINTS_EF=$(SCAN_POINTS_EF), MAX_POINTS_SLIT=$(SCAN_POINTS_SLIT), DAQNDSPREFIX=$(DAQPREFIX), DAQBUFSIZE=$(DAQBUFSIZE), DET1WF=AI-CH0-DATA, DET2WF=AI-CH1-DATA, DET3WF=AI-CH2-DATA, TR_TL=$(SYS)-$(EVR):Pul0-Ena-Sel, TR_TLTSEL=$(SYS)-$(EVR):Event-$(EVR_PUL0_EVENT)-SP.TIME, PSU_SP=LNS-ISRC-010:PBI-EM:HVhor-SP, PSU_RBV=LNS-ISRC-010:PBI-EM:HVhor-SP, PSU2_SP=LNS-ISRC-010:PBI-EM:HVver-SP, PSU2_RBV=LNS-ISRC-010:PBI-EM:HVver-SP") + +# +# Init ETHERCAT module +ecat2configure(0,500,1,1) + + +############################################################################# +######################### iocInit ########################################### +############################################################################# +iocInit + + +seq motorHoming "PREFIX=$(PMACPREFIX),MOTOR_NAME=$(MOTOR_NAME1)" + +#### Simulation of a current with ES4134 from Beckoff +seq RampCurrent "PREFIX_PS=LNS-ISRC-010:PBI-EM,CONS_PS2=HVhor-SP,DEVICE=SCAN,SCAN_SLIT=$(SCAN_SLIT)" + + +# SET INTERFACE FROM IFCDAQ TO Allison scanner +# Forward link wf record to Detector guard +dbpf $(DAQPREFIX):AI-CH0-DATA.FLNK $(SCANPREFIX):DET1-GUARD +dbpf $(DAQPREFIX):AI-CH1-DATA.FLNK $(SCANPREFIX):DET2-GUARD +dbpf $(DAQPREFIX):AI-CH2-DATA.FLNK $(SCANPREFIX):DET3-GUARD +# Forward link from state record to Detector trigger +dbpf $(DAQPREFIX):AI-STAT-RB.FLNK $(SCANPREFIX):DAQTRG-DAQSTGUARD + + +# Forward link number of samples rbv to compress N record, so that detetor know number of elements to average over. +dbpf $(DAQPREFIX):AI-SMNM-RB.FLNK "$(SCANPREFIX):DET1-COMPRESSN" + +### Setup IFCDAQ PVs ### +# Set the DAQ to on state +#dbpf $(DAQPREFIX):AI-STAT "ON" +# Set trigger repeat to 1 +dbpf $(DAQPREFIX):AI-TRGR 1 +# Set trigger source to external GPIO +dbpf $(DAQPREFIX):AI-TRGS "EXT-GPIO" +sleep(1) +dbpf $(DAQPREFIX):AI-STAT ON +sleep(3) +dbpf $(DAQPREFIX):AI-STAT RUNNING +sleep(1) +dbpf $(DAQPREFIX):AI-STAT RUNNING + + +# Set tsel on WF record to event record in EVR +dbpf $(DAQPREFIX):AI-CH0-DATA.TSEL $(SYS)-$(EVR):Event-$(EVR_PUL0_EVENT)-SP.TIME +dbpf $(DAQPREFIX):AI-CH1-DATA.TSEL $(SYS)-$(EVR):Event-$(EVR_PUL0_EVENT)-SP.TIME +dbpf $(DAQPREFIX):AI-CH2-DATA.TSEL $(SYS)-$(EVR):Event-$(EVR_PUL0_EVENT)-SP.TIME + +########## TIMING GENERATOR: setup softEvent to trigg acquisistion on the DTAcQ ###### +## Internal trigger from Mxc1 - TrgSrc0 +dbpf $(SYS)-$(EVG):TrigEvt0-EvtCode-SP $(EVR_PUL0_EVENT) +dbpf $(SYS)-$(EVG):Mxc1-Frequency-SP 1 +dbpf $(SYS)-$(EVG):Mxc1-TrigSrc0-SP "Set" + +dbpf $(SYS)-$(EVG):ResetMxc-Cmd 1 +dbpf $(SYS)-$(EVG):SoftEvt-Enable-Sel 1 + +### Setup EVR +# setup OUT 0 +# set the pulser 0 to trigger on output 0 +# and map the pulser to trigger on event $(EVR_PUL0_EVENT) +dbpf $(SYS)-$(EVR):FrontOut0-Src-SP 0 +dbpf $(SYS)-$(EVR):Pul0-Evt-Trig0-SP $(EVR_PUL0_EVENT) +dbpf $(SYS)-$(EVR):Pul0-Width-SP 20000 +dbpf $(SYS)-$(EVR):Pul0-Delay-SP 0 +dbpf $(SYS)-$(EVR):FrontOut0-Ena-SP 1 + +#dbpf $(SYS)-$(EVR):Time-I.TSE -2 + +### Setup reasonable values for sscan record ### +# Initialize Motor positioners +dbpf $(SCANPREFIX):$(SCAN_SLIT).P4SP -10 +dbpf $(SCANPREFIX):$(SCAN_SLIT).P4EP -20 +dbpf $(SCANPREFIX):$(SCAN_SLIT).P2SP 1 +dbpf $(SCANPREFIX):$(SCAN_SLIT).P2EP 1 +dbpf $(SCANPREFIX):$(SCAN_SLIT).NPTS 11 + +# Initialize Power supply positioners +dbpf SCAN:PROC-AngleMax-SP 80 +dbpf SCAN:PROC-AngleMin-SP -80 +dbpf $(SCANPREFIX):$(SCAN_EF).NPTS 11 +dbpf $(SCANPREFIX):$(SCAN_EF).PDLY 0.5 + + + +dbpf SCAN:PROC-SIMU 1 + diff --git a/db/EMU.substitutions b/db/EMU.substitutions index c9a6bec648dd5aa78c7bb5fe394d2f6fcfd50040..c4bfb22b9496e577b531f9cec56a087aaccf6cc0 100644 --- a/db/EMU.substitutions +++ b/db/EMU.substitutions @@ -431,7 +431,7 @@ pattern {DEVICE,DAQPREFIX,DET2WF,DET3WF,DET2,DET3,NELM,SCAN_EF} file EMU_BUFF_CHAN.template { pattern {DEVICE,SIGNAL,SIGNAL2,NELM,NELM_COMP,SCAN_EF,SCAN_SLIT,MTRREC} - {"$(DEVICE)","DET1","CURRENT","1000","1000","$(SCAN_EF)","$(SCAN_SLIT)","$(MTRREC)"} + {"$(DEVICE)","DET1","CURRENT","10000","80","$(SCAN_EF)","$(SCAN_SLIT)","$(MTRREC)"} } diff --git a/db/EMU_BUFF_CHAN.template b/db/EMU_BUFF_CHAN.template index 3ea024d8031d6f3d64989609b687229809c58695..6891a6c782d9011bcc830a663edbe18cc1a5ccd1 100644 --- a/db/EMU_BUFF_CHAN.template +++ b/db/EMU_BUFF_CHAN.template @@ -3,25 +3,13 @@ record(compress, "$(DEVICE):BUFF-$(SIGNAL)-COMP") { field(NSAM, "$(NELM_COMP)") field(ALG,"Circular Buffer") field(INP,"$(DEVICE):$(SIGNAL)-COMP CPP") + #field(SDIS,"$(MTRREC).MVON") + #field(DISV,"1") } -## Reset buffer -record(bo,$(DEVICE):BUFF-$(SIGNAL)-RES-BUFF){ - field(DOL,"$(MTRREC) CPP") - field(OUT,"$(DEVICE):BUFF-$(SIGNAL)-COMP.RES PP") -} - -## Reset buffer START -record(bo,$(DEVICE):BUFF-$(SIGNAL)-RES-BUFF){ - field(DOL,"$(MTRREC) CPP") - field(OUT,"$(DEVICE):BUFF-$(SIGNAL)-COMP.RES PP") -} - ## Reset record(bo,$(DEVICE):BUFF-$(SIGNAL)-RES-WF){ - field(OUT,"$(DEVICE):BUFF-$(SIGNAL)-COMP.RES PP") - field(HIGH,"2") -} +} ## WAVEFORM FINAL record(waveform, "$(DEVICE):BUFF-$(SIGNAL2)") { @@ -72,6 +60,16 @@ record(aSub, "$(DEVICE):BUFF-$(SIGNAL)-FUNC") { field(NOVA, "$(NELM)") field(OUTA, "$(DEVICE):BUFF-$(SIGNAL2) PP") +## RESET Compress + field(FTVB, "LONG") + field(NOVB, "1") + field(OUTB, "$(DEVICE):BUFF-$(SIGNAL)-COMP.RES PP") + +## RESET buttom + field(FTVC, "LONG") + field(NOVC, "1") + field(OUTC, "$(DEVICE):BUFF-$(SIGNAL)-RES-WF PP") + ######### FUNCTION ####### field(SNAM, "CREATE_TAB") } diff --git a/opi/EMU.opi b/opi/EMU.opi index ac28a497299e1fe0a52f551f0a491e5231855508..cca7bdd172f317dd1dd8f7551f1b87e8f6e1e3d8 100644 --- a/opi/EMU.opi +++ b/opi/EMU.opi @@ -549,7 +549,17 @@ $(pv_value)</tooltip> <tooltip>$(pv_name) $(pv_value)</tooltip> <horizontal_alignment>1</horizontal_alignment> - <rules /> + <rules> + <rule name="Disable" prop_id="enabled" out_exp="false"> + <exp bool_exp="pv0==1"> + <value>false</value> + </exp> + <exp bool_exp="pv0==0"> + <value>true</value> + </exp> + <pv trig="true">${PREFIX_SCAN}:$(NAME_MTR).BUSY</pv> + </rule> + </rules> <pv_value /> <auto_size>false</auto_size> <text></text> @@ -646,7 +656,17 @@ $(pv_value)</tooltip> <tooltip>$(pv_name) $(pv_value)</tooltip> <horizontal_alignment>1</horizontal_alignment> - <rules /> + <rules> + <rule name="Disable" prop_id="enabled" out_exp="false"> + <exp bool_exp="pv0==1"> + <value>false</value> + </exp> + <exp bool_exp="pv0==0"> + <value>true</value> + </exp> + <pv trig="true">${PREFIX_SCAN}:$(NAME_MTR).BUSY</pv> + </rule> + </rules> <pv_value /> <auto_size>false</auto_size> <text></text> @@ -887,7 +907,7 @@ $(pv_value)</tooltip> <wuid>1e771979:1565068c2e3:-33b3</wuid> <transparent>true</transparent> <auto_size>false</auto_size> - <text>Number of points</text> + <text>Number of positions</text> <scripts /> <height>20</height> <border_width>2</border_width> @@ -924,7 +944,17 @@ $(pv_value)</tooltip> <tooltip>$(pv_name) $(pv_value)</tooltip> <horizontal_alignment>1</horizontal_alignment> - <rules /> + <rules> + <rule name="Disable" prop_id="enabled" out_exp="false"> + <exp bool_exp="pv0==1"> + <value>false</value> + </exp> + <exp bool_exp="pv0==0"> + <value>true</value> + </exp> + <pv trig="true">${PREFIX_SCAN}:$(NAME_MTR).BUSY</pv> + </rule> + </rules> <pv_value /> <auto_size>false</auto_size> <text></text> @@ -966,11 +996,11 @@ $(pv_value)</tooltip> <width>100</width> <x>228</x> <y>478</y> - <maximum>1.7976931348623157E308</maximum> + <maximum>80.0</maximum> <foreground_color> <color name="KeyboardEntry" red="0" green="255" blue="255" /> </foreground_color> - <minimum>-1.7976931348623157E308</minimum> + <minimum>0.0</minimum> <font> <fontdata fontName="Sans" height="10" style="1" /> </font> @@ -1021,7 +1051,17 @@ $(pv_value)</tooltip> <tooltip>$(pv_name) $(pv_value)</tooltip> <horizontal_alignment>1</horizontal_alignment> - <rules /> + <rules> + <rule name="Disable" prop_id="enabled" out_exp="false"> + <exp bool_exp="pv0==1"> + <value>false</value> + </exp> + <exp bool_exp="pv0==0"> + <value>true</value> + </exp> + <pv trig="true">${PREFIX_SCAN}:$(NAME_MTR).BUSY</pv> + </rule> + </rules> <pv_value /> <auto_size>false</auto_size> <text></text> @@ -1118,7 +1158,17 @@ $(pv_value)</tooltip> <tooltip>$(pv_name) $(pv_value)</tooltip> <horizontal_alignment>1</horizontal_alignment> - <rules /> + <rules> + <rule name="Disable" prop_id="enabled" out_exp="false"> + <exp bool_exp="pv0==1"> + <value>false</value> + </exp> + <exp bool_exp="pv0==0"> + <value>true</value> + </exp> + <pv trig="true">${PREFIX_SCAN}:$(NAME_MTR).BUSY</pv> + </rule> + </rules> <pv_value /> <auto_size>false</auto_size> <text></text> @@ -1160,11 +1210,11 @@ $(pv_value)</tooltip> <width>100</width> <x>228</x> <y>733</y> - <maximum>1.7976931348623157E308</maximum> + <maximum>80.0</maximum> <foreground_color> <color name="KeyboardEntry" red="0" green="255" blue="255" /> </foreground_color> - <minimum>-1.7976931348623157E308</minimum> + <minimum>0.0</minimum> <font> <fontdata fontName="Sans" height="10" style="1" /> </font> @@ -1283,7 +1333,17 @@ $(pv_value)</tooltip> <tooltip>$(pv_name) $(pv_value)</tooltip> <horizontal_alignment>1</horizontal_alignment> - <rules /> + <rules> + <rule name="Disable" prop_id="enabled" out_exp="false"> + <exp bool_exp="pv0==1"> + <value>false</value> + </exp> + <exp bool_exp="pv0==0"> + <value>true</value> + </exp> + <pv trig="true">${PREFIX_SCAN}:$(NAME_MTR).BUSY</pv> + </rule> + </rules> <pv_value /> <auto_size>false</auto_size> <text></text> @@ -1420,7 +1480,17 @@ $(pv_value)</tooltip> <tooltip>$(pv_name) $(pv_value)</tooltip> <horizontal_alignment>1</horizontal_alignment> - <rules /> + <rules> + <rule name="Disable" prop_id="enabled" out_exp="false"> + <exp bool_exp="pv0==1"> + <value>false</value> + </exp> + <exp bool_exp="pv0==0"> + <value>true</value> + </exp> + <pv trig="true">${PREFIX_SCAN}:$(NAME_MTR).BUSY</pv> + </rule> + </rules> <pv_value /> <auto_size>false</auto_size> <text></text> @@ -1517,7 +1587,17 @@ $(pv_value)</tooltip> <tooltip>$(pv_name) $(pv_value)</tooltip> <horizontal_alignment>1</horizontal_alignment> - <rules /> + <rules> + <rule name="Disable" prop_id="enabled" out_exp="false"> + <exp bool_exp="pv0==1"> + <value>false</value> + </exp> + <exp bool_exp="pv0==0"> + <value>true</value> + </exp> + <pv trig="true">${PREFIX_SCAN}:$(NAME_MTR).BUSY</pv> + </rule> + </rules> <pv_value /> <auto_size>false</auto_size> <text></text> @@ -1614,7 +1694,17 @@ $(pv_value)</tooltip> <tooltip>$(pv_name) $(pv_value)</tooltip> <horizontal_alignment>1</horizontal_alignment> - <rules /> + <rules> + <rule name="Disable" prop_id="enabled" out_exp="false"> + <exp bool_exp="pv0==1"> + <value>false</value> + </exp> + <exp bool_exp="pv0==0"> + <value>true</value> + </exp> + <pv trig="true">${PREFIX_SCAN}:$(NAME_MTR).BUSY</pv> + </rule> + </rules> <pv_value /> <auto_size>false</auto_size> <text></text> @@ -1715,7 +1805,7 @@ $(pv_value)</tooltip> <horizon_profile_x_pv_name></horizon_profile_x_pv_name> <height>1027</height> <border_width>1</border_width> - <graph_area_width>1539</graph_area_width> + <graph_area_width>1533</graph_area_width> <y_axis_scale_font> <opifont.name fontName="Cantarell" height="11" style="0">Default</opifont.name> </y_axis_scale_font> @@ -1755,9 +1845,9 @@ $(pv_value)</tooltip> <width>1649</width> <x>422</x> <y>84</y> - <maximum>5.0</maximum> + <maximum>10.0</maximum> <data_height>0</data_height> - <minimum>0.0</minimum> + <minimum>-4.0</minimum> <crop_right>0</crop_right> <crop_top>0</crop_top> <roi_color> @@ -3297,7 +3387,17 @@ $(pv_value)</tooltip> <tooltip>$(pv_name) $(pv_value)</tooltip> <horizontal_alignment>1</horizontal_alignment> - <rules /> + <rules> + <rule name="Disable" prop_id="enabled" out_exp="false"> + <exp bool_exp="pv0==1"> + <value>false</value> + </exp> + <exp bool_exp="pv0==0"> + <value>true</value> + </exp> + <pv trig="true">${PREFIX_SCAN}:$(NAME_MTR).BUSY</pv> + </rule> + </rules> <pv_value /> <auto_size>false</auto_size> <text></text> @@ -3354,7 +3454,17 @@ $(pv_value)</tooltip> <tooltip>$(pv_name) $(pv_value)</tooltip> <horizontal_alignment>1</horizontal_alignment> - <rules /> + <rules> + <rule name="Disable" prop_id="enabled" out_exp="false"> + <exp bool_exp="pv0==1"> + <value>false</value> + </exp> + <exp bool_exp="pv0==0"> + <value>true</value> + </exp> + <pv trig="true">${PREFIX_SCAN}:$(NAME_MTR).BUSY</pv> + </rule> + </rules> <pv_value /> <auto_size>false</auto_size> <text></text> @@ -3491,7 +3601,17 @@ $(pv_value)</tooltip> <tooltip>$(pv_name) $(pv_value)</tooltip> <horizontal_alignment>1</horizontal_alignment> - <rules /> + <rules> + <rule name="Disable" prop_id="enabled" out_exp="false"> + <exp bool_exp="pv0==1"> + <value>false</value> + </exp> + <exp bool_exp="pv0==0"> + <value>true</value> + </exp> + <pv trig="true">${PREFIX_SCAN}:$(NAME_MTR).BUSY</pv> + </rule> + </rules> <pv_value /> <auto_size>false</auto_size> <text></text> @@ -3548,7 +3668,17 @@ $(pv_value)</tooltip> <tooltip>$(pv_name) $(pv_value)</tooltip> <horizontal_alignment>1</horizontal_alignment> - <rules /> + <rules> + <rule name="Disable" prop_id="enabled" out_exp="false"> + <exp bool_exp="pv0==1"> + <value>false</value> + </exp> + <exp bool_exp="pv0==0"> + <value>true</value> + </exp> + <pv trig="true">${PREFIX_SCAN}:$(NAME_MTR).BUSY</pv> + </rule> + </rules> <pv_value /> <auto_size>false</auto_size> <text></text> @@ -3685,7 +3815,17 @@ $(pv_value)</tooltip> <tooltip>$(pv_name) $(pv_value)</tooltip> <horizontal_alignment>1</horizontal_alignment> - <rules /> + <rules> + <rule name="Disable" prop_id="enabled" out_exp="false"> + <exp bool_exp="pv0==1"> + <value>false</value> + </exp> + <exp bool_exp="pv0==0"> + <value>true</value> + </exp> + <pv trig="true">${PREFIX_SCAN}:$(NAME_MTR).BUSY</pv> + </rule> + </rules> <pv_value /> <auto_size>false</auto_size> <text></text> @@ -3940,7 +4080,17 @@ $(pv_value)</tooltip> <tooltip>$(pv_name) $(pv_value)</tooltip> <horizontal_alignment>1</horizontal_alignment> - <rules /> + <rules> + <rule name="Disable" prop_id="enabled" out_exp="false"> + <exp bool_exp="pv0==1"> + <value>false</value> + </exp> + <exp bool_exp="pv0==0"> + <value>true</value> + </exp> + <pv trig="true">${PREFIX_SCAN}:$(NAME_MTR).BUSY</pv> + </rule> + </rules> <pv_value /> <auto_size>false</auto_size> <text></text> diff --git a/src/EMU_CALCULS.c b/src/EMU_CALCULS.c index f8e605180e8148b84da7eccc382bec93a0456327..73c642138a20f3cca88deeda0a7a17769e1d534f 100644 --- a/src/EMU_CALCULS.c +++ b/src/EMU_CALCULS.c @@ -75,21 +75,26 @@ static int CREATE_TAB(aSubRecord *precord) { long nbAngle = *(long *)precord->d; // Nb Angle long nbPosition = *(long *)precord->e; // Nb position long reset = *(long *)precord->f; // Reset + int nelmComp = precord->noa; int nelm = precord->nob; float *ptr_WF_OUT=(float*)(precord->vala); + long resetComp=*(long*)(precord->valb); + long resetButt=*(long*)(precord->valc); int i; int cpt_for=0.0; /***** RESET DATA ******/ if(reset==1) { + resetComp=1; + resetButt=0; + printf("\nRESET"); for (i = 0 ; i < nelm; ++i) { *ptr_WF_OUT=0.0; ptr_WF_OUT++; } - printf("RESET"); return 0; } @@ -118,10 +123,12 @@ static int CREATE_TAB(aSubRecord *precord) { /*DATA from the COMPRESS waveform */ for (i = 0 ; i < nbAngle; ++i) { + if(i==0){*ptr_WF++;} *ptr_WF_OUT=*ptr_WF; - ptr_WF_OUT=ptr_WF_OUT+nbAngle; + ptr_WF_OUT=ptr_WF_OUT+nbPosition; ptr_WF++; } + resetComp=1; } return 0; diff --git a/src/EMU_RAMP-CURRENT.st b/src/EMU_RAMP-CURRENT.st index 5b2f26d998401adc2ffb99b5ba81b0cff2f61857..edd57117c0c94cef375c4acd857674ddf6e22992 100644 --- a/src/EMU_RAMP-CURRENT.st +++ b/src/EMU_RAMP-CURRENT.st @@ -55,9 +55,9 @@ ss ss1 { when(efTestAndClear(PS2_Cons_flag)) { - if((PS2_Cons<limitCurr) && (PS2_Cons>-limitCurr)){FCCurr_Cons= 5+(rand() * 0.000000001);} + if((PS2_Cons<limitCurr) && (PS2_Cons>-limitCurr)){FCCurr_Cons= 10;} else{ - %%FCCurr_Cons= rand() * 0.000000001; + %%FCCurr_Cons= PS2_Cons; } pvPut(FCCurr_Cons); }state ramp