SICS-294 anstohttp.c

Histmem now only calls TaskYield after SICS has finished initalising, this stops the statusfile task from being called early and overwriting the status file. Created ANSTO_MakeHistMemory command to install ANSTO_HistAction
Added veto functions.  Mapped the HistDriver interface Pause() and Continue() commands to AnstoHttpVeto and AnstoHttpNoVeto. Implemented an ANSTO_Histaction to call AnstoHttpPause when sent a "pause" subcommand.

hmcontrol_ansto.c
Call AnstoHttpPause() directly when Pause_HM_After_Count is set to preserver current behaviour.

counterdriv.c
Now sends the correct "SICS RESUME" command to resume a paused count.

ansto_sctdriveadapter.c NEW
This lets you create driveable objects from script-context controllers which have one node for setting a parameter and another node for reading the parameter (eg temperature controllers, choppers, velocity selectors)

sctemonadapter.c NEW
This generates an environment monitor interface for script-context controllers so that the emon object in SICS will be able to pause counters if the controller goes out of tolerance.

sct_usbtmcprot.c, usbtmc.h NEW
First attempt at a protocol handler for USB Test and Measurement Class devices

sct_julabo_lh45.tcl NEW
Implements script-context controller for the Julabo LH45 temperature controller.

Makefile
Added ansto_sctdriveadapter and sctemonadapter

hardsup/makefile
Added velocity selector and usbtmc protocol handlers

hardsup/sct_velselprot.c
Simplified, don't worry about trying to implement a login handler for now, just implement a "Reading" handler.

site_ansto.c
Add the velocity selector and USBTMC protocol handlers.
Added the ANSTO_MakeHM command

instrument/config/hipadaba/common_instrument_dictionary.tcl
Added support for auxiliary data, ie extra meta-data entries in the "data" group of the nexus file.
Add new NXvelocity_selector object under /instrument.

instrument/config/hipadaba/hipadaba_configuration_common.tcl
Add the new "sct_object" script-context controller objects to the hdb tree.

instrument/config/hipadaba/instdict_specification.tcl
Define the new sct_object controllers.

instrument/config/hmm/hmm_configuration_common_1.tcl
Use the new ANSTO_MakeHM command to create histmem drivers which support veto.
Define allowed attributes and elements for the BAT_TABLE and FAT_TABLE
Stop between counts instead of pausing because setting pause now sends a veto.

instrument/config/motors/sct_jogmotor_common.tcl
You now need to specify klass when creating a jogmotor.

instrument/config/motors/sct_positmotor_common.tcl
You can now specify an optional function which calculates the instrument parameter (eg attenuation) from a posit table entry when defining a posit motor.

instrument/config/nexus/nxscripts_common_1.tcl
Report file status info in the /experiment section of the hdb tree.  Add auxiliary data to data file.
Handle saving data from script-context controller objects.

instrument/util/script_context_util.tcl
Added procedure to set required properties  for saving script-context object data.

instrument/util/utility.tcl
Added set_sct_object_attributes proc to automatically set required attributes on SCT_OBJECTs
Fixed hlistplainprop to deal with empty property fields on hdb nodes.

instrument/server_config.tcl
Call the new nexus initialisation command and set attributes on sct objects.

hrpd/config/motors/motor_configuration.tcl
New absenc home readings for mchi and mphi. New absenc home and range for mf1

hipd/config/commands/commands.tcl
Exported and published the new ajscmds so that they can be used in batch files.

hipd/config/motors/motor_configuration.tcl
New mchi absenc home

rsd/config/hmm/hmm_configuration.tcl
Provide support for saving corrected hmm data

rsd/config/motors/motor_configuration.tcl
Use simple names for motors.

SICS-329

sans/config/INSTCFCOMMON.TXT
Added julabo and lakeshore configuration files to list.

sans/config/optics/guide_configuration.tcl
Added entrance aperture positions to the configuration table and the cn_maps which map the index to the component ID.

sans/commands/commands.tcl
The "guide" command now set EApPosYmm after driving the guides in place.
The indexed position to component maps (cn_map) have been moved to the guide_configuration.tcl file.

sans/motors/motor_configuration.tcl
Set samy home to 56.1mm

sans/config/velsel/sct_velsel.tc NEW
Implements script-context controller object for the NVS40 velocity selector. TODO tilt-angle control, driveable interface.

sans/config/hmm/hmm_configuration.tcl
Set 5.08mm spacing on detector width. Use pixel-offset for vertical and horizontal detector axes.

sans/config/motors/motor_configuration.tcl
Swap directions of beamstops 4 and 5 (the two smallest)
New config parameters for samx, samthet, apx, det, detoff, bsz,

sans/config/motors/positmotor_configuration.tcl
Added descriptive headers to positmotor configuration tables and new synstax for the make positmotor command.

sans/config/nexus/nxscripts.tcl
Implemented initialisation command.

sans/config/parameters/parameters.tcl
Added SampleThickness and TransmissionFlag.  Calculate SamplePosYmm from samy and SamyOffsetmm.
Added beamstops to hdb tree.

reflectometer/config/nexus/nxscripts.tcl
Implement the initialisation procedure.

r2767 | ffr | 2009-03-31 10:16:54 +1100 (Tue, 31 Mar 2009) | 123 lines
This commit is contained in:
Ferdi Franceschini
2009-03-31 10:16:54 +11:00
committed by Douglas Clowes
parent eec824f98a
commit d2f57e4615
39 changed files with 2026 additions and 557 deletions

View File

@@ -1,5 +1,5 @@
# $Revision: 1.26 $
# $Date: 2008-11-03 08:59:56 $
# $Revision: 1.27 $
# $Date: 2009-03-30 23:16:53 $
# Author: Ferdi Franceschini (ffr@ansto.gov.au)
# Last revision by: $Author: ffr $
@@ -47,16 +47,16 @@ set bs45_gear 110.0
set bs123_gear 160.0
#set bs45_gear 160.0
#set bs123_gear 110.0
set bs124sign -1
set bs35sign 1
set bs125sign -1
set bs34sign 1
#Measured absolute encoder reading at home position
set samchi_Home 7808328
set samphi_Home 7675008
set samx_Home 7414223
set samx_Home 7420441
set samy_Home 7101486
set samz_Home 9944901
set samthet_Home 22997883
set samthet_Home 23004075
set det_Home 7055209
set detoff_Home 6932100
@@ -67,7 +67,7 @@ set pent_Home 8123563
#set srce_Home 7826986
#set srce_Home 7518434
set srce_Home 7518652
set apx_Home 7500000
set apx_Home 12965422
set apz_Home 7500000
set att_Home 24782942
@@ -374,8 +374,8 @@ Motor det $motor_driver_type [params \
action MC1\
axis G\
units mm\
hardlowerlim 350\
hardupperlim 19000\
hardlowerlim 320\
hardupperlim 19345\
maxSpeed 40\
maxAccel 5\
maxDecel 10\
@@ -386,8 +386,8 @@ Motor det $motor_driver_type [params \
det part detector
det long_name detector_y
det precision 1
det softlowerlim 400
det softupperlim 18900
det softlowerlim 350
det softupperlim 19330
det home 350.5
det speed 20
det Blockage_Fail 0
@@ -401,7 +401,7 @@ Motor detoff $motor_driver_type [params \
axis H\
units mm\
hardlowerlim -50\
hardupperlim 450\
hardupperlim 420\
maxSpeed 10\
maxAccel 1\
maxDecel 10\
@@ -412,7 +412,7 @@ Motor detoff $motor_driver_type [params \
detoff part detector
detoff long_name detector_x
detoff softlowerlim -50
detoff softupperlim 450
detoff softupperlim 410
detoff home 0
############################
@@ -754,19 +754,21 @@ Motor apx $motor_driver_type [params \
port pmc3-quokka\
axis E\
units mm\
hardlowerlim -10\
hardupperlim 360\
maxSpeed 1\
maxAccel 1\
maxDecel 1\
stepsPerX 25000\
hardlowerlim -260\
hardupperlim 5\
maxSpeed 5\
maxAccel 5\
maxDecel 5\
stepsPerX 2500\
absEnc 1\
absEncHome $apx_Home\
cntsPerX -8192]
cntsPerX -819.2]
apx part collimator
apx long_name apx
setHomeandRange -motor apx -home 0 -lowrange -10 -uprange 360
apx speed 1
apx home 0
apx softlowerlim -255
apx softupperlim 5
apx speed 5
# Sample aperture y
Motor apz $motor_driver_type [params \
@@ -848,7 +850,7 @@ Motor bsz $motor_driver_type [params \
axis B\
units mm\
hardlowerlim -240\
hardupperlim 100\
hardupperlim 85\
maxSpeed 1\
maxAccel 1\
maxDecel 5\
@@ -859,118 +861,18 @@ Motor bsz $motor_driver_type [params \
bsz part detector
bsz long_name bsz
bsz softlowerlim -240
bsz softupperlim 100
bsz softupperlim 80
bsz home 0
if {1} {
# largest to smallest
# MakeActionObject obj aQ JG-speed upsw downsw axis
MakeActionObject bs1 mc4 [expr $bs124sign*$bs_steps_per_rev*$bs1gear/360.0] 8 4 C
MakeActionObject bs2 mc4 [expr $bs124sign*$bs_steps_per_rev*$bs2gear/360.0] 8 4 D
MakeActionObject bs3 mc4 [expr $bs35sign*$bs_steps_per_rev*$bs3gear/360.0] 4 8 E
MakeActionObject bs4 mc4 [expr $bs124sign*$bs_steps_per_rev*$bs4gear/360.0] 8 4 F
MakeActionObject bs5 mc4 [expr $bs35sign*$bs_steps_per_rev*$bs5gear/360.0] 4 8 G
MakeActionObject bs1 mc4 [expr $bs125sign*$bs_steps_per_rev*$bs1gear/360.0] 8 4 C
MakeActionObject bs2 mc4 [expr $bs125sign*$bs_steps_per_rev*$bs2gear/360.0] 8 4 D
MakeActionObject bs3 mc4 [expr $bs34sign*$bs_steps_per_rev*$bs3gear/360.0] 4 8 E
MakeActionObject bs4 mc4 [expr $bs34sign*$bs_steps_per_rev*$bs4gear/360.0] 4 8 F
MakeActionObject bs5 mc4 [expr $bs125sign*$bs_steps_per_rev*$bs5gear/360.0] 8 4 G
} else {
# beam stop disk 5 (smallest)
Motor bs5 $motor_driver_type [params \
asyncqueue mc4\
host mc4-quokka\
port pmc4-quokka\
axis G\
units mm\
hardlowerlim 0\
hardupperlim 90\
maxSpeed 1\
maxAccel 1\
maxDecel 5\
stepsPerX [expr $bs35sign*$bs_steps_per_rev*$bs5gear/360.0]\
motorHome $bs5_Home]
bs5 part detector
bs5 long_name bs5
bs5 softlowerlim 0
bs5 softupperlim 90
bs5 home 0
# beam stop disk 4
Motor bs4 $motor_driver_type [params \
asyncqueue mc4\
host mc4-quokka\
port pmc4-quokka\
axis F\
units mm\
hardlowerlim 0\
hardupperlim 90\
maxSpeed 1\
maxAccel 1\
maxDecel 5\
stepsPerX [expr $bs124sign*$bs_steps_per_rev*$bs4gear/360.0]\
motorHome $bs4_Home]
bs4 part detector
bs4 long_name bs4
bs4 softlowerlim 0
bs4 softupperlim 90
bs4 home 0
# beam stop disk 3
Motor bs3 $motor_driver_type [params \
asyncqueue mc4\
host mc4-quokka\
port pmc4-quokka\
axis E\
units mm\
hardlowerlim 0\
hardupperlim 90\
maxSpeed 1\
maxAccel 1\
maxDecel 5\
stepsPerX [expr $bs35sign*$bs_steps_per_rev*$bs3gear/360.0]\
motorHome $bs3_Home]
bs3 part detector
bs3 long_name bs3
bs3 softlowerlim 0
bs3 softupperlim 90
bs3 home 0
# beam stop disk 2
Motor bs2 $motor_driver_type [params \
asyncqueue mc4\
host mc4-quokka\
port pmc4-quokka\
axis D\
units mm\
hardlowerlim 0\
hardupperlim 90\
maxSpeed 1\
maxAccel 1\
maxDecel 5\
stepsPerX [expr $bs124sign*$bs_steps_per_rev*$bs2gear/360.0]\
motorHome $bs2_Home]
bs2 part detector
bs2 long_name bs2
bs2 softlowerlim 0
bs2 softupperlim 90
bs2 home 0
# beam stop disk 1 (largest)
Motor bs1 $motor_driver_type [params \
asyncqueue mc4\
host mc4-quokka\
port pmc4-quokka\
axis C\
units mm\
hardlowerlim 0\
hardupperlim 90\
maxSpeed 1\
maxAccel 1\
maxDecel 5\
stepsPerX [expr $bs124sign*$bs_steps_per_rev*$bs1gear/360.0]\
motorHome $bs1_Home]
bs1 part detector
bs1 long_name bs1
bs1 softlowerlim 0
bs1 softupperlim 90
bs1 home 0
}
# Polarizer Rotation

View File

@@ -11,41 +11,43 @@ makesctcontroller sct_mc4 std mc4:$port4
# label pos
set 20sample_table {
1 453.7
2 411.7
3 369.7
4 327.7
5 285.7
6 203.7
7 161.7
8 119.7
9 77.7
10 35.7
11 -46.3
12 -88.3
13 -130.3
14 -172.3
15 -214.3
16 -296.3
17 -338.3
18 -380.3
19 -422.3
20 -464.3
index position
1 453.7
2 411.7
3 369.7
4 327.7
5 285.7
6 203.7
7 161.7
8 119.7
9 77.7
10 35.7
11 -46.3
12 -88.3
13 -130.3
14 -172.3
15 -214.3
16 -296.3
17 -338.3
18 -380.3
19 -422.3
20 -464.3
}
mk_sct_positmotor sct_mc1 samx changer_position samplenum 20SAMPLES $20sample_table
mk_sct_positmotor sct_mc1 parameter samx changer_position samplenum 20SAMPLES $20sample_table
set auto_ap_table {
2.5 0
5.0 23
7.5 47
10.0 72
12.5 98
15.0 125
17.5 153
20.0 183
25.0 215
30.0 250
thickness_mm position
2.5 0
5.0 -23
7.5 -47
10.0 -72
12.5 -98
15.0 -125
17.5 -153
20.0 -183
25.0 -215
30.0 -250
}
mk_sct_positmotor sct_mc3 apx autoSampleAp aperture auto_ap $auto_ap_table
mk_sct_positmotor sct_mc3 parameter apx autoSampleAp aperture auto_ap $auto_ap_table