diff -r 1b83de4729dc -r 8a2328d953f0 tv301sf/db/tv301sf.proto --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tv301sf/db/tv301sf.proto Mon Mar 10 11:59:21 2014 +0100 @@ -0,0 +1,113 @@ +# tv301sf.proto Uwe Hoppe Fritz-Haber-Institut der MPG 3/2014 +# +# Stream Device Protocol for the Agilent TV 301SF Navigator pumping system. + +locktimeout = 5000; +outTerminator = CR; +inTerminator = ""; +replytimeout = 1500; +readtimeout = 100; +extrainput = Ignore; +iWT = 175; + +### Uses "Window Meanings" protocol +# Format ++++++ +# Where +# (Unit address) = 0x80 (for RS 232) +# (Unit address) = 0x80 + device number (0 to 31) (for RS 485) +# (Window) = string of 3 numeric char indicating the window # ( ‘000’ #to ‘999’) +# (Command) = 0x30 to read the window, 0x31 to write into the window +# = an alphanumeric ASCII string with the data to be written into the window. +#ADDR = $1 +RCOM = 0x30; +WCOM = 0x31; + +getStartStop { WIN = "000"; #1=default=Start; 0=Stop + out STX,$1,$WIN,$RCOM,ETX"%01"; + in STX,$1,$WIN,"%b"ETX"%01"; + } + +setStartStop { WIN = "000"; #1=default=Start; 0=Stop + out STX,$1,$WIN,$WCOM,"%d",ETX"%01"; + in STX,$1,ACK,ETX"%01"; + @init { wait $iWT; getStartStop; } + } + +getRemote { WIN = "008"; #1=default=Remote; 0=Serial + out STX,$1,$WIN,$RCOM,ETX"%01"; + in STX,$1,$WIN,"%b"ETX"%01"; + } + +setRemote { WIN = "008"; #1=default=Remote; 0=Serial + out STX,$1,$WIN,$WCOM,"%d",ETX"%01"; + in STX,$1,ACK,ETX"%01"; + @init { wait $iWT; getRemote; } + } + +getRotFreqSetting { WIN = "120"; + out STX,$1,$WIN,$RCOM,ETX"%01"; + in STX,$1,$WIN,$RCOM,"%6d"ETX"%01"; + } + +setRotFreqSetting { WIN = "120"; CDATA= "955"; + out STX,$1,$WIN,$WCOM,"000%u",ETX"%01"; + in STX,$1,ACK,ETX"%01"; + @init { wait $iWT; getRotFreqSetting; wait $iWT; } + } + +getVentValve { WIN = "122"; #1=default=ON=CLOSE; 0=OPEN=OFF + out STX,$1,$WIN,$RCOM,ETX"%01"; + in STX,$1,$WIN,"%b"ETX"%01"; + } + +setVentValve { WIN = "122"; #1=default=ON=CLOSE; 0=OPEN=OFF + out STX,$1,$WIN,$WCOM,"%d",ETX"%01"; + in STX,$1,ACK,ETX"%01"; + @init { wait $iWT; getVentValve; } + } + +getVentValveOperation { WIN = "125"; #Automatic = 0 + out STX,$1,$WIN,$RCOM,ETX"%01"; + in STX,$1,$WIN,"%b"ETX"%01"; + } + +setVentValveOperation { WIN = "125"; #Automatic = 0 + out STX,$1,$WIN,$WCOM,"%d",ETX"%01"; + in STX,$1,ACK,ETX"%01"; + @init { wait $iWT; getVentValveOperation; } + } + +getPumpCurrent { WIN = "200"; + out STX,$1,$WIN,$RCOM,ETX"%01"; + in STX,$1,$WIN,$RCOM,"%6d"ETX"%01"; + } + +getPumpVoltage { WIN = "201"; + out STX,$1,$WIN,$RCOM,ETX"%01"; + in STX,$1,$WIN,$RCOM,"%6d"ETX"%01"; + } + +getPumpPower { WIN = "202"; + out STX,$1,$WIN,$RCOM,ETX"%01"; + in STX,$1,$WIN,$RCOM,"%6d"ETX"%01"; + } + +getDrivingFrequency { WIN = "203"; + out STX,$1,$WIN,$RCOM,ETX"%01"; + in STX,$1,$WIN,$RCOM,"%6d"ETX"%01"; + } + +getPumpTemperature { WIN = "204"; + out STX,$1,$WIN,$RCOM,ETX"%01"; + in STX,$1,$WIN,$RCOM,"%6d"ETX"%01"; + } + +getPumpStatus { WIN = "205"; + out STX,$1,$WIN,$RCOM,ETX"%01"; + in STX,$1,$WIN,$RCOM,"%6i"ETX"%01"; + } + +getErrorCode { WIN = "206"; + out STX,$1,$WIN,$RCOM,ETX"%01"; + in STX,$1,$WIN,$RCOM,"%o"ETX"%01"; + }