From fda69beae0f175af2a052bb6bc4a41b0ce3fb4cd Mon Sep 17 00:00:00 2001 From: "Janet B. Anderson" Date: Tue, 13 Jan 2004 22:02:13 +0000 Subject: [PATCH] Initial version. --- src/makeBaseApp/top/vlinacApp/Db/Makefile | 23 + .../top/vlinacApp/Db/xxMedmDemo.db | 341 ++ .../top/vlinacApp/Db/xxVirtualLinac.db | 744 +++ src/makeBaseApp/top/vlinacApp/Makefile | 8 + src/makeBaseApp/top/vlinacApp/misc/README | 16 + .../top/vlinacApp/misc/Virtual_Linac.adl | 4623 +++++++++++++++++ .../top/vlinacApp/misc/Virtual_Linac_Info.pdf | Bin 0 -> 23245 bytes .../top/vlinacApp/misc/alarmDemo.adl | 549 ++ src/makeBaseApp/top/vlinacApp/misc/flame.gif | Bin 0 -> 14054 bytes .../top/vlinacApp/misc/linacStripChart.adl | 170 + .../top/vlinacApp/misc/medmDemo.adl | 1383 +++++ src/makeBaseApp/top/vlinacApp/src/Makefile | 37 + .../top/vlinacApp/src/autoControl.st | 316 ++ .../top/vlinacApp/src/beamTrajectory.st | 251 + .../top/vlinacApp/src/stabilizer.st | 47 + .../top/vlinacApp/src/vlinacInclude.dbd | 4 + .../top/vlinacApp/src/vlinacMain.cpp | 21 + 17 files changed, 8533 insertions(+) create mode 100644 src/makeBaseApp/top/vlinacApp/Db/Makefile create mode 100755 src/makeBaseApp/top/vlinacApp/Db/xxMedmDemo.db create mode 100644 src/makeBaseApp/top/vlinacApp/Db/xxVirtualLinac.db create mode 100644 src/makeBaseApp/top/vlinacApp/Makefile create mode 100644 src/makeBaseApp/top/vlinacApp/misc/README create mode 100644 src/makeBaseApp/top/vlinacApp/misc/Virtual_Linac.adl create mode 100644 src/makeBaseApp/top/vlinacApp/misc/Virtual_Linac_Info.pdf create mode 100644 src/makeBaseApp/top/vlinacApp/misc/alarmDemo.adl create mode 100644 src/makeBaseApp/top/vlinacApp/misc/flame.gif create mode 100644 src/makeBaseApp/top/vlinacApp/misc/linacStripChart.adl create mode 100644 src/makeBaseApp/top/vlinacApp/misc/medmDemo.adl create mode 100644 src/makeBaseApp/top/vlinacApp/src/Makefile create mode 100644 src/makeBaseApp/top/vlinacApp/src/autoControl.st create mode 100644 src/makeBaseApp/top/vlinacApp/src/beamTrajectory.st create mode 100644 src/makeBaseApp/top/vlinacApp/src/stabilizer.st create mode 100644 src/makeBaseApp/top/vlinacApp/src/vlinacInclude.dbd create mode 100644 src/makeBaseApp/top/vlinacApp/src/vlinacMain.cpp diff --git a/src/makeBaseApp/top/vlinacApp/Db/Makefile b/src/makeBaseApp/top/vlinacApp/Db/Makefile new file mode 100644 index 000000000..3c9fa56b0 --- /dev/null +++ b/src/makeBaseApp/top/vlinacApp/Db/Makefile @@ -0,0 +1,23 @@ +TOP=../.. +include $(TOP)/configure/CONFIG +#---------------------------------------- +# ADD MACRO DEFINITIONS AFTER THIS LINE + +#---------------------------------------------------- +# Optimization of db files using dbst (DEFAULT: NO) +#DB_OPT = YES + +#---------------------------------------------------- +# Create and install (or just install) +# databases, templates, substitutions like this +DB += xxVirtualLinac.db +DB += xxMedmDemo.db + +#---------------------------------------------------- +# If .db template is not named *.template add +# _TEMPLATE = + +include $(TOP)/configure/RULES +#---------------------------------------- +# ADD RULES AFTER THIS LINE + diff --git a/src/makeBaseApp/top/vlinacApp/Db/xxMedmDemo.db b/src/makeBaseApp/top/vlinacApp/Db/xxMedmDemo.db new file mode 100755 index 000000000..1dc572181 --- /dev/null +++ b/src/makeBaseApp/top/vlinacApp/Db/xxMedmDemo.db @@ -0,0 +1,341 @@ + record(ai,"$(user):demo1AI") { + field(DESC,"demo pv") + field(ASG,"") + field(SCAN,"Passive") + field(PINI,"YES") + field(PHAS,"0") + field(EVNT,"0") + field(TSEL,"0") + field(DTYP,"Soft Channel") + field(DISV,"1") + field(SDIS,"0") + field(DISS,"NO_ALARM") + field(PRIO,"LOW") + field(FLNK,"0") + field(INP,"1.5") + field(PREC,"2") + field(LINR,"NO CONVERSION") + field(EGUF,"0") + field(EGUL,"0") + field(EGU,"Volts") + field(HOPR,"10") + field(LOPR,"0") + field(AOFF,"0") + field(ASLO,"1") + field(SMOO,"0") + field(HIHI,"9") + field(LOLO,"0") + field(HIGH,"7") + field(LOW,"0") + field(HHSV,"MAJOR") + field(LLSV,"NO_ALARM") + field(HSV,"MINOR") + field(LSV,"NO_ALARM") + field(HYST,"0") + field(ADEL,"0") + field(MDEL,"0") + field(SIOL,"0") + field(SIML,"0") + field(SIMS,"NO_ALARM") + } + record(ai,"$(user):demo2AI") { + field(DESC,"demo pv") + field(ASG,"") + field(SCAN,"Passive") + field(PINI,"YES") + field(PHAS,"0") + field(EVNT,"0") + field(TSEL,"0") + field(DTYP,"Soft Channel") + field(DISV,"1") + field(SDIS,"0") + field(DISS,"NO_ALARM") + field(PRIO,"LOW") + field(FLNK,"0") + field(INP,"1.5") + field(PREC,"2") + field(LINR,"NO CONVERSION") + field(EGUF,"0") + field(EGUL,"0") + field(EGU,"Volts") + field(HOPR,"10") + field(LOPR,"0") + field(AOFF,"0") + field(ASLO,"1") + field(SMOO,"0") + field(HIHI,"10") + field(LOLO,"1") + field(HIGH,"10") + field(LOW,"2") + field(HHSV,"NO_ALARM") + field(LLSV,"MAJOR") + field(HSV,"NO_ALARM") + field(LSV,"MINOR") + field(HYST,"0") + field(ADEL,"0") + field(MDEL,"0") + field(SIOL,"0") + field(SIML,"0") + field(SIMS,"NO_ALARM") + } + record(ai,"$(user):demo3AI") { + field(DESC,"demo pv") + field(ASG,"") + field(SCAN,"Passive") + field(PINI,"YES") + field(PHAS,"0") + field(EVNT,"0") + field(TSEL,"0") + field(DTYP,"Soft Channel") + field(DISV,"1") + field(SDIS,"0") + field(DISS,"NO_ALARM") + field(PRIO,"LOW") + field(FLNK,"0") + field(INP,"1.5") + field(PREC,"2") + field(LINR,"NO CONVERSION") + field(EGUF,"0") + field(EGUL,"0") + field(EGU,"Volts") + field(HOPR,"10") + field(LOPR,"0") + field(AOFF,"0") + field(ASLO,"1") + field(SMOO,"0") + field(HIHI,"10") + field(LOLO,"1.5") + field(HIGH,"10") + field(LOW,"3") + field(HHSV,"NO_ALARM") + field(LLSV,"MAJOR") + field(HSV,"NO_ALARM") + field(LSV,"MINOR") + field(HYST,"0") + field(ADEL,"0") + field(MDEL,"0") + field(SIOL,"0") + field(SIML,"0") + field(SIMS,"NO_ALARM") + } + record(ai,"$(user):demo4AI") { + field(DESC,"demo pv") + field(ASG,"") + field(SCAN,"Passive") + field(PINI,"YES") + field(PHAS,"0") + field(EVNT,"0") + field(TSEL,"0") + field(DTYP,"Soft Channel") + field(DISV,"1") + field(SDIS,"0") + field(DISS,"NO_ALARM") + field(PRIO,"LOW") + field(FLNK,"0") + field(INP,"1.5") + field(PREC,"2") + field(LINR,"NO CONVERSION") + field(EGUF,"0") + field(EGUL,"0") + field(EGU,"Volts") + field(HOPR,"10") + field(LOPR,"0") + field(AOFF,"0") + field(ASLO,"1") + field(SMOO,"0") + field(HIHI,"8.5") + field(LOLO,"0") + field(HIGH,"6.5") + field(LOW,"0") + field(HHSV,"MAJOR") + field(LLSV,"NO_ALARM") + field(HSV,"MINOR") + field(LSV,"NO_ALARM") + field(HYST,"0") + field(ADEL,"0") + field(MDEL,"0") + field(SIOL,"0") + field(SIML,"0") + field(SIMS,"NO_ALARM") + } + record(ai,"$(user):demoAI") { + field(DESC,"demo pv") + field(ASG,"") + field(SCAN,"Passive") + field(PINI,"YES") + field(PHAS,"0") + field(EVNT,"0") + field(TSEL,"0") + field(DTYP,"Soft Channel") + field(DISV,"1") + field(SDIS,"0") + field(DISS,"NO_ALARM") + field(PRIO,"LOW") + field(FLNK,"0") + field(INP,"1.5") + field(PREC,"2") + field(LINR,"NO CONVERSION") + field(EGUF,"0") + field(EGUL,"0") + field(EGU,"Volts") + field(HOPR,"10") + field(LOPR,"0") + field(AOFF,"0") + field(ASLO,"1") + field(SMOO,"0") + field(HIHI,"0") + field(LOLO,"0") + field(HIGH,"0") + field(LOW,"0") + field(HHSV,"NO_ALARM") + field(LLSV,"NO_ALARM") + field(HSV,"NO_ALARM") + field(LSV,"NO_ALARM") + field(HYST,"0") + field(ADEL,"0") + field(MDEL,"0") + field(SIOL,"0") + field(SIML,"0") + field(SIMS,"NO_ALARM") + } + record(bi,"$(user):demoBI") { + field(DESC,"demo pv") + field(ASG,"") + field(SCAN,"Passive") + field(PINI,"YES") + field(PHAS,"0") + field(EVNT,"0") + field(TSEL,"0") + field(DTYP,"Soft Channel") + field(DISV,"1") + field(SDIS,"0") + field(DISS,"NO_ALARM") + field(PRIO,"LOW") + field(FLNK,"0") + field(INP,"0") + field(ZSV,"NO_ALARM") + field(OSV,"MAJOR") + field(COSV,"NO_ALARM") + field(ZNAM,"Off") + field(ONAM,"On") + field(SIOL,"0") + field(SIML,"0") + field(SIMS,"NO_ALARM") + } + record(calc,"$(user):demoCC") { + field(DESC,"") + field(ASG,"") + field(SCAN,"1 second") + field(PINI,"NO") + field(PHAS,"0") + field(EVNT,"0") + field(TSEL,"0") + field(DISV,"1") + field(SDIS,"0") + field(DISS,"NO_ALARM") + field(PRIO,"LOW") + field(FLNK,"0") + field(CALC,"a=8?2:a+1") + field(INPA,"$(user):demoCC.VAL NPP NMS") + field(INPB,"0") + field(INPC,"0") + field(INPD,"0") + field(INPE,"0") + field(INPF,"0") + field(INPG,"0") + field(INPH,"0") + field(INPI,"0") + field(INPJ,"0") + field(INPK,"0") + field(INPL,"0") + field(EGU,"counts") + field(PREC,"0") + field(HOPR,"10") + field(LOPR,"0") + field(HIHI,"0") + field(LOLO,"0") + field(HIGH,"0") + field(LOW,"0") + field(HHSV,"NO_ALARM") + field(LLSV,"NO_ALARM") + field(HSV,"NO_ALARM") + field(LSV,"NO_ALARM") + field(HYST,"0") + field(ADEL,"0") + field(MDEL,"0") + } + record(mbbi,"$(user):demoMI") { + field(DESC,"demo pv") + field(ASG,"") + field(SCAN,"Passive") + field(PINI,"YES") + field(PHAS,"0") + field(EVNT,"0") + field(TSEL,"0") + field(DTYP,"Soft Channel") + field(DISV,"1") + field(SDIS,"0") + field(DISS,"NO_ALARM") + field(PRIO,"LOW") + field(FLNK,"0") + field(NOBT,"3") + field(INP,"0") + field(ZRVL,"0x1") + field(ONVL,"0x2") + field(TWVL,"0x3") + field(THVL,"0x4") + field(FRVL,"0x5") + field(FVVL,"0x6") + field(SXVL,"0x0") + field(SVVL,"0x0") + field(EIVL,"0x0") + field(NIVL,"0x0") + field(TEVL,"0x0") + field(ELVL,"0x0") + field(TVVL,"0x0") + field(TTVL,"0x0") + field(FTVL,"0x0") + field(FFVL,"0x0") + field(ZRST,"Choice 1") + field(ONST,"Choice 2") + field(TWST,"Choice 3") + field(THST,"Choice 4") + field(FRST,"Choice 5") + field(FVST,"Choice 6") + field(SXST,"") + field(SVST,"") + field(EIST,"") + field(NIST,"") + field(TEST,"") + field(ELST,"") + field(TVST,"") + field(TTST,"") + field(FTST,"") + field(FFST,"") + field(ZRSV,"NO_ALARM") + field(ONSV,"NO_ALARM") + field(TWSV,"MINOR") + field(THSV,"NO_ALARM") + field(FRSV,"NO_ALARM") + field(FVSV,"MAJOR") + field(SXSV,"NO_ALARM") + field(SVSV,"NO_ALARM") + field(EISV,"NO_ALARM") + field(NISV,"NO_ALARM") + field(TESV,"NO_ALARM") + field(ELSV,"NO_ALARM") + field(TVSV,"NO_ALARM") + field(TTSV,"NO_ALARM") + field(FTSV,"NO_ALARM") + field(FFSV,"NO_ALARM") + field(UNSV,"NO_ALARM") + field(COSV,"NO_ALARM") + field(SIOL,"0") + field(SIML,"0") + field(SIMS,"NO_ALARM") + } + record(stringin,"$(user):demoSI") { + field(DESC,"demo pv") + field(VAL,"Drop PV name here ...") + } + diff --git a/src/makeBaseApp/top/vlinacApp/Db/xxVirtualLinac.db b/src/makeBaseApp/top/vlinacApp/Db/xxVirtualLinac.db new file mode 100644 index 000000000..173d35608 --- /dev/null +++ b/src/makeBaseApp/top/vlinacApp/Db/xxVirtualLinac.db @@ -0,0 +1,744 @@ +record(bi,"$(user):autoC") { + field(ASG,"$(user)") + field(PINI,"YES") + field(INP, "0") + field(DTYP,"Soft Channel") + field(ZNAM,"Operator control") + field(ONAM,"Computer-Auto") +} +record(bo,"$(user):gunOnC") { + field(DESC,"Controls e-gun") + field(ASG,"$(user)") + field(DTYP,"Soft Channel") + field(ZNAM,"Beam Off") + field(ONAM,"Beam On") +} +record(bo,"$(user):gunBakeoutC") { + field(DESC,"Bakeout Mode") + field(DTYP,"Soft Channel") + field(ZNAM,"Normal") + field(ONAM,"Bakeout") +} +record(calc,"$(user):flameM") { + field(CALC,"A<32?A+1:0") + field(SCAN,".1 second") + field(INPA,"$(user):flameM.VAL NPP NMS") +} +record(ao,"$(user):cathodeCurrentC") { + field(DESC,"set cathode current") + field(ASG,"$(user)") + field(DTYP,"Raw Soft Channel") + field(SCAN,".1 second") + field(OROC,".05") + field(PREC,"2") + field(EGU,"Amps") + field(DRVH,"20") + field(DRVL,"0") + field(HOPR,"20") + field(LOPR,"0") +} +record(calc,"$(user):rampM") { + field(CALC,"A>6.27?0:A+.1") + field(SCAN,"1 second") + field(INPA,"$(user):rampM.VAL NPP NMS") +} +record(calc,"$(user):cathodeTempM") { + field(DESC,"Measured Temp") + field(SCAN,"1 second") + field(CALC,"C+(A*7)+(SIN(B)*3.5)") + field(INPA,"$(user):cathodeCurrentC.OVAL NPP NMS") + field(INPB,"$(user):rampM.VAL NPP NMS") + field(INPC,"70") + field(EGU,"degF") + field(PREC,"1") + field(HOPR,"200") + field(LOPR,"") + field(HIHI,"180") + field(LOLO,"130") + field(HIGH,"160") + field(LOW,"140") + field(HHSV,"MAJOR") + field(HSV,"MINOR") + field(LLSV,"MAJOR") + field(LSV,"MINOR") +} +record(calc,"$(user):CM1:intensityM") { + field(SCAN,"1 second") + field(CALC,"((!B)||(A>185)||(A<120))?0:A/5") + field(INPA,"$(user):cathodeTempM.VAL NPP NMS") + field(INPB,"$(user):gunOnC.VAL NPP NMS") + field(EGU,"mA") + field(PREC,"2") + field(HOPR,"40") + field(LOPR,"") + field(HIHI,"36") + field(HIGH,"33") + field(HHSV,"MAJOR") + field(HSV,"MINOR") +} +record(ao,"$(user):H1:setCurrentC") { + field(DESC,"set output current") + field(ASG,"$(user)") + field(PREC,"2") + field(EGU,"Amps") + field(DRVH,"5") + field(DRVL,"-5") + field(HOPR,"5") + field(LOPR,"-5") +} +record(ao,"$(user):V1:setCurrentC") { + field(DESC,"set output current") + field(ASG,"$(user)") + field(PREC,"2") + field(EGU,"Amps") + field(DRVH,"5") + field(DRVL,"-5") + field(HOPR,"5") + field(LOPR,"-5") +} +record(ao,"$(user):H2:setCurrentC") { + field(DESC,"set output current") + field(ASG,"$(user)") + field(PREC,"2") + field(EGU,"Amps") + field(DRVH,"5") + field(DRVL,"-5") + field(HOPR,"5") + field(LOPR,"-5") +} +record(ao,"$(user):V2:setCurrentC") { + field(DESC,"set output current") + field(ASG,"$(user)") + field(PREC,"2") + field(EGU,"Amps") + field(DRVH,"5") + field(DRVL,"-5") + field(HOPR,"5") + field(LOPR,"-5") +} +record(ao,"$(user):H3:setCurrentC") { + field(DESC,"set output current") + field(ASG,"$(user)") + field(PREC,"2") + field(EGU,"Amps") + field(DRVH,"5") + field(DRVL,"-5") + field(HOPR,"5") + field(LOPR,"-5") +} +record(ao,"$(user):V3:setCurrentC") { + field(DESC,"set output current") + field(ASG,"$(user)") + field(PREC,"2") + field(EGU,"Amps") + field(DRVH,"5") + field(DRVL,"-5") + field(HOPR,"5") + field(LOPR,"-5") +} +record(ao,"$(user):H4:setCurrentC") { + field(DESC,"set output current") + field(ASG,"$(user)") + field(PREC,"2") + field(EGU,"Amps") + field(DRVH,"5") + field(DRVL,"-5") + field(HOPR,"5") + field(LOPR,"-5") +} +record(ao,"$(user):V4:setCurrentC") { + field(DESC,"set output current") + field(ASG,"$(user)") + field(PREC,"2") + field(EGU,"Amps") + field(DRVH,"5") + field(DRVL,"-5") + field(HOPR,"5") + field(LOPR,"-5") +} +record(ao,"$(user):H5:setCurrentC") { + field(DESC,"set output current") + field(ASG,"$(user)") + field(PREC,"2") + field(EGU,"Amps") + field(DRVH,"5") + field(DRVL,"-5") + field(HOPR,"5") + field(LOPR,"-5") +} +record(ao,"$(user):V5:setCurrentC") { + field(DESC,"set output current") + field(ASG,"$(user)") + field(PREC,"2") + field(EGU,"Amps") + field(DRVH,"5") + field(DRVL,"-5") + field(HOPR,"5") + field(LOPR,"-5") +} +record(ao,"$(user):BM1:setCurrentC") { + field(DESC,"set output current") + field(ASG,"$(user)") + field(PREC,"1") + field(EGU,"Amps") + field(DRVH,"250") + field(DRVL,"0") + field(HOPR,"250") + field(LOPR,"0") +} +record(calc,"$(user):randomM") { + field(CALC,"(RNDM*.1)-.05") +} +record(calc,"$(user):PM1:X:positionM") { + field(DESC,"Measured Position") + field(SCAN,".2 second") + field(CALC,"C<.5?0:ABS(A-E)>1?(A-E)^3+D:(A-E)*2+D") + field(INPA,"$(user):H1:setCurrentC.VAL NPP NMS") + field(INPB,"$(user):H1:setCurrentC.VAL NPP NMS") + field(INPC,"$(user):CM1:intensityM.VAL NPP NMS") + field(INPD,"$(user):randomM.VAL PP NMS") + field(INPE,"-1.3") + field(EGU,"mm") + field(PREC,"2") + field(HOPR,"5") + field(LOPR,"-5") + field(HIHI,"4") + field(LOLO,"-4") + field(HIGH,"1") + field(LOW,"-1") + field(HHSV,"MAJOR") + field(LLSV,"MAJOR") + field(HSV,"MINOR") + field(LSV,"MINOR") +} +record(calc,"$(user):PM1:Y:positionM") { + field(DESC,"Measured Position") + field(SCAN,".2 second") + field(CALC,"C<.5?0:ABS(A-E)>1?(A-E)^3+D:(A-E)*2+D") + field(INPA,"$(user):V1:setCurrentC.VAL NPP NMS") + field(INPB,"$(user):V1:setCurrentC.VAL NPP NMS") + field(INPC,"$(user):CM1:intensityM.VAL NPP NMS") + field(INPD,"$(user):randomM.VAL PP NMS") + field(INPE,"1.8") + field(EGU,"mm") + field(PREC,"2") + field(HOPR,"5") + field(LOPR,"-5") + field(HIHI,"4") + field(LOLO,"-4") + field(HIGH,"1") + field(LOW,"-1") + field(HHSV,"MAJOR") + field(LLSV,"MAJOR") + field(HSV,"MINOR") + field(LSV,"MINOR") +} +record(calc,"$(user):PM1:beamPresentM") { + field(DESC,"1=beam present") + field(CALC,"(A>.5)&&(B<2)&&(C<2)") + field(INPA,"$(user):CM1:intensityM.VAL NPP NMS") + field(INPB,"$(user):PM1:X:positionM.SEVR NPP NMS") + field(INPC,"$(user):PM1:Y:positionM.SEVR NPP NMS") +} +record(calc,"$(user):PM1:intensityM") { + field(DESC,"Measured I") + field(SCAN,".5 second") + field(CALC,"!A?0:B*(E-MIN(ABS(C)+ABS(D),E))/F") + field(INPA,"$(user):PM1:beamPresentM.VAL PP NMS") + field(INPB,"$(user):CM1:intensityM.VAL NPP NMS") + field(INPC,"$(user):PM1:X:positionM.VAL NPP NMS") + field(INPD,"$(user):PM1:Y:positionM.VAL NPP NMS") + field(INPE,"10") + field(INPF,"11") + field(EGU,"mA") + field(PREC,"2") +} +record(calc,"$(user):PM2:X:positionM") { + field(DESC,"Measured Position") + field(SCAN,".2 second") + field(CALC,"C<.5?0:ABS(A-E)>1?(A-E)^3+B:(A-E)*2+B+D") + field(INPA,"$(user):H2:setCurrentC.VAL NPP NMS") + field(INPB,"$(user):H1:setCurrentC.VAL NPP NMS") + field(INPC,"$(user):PM1:intensityM.VAL NPP NMS") + field(INPD,"$(user):randomM.VAL PP NMS") + field(INPE,"2.0") + field(EGU,"mm") + field(PREC,"2") + field(HOPR,"5") + field(LOPR,"-5") + field(HIHI,"4") + field(LOLO,"-4") + field(HIGH,"1") + field(LOW,"-1") + field(HHSV,"MAJOR") + field(LLSV,"MAJOR") + field(HSV,"MINOR") + field(LSV,"MINOR") +} +record(calc,"$(user):PM2:Y:positionM") { + field(DESC,"Measured Position") + field(SCAN,".2 second") + field(CALC,"C<.5?0:ABS(A-E)>1?(A-E)^3+B:(A-E)*2+B+D") + field(INPA,"$(user):V2:setCurrentC.VAL NPP NMS") + field(INPB,"$(user):V1:setCurrentC.VAL NPP NMS") + field(INPC,"$(user):PM1:intensityM.VAL NPP NMS") + field(INPD,"$(user):randomM.VAL PP NMS") + field(INPE,"-.5") + field(EGU,"mm") + field(PREC,"2") + field(HOPR,"5") + field(LOPR,"-5") + field(HIHI,"4") + field(LOLO,"-4") + field(HIGH,"1") + field(LOW,"-1") + field(HHSV,"MAJOR") + field(LLSV,"MAJOR") + field(HSV,"MINOR") + field(LSV,"MINOR") +} +record(calc,"$(user):PM2:beamPresentM") { + field(DESC,"1=beam present") + field(CALC,"(A>.5)&&(B<2)&&(C<2)") + field(INPA,"$(user):PM1:intensityM.VAL NPP NMS") + field(INPB,"$(user):PM2:X:positionM.SEVR NPP NMS") + field(INPC,"$(user):PM2:Y:positionM.SEVR NPP NMS") +} +record(calc,"$(user):PM2:intensityM") { + field(DESC,"Measured I") + field(SCAN,".5 second") + field(CALC,"!A?0:B*(E-MIN(ABS(C)+ABS(D),E))/F") + field(INPA,"$(user):PM2:beamPresentM.VAL PP NMS") + field(INPB,"$(user):PM1:intensityM.VAL NPP NMS") + field(INPC,"$(user):PM2:X:positionM.VAL NPP NMS") + field(INPD,"$(user):PM2:Y:positionM.VAL NPP NMS") + field(INPE,"10") + field(INPF,"11") + field(EGU,"mA") + field(PREC,"2") +} +record(calc,"$(user):PM3:X:positionM") { + field(DESC,"Measured Position") + field(SCAN,".2 second") + field(CALC,"F#1||!C?0:ABS(A-E)>1?(A-E)^3:(A-E)*2+B") + field(INPA,"$(user):H3:setCurrentC.VAL NPP NMS") + field(INPB,"$(user):H2:setCurrentC.VAL NPP NMS") + field(INPC,"$(user):PM2:intensityM.VAL NPP NMS") + field(INPD,"$(user):randomM.VAL PP NMS") + field(INPE,"-0.7") + field(INPF,"$(user):GV1:positionM.VAL NPP NMS") + field(EGU,"mm") + field(PREC,"2") + field(HOPR,"5") + field(LOPR,"-5") + field(HIHI,"4") + field(LOLO,"-4") + field(HIGH,"1") + field(LOW,"-1") + field(HHSV,"MAJOR") + field(LLSV,"MAJOR") + field(HSV,"MINOR") + field(LSV,"MINOR") +} +record(calc,"$(user):PM3:Y:positionM") { + field(DESC,"Measured Position") + field(SCAN,".2 second") + field(CALC,"F#1||!C?0:ABS(A-E)>1?(A-E)^3:(A-E)*2+B") + field(INPA,"$(user):V3:setCurrentC.VAL NPP NMS") + field(INPB,"$(user):V2:setCurrentC.VAL NPP NMS") + field(INPC,"$(user):PM2:intensityM.VAL NPP NMS") + field(INPD,"$(user):randomM.VAL PP NMS") + field(INPE,"-1.5") + field(INPF,"$(user):GV1:positionM.VAL NPP NMS") + field(EGU,"mm") + field(PREC,"2") + field(HOPR,"5") + field(LOPR,"-5") + field(HIHI,"4") + field(LOLO,"-4") + field(HIGH,"1") + field(LOW,"-1") + field(HHSV,"MAJOR") + field(LLSV,"MAJOR") + field(HSV,"MINOR") + field(LSV,"MINOR") +} +record(calc,"$(user):PM3:beamPresentM") { + field(DESC,"1=beam present") + field(CALC,"(A>.5)&&(B<2)&&(C<2)&&(D=1)") + field(INPA,"$(user):PM2:intensityM.VAL NPP NMS") + field(INPB,"$(user):PM3:X:positionM.SEVR NPP NMS") + field(INPC,"$(user):PM3:Y:positionM.SEVR NPP NMS") + field(INPD,"$(user):GV1:positionM.VAL NPP NMS") +} +record(calc,"$(user):PM3:intensityM") { + field(DESC,"Measured I") + field(SCAN,".5 second") + field(CALC,"!A?0:B*(E-MIN(ABS(C)+ABS(D),E))/F") + field(INPA,"$(user):PM3:beamPresentM.VAL PP NMS") + field(INPB,"$(user):PM2:intensityM.VAL NPP NMS") + field(INPC,"$(user):PM3:X:positionM.VAL NPP NMS") + field(INPD,"$(user):PM3:Y:positionM.VAL NPP NMS") + field(INPE,"10") + field(INPF,"11") + field(EGU,"mA") + field(PREC,"2") +} +record(calc,"$(user):PM4:X:positionM") { + field(DESC,"Measured Position") + field(SCAN,".2 second") + field(CALC,"C<.5?0:ABS(A-E)>1?(A-E)^3+B:(A-E)*2+B+D") + field(INPA,"$(user):H4:setCurrentC.VAL NPP NMS") + field(INPB,"$(user):H3:setCurrentC.VAL NPP NMS") + field(INPC,"$(user):PM3:intensityM.VAL NPP NMS") + field(INPD,"$(user):randomM.VAL PP NMS") + field(INPE,".8") + field(EGU,"mm") + field(PREC,"2") + field(HOPR,"5") + field(LOPR,"-5") + field(HIHI,"4") + field(LOLO,"-4") + field(HIGH,"1") + field(LOW,"-1") + field(HHSV,"MAJOR") + field(LLSV,"MAJOR") + field(HSV,"MINOR") + field(LSV,"MINOR") +} +record(calc,"$(user):PM4:Y:positionM") { + field(DESC,"Measured Position") + field(SCAN,".2 second") + field(CALC,"C<.5?0:ABS(A-E)>1?(A-E)^3+B:(A-E)*2+B+D") + field(INPA,"$(user):V4:setCurrentC.VAL NPP NMS") + field(INPB,"$(user):V3:setCurrentC.VAL NPP NMS") + field(INPC,"$(user):PM3:intensityM.VAL NPP NMS") + field(INPD,"$(user):randomM.VAL PP NMS") + field(INPE,"-.3") + field(EGU,"mm") + field(PREC,"2") + field(HOPR,"5") + field(LOPR,"-5") + field(HIHI,"4") + field(LOLO,"-4") + field(HIGH,"1") + field(LOW,"-1") + field(HHSV,"MAJOR") + field(LLSV,"MAJOR") + field(HSV,"MINOR") + field(LSV,"MINOR") +} +record(calc,"$(user):PM4:beamPresentM") { + field(DESC,"1=beam present") + field(CALC,"(A>.5)&&(B<2)&&(C<2)") + field(INPA,"$(user):PM3:intensityM.VAL NPP NMS") + field(INPB,"$(user):PM4:X:positionM.SEVR NPP NMS") + field(INPC,"$(user):PM4:Y:positionM.SEVR NPP NMS") +} +record(calc,"$(user):PM4:intensityM") { + field(DESC,"Measured I") + field(SCAN,".5 second") + field(CALC,"!A?0:B*(E-MIN(ABS(C)+ABS(D),E))/F") + field(INPA,"$(user):PM4:beamPresentM.VAL PP NMS") + field(INPB,"$(user):PM3:intensityM.VAL NPP NMS") + field(INPC,"$(user):PM4:X:positionM.VAL NPP NMS") + field(INPD,"$(user):PM4:Y:positionM.VAL NPP NMS") + field(INPE,"10") + field(INPF,"11") + field(EGU,"mA") + field(PREC,"2") +} +record(calc,"$(user):PM5:X:positionM") { + field(DESC,"Measured Position") + field(SCAN,".2 second") + field(CALC,"C<.5?0:ABS(A-E)>1?(A-E)^3+B:(A-E)*2+B+D") + field(INPA,"$(user):H5:setCurrentC.VAL NPP NMS") + field(INPB,"$(user):H4:setCurrentC.VAL NPP NMS") + field(INPC,"$(user):PM4:intensityM.VAL NPP NMS") + field(INPD,"$(user):randomM.VAL PP NMS") + field(INPE,"-1.0") + field(EGU,"mm") + field(PREC,"2") + field(HOPR,"5") + field(LOPR,"-5") + field(HIHI,"4") + field(LOLO,"-4") + field(HIGH,"1") + field(LOW,"-1") + field(HHSV,"MAJOR") + field(LLSV,"MAJOR") + field(HSV,"MINOR") + field(LSV,"MINOR") +} +record(calc,"$(user):PM5:Y:positionM") { + field(DESC,"Measured Position") + field(SCAN,".2 second") + field(CALC,"C<.5?0:ABS(A-E)>1?(A-E)^3+B:(A-E)*2+B+D") + field(INPA,"$(user):V5:setCurrentC.VAL NPP NMS") + field(INPB,"$(user):V4:setCurrentC.VAL NPP NMS") + field(INPC,"$(user):PM4:intensityM.VAL NPP NMS") + field(INPD,"$(user):randomM.VAL PP NMS") + field(INPE,"2.3") + field(EGU,"mm") + field(PREC,"2") + field(HOPR,"5") + field(LOPR,"-5") + field(HIHI,"4") + field(LOLO,"-4") + field(HIGH,"1") + field(LOW,"-1") + field(HHSV,"MAJOR") + field(LLSV,"MAJOR") + field(HSV,"MINOR") + field(LSV,"MINOR") +} +record(calc,"$(user):PM5:beamPresentM") { + field(DESC,"1=beam present") + field(CALC,"(A>.5)&&(B<2)&&(C<2)") + field(INPA,"$(user):PM4:intensityM.VAL NPP NMS") + field(INPB,"$(user):PM5:X:positionM.SEVR NPP NMS") + field(INPC,"$(user):PM5:Y:positionM.SEVR NPP NMS") +} +record(calc,"$(user):PM5:intensityM") { + field(DESC,"Measured I") + field(SCAN,".5 second") + field(CALC,"!A?0:B*(E-MIN(ABS(C)+ABS(D),E))/F") + field(INPA,"$(user):PM5:beamPresentM.VAL PP NMS") + field(INPB,"$(user):PM4:intensityM.VAL NPP NMS") + field(INPC,"$(user):PM5:X:positionM.VAL NPP NMS") + field(INPD,"$(user):PM5:Y:positionM.VAL NPP NMS") + field(INPE,"10") + field(INPF,"11") + field(EGU,"mA") + field(PREC,"2") +} +record(calc,"$(user):FC1:intensityM") { + field(DESC,"Measured I") + field(SCAN,".5 second") + field(CALC,"A<.5?0:D>10?0:A*(11-D)/12") + field(INPA,"$(user):PM5:intensityM.VAL NPP NMS") + field(INPB,"$(user):PM5:X:positionM.VAL NPP NMS") + field(INPC,"$(user):PM5:Y:positionM.VAL NPP NMS") + field(INPD,"$(user):BM1:setCurrentC.VAL NPP NMS") + field(EGU,"mA") + field(PREC,"2") +} +record(calc,"$(user):FC2:intensityM") { + field(DESC,"Measured I") + field(SCAN,".5 second") + field(CALC,"(D<213)||(D>216.12)?0:A*.9*SIN(D-E)") + field(INPA,"$(user):PM5:intensityM.VAL NPP NMS") + field(INPB,"$(user):PM5:X:positionM.VAL NPP NMS") + field(INPC,"$(user):PM5:Y:positionM.VAL NPP NMS") + field(INPD,"$(user):BM1:setCurrentC.VAL NPP NMS") + field(INPE,"213") + field(EGU,"mA") + field(PREC,"2") +} +record(waveform,"$(user):PM:distancesWF") { + field(DESC,"bpm distances from gun") + field(DTYP,"Soft Channel") + field(EGU,"meters") + field(HOPR,"60") + field(LOPR,"0") + field(NELM,"8") + field(FTVL,"FLOAT") + } +record(waveform,"$(user):PM:refLocationsWF") { + field(DTYP,"Soft Channel") + field(EGU,"meters") + field(HOPR,"60") + field(LOPR,"0") + field(NELM,"2") + field(FTVL,"FLOAT") + } +record(waveform,"$(user):PM:referenceLoWF") { + field(DTYP,"Soft Channel") + field(EGU,"meters") + field(HOPR,"5") + field(LOPR,"-5") + field(NELM,"2") + field(FTVL,"FLOAT") + } +record(waveform,"$(user):PM:referenceHiWF") { + field(DTYP,"Soft Channel") + field(EGU,"meters") + field(HOPR,"5") + field(LOPR,"-5") + field(NELM,"2") + field(FTVL,"FLOAT") + } +record(waveform,"$(user):PM:xTrajectoryWF") { + field(DESC,"x values") + field(DTYP,"Soft Channel") + field(EGU,"mm") + field(HOPR,"5") + field(LOPR,"-5") + field(NELM,"8") + field(FTVL,"FLOAT") +} +record(waveform,"$(user):PM:yTrajectoryWF") { + field(DESC,"y values") + field(DTYP,"Soft Channel") + field(EGU,"mm") + field(HOPR,"5") + field(LOPR,"-5") + field(NELM,"8") + field(FTVL,"FLOAT") +} +record(waveform,"$(user):PM:iTrajectoryWF") { + field(DESC,"i values") + field(DTYP,"Soft Channel") + field(EGU,"mm") + field(HOPR,"40") + field(LOPR,"0") + field(NELM,"8") + field(FTVL,"FLOAT") +} +record(mbbo,"$(user):GV1:positionC") { + field(DESC,"valve position") + field(ASG,"$(user)") + field(DTYP,"Raw Soft Channel") + field(ZRVL,"0x3") + field(ONVL,"0xc") + field(ZRST,"Close") + field(ONST,"Open") + field(FLNK,"$(user):GV1:positionSQ.VAL") +} +record(seq,"$(user):GV1:positionSQ") { + field(DESC,"simulate open/close") + field(SELM,"Mask") + field(SELL,"$(user):GV1:positionC.RVAL NPP NMS") + field(DOL1,"0") + field(LNK1,"$(user):GV1:positionM.VAL PP NMS") + field(DLY2,"1") + field(DOL2,"2") + field(LNK2,"$(user):GV1:positionM.VAL PP NMS") + field(DOL3,"0") + field(LNK3,"$(user):GV1:positionM.VAL PP NMS") + field(DLY4,"1") + field(DOL4,"1") + field(LNK4,"$(user):GV1:positionM.VAL PP NMS") +} +record(mbbi,"$(user):GV1:positionM") { + field(DESC,"valve position") + field(PINI,"YES") + field(INP,"2") + field(ZRST,"Travel") + field(ONST,"Full Open") + field(TWST,"Full Closed") + field(THST,"Unknown") + field(ZRSV,"MINOR") + field(ONSV,"NO_ALARM") + field(TWSV,"MAJOR") + field(THSV,"INVALID") +} +record(ai,"$(user):opVariable1") { + field(PREC, "4") + field(EGU,"Ratio") +} +record(ai,"$(user):opVariable2") { + field(PREC, "4") + field(EGU,"void") +} +record(ai,"$(user):opVariable3") { + field(PREC, "4") + field(EGU,"void") +} +record(ai,"$(user):opVariable4") { + field(PREC, "4") + field(EGU,"void") +} +record(ai,"$(user):opVariable5") { + field(PREC, "4") + field(EGU,"void") +} +record(bo,"$(user):opButton1C") { + field(DESC,"Misc. Button") + field(DTYP,"Soft Channel") + field(HIGH,"2") + field(ZNAM,"Off") + field(ONAM,"On") +} +record(bo,"$(user):opButton2C") { + field(DESC,"Misc. Button") + field(DTYP,"Soft Channel") + field(HIGH,".5") + field(ZNAM,"Off") + field(ONAM,"On") +} +record(bo,"$(user):opButton3C") { + field(DESC,"Misc. Button") + field(DTYP,"Soft Channel") + field(HIGH,".5") + field(ZNAM,"Off") + field(ONAM,"On") +} +#record(scan,"$(user):scan1SC") { +# field(MPTS,"512") +#} +#record(scan,"$(user):scan2SC") { +# field(MPTS,"512") +#} +#record(scan,"$(user):scan3SC") { +# field(MPTS,"512") +#} +#record(scan,"$(user):scan4SC") { +# field(MPTS,"512") +#} +record(calcout,"$(user):scanCtl1CO") +record(calcout,"$(user):scanCtl2CO") +record(calcout,"$(user):scanCtl3CO") +record(calcout,"$(user):scanCtl4CO") +record(calcout,"$(user):scanCtl5CO") + +record(bo,"$(user):OP:stabilizerC") { + field(ZNAM,"Off") + field(ONAM,"Stabilize") +} +record(stringin,"$(user):OP:stabilizerMsg") { + field(VAL,"Sequence Off") +} +record(stringin,"$(user):OP:autoMsg") { + field(VAL,"Operator Control") +} +record(stringin,"$(user):operatorM") { + field(VAL,"") +} +record(seq,"$(user):initAllSQ") { + field(DOL1,"0") + field(LNK1,"$(user):cathodeCurrentC.VAL PP NMS") + field(DOL2,"0") + field(LNK2,"$(user):cathodeCurrentC.OVAL PP NMS") + field(DLY3,".25") + field(DOL3,"0") + field(LNK3,"$(user):gunOnC.VAL PP NMS") + field(DLY4,".25") + field(DOL4,"0") + field(LNK4,"$(user):GV1:positionC.VAL PP NMS") + field(DOL5,"1") + field(LNK5,"$(user):initSteeringSQ.VAL PP NMS") +} +record(seq,"$(user):initSteeringSQ") { + field(DOL1,"0") + field(LNK1,"$(user):H1:setCurrentC.VAL PP NMS") + field(DOL2,"0") + field(LNK2,"$(user):V1:setCurrentC.VAL PP NMS") + field(DOL3,"0") + field(LNK3,"$(user):H2:setCurrentC.VAL PP NMS") + field(DOL4,"0") + field(LNK4,"$(user):V2:setCurrentC.VAL PP NMS") + field(DOL5,"0") + field(LNK5,"$(user):H3:setCurrentC.VAL PP NMS") + field(DOL6,"0") + field(LNK6,"$(user):V3:setCurrentC.VAL PP NMS") + field(DOL7,"0") + field(LNK7,"$(user):H4:setCurrentC.VAL PP NMS") + field(DOL8,"0") + field(LNK8,"$(user):V4:setCurrentC.VAL PP NMS") + field(DOL9,"0") + field(LNK9,"$(user):H5:setCurrentC.VAL PP NMS") + field(DOLA,"0") + field(LNKA,"$(user):V5:setCurrentC.VAL PP NMS") +} + diff --git a/src/makeBaseApp/top/vlinacApp/Makefile b/src/makeBaseApp/top/vlinacApp/Makefile new file mode 100644 index 000000000..10e0126aa --- /dev/null +++ b/src/makeBaseApp/top/vlinacApp/Makefile @@ -0,0 +1,8 @@ +TOP = .. +include $(TOP)/configure/CONFIG +DIRS := $(DIRS) $(filter-out $(DIRS), $(wildcard *src*)) +DIRS := $(DIRS) $(filter-out $(DIRS), $(wildcard *Src*)) +DIRS := $(DIRS) $(filter-out $(DIRS), $(wildcard *db*)) +DIRS := $(DIRS) $(filter-out $(DIRS), $(wildcard *Db*)) +include $(TOP)/configure/RULES_DIRS + diff --git a/src/makeBaseApp/top/vlinacApp/misc/README b/src/makeBaseApp/top/vlinacApp/misc/README new file mode 100644 index 000000000..50ba6d35a --- /dev/null +++ b/src/makeBaseApp/top/vlinacApp/misc/README @@ -0,0 +1,16 @@ +This directory (misc) contains additional files to compliment +the virtual linac demo application. + +For full functionality the sequencer module must be built and loaded. + +Virtual_Linac_Info.pdf : Description of the Virtual Linac +*.adl : medm display files +*.gif : images used in medm files + +To start the ioc, refer to the README file in the iocBoot +directory. + +To start medm, use the following command: +medm -local -x -macro user=_USER_ Virtual_Linac.adl + + diff --git a/src/makeBaseApp/top/vlinacApp/misc/Virtual_Linac.adl b/src/makeBaseApp/top/vlinacApp/misc/Virtual_Linac.adl new file mode 100644 index 000000000..c4ecffaba --- /dev/null +++ b/src/makeBaseApp/top/vlinacApp/misc/Virtual_Linac.adl @@ -0,0 +1,4623 @@ + +file { + name="/home/phoebus/NDA/epics/vlinac/R3.14.3/vlinacApp/misc/Virtual_Linac.adl" + version=030003 +} +display { + object { + x=58 + y=85 + width=1207 + height=564 + } + clr=14 + bclr=55 + cmap="" + gridSpacing=5 + gridOn=0 + snapToGrid=0 +} +"color map" { + ncolors=65 + colors { + ffffff, + ececec, + dadada, + c8c8c8, + bbbbbb, + aeaeae, + 9e9e9e, + 919191, + 858585, + 787878, + 696969, + 5a5a5a, + 464646, + 2d2d2d, + 000000, + 00d800, + 1ebb00, + 339900, + 2d7f00, + 216c00, + fd0000, + de1309, + be190b, + a01207, + 820400, + 5893ff, + 597ee1, + 4b6ec7, + 3a5eab, + 27548d, + fbf34a, + f9da3c, + eeb62b, + e19015, + cd6100, + ffb0ff, + d67fe2, + ae4ebc, + 8b1a96, + 610a75, + a4aaff, + 8793e2, + 6a73c1, + 4d52a4, + 343386, + c7bb6d, + b79d5c, + a47e3c, + 7d5627, + 58340f, + 99ffff, + 73dfff, + 4ea5f9, + 2a63e4, + 0a00b8, + ebf1b5, + d4db9d, + bbc187, + a6a462, + 8b8239, + 73ff6b, + 52da3b, + 3cb420, + 289315, + 1a7309, + } +} +"related display" { + object { + x=103 + y=297 + width=23 + height=15 + } + display[0] { + label="Cathode Strip Chart" + name="cathodeStrip.adl" + } + clr=14 + bclr=51 + visual="invisible" +} +polyline { + object { + x=985 + y=273 + width=32 + height=32 + } + "basic attribute" { + clr=7 + width=3 + } + points { + (985,304) + (1016,273) + } +} +composite { + object { + x=463 + y=264 + width=14 + height=43 + } + "composite name"="" + children { + rectangle { + object { + x=463 + y=271 + width=10 + height=6 + } + "basic attribute" { + clr=7 + } + } + rectangle { + object { + x=466 + y=277 + width=4 + height=30 + } + "basic attribute" { + clr=11 + } + } + rectangle { + object { + x=466 + y=277 + width=3 + height=30 + } + "basic attribute" { + clr=9 + } + } + rectangle { + object { + x=466 + y=277 + width=2 + height=30 + } + "basic attribute" { + clr=7 + } + } + rectangle { + object { + x=466 + y=277 + width=0 + height=30 + } + "basic attribute" { + clr=2 + } + } + rectangle { + object { + x=464 + y=283 + width=8 + height=3 + } + "basic attribute" { + clr=14 + } + } + rectangle { + object { + x=465 + y=265 + width=4 + height=6 + } + "basic attribute" { + clr=5 + } + } + rectangle { + object { + x=469 + y=266 + width=8 + height=5 + } + "basic attribute" { + clr=7 + } + } + rectangle { + object { + x=473 + y=264 + width=4 + height=6 + } + "basic attribute" { + clr=7 + } + } + } +} +rectangle { + object { + x=147 + y=324 + width=1024 + height=77 + } + "basic attribute" { + clr=57 + width=1 + } +} +"cartesian plot" { + object { + x=105 + y=23 + width=1000 + height=217 + } + plotcom { + title="Electron LINAC Beam Position" + clr=14 + bclr=2 + } + style="line" + erase_oldest="plot last n pts" + trace[0] { + xdata="$(user):PM:distancesWF" + ydata="$(user):PM:iTrajectoryWF" + data_clr=20 + } + trace[1] { + xdata="$(user):PM:distancesWF" + ydata="$(user):PM:xTrajectoryWF" + data_clr=53 + } + trace[2] { + xdata="$(user):PM:distancesWF" + ydata="$(user):PM:yTrajectoryWF" + data_clr=49 + } + trace[3] { + xdata="$(user):PM:refLocationsWF" + ydata="$(user):PM:referenceHiWF" + data_clr=30 + } + trace[4] { + xdata="$(user):PM:refLocationsWF" + ydata="$(user):PM:referenceLoWF" + data_clr=30 + } + x_axis { + rangeStyle="user-specified" + maxRange=60.000000 + } + y1_axis { + maxRange=0.000000 + } + y2_axis { + maxRange=0.000000 + } +} +valuator { + object { + x=224 + y=425 + width=140 + height=30 + } + control { + chan="$(user):H1:setCurrentC" + clr=14 + bclr=51 + } + label="limits" + dPrecision=0.020000 + limits { + } +} +valuator { + object { + x=224 + y=465 + width=140 + height=30 + } + control { + chan="$(user):V1:setCurrentC" + clr=14 + bclr=51 + } + label="limits" + dPrecision=0.020000 + limits { + } +} +rectangle { + object { + x=182 + y=420 + width=880 + height=38 + } + "basic attribute" { + clr=50 + width=2 + } +} +rectangle { + object { + x=182 + y=459 + width=880 + height=40 + } + "basic attribute" { + clr=47 + width=2 + } +} +rectangle { + object { + x=129 + y=303 + width=883 + height=3 + } + "basic attribute" { + clr=9 + } +} +rectangle { + object { + x=173 + y=303 + width=840 + height=1 + } + "basic attribute" { + clr=6 + } +} +rectangle { + object { + x=173 + y=303 + width=840 + height=0 + } + "basic attribute" { + clr=4 + } +} +text { + object { + x=254 + y=404 + width=70 + height=20 + } + "basic attribute" { + clr=14 + fill="outline" + } + textix="H1/V1" + align="horiz. centered" +} +text { + object { + x=188 + y=432 + width=34 + height=14 + } + "basic attribute" { + clr=14 + width=2 + } + textix="<-->" +} +"text update" { + object { + x=932 + y=356 + width=60 + height=20 + } + monitor { + chan="$(user):PM5:X:positionM" + clr=61 + bclr=14 + } + clrmod="alarm" + align="horiz. right" + limits { + } +} +"text update" { + object { + x=932 + y=378 + width=60 + height=20 + } + monitor { + chan="$(user):PM5:Y:positionM" + clr=61 + bclr=14 + } + clrmod="alarm" + align="horiz. right" + limits { + } +} +text { + object { + x=914 + y=359 + width=10 + height=14 + } + "basic attribute" { + clr=14 + fill="outline" + } + textix="X-" +} +text { + object { + x=914 + y=380 + width=10 + height=14 + } + "basic attribute" { + clr=14 + fill="outline" + } + textix="Y-" +} +text { + object { + x=996 + y=381 + width=10 + height=12 + } + "basic attribute" { + clr=14 + fill="outline" + } + textix="mm" +} +"text update" { + object { + x=772 + y=356 + width=60 + height=20 + } + monitor { + chan="$(user):PM4:X:positionM" + clr=61 + bclr=14 + } + clrmod="alarm" + align="horiz. right" + limits { + } +} +"text update" { + object { + x=772 + y=378 + width=60 + height=20 + } + monitor { + chan="$(user):PM4:Y:positionM" + clr=61 + bclr=14 + } + clrmod="alarm" + align="horiz. right" + limits { + } +} +text { + object { + x=754 + y=359 + width=10 + height=14 + } + "basic attribute" { + clr=14 + fill="outline" + } + textix="X-" +} +text { + object { + x=754 + y=380 + width=10 + height=14 + } + "basic attribute" { + clr=14 + fill="outline" + } + textix="Y-" +} +text { + object { + x=835 + y=359 + width=10 + height=12 + } + "basic attribute" { + clr=14 + fill="outline" + } + textix="mm" +} +text { + object { + x=835 + y=381 + width=10 + height=12 + } + "basic attribute" { + clr=14 + fill="outline" + } + textix="mm" +} +"text update" { + object { + x=431 + y=356 + width=60 + height=20 + } + monitor { + chan="$(user):PM2:X:positionM" + clr=61 + bclr=14 + } + clrmod="alarm" + align="horiz. right" + limits { + } +} +"text update" { + object { + x=431 + y=378 + width=60 + height=20 + } + monitor { + chan="$(user):PM2:Y:positionM" + clr=61 + bclr=14 + } + clrmod="alarm" + align="horiz. right" + limits { + } +} +text { + object { + x=413 + y=359 + width=10 + height=14 + } + "basic attribute" { + clr=14 + fill="outline" + } + textix="X-" +} +text { + object { + x=413 + y=380 + width=10 + height=14 + } + "basic attribute" { + clr=14 + fill="outline" + } + textix="Y-" +} +text { + object { + x=493 + y=359 + width=10 + height=12 + } + "basic attribute" { + clr=14 + fill="outline" + } + textix="mm" +} +text { + object { + x=493 + y=381 + width=10 + height=12 + } + "basic attribute" { + clr=14 + fill="outline" + } + textix="mm" +} +"text update" { + object { + x=278 + y=356 + width=60 + height=20 + } + monitor { + chan="$(user):PM1:X:positionM" + clr=61 + bclr=14 + } + clrmod="alarm" + align="horiz. right" + limits { + } +} +"text update" { + object { + x=278 + y=378 + width=60 + height=20 + } + monitor { + chan="$(user):PM1:Y:positionM" + clr=61 + bclr=14 + } + clrmod="alarm" + align="horiz. right" + limits { + } +} +text { + object { + x=260 + y=359 + width=10 + height=14 + } + "basic attribute" { + clr=14 + fill="outline" + } + textix="X-" +} +text { + object { + x=260 + y=380 + width=10 + height=14 + } + "basic attribute" { + clr=14 + fill="outline" + } + textix="Y-" +} +text { + object { + x=342 + y=359 + width=10 + height=12 + } + "basic attribute" { + clr=14 + fill="outline" + } + textix="mm" +} +text { + object { + x=342 + y=381 + width=10 + height=12 + } + "basic attribute" { + clr=14 + fill="outline" + } + textix="mm" +} +text { + object { + x=777 + y=5 + width=122 + height=20 + } + "basic attribute" { + clr=27 + } + textix="X-Position (mm)" +} +text { + object { + x=954 + y=5 + width=122 + height=20 + } + "basic attribute" { + clr=48 + } + textix="Y-Position (mm)" +} +composite { + object { + x=129 + y=296 + width=1 + height=17 + } + "composite name"="" + children { + rectangle { + object { + x=130 + y=296 + width=1 + height=17 + } + "basic attribute" { + clr=12 + } + } + rectangle { + object { + x=130 + y=296 + width=1 + height=13 + } + "basic attribute" { + clr=10 + } + } + rectangle { + object { + x=130 + y=297 + width=1 + height=11 + } + "basic attribute" { + clr=8 + } + } + rectangle { + object { + x=130 + y=298 + width=1 + height=7 + } + "basic attribute" { + clr=6 + } + } + rectangle { + object { + x=130 + y=298 + width=1 + height=5 + } + "basic attribute" { + clr=4 + } + } + rectangle { + object { + x=129 + y=300 + width=1 + height=10 + } + "basic attribute" { + clr=2 + } + } + polyline { + object { + x=268435585 + y=1921432744 + width=2 + height=2 + } + "basic attribute" { + clr=14 + fill="outline" + width=1 + } + points { + } + } + } +} +composite { + object { + x=103 + y=293 + width=25 + height=24 + } + "composite name"="" + children { + rectangle { + object { + x=127 + y=299 + width=1 + height=9 + } + "basic attribute" { + clr=14 + } + } + rectangle { + object { + x=127 + y=299 + width=1 + height=8 + } + "basic attribute" { + clr=13 + } + } + rectangle { + object { + x=127 + y=299 + width=1 + height=8 + } + "basic attribute" { + clr=12 + } + } + rectangle { + object { + x=127 + y=299 + width=1 + height=7 + } + "basic attribute" { + clr=11 + } + } + rectangle { + object { + x=127 + y=299 + width=1 + height=7 + } + "basic attribute" { + clr=10 + } + } + rectangle { + object { + x=127 + y=299 + width=1 + height=7 + } + "basic attribute" { + clr=9 + } + } + rectangle { + object { + x=127 + y=299 + width=1 + height=7 + } + "basic attribute" { + clr=8 + } + } + rectangle { + object { + x=127 + y=299 + width=1 + height=7 + } + "basic attribute" { + clr=7 + } + } + rectangle { + object { + x=127 + y=299 + width=1 + height=6 + } + "basic attribute" { + clr=6 + } + } + rectangle { + object { + x=127 + y=299 + width=1 + height=6 + } + "basic attribute" { + clr=5 + } + } + rectangle { + object { + x=127 + y=300 + width=1 + height=5 + } + "basic attribute" { + clr=4 + } + } + rectangle { + object { + x=127 + y=300 + width=1 + height=4 + } + "basic attribute" { + clr=3 + } + } + rectangle { + object { + x=127 + y=300 + width=1 + height=3 + } + "basic attribute" { + clr=2 + } + } + rectangle { + object { + x=127 + y=300 + width=1 + height=3 + } + "basic attribute" { + clr=1 + } + } + rectangle { + object { + x=127 + y=301 + width=1 + height=0 + } + "basic attribute" { + clr=0 + } + } + rectangle { + object { + x=127 + y=299 + width=1 + height=9 + } + "basic attribute" { + clr=14 + fill="outline" + } + } + rectangle { + object { + x=127 + y=313 + width=0 + height=1 + } + "basic attribute" { + clr=14 + fill="outline" + } + } + rectangle { + object { + x=127 + y=306 + width=0 + height=1 + } + "basic attribute" { + clr=14 + fill="outline" + } + } + rectangle { + object { + x=127 + y=301 + width=0 + height=1 + } + "basic attribute" { + clr=14 + fill="outline" + } + } + rectangle { + object { + x=127 + y=309 + width=0 + height=1 + } + "basic attribute" { + clr=14 + fill="outline" + } + } + rectangle { + object { + x=127 + y=297 + width=0 + height=1 + } + "basic attribute" { + clr=14 + fill="outline" + } + } + rectangle { + object { + x=127 + y=311 + width=0 + height=1 + } + "basic attribute" { + clr=14 + fill="outline" + } + } + rectangle { + object { + x=106 + y=296 + width=16 + height=16 + } + "basic attribute" { + clr=14 + } + } + rectangle { + object { + x=106 + y=296 + width=16 + height=15 + } + "basic attribute" { + clr=49 + } + } + rectangle { + object { + x=106 + y=297 + width=16 + height=14 + } + "basic attribute" { + clr=48 + } + } + rectangle { + object { + x=106 + y=297 + width=16 + height=13 + } + "basic attribute" { + clr=59 + } + } + rectangle { + object { + x=106 + y=297 + width=16 + height=13 + } + "basic attribute" { + clr=58 + } + } + rectangle { + object { + x=106 + y=298 + width=16 + height=10 + } + "basic attribute" { + clr=57 + } + } + rectangle { + object { + x=106 + y=298 + width=16 + height=7 + } + "basic attribute" { + clr=56 + } + } + rectangle { + object { + x=106 + y=300 + width=16 + height=1 + } + "basic attribute" { + clr=55 + } + } + rectangle { + object { + x=106 + y=296 + width=16 + height=16 + } + "basic attribute" { + clr=49 + fill="outline" + } + } + rectangle { + object { + x=103 + y=293 + width=3 + height=24 + } + "basic attribute" { + clr=14 + } + } + rectangle { + object { + x=103 + y=293 + width=3 + height=22 + } + "basic attribute" { + clr=49 + } + } + rectangle { + object { + x=103 + y=293 + width=3 + height=21 + } + "basic attribute" { + clr=48 + } + } + rectangle { + object { + x=103 + y=293 + width=3 + height=19 + } + "basic attribute" { + clr=59 + } + } + rectangle { + object { + x=103 + y=294 + width=3 + height=17 + } + "basic attribute" { + clr=58 + } + } + rectangle { + object { + x=103 + y=296 + width=3 + height=14 + } + "basic attribute" { + clr=57 + } + } + rectangle { + object { + x=103 + y=296 + width=3 + height=9 + } + "basic attribute" { + clr=56 + } + } + rectangle { + object { + x=103 + y=297 + width=3 + height=3 + } + "basic attribute" { + clr=55 + } + } + rectangle { + object { + x=103 + y=293 + width=3 + height=24 + } + "basic attribute" { + clr=49 + fill="outline" + } + } + rectangle { + object { + x=125 + y=293 + width=1 + height=24 + } + "basic attribute" { + clr=14 + } + } + rectangle { + object { + x=125 + y=293 + width=1 + height=22 + } + "basic attribute" { + clr=49 + } + } + rectangle { + object { + x=125 + y=293 + width=1 + height=21 + } + "basic attribute" { + clr=48 + } + } + rectangle { + object { + x=125 + y=293 + width=1 + height=19 + } + "basic attribute" { + clr=59 + } + } + rectangle { + object { + x=125 + y=294 + width=1 + height=17 + } + "basic attribute" { + clr=58 + } + } + rectangle { + object { + x=125 + y=296 + width=1 + height=14 + } + "basic attribute" { + clr=57 + } + } + rectangle { + object { + x=125 + y=296 + width=1 + height=9 + } + "basic attribute" { + clr=56 + } + } + rectangle { + object { + x=125 + y=297 + width=1 + height=3 + } + "basic attribute" { + clr=55 + } + } + rectangle { + object { + x=125 + y=293 + width=1 + height=24 + } + "basic attribute" { + clr=49 + fill="outline" + } + } + rectangle { + object { + x=122 + y=293 + width=3 + height=24 + } + "basic attribute" { + clr=14 + } + } + rectangle { + object { + x=122 + y=293 + width=3 + height=22 + } + "basic attribute" { + clr=49 + } + } + rectangle { + object { + x=122 + y=293 + width=3 + height=21 + } + "basic attribute" { + clr=48 + } + } + rectangle { + object { + x=122 + y=293 + width=3 + height=19 + } + "basic attribute" { + clr=59 + } + } + rectangle { + object { + x=122 + y=294 + width=3 + height=17 + } + "basic attribute" { + clr=58 + } + } + rectangle { + object { + x=122 + y=296 + width=3 + height=14 + } + "basic attribute" { + clr=57 + } + } + rectangle { + object { + x=122 + y=296 + width=3 + height=9 + } + "basic attribute" { + clr=56 + } + } + rectangle { + object { + x=122 + y=297 + width=3 + height=3 + } + "basic attribute" { + clr=55 + } + } + rectangle { + object { + x=122 + y=293 + width=3 + height=24 + } + "basic attribute" { + clr=49 + fill="outline" + } + } + } +} +composite { + object { + x=300 + y=298 + width=8 + height=13 + } + "composite name"="" + children { + rectangle { + object { + x=300 + y=301 + width=8 + height=7 + } + "basic attribute" { + clr=14 + } + } + rectangle { + object { + x=303 + y=298 + width=3 + height=3 + } + "basic attribute" { + clr=14 + } + } + rectangle { + object { + x=303 + y=308 + width=3 + height=3 + } + "basic attribute" { + clr=14 + } + } + } +} +composite { + object { + x=286 + y=298 + width=11 + height=13 + } + "composite name"="" + children { + oval { + object { + x=286 + y=299 + width=11 + height=5 + } + "basic attribute" { + clr=20 + } + } + oval { + object { + x=286 + y=304 + width=11 + height=5 + } + "basic attribute" { + clr=20 + } + } + rectangle { + object { + x=289 + y=298 + width=6 + height=13 + } + "basic attribute" { + clr=3 + } + } + rectangle { + object { + x=289 + y=298 + width=6 + height=8 + } + "basic attribute" { + clr=2 + } + } + rectangle { + object { + x=289 + y=299 + width=6 + height=4 + } + "basic attribute" { + clr=1 + } + } + rectangle { + object { + x=289 + y=300 + width=6 + height=2 + } + "basic attribute" { + clr=0 + } + } + } +} +composite { + object { + x=438 + y=298 + width=11 + height=13 + } + "composite name"="" + children { + oval { + object { + x=438 + y=299 + width=11 + height=5 + } + "basic attribute" { + clr=20 + } + } + oval { + object { + x=438 + y=304 + width=11 + height=5 + } + "basic attribute" { + clr=20 + } + } + rectangle { + object { + x=441 + y=298 + width=6 + height=13 + } + "basic attribute" { + clr=3 + } + } + rectangle { + object { + x=441 + y=298 + width=6 + height=8 + } + "basic attribute" { + clr=2 + } + } + rectangle { + object { + x=441 + y=299 + width=6 + height=4 + } + "basic attribute" { + clr=1 + } + } + rectangle { + object { + x=441 + y=300 + width=6 + height=2 + } + "basic attribute" { + clr=0 + } + } + } +} +composite { + object { + x=451 + y=298 + width=8 + height=13 + } + "composite name"="" + children { + rectangle { + object { + x=451 + y=301 + width=8 + height=7 + } + "basic attribute" { + clr=14 + } + } + rectangle { + object { + x=454 + y=298 + width=3 + height=3 + } + "basic attribute" { + clr=14 + } + } + rectangle { + object { + x=454 + y=308 + width=3 + height=3 + } + "basic attribute" { + clr=14 + } + } + } +} +composite { + object { + x=604 + y=285 + width=6 + height=35 + } + "composite name"="" + children { + oval { + object { + x=604 + y=286 + width=6 + height=16 + } + "basic attribute" { + clr=16 + } + } + oval { + object { + x=604 + y=302 + width=6 + height=13 + } + "basic attribute" { + clr=16 + } + } + rectangle { + object { + x=604 + y=285 + width=5 + height=35 + } + "basic attribute" { + clr=54 + } + } + rectangle { + object { + x=604 + y=285 + width=5 + height=25 + } + "basic attribute" { + clr=53 + } + } + rectangle { + object { + x=604 + y=286 + width=5 + height=14 + } + "basic attribute" { + clr=52 + } + } + rectangle { + object { + x=604 + y=290 + width=5 + height=6 + } + "basic attribute" { + clr=51 + } + } + } +} +composite { + object { + x=610 + y=285 + width=9 + height=35 + } + "composite name"="" + children { + oval { + object { + x=610 + y=286 + width=9 + height=16 + } + "basic attribute" { + clr=16 + } + } + oval { + object { + x=610 + y=302 + width=9 + height=13 + } + "basic attribute" { + clr=16 + } + } + rectangle { + object { + x=611 + y=285 + width=8 + height=35 + } + "basic attribute" { + clr=54 + } + } + rectangle { + object { + x=611 + y=285 + width=8 + height=25 + } + "basic attribute" { + clr=53 + } + } + rectangle { + object { + x=611 + y=286 + width=8 + height=14 + } + "basic attribute" { + clr=52 + } + } + rectangle { + object { + x=611 + y=290 + width=8 + height=6 + } + "basic attribute" { + clr=51 + } + } + } +} +composite { + object { + x=619 + y=285 + width=8 + height=35 + } + "composite name"="" + children { + oval { + object { + x=619 + y=286 + width=8 + height=16 + } + "basic attribute" { + clr=16 + } + } + oval { + object { + x=619 + y=302 + width=8 + height=13 + } + "basic attribute" { + clr=16 + } + } + rectangle { + object { + x=621 + y=285 + width=5 + height=35 + } + "basic attribute" { + clr=54 + } + } + rectangle { + object { + x=621 + y=285 + width=5 + height=25 + } + "basic attribute" { + clr=53 + } + } + rectangle { + object { + x=621 + y=286 + width=5 + height=14 + } + "basic attribute" { + clr=52 + } + } + rectangle { + object { + x=621 + y=290 + width=5 + height=6 + } + "basic attribute" { + clr=51 + } + } + } +} +composite { + object { + x=627 + y=298 + width=11 + height=13 + } + "composite name"="" + children { + oval { + object { + x=627 + y=299 + width=11 + height=5 + } + "basic attribute" { + clr=20 + } + } + oval { + object { + x=627 + y=304 + width=11 + height=5 + } + "basic attribute" { + clr=20 + } + } + rectangle { + object { + x=630 + y=298 + width=6 + height=13 + } + "basic attribute" { + clr=3 + } + } + rectangle { + object { + x=630 + y=298 + width=6 + height=8 + } + "basic attribute" { + clr=2 + } + } + rectangle { + object { + x=630 + y=299 + width=6 + height=4 + } + "basic attribute" { + clr=1 + } + } + rectangle { + object { + x=630 + y=300 + width=6 + height=2 + } + "basic attribute" { + clr=0 + } + } + } +} +composite { + object { + x=639 + y=298 + width=8 + height=13 + } + "composite name"="" + children { + rectangle { + object { + x=639 + y=301 + width=8 + height=7 + } + "basic attribute" { + clr=14 + } + } + rectangle { + object { + x=642 + y=298 + width=3 + height=3 + } + "basic attribute" { + clr=14 + } + } + rectangle { + object { + x=642 + y=308 + width=3 + height=3 + } + "basic attribute" { + clr=14 + } + } + } +} +composite { + object { + x=793 + y=299 + width=8 + height=11 + } + "composite name"="" + children { + rectangle { + object { + x=793 + y=301 + width=8 + height=7 + } + "basic attribute" { + clr=14 + } + } + rectangle { + object { + x=796 + y=299 + width=3 + height=3 + } + "basic attribute" { + clr=14 + } + } + rectangle { + object { + x=796 + y=307 + width=3 + height=3 + } + "basic attribute" { + clr=14 + } + } + } +} +composite { + object { + x=778 + y=298 + width=11 + height=13 + } + "composite name"="" + children { + oval { + object { + x=778 + y=299 + width=11 + height=5 + } + "basic attribute" { + clr=20 + } + } + oval { + object { + x=778 + y=304 + width=11 + height=5 + } + "basic attribute" { + clr=20 + } + } + rectangle { + object { + x=781 + y=298 + width=6 + height=13 + } + "basic attribute" { + clr=3 + } + } + rectangle { + object { + x=781 + y=298 + width=6 + height=8 + } + "basic attribute" { + clr=2 + } + } + rectangle { + object { + x=781 + y=299 + width=6 + height=4 + } + "basic attribute" { + clr=1 + } + } + rectangle { + object { + x=781 + y=300 + width=6 + height=2 + } + "basic attribute" { + clr=0 + } + } + } +} +composite { + object { + x=952 + y=299 + width=8 + height=11 + } + "composite name"="" + children { + rectangle { + object { + x=952 + y=301 + width=8 + height=7 + } + "basic attribute" { + clr=14 + } + } + rectangle { + object { + x=955 + y=299 + width=3 + height=3 + } + "basic attribute" { + clr=14 + } + } + rectangle { + object { + x=955 + y=307 + width=3 + height=3 + } + "basic attribute" { + clr=14 + } + } + } +} +composite { + object { + x=937 + y=298 + width=11 + height=13 + } + "composite name"="" + children { + oval { + object { + x=937 + y=299 + width=11 + height=5 + } + "basic attribute" { + clr=20 + } + } + oval { + object { + x=937 + y=304 + width=11 + height=5 + } + "basic attribute" { + clr=20 + } + } + rectangle { + object { + x=940 + y=298 + width=6 + height=13 + } + "basic attribute" { + clr=3 + } + } + rectangle { + object { + x=940 + y=298 + width=6 + height=8 + } + "basic attribute" { + clr=2 + } + } + rectangle { + object { + x=940 + y=299 + width=6 + height=4 + } + "basic attribute" { + clr=1 + } + } + rectangle { + object { + x=940 + y=300 + width=6 + height=2 + } + "basic attribute" { + clr=0 + } + } + } +} +polyline { + object { + x=304 + y=314 + width=0 + height=7 + } + "basic attribute" { + clr=14 + fill="outline" + } + points { + (304,314) + (304,321) + } +} +composite { + object { + x=310 + y=301 + width=126 + height=8 + } + "composite name"="" + children { + rectangle { + object { + x=315 + y=301 + width=117 + height=8 + } + "basic attribute" { + clr=33 + } + } + rectangle { + object { + x=315 + y=301 + width=117 + height=6 + } + "basic attribute" { + clr=32 + } + } + rectangle { + object { + x=315 + y=302 + width=117 + height=4 + } + "basic attribute" { + clr=31 + } + } + rectangle { + object { + x=314 + y=301 + width=2 + height=7 + } + "basic attribute" { + clr=14 + fill="outline" + } + } + rectangle { + object { + x=310 + y=302 + width=4 + height=6 + } + "basic attribute" { + clr=14 + } + } + rectangle { + object { + x=430 + y=301 + width=2 + height=7 + } + "basic attribute" { + clr=14 + fill="outline" + } + } + rectangle { + object { + x=432 + y=302 + width=4 + height=6 + } + "basic attribute" { + clr=14 + } + } + } +} +composite { + object { + x=477 + y=301 + width=126 + height=8 + } + "composite name"="" + children { + rectangle { + object { + x=482 + y=301 + width=117 + height=8 + } + "basic attribute" { + clr=33 + } + } + rectangle { + object { + x=482 + y=301 + width=117 + height=6 + } + "basic attribute" { + clr=32 + } + } + rectangle { + object { + x=482 + y=302 + width=117 + height=4 + } + "basic attribute" { + clr=31 + } + } + rectangle { + object { + x=481 + y=301 + width=2 + height=7 + } + "basic attribute" { + clr=14 + fill="outline" + } + } + rectangle { + object { + x=477 + y=302 + width=4 + height=6 + } + "basic attribute" { + clr=14 + } + } + rectangle { + object { + x=597 + y=301 + width=2 + height=7 + } + "basic attribute" { + clr=14 + fill="outline" + } + } + rectangle { + object { + x=599 + y=302 + width=4 + height=6 + } + "basic attribute" { + clr=14 + } + } + } +} +composite { + object { + x=649 + y=300 + width=124 + height=8 + } + "composite name"="" + children { + rectangle { + object { + x=769 + y=302 + width=4 + height=4 + } + "basic attribute" { + clr=14 + } + } + rectangle { + object { + x=653 + y=300 + width=117 + height=8 + } + "basic attribute" { + clr=33 + } + } + rectangle { + object { + x=653 + y=300 + width=117 + height=6 + } + "basic attribute" { + clr=32 + } + } + rectangle { + object { + x=653 + y=301 + width=117 + height=4 + } + "basic attribute" { + clr=31 + } + } + rectangle { + object { + x=652 + y=300 + width=2 + height=7 + } + "basic attribute" { + clr=14 + fill="outline" + } + } + rectangle { + object { + x=649 + y=301 + width=4 + height=6 + } + "basic attribute" { + clr=14 + } + } + rectangle { + object { + x=768 + y=300 + width=2 + height=7 + } + "basic attribute" { + clr=14 + fill="outline" + } + } + rectangle { + object { + x=768 + y=300 + width=4 + height=6 + } + "basic attribute" { + clr=14 + } + } + } +} +composite { + object { + x=806 + y=301 + width=126 + height=8 + } + "composite name"="" + children { + rectangle { + object { + x=811 + y=301 + width=117 + height=8 + } + "basic attribute" { + clr=33 + } + } + rectangle { + object { + x=811 + y=301 + width=117 + height=6 + } + "basic attribute" { + clr=32 + } + } + rectangle { + object { + x=811 + y=302 + width=117 + height=4 + } + "basic attribute" { + clr=31 + } + } + rectangle { + object { + x=810 + y=301 + width=2 + height=7 + } + "basic attribute" { + clr=14 + fill="outline" + } + } + rectangle { + object { + x=806 + y=302 + width=4 + height=6 + } + "basic attribute" { + clr=14 + } + } + rectangle { + object { + x=925 + y=301 + width=2 + height=7 + } + "basic attribute" { + clr=14 + fill="outline" + } + } + rectangle { + object { + x=928 + y=302 + width=4 + height=6 + } + "basic attribute" { + clr=14 + } + } + } +} +"text update" { + object { + x=618 + y=356 + width=60 + height=20 + } + monitor { + chan="$(user):PM3:X:positionM" + clr=61 + bclr=14 + } + clrmod="alarm" + align="horiz. right" + limits { + } +} +"text update" { + object { + x=618 + y=378 + width=60 + height=20 + } + monitor { + chan="$(user):PM3:Y:positionM" + clr=61 + bclr=14 + } + clrmod="alarm" + align="horiz. right" + limits { + } +} +text { + object { + x=600 + y=359 + width=10 + height=14 + } + "basic attribute" { + clr=14 + fill="outline" + } + textix="X-" +} +text { + object { + x=600 + y=380 + width=10 + height=14 + } + "basic attribute" { + clr=14 + fill="outline" + } + textix="Y-" +} +text { + object { + x=682 + y=359 + width=10 + height=12 + } + "basic attribute" { + clr=14 + fill="outline" + } + textix="mm" +} +text { + object { + x=682 + y=381 + width=10 + height=12 + } + "basic attribute" { + clr=14 + fill="outline" + } + textix="mm" +} +text { + object { + x=996 + y=358 + width=10 + height=12 + } + "basic attribute" { + clr=14 + fill="outline" + } + textix="mm" +} +text { + object { + x=278 + y=270 + width=30 + height=12 + } + "basic attribute" { + clr=14 + fill="outline" + } + textix="H1/V1" + align="horiz. centered" +} +polyline { + object { + x=292 + y=281 + width=0 + height=15 + } + "basic attribute" { + clr=14 + fill="outline" + } + points { + (292,281) + (292,296) + } +} +text { + object { + x=429 + y=270 + width=30 + height=12 + } + "basic attribute" { + clr=14 + fill="outline" + } + textix="H2/V2" + align="horiz. centered" +} +polyline { + object { + x=443 + y=281 + width=0 + height=15 + } + "basic attribute" { + clr=14 + fill="outline" + } + points { + (443,281) + (443,296) + } +} +text { + object { + x=618 + y=270 + width=30 + height=12 + } + "basic attribute" { + clr=14 + fill="outline" + } + textix="H3/V3" + align="horiz. centered" +} +polyline { + object { + x=632 + y=281 + width=0 + height=15 + } + "basic attribute" { + clr=14 + fill="outline" + } + points { + (632,281) + (632,296) + } +} +text { + object { + x=769 + y=270 + width=30 + height=12 + } + "basic attribute" { + clr=14 + fill="outline" + } + textix="H4/V4" + align="horiz. centered" +} +polyline { + object { + x=783 + y=281 + width=0 + height=15 + } + "basic attribute" { + clr=14 + fill="outline" + } + points { + (783,281) + (783,296) + } +} +text { + object { + x=928 + y=270 + width=30 + height=12 + } + "basic attribute" { + clr=14 + fill="outline" + } + textix="H5/V5" + align="horiz. centered" +} +polyline { + object { + x=942 + y=281 + width=0 + height=15 + } + "basic attribute" { + clr=14 + fill="outline" + } + points { + (942,281) + (942,296) + } +} +composite { + object { + x=966 + y=295 + width=23 + height=19 + } + "composite name"="" + children { + rectangle { + object { + x=966 + y=299 + width=23 + height=12 + } + "basic attribute" { + clr=47 + } + } + rectangle { + object { + x=967 + y=295 + width=21 + height=19 + } + "basic attribute" { + clr=23 + } + } + rectangle { + object { + x=967 + y=296 + width=21 + height=14 + } + "basic attribute" { + clr=22 + } + } + rectangle { + object { + x=967 + y=298 + width=21 + height=10 + } + "basic attribute" { + clr=21 + } + } + rectangle { + object { + x=967 + y=299 + width=21 + height=4 + } + "basic attribute" { + clr=20 + } + } + } +} +text { + object { + x=963 + y=264 + width=30 + height=12 + } + "basic attribute" { + clr=14 + fill="outline" + } + textix="BM1" + align="horiz. centered" +} +polyline { + object { + x=977 + y=275 + width=0 + height=15 + } + "basic attribute" { + clr=14 + fill="outline" + } + points { + (977,275) + (977,290) + } +} +polyline { + object { + x=455 + y=314 + width=0 + height=7 + } + "basic attribute" { + clr=14 + fill="outline" + } + points { + (455,314) + (455,321) + } +} +polyline { + object { + x=644 + y=315 + width=0 + height=7 + } + "basic attribute" { + clr=14 + fill="outline" + } + points { + (644,315) + (644,322) + } +} +polyline { + object { + x=797 + y=314 + width=0 + height=7 + } + "basic attribute" { + clr=14 + fill="outline" + } + points { + (797,314) + (797,321) + } +} +polyline { + object { + x=957 + y=314 + width=0 + height=7 + } + "basic attribute" { + clr=14 + fill="outline" + } + points { + (957,314) + (957,321) + } +} +composite { + object { + x=249 + y=285 + width=6 + height=35 + } + "composite name"="" + children { + oval { + object { + x=249 + y=286 + width=6 + height=16 + } + "basic attribute" { + clr=16 + } + } + oval { + object { + x=249 + y=302 + width=6 + height=13 + } + "basic attribute" { + clr=16 + } + } + rectangle { + object { + x=249 + y=285 + width=5 + height=35 + } + "basic attribute" { + clr=54 + } + } + rectangle { + object { + x=249 + y=285 + width=5 + height=25 + } + "basic attribute" { + clr=53 + } + } + rectangle { + object { + x=249 + y=286 + width=5 + height=14 + } + "basic attribute" { + clr=52 + } + } + rectangle { + object { + x=249 + y=290 + width=5 + height=6 + } + "basic attribute" { + clr=51 + } + } + } +} +composite { + object { + x=255 + y=285 + width=9 + height=35 + } + "composite name"="" + children { + oval { + object { + x=255 + y=286 + width=9 + height=16 + } + "basic attribute" { + clr=16 + } + } + oval { + object { + x=255 + y=302 + width=9 + height=13 + } + "basic attribute" { + clr=16 + } + } + rectangle { + object { + x=256 + y=285 + width=8 + height=35 + } + "basic attribute" { + clr=54 + } + } + rectangle { + object { + x=256 + y=285 + width=8 + height=25 + } + "basic attribute" { + clr=53 + } + } + rectangle { + object { + x=256 + y=286 + width=8 + height=14 + } + "basic attribute" { + clr=52 + } + } + rectangle { + object { + x=256 + y=290 + width=8 + height=6 + } + "basic attribute" { + clr=51 + } + } + } +} +composite { + object { + x=264 + y=285 + width=8 + height=35 + } + "composite name"="" + children { + oval { + object { + x=264 + y=286 + width=8 + height=16 + } + "basic attribute" { + clr=16 + } + } + oval { + object { + x=264 + y=302 + width=8 + height=13 + } + "basic attribute" { + clr=16 + } + } + rectangle { + object { + x=266 + y=285 + width=5 + height=35 + } + "basic attribute" { + clr=54 + } + } + rectangle { + object { + x=266 + y=285 + width=5 + height=25 + } + "basic attribute" { + clr=53 + } + } + rectangle { + object { + x=266 + y=286 + width=5 + height=14 + } + "basic attribute" { + clr=52 + } + } + rectangle { + object { + x=266 + y=290 + width=5 + height=6 + } + "basic attribute" { + clr=51 + } + } + } +} +polyline { + object { + x=620 + y=271 + width=2 + height=12 + } + "basic attribute" { + clr=14 + width=2 + } + points { + } +} +text { + object { + x=297 + y=287 + width=20 + height=12 + } + "basic attribute" { + clr=14 + fill="outline" + } + textix="PM1" + align="horiz. centered" +} +text { + object { + x=445 + y=287 + width=20 + height=12 + } + "basic attribute" { + clr=14 + fill="outline" + } + textix="PM2" + align="horiz. centered" +} +text { + object { + x=635 + y=286 + width=20 + height=12 + } + "basic attribute" { + clr=14 + fill="outline" + } + textix="PM3" + align="horiz. centered" +} +text { + object { + x=788 + y=288 + width=20 + height=12 + } + "basic attribute" { + clr=14 + fill="outline" + } + textix="PM4" + align="horiz. centered" +} +text { + object { + x=946 + y=287 + width=20 + height=12 + } + "basic attribute" { + clr=14 + fill="outline" + } + textix="PM5" + align="horiz. centered" +} +text { + object { + x=1006 + y=288 + width=20 + height=12 + } + "basic attribute" { + clr=14 + fill="outline" + } + textix="FC1" + align="horiz. centered" +} +"text update" { + object { + x=26 + y=186 + width=65 + height=20 + } + monitor { + chan="$(user):cathodeTempM" + clr=61 + bclr=14 + } + clrmod="alarm" + align="horiz. right" + limits { + } +} +text { + object { + x=46 + y=151 + width=30 + height=16 + } + "basic attribute" { + clr=14 + fill="outline" + } + textix="Cathode" + align="horiz. centered" +} +polyline { + object { + x=1011 + y=266 + width=12 + height=12 + } + "basic attribute" { + clr=47 + fill="outline" + width=6 + } + points { + (1011,266) + (1023,278) + } +} +polyline { + object { + x=1011 + y=294 + width=6 + height=21 + } + "basic attribute" { + clr=47 + fill="outline" + width=6 + } + points { + (1014,297) + (1014,312) + } +} +text { + object { + x=1002 + y=254 + width=20 + height=12 + } + "basic attribute" { + clr=14 + fill="outline" + } + textix="FC2" + align="horiz. centered" +} +"text update" { + object { + x=278 + y=326 + width=60 + height=20 + } + monitor { + chan="$(user):PM1:intensityM" + clr=61 + bclr=14 + } + clrmod="alarm" + align="horiz. right" + limits { + } +} +text { + object { + x=260 + y=328 + width=10 + height=14 + } + "basic attribute" { + clr=14 + fill="outline" + } + textix="I-" +} +text { + object { + x=342 + y=329 + width=10 + height=12 + } + "basic attribute" { + clr=14 + fill="outline" + } + textix="mA" +} +"text update" { + object { + x=431 + y=326 + width=60 + height=20 + } + monitor { + chan="$(user):PM2:intensityM" + clr=61 + bclr=14 + } + clrmod="alarm" + align="horiz. right" + limits { + } +} +text { + object { + x=413 + y=328 + width=10 + height=14 + } + "basic attribute" { + clr=14 + fill="outline" + } + textix="I-" +} +text { + object { + x=493 + y=329 + width=10 + height=12 + } + "basic attribute" { + clr=14 + fill="outline" + } + textix="mA" +} +"text update" { + object { + x=618 + y=326 + width=60 + height=20 + } + monitor { + chan="$(user):PM3:intensityM" + clr=61 + bclr=14 + } + clrmod="alarm" + align="horiz. right" + limits { + } +} +text { + object { + x=600 + y=328 + width=10 + height=14 + } + "basic attribute" { + clr=14 + fill="outline" + } + textix="I-" +} +text { + object { + x=682 + y=329 + width=10 + height=12 + } + "basic attribute" { + clr=14 + fill="outline" + } + textix="mA" +} +"text update" { + object { + x=773 + y=326 + width=60 + height=20 + } + monitor { + chan="$(user):PM4:intensityM" + clr=61 + bclr=14 + } + clrmod="alarm" + align="horiz. right" + limits { + } +} +text { + object { + x=755 + y=328 + width=10 + height=14 + } + "basic attribute" { + clr=14 + fill="outline" + } + textix="I-" +} +text { + object { + x=836 + y=329 + width=10 + height=12 + } + "basic attribute" { + clr=14 + fill="outline" + } + textix="mA" +} +"text update" { + object { + x=932 + y=326 + width=60 + height=20 + } + monitor { + chan="$(user):PM5:intensityM" + clr=61 + bclr=14 + } + clrmod="alarm" + align="horiz. right" + limits { + } +} +text { + object { + x=914 + y=328 + width=10 + height=14 + } + "basic attribute" { + clr=14 + fill="outline" + } + textix="I-" +} +text { + object { + x=996 + y=329 + width=10 + height=12 + } + "basic attribute" { + clr=14 + fill="outline" + } + textix="mA" +} +"text update" { + object { + x=1028 + y=257 + width=60 + height=20 + } + monitor { + chan="$(user):FC2:intensityM" + clr=61 + bclr=14 + } + clrmod="alarm" + align="horiz. right" + limits { + } +} +text { + object { + x=1053 + y=278 + width=10 + height=12 + } + "basic attribute" { + clr=14 + fill="outline" + } + textix="mA" +} +"text update" { + object { + x=1028 + y=294 + width=60 + height=20 + } + monitor { + chan="$(user):FC1:intensityM" + clr=61 + bclr=14 + } + clrmod="alarm" + align="horiz. right" + limits { + } +} +text { + object { + x=1054 + y=316 + width=10 + height=12 + } + "basic attribute" { + clr=14 + fill="outline" + } + textix="mA" +} +composite { + object { + x=197 + y=298 + width=12 + height=12 + } + "composite name"="" + children { + rectangle { + object { + x=209 + y=299 + width=0 + height=11 + } + "basic attribute" { + clr=2 + } + } + rectangle { + object { + x=198 + y=298 + width=11 + height=12 + } + "basic attribute" { + clr=48 + } + } + rectangle { + object { + x=198 + y=298 + width=11 + height=9 + } + "basic attribute" { + clr=47 + } + } + rectangle { + object { + x=198 + y=298 + width=11 + height=7 + } + "basic attribute" { + clr=47 + } + } + rectangle { + object { + x=197 + y=299 + width=11 + height=5 + } + "basic attribute" { + clr=5 + } + } + rectangle { + object { + x=198 + y=300 + width=11 + height=3 + } + "basic attribute" { + clr=45 + } + } + } +} +text { + object { + x=195 + y=288 + width=20 + height=12 + } + "basic attribute" { + clr=14 + fill="outline" + } + textix="CM1" + align="horiz. centered" +} +"text update" { + object { + x=168 + y=326 + width=60 + height=20 + } + monitor { + chan="$(user):CM1:intensityM" + clr=61 + bclr=14 + } + clrmod="alarm" + align="horiz. right" + limits { + } +} +text { + object { + x=150 + y=328 + width=10 + height=14 + } + "basic attribute" { + clr=14 + fill="outline" + } + textix="I-" +} +text { + object { + x=231 + y=330 + width=10 + height=12 + } + "basic attribute" { + clr=14 + fill="outline" + } + textix="mA" +} +polyline { + object { + x=203 + y=313 + width=0 + height=7 + } + "basic attribute" { + clr=14 + fill="outline" + } + points { + (203,313) + (203,320) + } +} +text { + object { + x=175 + y=5 + width=122 + height=20 + } + "basic attribute" { + clr=20 + } + textix="Intensity (mA)" +} +"text update" { + object { + x=408 + y=241 + width=116 + height=20 + } + monitor { + chan="$(user):GV1:positionM" + clr=61 + bclr=14 + } + clrmod="alarm" + align="horiz. centered" + limits { + } +} +text { + object { + x=473 + y=264 + width=30 + height=12 + } + "basic attribute" { + clr=14 + fill="outline" + } + textix="GV1" + align="horiz. centered" +} +composite { + object { + x=195 + y=465 + width=17 + height=29 + } + "composite name"="" + children { + text { + object { + x=197 + y=471 + width=15 + height=15 + } + "basic attribute" { + clr=0 + width=2 + } + textix="|" + } + text { + object { + x=195 + y=482 + width=15 + height=12 + } + "basic attribute" { + clr=0 + width=2 + } + textix="\/" + } + text { + object { + x=195 + y=465 + width=15 + height=12 + } + "basic attribute" { + clr=0 + width=2 + } + textix="/\" + } + } +} +text { + object { + x=423 + y=404 + width=70 + height=20 + } + "basic attribute" { + clr=14 + fill="outline" + } + textix="H2/V2" +} +valuator { + object { + x=382 + y=425 + width=140 + height=30 + } + control { + chan="$(user):H2:setCurrentC" + clr=14 + bclr=51 + } + label="limits" + dPrecision=0.020000 + limits { + } +} +valuator { + object { + x=382 + y=465 + width=140 + height=30 + } + control { + chan="$(user):V2:setCurrentC" + clr=14 + bclr=51 + } + label="limits" + dPrecision=0.020000 + limits { + } +} +valuator { + object { + x=554 + y=425 + width=140 + height=30 + } + control { + chan="$(user):H3:setCurrentC" + clr=14 + bclr=51 + } + label="limits" + dPrecision=0.020000 + limits { + } +} +valuator { + object { + x=554 + y=465 + width=140 + height=30 + } + control { + chan="$(user):V3:setCurrentC" + clr=14 + bclr=51 + } + label="limits" + dPrecision=0.020000 + limits { + } +} +text { + object { + x=597 + y=404 + width=70 + height=20 + } + "basic attribute" { + clr=14 + fill="outline" + } + textix="H3/V3" +} +text { + object { + x=758 + y=404 + width=70 + height=20 + } + "basic attribute" { + clr=14 + fill="outline" + } + textix="H4/V4" +} +valuator { + object { + x=717 + y=425 + width=140 + height=30 + } + control { + chan="$(user):H4:setCurrentC" + clr=14 + bclr=51 + } + label="limits" + dPrecision=0.020000 + limits { + } +} +text { + object { + x=924 + y=404 + width=70 + height=20 + } + "basic attribute" { + clr=14 + fill="outline" + } + textix="H5/V5" +} +valuator { + object { + x=882 + y=425 + width=140 + height=30 + } + control { + chan="$(user):H5:setCurrentC" + clr=14 + bclr=51 + } + label="limits" + dPrecision=0.020000 + limits { + } +} +valuator { + object { + x=882 + y=465 + width=140 + height=30 + } + control { + chan="$(user):V5:setCurrentC" + clr=14 + bclr=51 + } + label="limits" + dPrecision=0.020000 + limits { + } +} +valuator { + object { + x=717 + y=465 + width=140 + height=30 + } + control { + chan="$(user):V4:setCurrentC" + clr=14 + bclr=51 + } + label="limits" + dPrecision=0.020000 + limits { + } +} +polyline { + object { + x=1 + y=505 + width=1209 + height=2 + } + "basic attribute" { + clr=14 + width=2 + } + points { + (2,506) + (1209,506) + } +} +text { + object { + x=223 + y=249 + width=154 + height=20 + } + "basic attribute" { + clr=21 + fill="outline" + } + "dynamic attribute" { + vis="if not zero" + chan="$(user):gunOnC" + } + textix="Beam On !!!" + align="horiz. centered" +} +"message button" { + object { + x=526 + y=240 + width=55 + height=17 + } + control { + chan="$(user):GV1:positionC" + clr=14 + bclr=51 + } + label="Close" + press_msg="0" +} +"message button" { + object { + x=526 + y=256 + width=55 + height=17 + } + control { + chan="$(user):GV1:positionC" + clr=14 + bclr=51 + } + label="Open" + press_msg="1" +} +"choice button" { + object { + x=157 + y=349 + width=80 + height=31 + } + control { + chan="$(user):gunOnC" + clr=14 + bclr=51 + } +} +valuator { + object { + x=5 + y=380 + width=137 + height=30 + } + control { + chan="$(user):cathodeCurrentC" + clr=14 + bclr=51 + } + label="limits" + dPrecision=0.020000 + limits { + } +} +bar { + object { + x=19 + y=211 + width=79 + height=167 + } + monitor { + chan="$(user):cathodeTempM" + clr=14 + bclr=2 + } + label="outline" + clrmod="alarm" + direction="up" + limits { + } +} +polyline { + object { + x=100 + y=256 + width=18 + height=0 + } + "basic attribute" { + clr=9 + } + points { + (100,256) + (118,256) + } +} +polyline { + object { + x=100 + y=268 + width=18 + height=0 + } + "basic attribute" { + clr=9 + } + points { + (100,268) + (118,268) + } +} +text { + object { + x=102 + y=258 + width=20 + height=12 + } + "basic attribute" { + clr=14 + fill="outline" + } + textix="Desired Range" +} +text { + object { + x=58 + y=413 + width=30 + height=16 + } + "basic attribute" { + clr=14 + fill="outline" + } + textix="Cathode Current" + align="horiz. centered" +} +text { + object { + x=51 + y=428 + width=30 + height=16 + } + "basic attribute" { + clr=14 + fill="outline" + } + textix="Control" + align="horiz. centered" +} +text { + object { + x=46 + y=169 + width=30 + height=16 + } + "basic attribute" { + clr=14 + fill="outline" + } + textix="Temperature" + align="horiz. centered" +} +valuator { + object { + x=1027 + y=332 + width=137 + height=30 + } + control { + chan="$(user):BM1:setCurrentC" + clr=14 + bclr=51 + } + label="limits" + dPrecision=0.020000 + limits { + } +} +text { + object { + x=1080 + y=365 + width=30 + height=16 + } + "basic attribute" { + clr=14 + fill="outline" + } + textix="BM1 Current" + align="horiz. centered" +} +text { + object { + x=1073 + y=380 + width=30 + height=16 + } + "basic attribute" { + clr=14 + fill="outline" + } + textix="Control" + align="horiz. centered" +} +"related display" { + object { + x=1083 + y=274 + width=124 + height=21 + } + display[0] { + name="linacStripChart.adl" + args="user=$(user)" + } + clr=14 + bclr=51 + label=" Trend Display" +} +"message button" { + object { + x=1134 + y=6 + width=66 + height=28 + } + control { + chan="$(user):initAllSQ" + clr=14 + bclr=51 + } + label="RESET" + press_msg="1" +} +"choice button" { + object { + x=1040 + y=518 + width=158 + height=42 + } + control { + chan="$(user):autoC" + clr=14 + bclr=51 + } +} +composite { + object { + x=355 + y=514 + width=580 + height=44 + } + "composite name"="" + children { + rectangle { + object { + x=355 + y=514 + width=580 + height=44 + } + "basic attribute" { + clr=53 + } + } + "text update" { + object { + x=365 + y=521 + width=563 + height=30 + } + monitor { + chan="$(user):OP:autoMsg" + clr=14 + bclr=2 + } + align="horiz. centered" + format="string" + limits { + } + } + } + "dynamic attribute" { + vis="if not zero" + chan="$(user):autoC" + } +} +image { + object { + x=101 + y=269 + width=35 + height=55 + } + type="gif" + "image name"="flame.gif" + calc="A" + "dynamic attribute" { + vis="calc" + calc="B>185" + chan="$(user):flameM" + chanB="$(user):cathodeTempM" + } +} +"related display" { + object { + x=3 + y=530 + width=160 + height=21 + } + display[0] { + name="medmDemo.adl" + args="user=$(user)" + } + clr=14 + bclr=51 + label=" MEDM Demo Display" +} diff --git a/src/makeBaseApp/top/vlinacApp/misc/Virtual_Linac_Info.pdf b/src/makeBaseApp/top/vlinacApp/misc/Virtual_Linac_Info.pdf new file mode 100644 index 0000000000000000000000000000000000000000..2b91ec4fc0f2d9df27dd8a614fffb83e85e7d58a GIT binary patch literal 23245 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 HPmlfs*GJes literal 0 HcmV?d00001 diff --git a/src/makeBaseApp/top/vlinacApp/misc/alarmDemo.adl b/src/makeBaseApp/top/vlinacApp/misc/alarmDemo.adl new file mode 100644 index 000000000..ed1a9e74e --- /dev/null +++ b/src/makeBaseApp/top/vlinacApp/misc/alarmDemo.adl @@ -0,0 +1,549 @@ + +file { + name="/home/phoebus/NDA/epics/vlinac/R3.14.3/vlinacApp/misc/alarmDemo.adl" + version=030003 +} +display { + object { + x=211 + y=74 + width=404 + height=551 + } + clr=9 + bclr=55 + cmap="" + gridSpacing=5 + gridOn=0 + snapToGrid=0 +} +"color map" { + ncolors=65 + colors { + ffffff, + ececec, + dadada, + c8c8c8, + bbbbbb, + aeaeae, + 9e9e9e, + 919191, + 858585, + 787878, + 696969, + 5a5a5a, + 464646, + 2d2d2d, + 000000, + 00d800, + 1ebb00, + 339900, + 2d7f00, + 216c00, + fd0000, + de1309, + be190b, + a01207, + 820400, + 5893ff, + 597ee1, + 4b6ec7, + 3a5eab, + 27548d, + fbf34a, + f9da3c, + eeb62b, + e19015, + cd6100, + ffb0ff, + d67fe2, + ae4ebc, + 8b1a96, + 610a75, + a4aaff, + 8793e2, + 6a73c1, + 4d52a4, + 343386, + c7bb6d, + b79d5c, + a47e3c, + 7d5627, + 58340f, + 99ffff, + 73dfff, + 4ea5f9, + 2a63e4, + 0a00b8, + ebf1b5, + d4db9d, + bbc187, + a6a462, + 8b8239, + 73ff6b, + 52da3b, + 3cb420, + 289315, + 1a7309, + } +} +text { + object { + x=3 + y=7 + width=352 + height=20 + } + "basic attribute" { + clr=14 + width=7 + } + textix="These PVs have alarm values set ..." +} +valuator { + object { + x=18 + y=83 + width=160 + height=40 + } + control { + chan="$(user):demo1AI" + clr=14 + bclr=51 + } + label="limits" + dPrecision=0.100000 + limits { + } +} +text { + object { + x=9 + y=31 + width=352 + height=14 + } + "basic attribute" { + clr=14 + width=7 + } + textix="They are intended to be used to experiment with alh" +} +text { + object { + x=9 + y=45 + width=352 + height=14 + } + "basic attribute" { + clr=14 + width=7 + } + textix="(the alarm handler). " +} +valuator { + object { + x=227 + y=84 + width=160 + height=40 + } + control { + chan="$(user):demo2AI" + clr=14 + bclr=51 + } + label="limits" + dPrecision=0.100000 + limits { + } +} +valuator { + object { + x=21 + y=169 + width=160 + height=40 + } + control { + chan="$(user):demo3AI" + clr=14 + bclr=51 + } + label="limits" + dPrecision=0.100000 + limits { + } +} +valuator { + object { + x=229 + y=169 + width=160 + height=40 + } + control { + chan="$(user):demo4AI" + clr=14 + bclr=51 + } + label="limits" + dPrecision=0.100000 + limits { + } +} +"text update" { + object { + x=76 + y=123 + width=56 + height=20 + } + monitor { + chan="$(user):demo1AI" + clr=14 + bclr=3 + } + clrmod="alarm" + align="horiz. centered" + limits { + } +} +"text update" { + object { + x=293 + y=124 + width=56 + height=20 + } + monitor { + chan="$(user):demo2AI" + clr=14 + bclr=3 + } + clrmod="alarm" + align="horiz. centered" + limits { + } +} +"text update" { + object { + x=80 + y=208 + width=56 + height=20 + } + monitor { + chan="$(user):demo3AI" + clr=14 + bclr=3 + } + clrmod="alarm" + align="horiz. centered" + limits { + } +} +"text update" { + object { + x=296 + y=208 + width=56 + height=20 + } + monitor { + chan="$(user):demo4AI" + clr=14 + bclr=3 + } + clrmod="alarm" + align="horiz. centered" + limits { + } +} +text { + object { + x=6 + y=331 + width=352 + height=14 + } + "basic attribute" { + clr=14 + width=7 + } + textix="Experiment with the capabilities of the Alarm Handler." +} +text { + object { + x=10 + y=353 + width=352 + height=14 + } + "basic attribute" { + clr=14 + width=7 + } + textix="> Collapse/Expand Group displays with the symbol." +} +text { + object { + x=29 + y=522 + width=352 + height=14 + } + "basic attribute" { + clr=14 + width=7 + } + textix="Refer to the User Manual for a complete tutorial." +} +"choice button" { + object { + x=15 + y=249 + width=384 + height=18 + } + control { + chan="$(user):demoMI" + clr=14 + bclr=51 + } + stacking="column" +} +"choice button" { + object { + x=180 + y=274 + width=66 + height=39 + } + control { + chan="$(user):demoBI" + clr=14 + bclr=51 + } +} +text { + object { + x=55 + y=69 + width=100 + height=14 + } + "basic attribute" { + clr=14 + width=7 + } + textix="$(user):demo1AI" + align="horiz. centered" +} +text { + object { + x=58 + y=155 + width=100 + height=14 + } + "basic attribute" { + clr=14 + width=7 + } + textix="$(user):demo3AI" + align="horiz. centered" +} +text { + object { + x=263 + y=155 + width=100 + height=14 + } + "basic attribute" { + clr=14 + width=7 + } + textix="$(user):demo4AI" + align="horiz. centered" +} +text { + object { + x=261 + y=69 + width=100 + height=14 + } + "basic attribute" { + clr=14 + width=7 + } + textix="$(user):demo2AI" + align="horiz. centered" +} +text { + object { + x=157 + y=234 + width=100 + height=14 + } + "basic attribute" { + clr=14 + width=7 + } + textix="$(user):demoMI" + align="horiz. centered" +} +text { + object { + x=79 + y=289 + width=100 + height=14 + } + "basic attribute" { + clr=14 + width=7 + } + textix="$(user):demoBI" + align="horiz. centered" +} +polygon { + object { + x=310 + y=353 + width=13 + height=14 + } + "basic attribute" { + clr=9 + width=7 + } + points { + (310,353) + (310,367) + (323,360) + (310,353) + } +} +text { + object { + x=10 + y=369 + width=352 + height=14 + } + "basic attribute" { + clr=14 + width=7 + } + textix="> Display PV's within a group by hitting the group name." +} +text { + object { + x=10 + y=385 + width=352 + height=14 + } + "basic attribute" { + clr=14 + width=7 + } + textix="> Acknowledge alarms by depressing the button to the" +} +text { + object { + x=22 + y=401 + width=352 + height=14 + } + "basic attribute" { + clr=14 + width=7 + } + textix="left of the Group name or PV name (entire groups may" +} +text { + object { + x=22 + y=417 + width=352 + height=14 + } + "basic attribute" { + clr=14 + width=7 + } + textix="acknowledged with one button press)." +} +text { + object { + x=10 + y=433 + width=352 + height=14 + } + "basic attribute" { + clr=14 + width=7 + } + textix="> Disable alarms for a PV (or group) by using the" +} +text { + object { + x=24 + y=449 + width=352 + height=14 + } + "basic attribute" { + clr=14 + width=7 + } + textix="Enable/Disable option from the " +} +text { + object { + x=24 + y=465 + width=352 + height=14 + } + "basic attribute" { + clr=14 + width=7 + } + textix="under the Action menu." +} +text { + object { + x=10 + y=481 + width=352 + height=14 + } + "basic attribute" { + clr=14 + width=7 + } + textix="> View the history files the Alarm Handler keeps by" +} +text { + object { + x=25 + y=497 + width=352 + height=14 + } + "basic attribute" { + clr=14 + width=7 + } + textix="using the View menu." +} diff --git a/src/makeBaseApp/top/vlinacApp/misc/flame.gif b/src/makeBaseApp/top/vlinacApp/misc/flame.gif new file mode 100644 index 0000000000000000000000000000000000000000..3687bbe155c5745363474844d608eb87ece9200a GIT binary patch literal 14054 zcmcJ$cT|(BI~AoKvCgqnl^2?Qj7l!%yw7D6%fD$+Yj7X*|NAXGyPNGFugRY0%~ zO79>b)kYBo%Q)E4QRmH^^UgWWZ>{h9{`#`6wbzrCm4EiN@4c_R_x)H|TN)YrDFI9X zUp4`700$sA2!I9v&>#RD%mD}u1;L?UG!%>l1F%p44$J`v$9aH)uuw1#3dO-eSU41i z1{1*mA{0P|0vw?LA{;>G0L=l2$oUBkC1U|ZESUT^ppIyOBO2uSw*@<5L7rHEC&%Id zj+~!xP){7#69*+?;bbhFh{ZYL(4IJW02&a0;{X(a14Q6J0XT2~4jP98#o@qlIA{bB z5I_V+5TOxdXdDp~M+T*kL2*QI92uNKhNd`z;vB C&g74Ish;i0A+^I)cox*a$~- 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 USCXFsmXUr@K`<+8OTdx;1E%6EkpKVy literal 0 HcmV?d00001 diff --git a/src/makeBaseApp/top/vlinacApp/misc/linacStripChart.adl b/src/makeBaseApp/top/vlinacApp/misc/linacStripChart.adl new file mode 100644 index 000000000..cebb266be --- /dev/null +++ b/src/makeBaseApp/top/vlinacApp/misc/linacStripChart.adl @@ -0,0 +1,170 @@ + +file { + name="/home/phoebus/NDA/epics/openhouse/medm/linacStripChart.adl" + version=020306 +} +display { + object { + x=208 + y=682 + width=924 + height=250 + } + clr=14 + bclr=55 + cmap="" + gridSpacing=5 + gridOn=0 + snapToGrid=0 +} +"color map" { + ncolors=65 + colors { + ffffff, + ececec, + dadada, + c8c8c8, + bbbbbb, + aeaeae, + 9e9e9e, + 919191, + 858585, + 787878, + 696969, + 5a5a5a, + 464646, + 2d2d2d, + 000000, + 00d800, + 1ebb00, + 339900, + 2d7f00, + 216c00, + fd0000, + de1309, + be190b, + a01207, + 820400, + 5893ff, + 597ee1, + 4b6ec7, + 3a5eab, + 27548d, + fbf34a, + f9da3c, + eeb62b, + e19015, + cd6100, + ffb0ff, + d67fe2, + ae4ebc, + 8b1a96, + 610a75, + a4aaff, + 8793e2, + 6a73c1, + 4d52a4, + 343386, + c7bb6d, + b79d5c, + a47e3c, + 7d5627, + 58340f, + 99ffff, + 73dfff, + 4ea5f9, + 2a63e4, + 0a00b8, + ebf1b5, + d4db9d, + bbc187, + a6a462, + 8b8239, + 73ff6b, + 52da3b, + 3cb420, + 289315, + 1a7309, + } +} +"strip chart" { + object { + x=2 + y=47 + width=922 + height=200 + } + plotcom { + title="Cathode Temperature" + xlabel="Seconds" + clr=14 + bclr=2 + } + period=300.000000 + pen[0] { + chan="$(user):CM1:intensityM" + clr=53 + limits { + loprSrc="default" + hoprSrc="default" + hoprDefault=48 + } + } + pen[1] { + chan="$(user):FC1:intensityM" + clr=20 + limits { + loprSrc="default" + hoprSrc="default" + hoprDefault=20 + } + } + pen[2] { + chan="$(user):FC2:intensityM" + clr=36 + limits { + loprSrc="default" + hoprSrc="default" + hoprDefault=20 + } + } +} +text { + object { + x=11 + y=19 + width=70 + height=20 + } + "basic attribute" { + clr=53 + fill="outline" + } + textix="BLUE: Current at beginning (CM1)" +} +text { + object { + x=574 + y=5 + width=70 + height=20 + } + "basic attribute" { + clr=20 + fill="outline" + } + textix="RED: Current at end (FC1)" +} +text { + object { + x=574 + y=26 + width=70 + height=20 + } + "basic attribute" { + clr=36 + fill="outline" + } + textix="Purple: Current at end (FC2)" +} diff --git a/src/makeBaseApp/top/vlinacApp/misc/medmDemo.adl b/src/makeBaseApp/top/vlinacApp/misc/medmDemo.adl new file mode 100644 index 000000000..009f51b37 --- /dev/null +++ b/src/makeBaseApp/top/vlinacApp/misc/medmDemo.adl @@ -0,0 +1,1383 @@ + +file { + name="/home/phoebus/NDA/epics/vlinac/R3.14.3/vlinacApp/misc/medmDemo.adl" + version=030003 +} +display { + object { + x=111 + y=45 + width=1010 + height=652 + } + clr=9 + bclr=55 + cmap="" + gridSpacing=5 + gridOn=0 + snapToGrid=0 +} +"color map" { + ncolors=65 + colors { + ffffff, + ececec, + dadada, + c8c8c8, + bbbbbb, + aeaeae, + 9e9e9e, + 919191, + 858585, + 787878, + 696969, + 5a5a5a, + 464646, + 2d2d2d, + 000000, + 00d800, + 1ebb00, + 339900, + 2d7f00, + 216c00, + fd0000, + de1309, + be190b, + a01207, + 820400, + 5893ff, + 597ee1, + 4b6ec7, + 3a5eab, + 27548d, + fbf34a, + f9da3c, + eeb62b, + e19015, + cd6100, + ffb0ff, + d67fe2, + ae4ebc, + 8b1a96, + 610a75, + a4aaff, + 8793e2, + 6a73c1, + 4d52a4, + 343386, + c7bb6d, + b79d5c, + a47e3c, + 7d5627, + 58340f, + 99ffff, + 73dfff, + 4ea5f9, + 2a63e4, + 0a00b8, + ebf1b5, + d4db9d, + bbc187, + a6a462, + 8b8239, + 73ff6b, + 52da3b, + 3cb420, + 289315, + 1a7309, + } +} +text { + object { + x=519 + y=5 + width=334 + height=20 + } + "basic attribute" { + clr=14 + width=7 + } + textix="To choose from a list of options ..." +} +text { + object { + x=536 + y=24 + width=268 + height=14 + } + "basic attribute" { + clr=14 + width=7 + } + textix="Push the left button on your selection " +} +text { + object { + x=537 + y=70 + width=244 + height=14 + } + "basic attribute" { + clr=14 + width=7 + } + textix="Push the left mouse button to display a " +} +text { + object { + x=7 + y=4 + width=352 + height=20 + } + "basic attribute" { + clr=14 + width=7 + } + textix="To control a `binary' (on/off) output ..." +} +text { + object { + x=26 + y=30 + width=352 + height=14 + } + "basic attribute" { + clr=14 + width=7 + } + textix="`Toggle' buttons change when the left mouse" +} +text { + object { + x=25 + y=75 + width=352 + height=14 + } + "basic attribute" { + clr=14 + width=7 + } + textix="`Momentary' buttons send `on' when the" +} +text { + object { + x=26 + y=48 + width=352 + height=14 + } + "basic attribute" { + clr=14 + width=7 + } + textix="button is depressed in an active area." +} +text { + object { + x=25 + y=95 + width=352 + height=14 + } + "basic attribute" { + clr=14 + width=7 + } + textix="left button is depressed, `0ff' when released." +} +text { + object { + x=3 + y=117 + width=352 + height=20 + } + "basic attribute" { + clr=14 + width=7 + } + textix="Current state can be displayed as ..." +} +text { + object { + x=109 + y=137 + width=70 + height=18 + } + "basic attribute" { + clr=14 + width=7 + } + textix="Text" + align="horiz. centered" +} +text { + object { + x=207 + y=149 + width=173 + height=18 + } + "basic attribute" { + clr=14 + width=7 + } + textix="Dynamic objects" + align="horiz. centered" +} +oval { + object { + x=364 + y=135 + width=50 + height=50 + } + "basic attribute" { + clr=3 + width=1 + } +} +polyline { + object { + x=418 + y=163 + width=20 + height=2 + } + "basic attribute" { + clr=14 + width=2 + } + points { + } +} +polyline { + object { + x=458 + y=163 + width=20 + height=2 + } + "basic attribute" { + clr=14 + width=2 + } + points { + } +} +text { + object { + x=537 + y=86 + width=244 + height=14 + } + "basic attribute" { + clr=14 + width=7 + } + textix="menu of choices. Select your choice by" +} +text { + object { + x=537 + y=102 + width=244 + height=14 + } + "basic attribute" { + clr=14 + width=7 + } + textix="releasing the button on your choice." +} +text { + object { + x=516 + y=122 + width=352 + height=20 + } + "basic attribute" { + clr=14 + width=7 + } + textix="Current state can be displayed as ..." +} +text { + object { + x=915 + y=119 + width=70 + height=18 + } + "basic attribute" { + clr=14 + width=7 + } + textix="Text" + align="horiz. centered" +} +text { + object { + x=648 + y=146 + width=162 + height=18 + } + "basic attribute" { + clr=14 + width=7 + } + textix="Button Panel" + align="horiz. centered" +} +text { + object { + x=2 + y=197 + width=352 + height=20 + } + "basic attribute" { + clr=9 + width=7 + } + textix="To adjust an `analog' value ..." +} +text { + object { + x=10 + y=215 + width=352 + height=14 + } + "basic attribute" { + clr=14 + width=7 + } + textix="Depress the left mouse button on the slider" +} +text { + object { + x=10 + y=233 + width=352 + height=14 + } + "basic attribute" { + clr=14 + width=7 + } + textix="and drag it while holding down the button." +} +text { + object { + x=10 + y=413 + width=352 + height=14 + } + "basic attribute" { + clr=14 + width=7 + } + textix="While the cursor is in the active slider region," +} +text { + object { + x=10 + y=429 + width=352 + height=14 + } + "basic attribute" { + clr=14 + width=7 + } + textix="use the left and right arrow keys on the keyboard" +} +text { + object { + x=10 + y=486 + width=352 + height=13 + } + "basic attribute" { + clr=14 + width=7 + } + textix="A value can also be typed in a `text entry' field" +} +text { + object { + x=400 + y=197 + width=352 + height=20 + } + "basic attribute" { + clr=14 + width=7 + } + textix="Current values can be displayed as ..." +} +text { + object { + x=631 + y=222 + width=70 + height=18 + } + "basic attribute" { + clr=14 + width=7 + } + textix="Text" + align="horiz. centered" +} +text { + object { + x=459 + y=217 + width=106 + height=18 + } + "basic attribute" { + clr=14 + width=7 + } + textix="Indicator" + align="horiz. centered" +} +text { + object { + x=449 + y=283 + width=70 + height=18 + } + "basic attribute" { + clr=14 + width=7 + } + textix="Meter" + align="horiz. centered" +} +text { + object { + x=779 + y=197 + width=171 + height=18 + } + "basic attribute" { + clr=14 + width=7 + } + textix="Bar Graphs" + align="horiz. centered" +} +text { + object { + x=745 + y=282 + width=171 + height=18 + } + "basic attribute" { + clr=14 + width=7 + } + textix="Strip Chart" + align="horiz. centered" +} +oval { + object { + x=364 + y=135 + width=50 + height=50 + } + "basic attribute" { + clr=16 + width=1 + } + "dynamic attribute" { + vis="if not zero" + chan="$(user):demoBI" + } +} +polyline { + object { + x=435 + y=147 + width=25 + height=2 + } + "basic attribute" { + clr=14 + width=2 + } + "dynamic attribute" { + vis="if zero" + chan="$(user):demoBI" + } + points { + } +} +polyline { + object { + x=435 + y=163 + width=25 + height=2 + } + "basic attribute" { + clr=14 + width=2 + } + "dynamic attribute" { + vis="if not zero" + chan="$(user):demoBI" + } + points { + } +} +"text update" { + object { + x=105 + y=153 + width=80 + height=31 + } + monitor { + chan="$(user):demoBI" + clr=14 + bclr=1 + } + limits { + } +} +"text update" { + object { + x=898 + y=138 + width=111 + height=20 + } + monitor { + chan="$(user):demoMI" + clr=9 + bclr=1 + } + align="horiz. centered" + limits { + } +} +"text update" { + object { + x=623 + y=243 + width=82 + height=22 + } + monitor { + chan="$(user):demoAI" + clr=9 + bclr=1 + } + align="horiz. centered" + limits { + } +} +indicator { + object { + x=406 + y=235 + width=198 + height=32 + } + monitor { + chan="$(user):demoAI" + clr=16 + bclr=1 + } + label="outline" + limits { + } +} +meter { + object { + x=404 + y=300 + width=159 + height=82 + } + monitor { + chan="$(user):demoAI" + clr=16 + bclr=1 + } + label="limits" + limits { + } +} +bar { + object { + x=720 + y=216 + width=266 + height=60 + } + monitor { + chan="$(user):demoAI" + clr=27 + bclr=1 + } + label="limits" + limits { + } +} +bar { + object { + x=935 + y=297 + width=67 + height=106 + } + monitor { + chan="$(user):demoAI" + clr=16 + bclr=1 + } + label="outline" + direction="up" + limits { + } +} +"choice button" { + object { + x=551 + y=42 + width=420 + height=22 + } + control { + chan="$(user):demoMI" + clr=14 + bclr=51 + } + stacking="column" +} +menu { + object { + x=828 + y=76 + width=118 + height=30 + } + control { + chan="$(user):demoMI" + clr=14 + bclr=51 + } +} +"choice button" { + object { + x=359 + y=27 + width=66 + height=39 + } + control { + chan="$(user):demoBI" + clr=14 + bclr=51 + } +} +"message button" { + object { + x=357 + y=74 + width=71 + height=32 + } + control { + chan="$(user):demoBI" + clr=14 + bclr=51 + } + label="ON" + press_msg="1" + release_msg="0" +} +"choice button" { + object { + x=551 + y=164 + width=420 + height=22 + } + control { + chan="$(user):demoMI" + clr=14 + bclr=32 + } + stacking="column" +} +valuator { + object { + x=33 + y=255 + width=236 + height=42 + } + control { + chan="$(user):demoAI" + clr=14 + bclr=51 + } + label="limits" + dPrecision=0.100000 + limits { + } +} +"text entry" { + object { + x=112 + y=504 + width=135 + height=30 + } + control { + chan="$(user):demoAI" + clr=14 + bclr=51 + } + limits { + } +} +"strip chart" { + object { + x=718 + y=299 + width=202 + height=82 + } + plotcom { + title="Trend display" + clr=14 + bclr=1 + } + delay=1.000000 + units="second" + pen[0] { + chan="$(user):demoAI" + clr=27 + limits { + } + } +} +text { + object { + x=10 + y=303 + width=352 + height=14 + } + "basic attribute" { + clr=14 + width=7 + } + textix="Depress the left mouse button in the active slider " +} +text { + object { + x=10 + y=319 + width=352 + height=14 + } + "basic attribute" { + clr=14 + width=7 + } + textix="region, to the left of the slider to decrement;" +} +text { + object { + x=10 + y=446 + width=352 + height=14 + } + "basic attribute" { + clr=14 + width=7 + } + textix="to increment or decrement the setting. Depress the" +} +text { + object { + x=10 + y=462 + width=352 + height=14 + } + "basic attribute" { + clr=14 + width=7 + } + textix="control key to increment by a larger amount." +} +"cartesian plot" { + object { + x=576 + y=284 + width=120 + height=100 + } + plotcom { + title="XY Plot" + clr=14 + bclr=1 + } + erase_oldest="plot last n pts" + count="3" + trace[0] { + xdata="$(user):demoAI" + ydata="$(user):demoCC" + data_clr=20 + } + x_axis { + maxRange=0.000000 + } + y1_axis { + maxRange=10.000000 + } + y2_axis { + maxRange=0.000000 + } +} +text { + object { + x=602 + y=269 + width=70 + height=18 + } + "basic attribute" { + clr=14 + width=7 + } + textix="XY Plot" + align="horiz. centered" +} +rectangle { + object { + x=-1 + y=188 + width=1020 + height=4 + } + "basic attribute" { + clr=9 + width=7 + } +} +rectangle { + object { + x=505 + y=0 + width=4 + height=190 + } + "basic attribute" { + clr=9 + width=7 + } +} +text { + object { + x=381 + y=421 + width=352 + height=20 + } + "basic attribute" { + clr=14 + width=7 + } + textix="To call up a related display ..." +} +text { + object { + x=392 + y=473 + width=244 + height=14 + } + "basic attribute" { + clr=14 + width=7 + } + textix="releasing the button on your choice. Use" +} +text { + object { + x=392 + y=457 + width=244 + height=14 + } + "basic attribute" { + clr=14 + width=7 + } + textix="menu of choices. Select your choice by" +} +text { + object { + x=392 + y=441 + width=244 + height=14 + } + "basic attribute" { + clr=14 + width=7 + } + textix="Push the left mouse button to display a " +} +"related display" { + object { + x=491 + y=505 + width=87 + height=29 + } + display[0] { + label="Virtual LINAC" + name="Virtual_Linac.adl" + args="user=$(user)" + } + display[1] { + label="Alarm Values" + name="alarmDemo.adl" + args="user=$(user)" + } + clr=14 + bclr=51 +} +rectangle { + object { + x=374 + y=190 + width=4 + height=356 + } + "basic attribute" { + clr=9 + width=7 + } +} +rectangle { + object { + x=376 + y=415 + width=640 + height=4 + } + "basic attribute" { + clr=9 + width=7 + } +} +text { + object { + x=10 + y=389 + width=352 + height=14 + } + "basic attribute" { + clr=14 + width=7 + } + textix="sensitivity of the slider, or to type in a value." +} +text { + object { + x=10 + y=373 + width=352 + height=14 + } + "basic attribute" { + clr=14 + width=7 + } + textix="Depress the right mouse button to modify the " +} +text { + object { + x=10 + y=335 + width=352 + height=14 + } + "basic attribute" { + clr=14 + width=7 + } + textix="to the right of the slider to increment. Hold down" +} +text { + object { + x=10 + y=351 + width=352 + height=14 + } + "basic attribute" { + clr=14 + width=7 + } + textix="left button to auto-increment/decrement." +} +text { + object { + x=539 + y=397 + width=200 + height=14 + } + "basic attribute" { + clr=14 + width=7 + } + textix="on the XY plot to change axis range" + align="horiz. centered" +} +text { + object { + x=534 + y=385 + width=210 + height=14 + } + "basic attribute" { + clr=14 + width=7 + } + textix="Depress the right mouse button" + align="horiz. centered" +} +rectangle { + object { + x=707 + y=416 + width=4 + height=130 + } + "basic attribute" { + clr=9 + width=7 + } +} +text { + object { + x=716 + y=420 + width=200 + height=20 + } + "basic attribute" { + clr=14 + width=7 + } + textix="To exit a display ..." +} +text { + object { + x=713 + y=456 + width=244 + height=14 + } + "basic attribute" { + clr=14 + width=7 + } + textix="area of the screen (not in a slider, text" +} +text { + object { + x=713 + y=442 + width=244 + height=14 + } + "basic attribute" { + clr=14 + width=7 + } + textix="Push the right mouse button in an inactive" +} +text { + object { + x=713 + y=471 + width=244 + height=14 + } + "basic attribute" { + clr=14 + width=7 + } + textix="entry, menu, etc). Drag down the menu to" +} +text { + object { + x=713 + y=486 + width=244 + height=14 + } + "basic attribute" { + clr=14 + width=7 + } + textix="select 'close' and release the button." +} +text { + object { + x=713 + y=501 + width=244 + height=14 + } + "basic attribute" { + clr=14 + width=7 + } + textix="Select 'print' to print the display to " +} +text { + object { + x=713 + y=516 + width=244 + height=14 + } + "basic attribute" { + clr=14 + width=7 + } + textix="the default printer." +} +text { + object { + x=390 + y=487 + width=244 + height=14 + } + "basic attribute" { + clr=14 + width=7 + } + textix="the menu below to call up additional demos." +} +rectangle { + object { + x=-6 + y=542 + width=1020 + height=4 + } + "basic attribute" { + clr=9 + width=7 + } +} +text { + object { + x=6 + y=559 + width=200 + height=20 + } + "basic attribute" { + clr=14 + width=7 + } + textix="Animated GIFs ..." +} +image { + object { + x=64 + y=584 + width=35 + height=55 + } + type="gif" + "image name"="flame.gif" + calc="A" + "dynamic attribute" { + calc="B>185" + chan="$(user):demoAI" + } +} +byte { + object { + x=205 + y=597 + width=206 + height=32 + } + monitor { + chan="$(user):demoMI" + clr=33 + bclr=4 + } + sbit=3 +} +text { + object { + x=203 + y=561 + width=200 + height=20 + } + "basic attribute" { + clr=14 + width=7 + } + textix="Byte Monitor ..." +} +text { + object { + x=544 + y=635 + width=188 + height=14 + } + "basic attribute" { + clr=54 + } + textix="http://www.aps.anl.gov/epics/extensions/medm/index.php" +} +text { + object { + x=609 + y=618 + width=200 + height=20 + } + "basic attribute" { + clr=14 + width=7 + } + textix="Complete MEDM Manual ..." +} +rectangle { + object { + x=187 + y=543 + width=4 + height=110 + } + "basic attribute" { + clr=9 + width=7 + } +} +rectangle { + object { + x=430 + y=542 + width=4 + height=110 + } + "basic attribute" { + clr=9 + width=7 + } +} +rectangle { + object { + x=431 + y=599 + width=580 + height=4 + } + "basic attribute" { + clr=9 + width=7 + } +} +text { + object { + x=440 + y=549 + width=200 + height=20 + } + "basic attribute" { + clr=14 + width=7 + } + textix="PV Name Drag & Drop ..." +} +"text entry" { + object { + x=695 + y=548 + width=278 + height=24 + } + control { + chan="$(user):demoSI" + clr=14 + bclr=2 + } + format="string" + limits { + } +} +text { + object { + x=440 + y=571 + width=580 + height=14 + } + "basic attribute" { + clr=14 + width=7 + } + textix="Push the middle mouse button on any active widget to view the associated PV name. an inactive" +} +text { + object { + x=440 + y=585 + width=580 + height=14 + } + "basic attribute" { + clr=14 + width=7 + } + textix="Drag & Drop the PV name into the above text entry window." +} diff --git a/src/makeBaseApp/top/vlinacApp/src/Makefile b/src/makeBaseApp/top/vlinacApp/src/Makefile new file mode 100644 index 000000000..3ef10b924 --- /dev/null +++ b/src/makeBaseApp/top/vlinacApp/src/Makefile @@ -0,0 +1,37 @@ +TOP=../.. + +include $(TOP)/configure/CONFIG +#---------------------------------------- +# ADD MACRO DEFINITIONS AFTER THIS LINE +#============================= + +# build an ioc application + +PROD_IOC = vlinac +# .dbd will be created from Include.dbd +DBD += vlinac.dbd + +# _registerRecordDeviceDriver.cpp will be created from .dbd +vlinac_SRCS += vlinac_registerRecordDeviceDriver.cpp +vlinac_SRCS_DEFAULT += vlinacMain.cpp +vlinac_SRCS_vxWorks += -nil- + +# The following adds support from base/src/vxWorks +vlinac_OBJS_vxWorks += $(EPICS_BASE_BIN)/vxComLibrary + +# The following builds sequence programs as a component of vlinac +# To build .st files, SNCSEQ must be defined in /configure/RELEASE +# Also in _APPNAME_Include.dbd uncomment #registrar(Registrar) lines +#vlinac_SRCS += beamTrajectory.st +#vlinac_SRCS += autoControl.st +#vlinac_SRCS += stabilizer.st +#vlinac_LIBS += seq pv + +vlinac_LIBS += $(EPICS_BASE_IOC_LIBS) + +#=========================== + +include $(TOP)/configure/RULES +#---------------------------------------- +# ADD RULES AFTER THIS LINE + diff --git a/src/makeBaseApp/top/vlinacApp/src/autoControl.st b/src/makeBaseApp/top/vlinacApp/src/autoControl.st new file mode 100644 index 000000000..3105294fe --- /dev/null +++ b/src/makeBaseApp/top/vlinacApp/src/autoControl.st @@ -0,0 +1,316 @@ +program autoControl + +option -c; /* don't wait for all channels to connect */ +option +r; /* reentrant */ + +short mode; +assign mode to "{user}:autoC"; +monitor mode; + +short htrMon; +assign htrMon to "{user}:cathodeTempM"; +monitor htrMon; + +string msg; +assign msg to "{user}:OP:autoMsg"; + +float htr; +assign htr to "{user}:cathodeCurrentC"; + +short beamOn; +assign beamOn to "{user}:gunOnC"; + +short gv1; +assign gv1 to "{user}:GV1:positionC"; + +short h1Scan; +assign h1Scan to "{user}A:H1:setCurrentC.SCAN"; + +short v1Scan; +assign v1Scan to "{user}A:V1:setCurrentC.SCAN"; + +short h2Scan; +assign h2Scan to "{user}A:H2:setCurrentC.SCAN"; + +short v2Scan; +assign v2Scan to "{user}A:V2:setCurrentC.SCAN"; + +short h3Scan; +assign h3Scan to "{user}A:H3:setCurrentC.SCAN"; + +short v3Scan; +assign v3Scan to "{user}A:V3:setCurrentC.SCAN"; + +short h4Scan; +assign h4Scan to "{user}A:H4:setCurrentC.SCAN"; + +short v4Scan; +assign v4Scan to "{user}A:V4:setCurrentC.SCAN"; + +short h5Scan; +assign h5Scan to "{user}A:H5:setCurrentC.SCAN"; + +short v5Scan; +assign v5Scan to "{user}A:V5:setCurrentC.SCAN"; + +float h1A; +assign h1A to "{user}A:H1:setCurrentC"; + +float v1A; +assign v1A to "{user}A:V1:setCurrentC"; + +float h2A; +assign h2A to "{user}A:H2:setCurrentC"; + +float v2A; +assign v2A to "{user}A:V2:setCurrentC"; + +float h3A; +assign h3A to "{user}A:H3:setCurrentC"; + +float v3A; +assign v3A to "{user}A:V3:setCurrentC"; + +float h4A; +assign h4A to "{user}A:H4:setCurrentC"; + +float v4A; +assign v4A to "{user}A:V4:setCurrentC"; + +float h5A; +assign h5A to "{user}A:H5:setCurrentC"; + +float v5A; +assign v5A to "{user}A:V5:setCurrentC"; + +float h1AR; +assign h1AR to "{user}A:H1:setCurrentC.OROC"; + +float v1AR; +assign v1AR to "{user}A:V1:setCurrentC.OROC"; + +float h2AR; +assign h2AR to "{user}A:H2:setCurrentC.OROC"; + +float v2AR; +assign v2AR to "{user}A:V2:setCurrentC.OROC"; + +float h3AR; +assign h3AR to "{user}A:H3:setCurrentC.OROC"; + +float v3AR; +assign v3AR to "{user}A:V3:setCurrentC.OROC"; + +float h4AR; +assign h4AR to "{user}A:H4:setCurrentC.OROC"; + +float v4AR; +assign v4AR to "{user}A:V4:setCurrentC.OROC"; + +float h5AR; +assign h5AR to "{user}A:H5:setCurrentC.OROC"; + +float v5AR; +assign v5AR to "{user}A:V5:setCurrentC.OROC"; + + +%%#include + +ss autoCtlSS +{ +state init + { + when() + { + h1Scan = 0; + v1Scan = 0; + h2Scan = 0; + v2Scan = 0; + h3Scan = 0; + v3Scan = 0; + h4Scan = 0; + v4Scan = 0; + h5Scan = 0; + v5Scan = 0; + pvPut(h1Scan); + pvPut(v1Scan); + pvPut(h2Scan); + pvPut(v2Scan); + pvPut(h3Scan); + pvPut(v3Scan); + pvPut(h4Scan); + pvPut(v4Scan); + pvPut(h5Scan); + pvPut(v5Scan); +%% epicsThreadSleep(.5); + mode = 0; + pvPut(mode); +%% epicsThreadSleep(.1); + } state waitForAuto + } + + +state waitForAuto + { + when(mode) + { + beamOn = 0; + pvPut(beamOn); + gv1 = 0; + pvPut(gv1); + + h1AR = 0; + v1AR = 0; + h2AR = 0; + v2AR = 0; + h3AR = 0; + v3AR = 0; + h4AR = 0; + v4AR = 0; + h5AR = 0; + v5AR = 0; + pvPut(h1AR); + pvPut(v1AR); + pvPut(h2AR); + pvPut(v2AR); + pvPut(h3AR); + pvPut(v3AR); + pvPut(h4AR); + pvPut(v4AR); + pvPut(h5AR); + pvPut(v5AR); +%% epicsThreadSleep(.1); + + h1A = 0; + v1A = 0; + h2A = 0; + v2A = 0; + h3A = 0; + v3A = 0; + h4A = 0; + v4A = 0; + h5A = 0; + v5A = 0; + pvPut(h1A); + pvPut(v1A); + pvPut(h2A); + pvPut(v2A); + pvPut(h3A); + pvPut(v3A); + pvPut(h4A); + pvPut(v4A); + pvPut(h5A); + pvPut(v5A); +%% epicsThreadSleep(.2); + + h1AR = 0.1; + v1AR = 0.1; + h2AR = 0.1; + v2AR = 0.1; + h3AR = 0.1; + v3AR = 0.1; + h4AR = 0.1; + v4AR = 0.1; + h5AR = 0.1; + v5AR = 0.1; + pvPut(h1AR); + pvPut(v1AR); + pvPut(h2AR); + pvPut(v2AR); + pvPut(h3AR); + pvPut(v3AR); + pvPut(h4AR); + pvPut(v4AR); + pvPut(h5AR); + pvPut(v5AR); +%% epicsThreadSleep(.2); + + sprintf(msg,"Optimizing Cathode Temperature"); + pvPut(msg); + htr = 12.3; + pvPut(htr); +%% epicsThreadSleep(3); + } state waitForHtr + } + +state waitForHtr + { + when(htrMon > 153) + { + sprintf(msg,"Turning Beam On"); + pvPut(msg); +%% epicsThreadSleep(2); + beamOn = 1; + pvPut(beamOn); + + h1Scan = 9; + v1Scan = 9; + h2Scan = 9; + v2Scan = 9; + h3Scan = 9; + v3Scan = 9; + h4Scan = 9; + v4Scan = 9; + h5Scan = 9; + v5Scan = 9; + pvPut(h1Scan); + pvPut(v1Scan); + pvPut(h2Scan); + pvPut(v2Scan); + pvPut(h3Scan); + pvPut(v3Scan); + pvPut(h4Scan); + pvPut(v4Scan); + pvPut(h5Scan); + pvPut(v5Scan); +%% epicsThreadSleep(3); + + h1A = -1.31; + v1A = 1.79; + h2A = 2.67; + v2A = -1.39; + h3A = -1.68; + v3A = -.8; + h4A = 1.63; + v4A = .1; + h5A = -1.83; + v5A = 2.21; + sprintf(msg,"Optimizing H1/V1 Steering"); + pvPut(msg); + pvPut(h1A); + pvPut(v1A); +%% epicsThreadSleep(3); + sprintf(msg,"Optimizing H2/V2 Steering"); + pvPut(msg); + pvPut(h2A); + pvPut(v2A); +%% epicsThreadSleep(3); + sprintf(msg,"Opening Gate Valve"); + pvPut(msg); +%% epicsThreadSleep(2); + gv1 = 1; + pvPut(gv1); +%% epicsThreadSleep(3); + sprintf(msg,"Optimizing H3/V3 Steering"); + pvPut(msg); + pvPut(h3A); + pvPut(v3A); +%% epicsThreadSleep(3); + sprintf(msg,"Optimizing H4/V4 Steering"); + pvPut(msg); + pvPut(h4A); + pvPut(v4A); +%% epicsThreadSleep(3); + sprintf(msg,"Optimizing H5/V5 Steering"); + pvPut(msg); + pvPut(h5A); + pvPut(v5A); +%% epicsThreadSleep(3); + sprintf(msg,"Optimization Complete"); + pvPut(msg); +%% epicsThreadSleep(4); + } state init + } + +} + diff --git a/src/makeBaseApp/top/vlinacApp/src/beamTrajectory.st b/src/makeBaseApp/top/vlinacApp/src/beamTrajectory.st new file mode 100644 index 000000000..3b30c8a66 --- /dev/null +++ b/src/makeBaseApp/top/vlinacApp/src/beamTrajectory.st @@ -0,0 +1,251 @@ +program beamTrajectory + +option -c; /* don't wait for all channels to connect */ +option +r; /* reentrant */ + +double CM1_I; +assign CM1_I to "{user}:CM1:intensityM"; +monitor CM1_I; + +double PM1_X; +assign PM1_X to "{user}:PM1:X:positionM"; +monitor PM1_X; + +double PM1_Y; +assign PM1_Y to "{user}:PM1:Y:positionM"; +monitor PM1_Y; + +double PM1_I; +assign PM1_I to "{user}:PM1:intensityM"; +monitor PM1_I; + +double PM2_X; +assign PM2_X to "{user}:PM2:X:positionM"; +monitor PM2_X; + +double PM2_Y; +assign PM2_Y to "{user}:PM2:Y:positionM"; +monitor PM2_Y; + +double PM2_I; +assign PM2_I to "{user}:PM2:intensityM"; +monitor PM2_I; + +double PM3_X; +assign PM3_X to "{user}:PM3:X:positionM"; +monitor PM3_X; + +double PM3_Y; +assign PM3_Y to "{user}:PM3:Y:positionM"; +monitor PM3_Y; + +double PM3_I; +assign PM3_I to "{user}:PM3:intensityM"; +monitor PM3_I; + +double PM4_X; +assign PM4_X to "{user}:PM4:X:positionM"; +monitor PM4_X; + +double PM4_Y; +assign PM4_Y to "{user}:PM4:Y:positionM"; +monitor PM4_Y; + +double PM4_I; +assign PM4_I to "{user}:PM4:intensityM"; +monitor PM4_I; + +double PM5_X; +assign PM5_X to "{user}:PM5:X:positionM"; +monitor PM5_X; + +double PM5_Y; +assign PM5_Y to "{user}:PM5:Y:positionM"; +monitor PM5_Y; + +double PM5_I; +assign PM5_I to "{user}:PM5:intensityM"; +monitor PM5_I; + +double FC1_I; +assign FC1_I to "{user}:FC1:intensityM"; +monitor FC1_I; + +double FC2_I; +assign FC2_I to "{user}:FC2:intensityM"; +monitor FC2_I; + +double xPosWf[8]; +assign xPosWf to "{user}:PM:xTrajectoryWF"; + +double yPosWf[8]; +assign yPosWf to "{user}:PM:yTrajectoryWF"; + +double iWf[8]; +assign iWf to "{user}:PM:iTrajectoryWF"; + +double bpmLocations[8]; +assign bpmLocations to "{user}:PM:distancesWF"; + +double refLocations[2]; +assign refLocations to "{user}:PM:refLocationsWF"; + +double refHi[2]; +assign refHi to "{user}:PM:referenceHiWF"; + +double refLo[2]; +assign refLo to "{user}:PM:referenceLoWF"; + +double bpmFixedLocations[13]; + +short i; /* index into LI waveforms */ +short cBpm; /* bpm under consideration */ + +ss bpmTrajectorySS +{ +state init + { + when() + { + /* BPM Position from EGUN */ + bpmFixedLocations[0] = 0.0; + bpmFixedLocations[1] = 2.4; + bpmFixedLocations[2] = 9.0; + bpmFixedLocations[3] = 20.0; + bpmFixedLocations[4] = 33.0; + bpmFixedLocations[5] = 44.0; + bpmFixedLocations[6] = 54,5; + bpmFixedLocations[7] = 58.0; + + refLocations[0] = 0; + refLocations[1] = 60; + pvPut(refLocations); + + refHi[0] = 1.0; + refHi[1] = 1.0; + refLo[0] = -1.0; + refLo[1] = -1.0; + + pvPut(refHi); + pvPut(refLo); + + } state waitToPlot + } + + +state waitToPlot + { + when(delay(1.0)) + { + } state plot + } + +state plot + { + when() + { + i=7; + cBpm=7; + /* include reading if > threshold */ + if (FC1_I > 1.0) { + xPosWf[i] = PM5_X; + yPosWf[i] = PM5_Y; + iWf[i] = FC1_I; + bpmLocations[i] = bpmFixedLocations[cBpm]; + i--; + } + else if(FC2_I > 1.0) { + xPosWf[i] = PM5_X; + yPosWf[i] = PM5_Y; + iWf[i] = FC2_I; + bpmLocations[i] = bpmFixedLocations[cBpm]; + i--; + } + else if(PM5_X != 0.0) { + xPosWf[i] = PM5_X; + yPosWf[i] = PM5_Y; + iWf[i] = 0; + bpmLocations[i] = bpmFixedLocations[cBpm]; + i--; + } + + cBpm--; + + if (PM5_X != 0.0) { + xPosWf[i] = PM5_X; + yPosWf[i] = PM5_Y; + iWf[i] = PM5_I; + bpmLocations[i] = bpmFixedLocations[cBpm]; + i--; + } + cBpm--; + + if (PM4_X != 0.0) { + xPosWf[i] = PM4_X; + yPosWf[i] = PM4_Y; + iWf[i] = PM4_I; + bpmLocations[i] = bpmFixedLocations[cBpm]; + i--; + } + cBpm--; + + if (PM3_X != 0.0) { + xPosWf[i] = PM3_X; + yPosWf[i] = PM3_Y; + iWf[i] = PM3_I; + bpmLocations[i] = bpmFixedLocations[cBpm]; + i--; + } + cBpm--; + + if (PM2_X != 0.0) { + xPosWf[i] = PM2_X; + yPosWf[i] = PM2_Y; + iWf[i] = PM2_I; + bpmLocations[i] = bpmFixedLocations[cBpm]; + i--; + } + cBpm--; + + if (PM1_X != 0.0) { + xPosWf[i] = PM1_X; + yPosWf[i] = PM1_Y; + iWf[i] = PM1_I; + bpmLocations[i] = bpmFixedLocations[cBpm]; + i--; + } + + cBpm--; + if (CM1_I > 1.0) { + xPosWf[i] = 0; + yPosWf[i] = 0; + iWf[i] = CM1_I; + bpmLocations[i] = bpmFixedLocations[cBpm]; + i--; + xPosWf[i] = 0; + yPosWf[i] = 0; + iWf[i] = CM1_I; + bpmLocations[i] = bpmFixedLocations[cBpm-1]; + i--; + } + + /* fill in unplotted points on top of last point */ + while (i>=0) + { + xPosWf[i] = 0; + yPosWf[i] = 0; + iWf[i] = CM1_I; + bpmLocations[i] = 0; + i--; + } + + pvPut(xPosWf); + pvPut(yPosWf); + pvPut(iWf); + pvPut(bpmLocations); + + } state waitToPlot + } + +} + diff --git a/src/makeBaseApp/top/vlinacApp/src/stabilizer.st b/src/makeBaseApp/top/vlinacApp/src/stabilizer.st new file mode 100644 index 000000000..9276fea4d --- /dev/null +++ b/src/makeBaseApp/top/vlinacApp/src/stabilizer.st @@ -0,0 +1,47 @@ +program stabilizer + +short enableButton; +assign enableButton to "{user}:OP:stabilizerC"; +monitor enableButton; + +float cathodeTemp; +assign cathodeTemp to "{user}:cathodeTempM"; +monitor cathodeTemp; + +float cathodeCurrent; +assign cathodeCurrent to "{user}:cathodeCurrentC"; + +string statusMsg; +assign statusMsg to "{user}:OP:stabilizeMsg"; + +ss stabilizerSS1 +{ + state init + { + when(1) + { + } state waitForEnable + } + + + state waitForEnable + { + when(enableButton) + { + printf("Starting Stabilizer\n"); + } state stabilize + } + + state stabilize + { + when(!enableButton) + { + printf("Stopping Stabilizer\n"); + } state waitForEnable + + when(delay(.5)) + { + printf("Stabilizing\n"); + } state stabilize + } +} diff --git a/src/makeBaseApp/top/vlinacApp/src/vlinacInclude.dbd b/src/makeBaseApp/top/vlinacApp/src/vlinacInclude.dbd new file mode 100644 index 000000000..303a4ec25 --- /dev/null +++ b/src/makeBaseApp/top/vlinacApp/src/vlinacInclude.dbd @@ -0,0 +1,4 @@ +include "base.dbd" +#registrar(beamTrajectoryRegistrar) +#registrar(autoControlRegistrar) +#registrar(stabilizerRegistrar) diff --git a/src/makeBaseApp/top/vlinacApp/src/vlinacMain.cpp b/src/makeBaseApp/top/vlinacApp/src/vlinacMain.cpp new file mode 100644 index 000000000..b04ec9661 --- /dev/null +++ b/src/makeBaseApp/top/vlinacApp/src/vlinacMain.cpp @@ -0,0 +1,21 @@ +/* vlinacMain.cpp */ +/* Author: Marty Kraimer Date: 17MAR2000 */ + +#include +#include +#include +#include +#include + +#include "epicsThread.h" +#include "iocsh.h" + +int main(int argc,char *argv[]) +{ + if(argc>=2) { + iocsh(argv[1]); + epicsThreadSleep(.2); + } + iocsh(NULL); + return(0); +}