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 000000000..2b91ec4fc Binary files /dev/null and b/src/makeBaseApp/top/vlinacApp/misc/Virtual_Linac_Info.pdf differ 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 000000000..3687bbe15 Binary files /dev/null and b/src/makeBaseApp/top/vlinacApp/misc/flame.gif differ 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); +}