SKF Fermi Chopper. Under construction. Nick Hauser 2009-03-31 15:50 Commands This chapter is untested documentation. The node names and descriptions should be correct. There will be some further modifications made to the chopper driver. The Mirrortron/SKF fermi chopper is a SICS script context object???. There are 2 choppers, the master chopper which uses the prefix mch and the slave chopper sch. There should be 2 parts, the script context object, which has the name /instrument/fermi_chopper and the 2 driveable interfaces to the object, which have the names mchs for speed and mchp for phase. Hence you can drive and run the mchs and mchp. With the master/slave chopper setup, the slave indicates the controller is in PHASE CONTROL MODE to a master controller. This is required if the slave controller is operating sub-synchronously to the REFERENCE parameter. drive mchs rpm Units: RPM Runs the fermi chopper to rpm. This will not always be exactly the value that you set. See permspd below. Allowed values mchs (master), schs (slave) mchs permspd rpm Units: RPM Returns the permitted speed closest to the requested rpm. The choppers have a range of speeds that are not allowed due to resonances. The SICS driver will try to set the chopper to a speed as close as possible to the requested speed. Allowed values mchs (master), schs (slave) drive mchp phase Units: ns Allowed values mchp (master), schp (slave) mchs idle To change the direction of a chopper, you need to run it to the idle state first, which should already be set to 0 rpm, then drive the chopper to in the opposite direction. e.g. mchs idle drive mchs 4000 Simply putting in a value of rpm of the opposite sign won't work. Allowed values mchs (master), schs (slave) hlist /instrument/fermi_chopper Lists all the fermi_chopper nodes hset /instrument/fermi_chopper/chopper/node val Set val on a node of chopper hget /instrument/fermi_chopper/chopper/node Get the value of a chopper/node Allowed speed table ??? The fermi chopper is under the /instrument/fermi_chopper node in hipadaba, which is where it will be found when using the Gumtree TableTree. This complies with the NeXus standard. Parameters For more detailed description of these parameter, please see the MIRRORTRON/SKF chopper manual in the NBI content management system. /instrument/fermi_chopper/chopper/ e.g. hget /instrument/fermi_chopper/mch/rotation_speed Contains all the chopper specific parameters device_error Communications error reported by the chopper controller. rotation_speed Units = rpm Get the actual speed phase_veto_count Get the veto count. VETO is the number of TDC pulses that have fallen outside the veto window or occurred when a Reference Loss alarm was present since the veto count was last reset. phase_nonveto_count Get the non veto count. NON_VETO is the number of TDC pulses that fall inside the veto window without Reference Loss alarm being present since the veto count was last reset phase_acc Units = µs Get the phase accuracy. PHASE ACCURACY is calculated as the mean value of phase errors. PHASE ACCURACY should equal the PHASE DELAY motor parameter when the machine is phased locked phase_rep Units = µs Get the phase repeatability. PHASE REPEATABILITY is the standard deviation of phase. phase_ok Units = % Get phase OK. PHASE OK is the percentage of TDC pulses that fall in a time window centered around the Reference-In pulse adjusted for PHASE DELAY. The width of time window is defined by the VETO WINDOW parameter. vetowin100ns Units = 100ns This command gets the VETO WINDOW parameter in volatile memory. (This parameter returns to its default value when the controller is re-powered.) vetowin50ns Units = 50ns This command gets the VETO WINDOW parameter in volatile memory. (This parameter returns to its default value when the controller is re-powered.) Although the parameter is sent with resolution of 10ns, it will be rounded and used with precision of 50ns. mode Gets the MOTOR CONTROL MODE. 0=RPM, 1=PHASE (default) speed_setpt Units = RPM This command gets RUN SPEED set point parameter value in non-volatile memory. This only sets this value, it does not run the motor to this value. prop_gain Gets the motor control proportional gain parameter and saves it in non-volatile memory. int_gain Gets the motor control integral gain parameter and saves it in non-volatile memory phase_gain Gets the motor control phase gain parameter and saves it in non-volatile memory. ref_delay Units = ms Gets the phasing time delay and saves it in non-volatile memory ref_period Units = ns Gets the reference period and saves it in non-volatile memory sync_srce Gets the sync source (0=external, 1=internal) motdir Gets the motor direction (0=CW, 1=CCW) idle_toggle Gets the idle toggle. This is always 1. System status /instrument/fermi_chopper/chopper/system_status e.g. hget /instrument/fermi_chopper/mch/system_status/motdir. Contains the system status, which are chopper specific. hget only. These are read-only binary, allowed values 0 or 1. avc_on gets the ??? 1=true, 0=false motdir gets the motor direction (0=CW, 1=CCW) phase_locked 1=TDC signal is locked to reference signal. This corresponds to the PHASE LOCK relay contact. lev_complete 1=Rotor is Levitated alarm 1=Shutdown is latched. The state of this bit matches the status of the front panel Fault LED and the SHUTDOWN relay contact. run 1=Permission to run motor. This is given when the RUN bit is set and the SHUTDOWN bit is not set. This indicates levitation complete AND position shutdown alarms are enabled. It matches the status of the RUN relay contact. up_to_speed 1=Speed is within 1% of the OPERATING SPEED parameter ok 1=Controller is able and ready to levitate, or is levitating. This corresponds with the REALY LED flashing or being steady green Interlock status /instrument/fermi_chopper/chopper/intlck_status e.g. hget /instrument/fermi_chopper/mch/intlck_status/test_mode. Contains the interlock status. hget only. Check here if a chopper won't do as it is commanded. To run a chopper, all these status must be 0. These are read-only binary, allowed values 0 or 1. test_mode 1=Test mode active (rotation prevented). cc_shutdown_req 1= Motor controller requests shutdown of levitation controller because it has detected a shutdown condition. dsp_summ_shtdwn 1= DSP Summary Shutdown. Levitation controller request a motor shutdown. cooling_loss 1 = Cooling Loss Shutdown spd_sensor_loss 1 = Speed Sensor Loss Shutdown ref_sig_loss 1 = Reference Signal Loss over_temp 1= Motor Over Temperature Shutdown or RTD Over Temperature Shutdown. vac_fail 1 = Vacuum Fail Shutdown overspeed_or_breakfail 1 = Over Speed Trip Shutdown or Motor Brake Fail Shutdown cc_wd_fail 1 = Customer Card Watch Dog Fail Shutdown ext_fault 1 = External Fault Shutdown ups_fail 1= UPS Fail Shutdown emerg_stop 1 = Emergency Stop Shutdown pos_alarm 1 = Position Shutdown on one of the bearing axis osc_fail 1 = Oscillator Fail Shutdown. dsp_wd_fail 1 = DSP Watch Dog Fail Shutdown Control commands /instrument/fermi_chopper/chopper/control/ e.g. hset /instrument/fermi_chopper/mch/control/setvetowin100 700 Contains the settable parameters that control the chopper. device_error ??? is this the overall error state. You can't set it, so why is it under control? set_vetowin100 Units = 100ns This command sets the VETO WINDOW parameter in volatile memory. (This parameter returns to its default value when the controller is re-powered.) set_vetowin50 Units = 50ns This command sets the VETO WINDOW parameter in volatile memory. (This parameter returns to its default value when the controller is re-powered.) Although the parameter is sent with resolution of 10ns, it will be rounded and used with precision of 50ns set_mode Sets the MOTOR CONTROL MODE (0=RPM, 1=PHASE) set_rotspeed Units = rpm Set the target speed set_prop_gain Sets the motor control proportional gain parameter and saves it in non-volatile memory. set_int_gain Sets the motor control integral gain parameter and saves it in non-volatile memory. set_phase_gain Sets the motor control phase gain parameter and saves it in non-volatile memory set_ref_delay Units = ns Sets the phasing time delay and saves it in non-volatile memory set_ref_period Units = ns Sets the reference period and saves it in non-volatile memory set_sync_source Sets the sync source (0=external, 1=internal) set_motor_dir Sets the motor direction (0=CW, 1=CCW) start run to the target value from set_rotspeed stop will drive to 0 rpm and delevitate idle_toggle Toggles between run and idle state. The state of the controller can be requested. A command to read Modbus coil 3 will be added. Allowed value: 1 reset If the controller is in an alarm state, you need to send this reset before setting other parameters.