User Tools

Site Tools


ice:commands:opls

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
ice:commands:opls [2014/06/20 17:47] – Clean up Event Jump Data command to use lookup table instead of math for user. Ben Lueyice:commands:opls [2017/10/26 22:16] Michael Radunsky
Line 2: Line 2:
  
 List of commands for the ICE Offst PHase Lock and Current Controller. Please see [[ice:commands:lasercurrent|Common Laser Controller Command Set]] for commands relating to the laser controller and [[ice:commands:common|Common Commands to all ICE Slave Boards]] for generic slave board commands. List of commands for the ICE Offst PHase Lock and Current Controller. Please see [[ice:commands:lasercurrent|Common Laser Controller Command Set]] for commands relating to the laser controller and [[ice:commands:common|Common Commands to all ICE Slave Boards]] for generic slave board commands.
 +
 +The theory, usage, and performance of the ICE-CP1 can be [[ice:servo-opls|found here]].  The ICE-CP1 web page can be [[http://www.vescent.com/products/electronics/icetm-integrated-control-electronics/ice-cp1-current-control-and-offset-phase-lock/|found here]].
  
 <function=ICEfunc|0=N?&2=8&3=32> <function=ICEfunc|0=N?&2=8&3=32>
Line 72: Line 74:
 <html></div></html> <html></div></html>
  
-<function=ICEfunc|0=RampBeg?&2=2.34&3=47> +<function=ICEfunc|0=RampSwp?&2=5.72&3=47> 
-Reads the starting voltage for the ramp. +Reads the sweep range (in volts) for the ramp. 
 <html></div></html> <html></div></html>
  
-<function=ICEfunc|0=RampBeg&1=F:VOLTAGE:-2.64&2=-2.65&3=48> +<function=ICEfunc|0=RampSwp&1=F:VOLTAGE:2.64&2=2.65&3=48> 
-Writes the starting voltage for the ramp.  Range is from -10V to +10V. Returns the output from the command **RampBeg?**. Sets the **SvOffset** to the ramp begin voltageThis way, laser starts at RampBeg value before ramp is initialized, enabling a smooth ramp.+Writes the sweep range (in volts) for the ramp. Range is from -0V to +10V. Returns the output from the command **RampSwp?**.  The ramp will step from SvOffst - RampSwp/2 to SvOffst + RampSwp/2 by increments determined by RampSwp and RampNum and then return to SvOffst every time a RampRun command is initiated.\\  
 +\\ 
 +//Note: RampSwp value is rounded and truncated to match range of the servo offset//
 <html></div></html> <html></div></html>
  
-<function=ICEfunc|0=RampEnd?&2=5.72&3=49> +<function=ICEfunc|0=RampNum?&2=100&3=49> 
-Reads the ending voltage for the ramp. +Returns the number of data points to be acquired during the ramp. Number of data points is also the number of steps for the ramp.  
 + 
 +Note that the amount of bytes stored by the ramp is 2*RampNum. The amount of bytes stored set how much data needs to be read back via the **ReadBlk** command.  
 <html></div></html> <html></div></html>
  
-<function=ICEfunc|0=RampEnd&1=F:VOLTAGE:2.64&2=2.65&3=50> +<function=ICEfunc|0=RampNum&1=I:NUMBER:100&2=100&3=50> 
-Writes the ending voltage for the ramp.  Range is from -10V to +10V. Returns the output from the command **RampEnd?**.\\  +Sets the number of data points to be acquired during the ramp. Number of data points is also the number of steps for the ramp
-\\ +
-//Note: RampEnd value is rounded up to be consistent with the **RampInc** value.//+
 <html></div></html> <html></div></html>
  
-<function=ICEfunc|0=RampInc?&2=3&3=51> +<function=ICEfunc|0=RampRun&2=Busy&3=51> 
-Reads the increment step size of the ramp. Multiply the RampInc value by 3.05e-4 V to get the ramp step size in volts  +Begins ramping the servo output and taking data according to the values set for **RampSwp** and **SvOffst** as described above. The Ramp begins at SvOffst - RampSwp/2 and ends of SvOffst + RampSwp/2. When the ramp is completed, the servo output is returned to its starting value of SvOffstData can be retrieved with the **ReadBlk** command. Board will not respond to any new commands while taking data. Returns status of execution of the ramp, either Busy or Finished. Returns fault if ramp is misconfigured. See **RampNum?** for details. Returns fail if laser is off.
 <html></div></html> <html></div></html>
  
-<function=ICEfunc|0=RampInc&1=I:STEPSIZE:3&2=3&3=52> +<function=ICEfunc|0=Poles?&2=3 2&3=52> 
-Sets the increment step size of the rampMultiply the RampInc value by 3.05e-4 V to get the ramp step size in voltsRampInc cannot be set to 0.+Returns two columns of dataFirst column is a number 1-5 representing the integrator pole value. Values are kHz, 10 kHz, 30 kHz, 100 kHz and 300 kHz1 is the slowest integrator (3 kHz), and 5 is the  fastest (300 kHz). The second column is a number 0 - 4 representing differential pole value. Values are Off, 10 kHz, 30 kHz, 100 kHz and 300 kHz. 0 is is no differential pole (Off), 1 is the slowest pole setting (10 kHz) and 4 is the fastest pole setting (300 kHz) 
 <html></div></html> <html></div></html>
  
-<function=ICEfunc|0=RampNum?&2=100&3=53> +<function=ICEfunc|0=Poles&1=I:INTEGRATOR:3;I:DIFFERENTIAL:2&2=12&3=53> 
-Returns the number of data points to be acquired during the rampNumber of data points is also the number of steps for the rampNumber of data points to calculated by the following formula:+Sets the integrator and differential pole positions. INTEGRATOR is a value from 1-5 corresponding to 3 kHz (1) up to 300 kHz (5)DIFFERENTIAL is a value from 0-4 with 0 disabling differential, 1 is 10 kHz and 4 is 300 kHzSee **Poles?** for full list of all pole values. 
 +<html></div></html>
  
-$$ \frac{RampEnd-RampBeg}{3.05\cdot 10^{-4} \times RampStep} $$+<function=ICEfunc|0=EvtJump?&2=6&3=54> 
 +Reads the event address for jumping the offset phase lock frequencyAddress range is 0-7 where address 0 is no event.  
 +<html></div></html>
  
-Note that the amount of bytes stored by the ramp is 2*RampNumThe amount of bytes stored set how much data needs to be read back via the **ReadBlk** command+<function=ICEfunc|0=EvtJump?&1=I:ADDRESS:4&2=4&3=55> 
 +Sets the event address for jumping the offset phase lock frequencyAddress range is 0-7 where address 0 is no event 
 +<html></div></html>
  
-RampNum returns 0 if there is a configuration error (ramp increment larger than ramp range) or if number of data points exceeds storage capacity on device, which is 3072 bytes. 
  
 +<function=ICEfunc|0=EvtLOff?&2=4&3=56>
 +Reads the event address for turning the laser off. Address range is 0-7 where address 0 is no event. 
 <html></div></html> <html></div></html>
  
-<function=ICEfunc|0=RampRun&2=Busy&3=54+<function=ICEfunc|0=EvtLOff?&1=I:ADDRESS:2&2=2&3=57
-Begins ramping the servo output and taking data according to the values set for **RampInc**, **RampBeg**, and **RampEnd** as described above. Data can be retrieved with the **ReadBlk** command. Board will not respond to any new commands while taking data. Returns status of execution of the ramp, either Busy or Finished. Returns fault if ramp is misconfigured. See **RampNum?** for details. Returns fail if laser is off. At end of ramp, servo output is set to **RampBeg** value.+Sets the event address for turning the laser off. Address range is 0-7 where address 0 is no event
 <html></div></html> <html></div></html>
  
 +<function=ICEfunc|0=EvtData&1=I:ROW:4;I:COLUMN:3;F:VALUE:203.324&2=Success&3=58>
 +<WRAP center round important 100%>
 +This function only works as described with firmware 2.3 and higher. If using an older firmware, please upgrade to the latest firmware before using this function.
 +</WRAP>
 +
 +Loads data into the event system for jumping the offset phase lock frequency when a jump frequency event is received. The **ROW** sets when this frequency jump will be engaged; **ROW**=1 means the first event will trigger this jump value. **ROW**=3 will run on the 3rd event. Events loop back based on the number of event points (set by the EVTNUM command), so if there are 5 event points, then the **ROW** that is jumped will be sequentially: 1,2,3,4,5,1,2,3,4,5,1....
 +
 +The **COLUMN** sets the column of data to be written. Column 0 sets the **MODE** (see below for explanation). Column 1 sets the reference frequency. Column 2 sets the amount of feedforward to jump the servo output to help the servo quickly acquire lock at the new offset frequency.
 +
 +The data table for storing the settings looks like the following:
 +
 +^    ^  Columnn 0 (Mode)  ^  Column 1 (Ref. Freq)  ^  Column 2 (FeedForward) ^
 +^  Row 1    3  |  102.34  |  0.435  | 
 +^  Row 2  |  5  |  88.43  |  -0.23  | 
 +^  Row 3  |  9  |  105.28  |  -0.76  | 
  
-<function=ICEfunc|0=EvtData&1=I:ELEMENT NUMBER:4;I:MODE:11;F:FREQUENCY REFERENCE:203.324&2=Success&3=99> 
-Loads data into the event system for jumping the offset phase lock frequency when a jump frequency event is received. The **ELEMENT NUMBER** sets when this frequency jump will be engaged; **ELEMENT NUMBER**=1 means the first event will trigger this jump value. **ELEMENT NUMBER**=3 will run on the 3rd event. Events loop back based on the number of event points (set by the EVTNUM command), so if there are 5 event points, then the **ELEMENT NUMBER** that is jumped will be sequentially: 1,2,3,4,5,1,2,3,4,5,1.... 
  
 The **MODE** sets the whether to invert the error signal, whether to use the internal or external frequency reference and the N value. Below is a table showing the different modes: The **MODE** sets the whether to invert the error signal, whether to use the internal or external frequency reference and the N value. Below is a table showing the different modes:
 +
  
 ^  Mode  ^  N  ^  Invert  ^ Internal VCO ^ ^  Mode  ^  N  ^  Invert  ^ Internal VCO ^
Line 137: Line 164:
 ^  15  |  64  |  On  |  On  |  ^  15  |  64  |  On  |  On  | 
  
 +The command returns SUCCESS if the data is successfully enter, FAIL if not. Data loaded is saved to memory with the **SAVE** command.
 +<html></div></html>
  
-**FREQUENCY REFERENCE** is the value of the internal frequency reference.+<function=ICEfunc|0=EvtNum?&2=7&3=59> 
 +Reads the number of offset phase lock values to loop through via the offset phase lock jump event system. Range from 2 - 8. If set to 4, then the sequence of offset phase lock values will be 1,2,3,4,1,2,3,4,1... where the numbers correspond to the **ELEMENT NUMBER** set when loading data in with the EvtData command. 
 +<html></div></html>
  
-The command returns SUCCESS if the data is successfully enterFAIL if notData loaded is saved to memory with the **SAVE** command.+<function=ICEfunc|0=EvtNum&1=I:NUMBER:5:&2=5&3=60> 
 +Sets the number of offset phase lock values to loop through via the offset phase lock jump event system. Range from 2 - 8. If set to 4, then the sequence of offset phase lock values will be 1,2,3,4,1,2,3,4,1... where the numbers correspond to the **ELEMENT NUMBER** set when loading data in with the EvtData command. 
 +<html></div></html>
  
 +<function=ICEfunc|0=EvtJRow?&2=3&3=61>
 +Return the next row that the will be read from the Event Jump Table when the device gets an event matching the event set with the **EvtJUMP** command. 
 <html></div></html> <html></div></html>
 +
 +<function=ICEfunc|0=EvtData?&1=I:ROW:4;I:COLUMN:3;&2=3&3=62>
 +Reads back the data in the Jump Table, using the ROW and COLUMN to set what datapoint to read back. See **EvtData** for more details. 
 +<html></div></html>
 +
 +
  
  
  
ice/commands/opls.txt · Last modified: 2023/11/30 21:32 by 127.0.0.1