Removed vlinac, not really a template.

This commit is contained in:
Andrew Johnson
2004-05-26 17:40:59 +00:00
parent 5ecb0738c5
commit 36809d6d20
29 changed files with 0 additions and 8896 deletions
-30
View File
@@ -79,36 +79,6 @@ TEMPLATES += top/iocBoot/ioc/st.cmd@Common
TEMPLATES += top/iocBoot/ioc/st.cmd@vxWorks
TEMPLATES += top/iocBoot/ioc/st.cmd@RTEMS
TEMPLATES += top/vlinacApp/Makefile
TEMPLATES += top/vlinacApp/src/Makefile
TEMPLATES += top/vlinacApp/src/autoControl.st
TEMPLATES += top/vlinacApp/src/beamTrajectory.st
TEMPLATES += top/vlinacApp/src/stabilizer.st
TEMPLATES += top/vlinacApp/src/vlinacBase.dbd
TEMPLATES += top/vlinacApp/src/vlinacSeq.dbd
TEMPLATES += top/vlinacApp/src/vlinacMain.cpp
TEMPLATES += top/vlinacApp/Db/Makefile
TEMPLATES += top/vlinacApp/Db/xxMedmDemo.db
TEMPLATES += top/vlinacApp/Db/xxVirtualLinac.db
TEMPLATES += top/vlinacApp/misc/README
TEMPLATES += top/vlinacApp/misc/Virtual_Linac.adl
TEMPLATES += top/vlinacApp/misc/Virtual_Linac_Info.pdf
TEMPLATES += top/vlinacApp/misc/alarmDemo.adl
TEMPLATES += top/vlinacApp/misc/flame.gif
TEMPLATES += top/vlinacApp/misc/linacStripChart.adl
TEMPLATES += top/vlinacApp/misc/medmDemo.adl
TEMPLATES += top/vlinacBoot/Makefile
TEMPLATES += top/vlinacBoot/ioc/Makefile@Common
TEMPLATES += top/vlinacBoot/ioc/Makefile@vxWorks
TEMPLATES += top/vlinacBoot/ioc/README@Common
TEMPLATES += top/vlinacBoot/ioc/README@RTEMS
TEMPLATES += top/vlinacBoot/ioc/README@vxWorks
TEMPLATES += top/vlinacBoot/ioc/st.cmd@Common
TEMPLATES += top/vlinacBoot/ioc/st.cmd@RTEMS
TEMPLATES += top/vlinacBoot/ioc/st.cmd@vxWorks
TEMPLATES += top/vlinacBoot/nfsCommands@vxWorks
SCRIPTS_HOST += makeBaseApp.pl
include $(TOP)/configure/RULES
-23
View File
@@ -1,23 +0,0 @@
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 <anyname>.db template is not named <anyname>*.template add
# <anyname>_TEMPLATE = <templatename>
include $(TOP)/configure/RULES
#----------------------------------------
# ADD RULES AFTER THIS LINE
@@ -1,341 +0,0 @@
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 ...")
}
@@ -1,861 +0,0 @@
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(bi,"$(user):trajSeqOnC") {
field(DESC, "Trajectory Sequence running")
field(INP, "0")
field(DTYP,"Soft Channel")
field(ZNAM,"Not Running")
field(ONAM,"Running")
}
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(ao,"$(user)A:H1:setCurrentC") {
field(DESC,"set output current")
field(PREC,"2")
field(EGU,"Amps")
field(DRVH,"5")
field(DRVL,"-5")
field(HOPR,"5")
field(LOPR,"-5")
field(OROC,".1")
field(OUT,"$(user):H1:setCurrentC.VAL PP NMS")
}
record(ao,"$(user)A:V1:setCurrentC") {
field(DESC,"set output current")
field(PREC,"2")
field(EGU,"Amps")
field(DRVH,"5")
field(DRVL,"-5")
field(HOPR,"5")
field(LOPR,"-5")
field(OROC,".1")
field(OUT,"$(user):V1:setCurrentC.VAL PP NMS")
}
record(ao,"$(user)A:H2:setCurrentC") {
field(DESC,"set output current")
field(PREC,"2")
field(EGU,"Amps")
field(DRVH,"5")
field(DRVL,"-5")
field(HOPR,"5")
field(LOPR,"-5")
field(OROC,".1")
field(OUT,"$(user):H2:setCurrentC.VAL PP NMS")
}
record(ao,"$(user)A:V2:setCurrentC") {
field(DESC,"set output current")
field(PREC,"2")
field(EGU,"Amps")
field(DRVH,"5")
field(DRVL,"-5")
field(HOPR,"5")
field(LOPR,"-5")
field(OROC,".1")
field(OUT,"$(user):V2:setCurrentC.VAL PP NMS")
}
record(ao,"$(user)A:H3:setCurrentC") {
field(DESC,"set output current")
field(PREC,"2")
field(EGU,"Amps")
field(DRVH,"5")
field(DRVL,"-5")
field(HOPR,"5")
field(LOPR,"-5")
field(OROC,".1")
field(OUT,"$(user):H3:setCurrentC.VAL PP NMS")
}
record(ao,"$(user)A:V3:setCurrentC") {
field(DESC,"set output current")
field(PREC,"2")
field(EGU,"Amps")
field(DRVH,"5")
field(DRVL,"-5")
field(HOPR,"5")
field(LOPR,"-5")
field(OROC,".1")
field(OUT,"$(user):V3:setCurrentC.VAL PP NMS")
}
record(ao,"$(user)A:H4:setCurrentC") {
field(DESC,"set output current")
field(PREC,"2")
field(EGU,"Amps")
field(DRVH,"5")
field(DRVL,"-5")
field(HOPR,"5")
field(LOPR,"-5")
field(OROC,".1")
field(OUT,"$(user):H4:setCurrentC.VAL PP NMS")
}
record(ao,"$(user)A:V4:setCurrentC") {
field(DESC,"set output current")
field(PREC,"2")
field(EGU,"Amps")
field(DRVH,"5")
field(DRVL,"-5")
field(HOPR,"5")
field(LOPR,"-5")
field(OROC,".1")
field(OUT,"$(user):V4:setCurrentC.VAL PP NMS")
}
record(ao,"$(user)A:H5:setCurrentC") {
field(DESC,"set output current")
field(PREC,"2")
field(EGU,"Amps")
field(DRVH,"5")
field(DRVL,"-5")
field(HOPR,"5")
field(LOPR,"-5")
field(OROC,".1")
field(OUT,"$(user):H5:setCurrentC.VAL PP NMS")
}
record(ao,"$(user)A:V5:setCurrentC") {
field(DESC,"set output current")
field(PREC,"2")
field(EGU,"Amps")
field(DRVH,"5")
field(DRVL,"-5")
field(HOPR,"5")
field(LOPR,"-5")
field(OROC,".1")
field(OUT,"$(user):V5:setCurrentC.VAL PP NMS")
}
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,"Sequencer program not running")
}
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")
}
-8
View File
@@ -1,8 +0,0 @@
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
-30
View File
@@ -1,30 +0,0 @@
Virtual LINAC Demo
The Virtual LINAC Demo is an EPICS ioc application that simulates
an electron beam progressing down a LINAC. Several steering coils,
BPMs, and other typical accelerator components are simulated.
See Virtual_Linac_Info.pdf for a complete explanation.
For full functionality the sequencer module and a two
sequence programs must be built and loaded. The raw template
has these items commented out because the sequencer is not
part of base. The following steps must be accomplished:
- Uncomment the SNCSEQ definition line in
configure/RELEASE and define the link to the location
where the sequencer was installed.
- Rebuild the entire application and start (reboot) the ioc
This directory (misc) contains additional files to compliment
the virtual linac demo application.
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
File diff suppressed because it is too large Load Diff
@@ -1,549 +0,0 @@
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."
}
Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

@@ -1,170 +0,0 @@
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)"
}
File diff suppressed because it is too large Load Diff
@@ -1,39 +0,0 @@
TOP=../..
include $(TOP)/configure/CONFIG
#----------------------------------------
# ADD MACRO DEFINITIONS AFTER THIS LINE
#=============================
# build an ioc application
PROD_IOC = vlinac
DBD += vlinac.dbd
vlinac_DBD = vlinacBase.dbd
# <name>_registerRecordDeviceDriver.cpp will be created from <name>.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 <top>/configure/RELEASE
ifdef SNCSEQ
vlinac_SRCS += beamTrajectory.st
vlinac_SRCS += autoControl.st
vlinac_SRCS += stabilizer.st
vlinac_LIBS += seq pv
vlinac_DBD += vlinacSeq.dbd
endif
vlinac_LIBS += $(EPICS_BASE_IOC_LIBS)
#===========================
include $(TOP)/configure/RULES
#----------------------------------------
# ADD RULES AFTER THIS LINE
@@ -1,316 +0,0 @@
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 <epicsThread.h>
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
}
}
@@ -1,258 +0,0 @@
program beamTrajectory
option -c; /* don't wait for all channels to connect */
option +r; /* reentrant */
short seqRunning;
assign seqRunning to "{user}:trajSeqOnC";
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()
{
/* Indicate sequence is running */
seqRunning = 1;
pvPut(seqRunning);
/* 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
}
}
@@ -1,47 +0,0 @@
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
}
}
@@ -1 +0,0 @@
include "base.dbd"
@@ -1,21 +0,0 @@
/* vlinacMain.cpp */
/* Author: Marty Kraimer Date: 17MAR2000 */
#include <stddef.h>
#include <stdlib.h>
#include <stddef.h>
#include <string.h>
#include <stdio.h>
#include "epicsThread.h"
#include "iocsh.h"
int main(int argc,char *argv[])
{
if(argc>=2) {
iocsh(argv[1]);
epicsThreadSleep(.2);
}
iocsh(NULL);
return(0);
}
@@ -1,3 +0,0 @@
registrar(beamTrajectoryRegistrar)
registrar(autoControlRegistrar)
registrar(stabilizerRegistrar)
-3
View File
@@ -1,3 +0,0 @@
TOP = ..
include $(TOP)/configure/CONFIG
include $(TOP)/configure/RULES.iocBoot
@@ -1,5 +0,0 @@
TOP = ../..
include $(TOP)/configure/CONFIG
ARCH = _ARCH_
TARGETS = envPaths
include $(TOP)/configure/RULES.ioc
@@ -1,5 +0,0 @@
TOP = ../..
include $(TOP)/configure/CONFIG
ARCH = _ARCH_
TARGETS = cdCommands
include $(TOP)/configure/RULES.ioc
@@ -1,9 +0,0 @@
To start the ioc from this directory execute the command
../../bin/_ARCH_/<appname> st.cmd
Alternatively make the st.cmd file directly executable with
chmod +x st.cmd
and check the executable name on the first line of the st.cmd file
You may need to change the name of the .dbd file given in the
st.cmd's dbLoadDatabase() command before starting the ioc.
@@ -1,6 +0,0 @@
Copy the startup script (st.cmd) and top level db and dbd directories and
contents to
<<TFTP_ROOT>>/epics/<<IOC hostname>>/
Then load the executable into the IOC (floppy disk, network boot, debugger,
etc.) and start it.
@@ -1,22 +0,0 @@
#!../../bin/_ARCH_/_APPNAME_
## You may have to change _APPNAME_ to something else
## everywhere it appears in this file
< envPaths
## Register all support components
dbLoadDatabase("../../dbd/_APPNAME_.dbd")
_APPNAME__registerRecordDeviceDriver(pdbbase)
## Load record instances
dbLoadRecords("../../db/xxMedmDemo.db","user=_USER_")
dbLoadRecords("../../db/xxVirtualLinac.db","user=_USER_")
iocInit()
## Start any sequence programs
seq &beamTrajectory, "user=_USER_"
seq &autoControl, "user=_USER_"
seq &stabilizer, "user=_USER_"
@@ -1,22 +0,0 @@
## Example RTEMS startup script
## You may have to change _APPNAME_ to something else
## everywhere it appears in this file
#< envPaths
## Register all support components
dbLoadDatabase("dbd/_APPNAME_.dbd")
_APPNAME__registerRecordDeviceDriver(pdbbase)
## Load record instances
dbLoadRecords("db/xxMedmDemo.db","user=_USER_")
dbLoadRecords("db/xxVirtualLinac.db","user=_USER_")
iocInit()
## Start any sequence programs
#seq &beamTrajectory, "user=_USER_"
#seq &autoControl, "user=_USER_"
#seq &stabilizer, "user=_USER_"
@@ -1,35 +0,0 @@
## Example vxWorks startup file
## The following is needed if your board support package doesn't at boot time
## automatically cd to the directory containing its startup script
#cd "_TOP_/iocBoot/_IOC_"
< cdCommands
#< ../nfsCommands
cd topbin
## You may have to change _APPNAME_ to something else
## everywhere it appears in this file
ld < _APPNAME_.munch
## This drvTS initializer is needed if the IOC has a hardware event system
#TSinit
## Register all support components
cd top
dbLoadDatabase("dbd/_APPNAME_.dbd",0,0)
_APPNAME__registerRecordDeviceDriver(pdbbase)
## Load record instances
dbLoadRecords("db/xxMedmDemo.db","user=_USER_")
dbLoadRecords("db/xxVirtualLinac.db","user=_USER_")
cd startup
iocInit()
## Start any sequence programs
#seq &beamTrajectory, "user=_USER_"
#seq &autoControl, "user=_USER_"
#seq &stabilizer, "user=_USER_"
@@ -1,28 +0,0 @@
#Instructions for creating and using a real nfsCommands file
#
# in order to use nfs do the following:
# 1) Create hostAdd and nfsMountAll commands for each nfs server
# 2) In each st.cmd file add the following two commands BEFORE any load commands
# ../nfs.cmd
# cd "<iocname>
#
# The hostAdd and nfsMountAll commands have the form:
# hostAdd("<host>","xxx.xxx.xxx.xxx")
# nfsMountAll("<host>")
#
# You can also mount subdirectories as follows:
# nfsMount("<host>", "/xxx/xxx/xxx", "/xxx")
#
# For example assume
#
# host is mercury with inet address 155.77.2.56
# You want to mount the directory (which is a file system of mercury)
# /home/mercury5/iocinfo
# as
# /iocinfo
#
# The commands would be
#
# hostAdd("mercury","155.77.2.56")
# nfsMountAll("mercury")
# nfsMount("mercury","/home/mercury5/iocinfo","/iocinfo")