89 lines
4.0 KiB
Plaintext
89 lines
4.0 KiB
Plaintext
# vim: ts=8 sts=2 sw=2 expandtab autoindent smartindent nocindent
|
|
driver mercury_scpi = {
|
|
vendor = oxford; device = mercury; protocol = std;
|
|
class = environment; simulation_group = environment_simulation;
|
|
add_args = '{id 99} {permlink LT} {tol 1} {valve_tol 2}'
|
|
make_args = 'id permlink tol valve_tol'
|
|
|
|
group Level = {
|
|
priv = user; type = float; readable = 15;
|
|
var Nitrogen = { read_command = 'READ:DEV:DB5.L1:LVL:SIG:NIT:LEV'; permlink = '#0.S05'; }
|
|
var Helium = { read_command = 'READ:DEV:DB5.L1:LVL:SIG:HEL:LEV'; permlink = '#0.S06'; }
|
|
}
|
|
group Loop1 = {
|
|
priv = user; type = float; readable = 5;
|
|
var sensor = { readable = 1; read_command = 'READ:DEV:MB1.T1:TEMP:SIG:TEMP'; permlink = '#1.S01'; }
|
|
var nick = { type=text; readable = 15; read_command = 'READ:DEV:MB1.T1:TEMP:NICK'; read_function = rdText; }
|
|
var power = { read_command = 'READ:DEV:MB0.H1:HTR:SIG:POWR'; }
|
|
var setpoint = { read_command = 'READ:DEV:MB1.T1:TEMP:LOOP:TSET';
|
|
driveable = Loop1/sensor; lowerlimit = 0; upperlimit = 333; tolerance = '${tol}'; property settle_time = 15;
|
|
writeable = 1; write_function = setPoint; write_command = 'SET:DEV:MB1.T1:TEMP:LOOP:TSET:';
|
|
permlink = '#1.SP01';
|
|
}
|
|
}
|
|
group Loop2 = {
|
|
priv = user; type = float; readable = 5;
|
|
var sensor = { readable = 1; read_command = 'READ:DEV:DB6.T1:TEMP:SIG:TEMP'; permlink = 'T.S02'; }
|
|
var nick = { type=text; readable = 15; read_command = 'READ:DEV:DB6.T1:TEMP:NICK'; read_function = rdText; }
|
|
var power = { read_command = 'READ:DEV:DB1.H1:HTR:SIG:POWR'; }
|
|
var setpoint = { read_command = 'READ:DEV:DB6.T1:TEMP:LOOP:TSET';
|
|
driveable = Loop2/sensor; lowerlimit = 0; upperlimit = 333; tolerance = '${tol}'; property settle_time = 15;
|
|
writeable = 1; write_function = setPoint; write_command = 'SET:DEV:DB6.T1:TEMP:LOOP:TSET:';
|
|
permlink = 'T.SP02';
|
|
}
|
|
}
|
|
group Loop3 = {
|
|
priv = user; type = float; readable = 5;
|
|
var sensor = { readable = 1; read_command = 'READ:DEV:DB7.T1:TEMP:SIG:TEMP'; permlink = 'T.S03'; }
|
|
var nick = { type=text; readable = 15; read_command = 'READ:DEV:DB7.T1:TEMP:NICK'; read_function = rdText; }
|
|
var power = { read_command = 'READ:DEV:DB2.H1:HTR:SIG:POWR'; }
|
|
var setpoint = { read_command = 'READ:DEV:DB7.T1:TEMP:LOOP:TSET';
|
|
driveable = Loop3/sensor; lowerlimit = 0; upperlimit = 333; tolerance = '${tol}'; property settle_time = 15;
|
|
writeable = 1; write_function = setPoint; write_command = 'SET:DEV:DB7.T1:TEMP:LOOP:TSET:';
|
|
permlink = 'T.SP03';
|
|
}
|
|
}
|
|
group Loop4 = {
|
|
priv = user; type = float; readable = 5;
|
|
var sensor = { readable = 1; read_command = 'READ:DEV:DB8.T1:TEMP:SIG:TEMP'; permlink = 'T.S04'; }
|
|
var nick = { type=text; readable = 15; read_command = 'READ:DEV:DB8.T1:TEMP:NICK'; read_function = rdText; }
|
|
var power = { read_command = 'READ:DEV:DB3.H1:HTR:SIG:POWR'; }
|
|
var setpoint = { read_command = 'READ:DEV:DB8.T1:TEMP:LOOP:TSET';
|
|
driveable = Loop4/sensor; lowerlimit = 0; upperlimit = 333; tolerance = '${tol}'; property settle_time = 15;
|
|
writeable = 1; write_function = setPoint; write_command = 'SET:DEV:DB8.T1:TEMP:LOOP:TSET:';
|
|
permlink = 'T.SP04';
|
|
}
|
|
}
|
|
group Valve = {
|
|
priv = user; type = float;
|
|
var sensor = {
|
|
readable = 5;
|
|
read_command = 'READ:DEV:DB4.G1:AUX:SIG:OPEN';
|
|
permlink = 'G.S07';
|
|
}
|
|
var setpoint = {
|
|
driveable = Valve/sensor; lowerlimit = 0; upperlimit = 100; tolerance = '${valve_tol}'; property settle_time = 30;
|
|
writeable = 1; write_function = setValve; write_command = 'SET:DEV:DB4.G1:AUX:SIG:OPEN:';
|
|
permlink = 'G.SP07';
|
|
}
|
|
}
|
|
|
|
code read_function rdValue = {
|
|
@ scan [lindex [split "$data" ":"] end] "%g" data
|
|
}
|
|
|
|
code read_function rdText = {
|
|
@ scan [lindex [split "$data" ":"] end] "%s" data
|
|
}
|
|
|
|
code Write_function setPoint = {
|
|
}
|
|
|
|
code Write_function setValve = {
|
|
@ if { [hpropexists [sct] pid_bias] } {
|
|
@ set par [expr ${par} + [hgetpropval [sct] pid_bias]]
|
|
@ set cmd "${cmd_str}${par}"
|
|
@ }
|
|
}
|
|
}
|