diff -r 000000000000 -r 77d8eafe2a07 db/LakeShore331.db --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/db/LakeShore331.db Thu Mar 07 09:23:26 2019 +0100 @@ -0,0 +1,487 @@ +record (stringin, "$(P)LS331:$(Q):IDN") { + field(DTYP, "stream") + field(INP, "@LK331.proto getIDN $(PORT)") +} + +record(stringin, "$(P)LS331:$(Q):serial") { + field(DTYP, "stream") + field(INP, "@LK331.proto getSERIAL $(PORT)") +} + +record(stringin, "$(P)LS331:$(Q):model") { + field(DTYP, "stream") + field(INP, "@LK331.proto getSERIAL $(PORT)") +} + + +grecord(dfanout,"$(P)LS331:$(Q):Init") { + field(SCAN,"1 second") + field(OUTA,"$(P)LS331:$(Q):Input_sel.PROC PP NMS") + field(OUTB,"$(P)LS331:$(Q):Units_sel.PROC PP NMS") + field(OUTC,"$(P)LS331:$(Q):HeatRg.PROC PP NMS") + field(OUTD,"$(P)LS331:$(Q):Gain_set.PROC PP NMS") + field(OUTE,"$(P)LS331:$(Q):Rset_set.PROC PP NMS") + field(OUTF,"$(P)LS331:$(Q):Rate_set.PROC PP NMS") + field(OUTG,"$(P)LS331:$(Q):RampR_set.PROC PP NMS") + field(OUTH,"$(P)LS331:$(Q):InitB.PROC PP NMS") +} + +grecord(dfanout,"$(P)LS331:$(Q):InitB") { + field(SCAN,"Passive") + field(OUTA,"$(P)LS331:$(Q):Ramp_on.PROC PP NMS") + field(OUTB,"$(P)LS331:$(Q):wr_SP.PROC PP NMS") + field(OUTC,"$(P)LS331:$(Q):read.PROC PP NMS") + field(OUTD,"$(P)LS331:$(Q):readPID.PROC PP NMS") + field(OUTE,"$(P)LS331:$(Q):Init.SCAN CA NMS") +} + +record(ao, "$(P)LS331:$(Q):Rset_set") { + field(DTYP, "Soft Channel") + field(FLNK, "$(P)LS331:$(Q):setRset.VAL PP MS") + field(PREC, "0") +} + +record(ao, "$(P)LS331:$(Q):Rate_set") { + field(DTYP, "Soft Channel") + field(FLNK, "$(P)LS331:$(Q):setRate.VAL PP MS") + field(PREC, "0") +} + +record(ao, "$(P)LS331:$(Q):RampR_set") { + field(DTYP, "Soft Channel") + field(FLNK, "$(P)LS331:$(Q):setRamp.VAL PP MS") + field(PREC, "1") +} + +record(ao, "$(P)LS331:$(Q):wr_SP") { + field(DTYP, "Soft Channel") + field(FLNK, "$(P)LS331:$(Q):SP_scalc.VAL PP MS") + field(PREC, "3") +} + +record(ao, "$(P)LS331:$(Q):Gain_set") { + field(DTYP, "Soft Channel") + field(FLNK, "$(P)LS331:$(Q):setGain.VAL PP MS") + field(PREC, "0") +} + +record(mbbi, "$(P)LS331:$(Q):Rg_rdbk") { + field(DTYP, "Soft Channel") + field(INP, "$(P)LS331:$(Q):Range.VAL NPP MS") + field(ZRST, "OFF") + field(ONST, "100 mA") + field(TWST, "300 mA") + field(THST, "1 A") +} + +record(mbbi, "$(P)LS331:$(Q):Ramp_state") { + field(DTYP, "Soft Channel") + field(INP, "$(P)LS331:$(Q):Ramp_scalc.VAL NPP MS") + field(ZRST, "OFF") + field(ONST, "ON") +} + +record(mbbo, "$(P)LS331:$(Q):Input_sel") { + field(DTYP, "Soft Channel") + field(FLNK, "$(P)LS331:$(Q):SetCtl.VAL NPP MS") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "0") + field(THVL, "0") + field(ZRST, "A") + field(ONST, "B") +} + +record(mbbo, "$(P)LS331:$(Q):Units_sel") { + field(DTYP, "Soft Channel") + field(FLNK, "$(P)LS331:$(Q):SetCtl.VAL NPP MS") + field(ZRVL, "1") + field(ONVL, "2") + field(TWVL, "0") + field(THVL, "0") + field(ZRST, "K") + field(ONST, "C") +} + +record(mbbo, "$(P)LS331:$(Q):HeatRg") { + field(DTYP, "Soft Channel") + field(FLNK, "$(P)LS331:$(Q):SetHeat.VAL PP MS") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "0") + field(FVVL, "0") + field(ZRST, "OFF") + field(ONST, "100 mA") + field(TWST, "300 mA") + field(THST, "1 A") +} + +record(mbbo, "$(P)LS331:$(Q):Ramp_on") { + field(DTYP, "Soft Channel") + field(FLNK, "$(P)LS331:$(Q):setRamp.PROC PP MS") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "0") + field(THVL, "0") + field(ZRST, "OFF") + field(ONST, "ON") +} + +record(seq, "$(P)LS331:$(Q):readPID") { + field(PREC, "1") + field(DLY1, ".05") + field(LNK1, "$(P)LS331:$(Q):rd_Gain.PROC PP MS") + field(DLY2, ".05") + field(LNK2, "$(P)LS331:$(Q):rd_Rset.PROC PP MS") + field(DLY3, ".05") + field(LNK3, "$(P)LS331:$(Q):rd_Rate.PROC PP MS") + field(DLY4, ".05") + field(LNK4, "$(P)LS331:$(Q):rd_Ramp.PROC PP MS") +} + +record(seq, "$(P)LS331:$(Q):read") { + field(PREC, "1") + field(DLY1, ".05") + field(LNK1, "$(P)LS331:$(Q):readCtl.PROC PP MS") + field(DLY2, ".05") + field(LNK2, "$(P)LS331:$(Q):rd_rdat_scalc.PROC PP MS") + field(DLY3, ".05") + field(LNK3, "$(P)LS331:$(Q):rd_SplA_scalc.PROC PP MS") + field(DLY4, ".05") + field(LNK4, "$(P)LS331:$(Q):rd_SplB_scalc.PROC PP MS") + field(DLY5, ".05") + field(LNK5, "$(P)LS331:$(Q):rd_Heater.PROC PP MS") + field(DLY6, ".05") + field(LNK6, "$(P)LS331:$(Q):readSP.PROC PP MS") +} + +record(stringout, "$(P)LS331:$(Q):rd_Rset") { + field(DTYP, "Soft Channel") + field(FLNK, "0") + field(VAL, "RSET?") + field(OUT, "$(P)LS331:$(Q):wr_rd_Rset.AOUT PP MS") +} + +record(stringout, "$(P)LS331:$(Q):rd_Rate") { + field(DTYP, "Soft Channel") + field(FLNK, "0") + field(VAL, "RATE?") + field(OUT, "$(P)LS331:$(Q):wr_rd_Rate.AOUT PP MS") +} + +record(stringout, "$(P)LS331:$(Q):rd_Ramp") { + field(DTYP, "Soft Channel") + field(FLNK, "0") + field(VAL, "RAMP?") + field(OUT, "$(P)LS331:$(Q):wr_rd_Ramp.AOUT PP MS") +} + +record(stringout, "$(P)LS331:$(Q):readSP") { + field(DTYP, "Soft Channel") + field(FLNK, "0") + field(VAL, "SETP?") + field(OUT, "$(P)LS331:$(Q):rd_SP.AOUT PP MS") +} + +record(stringout, "$(P)LS331:$(Q):rd_Gain") { + field(DTYP, "Soft Channel") + field(FLNK, "0") + field(VAL, "GAIN?") + field(OUT, "$(P)LS331:$(Q):wr_rd_Gain.AOUT PP MS") +} + +record(asyn, "$(P)LS331:$(Q):wr_rd_Rset") { + field(FLNK, "$(P)LS331:$(Q):I.VAL PP MS") + field(PORT, "$(PORT)") +} + +record(asyn, "$(P)LS331:$(Q):wr_rd_Rate") { + field(FLNK, "$(P)LS331:$(Q):D.VAL PP MS") + field(PORT, "$(PORT)") +} + +record(asyn, "$(P)LS331:$(Q):wr_rd_Gain") { + field(FLNK, "$(P)LS331:$(Q):P.VAL PP MS") + field(PORT, "$(PORT)") +} + +record(asyn, "$(P)LS331:$(Q):rd_Ctl") { + field(FLNK, "$(P)LS331:$(Q):Control.VAL PP MS") + field(PORT, "$(PORT)") +} + +record(asyn, "$(P)LS331:$(Q):rd_CtlParms") { + field(FLNK, "$(P)LS331:$(Q):CtlInput.PROC PP MS") + field(PORT, "$(PORT)") +} + +record(asyn, "$(P)LS331:$(Q):rd_Heater") { + field(FLNK, "$(P)LS331:$(Q):Heater.VAL PP MS") + field(PORT, "$(PORT)") + field(AOUT, "HTR?") +} + +record(asyn, "$(P)LS331:$(Q):write_SP") { + field(PORT, "$(PORT)") +} + +record(asyn, "$(P)LS331:$(Q):rd_SP") { + field(FLNK, "$(P)LS331:$(Q):SP.VAL PP MS") + field(PORT, "$(PORT)") +} + +record(asyn, "$(P)LS331:$(Q):rd_Spl_a") { + field(FLNK, "$(P)LS331:$(Q):SampleA.VAL PP MS") + field(PORT, "$(PORT)") +} + +record(asyn, "$(P)LS331:$(Q):rd_Spl_b") { + field(FLNK, "$(P)LS331:$(Q):SampleB.VAL PP MS") + field(PORT, "$(PORT)") +} + +record(asyn, "$(P)LS331:$(Q):wr_rd_Htr") { + field(FLNK, "$(P)LS331:$(Q):Range.VAL PP MS") + field(PORT, "$(PORT)") +} + +record(asyn, "$(P)LS331:$(Q):wr_rd_Ramp") { + field(FLNK, "$(P)LS331:$(Q):Ramp_scalc.VAL PP MS") + field(PORT, "$(PORT)") +} + +record(scalcout, "$(P)LS331:$(Q):setRset") { + field(DESC, "Format string for PID input") + field(CALC, "$P('RSET %d;RSET?',A)") + field(INPA, "$(P)LS331:$(Q):Rset_set.VAL NPP MS") + field(OUT, "$(P)LS331:$(Q):wr_rd_Rset.AOUT PP MS") + field(PREC, "1") +} + +record(scalcout, "$(P)LS331:$(Q):setRate") { + field(DESC, "Format string for PID input") + field(CALC, "$P('RATE %d;RATE?',A)") + field(INPA, "$(P)LS331:$(Q):Rate_set.VAL NPP MS") + field(OUT, "$(P)LS331:$(Q):wr_rd_Rate.AOUT PP MS") + field(PREC, "1") +} + +record(scalcout, "$(P)LS331:$(Q):setGain") { + field(DESC, "Format string for PID input") + field(CALC, "$P('GAIN %d;GAIN?',A)") + field(INPA, "$(P)LS331:$(Q):Gain_set.VAL NPP MS") + field(OUT, "$(P)LS331:$(Q):wr_rd_Gain.AOUT PP MS") + field(PREC, "1") +} + +record(scalcout, "$(P)LS331:$(Q):Ramp_scalc") { + field(FLNK, "$(P)LS331:$(Q):RampR.PROC PP MS") + field(CALC, "INT(AA)") + field(INAA, "$(P)LS331:$(Q):wr_rd_Ramp.AINP NPP MS") + field(PREC, "1") +} +record(scalcout, "$(P)LS331:$(Q):RampR") { + field(FLNK, "$(P)LS331:$(Q):Ramp_state.PROC PP MS") + field(CALC, "SSCANF(AA,'%s')[2,10]") + field(INAA, "$(P)LS331:$(Q):wr_rd_Ramp.AINP NPP MS") + field(PREC, "1") +} + +record(scalcout, "$(P)LS331:$(Q):P") { + field(CALC, "INT(AA)") + field(INAA, "$(P)LS331:$(Q):wr_rd_Gain.AINP NPP MS") + field(PREC, "0") +} + +record(scalcout, "$(P)LS331:$(Q):I") { + field(CALC, "INT(AA)") + field(INAA, "$(P)LS331:$(Q):wr_rd_Rset.AINP NPP MS") + field(PREC, "0") +} + +record(scalcout, "$(P)LS331:$(Q):D") { + field(CALC, "INT(AA)") + field(INAA, "$(P)LS331:$(Q):wr_rd_Rate.AINP NPP MS") + field(PREC, "0") +} + +record(scalcout, "$(P)LS331:$(Q):Control") { + field(DESC, "Format string for Ctl query") + field(CALC, "DBL(AA)") + field(INAA, "$(P)LS331:$(Q):rd_Ctl.AINP NPP MS") + field(INEE, "0") + field(PREC, "3") +} + +record(scalcout, "$(P)LS331:$(Q):Heater") { + field(DESC, "Format string for Ctl query") + field(CALC, "DBL(AA)") + field(INAA, "$(P)LS331:$(Q):rd_Heater.AINP NPP MS") + field(INEE, "0") + field(PREC, "0") +} + +record(scalcout, "$(P)LS331:$(Q):Range") { + field(DESC, "Format string for Ctl query") + field(FLNK, "$(P)LS331:$(Q):Rg_rdbk.PROC PP MS") + field(CALC, "INT(AA)") + field(INAA, "$(P)LS331:$(Q):wr_rd_Htr.AINP NPP MS") + field(INEE, "0") + field(PREC, "2") +} + +record(scalcout, "$(P)LS331:$(Q):SP") { + field(DESC, "Format string for Ctl query") + field(CALC, "DBL(AA)") + field(INAA, "$(P)LS331:$(Q):rd_SP.AINP NPP MS") + field(INEE, "0") + field(PREC, "3") +} + +record(scalcout, "$(P)LS331:$(Q):SP_scalc") { + field(DESC, "Format string for Ctl query") + field(FLNK, "$(P)LS331:$(Q):readSP.PROC PP MS") + field(CALC, "$P('SETP 1,%6.3f',A)") + field(INPA, "$(P)LS331:$(Q):wr_SP.VAL NPP MS") + field(INEE, "0") + field(OUT, "$(P)LS331:$(Q):write_SP.AOUT PP MS") + field(PREC, "3") +} + +record(scalcout, "$(P)LS331:$(Q):SampleA") { + field(DESC, "Convt str fror SplA query") + field(CALC, "DBL(AA)") + field(INAA, "$(P)LS331:$(Q):rd_Spl_a.AINP PP MS") + field(INEE, "0") + field(PREC, "3") +} + +record(scalcout, "$(P)LS331:$(Q):SampleB") { + field(DESC, "Convrt str from SplB query") + field(CALC, "DBL(AA)") + field(INAA, "$(P)LS331:$(Q):rd_Spl_b.AINP PP MS") + field(INEE, "0") + field(PREC, "3") +} + +record(scalcout, "$(P)LS331:$(Q):CtlInput") { + field(DESC, "Parse string for Ctl Input") + field(FLNK, "$(P)LS331:$(Q):CtlUnits.PROC PP MS") + field(CALC, "SSCANF(AA,'%s')[0,0]") + field(INAA, "$(P)LS331:$(Q):rd_CtlParms.AINP NPP MS") + field(PREC, "1") + field(AA, "A") +} + +record(scalcout, "$(P)LS331:$(Q):CtlUnits") { + field(DESC, "Parse string for Ctl Unit") + field(FLNK, "$(P)LS331:$(Q):CtlUnits_str.PROC PP MS") + field(CALC, "INT(SSCANF(AA,'%s')[2,2])") + field(INAA, "$(P)LS331:$(Q):rd_CtlParms.AINP NPP MS") + field(PREC, "1") + field(AA, "A,2") +} + +record(scalcout, "$(P)LS331:$(Q):CtlUnits_str") { + field(DESC, "Make Ctl Input string") + field(CALC, "A=1?BB:CC") + field(INPA, "$(P)LS331:$(Q):CtlUnits.VAL NPP MS") + field(PREC, "1") + field(A, "1") + field(BB, "K") + field(CC, "C") +} + +record(scalcout, "$(P)LS331:$(Q):SetCtl") { + field(DESC, "Format string for Ctl Set") + field(FLNK, "$(P)LS331:$(Q):read.PROC PP MS") + field(CALC, "AA+(B?FF:EE)+','+STR(C)[0,0]+DD") + field(INAA, "") + field(INBB, "$(P)LS331:$(Q):Input_sel.VAL PP MS") + field(INPB, "$(P)LS331:$(Q):Input_sel.VAL PP MS") + field(INPC, "$(P)LS331:$(Q):Units_sel.RVAL PP MS") + field(INDD, "") + field(OUT, "$(P)LS331:$(Q):rd_CtlParms.AOUT PP MS") + field(PREC, "1") + field(AA, "CSET 1,") + field(BB, "A") + field(B, "0") + field(C, "1") + field(DD, ",0,1;CSET?") + field(EE, "A") + field(FF, "B") +} + +record(scalcout, "$(P)LS331:$(Q):readCtl") { + field(DESC, "Format string for Ctl query") + field(CALC, "AA") + field(INAA, "0") + field(OUT, "$(P)LS331:$(Q):rd_CtlParms.AOUT PP MS") + field(PREC, "1") + field(AA, "CSET?") +} + +record(scalcout, "$(P)LS331:$(Q):SetHeat") { + field(CALC, "AA+BB+CC") + field(INAA, "0") + field(INBB, "$(P)LS331:$(Q):HeatRg.RVAL NPP MS") + field(OUT, "$(P)LS331:$(Q):wr_rd_Htr.AOUT PP MS") + field(PREC, "1") + field(AA, "RANGE ") + field(BB, "0") + field(CC, ";RANGE?") +} + +record(scalcout, "$(P)LS331:$(Q):rd_SplA_scalc") { + field(DESC, "Format str for A query") + field(CALC, "AA+BB") + field(INAA, "$(P)LS331:$(Q):CtlUnits_str.SVAL PP MS") + field(INBB, "0") + field(OUT, "$(P)LS331:$(Q):rd_Spl_a.AOUT PP MS") + field(PREC, "1") + field(AA, "K") + field(BB, "RDG? A") +} + +record(scalcout, "$(P)LS331:$(Q):rd_SplB_scalc") { + field(DESC, "Format str for B query") + field(CALC, "AA+BB") + field(INAA, "$(P)LS331:$(Q):CtlUnits_str.SVAL PP MS") + field(INBB, "0") + field(OUT, "$(P)LS331:$(Q):rd_Spl_b.AOUT PP MS") + field(PREC, "1") + field(AA, "K") + field(BB, "RDG? B") +} + +record(scalcout, "$(P)LS331:$(Q):rd_rdat_scalc") { + field(DESC, "Format str for rd query") + field(CALC, "A=2?EE+BB+CC:DD+BB+CC") + field(INPA, "$(P)LS331:$(Q):CtlUnits.VAL NPP MS") + field(INBB, "0") + field(INCC, "$(P)LS331:$(Q):CtlInput.SVAL NPP MS") + field(INDD, "0") + field(INEE, "0") + field(OUT, "$(P)LS331:$(Q):rd_Ctl.AOUT PP MS") + field(PREC, "1") + field(A, "1") + field(BB, "RDG? ") + field(DD, "K") + field(EE, "C") +} + +record(scalcout, "$(P)LS331:$(Q):setRamp") { + field(DESC, "Format string for PID input") + field(CALC, "AA+$P('%d',A)+','+$P('%5.1f',B)+BB") + field(INPA, "$(P)LS331:$(Q):Ramp_on.RVAL NPP MS") + field(INPB, "$(P)LS331:$(Q):RampR_set.VAL NPP MS") + field(OUT, "$(P)LS331:$(Q):wr_rd_Ramp.AOUT PP MS") + field(PREC, "1") + field(AA, "RAMP 1,") + field(BB, ";RAMP?") + field(CC, "0") +} + +