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 is in a warning state |
5 | Temperature dependent 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 |