Created by Yijun Lin. 1st full-version on 09/25/2007. Last updated on 2/1/2008.
/usr/local/cmod/codes/rf/idl/rf_monitor.pro
Usage:
ssh pcdaqeng1 ;; login first /usr/local/cmod/codes/rf/idl/rf_monitor.sh
The rf monitor consists of two digitizers (on two difference racks):
\RF_MONITOR::TOP:DT216_XMTR12 \RF_MONITOR::TOP:DT216_XMTR34
The rf monitor program initializes and arms the digitizers and monitors their status. As soon as one or both digitizers are triggered, the program also stores the data. After finishing the store action, it re-arms the digitizers. As a result, the rf monitor is almost always ready to take data, except during the dead period while it is in store action, which can last about as long as 3 minutes. The digitizers are hard-wired to be triggered by an rf test shot that includes any transmitters, a C-Mod shot, or an event that indicates a transmitter fault (e.g., crowbar fired). The shot number of the RF monitor data starts from 101, for example, 1070831101. After each store action, the rf monitor program also makes an entry in the C-Mod logbook under topic "rf_monitor", like the following:
1070831xxx ylin rf_monitor Aug 31 2007 09:10AM RF_monitor shot 1070831101 is done. CMOD shot @ 1070831001, RF test shot @ 4167 No event detected.
These logs help to track the absolute timing of the data. They also help determine what triggered the rf monitor (C-Mod shot, test shot or fault event). The rf monitor data can be viewed by the following scope files:
/usr/local/cmod/codes/rf/scopes/rf_monitor_fmit*.dat
Normal behavior: After the rf monitor is launched, it should update its outputs regularly on the screen (once every 15 sec if not in store action), and also write a time stamp in the screen approximate every 3 minutes.
/usr/local/cmod/codes/rf/idl/rf_monitor.sh alcdata::/cmod/trees/new/~t;alcdata::/cmod/trees/models/~t IDL Version 6.1 (linux x86 m32). (c) 2004, Research Systems, Inc. Installation number: 101682-144. Licensed for use by: users on pcdaqeng1 % Compiled module: RF_MONITOR. % Compiled module: RF_MONITOR_ANALYSIS. Warning: the rf monitor can only be run on pcdaqeng1 % Compiled module: MDSVALUE. % Compiled module: MDSCHECKARG. % Compiled module: MDSISCLIENT. % Compiled module: MDSIDLIMAGE. Dt200WriteMaster( 54,getState) -ACQ32:0 ST_STOP Dt200WriteMaster( 55,getState) -ACQ32:0 ST_STOP % Compiled module: MDSOPEN. % Compiled module: MDSTCL. Dt200WriteMaster( 54,getState) -ACQ32:2 ST_RUN Dt200WriteMaster( 55,getState) -ACQ32:2 ST_RUN ***** Time stamp *** Thu Sep 6 09:50:49 2007
After the digitizers are triggered, the following is a normal “trigger, store, and re-arm” cycle:
Dt200WriteMaster( 54,getState) -ACQ32:0 ST_STOP Dt200WriteMaster( 55,getState) -ACQ32:0 ST_STOP RF Monitor triggered at Thu Sep 6 09:56:54 2007 RF Monitor shot 1070906101 Dt200WriteMaster( 54,getState) -ACQ32:0 ST_STOP Dt200WriteMaster( 55,getState) -ACQ32:0 ST_STOP Storing dt216_xmtr12... Storing dt216_xmtr34... RF monitor shot 1070906101 store is done RF monitor # 1070906101, CMOD # 1070831033, RF test # 4169 Writing data to rf_monitor shot 1070906101 Making logbook entry Dt200WriteMaster( 54,getState) -ACQ32:0 ST_STOP Dt200WriteMaster( 55,getState) -ACQ32:0 ST_STOP Dt200WriteMaster( 54,getState) -ACQ32:2 ST_RUN Dt200WriteMaster( 55,getState) -ACQ32:2 ST_RUN
Normal exit: If you know which terminal the program is running, you can simply use Ctrl-C to terminate the rf monitor. However, you need to wait for ~2 minutes before re-starting the program. The other way to stop a normal behaving rf monitor is use the following:
/usr/local/cmod/codes/rf/idl/rf_monitor_stop.sh
Usually, we only terminate the rf monitor when the rf is not expected to run in multiple days. Otherwise, please just leave it running.
Trouble shooting: when the monitor is stuck for any reason, there would be no update on the terminal. The time stamp on the screen can show you the time when the monitor was first stuck. You may also see warning in the status indicators in the rf control program. Here are a few steps you can do before calling for help:
Ctrl-z ;;1. to exit the IDL session ps -C rf_monitor.sh ;;2. to be sure it is hung and running in the background. killall -9 rf_monitor.sh ;;3. kill the hung process. ps -C rf_monitor.sh ;;4. to be sure the process is killed.if it is not, use kill -9 pidvalue ;; the pid shown in step 4. and run step 4 again rm rf_monitor_status.log ;;5. reset the rf monitor status /usr/local/cmod/codes/rf/idl/rf_monitor.sh ;;6. re-start the rf monitor
If the monitor is hung again (for example, it cannot get into ST_RUN status), you need to re-do steps 1 to 5. Very often other people may have already complained about computer/data problems. If it is not at a time that may interfere a plasma shot (e.g., >5 minutes into recool), you can try the following to reboot the mdsip_analysis server on pcdaqeng1:
ssh pcdaqeng1 mdstcl stop server pcdaqeng1:mdsip_analysis exit ;; exit mdstcl exit ;; logout from pcdaqeng1
The following error message is expected when rebooting:
mdsdcl: Error from ServerStopServer mdsdcl: --> failed on line 'stop server pcdaqeng1:mdsip_analysis'
and the sever starts on its own. You can restart the rf monitor after about 30 seconds. If it is hung again, call Josh Stillerman at x38176, and tell him that pcdaqeng1 is probably broken.
back to rf monitor || back to table of contents
/usr/local/cmod/codes/rf/idl/rf_control.pro
Usage with RF monitor on:
/usr/local/cmod/codes/rf/idl/rf_control_startup.sh
Usage with RF monitor off (when no HV is applied and no rf power is expected)
cd /usr/local/cmod/codes/rf/idl/ idl .r rf_control rf_control, /nopower
Usage for observers (not permitted to update information in the MDSplus tree)
cd /usr/local/cmod/codes/rf/idl/ idl .r rf_control rf_control, /monitor
The RF control program automatically check the monitor screen size. When run on a laptop, it does not have features like logbook entry, and ready lights.
Waveform editing: In most cases, one can start with the 'Load Shot' button after enter a shot number (either a C-Mod shot or an rf test shot) to reload previous waveforms. Besides the standard waveform editing capabilities shown the function below the waveform panel, you can also invoke other functions using the right mouse button when it is inside one of the top 4 sub-panels. The functions are 'save to file...', 'restore from file...', 'Zero out...', and 'Edit Waveform...'. The most frequently used is the 'Edit Waveform...' function. A independent widget will appear after it is selected. The operator needs to enter the value at each time point in order to generate a waveform. To add more points, one needs to use the 'ADD' function below the waveform panel (mid-mouse-button = add point, shift and mid-mouse-button = remove point). Be aware of the 'STRETCH' function below the panel. It often gives you unexpected result, and may cause a shift in 0V baseline.
Clicking the 'Apply' button will calculate the actual voltage traces of transmitter 1 to 4 for the waveform generator and store the waveforms to the MDSplus tree, for example,
\RF::TOP.TRANSMITTERS.TRANSMITTER1.WAVE_FORM ;; waveform in power [MW]. \RF::TOP.TRANSMITTERS.TRANSMITTER1.WAVE_FORM:ANALOG_OUT_V ;; waveform in output (V). Always <0. \RF::TOP.TRANSMITTERS:DT196AO:OUTPUT_01 ;; from D-Tacq module.
See section on timing modules for details. The calibration of waveform voltage and power, see here. The total power and total energy is also calculated automatically and shown in the fifth panel. Please be sure that the gate signal is longer than the programed waveform (see modify gate signal).
Because at a given time, several RF operators may be running the rf control program simultaneously, one needs to use 'Reset' button to be sure that the waveform in the tree is what he (or she) has applied. This button often needs to be clicked multiple times (for unfathomable reason).
Occasionally, especially after a network problem or data system problem, the waveform generator may be hang, and only generates 0 V output. In this case, you can reboot the waveform generator/digitizer remotely or locally.
Status indicators: there are two indicators, one is the RF system status (square) and the other RF monitor status (rectangular).
The RF system status indicator has 4 possible colors:
Green: it means the RF system is ready for a plasma shot. It also appears on the big screen for the physics operator to watch. It turns green ONLY after the "ready" button is clicked.
Gray: it means the RF system is "unready". The indicator turns to grey after a plasma pulse, or after the "Unready" button (in "other functions") is selected. The icrf ready button on the big screen also turns grey.
Yellow: it indicates that the RF data are ready, and the automatic data process has been finished. It requests the RF operator to look at the information, and if necessary, make a logbook entry. This yellow status has no effect on the big screen.
Red: it indicates that there is something wrong in the RF system, including high voltage faults, poor matching (max power < 50 kW), or data system problems. The RF operator is required to take a look and make decision. This red status has no effect on the big screen.
The RF monitor status indicator has 4 possible colors:
Green: It means that the RF monitor is armed and ready to be triggered. In case when starting the RF control with no power option, it is also green.
Gray: Usually during the start-up of the RF control program while it is checking the status of the RF monitor.
Yellow: It means that the RF monitor is in store action. During this period, the RF monitor does not respond to any trigger signal.
Red: Indicates that the RF monitor may be stuck in store action. In most cases, the indicator will turn green eventually given several more minutes. Otherwise, you may have to trouble shoot the rf monitor.
Test shot: Click the "Test Shot" button on the main rf_control widget launches the test shot widget. The test shot number is automatically generated. It will increase shot by shot up to 5000 then reset to 1. One can select any combination of transmitters/antennas/diagnostics. The two diagnostics that are very sensitive to the RF leakage (UVIS and bolometry) are also included in the list, and they can be used to help debug RF leakage related problems. "Auto trigger" selection is by default. "Auto trigger" uses the MDSplus event timing system (engineering encoder) to generate an "RF_start" event in the data highway. If it is not selected, the program will wait for a manual trigger signal (I have never used it, and I don't know exactly how to use it). "Process signals" is an option whether one only needs to get raw data or also get it processed.
Click the "Take shot" button will start the test shot routine. If the rf_control was not started with /nopower option, it first checks whether the rf monitor is on. If the monitor is in store action, the test shot program will wait until the monitor finishes storing and re-armed. After the rf monitor is ready, a new rf shot pulse file is created. The timing module, digitizers, and waveform generators, are initialized. Then it is the trigger signal generated by "RF_START" event. It waits 10 seconds for the digitizers to complete before starting to store data. If the "Process signals" is selected, the program will process data, including calculating RF power, voltage, fault information, and also produces warnings if transmitter faults are present. The transmitter status will appear on the IDL terminal.
Because the data stored in test area will disappear after some period (about 2 weeks), sometimes we need to copy the data to a permanent location. The button "Save Shot" gives you the instruction to do so.
ssh alcdaq.psfc.mit.edu ;; login cd /cmod/trees/test/rf/ ls *shot* ;; shot is the shot number you want to save cp *shot* /cmod/trees/saved/rf/ ;; move the shot to the new shot area.
Logbook entry: The right half of the RF control widget is dedicated to logbook entry. When the "Auto Mode" is "on", the program checks whether the RF data is ready. When it is ready (rf status becomes yellow), a standard logbook entry text appears in the text field, and the button "Make Entry" is activated. The shot field is also updated to the current C-Mod shot. The four buttons above the text field will also indicate which transmitter(s) ran in the shot. Although the standard entry texts include almost all relevant information for the RF system, sometimes the RF operator still need to edit the text in the text field. The "Make Entry" button makes the logbook entry under topic "RF" and at the shot number in the shot field. An example of the standard logbook entry is shown below:
Plasma (@ t = 0.50 sec): Bt = 5.4 T, Ip = 0.5 MA, nl04 = 0.7e20 /m^2, DN, gap 2.4 cm. H-mode during RF. Max Wmhd = 77 kJ. f-side-neutral 0.34 to 0.11 mTorr. Plasma ended at 1.99 sec RF Demand: D : t = [0.50, 1.20] sec, 0.90 MW, 80.5 MHz E : t = [0.50, 1.20] sec, 0.90 MW, 80.0 MHz J3: t = [0.50, 1.20] sec, 0.60 MW, 78.0 MHz J4: t = [0.50, 1.20] sec, 0.60 MW, 78.0 MHz RF Result: D : ran to 1.20 sec. Average [0.8 MW, 27 kV], Max [1.0 MW, 36 kV], Energy = 0.55 MJ. 3 faults. E : ran to 1.20 sec. Average [0.8 MW, 23 kV], Max [1.1 MW, 27 kV], Energy = 0.58 MJ. No fault. J3: ran to 1.20 sec. Average [0.6 MW, 15 kV], Max [0.6 MW, 21 kV], Energy = 0.17 MJ. 2 faults. J4: ran to 1.10 sec. Average [0.5 MW, 19 kV], Max [0.6 MW, 22 kV], Energy = 0.15 MJ. 2 faults. Notes: Next Shot: No changes. (DN = double null, USN = upper-single-null, LSN = lower-single-null, gap = mid-plane outer-gap)
Occasionally, the data system may not function properly. The automatic text does not appear, or there are apparent errors, one has to toggle off "Auto Mode". The operator can use "Set Current Shot" to set the shot number, or make a manual entry in the shot field. Button "Run rf_power_all" can do the data analysis again (if it is stuck in the data analysis). Then one can "Create Log Text" and "Make Entry". Since problems rarely happen in consecutive shots, it is recommended to toggle on "Auto Mode" afterwards.
Show different gate signals: the main panel only had one panel for gate signals. As a result, one has to use the drop-list labeled as "Gate shown" to check programed gate signals for different transmitters. In most cases, we program the same gate wave form for all the transmitters.
Modify gate: A widget is launched. One need to choose which gate signal(s) to be modified (if not selected, the gate signal for that antenna will not be affected). Set the start time and end time, use the "Plot" button to make sure, then click the "Done" button when finished. At present, we cannot modulate the gate signals. The current gate generator can only general ONE pulse. The actual gate signals in the tree are the following:
\RF::TOP.TRANSMITTERS:DIO2.CHANNEL_3 ;;transmitter #1 \RF::TOP.TRANSMITTERS:DIO2.CHANNEL_4 ;;transmitter #2 \RF::TOP.TRANSMITTERS:DIO2.CHANNEL_7 ;;transmitter #3 \RF::TOP.TRANSMITTERS:DIO2.CHANNEL_8 ;;transmitter #4
Modulate power: A widget appears after selecting this function. It has been rarely used. One needs to choose a default setting for plasma or vacuum conditioning. One needs to choose which antenna to modify. The selections are rather complicated, and the operator has to use trial and error to generate a desired waveform (use button "Plot" to see what is programed. The waveforms are stored in the wave form nodes.
Toggle digitizer sampling rate: When faster data is needed to investigate antenna arcing or ELMs, we use this function to toggle the sampling rate of the RF digitizers. Normally, we take 50 kHz data. The digitizers can be toggled to the fast mode: cell digitizers to 250 kHz and power room ones to 100 kHz. The status of the sampling rate is shown in the field labeled "Sampling [kHz] (CELL/PWR_RM)". The frequency in the power room is limited by the waveform generator settings. Check the timing modules for the details on what are being modified by this function.
Show waveform in raw voltage: this function plots the actual voltages the waveform generator will generate. The module \RF::TOP.TRANSMITTERS:DT196AO can generate wave from from -10 V to 10 V. For the RF system, all the waveform voltages should be negative. The calibration of waveform voltage and power, see here.
Unready: This function will make the RF system status indicator to be grey, and inform the physics operator that the RF is not ready. This is especially useful when the session leader has changed his (her) mind after the RF operator has already sent out the "ready" button. Sometimes a high voltage fault before a shot also requires the operator to use this function to "unready" the status.
Trouble shooting: Occasionally, button "apply" can cause "segmentation fault", and the program may quit unexpectedly. In some other cases, the program may be hung, especially during a test shot. To exit, one can try the following:
ctrl-z ;;1. to exit the IDL session ps -C rf_control_star ;;2. to be sure it is hung and running in the background. killall -9 rf_control_star ;;3. kill the hung process. ps -C rf_control_star ;;4. to be sure the process is killed. if it is not, use kill -9 pidvalue ;; the pid shown in step 4. and run step 4 again.
If you are working with /nopower option, you need to find the idl process
ctrl-z ps -C idl kill -9 pidvalue
In many cases, you need to reboot the pcdaqeng1 server. Occasionally, especially after a network problem or data system problem, the waveform generator may be hang, and only generates 0 V output. In this case, you need to reboot the waveform generator/digitizer remotely or locally.
back to rf control || back to table of contents
Source program:
/usr/local/cmod/codes/rf/idl/rf_tune.pro
Usage:
/usr/local/cmod/codes/rf/idl/rf_tune_startup.sh
One can use "Set Current Shot" button to load the current C-Mod shot. Use the antenna port drop-list to choose which antenna to look at. "Start time" and "end time" determine the interested time window (by default, the program loads the data from the beginning to the end of the RF power traces). "pwr thresh" determines the minimum forward RF power to be considered. Button "Load Data and Plot" does the work as it means. Button "Help" launches this operation manual.
Stub tuner Phase shifter
_ +===+
| | |
| | |
Transmitter =====A====B|C=========D| |E===F====== to Antenna
DC1 DC2Data traces The top panel of the widget is used to plot the time traces of interested RF data. Button "Plot Power DC1" and "Plot Power DC2" plot the forward (blue) and reflected (green) power traces from directional coupler #1 and directional coupler #2 respectively. DC1 is on the transmitter (matched) side of the stub tuner/phase shifter, and DC2 is on the antenna (unmatched) side of the stub tuner (ST) and phase shifter (PS). The goal of this program is to get reflection on DC1 as small as possible for the NEXT plasma shot. Button "Plot Rant" shows the equivalent antenna resistance, which is defined as Rant = 50/(VSWR on DC2). Button "Plot Rho" shows the voltage reflection coefficient, which is defined as rho = sqrt(DC1 reflected power/DC1 forward power).
Smith chart The bottom plot field shows a Smith Chart in admittance (Y), conductance (G), susceptance (B) coordinates (Y = G + jB). The difference vs. an impedance Smith chart is that one has to add a negative sign on the voltage reflection coefficient Gamma (a complex value, sqrt(Pref/Pforw)), which is the horizontal axis (-real(gamma)) and vertical axis (-imaginary(gamma)). The dotted circles centered on (0, 0) point are equal reflection coefficient circles. The power reflection coefficients are labeled as percentage, for example, 20%, 30%, etc. The effect of a phase shifter change is to move Gamma_DC2 along one of this lines. The solid circles tangential to the right vertical axis are equal conductance circles. It is the lines that Gamma_DC2 follows when the stub tuner length is adjusted (a stub tuner only add susceptance, but does not change the conductance). Solid arcs are the equal suspectance lines. The idea of matching with a stub tuner and a phase shifter is to move Gamma_DC2 along a dotted circle through a phase shifter to the intersection with the bold black G=1 circle. Then use the stub tuner to move along the circle to the perfect matched target.
List of the buttons and functions:
DC1 @ XMTR Side of Stub (red): Gamma DC1 transformed by the length AB to the point B, on the transmitter side of the stub. This is the default plot. Ideally, this should agree with the purple plot from DC2 @ XMTR Side of Stub.
DC1 @ Ant Side of Stub (blue): Gamma DC1 transformed by the length AB the point B, on the transmitter side of the stub, then through the stub length, to the antenna side of the stub (point C).
DC1 @ DC2 location (green): Gamma DC1 transformed by the length AB the point B, on the transmitter side of the stub, then through the stub length, to the antenna side of the stub (point C), the transformed through the the phase shifter to DC2 location (point F).
DC2 @ XMTR Side of Stub (purple): Gamma DC2 transformed from point F to point B. This should agree with DC1 @ XMTR Side of Stub (red).
DC2 @ Ant Side of Stub (dark green): Gamma DC2 transformed from point F to point C. This should agree with DC1 @ Ant Side of Stub (blue).
DC2 @ DC2 location (brown): This is the raw Gamma calculated from DC2. It should agree with DC1 @ DC2 location (green).
Plot Trips: Each green dot filled a "T" indicates the Gamma DC1 just prior to a trip. This sometimes can help to identify whether the trips are caused by the matching or due to arcs. If it is due to matching, one would see that the trips are located near the 30% power reflection circle. Normally, we set the arc protection threshold near this level. More details here .
Toggle Data Sources: Use the DC1 data for calculation or use DC2 data for calculation. The selection is shown below the button. In an ideal world, one can use either DC1 data or DC2 data to predict the requested ST and PS length. In reality, using DC2 data has been show to be rather unreliable, mostly because we don't do calibration that often, and because the reflected power and forward power are usually very close, it has rather big errors in terms of Gamma. See how the calculation is done.
Toggle Redraw: By default ("redraw on"), the program will erase the drawing when button "Load Data and Plot" is clicked next time. By toggle it to "redraw off", loading new data will not erase the previous drawing. It is useful when one likes to compare different shots, or different antennas.
Erase: Erase the drawing.
Fudge: Details are in fudge management
Predictions On the right side of the Smith chart, the widget shows the current stub tuner and phase shifter positions (both are in the range of 0 to 1000), and the predictions to get a good match if the plasma is repeated. The detailed calculation is in section how the calculation is done. After selecting a solution, you need to put the positions on to the PLC controllers on the st/ps positions.
Solutions from average position: These two sets of ST/PS solutions are calculated based on the averaged Gamma DC1 (Gamma DC2 if DC2 data are chosen). The averaging process is kind of smart average (roughly the middle point as one would obtain using his eyes on the Smith chart). It is shown as a blue square on the Smith chart. The button plot will show you the resulted Gamma DC1 in dark blue or dark purple if the stub tuner and phase shifter are at the prediction. It also overlays DC1 @ DC2 location (green) and DC1@ Ant Side of Stub (blue). There are red dashed lines connected DC1 @ DC2 location, DC1@ Ant Side of Stub, and DC1@ XMTR Side of Stub. These lines (one along the equal reflection circle, and the other one through the equal conductance circle) indicates the transformation using the present stub tuner and phase shifter lengths from point F to point B (i.e., the blue square in the Smith chart). Another set of solid lines (same color as the predicted Gamma DC1) indicated the transformation through the predicted ST/PS lengths. Two Dashed circles are drawn around the green DC1 @ DC2 location cluster. The inner one shows the region that will be transformed to the 5% circle and the outer one corresponds to the arc threshold circle (dashed bold black circle).
Solutions from cursor position: Clicking the left button of the mouse on the Smith chart, a light blue "+" will appear at the cursor location. The program then automatically calculate the stub tuner and phase shifter positions to match this cursor location. The "PLOT" button on the left of the predictions does the same thing as above. The generated Gamma DC1 are in color dark yellow or light blue .
Manual inputs: In some cases, we don't really want to use any solutions suggested, for example, a significant plasma parameter change. This manual inputs can help the operator to determine what would happen at different ST/PS locations. One needs to enter the ST/PS values, and click the button "Plot" to generate the new Gamma DC1 in light green.
Predict based on empirical formulas: During experiments that the plasma parameters change shot by shot significantly, one cannot rely on the above predictions because they are obtained assuming the next plasma will the same. The "predict" button is used to improve the hitting average. Enter the TCI line integrated density in the unit of 10^20/m^2, and plasma current in the unit of MA, then click the "Predict" button, the program will provide the ST/PS values for all antennas. These predictions have been successfully tested in the 2007 experimental campaign.
Fudge information To make an accurate prediction, the matching program needs to know the lengths very accurately. The lengths includes: lengths from point A to B, stub length, from point C to E (including the phase shifter length, and distance from the phase shifter to DC2). The lengths are measured by tape. However, the real electrical lengths are different because of the coaxial line has diameters (inner conductor and outer conductor). As a result, we record the tape measured length, then use so called fudge data to account for the difference, i.e. dc1 fudge, stub fudge, and dc2 fudge respectively. In rare cases, the DC1 power calibration is off and results in bad reflection coefficient. Therefore, there is an rp fudge (reflected power) to compensate this.
The "Fudge" button on the lower left of the Smith chart launches a widget window. The top two buttons "Get from this shot" and "Get from Shot -1" obtained the fudge data stored in the tree. The values appear in the editable field labeled as "dc1", "dc2", "stub" and "rp" corresponding to the fudges mentioned above. The unit of the length fudges is "meter", and the rf_fudge is a numerical scale factor on the reflection coefficient (1.0 means no fudge). The buttons "Save to this shot" and "Save to Shot -1" write the fudge data in the fields to the MDSplus tree. Note: the rp fudge is always assumed to be 1.0, and it is not stored in the MDSplus tree. A different rp fudge is only used when one is debugging potential problems. If it is really a problem, one needs to update the calibration data of the power signals, instead.
The bottom half of the window is for "Estimate Fudges". Button "fudges/this shot" estimate the dc2 fudge and stub fudge assuming the dc1 fudge and rp fudge has no error. The calculation is based on the comparison of the rf power measurement from direction coupler #1 and directional coupler #2 data. Gammas at the xmtr side as calculated from DC1 measurement (red), and the one transformed from DC2 measurement (purple) are over-plotted. A good (self-consistent) result of the fudge data should make the red and purple clusters overlap in space and shape. If significant deviation exists, it may be due to incorrect rp fudge or dc1 fudge. The suggested fudge are plotted in the bottom panel labeled as "Sugg. Fudges". If the calculated fudges are deemed not reliable, a warning text will appear on the status line on the main antenna matching widget. The button "fudges/multi. shots" behaves more or less like the "fudges/this shot" button, except you need to input the starting shot number and the end shot number so that the program will estimate the fudges on all the shots in between. The default range is all shots on the current run day.
DC1 fudge can be estimated rather accurately if we have a good calibrated rp fudge. We need to tune the antenna to vacuum, and run a number of shots (say, 10), with slightly different stub tuner positions (don't touch the phase shifter). With a correct dc1 fudge, the resulted gammas from all these shots should lie perfectly on the bold black G=1 circle on the Smith chart. The button "dc1_fudge/vacuum" does all the calculation automatically after you enter the shot range from a pop-up window.
In terms of antenna matching, the stub fudge is the most critical one. Because of a short stub transform the impedance in such a way (see section how the calculation is done) that it can diverge significantly in some particular lengths, a wrong fudge length can render the prediction useless.
Trouble shooting there are many ways that the matching program is hung, or the prediction fails to generate good matching. Here are some possible problems and fixes.
No data above threshold: Make sure that the shot number is valid, or the data process routine has been run. If it is not been run, one can use the the "Run rf_power_all" button in the rf control program to do the process again. One should also check the start time and end time to be sure there is RF power in this time period. The power threshold may have been set too high.
Test shots: In test shots, the stub tuner and phase shifter positions are not recored (they are recorded through PLC computers during real C-Mod shot). One needs to input the positions if prediction is needed (other than just checking out the match).
Predicted lengths out of scale: Some times the program will give you predictions above 1000 (they are supposed to be normalized between 0 and max value). In this case, the prudent way is to use the manual input to find the best predictions. In some cases, one has to choose the solution that is dramatically different than the one current being used. Because of the intrinsic errors, this other solution often does not make a good match in the first try.
Predictions not working: Occasionally, the matching cannot be achieved after several tries to the same plasma. The problem is most likely due to an incorrect fudge data set. For example, the stub length is too close to the lambda/2 location, and a small error of the stub length can make a lot of difference. In this case, one needs to consider to try out the other set of the solution. Sometimes, this may be due to a drift in the PLC values vs. real ST/PS locations (details here).
Plasma density/current scan: this is the most challenging part, and the major reason behind the development of the FFT system. The matching is most sensitive to the H-mode pedestal height and gradient for most plasmas. It is also affected by the B field, plasma shape, outer gap, neutral pressure, ELMs, etc. The "predict" button was added in August, 2007, and has been tested in a limited number of shots in the end of 2007 campaign. It is still evolving, and should help improve the hitting average.
Neutral pressure limit: When the neutral pressure (edge::\f_side_rat) is above a certain limit, the antenna loadings are very different from those under the normal low pressure limit. The antennas tend to fault more frequently, if they can run at all. The empirical limits for D and E antennas are about 0.6 mtorr to 0.8 mtorr. For J port, the limit can be lower depending on the loop configuration, and transmitter feeding (generally between 0.3 mtorr to 0.8 mtorr). In most cases, when the pressure progresses above the limits, the antennas are faulted out because of a mismatch. It is NOT recommended to try to match the conditions related to high neutral pressure. We normally only get too high pressure in the first several shots after a boronization, or high density/low current plasmas. The neutral pressure is reported in the automatically generated logbook entry text. The RF operator should identify the neutral pressure problem and notify the physics operator and session leader so that actions can be taken.
How the calculation is done: calculating the solutions from gamma_dc1 on the transmitter side (IDL code):
ci=complex(0.,1.) & half_wave = lambda/2.0 & beta = 2*!pi/lambda ;; constants
Y_GenSide= (1.0 - Gamma_GenSide)/(1.0 + Gamma_GenSide) ;;Y transmitter side
Y_AntSide= Y_GenSide - 1.0 /(ci*tan(beta*l_stub)) ;;Y antenna side stub
Z_AntSide= 1.0/Y_Antside ;;Z antenna side
Zr=float(Z_AntSide) ;;real Z
Zi=imaginary(Z_AntSide) ;;imaginary Z
t21=sqrt(Zr / ((1.0 - Zr)^2 + Zi^2))
t22=-t21
t11=(Zr + t21*zi)/(Zr - 1.0)/t21
t12=(Zr + t22*zi)/(Zr - 1.0)/t22
Stub1=((atan(t21)/beta - l_stub_min- stub_fudge + 4.0*half_wave) MOD half_wave ) $
/stub_total_variable_length*stub_total_variable_counts + stub_min_counts
Stub2=((atan(t22)/beta - l_stub_min- stub_fudge + 4.0*half_wave) MOD half_wave ) $
/stub_total_variable_length*stub_total_variable_counts + stub_min_counts
phase_length = ((current_phase_counts - phase_min_counts)/phase_total_variable_counts)$
*phase_total_variable_length
Phas1 =((atan(t11)/beta + phase_length + 4.0*half_wave) MOD half_wave) $
/phase_total_variable_length * phase_total_variable_counts + phase_min_counts
Phas2 =((atan(t22)/beta + phase_length + 4.0*half_wave) MOD half_wave) $
/phase_total_variable_length * phase_total_variable_counts + phase_min_counts
The total length, min counts and total variable counts are stored in nodes like the following:
\RF::TOP.ANTENNA.DATA.D_PORT.TUNERS:COMMENT \RF::TOP.ANTENNA.DATA.D_PORT.TUNERS:SHIFTER_1 \RF::TOP.ANTENNA.DATA.D_PORT.TUNERS:STUB_1
The min counts and total variable counts are set by running the phase shifter and stub tuner from the PLC computer (details here). The numbers are stored in the following nodes:
\rf::top.antenna:rf3_pos:analog ;; J3 and J4 ports
e.g., Build_Signal([43.,317.,385.,284.], *, ["TUNER3","SHIFT3","TUNER4","SHIFT4"])
\rf::top.antenna:rf_pos:analog ;; D and E ports
; this one has more info, like loop pressures. The fudge information is stored in the follow nodes: for example
\RF::TOP.ANTENNA.DATA.D_PORT.DIR_COUPLERS:DC1_FUDGE \RF::TOP.ANTENNA.DATA.D_PORT.DIR_COUPLERS:DC2_FUDGE \RF::TOP.ANTENNA.DATA.D_PORT.DIR_COUPLERS:STUB_FUDGE
the rp (reflected power coefficient) fudge is assumed to be 1.0 (i.e., no fudge). It is only used when one needs to debug the possible problem.
back to antenna matching || back to table of contents
RF --> Kalmus --> IPA --> DRVR --> FPA --> dummy load 0.005 kW -->0.5 kW --> 5 kW --> 200 kW --> 2000 kW
Set the previously tuning dimensions.
Set the transmitter to dummy load. For FMIT #3 and #4, you may also need to switch the source ready to independent.
Start the RF monitor.
Check possible changes required if one is changing J port frequency
Set the feed forward/back jump in the modulator board to feed forward.
Run on the transmitter for 30 minutes, then apply high voltage.
Start the rf_control program.
Step A: Evaluation the tuning status: Program 0.2 MW demand 20 ms pulse, and take a test shot. The result can be viewed from the following scopes
cd /usr/local/cmod/codes/rf/scopes/
dwscope -def dcpower1.dat &
dwscope -def xmtr1.dat &
dwscope -def fmit1_ipadrv_coef.dat &
You can also use the tuning program like the following to check the status:
cd /usr/local/cmod/codes/rf/idl
idl
.r fmit1_tuning
fmit1_tuning, test_shot ;; if no test_shot is given, current test shot is used.The output of this program can be pasted to a log file so one can keep track of the progress.
If you get more than 100 kW out of FPA, go to step E; otherwise, go to Step B.
Step B: Get some power from IPA: The only practical knob at the IPA stage is IPA OUTPUT TUNE (OT). The IPA INPUT TUNE (IT) is very broad, in general you don't have to do anything about it. The IPA OUTPUT LOAD (OL) is way too sensitive, and we don't touch it if it is not absolutely necessary.
You need to raise the RF demand (e.g., 400 kW, 20 ms) and get Kalmus power to the 200-300 W level. You should also have IPA anode current more than 0.5 A (so that the IPA is sufficiently driven). Choose a direction, move IPA OT in step of 10 counts. Check the trend of the IPA power, and decide which direction to continue. It is a slow but sure way to find the IPA peak power at about 2 to 4 kW. Don't touch IPA IT or OL. If you touched OL by accident, the peak will surely be lost, and you won't get it back by changing OL. You will have to work on OT again. After you have peaked the IPA, go to Step C.
Step C: Match IPA and DRVR: The key knob here is DRVR INPUT LOAD (IL). The DRVR INPUT TUNE is broad, and you don't need to adjust it. Go with step of 10 counts on DRVR IL, and follow the trend of IPA power reflection coefficient shot by shot. At the snap-in point, you will get near zero IPA reflection. You will not miss it by going 10 counts a time. The response of DRVR IL is nonlinear. It means you may not be able to find the solution by simply following a trend. However, since the change on reflection is dramatic at snap-in, it is not too difficult to find it in practice. After finding this match, you need to go back to Step B, by adjusting IPA OUTPUT TUNE, and peak the IPA power again.
At any time, if you get a DRVR screen overload, you should lower your power demand. If it happens repeatedly even at lower IPA power, you need to move away from this particular DRVR IL. The DRVR may be unstable because it is matching to a harmonic.
Go to Step D after you get the matching between IPA and DRVR with reasonable IPA power (2 to 4 kW).
Step D: Match DRVR and FPA: The knobs in this stage are DRVR OUTPUT TUNE (OT) and FPA INPUT LOAD (IL). Adjust DRVR OT in a step of 10-30 counts, follow the trend of DRVR forward power and peak it (to about 100 kW).
At any time, if you get a DRVR screen overload, you should lower your demand. When I was tuning FMIT #4 on 1060630, I found an unstable state at DRVR OT around 1370. The symptom is very high forward (MW level) and reflected power, with 100% reflection, and high DRVR screen current. The solution is to move DRVR OT 200 points away from this point, and work from there.
Adjust FPA IL to lower the DRVR refl/forw. This knob is rather sensitive, and you need to touch it carefully.
Raise the demand in rf_control program slowly shot by shot, and see how much FPA power the system can deliver. If you can get 1.8 MW to 2 MW, go to Step F, otherwise, to Step E.
Step E: Get more power: Find the stage that is limiting the total power. For example, if you don't see any more power from IPA after raising the demand, then it is the IPA stage that is limiting the total power. If you find the limiting stage is IPA or DRVR, you need to lower the power demand before doing the following steps to avoid driving the FPA too hard.
If the IPA is limiting stage, you can adjust IPA IT (broad response) to get about 30% more power. Other knobs are not practical as long as you use IPA OT to peak the IPA power previously in Step B.
If the DRVR is the limiting stage: check if the IPA-DRVR is matched (DRVR IL), and check if DRVR-FPA is matched (DRVR OT and FPA IL). You may have to sacrifice some DRVR reflection to get more power from the DRVR. You may have to redo Step C and Step D.
If it is the FPA that is limiting, see Step F.
Step F: Lower FPA screen current at high power: Touch FPA OUTPUT TUNE (OT) and FPA OUTPUT LOAD (OL) iteratively to get more power while keep the screen current low. FPA INPUT TUNE (IT) may also be touched if necessary. Rule of thumb for FPA power and screen current: 1 MW --> 1 A, 1.5 MW --> 2 A, 1.7 MW --> 3.5 – 4.0 A.
You may adjust DRVR OT and FPA IL in such a way that you can lower the screen current while keeping the same power output. For example, suppose you lower the DRVR OT and get a lower FPA power. Then you change FPA IL (rather sensitive), to get back to the similar power level. After this, you compare the screen currents. If this new setting gives you a higher screen current at the same power, you change DRVR OT and FPA IL in the opposite way. If you indeed get lower screen current at similar power, you should raise demand and see whether the power is still limited by FPA.
In case that you hit the setting limit on one of the knobs, for example, if DRVR OT hits the high limit, you need to raise DRVR OL, and lower DRVR OT away from the limit.
After you can get about 1.8 MW, at screen screen current no more than 3.5 A, and all previous stages are reasonably matched, go to Step G.
Step G: Evaluation at high power and longer pulse : Move the feed forward/feedback jump on the modulator board to normal feedback position. Take the following pulses: 100 kW/20 ms, 200 kW/100 ms, 500 kW/200 ms, 750 kW/400 ms, 1 MW/500 ms, 1.25 MW/500 ms, 1.5 MW/500 ms, 1.8 MW/500 ms. Watch all the transmitter parameters, for example, FPA anode V/I, screen V/I, DRVR power forward/reflected, IPA power forward/reflected, etc. If all shots are successful, go to finishing up
Here are some of the well tuned conditions:
--------------------- 78 MHz--------------------------- FMIT #3 IPA f 4.57kW, r 1.26kW, anode 4.10kV, 1.24 A DRVR f 96.0kW, r 5.8kW, anode 15.1kV, 10.8A, scr 155.mA,Eff(%): 62.3 FPA f 1.703MW, r 0.005MW, anode 20.4kV, 102.8A, scr 1981.mA, Eff(%): 80.9 FMIT #4 IPA f 3.23 kW, r 0.13kW, anode 4.43kV, 1.39A DRVR f 139.1kW, r 19.7kW, anode 15.8kV, 11.7A, scr 36.mA,Eff(%):85.9 FPA f 1.755 MW, r 0.009MW, anode 21.1kV, 119.6A, scr 2855.mA,Eff(%): 69.3 --------------------- 70 MHz--------------------------- FMIT #3 IPA f 3.79kW, r 0.38kW, anode 4.37kV, 1.12 A DRVR f 93.8kW, r 14.9kW, anode 15.4kV, 15.7A, scr -39.mA,Eff(%): 44.9 FPA f 1.787MW, r 0.014MW, anode 20.6kV, 105.9A, scr 2937.mA, Eff(%): 81.4 FMIT #4 IPA f 2.373 kW, r 0.33kW, anode 4.38kV, 1.19A DRVR f 57.9kW, r 12.2kW, anode 15.5kV, 9.4A, scr 122.mA,Eff(%):48.1 FPA f 1.791 MW, r 0.018MW, anode 20.6kV, 121.1A, scr 2516.mA,Eff(%): 71.3 ---------------------50 MHz --------------------------- FMIT#3 IPA f 1.13 kW, r 0.34kW, anode 4.45kV, 1.29A DRVR f 48.0kW, r 0.0kW, anode 15.8kV, 9.8A, scr 67.mA,Eff(%):31.1 FPA f 1.817 MW, r 0.006MW, anode 21.3kV, 114.8A, scr 2682.mA,Eff(%): 74.0 FMIT#4 IPA f 1.27 kW, r 0.36kW, anode 4.35kV, 1.20A DRVR f 50.7kW, r 6.0kW, anode 15.2kV, 9.8A, scr 122.mA,Eff(%):38.1 FPA f 1.787 MW, r 0.006MW, anode 20.5kV, 115.9A, scr 3926.mA,Eff(%): 75.0
Measure the harmonic level: Set up the spectrum analyzer, and use this
\RF::TOP.TRANSMITTERS:dio2.channel_1
signal as the trigger for the spectrum analyzer. We can measure the IPA and DRVR harmonics from their directional couplers. However, to get the FPA measurement, we have to run in feed forward mode, and with rather lower power demand and connect the spectrum analyzer to a point before any low-pass-filters. Be sure to change back to feedback, and put back the low-pass-filters.
Typically, as found on 1060703, the 2nd/3rd harmonics are down by about 50 dB in IPA and FPA. However, the level at DRVR is higher and it is only only about 20-30 dB down. This measurement is also affected by the different attenuations of the directional couplers. As a result, the real ratio may be higher or lower than the above numbers. Sometimes, you may find small peaks at hundreds kHz away from the center frequency at a level of more than 50 dB down. The origin of such signals are not known yet.
Re-calibrate waveform generator vs power: ran a shot under feedback, program a ramp-up from 0.01 to 1.8 MW. Compare the power output and the demand using the following program:
cd /usr/local/cmod/codes/rf/idl/ idl .r waveform_calib.pro waveform_calib, 'd', shot_number ;; use 'e', 'j3', 'j4' for other transmitters.
and follow the instructions. There is only one coefficient (no more guessing or cranky curve fitting), for example,
\RF::TOP.TRANSMITTERS.TRANSMITTER1.WAVE_FORM:MW_V_COEF
that is needed to be calibrated. The rf_control program takes care of the conversion using demodulator calibration curves in the tree. The value of the coefficient is solely determined by the gain in the modulation board. If the modulation board is modified (or swapped) or the demodulator is changed, you may also need to re-calibrate the coefficient (after correctly point the demodulator for the DC0 signals).
If tuning FMIT #3 and #4, you need to switch the source ready back to plasma operation.
During the vacuum conditioning following the tuning, one needs to watch transmitter oscillations.
back to tuning transmitters || back to table of contents
Run the following IDL program to update information in the RF data tree (including frequency, demodulator calibration curves, directional couplers attenuations, etc). The program also provide the information on attenuation change.
idl .r /usr/local/cmod/codes/rf/idl/change_j_freq change_j_freq, freq=78, shot=-1 ;;other frequency choices are 70, and 50.
calibrate J3/4 DC0 cables and put them into the following nodes. Each node is a two-element array. The first value is the cable attenuation, and the 2nd value is the directional coupler attenuation. You only need to change the first one. For a glance of all the attenuations, check tthe text file at /usr/local/cmod/codes/rf/idl/calibration_J_couplers_probes.caldat. You can modify the tree by changing the values in this file, and run calibiration_couplers_probes, 'JDC0F', /update, frequency=50. (You can also use the time-consuming way and work through “traverser”)
\RF::TOP.ANTENNA.DATA.J_PORT.FMIT_3.DIR_COUPLERS:P_forw_0:cal ;; total ~ 96 dB \RF::TOP.ANTENNA.DATA.J_PORT.FMIT_3.DIR_COUPLERS:P_refl_0:cal ;; total ~ 94 dB \RF::TOP.ANTENNA.DATA.J_PORT.FMIT_4.DIR_COUPLERS:P_forw_0:cal ;; total ~ 97 dB \RF::TOP.ANTENNA.DATA.J_PORT.FMIT_4.DIR_COUPLERS:P_refl_0:cal ;; total ~ 95 dB
It is recommended to add/remove attenuators on the DC0 forw and refl on the demodulators to make the total attenuations close the ideal values above. The directional couplers have different attenuations at different frequency while the cables attenuations are not as sensitive. If this is not achievable, adjustments on the arc protection system has to be made (See Section arc threshold).
calibrate J3/4 DC1 cables and put them into the following nodes. The directional couplers have different attenuations at different frequency while the cables attenuations are not as sensitive. Each node is a two-element array. The first value is the cable attenuation, and the 2nd value is the directional coupler attenuation. You only need to change the first one.
\RF::TOP.ANTENNA.DATA.J_PORT.FMIT_3.DIR_COUPLERS:P_forw_1:cal ;; total ~ 99.5 dB \RF::TOP.ANTENNA.DATA.J_PORT.FMIT_3.DIR_COUPLERS:P_refl_1:cal ;; total ~ 92 dB \RF::TOP.ANTENNA.DATA.J_PORT.FMIT_4.DIR_COUPLERS:P_forw_1:cal ;; total ~ 100.5 dB \RF::TOP.ANTENNA.DATA.J_PORT.FMIT_4.DIR_COUPLERS:P_refl_1:cal ;; total ~ 95 dB
It is recommended to add/remove attenuators on the DC1 forw and refl on the demodulators to make the total attenuations close the ideal values above. If this is not achievable, adjustments on the arc protection system has to be made (See Section arc threshold).
Change the local oscillator frequency on the cell demodulators for the new frequency. The local oscillator frequency is 10 MHz above the RF frequency. For example, to run at 78 MHz, the local frequency is set at 88 MHz. The change is done on the DIP switch near the bottom of the demodulator front panel.
RF freq. 78 MHz 70 MHz 50 MHz 55 MHz 43 MHz
Local freq. 88 MHz 80 MHz 60 MHz 65 MHz 53 MHz
Dip switch pos.
x x x x x LSB
x x x x x
x x x x x
x x x x x MSB
0010 0011 0101 1010 0110
Depending on the loop configuration, you may have to disable or enable the phase balance fault protection. You may also need to adjust voltage limit fault threshold, and digital phase value. See Section arc threshold).
Change the HP RF synthesizer frequencies (one at 30 MHz, and the other one 30 + freq), and switch source ready to independent.
Push ferrite rods all the way in for 78 and 70 MHz. Pull them all the way out for 50 MHz.
Some modification on the dummy load switch has to be made for 50 MHz.
Change the low pass filters above the control rack accordingly.
Change the computer controlled digital phase shifter modules accordingly.
Make sure that the 9-inch lines are capped (or connected to the antenna), then tune FMIT #3 and FMIT #4 following Steps in tuning transmitters.
back to changing J antenna frequency || back to table of contents
Vacuum conditioning This is the most common method in raising the antenna voltage handling. We run low RF power, usually no more than 200 kW, to achieve high voltages in the antenna strap. Gas absorption or minuscule dusts on the antenna that produces arcs can be conditioned away. However, the high voltage locations on the straps are not exactly the same as when running to plasmas, and there are neutral gases and plasmas around the antenna, so that the antenna performance in plasmas is always worse than that in vacuum. Here are some points that one needs to be aware of.
Good starting power levels are 60 kW for D and E, 110 kW for J3 and J4. For D and E antennas, we need to set the threshold for phase balance fault at about 50 kW. It means roughly 300 counts below the normal phase balance threshold on PLC ch24_4 and PLC ch10_4. Put them back for plasma operation. D and E can be conditioned up to 100 kW. J3 and J4 can be as high as 280 kW.
The J3 and J4 antennas have always had a problem in vacuum tuning. The result in running power is different than that tuned using a network analyzer (however we do). The cause has not been figured out. At times, one may have to touch the stub tuner slightly in order to run. After a series of long pulses, the matching will drift also (thermal?), and adjusting the stub tuner length can generally help.
For a freshly tuned transmitter, you need to be wary about transmitter oscillations at the vacuum loading. The symptom is usually max faults at even very low power demand level, and no improvement shot by shot. If one disable the phase-balance protection, such a system will run to the arc power threshold and faults at the point. Since the transmitter does not oscillate to dummy load, the problem is hard to fix. I don't have a standard procedure to deal with it yet. On FMIT#3 and #4, make sure the ferrite rods are at their proper positions. Oscillation on FMIT#3 and #4 may be also resulted from the DC breaks (usually too low capacitance), or an incorrect decoupling loop design. Not all transmitters that oscillate in vacuum will oscillate and become unstable in plasma operation.
In most cases, the pulses should have significantly fewer faults at the same power demand after less than 5 one-sec shots. If this is not achievable, one needs to use chassis ears to locate the arc location. Metallic bangs generally mean that the transmission line is broken down (almost always with Teflon involved). It is strongly recommended to stop further conditioning until the problem is identified or fixed. Faint “zzz...” sound generally means that the break-down is inside the vacuum. Usually, this kind of arcing can be eventually conditioned away. In any cases, be cautious of not overdoing the conditioning because vacuum conditioning can only help plasma operation to a limited extent, but may wreck the system.
Gas filled conditioning This is the way that can mimic the plasma operation, but does not require real plasmas. We only have limited experience on this issue. Generally, we can run the antennas at 0.1 mtorr gas pressure, but may have more faults at 0.2 mtorr level. Although we can reproduce the neutral limit phenomenon, it is still not clear whether running at 0.2 mtorr can help condition the antenna.
We have also tried multi-pactoring experiment on conditioning. On occasions, we did observe a reduced plasma condition time, but in other cases, no improvement was observed. We somewhat suspect that doing multi-pactoring conditioning may cause damages where it hits. As a result, multi-pactoring conditioning is not recommended until we have more knowledge on this technique.
Plasma conditioning Well, just run the antennas and get higher power. Watch all vital signs, including transmitter signals, arc protection signals, JVX phase, etc. For a freshly tuned transmitter, you need to watch closely the FPA screen current also.
phase shifter FFT#2
stub tuner |--| || FFT#1
| | | ||STUB1 ||STUB2
FMIT#2 ---x--|--------| |---------x--||-----x---------||-x------To E antenna
DC1 FFTDC#1 FFTDC#3 FFTDC#2 Note: the labels are not consistent. stub1 and stub2 refers to the electrical lengths, while FFT#1 and FFT#2 refer to the power systems for the FFT canisters. DC1, 2, 3 are the directional couplers measuring the rf power.
The FFT is designed to make the reflection coefficient at FFTDC#1 to be zero. Therefore, we need to by-pass the existing stub tuner and phase shifter before running the FFT. The stub length should be at lambda/4 location (for 80 MHz, the length is at 4.6875 meter). In terms of the PLC counts, it should be about 333 (the response is rather broad near this position). One can tune out the stub tuner from the system using a network analyzer looking at a 50 ohm load at FFTDC#1 location before the FFT is installed.
The lengths of the FFTs and the location of the FFTs relative to the antenna is crucial. (Well, there are quite few IDL programs for the design purpose, and really hard to describe them here). The current design tries to make the system to have the largest parameter space of GAMMA_FFTDC#2. It is not the one to have the lowest voltages on the FFTs (we had arc problems at FFT#2 at high power).
The real time routines reside at the following directory:
/usr/local/cmod/codes/rf/fft
Scope file at
/usr/local/cmod/codes/rf/fft/fft_scope.dat
\RF::TOP.FFT:DIO2 ; A dedicated highway fiber is connected from the engineering encoder to this module.
; If the fiber signal is too weak, the computer would not have correct event timing.
BOARD ID: 0 MODE: LOCAL CRATE IPADDR: (LEAVE IT BLANK) CLOCK SOURCE: HIGHWAY
REC. START EVENT: “” SYNCH: NO SYNCH EVENT: “” DISPATCH
CH1
FUNCTION: PULSE COMMENT: TRIGGER SIGNAL FOR DPCS2 FOR FFT CONTROL
TRIG MODE: EVENT CYCLIC: NO EVENT: [“RF_START”, “START “]
INITIAL LEVEL 1: LOW INITIAL LEVEL 2: HIGH DELAY: 4
DURATION: 0.1 TRIGGER TIME: \TOP:TSTART
CH2
FUNCTION: CLOCK COMMENT: 1 MHZ CLOCK FOR DPCS2 MODULE
FREQUENCY: 1000000 DUTY CYCLE: 50Digital control computer: DPCS2
\RF::TOP.FFT:DPCS2
\RF::TOP.FFT:DPCS2:INIT_ACTION
action
sequential method
ident”: pcdaqdpcs2:mdsip_analysis Device: DPCS2
phase”: init Method”: init
sequence”: 99
\RF::TOP.FFT:DPCS2:RT_ACTION
ident”: pcdaqdpcs2:mdsip_analysis Device: DPCS2
phase”: CHECK Method”: REAL_TIME
sequence”: 5000
\RF::TOP.FFT:DPCS2:RT_CK_ACTION ;; this node is usually turned off.
ident”: DPCS_SERVER Device: DPCS2
phase”: STORE Method”: RT_CHECK
sequence”: 1
\RF::TOP.FFT:DPCS2:STORE_ACTION
ident”: pcdaqdpcs2:mdsip_analysis Device: DPCS2
phase”: STORE Method”: STORE
sequence”: 50
\RF::TOP.FFT:DPCS2.PROCEDURES
\RF::TOP.FFT:DPCS2.PROCEDURES:USER_INIT
“fft_init” ;; initialization routine
\RF::TOP.FFT:DPCS2.PROCEDURES:USER_RT
“fft_real_time” ;; real time routine
\RF::TOP.FFT:DPCS2.PROCEDURES:USER_RT_CK
undefined
\RF::TOP.FFT:DPCS2.PROCEDURES:USER_STORE
“fft_store” ;; store routine
\RF::TOP.FFT:DPCS2.SETTINGS
\RF::TOP.FFT:DPCS2.SETTINGS:CARDS
[2] ;; total # of cards
\RF::TOP.FFT:DPCS2.SETTINGS:CLOCK
DIO2.CHANNEL_2:CLOCK ;; clock signal from DIO2
\RF::TOP.FFT:DPCS2.SETTINGS:DISABLE_INTS
1 ;; 1 (normal operation) = interrupts disabled, 0 means enabled
\RF::TOP.FFT:DPCS2.SETTINGS:ECM
200 ;; # of clock cycles per iteration, 200 = 200 micro-seconds
\RF::TOP.FFT:DPCS2.SETTINGS:END_TIME
2 ;; end time of the DPCS, in seconds relative to t=0
\RF::TOP.FFT:DPCS2.SETTINGS:EVENT_NAME
undefined
\RF::TOP.FFT:DPCS2.SETTINGS:FIFO
“/tmp/dpcs2” ;; directory for temporary files (?)
\RF::TOP.FFT:DPCS2.SETTINGS:INPUTS
[32] ;; number of input channels (set by hardware)
\RF::TOP.FFT:DPCS2.SETTINGS:LLSHR_IMAGE
“libllshr-poll.so.full_stats_outputs_02” ;; a run-time library (?)
\RF::TOP.FFT:DPCS2.SETTINGS:OUTPUTS
[16] ;; number output channels (set by hardware)
\RF::TOP.FFT:DPCS2.SETTINGS:TRIGGER
DIO2.CHANNEL_1:TRIGGER_1 ;; trigger signal from DIO2.
\RF::TOP.FFT:DPCS2.SIGNALS
\RF::TOP.FFT:DPCS2.SIGNALS:INPUT_001 ;; one of the 32 input signals
\RF::TOP.FFT:DPCS2.SIGNALS:OUTPUT_001 ;; one of the 16 input signals
\RF::TOP.FFT.DIR_COUPLERS ;;FFTDC#1, FFTDC#2, FFTDC#3, same structure. \RF::TOP.FFT.DIR_COUPLERS.DC1:PFORW:CAL ;; dc attenuation, cable attenuation \RF::TOP.FFT.DIR_COUPLERS.DC1:PFORW:CAL_DATE ;; calibration date \RF::TOP.FFT.DIR_COUPLERS.DC1:PFORW:DEMOD ;; demodulator name and calibration curves \RF::TOP.FFT.DIR_COUPLERS.DC1:PFORW:RAW_SIG ;; raw signal \RF::TOP.FFT.DIR_COUPLERS.DC1:PFORW:SIG_IO_CH ;; the channel number of the raw signal FFTDC#1: demod<-> D1041 Pforw <-> input_001, sig_io_ch <-> 1 Prefl <-> input_002, sig_io_ch <-> 2 Phase <-> input_003, sig_io_ch <-> 3 FFTDC#2: demod<-> D1040 Pforw <-> input_004, sig_io_ch <-> 4 Prefl <-> input_005, sig_io_ch <-> 5 Phase <-> input_006, sig_io_ch <-> 6 FFTDC#2: to be added.
Length information and feedback parameters
\RF::TOP.FFT.LENGTHS ; each node has two values. the total value counts. All total lengths are positive.
\RF::TOP.FFT.LENGTHS:L_DC1_STUB1 ; distance between FFTDC1 to stub1 (FFT#2), in meter
[0.46, 0.005]
\RF::TOP.FFT.LENGTHS:L_ST1_ST2 ; distance between stub1(FFT#2) to stub2 (FFT#1), in meter
[1.40625,0.]
\RF::TOP.FFT.LENGTHS:L_STUB1_INIT ; The electrical length of stub1 (FFT1) at 0 current, in meter
[0., 1.605]
\RF::TOP.FFT.LENGTHS:L_STUB2_DC2 ; distance between FFTDC2 to stub2 (FFT#1), in meter
[0.46, 0.005]
\RF::TOP.FFT.LENGTHS:L_STUB2_INIT ;The electrical length of stub1 (FFT1) at 0 current, in meter
[0, 0.996]
\RF::TOP.FFT.FEEDBACK ; each node has two values. the total value counts. All total lengths are positive.
\RF::TOP.FFT.FEEDBACK:POWERTHRESH ; kW. Control computer only do calculation when FFTDC#1 Pforw > this threshold
10 ;see computation
\RF::TOP.FFT.FEEDBACK:DC1THRESH ; gamma_dc1 thresholds. See computation
[0.316, 0.1] ; the 1st value separates feedback or feedforward, the
; 2nd value defines a good-enough threshold.
;(note: power reflection coef is squared)
PID (proportional-integral-derivative) parameters:
error signal = e(t-1) = m(t-1) - d(t-1) ;m: measured, d: demand
d(t) = d(t-1) + gain*[e(t) + derivative*(e(t)-e(t-1))] ; gain <0 for feedback, derivative > 0 for pro-act
\RF::TOP.FFT.FEEDBACK:GAIN_CUR ; current feedback gain
-0.5
\RF::TOP.FFT.FEEDBACK:DERIV_CUR ; current feedback derivative
0.2
\RF::TOP.FFT.FEEDBACK:GAIN_ST ; stub length feedback gain
-0.2
\RF::TOP.FFT.FEEDBACK:DERIV_ST ; stub length feedback derivative
0.2Voltage and current of the ferrite canisters
\RF::TOP.FFT.TUNERS
\RF::TOP.FFT.FAULT_SIGNAL ;reference to signal for the FFT fault in the digitizer
\TOP.ANTENNA:DT196_11:INPUT_49
\RF::TOP.FFT.TUNERS.TUNER1 ;; FFT#1
\RF::TOP.FFT.TUNERS.TUNER1:CTR_VOLT_SIG ;; FFT#1 control voltage time trace
\RF::TOP.FFT.TUNERS.TUNER1:CTR_VOLT_SIG:CTR_V_TO_I ;; 60 amp/v, 1 V ctrl volt --> 60 A output current
\RF::TOP.FFT.TUNERS.TUNER1:CTR_VOLT_SIG:SIG_IO_CH ; =1, DPCS output channel for ctrl voltage. (ch 2 for FFT#2)
\RF::TOP.FFT.TUNERS.TUNER1:CURRENT ; measured FFT#1 coil current time trace
\RF::TOP.FFT.TUNERS.TUNER1:CURRENT:CUR_DEMAND ;Demand current level from DPCS2
\RF::TOP.FFT.TUNERS.TUNER1:CURRENT:CUR_RANGE ;[-150.,150.] Amp. current range allowed.
\RF::TOP.FFT.TUNERS.TUNER1:CURRENT:CUR_RAW_SIG ;raw signal from the current sensor
\RF::TOP.FFT.TUNERS.TUNER1:CURRENT:SIG_IO_CH ;=7 DPCS input channel (ch 8 for FFT#2)
\RF::TOP.FFT.TUNERS.TUNER1:CURRENT:V_TO_I_SCALE ;=66, 1 V sensor signal = 66 amp real current (65 for FFT#2)
\RF::TOP.FFT.TUNERS.TUNER1:L_STUB ;calculated electrical stub(#2) length trace
\RF::TOP.FFT.TUNERS.TUNER1:L_STUB:I_TO_L_CONV ;calibration curve (2-D array, current vs. length variation.)
\RF::TOP.FFT.TUNERS.TUNER1:L_STUB:L_STUB_REQ ;time traces of DPCS2 demand of stub#2 length.
\RF::TOP.FFT.TUNERS.TUNER1:VOLTAGE ;coil voltage trace
\RF::TOP.FFT.TUNERS.TUNER1:VOLTAGE:SIG_IO_CH ;=9 DPCS input channel (ch 10 for FFT#2)
\RF::TOP.FFT.TUNERS.TUNER1:VOLTAGE:VOLT_RAW_SIG ;raw signal from the voltage sensor
\RF::TOP.FFT.TUNERS.TUNER1:VOLTAGE:V_RANGE ;=[-200,200], voltage range allowed
\RF::TOP.FFT.TUNERS.TUNER1:VOLTAGE:V_TO_V_SCALE ;=20, 1 V sensor signal = 20 V real voltageback to fast ferrite tuner on E-port
PLC interface for remote control (to be added)
The problems are mostly computer related, and can be solved by rebooting the digitizer and computer. The first sign of trouble is no data in scope, or the tuner current overloaded. Check the logfile /usr/local/cmod/logs/pcdaqdpcs2-dpcs2.log.
Reboot the digitizer first, then the computer (Dell Server) (the order matters). Go to this webpage, login using your linus account, https://www.psfc.mit.edu/research/alcator/data/c_mod_ac_power.php
The switch is alcpwr9: outlet 3 is for digitizers and outlet 1 is for the server. The server took about 3 minutes to fully recover. You may use “ping pcdaqdpcs2” to check its status remotely, and “ssh pcdaqdpcs2” to be sure it is back. You may take a test shot using idl program “fft_test_shot.pro” to take a shot. If there is data shown in the scope, you have probably fixed the system, and you can reset the tuner over current indicator.
Some times, there may be a problem called “/tmp/dpcs2_in is not a pipe” (you can tell from the logfile). you need to simply login onto pcdaqdpcs2, and “rm /tmp/dpcs2_in”. (I don't know the cause of this problem, but it must be related to the booting process).
If you make changes on the fft programs, you need to reboot the IDL program on the Dell server.
ssh pcdaqdpcs2 mdstcl set tree rf /shot=-1 set def fft do /method dpcs2 exit exit exit
The routines need to calculate the required stub lengths to get the match, and also convert the length information to the control voltage to the power supplies of the tuners. The calculation of the stub lengths started from getting the directional coupler data, and scale them to get gamma_fftdc1 and gamma_fftdc2.
Calculate the required stub lengths to match from gamma_fftdc2: when |gamma_fftdc1| > dc1thresh[0] and pforw_dc1 > powerthresh. No stub lengths information is needed. This is feed forward on the stub length related to the reference point of gamma_fftdc1=0 (coil currents are always in feedback mode).
beta= lambda/2/pi & ci = complex(0.0,1.0)
gamma = gamma_fftdc2*exp(-2.0*ci*beta*lengths.l_st2_dc2)
Y = (1-Gamma)/(1+Gamma)
GL = float(Y) & BL = imaginary(Y)
tan_beta_l = tan(beta*lengths.l_st1_st2) ; reduce calculation time
cot_beta_l = 1/tan_beta_l
Gmax = 1.+cot_beta_l^2
if GL*(Gmax - Gl) ge 0.0 then begin
;; two sets of solution. ALMOST ALWAYS, WE CHOOSE CHOICE 1.
choice = 1
case choice of
1: b = cot_beta_l + sqrt(GL*(Gmax - GL))
2: b = cot_beta_l - sqrt(GL*(Gmax - GL))
endcase
; STUB 1
tan_beta_st1 = (GL*tan_beta_L)/(1.-b*tan_beta_l - GL)
st1_norm = atan(tan_beta_st1)/6.28319
st1_norm = (st1_norm + 0.5) mod 0.5
; STUB 2
tan_beta_st2 = 1./(BL - B)
st2_norm = atan(tan_beta_st2)/6.28319 ;; normalized to lambda
st2_norm = (st2_norm + 0.5) mod 0.5
;; output in 'meter'
l_stub1_out = st1_norm*lambda
l_stub2_out = st2_norm*lambdaCalculate the existing stub lengths from gamma_fftdc2 and gamma_fftdc1: when dc1thresh[1] < |gamma_fftdc1| < dc1thresh[0], and pforw_dc1 > powerthresh.
gamma1 = gamma_fftdc1*exp(2.0*ci*beta*lengths.l_dc1_st1)
y1 = (1.-gamma1)/(1.+gamma1)
gamma2 = gamma_fftdc2 *exp(-2.0*ci*beta*lengths.l_st2_dc2)
y2 = (1 - gamma2)/(1 + gamma2)
;; write P = tan(beta*l_stub1+beta*lengths.st1_min) ; unknown, to be solved
;; write Q = tan(beta*l_stub2+beta*lengths.st2_min) ; unknown, to be solved
;; write R = exp(+2.0*ci*beta*lengths.l_st1_st2) ; fixed imaginary number.
;; then the equation is (two equations because they are complex number)
; (1-y1)P-ci (1-y2)Q+Ci
; ----------.R = ----------
; (1+y1)P+ci (1+y2)Q-Ci
; write y1 = a1+ib1, y2= a2 + ib2, R = a3+ib3 = -ib; in ideal case, R = -i
;in the ideal case: the equations have the form
; PQ + U1*P + V1*Q + W1 = 0
; PQ + U2*P + V2*Q + W2 = 0
a1 = float(y1) & b1 = imaginary(y1)
a2 = float(y2) & b2 = imaginary(y2)
R = exp(+2.0*ci*beta*lengths.l_st1_st2)
a3 = float(R) & b3 = imaginary(R)
; ideal case, a3=0, b3=-1
D1 =(1-a1)*(1+a2) + b1*b2 + b1*(1-a2)-(1+a1)*b2
U1 = (1+a1-b1)/D1
V1 = (1-a2+b2)/D1
W1 = -1/D1
D2 = (1-a1)*b2 - b1*(1+a2) - (1+a1)*(1-a2)-b1*b2
U2 = (-1+a1+b1)/D2
V2 = -(1+a2+b2)/D2
W2 = 1/D2
AA = V2-V1
BB = (W2-W1 - U2*V1+V2*U1)
CC = -U2*W1+U1*W2
;; check sqrt
dummy = BB^2-4*AA*CC
if dummy ge 0.0 then begin
Q1 = (-BB + sqrt(BB^2-4*AA*CC)) /2/AA
P1 = (-V1*Q1-W1)/(Q1+U1)
Q2= (-BB - sqrt(BB^2-4*AA*CC)) /2/AA
P2= (-V1*Q2-W1)/(Q2+U1)
tan1_root1 = P1 & tan1_root2 = P2
tan2_root1 = Q1 & tan2_root2 = Q2
endif else begin
tan1_root1 = 0. & tan1_root2 = 0.
tan2_root1 = 0. & tan2_root2 = 0.
endelse
;; to check whether roots exist.
eff_length_success = (abs(tan1_root1) + $
abs(tan1_root1)+ abs(tan1_root1) + abs(tan1_root1)) gt 0.0001
if eff_length_success then begin
;; normalized to half lambda
st1_norm1 = atan(tan1_root1)/!pi/2.
st1_norm1 = (st1_norm1 + 0.5) mod 0.5
st1_norm2 = atan(tan1_root2)/!pi/2.
st1_norm2 = (st1_norm2 + 0.5) mod 0.5
st2_norm1 = atan(tan2_root1)/!pi/2.
st2_norm1 = (st2_norm1 + 0.5) mod 0.5
st2_norm2 = atan(tan2_root2)/!pi/2.
st2_norm2 = (st2_norm2 + 0.5) mod 0.5
l_stub1_est1 = st1_norm1*lambda ;calculated stub lengths from gammas
l_stub2_est1 = st2_norm1*lambda
l_stub1_est2 = st1_norm2*lambda
l_stub2_est2 = st2_norm2*lambda
;; assuming the good root is the one closer to the initial
;; lengths (by design. In rare cases, the root indeed
;; jumps)
delta1 = sqrt((l_stub1_est1 -lengths.l_stub1_ini)^2 +$
(l_stub2_est1 - lengths.l_stub2_ini)^2)
delta2 = sqrt((l_stub1_est2 -lengths.l_stub1_ini)^2 +$
(l_stub2_est2 - lengths.l_stub2_ini)^2)
;; only if the solutions are not far away from the
;; estimated initial length (other wise, the dc1/dc2
;; signals are wrong).
if delta1 le 0.5 or delta2 le 0.5 then begin
;; note the swapping of 1 and 2 here (because we label fft1 as stub2)
fft1.l_stub_mea = l_stub2_est1
fft2.l_stub_mea = l_stub1_est1
if delta2 le delta1 then begin
fft1.l_stub_mea = l_stub2_est2
fft2.l_stub_mea = l_stub1_est2
endif
endif
endifCalculate the required stub lengths to match from gamma_fftdc1: using the calculated stub lengths, when dc1thresh[1] < |gamma_fftdc1| < dc1thresh[0], and pforw_dc1 > powerthresh. This is feedback on gamma_fftdc1 and also coil currents.
l_stub1 = fft2.l_stub_mea ; use the calculated stub lengths
l_stub2 = fft1.l_stub_mea
; from dc1 to st1 location
gamma = gamma_dc1*exp(2.0*ci*beta*lengths.l_dc1_st1)
;stub 1
y = (1.-gamma)/(1.+gamma) - 1.0/(ci*tan(beta*l_stub1))
;3/8 lambda piece; l = - 3*lambda/8
gamma = (1.-y)/(y+1.)*exp(+2.0*ci*beta*lengths.l_st1_st2)
;stub 2
y = (1.-gamma)/(1.+gamma) - 1.0/(ci*tan(beta*l_stub2))
GL = float(Y) & BL = imaginary(Y)
;;follow above calculation using fftdc2 only.
RF monitor signals
Digitizers: 16-channels fast D-Tacq DT216 digitizer. Usually set at 500 kHz internal clock, 200k pre-samples and 1500k post-samples. The trigger signals are from their trigger boxes (side of the rack) respectively. The trigger box is basically an OR gate that has inputs from normal shot cycle trigger and fault events.
\RF_MONITOR::TOP:DT216_XMTR12 ; board number 55
Trigger source: DI3, trig, fpga, 0.0
\RF_MONITOR::TOP:DT216_XMTR34 ; board number 56
Trigger source: DI3, trig, fpga, 0.0Both digitizers have rather large offsets. As a result, I added nodes
\RF_MONITOR::TOP:DT216_XMTR12:OFFSET ; a 16-element array \RF_MONITOR::TOP:DT216_XMTR34:OFFSET ; a 16-element array
to account for them.
Signals list: The signal on the left side has considered the offset and calibration factor. For example, FPA1_ANODE_V is actually
\RF_MONITOR::TOP.RESULTS:FPA1_ANODE_V <===> (.-:DT216_XMTR12:INPUT_02 - .-:DT216_XMTR12:OFFSET[1]) * FPA1_ANODE_V:CAL ============FMIT #1 FPA1_ANODE_I ---> DT216_XMTR12:INPUT_01 FPA1_ANODE_V ---> DT216_XMTR12:INPUT_02 FPA1_GRD_SPk ---> DT216_XMTR12:INPUT_03 FPA1_OSC_MON ---> DT216_XMTR12:INPUT_04 FPA1_SCR_SPK ---> DT216_XMTR12:INPUT_05 FPA1_VAC_ION ---> DT216_XMTR12:INPUT_06 FPA1_PFORW ---> DT216_XMTR12:INPUT_07 FPA1_PREFL ---> DT216_XMTR12:INPUT_08 =============FMIT #2 FPA2_ANODE_I ---> DT216_XMTR12:INPUT_09 FPA2_ANODE_V ---> DT216_XMTR12:INPUT_10 FPA2_GRD_SPk ---> DT216_XMTR12:INPUT_11 FPA2_OSC_MON ---> DT216_XMTR12:INPUT_12 FPA2_SCR_SPK ---> DT216_XMTR12:INPUT_13 FPA2_VAC_ION ---> DT216_XMTR12:INPUT_14 FPA2_PFORW ---> DT216_XMTR12:INPUT_15 FPA2_PREFL ---> DT216_XMTR12:INPUT_16 =============FMIT #3 FPA3_ANODE_I ---> DT216_XMTR34:INPUT_01 FPA3_ANODE_V ---> DT216_XMTR34:INPUT_02 FPA3_GRD_SPk ---> DT216_XMTR34:INPUT_03 FPA3_OSC_MON ---> DT216_XMTR34:INPUT_04 FPA3_SCR_SPK ---> DT216_XMTR34:INPUT_05 FPA3_VAC_ION ---> DT216_XMTR34:INPUT_06 FPA3_PFORW ---> DT216_XMTR34:INPUT_07 FPA3_PREFL ---> DT216_XMTR34:INPUT_08 =============FMIT #4 FPA4_ANODE_I ---> DT216_XMTR34:INPUT_09 FPA4_ANODE_V ---> DT216_XMTR34:INPUT_10 FPA4_GRD_SPk ---> DT216_XMTR34:INPUT_11 FPA4_OSC_MON ---> DT216_XMTR34:INPUT_12 FPA4_SCR_SPK ---> DT216_XMTR34:INPUT_13 FPA4_VAC_ION ---> DT216_XMTR34:INPUT_14 FPA4_PFORW ---> DT216_XMTR34:INPUT_15 FPA4_PREFL ---> DT216_XMTR34:INPUT_16
back to digitizers, timing modules and data management
Digitizers: 96-channel D-Tacq DT196 digitizers. Normally set at 50 kHz, 0 pre-sample, 100k post-samples. In the rf_control program, one can toggle them to be 100 kHz, and 200k post-samples. Note: each channel can take up to 2.6M samples. For long pulse operation, check here.
\RF::TOP.TRANSMITTERS.DT196_XMTR12 ; for FMIT 1 and 2, board number 62
Clock source: DI0, clock, fpga, DIO2.CHANNEL_2:CLOCK
Trigger source: DI3, trig, fpga, DIO2.CHANNEL_1:TRIGGER_1
\RF::TOP.TRANSMITTERS.DT196_XMTR34 ; for FMIT 3 and 4, board number 104
Clock source: DI0, clock, fpga, DIO2.CHANNEL_6:CLOCK
Trigger source: DI3, trig, fpga, DIO2.CHANNEL_5:TRIGGER_1 Both digitizers have rather large offsets. As a result, I added nodes
\RF::TOP.TRANSMITTERS.DT196_XMTR12:offset ; a 96-element array \RF::TOP.TRANSMITTERS.DT196_XMTR34:offset ; a 96-element array
to account for them.
Signals list in the power room:
==================FMIT #1==========================
\RF::TOP.ANTENNA.DATA.D_PORT.DIR_COUPLERS:
P_FORW_0 ---> DT196_XMTR12:INPUT_49
P_REFL_0 ---> DT196_XMTR12:INPUT_50
V_PHAS_0 ---> DT196_XMTR12:INPUT_51
\RF::TOP.TRANSMITTERS.TRANSMITTER1.RESULTS:
DRVR_FWD ---> DT196_XMTR12:INPUT_53
DRVR_REFL ---> DT196_XMTR12:INPUT_54
AMP_OUT ---> DT196_XMTR12:INPUT_57
AMP_OUT_REFL ---> DT196_XMTR12:INPUT_58
IPA_FWD ---> DT196_XMTR12:INPUT_55
IPA_REFL ---> DT196_XMTR12:INPUT_56
FPA_AN_CR ---> DT196_XMTR12:INPUT_02
FPA_AN_VOLT ---> DT196_XMTR12:INPUT_01
FPA_BIAS ---> DT196_XMTR12:INPUT_09
FPA_GR_CR ---> DT196_XMTR12:INPUT_08
FPA_SCR_CR ---> DT196_XMTR12:INPUT_05
FPA_SCR_VOLT ---> DT196_XMTR12:INPUT_14
DRVR_AN_CR ---> DT196_XMTR12:INPUT_03
DRVR_AN_VOLT ---> DT196_XMTR12:INPUT_10
DRVR_BIAS ---> DT196_XMTR12:INPUT_12
DRVR_GR_CR---> DT196_XMTR12:INPUT_13
DRVR_SCR_CR---> DT196_XMTR12:INPUT_07
DRVR_SCR_VLT ---> DT196_XMTR12:INPUT_06
GATE_VOLTAGE (DIO2_ch3) ---> DT196_XMTR12:INPUT_60
IPA_AN_CR ---> DT196_XMTR12:INPUT_04
IPA_AN_VOLT ---> DT196_XMTR12:INPUT_11
MOD_ERR_SIG ---> DT196_XMTR12:INPUT_59
MOD_INTGRTR ---> DT196_XMTR12:INPUT_64
MOD_OUTPUT ---> DT196_XMTR12:INPUT_61
MOD_WAVEFORM (DAO_ch1)---> DT196_XMTR12:INPUT_62
XMTR_FAULT ---> DT196_XMTR12:INPUT_63
=============== FMIT #2 =============================
\RF::TOP.ANTENNA.DATA.E_PORT.DIR_COUPLERS:
P_FORW_0 ---> DT196_XMTR12:INPUT_33
P_REFL_0 ---> DT196_XMTR12:INPUT_34
V_PHAS_0 ---> DT196_XMTR12:INPUT_35
\RF::TOP.TRANSMITTERS.TRANSMITTER2.RESULTS:
DRVR_FWD ---> DT196_XMTR12:INPUT_37
DRVR_REFL ---> DT196_XMTR12:INPUT_38
AMP_OUT ---> DT196_XMTR12:INPUT_41
AMP_OUT_REFL ---> DT196_XMTR12:INPUT_42
IPA_FWD ---> DT196_XMTR12:INPUT_39
IPA_REFL ---> DT196_XMTR12:INPUT_40
FPA_AN_CR ---> DT196_XMTR12:INPUT_18
FPA_AN_VOLT ---> DT196_XMTR12:INPUT_17
FPA_BIAS ---> DT196_XMTR12:INPUT_25
FPA_GR_CR ---> DT196_XMTR12:INPUT_24
FPA_SCR_CR ---> DT196_XMTR12:INPUT_21
FPA_SCR_VOLT ---> DT196_XMTR12:INPUT_30
DRVR_AN_CR ---> DT196_XMTR12:INPUT_19
DRVR_AN_VOLT ---> DT196_XMTR12:INPUT_26
DRVR_BIAS ---> DT196_XMTR12:INPUT_28
DRVR_GR_CR---> DT196_XMTR12:INPUT_29
DRVR_SCR_CR---> DT196_XMTR12:INPUT_23
DRVR_SCR_VLT ---> DT196_XMTR12:INPUT_22
GATE_VOLTAGE (DIO2_ch4) ---> DT196_XMTR12:INPUT_44
IPA_AN_CR ---> DT196_XMTR12:INPUT_20
IPA_AN_VOLT ---> DT196_XMTR12:INPUT_27
MOD_ERR_SIG ---> DT196_XMTR12:INPUT_43
MOD_INTGRTR ---> DT196_XMTR12:INPUT_48
MOD_OUTPUT ---> DT196_XMTR12:INPUT_44
MOD_WAVEFORM (DAO_ch1)---> DT196_XMTR12:INPUT_46
XMTR_FAULT ---> DT196_XMTR12:INPUT_47
===============FMIT #3================
\RF::TOP.ANTENNA.DATA.J_PORT.FMIT_3.DIR_COUPLERS:
P_FORW_0---> DT196_XMTR34:INPUT_49
P_REFL_0---> DT196_XMTR34:INPUT_50
\RF::TOP.TRANSMITTERS.TRANSMITTER3.RESULTS:
DRVR_FWD ---> DT196_XMTR34:INPUT_54
DRVR_REFL---> DT196_XMTR34:INPUT_55
AMP_OUT ---> DT196_XMTR34:INPUT_58
AMP_OUT_REFL --> not connected
IPA_FWD ---> DT196_XMTR34:INPUT_56
IPA_REFL---> DT196_XMTR34:INPUT_57
XMTR_FAULT ---> DT196_XMTR34:INPUT_63
FPA_AN_CR ---> DT196_XMTR34:INPUT_02
FPA_AN_VOLT ---> DT196_XMTR34:INPUT_01
FPA_BIAS ---> DT196_XMTR34:INPUT_09
FPA_GR_CR ---> DT196_XMTR34:INPUT_08
FPA_SCR_CR ---> DT196_XMTR34:INPUT_05
FPA_SCR_VOLT ---> DT196_XMTR34:INPUT_14
DRVR_AN_CR ---> DT196_XMTR34:INPUT_03
DRVR_AN_VOLT ---> DT196_XMTR34:INPUT_10
DRVR_BIAS ---> DT196_XMTR34:INPUT_12
DRVR_GR_CR ---> DT196_XMTR34:INPUT_13
DRVR_SCR_CR ---> DT196_XMTR34:INPUT_07
DRVR_SCR_VLT ---> DT196_XMTR34:INPUT_06
IPA_AN_CR ---> DT196_XMTR34:INPUT_04
IPA_AN_VOLT ---> DT196_XMTR34:INPUT_11
GATE_VOLTAGE (DIO2_CH7)---> DT196_XMTR34:INPUT_59
MOD_ERR_SIG ---> DT196_XMTR34:INPUT_61
MOD_INTGRTR ---> DT196_XMTR34:INPUT_64
MOD_OUTPUT ---> DT196_XMTR34:INPUT_60
MOD_WAVEFORM (dt196_AO_CH3)---> DT196_XMTR34:INPUT_62
===============FMIT #4================
\RF::TOP.ANTENNA.DATA.J_PORT.FMIT_4.DIR_COUPLERS:
P_FORW_0---> DT196_XMTR34:INPUT_33
P_REFL_0---> DT196_XMTR34:INPUT_34
V_phas_0 --> not connected
\RF::TOP.TRANSMITTERS.TRANSMITTER4.RESULTS:
DRVR_FWD ---> DT196_XMTR34:INPUT_38
DRVR_REFL---> DT196_XMTR34:INPUT_39
AMP_OUT ---> DT196_XMTR34:INPUT_65
AMP_OUT_REFL --> not connected
IPA_FWD ---> DT196_XMTR34:INPUT_40
IPA_REFL---> DT196_XMTR34:INPUT_41
XMTR_FAULT ---> DT196_XMTR34:INPUT_47
FPA_AN_CR ---> DT196_XMTR34:INPUT_18
FPA_AN_VOLT ---> DT196_XMTR34:INPUT_17
FPA_BIAS ---> DT196_XMTR34:INPUT_25
FPA_GR_CR ---> DT196_XMTR34:INPUT_24
FPA_SCR_CR ---> DT196_XMTR34:INPUT_21
FPA_SCR_VOLT ---> DT196_XMTR34:INPUT_30
DRVR_AN_CR ---> DT196_XMTR34:INPUT_19
DRVR_AN_VOLT ---> DT196_XMTR34:INPUT_26
DRVR_BIAS ---> DT196_XMTR34:INPUT_28
DRVR_GR_CR ---> DT196_XMTR34:INPUT_29
DRVR_SCR_CR ---> DT196_XMTR34:INPUT_23
DRVR_SCR_VLT ---> DT196_XMTR34:INPUT_22
IPA_AN_CR ---> DT196_XMTR34:INPUT_20
IPA_AN_VOLT ---> DT196_XMTR34:INPUT_27
GATE_VOLTAGE (DIO2_CH8)---> DT196_XMTR34:INPUT_59
MOD_ERR_SIG ---> DT196_XMTR34:INPUT_45
MOD_INTGRTR ---> DT196_XMTR34:INPUT_46
MOD_OUTPUT ---> DT196_XMTR34:INPUT_44
MOD_WAVEFORM (dt196_AO_CH4)---> DT196_XMTR34:INPUT_48
back to digitizers, timing modules and data management
Digitizers: 96-channel D-Tacq DT196 digitizers. Normally set at 50 kHz, 100k post-samples. In the rf_control program, one can toggle them to be 250 kHz, and 400k post-samples. Note: each channel can take up to 2.6M samples. For long pulse operation, check here.
\RF::TOP.ANTENNA:DT196_11 ;board number 11, mostly for J port. Clock source: DI0, clock, fpga, .CAMAC:DDECODER_1.CHANNEL_4:EDGES_R Trigger source: DI3, trig, fpga, .CAMAC:DDECODER_1.CHANNEL_3:EDGES_R[0] \RF::TOP.ANTENNA:DT196_12 ;board number 12, mostly for D/E port. Clock source: DI0, clock, fpga, DT196_11:DI0 Trigger source: DI3, trig, fpga, DT196_11:DI3
Signals list in the cell:
All signals start at \RF::TOP.ANTENNA.DATA. ;;=============D port ================= D_PORT.ANALOG_SIG:DC1A ---> DT196_12:INPUT_72 D_PORT.ANALOG_SIG:DFI1A01 ---> DT196_12:INPUT_08 D_PORT.ANALOG_SIG:DFI1A02 ---> DT196_12:INPUT_07 D_PORT.ANALOG_SIG:DFI2A01 ---> DT196_12:INPUT_06 D_PORT.ANALOG_SIG:DFI2A02 ---> DT196_12:INPUT_05 D_PORT.DIR_COUPLERS:P_FORW_1 ---> DT196_12:INPUT_32 D_PORT.DIR_COUPLERS:P_FORW_1U ---> DT196_12:INPUT_01 D_PORT.DIR_COUPLERS:P_FORW_1U ---> DT196_12:INPUT_29 D_PORT.DIR_COUPLERS:P_FORW_3 ---> DT196_12:INPUT_26 D_PORT.DIR_COUPLERS:P_FORW_4 ---> DT196_12:INPUT_23 D_PORT.DIR_COUPLERS:P_REFL_1 ---> DT196_12:INPUT_31 D_PORT.DIR_COUPLERS:P_REFL_1U ---> DT196_12:INPUT_02 D_PORT.DIR_COUPLERS:P_REFL_2 ---> DT196_12:INPUT_28 D_PORT.DIR_COUPLERS:P_REFL_3 ---> DT196_12:INPUT_25 D_PORT.DIR_COUPLERS:P_REFL_4 ---> DT196_12:INPUT_22 D_PORT.DIR_COUPLERS:V_PHAS_1 ---> DT196_12:INPUT_30 D_PORT.DIR_COUPLERS:V_PHAS_1U ---> DT196_12:INPUT_03 D_PORT.DIR_COUPLERS:V_PHAS_2 ---> DT196_12:INPUT_27 D_PORT.DIR_COUPLERS:V_PHAS_3 ---> DT196_12:INPUT_24 D_PORT.DIR_COUPLERS:V_PHAS_4 ---> DT196_12:INPUT_21 D_PORT.I_PROBES:I_1 ---> DT196_12:INPUT_14 D_PORT.I_PROBES:I_2 ---> DT196_12:INPUT_13 D_PORT.I_PROBES:I_3 ---> DT196_12:INPUT_11 D_PORT.I_PROBES:I_4 ---> DT196_12:INPUT_10 D_PORT.I_PROBES:PHASE_1 ---> DT196_12:INPUT_12 D_PORT.I_PROBES:PHASE_2 ---> DT196_12:INPUT_09 D_PORT.PHASE_LOCK:DC1L ---> DT196_12:INPUT_80 D_PORT.PHASE_LOCK:DC2L ---> DT196_12:INPUT_79 D_PORT.PHASE_LOCK:DC3L ---> DT196_12:INPUT_78 D_PORT.PHASE_LOCK:DC4L ---> DT196_12:INPUT_77 D_PORT.PHASE_LOCK:I1_I2L ---> DT196_12:INPUT_74 D_PORT.PHASE_LOCK:I3_I4L ---> DT196_12:INPUT_73 D_PORT.PHASE_LOCK:V1_V3L ---> DT196_12:INPUT_76 D_PORT.PHASE_LOCK:V2_V4L ---> DT196_12:INPUT_75 D_PORT.VH_PHASE:PH_1 ---> DT196_12:INPUT_18 D_PORT.VH_PHASE:PH_2 ---> DT196_12:INPUT_15 D_PORT.V_PROBES:V_1 ---> DT196_12:INPUT_20 D_PORT.V_PROBES:V_2 ---> DT196_12:INPUT_17 D_PORT.V_PROBES:V_3 ---> DT196_12:INPUT_19 D_PORT.V_PROBES:V_4 ---> DT196_12:INPUT_16 ; =================E PORT=============================== E_PORT.ANALOG_SIG:DC1A ---> DT196_11:INPUT_79 E_PORT.ANALOG_SIG:EFI1A01 ---> DT196_12:INPUT_40 E_PORT.ANALOG_SIG:EFI1A02 ---> DT196_12:INPUT_39 E_PORT.ANALOG_SIG:EFI2A01 ---> DT196_12:INPUT_38 E_PORT.ANALOG_SIG:EFI2A02 ---> DT196_12:INPUT_37 E_PORT.DIR_COUPLERS:P_FOR1 ---> DT196_12:INPUT_64 E_PORT.DIR_COUPLERS:P_FORW_1 ---> DT196_12:INPUT_64 E_PORT.DIR_COUPLERS:P_FORW_1U ---> DT196_12:INPUT_33 E_PORT.DIR_COUPLERS:P_FORW_2 ---> DT196_12:INPUT_61 E_PORT.DIR_COUPLERS:P_FORW_3 ---> DT196_12:INPUT_58 E_PORT.DIR_COUPLERS:P_FORW_4 ---> DT196_12:INPUT_55 E_PORT.DIR_COUPLERS:P_REF1 ---> DT196_12:INPUT_63 E_PORT.DIR_COUPLERS:P_REFL_1 ---> DT196_12:INPUT_63 E_PORT.DIR_COUPLERS:P_REFL_1U ---> DT196_12:INPUT_34 E_PORT.DIR_COUPLERS:P_REFL_2 ---> DT196_12:INPUT_60 E_PORT.DIR_COUPLERS:P_REFL_3 ---> DT196_12:INPUT_57 E_PORT.DIR_COUPLERS:P_REFL_4 ---> DT196_12:INPUT_54 E_PORT.DIR_COUPLERS:V_PHAS_1 ---> DT196_12:INPUT_62 E_PORT.DIR_COUPLERS:V_PHAS_1U ---> DT196_12:INPUT_35 E_PORT.DIR_COUPLERS:V_PHAS_2 ---> DT196_12:INPUT_59 E_PORT.DIR_COUPLERS:V_PHAS_3 ---> DT196_12:INPUT_56 E_PORT.DIR_COUPLERS:V_PHAS_4 ---> DT196_12:INPUT_53 E_PORT.H_PROBES:H_2 ---> DT196_11:INPUT_65 E_PORT.H_PROBES:H_4 ---> DT196_12:INPUT_36 E_PORT.I_PROBES:I_1 ---> DT196_12:INPUT_46 E_PORT.I_PROBES:I_2 ---> DT196_12:INPUT_45 E_PORT.I_PROBES:I_3 ---> DT196_12:INPUT_43 E_PORT.I_PROBES:I_4 ---> DT196_12:INPUT_42 E_PORT.I_PROBES:PHASE_1 ---> DT196_12:INPUT_44 E_PORT.I_PROBES:PHASE_2 ---> DT196_12:INPUT_41 E_PORT.PHASE_LOCK:DC1L ---> DT196_12:INPUT_71 E_PORT.PHASE_LOCK:DC2L ---> DT196_12:INPUT_70 E_PORT.PHASE_LOCK:DC3L ---> DT196_12:INPUT_69 E_PORT.PHASE_LOCK:DC4L ---> DT196_12:INPUT_68 E_PORT.PHASE_LOCK:I1_I2L ---> DT196_12:INPUT_65 E_PORT.PHASE_LOCK:I3_I4L ---> DT196_11:INPUT_80 E_PORT.PHASE_LOCK:V1_V3L ---> DT196_12:INPUT_67 E_PORT.PHASE_LOCK:V2_V4L ---> DT196_12:INPUT_66 E_PORT.VH_PHASE:PH_1 ---> DT196_12:INPUT_50 E_PORT.VH_PHASE:PH_2 ---> DT196_12:INPUT_47 E_PORT.VH_PHASE:PH_4 ---> DT196_12:INPUT_04 E_PORT.V_PROBES:V_1 ---> DT196_12:INPUT_52 E_PORT.V_PROBES:V_2 ---> DT196_12:INPUT_49 E_PORT.V_PROBES:V_2FAST ---> DT196_12:INPUT_51 E_PORT.V_PROBES:V_4 ---> DT196_12:INPUT_48 ;=================J port =================== J_PORT.ANALOG_SIG:J3DC1A ---> DT196_11:INPUT_39 J_PORT.ANALOG_SIG:J4DC1A ---> DT196_11:INPUT_41 J_PORT.ANALOG_SIG:JFI1A01 ---> DT196_11:INPUT_51 J_PORT.ANALOG_SIG:JFI1A02 ---> DT196_11:INPUT_50 J_PORT.ANALOG_SIG:JFI2A01 ---> DT196_11:INPUT_53 J_PORT.ANALOG_SIG:JFI2A02 ---> DT196_11:INPUT_52 J_PORT.ANALOG_SIG:JFI3A01 ---> DT196_11:INPUT_55 J_PORT.ANALOG_SIG:JFI3A02 ---> DT196_11:INPUT_54 J_PORT.BDOT_PROBES:HBOT ---> DT196_11:INPUT_57 J_PORT.BDOT_PROBES:HTOP ---> DT196_11:INPUT_58 J_PORT.BDOT_PROBES:KBOT ---> DT196_11:INPUT_63 J_PORT.BDOT_PROBES:KTOP ---> DT196_11:INPUT_64 J_PORT.BDOT_PROBES:PHASE_1 ---> DT196_11:INPUT_62 J_PORT.BDOT_PROBES:PHASE_2 ---> DT196_11:INPUT_59 J_PORT.BDOT_PROBES:PHASE_3 ---> DT196_11:INPUT_56 J_PORT.BDOT_PROBES:SBOT ---> DT196_11:INPUT_60 J_PORT.BDOT_PROBES:STOP ---> DT196_11:INPUT_61 J_PORT.FMIT_3.DIR_COUPLERS:P_FORW_1 ----> DT196_11:INPUT_43 J_PORT.FMIT_3.DIR_COUPLERS:P_FORW_2 ----> DT196_11:INPUT_32 J_PORT.FMIT_3.DIR_COUPLERS:P_FORW_3 ---> DT196_11:INPUT_29 J_PORT.FMIT_3.DIR_COUPLERS:P_FORW_4 ---> DT196_11:INPUT_26 J_PORT.FMIT_3.DIR_COUPLERS:P_REFL_1 ---> DT196_11:INPUT_44 J_PORT.FMIT_3.DIR_COUPLERS:P_REFL_2 ---> DT196_11:INPUT_31 J_PORT.FMIT_3.DIR_COUPLERS:P_REFL_4 ---> DT196_11:INPUT_28 J_PORT.FMIT_3.DIR_COUPLERS:P_REFL_4 ---> DT196_11:INPUT_25 J_PORT.FMIT_3.DIR_COUPLERS:V_PHAS_1 ---> DT196_11:INPUT_45 J_PORT.FMIT_3.DIR_COUPLERS:V_PHAS_2 ---> DT196_11:INPUT_30 J_PORT.FMIT_3.DIR_COUPLERS:V_PHAS_3 ---> DT196_11:INPUT_27 J_PORT.FMIT_3.DIR_COUPLERS:V_PHAS_4 ---> DT196_11:INPUT_24 J_PORT.FMIT_4.DIR_COUPLERS:P_FORW_1 ---> DT196_11:INPUT_36 J_PORT.FMIT_4.DIR_COUPLERS:P_FORW_2 ---> DT196_11:INPUT_23 J_PORT.FMIT_4.DIR_COUPLERS:P_FORW_3 ---> DT196_11:INPUT_20 J_PORT.FMIT_4.DIR_COUPLERS:P_FORW_4 ---> DT196_11:INPUT_17 J_PORT.FMIT_4.DIR_COUPLERS:P_REFL_1 ---> DT196_11:INPUT_37 J_PORT.FMIT_4.DIR_COUPLERS:P_REFL_2 ---> DT196_11:INPUT_22 J_PORT.FMIT_4.DIR_COUPLERS:P_REFL_3 ---> DT196_11:INPUT_19 J_PORT.FMIT_4.DIR_COUPLERS:P_REFL_4 ---> DT196_11:INPUT_16 J_PORT.FMIT_4.DIR_COUPLERS:V_PHAS_1 ---> DT196_11:INPUT_46 J_PORT.FMIT_4.DIR_COUPLERS:V_PHAS_2 ----> DT196_11:INPUT_21 J_PORT.FMIT_4.DIR_COUPLERS:V_PHAS_3 ----> DT196_11:INPUT_18 J_PORT.FMIT_4.DIR_COUPLERS:V_PHAS_4 ----> DT196_11:INPUT_15 J_PORT.PHASE_LOCK:HBDOTL ---> DT196_11:INPUT_66 J_PORT.PHASE_LOCK:J3DC1L ---> DT196_11:INPUT_40 J_PORT.PHASE_LOCK:HBDOTL ---> DT196_11:INPUT_78 J_PORT.PHASE_LOCK:J3DC3L ---> DT196_11:INPUT_77 J_PORT.PHASE_LOCK:J3DC4L ---> DT196_11:INPUT_76\RF::TOP.ANTENNA.RESULTS:PWR_PL_TOT J_PORT.PHASE_LOCK:J3_J4_VXL ---> DT196_11:INPUT_72 J_PORT.PHASE_LOCK:J4DC1L ---> DT196_11:INPUT_42 J_PORT.PHASE_LOCK:J4DC2L ---> DT196_11:INPUT_75 J_PORT.PHASE_LOCK:J4DC3L ---> DT196_11:INPUT_74 J_PORT.PHASE_LOCK:J4DC4L ---> DT196_11:INPUT_73 J_PORT.PHASE_LOCK:KBDOTL ---> DT196_11:INPUT_68 J_PORT.PHASE_LOCK:SBDOTL ---> DT196_11:INPUT_67 J_PORT.PHASE_LOCK:V1_V3L ---> DT196_11:INPUT_71 J_PORT.PHASE_LOCK:V2_V3L ---> DT196_11:INPUT_70 J_PORT.PHASE_LOCK:V1_V3L ---> DT196_11:INPUT_69 J_PORT.VH_PHASE:PH_1 ---> DT196_11:INPUT_06 J_PORT.VH_PHASE:PH_2 ---> DT196_11:INPUT_03 J_PORT.VH_PHASE:PH_3 ---> DT196_11:INPUT_09 J_PORT.V_PROBES:J3VX ---> DT196_11:INPUT_14 J_PORT.V_PROBES:J4VX ---> DT196_11:INPUT_13 J_PORT.V_PROBES:JVX_PHASE ---> DT196_11:INPUT_12 J_PORT.V_PROBES:V_1 ---> DT196_11:INPUT_11 J_PORT.V_PROBES:V_2_B ---> DT196_11:INPUT_05 J_PORT.V_PROBES:V_3_A ---> DT196_11:INPUT_10 J_PORT.V_PROBES:V_4 ---> DT196_11:INPUT_04
back to digitizers, timing modules and data management
Modules in the power room:
Timing module: \RF::TOP.TRANSMITTERS:DIO2
Board id: 0 Mode: remote Crate ip addr: 192.168.0.62:8106 Clock source: highway
Rec. start event: "" Synch: NO Synch. event: "" dispatch
CH1: Function: PULSE Comment: trigger for DT196_XMTR12
trig. mode: EVENT cyclic: NO Event: ["RF_START","START "]
initial level 1: LOW Initial level 2: HIGH Delay: 4.0
Duration: .1 Trigger time: \TOP:TSTART
CH2: Function: CLOCK Comment: clock for DT196_xmtr12 and DT196AO
Frequency: 50000 Duty cycle: 50
CH3: Function: Pulse Comment: gate signal for transmitter #1
Trig. mode: EVENT Cyclic: NO Event: ["RF_START","START "]
initial level 1: LOW Initial level 2: HIGH Delay: 4.4
Duration: .1 Trigger time: \TOP:TSTART
CH4: same setup as CH3. Gate signal for tranmitter #2
CH5: same setup as CH1, trigger for DT196_XMTR34
CH6: same setup as CH2, clock for DT196_XMTR34
CH7: same setup as CH3. Gate signal for tranmitter #3
CH8: same setup as CH3. Gate signal for tranmitter #4CH 1,2, 5, and 6 can be changed through the "Toggle digitizer sampling rate" function in the rf_control program. CH 3, 4, 7, and 8 can be changed through "Modify gate" function in the rf_control program. Therefore, the rf operator is not recommended to change the module settings directly on the tree.
Waveform generator: \RF::TOP.TRANSMITTERS:DT196AO
This module is a module connected to rear of \RF::TOP.TRANSMITTERS:DT196_XMTR12, so that it has the same board number (#62), and share the clock signal of this digitizer.
AO_clk: DI0 AO_TRIG: DI3 Board: 62 CYCLE_TYPE: once FAWG_DIV: 10W MAX_SAMPLES: 16384 OUTPUT_01: .TRANSMITTER1.WAVE_FORM:ANALOG_OUT_V FIT: linear OUTPUT_02: .TRANSMITTER2.WAVE_FORM:ANALOG_OUT_V FIT: linear OUTPUT_03: .TRANSMITTER3.WAVE_FORM:ANALOG_OUT_V FIT: linear OUTPUT_04: .TRANSMITTER4.WAVE_FORM:ANALOG_OUT_V FIT: linear OUTPUT_05: .TRANSMITTER1.WAVE_FORM:TOMCO_GATE FIT: linear
Setting digitizer DT196_XMTR12 to fast mode (100 kHz) through the "Toggle digitizer sampling rate" function rf_control program also automatically set the FAWG_DIV (divisor for AO_CLK) to 20W to account for the sampling rate change. OUTPUT 01-04 are the waveforms that are programed through the rf control program. OUTPUT 05 is a gate signal for the TOMCO amplifier (replacing the KALMUS) for transmitter #1. At nominal 50 kHz digitizer sampling rate and FAWG_DIV = 10W, the waveform generator is generating a waveform with time resolution of 50 kHz/10 = 5 kHz for 16384/5000. = 3.27 sec. For long pulse operation, check here. The current version of DT196AO does not work properly at digitizer sampling rate >200 kHz. This is the reason that we only get to 100 kHz for fast power room data. The module has 16 real outputs, but the connector has 32 pins. Each output has two pins providing identical signals, for example, pin-17 and pin-1 are identical outputs for OUTPUT 01.
Because the waveform generator is tied to the digitizer and also through the master pcdaqeng1 server, it has had quite some problems lately. One of the symptom is that it often does not have any voltage output after a problem related to pcdaqeng1. This can be solved by power cycling the computer or rebooting the waveform generator/digitizer remotely . Warning: set the CAMAC/MANUAL switch on the PLC computers to MANUAL before power cycling/rebooting the waveform generator.
Encoder: \RF::TOP.TRANSMITTERS:ENG_ENCODER.
This is a local copy (virtual device) of engineering encoder. The encoder is the device that encodes an event, such as "rf_start", onto the highway fiber signals, and the decoder (or the timing module like DIO2) on the other end of the highway can decode it. The only time we need to deal with the encoder is in the following line when creating a trigger signal to start a test shot.
mdstcl,/quiet,$ 'DO/METHOD/OVERRIDE \RF::TOP.TRANSMITTERS.ENG_ENCODER SET_EVENT /ARG="""RF_START"""'
Modules in the cell:
Timing decoder: \RF::TOP.ANTENNA.CAMAC:DDECODER_1
CAAMC name: RF_ANTENNA_DECODER_1 Start time: \top:tstart Comment: decoder for antenna/PCI Start event: ["START ","RF_START ","PCI_START"] E0: not in use. E1: J221-trigger. used for phase contrast imaging diagnostic. E3: Gate Pulse time: \top:tstart Comment: dt196_11 trigger duration: .1F0 event time: \top:tstart, trigger on event Event name: ["START ","RF_START "] Start low E4: Clock Freq: 50000 Comment: dt196_11 clock duration: .1F0 event time: \top:tstart, trigger on event Event name: ["START ","RF_START "] Start low
Note: The clock freq on channel E4 can be changed from the "Toggle digitizer sampling rate" function in the rf_control program.
back to digitizers, timing modules and data management || back to table of contents
At present, all the RF data are taken through data server pcdaqeng1. The rf monitor is also run on this server. Many other groups also use this server. They are highway fibers the timing modules. There are also network fibers/routers to the digitizers. To reboot the digitizers/waveform generator mounted on pcdaqeng1, you can do the following:
ssh pcdaqeng1.psfc.mit.edu acqcmd -b 62 getState ;; get status of board #62 (DT196_xmtr12, also DT196AO) (board# see digitizers) acqcmd -b 62 getFwrev ;; get the version of firmware on the board. ssh root@192.168.0.62 ;; logon (password as of 09/2007: d-t1012q) reboot ;; reboot the digitizer. (Use “acqcmd -b 62 getState” again after about 1 minute)
There is also a net-based remote switch installed (alcpwr12). login onto this webpage to manipulate the power. https://www.psfc.mit.edu/research/alcator/data/c_mod_ac_power.php
To check the status of the digitizers, you can use the following IDL line:
ssh pcdaqeng1.psfc.mit.edu
idl
state = mdsvalue('_state = Dt200WriteMaster(62, "getState")') ;; get board 62 statusThe shot data are physically located on server alcdaq, for example
ssh alcdaq.psfc.mit.edu ;; login cd /cmod/trees/test/rf/ ;; rf test shots cd /cmod/trees/saved/rf/ ;; saved rf test shots. cd /cmod/trees/new/rf/ ;; rf data from today's C-Mod run cd /cmod/trees/new/rf_monitor/ ;; rf monitor data from today's C-Mod run cd /cmod/trees/archives/07/08/29/rf/ ;; archived rf data for run 1070829. cd /cmod/trees/archives/07/08/29/rf_monitor/ ;; rf monitor data for run 1070829.
During a normal C-Mod shot, the rf data are processed after the store action is finished. The shell scripts are run by so-called devices in the rf MDSplus tree, for example,
\RF::TOP.ANTENNA:RF_POWER_D
Action
Sequential Expression
Ident: "SUBMIT_SERVER" submit("/usr/local/cmod/codes/rf/idl/rf_power_d_submit.sh")
Phase: "STORE"
Sequence: DT196_12:STORE_ACTION && .-.TRANSMITTERS:DT196_XMTR12:STORE_ACTION Note: the submit server assigns (sort of randomly) which C-Mod Linux computer to do the job. Therefore, rebooting a Linux computer during C-Mod run should generally be avoided.
The shell scripts being called are listed below:
Under directory: /usr/local/cmod/codes/rf/idl/
rf_bdot_process_submit.sh ;; Scale the b-dot probes data (rarely used)
rf_fault_log_submit.sh ;; Decipher the analog outputs on faults,
;; and make logbook entries under topic 'rf_monitor'
rf_ioncyc_pos_submit.sh ;; Calculate ion cyclotron layer location using EFIT data.
rf_power_d_submit.sh ;; Calculate D power from demodulator curve and attenuation
rf_power_e_submit.sh ;; Calculate E power from demodulator curve and attenuation
rf_power_j3_submit.sh ;; Calculate J3 power from demodulator curve and attenuation
rf_power_j4_submit.sh ;; Calculate J4 power from demodulator curve and attenuation
rf_power_s.sh ;; Calculate total rf net power.
rf_probes_d_submit.sh ;; Calculate D probe from demodulator curve and attenuation
rf_probes_e_submit.sh ;; Calculate E probe from demodulator curve and attenuation
rf_probes_j_submit.sh ;; Calculate J probe from demodulator curve and attenuation The log information on these scripts are recorded in the log files. These files can help debug if there are problems with the automatic data processing.
/usr/local/cmod/logs/rf*.log ;today's log /usr/local/cmod/logs/old-logs/logs-2007-08-29.tgz ;logs for a particular day.
An example of the data structure in the tree:
\RF::TOP.ANTENNA.DATA.D_PORT.DIR_COUPLERS:P_FORW_1 ; The processed power signal (signal with time-axis)
\RF::TOP.ANTENNA.DATA.D_PORT.DIR_COUPLERS:P_FORW_1:CAL ; calibrated attenuation (cable and DC) (numerics)
\RF::TOP.ANTENNA.DATA.D_PORT.DIR_COUPLERS:P_FORW_1:CAL_DATE ; calibrated date (a string)
\RF::TOP.ANTENNA.DATA.D_PORT.DIR_COUPLERS:P_FORW_1:DEMOD_CHN ; demodulator curve location (a string)
“\RF::TOP.ANTENNA.DATA.DEMODULATORS.D1000:FORW”
\RF::TOP.ANTENNA.DATA.D_PORT.DIR_COUPLERS:P_FORW_1:INCAA_CHN ; digitizer channel (a direct reference)
.-.-.-.-:DT196_12:INPUT_32
\RF::TOP.ANTENNA.DATA.DEMODULATORS.D1000:FORW ; demodulator curve, array [[voltages], [rf signal dbm]]In some occasions, we do not want to run the RF system during C-Mod cycle. For this purpose, we can make the RF tree not included or included in the C-Mod pulse:
mdstcl set tree cmod dir dir/fu .rf set node/noinclude .rf ;; to include, use "set node/include .rf" dir/fu .rf close exit
back to digitizers, timing modules and data management
cd /usr/local/cmod/codes/rf/idl idl .r change_long_pulse change_long_pulse, /long_pulse ;; to up to 4 sec plasma pulse length change_long_pulse, /norm_pulse ;; to normal 2 sec plasma pulse length
This program automatically configure the digitizers and the waveform generator. One needs to lengthen the gate signal and waveforms accordingly.
back to digitizers, timing modules and data management || back to table of contents
Starting/rebooting the PLC computers: Occasionally, the PLC computers may crash due to a power glitch or network problem. These computers are PCs with Intel-80386 CPU built in early 1990s (It is just amazing that they are still running fine in 2007). There are four such PCs labeled as rfant (the one near the session leader computer), rf (the one with FMIT #1), and rf2, rf3, rf4. After the computer is started, you need to do the following under the grand-old MS-DOS environment to start the PARAGON program:
login password: rf ;; passwords are rf (for rfant), rf, rf2, rf3, rf4, respectively. parn ;; the command to launch PARAGON interface.
Sometimes, there may be an error saying a bad .csv file. You need to delete this file, for example, if you are working on rf4,
cd \rf4\report\ del *.v* parn
If you cannot get them started, contact Joe Bosco or Yuri Rokhman for assistance. After a fresh reboot, one needs to type in all the information on Protection thresholds and limits (disregard all the values appeared initially).
back to PLC computers, arc protection etc
RF control interface well, it is better to learn through practice on this one: Run on/Run off, HV on/HV off, CAMAC/Manual, Reset transmitter, Reset lockout, and Dummy load/Cell.
Stub tuners and phase shifters:
The first time you started the PARAGON program, the default setting is that you are NOT allowed to move the positions. The password is "ctrl" to enable motion.
From time to time, the st/ps length corresponding to the counts have to be calibrated. One needs to run the ST/PS to the hard limits (both upper and lower). Record the numbers, and put them in the tree nodes, for example:
\RF::TOP.ANTENNA.DATA.D_PORT.TUNERS:SHIFTER_1
4-element array: [max - min length (m), (max - min) (counts), UNUSED, min counts]
\RF::TOP.ANTENNA.DATA.D_PORT.TUNERS:TUNER_1
4-element array: [max - min length (m), (max - min) (counts), UNUSED, min counts]In cases that the upper limit is above 1000, or the lower limit is below 0, you need to adjust the resistor pots in the control circuits and make sure the limits are within 0 to 1000. Real voltage 10 V corresponds to 1000.
Protection thresholds and limits:
The arc protection system checks whether there is an arc in the antenna/transmission line, and shut off the gate signal so that no RF is amplified. We detect arcs from reflection coefficient, phase balance from voltage/current probes, and also a voltage limit on the line. The arc detectors' outputs are daisy-chained. On the gate board, it will retry a pre-set number (usually 10) of times before completely giving up. There is a time delay of about 10 ms (to be sure that the arc has been quenched) between retries.
Arc detection through reflection coefficient: The demodulators in the cell and power room have a built-in arc protection trigger generator. The generator first compares the forward rf power to a pre-set level on the board. If the rf power level is above this pre-set level (normally 100 kW in the cell, and about 60 kW in the power room), the board check the ratio of Prefl/Pforw to the preset arc threshold, normally at 30% (VSWR~3). The boards are tuned before an experimental campaign. The IDL routine
/usr/local/cmod/codes/rf/idl/arc_level_demod.pro
calculates the signal levels required to make adjustment. Since this adjustment is rather time consuming, instead, we usually adjust the attenuators in the line to keep the total attenuation constant. For example, when changing J port frequency. In principle, any work on the frequency, directional coupler, and signal lines to the demodulator requires a careful evaluation of the arc protection settings.
Arc detection through phase balance and voltage limit: These setting points for the phase balance and voltage limit are set through the PLC computer rfant (select "ARCDET" from the main PLC screen). The first time you started the PARAGON program, "0" appears on all fields although PLC settings may be correct. After a PLC power glitch, all the real values stored on PLC will be reset to "0" although the values on the computer screen are still correct. You need to enter all the values and hit "enter" in all fields after a PC rebooting/re-start of PARAGON or after PLC power glitch/cycle. The latest information can be found from C-Mod logbook by custom query:
run >1070101 and topic = “rf” and text like “%paragon%”
A snap shot of the screen:
D-port E-port password
millivolts millivolts ctrl
24_1 Balance threshold: 3000 10_1 Balance threshold: 2500 enable
24_2 Voltage limit: 8500 10_2 Voltage limit: 8650
chan24_4: 8200 chan10_4: 8200
chan12_1 2000 J-port
chan12_2 2000 millivolts Cell warning
chan12_3 0 24_3 light
chan12_4 7400 Voltage limit 3: 4700
10_3 blue/white
Voltage limit 4: 4380 The phase balance detection is activated only when the forward RF power is above a threshold. the threshold on D port is in chan24_4, and chan10_4 on E port, and chan12_4 for J port (same value for J3 and J4). They are the raw signal level from the demodulators.
\RF::TOP.ANTENNA.DATA.D_PORT.DIR_COUPLERS:P_FORW_1:INCAA_CHN \RF::TOP.ANTENNA.DATA.E_PORT.DIR_COUPLERS:P_FORW_1:INCAA_CHN \RF::TOP.ANTENNA.DATA.J_PORT.FMIT3.DIR_COUPLERS:P_FORW_1:INCAA_CHN \RF::TOP.ANTENNA.DATA.J_PORT.FMIT4.DIR_COUPLERS:P_FORW_1:INCAA_CHN
The relation of power and voltage is approximately:
Power[kW] = 10.^(total_attenuation[db]/10. - 15 + voltage[V]) Voltage[V] = alog10(power[kW]) - total_attenuation[db]/10. - 9.0
The phase balance arc is detected when the relative phase between the current probes exceeds the PLC setting. The signals being compared are from their demodulator outputs, and stored in the MDSplus tree:
\RF::TOP.ANTENNA.DATA.D_PORT.I_PROBES:PHASE_1:incaa_chn ;; DI1-I2 phase raw data \RF::TOP.ANTENNA.DATA.D_PORT.I_PROBES:PHASE_2:incaa_chn ;; DI1-I2 phase raw data \RF::TOP.ANTENNA.DATA.E_PORT.I_PROBES:PHASE_1:incaa_chn ;; EI1-I2 phase raw data \RF::TOP.ANTENNA.DATA.E_PORT.I_PROBES:PHASE_2:incaa_chn ;; EI1-I2 phase raw data \RF::TOP.ANTENNA.DATA.J_PORT.VH_PHASE:PH_3:INCAA_CHN ;; JV1-V3 phase raw data \RF::TOP.ANTENNA.DATA.J_PORT.VH_PHASE:PH_2:INCAA_CHN ;; JV2-V4 phase raw data
These signals are compared to PLC channel 24_1 (D-port) and 10_1 (E-port). The PLC values are in mV. In a normal situation, the raw phase signals should be near 0. We usually set the threshold at 2000, which correspond to about (-72, 72) degrees. Occasionally, there might be a small dc voltage offset (for example, one cable is being heated). In this case, one has to raise this threshold slightly. Phase balance faults almost always occurs together with a Pref/Pforw arc indication.
Special consideration on J phase balance: When the transmitters are feeding strap 1-3, and 2-4 respectively, but the loop is configured to run at phases other than [0, pi, 0, pi] (see the digital phase control), we cannot use this phase balance protection since the default phase is no longer 0. We usually by-pass the phase balance by raising the phase threshold from normally near 2000 to 9999. In cases we feed the transmitters to strap 1-2 and 3-4, we need to connect the voltage probe cables in such a way that JV1-JV3 are measuring the straps fed by FMIT#3, and JV2, JV4 are from straps fed by FMIT#4.
The voltage limit is generated from the average of the following voltage probe data. Use the following idl program to roughly estimate the value to be put on PLC ch24_2 (D-port), ch10_2 (E-port), ch 24_3 (J3) and ch 10_3 (J4).
.r /usr/local/cmod/lcoal/codes/rf/idl/demodulator_voltage_limit.pro demodulator_voltage_limit, 'D', 40 ;; 40 = 40 kV Vmax in the line demodulator_voltage_limit, 'E', 40 ;; 40 = 40 kV Vmax in the line demodulator_voltage_limit, 'J3', 40 ;; 40 = 40 kV Vmax in the line demodulator_voltage_limit, 'J4', 40 ;; 40 = 40 kV Vmax in the line
The result has not been very accurate, and the actual values in the PLC setting are rather from experiences running the system. For example, when running at 50 MHz, the voltage for J3/J4 should be lower by about 200 counts due to differences in probe/cable attenuation.
back to PLC computers, arc protection etc
Digital phase control: This digital phase controller sets the phase difference between FMIT #3 and FMIT #4. The PLC convert the input value to 16 bits and connected to a digital phase shifter. We check whether a phase is properly set by looking at JVX3 and JVX4 phase data.
\RF::TOP.ANTENNA.DATA.J_PORT.V_PROBES:JVX_PHASE:INCAA_CHN
In the most common case, FMIT#3 to strap 1-3, and FMIT#4 to strap 2 and 4, with approximately equal coaxial length on both side, JVX phase = 0 for [0, pi, 0, pi] configuration. For normal [0, pi, pi, 0] operation with difference coaxial length on the two straps, JVX phase is also 0. It is at 2.5 V for co-current drive and -2.5 V for counter-current drive. In late campaign 2007, when we fed FMIT #3 to strap 1 and 2, and FMIT #4 to strap 3 and 4, with equal lengths, JVX is at 5 V for [0, pi pi, 0] operation.
For unknown reason, the digital phase is not linearly transferred to JVX phase. As a result, one has to do trial and error to figure out the right value.
back to PLC computers, arc protection etc || back to table of contents
Scope files are setups for the MDSplus dwscope and JAVA scope program. To launch a scope, type
dwscope -def filename
To launch a JAVA scope, type
jScope
On both types of scopes, one can use menu "customize" --> "Use Saved Settings from..." to load the setups. More information on using the scopes can be found in the MDSplus beginners guide.
The scope files dealing with RF data and other interesting C-Mod data are in the directory:
/usr/local/cmod/codes/rf/scopes/
Here is the list and brief description as of September, 2007:
antenna_update_new.dat ;antenna dc1 raw data, FPA anode voltage, net power. bus_rogowskis_and_voltages.dat ;TF bus, and other magnet information cpci_clk_test.dat ; test cpci_dt196_11-1-49.dat ; raw data for cpci_dt196_11, channel 1-49. Cell data. cpci_dt196_12-1-49.dat ; raw data for cpci_dt196_12, channel 1-49. Cell data. cpci_dt196_12.dat ; raw data for cpci_dt196_12, channel 1-49. Cell data. d_antenna.dat ; D antenna information. powers, voltages, etc. d_ant_faults.dat ; D antenna faults indicators (arc, phase balance etc) d_ant_faults_fast.dat ; obsolete dcpower1.dat ; FMIT #1 DC powers (voltage, current, power, etc) dcpower2.dat ; FMIT #2 DC powers (voltage, current, power, etc) dcpower3.dat ; FMIT #3 DC powers (voltage, current, power, etc) dcpower4.dat ; FMIT #4 DC powers (voltage, current, power, etc) dcpower4_old.dat ; obsolete de_hvprobes.dat ; obsolete dt196_11_ch1_32_raw.dat ; raw data of dt196_11, Cell data. dt196_11_ch33_64_raw.dat ; raw data of dt196_11, Cell data. dt196_11_ch65_96_raw.dat ; raw data of dt196_11, Cell data. dt196_12_ch1_32_raw.dat ; raw data of dt196_12, Cell data. dt196_12_ch33_64_raw.dat ; raw data of dt196_12, Cell data. dt196_12_ch65_96_raw.dat ; raw data of dt196_13, Cell data. d_vi_dc1_fast.dat ; obsolete (because of modification on digitizers) d_vi_dc1_fast_processed.dat ; obsolete (because of modification on digitizers) d_vi_probes.dat ; D antenna voltage and current probes processed data d_vi_probes_raw.dat ; D antenna voltage and current probes raw data e_antenna.dat ; E antenna information. powers, voltages, etc. e_ant_faults.dat ; E antenna faults indicators (arc, phase balance etc) e_ant_faults_fast.dat ; obsolete (because of modification on digitizers) e_vi_dc1_fast.dat ; obsolete (because of modification on digitizers) e_vi_dc1_fast_processed.dat ; obsolete (because of modification on digitizers) e_vi_probes.dat ; E antenna voltage and current probes processed data e_vi_probes_raw.dat ; E antenna voltage and current probes raw data fault_signal.dat ; faults indicators all (arc, phase balance, etc) fft_scope.dat ; fast ferrite tuners on E port fmit1_antenna.dat ; FMIT #1 and D antenna (power, current, voltage etc) fmit1_antenna_raw.dat ; FMIT #1 and D antenna raw data (power, I, V etc) fmit1_ipadrv_coef.dat ; FMIT #1 IPA/DRVR/FPA processed power traces fmit2_antenna.dat ; FMIT #2 and E antenna (power, I, V etc) fmit2_antenna_raw.dat ; FMIT #2 and E antenna raw data (power, current, voltage etc) fmit2_ipadrv_coef.dat ; FMIT #2 IPA/DRVR/FPA processed power traces fmit34_antenna.dat ; FMIT #3/#4 and J antenna (power, current, voltage..) fmit34_antenna_raw.dat ; FMIT #3/#4 and J antenna raw (power, current, voltage..) fmit34_ipadrv_raw.dat ; FMIT #3/#4 IPA/DRVR/FPA raw power traces fmit3_antenna.dat ; FMIT #3 and J3 antenna information fmit3_ipadrv_coef.dat ; FMIT #3 IPA/DRVR/FPA processed power traces fmit3_rfpwr.dat ; FMIT #3 IPA/DRVR/FPA processed power traces fmit4_antenna.dat ; FMIT #4 and J3 antenna information fmit4_ipadrv_coef.dat ; FMIT #4 IPA/DRVR/FPA processed power traces fpa_anode_screens.dat ; FPA #1-#4 anode V/I and screen V/I gas.dat ; Gas puff signals on C-Mod gaspressure.dat ; Obsolete gate_signals.dat ; RF control gate signals for all transmitters j34_dc1_phase.dat ; test j34_transducer.dat ; Obsolete j_antenna.dat ; J (J3+J4) antenna information. powers, voltages, etc. j_ant_faults.dat ; J antenna faults indicators (arc, phase balance etc) j_ant_faults_fast.dat ; Obsolete j_bdot_fast.dat ; Obsolete j_bdot_raw.dat ; Bdot probe raw data j_dc1_fast_processed.dat ; Obsolete j_dc1_fast_raw.dat ; Obsolete j_light_detector.dat ; Obsolete j_probes.dat ; J port voltage and current probes processed data. j_probes_raw.dat ; J port voltage and current probes raw data. j_vprobes.dat ; J port voltage probe data. j_vprobes_fast.dat ; Obsolete j_vprobes_fast_processed.dat ; Obsolete j_vprobes_raw.dat ; J port voltate probe raw data lh_scope.dat ; Lower Hybrid system loading_all_antennas.dat ; Antenna loadings from DC2 measurement old_antenna_update.dat ; Antenna raw data pci_calsig.dat ; Phase contrast imaging signal pci_sig.dat ; Phasse contrast imaging signals plasma_confinement.dat ; Plasma confinement information plasma_global_parameters.dat ; Plasma global parameters plasma_global_parameters_java.dat ; JAVA scope for plasma parameters plasma_java.dat ; JAVA scope for plasma parameters plasma_overview.dat ; Plasma overview plasma_overview_linux.dat ; Plasma overview plasma_overview_new.dat ; Plasma overview plasma_overview_sjw-1.dat ; Plasma overview (by Steve Wukitch) plasma_overview_sjw.dat ; Plasma overview (by Steve Wukitch) plasma_performance.dat ; plasma performance pppl_phase_calibration.dat ; Obsolete rf_dc_overview.dat ; Obsolete rfload.dat ; Obsolete rf_monitor.dat ; RF monitor raw data (all transmitters) rf_monitor_fmit1.dat ; RF monitor raw data (FMIT #1) rf_monitor_fmit2.dat ; RF monitor raw data (FMIT #2) rf_monitor_fmit3.dat ; RF monitor raw data (FMIT #3) rf_monitor_fmit4.dat ; RF monitor raw data (FMIT #4) rf_power.dat ; RF net power for all antennas rf_power_neutral_pressure.dat ; RF net power for all antennas plus neutral pressure rf_tube_press.dat ; Obsolete. Replaced by vac ion traces in rf_monitor*.dat shot_summary.dat ; Plasma shot summary. sum_antennas.dat ; Antenna net power and Vmax from DC2. survey.dat ; Plasma parameters time_histories_rot.dat ; Plasma parameters, including toroidal rotation data vmax_all_antennas.dat ; Antenna Vmax from DC2 data. vmax_and_gaspressure.dat ; Antenna Vmax from DC2 data, plus gas pressures waveform_test.dat ; Waveform demands and actual outputs (all transmitters) xmtr1_raw.dat ; FMIT #1 control signals (gate, demand, error, etc) xmtr2_raw.dat ; FMIT #2 control signals (gate, demand, error, etc) xmtr3_raw.dat ; FMIT #3 control signals (gate, demand, error, etc) xmtr4_raw.dat ; FMIT #4 control signals (gate, demand, error, etc) xmtrs_faults.dat ; Transmitter fault indicators power room (analog output)
back to list of scopes || back to table of contents