vulcan handshake [email protected] june 2013. purpose control system tracks – proton charge on...

12
VULCAN Handshake [email protected] June 2013

Upload: tyler-banks

Post on 19-Jan-2016

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: VULCAN Handshake kasemirk@ornl.gov June 2013. Purpose Control system tracks – Proton charge on target – # of neutrons received by detector – # of neutrons

VULCAN Handshake

[email protected] 2013

Page 2: VULCAN Handshake kasemirk@ornl.gov June 2013. Purpose Control system tracks – Proton charge on target – # of neutrons received by detector – # of neutrons

Purpose• Control system tracks– Proton charge on target– # of neutrons received by detector– # of neutrons .. within region of interest– maybe moreand allows configurable stepping criteria like“Received n neutrons”

• Load Frame script applies a certain pressure to sample, waits until criteria is met, then twists sample, waits again until criteria is met, …

Page 3: VULCAN Handshake kasemirk@ornl.gov June 2013. Purpose Control system tracks – Proton charge on target – # of neutrons received by detector – # of neutrons

Digital I/O Connections

1. ‘Reset’ signal from Load Frame digital I/O to Control System

2. ‘Step’ criteria signal from Control System to Load Frame dig. I/O

Page 4: VULCAN Handshake kasemirk@ornl.gov June 2013. Purpose Control system tracks – Proton charge on target – # of neutrons received by detector – # of neutrons

Logic Levels

• Typical binary input modules will read 5V, ‘high’ or ‘1’ when nothing is connected

• Connected switch, relay, transistor, … will pull input to 0V and then read ‘low’ or ‘0’.

All logic should be such that ‘high’ is the idle state, nothing will happen in case cables are disconnected.

Page 5: VULCAN Handshake kasemirk@ornl.gov June 2013. Purpose Control system tracks – Proton charge on target – # of neutrons received by detector – # of neutrons

Load Frame to Controls:Reset

Controls to Load Frame:Step criteria fulfilled

(2) (3) (5)

Handshake: Step of Experiment

time

(4)(1)

Page 6: VULCAN Handshake kasemirk@ornl.gov June 2013. Purpose Control system tracks – Proton charge on target – # of neutrons received by detector – # of neutrons

Timeline

1. Load frame pulls ‘reset’ down to initiate a new step.2. Control system notices this and drops ‘step’ to start a

new step.It MUST keep ‘step’ down while ‘reset’ is down!

3. Load frame notices drop of ‘step’ signal by control system and releases the ‘reset’ line.

4. Armed state: Control system monitors step criteria: Proton charge, …. Load Frame awaits ‘step’ to rise again.

5. Criteria is met, control system raises ‘step’ signal. Load frame detects this and knows that criteria has been met.

Page 7: VULCAN Handshake kasemirk@ornl.gov June 2013. Purpose Control system tracks – Proton charge on target – # of neutrons received by detector – # of neutrons

Handshake, not Timing

Timing is not critical, everything is based on a handshake.

For example, the control system could miss a very brief “reset” signal, but the load frame instead keeps the reset signal low until the control system replies with a drop of “step”.The step criteria may be met right away, resulting in a very brief duration of “step” being low, but the control system must keep “step” low at least as long as “reset” is held low by the load frame.

Page 8: VULCAN Handshake kasemirk@ornl.gov June 2013. Purpose Control system tracks – Proton charge on target – # of neutrons received by detector – # of neutrons

Pseudo Code for Load FrameLoop pressure from 1 to 10 (or whatever):

# Signal to control system that new step startsset ‘reset’ output to 0# Wait for control system to acknowledgewait for ‘step’ input to be 0# Prepare for receiving end of stepset ‘reset’ output to 1# Wait for CS to inform us about end of stepwait for ‘step’ input to be 1

Ideally the marked commands could be wrapped into a “WaitForCriteriaToBeMet” subroutine/macro.

Page 9: VULCAN Handshake kasemirk@ornl.gov June 2013. Purpose Control system tracks – Proton charge on target – # of neutrons received by detector – # of neutrons

Pseudo Code for Control SystemForever: wait for ‘reset’ to be 0 set ‘step’ to 0 wait for ‘reset’ to be 1 clear proton count, neutron count, …

wait for step criteria to be met set ‘step’ to 1

The marked code depends on the configurable step criteria: Count protons? Neutrons?...

Page 10: VULCAN Handshake kasemirk@ornl.gov June 2013. Purpose Control system tracks – Proton charge on target – # of neutrons received by detector – # of neutrons

Data Acquisition Start/Stop• Load Frame script requests start and stop of

data acquisition• Control system– Initiates data acquisition– Confirms that data acq. is running– Stops data acq.– Confirms stop (may be ignored by load frame)

Page 11: VULCAN Handshake kasemirk@ornl.gov June 2013. Purpose Control system tracks – Proton charge on target – # of neutrons received by detector – # of neutrons

Load Frame to Controls:Acquire

Controls to Load Frame:Acquiring

(2) (3) (5)

Handshake: Start/Stop

time

(4)(1)

Page 12: VULCAN Handshake kasemirk@ornl.gov June 2013. Purpose Control system tracks – Proton charge on target – # of neutrons received by detector – # of neutrons

Timeline

1. Load frame pulls ‘acquire’ down to initiate data acquisition.

2. Control system notices this, starts data acq., confirms, then drops ‘acquiring’ to respond to load frame.

3. Load frame notices drop of ‘acquiring’ signal by control system and performs the experiment(which may use many of the ‘step’ handshakes).

4. Load Frame finishes experiment, raises ‘acquire’.5. Control system notices raise in ‘acquire’, stops data

acquisition, confirms by raising ‘acquiring’.