diff -r 000000000000 -r 77d8eafe2a07 IOCINFRAApp/Db/LakeShore331.proto --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/IOCINFRAApp/Db/LakeShore331.proto Thu Mar 07 09:23:26 2019 +0100 @@ -0,0 +1,154 @@ +# LakeShore 336 Series Streams Protocol File +# +##### +# Interface: ASCII (INET or GPIB) +# Four Sensor Inputs/Outputs +# Two PID Loops +# Two Heater Outputs +# +# Commands: +# *IDN? - ID Query +# return: +# INTYPE? - Input Type Parameter Query +# return: n,n,n,n,n ,,,, +# HTR? - Heater Output Query +# return: +nnn.n +# HTRSET? - Heater Setup Query +# return: n,n,+n.nnn,n ,,, +# HTRST? - Heater Status Query +# return: n +# RDG? - Celcius/Kevin/Sensor Input Reading Query +# return: +nnn.n +# RDGST? - Input Reading Status Query +# return: n +# SETP , - Control Setpoint Command +# SETP? - Control Setpoint Query +# return: +nnn.nnn +# RANGE , - Heater Range Command +# RANGE? - Heater Range Query +# return: <0=Off, 1=Low(On), 2=Medium, 3=High +# PID ,

,, - Control Loop Parameters Command +# PID? - Control Loop Query +# return: ,, +# RAMP ,, - Control Setpoint Ramp Cmd +# RAMP? - Control Setpoint Ramp Query +# return: , +# + +ExtraInput = Ignore; +ReplyTimeout = 100; +OutTerminator = LF; +InTerminator = CR LF; + +getID { + out "*IDN?"; + in "%s"; + @init {out "*IDN?"; in "%s";} + } + +setSETP { + out "SETP \$1,%f"; + wait 100; + } + +getSETP { + out "SETP? \$1"; + in "%f"; + @init {out "SETP? \$1"; in "%f";} + } + + +setMOUT { + out "MOUT \$1,%f"; + wait 100; + } + +getMOUT { + out "MOUT? \$1"; + in "%f"; + @init {out "MOUT? \$1"; in "%f";} + } + + +setOUTMODE { + out "OUTMODE \$1,%(\$2:OUT\$1:Mode.RVAL)d,%(\$2:OUT\$1:Cntrl.VAL)d,0"; + wait 100; + } + + +getOUTMODE { + out "OUTMODE? \$1"; + in "%(\$2:OUT\$1:Mode_RBV.VAL)d,%(\$2:OUT\$1:Cntrl_RBV.VAL)d,%*d"; + } + +setMODE { + out "MODE %d"; + wait 100; + } + +getMODE { + out "MODE?"; + in "%d"; + } + +setPID { + out "PID \$1,%(\$2:P\$1.VAL)f,%(\$2:I\$1.VAL)f,%(\$2:D\$1.VAL)f"; + wait 100; + } + +getPID { + out "PID? \$1"; + in "%(\$2:P\$1_RBV.VAL)f,%(\$2:I\$1_RBV.VAL)f,%(\$2:D\$1_RBV.VAL)f"; + } + +setInType { + out "INTYPE %(\$2:OUT\$1:Cntrl_RBV.VAL)s,%(\$2:IN\$1:Sensor_RBV.VAL)d,%(\$2:IN\$1:AutoRange_RBV.VAL)d,%(\$2:IN\$1:Range_RBV.VAL)d,%(\$2:IN\$1:Comp_RBV.VAL)d,%(\$2:IN\$1:Units.RVAL)d"; + } + +getInType { + out "INTYPE? %(\$2:OUT\$1:Cntrl_RBV.VAL)s"; + in "%(\$2:IN\$1:Sensor_RBV.VAL)d,%(\$2:IN\$1:Comp_RBV.VAL)d"; + } + +getInput { + out "%(\$2:IN\$1:Units_RBV.VAL)s","RDG? ","%(\$2:OUT\$1:Cntrl_RBV.VAL)s"; + in "%f"; + } + +getInName { + out "INNAME? %(\$2:OUT\$1:Cntrl_RBV.VAL)s"; + in "%[_a-zA-Z0-9 -]"; + } + +getHeater { + out "HTR? \$1"; + in "%f"; + } + +getRange { + out "RANGE? \$1"; + in "%d"; + } + +setRange { + out "RANGE \$1,%d"; + wait 100; + } + +getAOutput { + out "AOUT? \$1"; + in "%f"; + } + +setRamp { + out "RAMP \$1,%(\$2:OnRamp\$1.VAL)d,%(\$2:RampR\$1.VAL)f"; + wait 100; + } + +getRamp { + out "RAMP? \$1"; + in "%(\$2:OnRamp\$1_RBV.VAL)d,%(\$2:RampR\$1_RBV.VAL)f"; + } + + +