Skip to content

JCS Interface


JCS Network Configuration

structure.yaml Configuration
type dev_motor_controller
Supports processes yes
Supports device rate yes
Device rate frequency 15kHz

Signals - From Device

Signal name Type Required Description
op_state uint8 automatic Device operational state bit field
i_d float32 optional Measured D axis current (A)
i_q float32 optional Measured Q axis current (A)
v_dc float32 optional Measured DC Bus voltage (V)
th_m_0 float32 optional Rotor mechanical position (Rad)
- May have zero offset applied
- May have bias compensation applied
- May have been passed through an estimator
- Normalised to \([-\pi, \pi]\)
w_m_0 float32 optional Rotor mechanical speed (Rad/s)
i_mot float32 optional Motor current (A)
- Measured Q axis contribution only
i_mot_abs float32 optional Motor current (A)
- Magnitude of measured D and Q axis currents
i_bus float32 optional Computed DC bus current (A)
v_d float32 optional Measured D axis voltage (V)
v_q float32 optional Measured Q axis voltage (V)
t_0 float32 optional Power electronics temperature sensor 0 (degC)
t_1 float32 optional Power electronics temperature sensor 1 (degC)
t_2 float32 optional Power electronics temperature sensor 2 (degC)
t_ave float32 optional Average power electronics temperature (degC)
v_supply float32 optional 12V Supply voltage (V)
(May not be supported by device)
i_dq_cmd_clamp float32 optional Health clamped maximum current command (A)
i_state uint8 optional Current controller state bit field
i_a float32 optional Measured phase A current (A)
i_b float32 optional Measured phase B current (A)
i_c float32 optional Measured phase C current (A)
th_m_counts_0 uint32 optional Encoder mechanical position in counts
th_m_encoder_0 float32 optional Encoder mechanical position (Rad)
(Derived from raw encoder)
- Normalised to \([0, 2\pi]\)
an_0 float32 optional Analog input 0
- Signal may be renamed
th_e float32 optional Rotor mechanical position (Rad)
- May have zero offset applied
- May have bias compensation applied
- May have been passed through an estimator
- Normalised to \([-\pi, \pi]\)
v_d_cmd float32 optional D axis voltage command (as output from current controller) (V)
v_q_cmd float32 optional Q axis voltage command (as output from current controller) (V)
v_d_cmd_mod float32 optional Modulated D axis voltage command (normalised to DC bus voltage) (V)
v_q_cmd_mod float32 optional Modulated Q axis voltage command (normalised to DC bus voltage) (V)
v_al_cmd_mod float32 optional Modulate Al axis voltage command (normalised to DC bus voltage) (V)
v_be_cmd_mod float32 optional Modulate Be axis voltage command (normalised to DC bus voltage) (V)
duty_a float32 optional Phase A duty cycle (A)
duty_b float32 optional Phase B duty cycle (A)
duty_c float32 optional Phase C duty cycle (A)
encoder_0_error_rate float32 optional Encoder 0 error rate filter output
Directly proportional to the health of the encoder

Bitfields

Signal: op_state
Bit Description
0 - 2 Reserved for JCS
3 Controller running flag
Set when any controller is running
4 Encoder warning flag
Set when any encoder monitor is in a warning state
5 Temperature dependant current clamp flag
Set when the current controllers inputs are clamped by temperature
6 Temperature warning flag
Set when any temperature measurement exceeds the warning limit
7 Analog warning flag
Set when analog channel exceeds the warning limit.
Unset when channel is below the warning limits

Signal: i_state

Current controller state machine state

Bit Description
0 Controller off
1 Controller calibrating
2 Controller standby
3 Controller running
4 Controller error
5 - 7 Reserved

Signals - To Device

Signal name Type Required Description
i_d float32 optional D axis current command (A)
- controller_mode current_dq only
i_q float32 optional Q axis current command (A)
- controller_mode current_dq only
th_m float32 optional Rotor mechanical position from JCS network (Rad)
- May have bias compensation applied
- May have zero offset applied
- May be passed through an estimator
- Normalised to \([-\pi, \pi]\)
w_m float32 optional Rotor mechanical speed from JCS network (Rad/s)
i_d_kp float32 optional D axis current controller proportional gain
- controller_mode current_dq only
i_d_ki float32 optional D axis current controller integral gain
- controller_mode current_dq only
i_d_lim float32 optional D axis current controller integrator and output limit (V)
- controller_mode current_dq only
i_q_kp float32 optional Q axis current controller proportional gain
- controller_mode current_dq only
i_q_ki float32 optional Q axis current controller integral gain
- controller_mode current_dq only
i_q_lim float32 optional Q axis current controller integrator and output limit (V)
- controller_mode current_dq only
v_d float32 optional D axis voltage command (A)
- controller_mode voltage_dq only
v_q float32 optional Q axis voltage command (A)
- controller_mode voltage_dq only