# $Source: /cvs/G/DRV/SATECO/SATECO_lakeshore331.template,v $
# $Date: 2013/06/18 11:22:01 $
# $Revision: 1.7 $
# $Author: wang_x1 $
# Required substitutions:
# NAME - prefix, e.g. X99SA-ES1-CRYOJET:
# PTCOLS - StreamDevice protocol file
# PORT - port name
##############################################
# Controller Control Mode
##############################################
record(mbbi, "$(NAME):CMODE_RBV")
{
field(DESC, "control loop mode")
field(DTYP, "stream")
field(INP, "@$(PTCOLS) GET_CONTROL-MODE $(PORT)")
field(ZRVL, "0")
field(ONVL, "1")
field(TWVL, "2")
field(THVL, "3")
field(FRVL, "4")
field(FVVL, "5")
field(ZRST, "Manual PID")
field(ONST, "Zone")
field(TWST, "Open Loop")
field(THST, "Auto Tune PID")
field(FRST, "Auto Tune PI")
field(FVST, "Auto Tune P")
field(SCAN, "1 second")
field(DISV, "0")
field(SDIS, "$(NAME):WATCHDOG.VAL")
}
record(mbbo, "$(NAME):CMODE")
{
field(DESC, "control loop mode")
field(DTYP, "stream")
field(OUT, "@$(PTCOLS) SET_CONTROL-MODE $(PORT)")
field(ZRVL, "0")
field(ONVL, "1")
field(TWVL, "2")
field(THVL, "3")
field(FRVL, "4")
field(FVVL, "5")
field(ZRST, "Manual PID")
field(ONST, "Zone")
field(TWST, "Open Loop")
field(THST, "Auto Tune PID")
field(FRST, "Auto Tune PI")
field(FVST, "Auto Tune P")
field(DISV, "0")
field(SDIS, "$(NAME):WATCHDOG.VAL")
}
###########################################
# Heater Status
###########################################
record(mbbo, "$(NAME):HT-RNG")
{
field(DESC, "heater range set-point")
field(DTYP, "stream")
field(OUT, "@$(PTCOLS) SET_HEAT-RANGE $(PORT)")
field(ZRVL, "0")
field(ONVL, "1")
field(TWVL, "2")
field(THVL, "3")
field(ZRST, "Off")
field(ONST, "Low")
field(TWST, "Med")
field(THST, "High")
field(DISV, "0")
field(SDIS, "$(NAME):WATCHDOG.VAL")
}
record(mbbi, "$(NAME):HT-RNG_RBV")
{
field(DESC, "heater range readback")
field(DTYP, "stream")
field(INP, "@$(PTCOLS) GET_HEAT-RANGE $(PORT)")
field(ZRVL, "0")
field(ONVL, "1")
field(TWVL, "2")
field(THVL, "3")
field(ZRST, "Off")
field(ONST, "Low")
field(TWST, "Med")
field(THST, "High")
field(SCAN, "1 second")
field(DISV, "0")
field(SDIS, "$(NAME):WATCHDOG.VAL")
}
##############################################
# Heater Status
##############################################
record(mbbi, "$(NAME):HT-STAT")
{
field(DESC, "heater status")
field(DTYP, "stream")
field(INP, "@$(PTCOLS) GET_HEAT-STAT $(PORT)")
field(ZRVL, "0")
field(ONVL, "1")
field(TWVL, "2")
field(ZRST, "no error")
field(ONST, "open load")
field(TWST, "short circuit")
field(ZRSV, "NO_ALARM")
field(ONSV, "MAJOR")
field(TWSV, "MAJOR")
field(SCAN, "1 second")
field(DISV, "0")
field(SDIS, "$(NAME):WATCHDOG.VAL")
}
##############################################
# Manual Heat Power Output
##############################################
record(ai, "$(NAME):MHP_RBV")
{
field(DESC, "MHP readback")
field(DTYP, "stream")
field(INP, "@$(PTCOLS) GET_MHP $(PORT)")
field(EGU, "%")
field(PREC, "2")
field(SCAN, "1 second")
field(DISV, "0")
field(SDIS, "$(NAME):WATCHDOG.VAL")
}
record(ao, "$(NAME):MHP")
{
field(DESC, "MHP set-point")
field(DTYP, "stream")
field(OUT, "@$(PTCOLS) SET_MHP $(PORT)")
field(EGU, "%")
field(PREC, "2")
field(DISV, "0")
field(SDIS, "$(NAME):WATCHDOG.VAL")
}
##############################################
# Ramp Rate
##############################################
record(ao, "$(NAME):RMP-RT")
{
field(DESC, "ramp rate set-point")
field(DTYP, "stream")
field(OUT, "@$(PTCOLS) SET_RAMP-RATE($(NAME)) $(PORT)")
field(EGU, "K/min")
field(PREC, "1")
field(DISV, "0")
field(SDIS, "$(NAME):WATCHDOG.VAL")
}
record(ai, "$(NAME):RMP-RT_RBV")
{
field(DESC, "ramp rate readback")
field(EGU, "K/min")
field(PREC, "1")
}
##############################################
# Ramp Mode
##############################################
record(bo, "$(NAME):RMP-MD")
{
field(DESC, "trun of/off ramp")
field(DTYP, "stream")
field(OUT, "@$(PTCOLS) SET_RAMP-MODE($(NAME)) $(PORT)")
field(ZNAM, "Off")
field(ONAM, "On")
field(DISV, "0")
field(SDIS, "$(NAME):WATCHDOG.VAL")
}
record(bi, "$(NAME):RMP-MD_RBV")
{
field(DESC, "ramp mode on/off")
field(DTYP, "stream")
field(INP, "@$(PTCOLS) GET_RAMP($(NAME)) $(PORT)")
field(ZNAM, "Off")
field(ONAM, "On")
field(SCAN, "1 second")
field(DISV, "0")
field(SDIS, "$(NAME):WATCHDOG.VAL")
}
##############################################
# Ramp Status
##############################################
record(bi, "$(NAME):RMP-STAT")
{
field(DESC, "ramp status")
field(DTYP, "stream")
field(INP, "@$(PTCOLS) GET_RAMP-STAT $(PORT)")
field(ZNAM, "Not ramping")
field(ONAM, "Setpoint is ramping")
field(SCAN, "1 second")
field(DISV, "0")
field(SDIS, "$(NAME):WATCHDOG.VAL")
}
##############################################
# Input B
##############################################
record(ai, "$(NAME):TEMP-B")
{
field(DESC, "input B temperature")
field(DTYP, "stream")
field(INP, "@$(PTCOLS) GET_TEMP-B $(PORT)")
field(EGU, "K")
field(PREC, "2")
field(SCAN, "1 second")
field(DISV, "0")
field(SDIS, "$(NAME):WATCHDOG.VAL")
}