Capture

class ingeniamotion.capture.Capture(motion_controller)

Capture.

clean_disturbance(servo='default', version=None)

Disable monitoring/disturbance and remove disturbance mapped registers.

Parameters
  • servo (str) – servo alias to reference it. default by default.

  • version (MonitoringVersion) – Monitoring/Disturbance version, if None reads from drive. None by default.

clean_monitoring(servo='default', version=None)

Disable monitoring/disturbance and remove monitoring mapped registers.

Parameters
  • servo (str) – servo alias to reference it. default by default.

  • version (MonitoringVersion) – Monitoring/Disturbance version, if None reads from drive. None by default.

clean_monitoring_disturbance(servo='default')

Disable monitoring/disturbance, remove disturbance and monitoring mapped registers.

Parameters

servo (str) – servo alias to reference it. default by default.

create_disturbance(register, data, freq_divider, servo='default', axis=1, start=False)

Returns a Disturbance instance configured with target registers.

Parameters
  • register (str) – target register UID.

  • data (list) – data to write in disturbance.

  • freq_divider (int) – determines disturbance frequency divider. Frequency will be Position & velocity loop rate frequency / freq_divider, see ingeniamotion.configuration.Configuration.get_position_and_velocity_loop_rate() to know about this frequency. It must be 1 or higher.

  • servo (str) – servo alias to reference it. default by default.

  • axis (int) – servo axis. 1 by default.

  • start (bool) – if True, function starts disturbance, if False disturbance should be started after. False by default.

Returns

Instance of disturbance configured.

Return type

Disturbance

Raises
create_monitoring(registers, prescaler, sample_time, trigger_delay=0, trigger_mode=<MonitoringSoCType.TRIGGER_EVENT_NONE: 0>, trigger_signal=None, trigger_value=None, servo='default', start=False)

Returns a Monitoring instance configured with target registers.

Parameters
  • registers (list of dict) – list of registers to add to Monitoring.

  • should have the follow format (Dicts) –

    [
        { # Monitoring register one
            "name": "CL_POS_FBK_VALUE",  # Register name.
            "axis": 1  # Register axis.
            # If it has no axis field, by default axis 1.
        },
        { # Monitoring register two
            "name": "CL_VEL_FBK_VALUE",  # Register name.
            "axis": 1  # Register axis.
            # If it has no axis field, by default axis 1.
        }
    ]
    

  • prescaler (int) – determines monitoring frequency. Frequency will be Position & velocity loop rate frequency / prescaler, see ingeniamotion.configuration.Configuration.get_position_and_velocity_loop_rate() to know about this frequency. It must be 1 or higher.

  • sample_time (float) – sample time in seconds.

  • trigger_delay (float) – trigger delay in seconds. Value should be between -sample_time/2 and sample_time/2 . 0 by default.

  • trigger_mode (MonitoringSoCType) – monitoring start of condition type. TRIGGER_EVENT_NONE by default.

  • trigger_signal (dict) – dict with name and axis of trigger signal for rising or falling edge trigger.

  • trigger_value (int or float) – value for rising or falling edge trigger.

  • servo (str) – servo alias to reference it. default by default.

  • start (bool) – if True, function starts monitoring, if False monitoring should be started after. False by default.

Returns

Instance of monitoring configured.

Return type

Monitoring

Raises
  • ValueError – If prescaler is less than 1.

  • ValueError – If trigger_delay is not between -total_time/2 and total_time/2.

  • IMMonitoringError – If register maps fails in the servo.

  • IMMonitoringError – If buffer size is not enough for all the registers and samples.

  • IMMonitoringError – If trigger_mode is rising or falling edge trigger and trigger signal is not mapped.

  • TypeError – If trigger_mode is rising or falling edge trigger and trigger_signal or trigger_value are None.

create_poller(registers, servo='default', sampling_time=0.125, buffer_size=100, start=True)

Returns a Poller instance with target registers.

Parameters
  • registers (list of dict) –

    list of registers to add to the Poller. Dicts should have the follow format:

    [
        { # Poller register one
            "name": "CL_POS_FBK_VALUE",  # Register name.
            "axis": 1  # Register axis.
            # If it has no axis field, by default axis 1.
        },
        { # Poller register two
            "name": "CL_VEL_FBK_VALUE",  # Register name.
            "axis": 1  # Register axis.
            # If it has no axis field, by default axis 1.
        }
    ]
    

  • servo (str) – servo alias to reference it. default by default.

  • sampling_time (float) – period of the sampling in seconds. By default 0.125 seconds.

  • buffer_size (int) – number maximum of sample for each data read. 100 by default.

  • start (bool) – if True, function starts poller, if False poller should be started after. True by default.

Returns

Poller object with chosen registers.

Poller.start()

Poller starts reading the registers.

Poller.stop()

Poller stop reading the registers.

Poller.data

tuple with 3 items: a list of timestamp, list of lists of values (one list of values for each register), and a boolean that indicates if data was lost.

When the poller starts, the lists are filled with the timestamp and the value of the registers reading. The maximum length of the list will be buffer_size value, when this size is reached, the older value will be removed and the newest will be added.

When the property data is read list are reset to a empty list.

Return type

Poller

disable_disturbance(servo='default', version=None)

Disable disturbance.

Parameters
  • servo (str) – servo alias to reference it. default by default.

  • version (MonitoringVersion) – Monitoring/Disturbance version, if None reads from drive. None by default.

disable_monitoring(servo='default', version=None)

Disable monitoring.

Parameters
  • servo (str) – servo alias to reference it. default by default.

  • version (MonitoringVersion) – Monitoring/Disturbance version, if None reads from drive. None by default.

disable_monitoring_disturbance(servo='default')

Disable monitoring and disturbance.

Parameters

servo (str) – servo alias to reference it. default by default.

enable_disturbance(servo='default', version=None)

Enable disturbance.

Parameters
  • servo (str) – servo alias to reference it. default by default.

  • version (MonitoringVersion) – Monitoring/Disturbance version, if None reads from drive. None by default.

Raises

IMMonitoringError – If disturbance can’t be enabled.

enable_monitoring(servo='default')

Enable monitoring.

Parameters

servo (str) – servo alias to reference it. default by default.

Raises

IMMonitoringError – If monitoring can’t be enabled.

enable_monitoring_disturbance(servo='default')

Enable monitoring and disturbance.

Parameters

servo (str) – servo alias to reference it. default by default.

Raises

IMMonitoringError – If monitoring can’t be enabled.

get_disturbance_status(servo='default', version=None)

Get Disturbance Status.

Parameters
  • servo (str) – servo alias to reference it. default by default.

  • version (MonitoringVersion) – Monitoring/Disturbance version, if None reads from drive. None by default.

Returns

Disturbance Status.

Return type

int

get_monitoring_disturbance_status(servo='default')

Get Monitoring Status.

Parameters

servo (str) – servo alias to reference it. default by default.

Returns

Monitoring/Disturbance Status.

Return type

int

get_monitoring_process_stage(servo='default', version=None)

Return monitoring process stage.

Parameters
  • servo (str) – servo alias to reference it. default by default.

  • version (MonitoringVersion) – Monitoring/Disturbance version, if None reads from drive. None by default.

Returns

Current monitoring process stage.

Return type

MonitoringProcessStage

get_monitoring_status(servo='default')

Get Monitoring Status.

Parameters

servo (str) – servo alias to reference it. default by default.

Returns

Monitoring Status.

Return type

int

is_disturbance_enabled(servo='default', version=None)

Check if disturbance is enabled.

Parameters
  • servo (str) – servo alias to reference it. default by default.

  • version (MonitoringVersion) – Monitoring/Disturbance version, if None reads from drive. None by default.

Returns

True if disturbance is enabled, else False.

Return type

bool

is_frame_available(servo='default', version=None)

Check if monitoring has an available frame.

Parameters
  • servo (str) – servo alias to reference it. default by default.

  • version (MonitoringVersion) – Monitoring/Disturbance version, if None reads from drive. None by default.

Returns

True if monitoring has an available frame, else False.

Return type

bool

is_monitoring_enabled(servo='default')

Check if monitoring is enabled.

Parameters

servo (str) – servo alias to reference it. default by default.

Returns

True if monitoring is enabled, else False.

Return type

bool

mcb_synchronization(servo='default')

Synchronize MCB, necessary to monitoring and disturbance. Motor must be disabled.

Parameters

servo (str) – servo alias to reference it. default by default.

Raises

IMStatusWordError – If motor is enabled.