DriveTests

class ingeniamotion.drive_tests.DriveTests(motion_controller)
digital_halls_test(servo='default', axis=1, apply_changes=True)

Executes the digital halls feedback test given a target servo and axis. By default test will make changes in some drive registers like feedback polarity and others suggested registers. To avoid it, set apply_changes to False.

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

  • axis (int) – axis that will run the test. 1 by default.

  • apply_changes (bool) – if True, test applies changes to the servo, if False it does not. True by default.

Returns

Dictionary with the result of the test:

{
    # (int) Result code
    "result": 0,
    # (dict) Suggested register values
    "suggested_registers":
        {"FBK_DIGHALL_POLARITY": 0},
    # (str) Human readable result message
    "message": "Feedback test pass successfully"
}

Return type

dict

Raises

TestError – In case the servo or setup configuration makes impossible fulfilling the test

incremental_encoder_1_test(servo='default', axis=1, apply_changes=True)

Executes the incremental encoder 1 feedback test given a target servo and axis. By default test will make changes in some drive registers like feedback polarity and other suggested registers. To avoid it, set apply_changes to False.

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

  • axis (int) – axis that will run the test. 1 by default.

  • apply_changes (bool) – if True, test applies changes to the servo, if False it does not. True by default.

Returns

Dictionary with the result of the test:

{
    # (int) Result code
    "result": 0,
    # (dict) Suggested register values
    "suggested_registers":
        {"FBK_DIGENC1_POLARITY": 0},
    # (str) Human readable result message
    "message": "Feedback test pass successfully"
}

Return type

dict

Raises

TestError – In case the servo or setup configuration makes impossible fulfilling the test

incremental_encoder_2_test(servo='default', axis=1, apply_changes=True)

Executes incremental encoder 2 feedback test given a target servo and axis. By default test will make changes in some drive registers like feedback polarity and other suggested registers. To avoid it, set apply_changes to False.

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

  • axis (int) – axis that will run the test. 1 by default.

  • apply_changes (bool) – if True, test applies changes to the servo, if False it does not. True by default.

Returns

Dictionary with the result of the test:

{
    # (int) Result code
    "result": 0,
    # (dict) Suggested register values
    "suggested_registers":
        {"FBK_DIGENC2_POLARITY": 0},
    # (str) Human readable result message
    "message": "Feedback test pass successfully"
}

Return type

dict

Raises

TestError – In case the servo or setup configuration makes impossible fulfilling the test

commutation(servo='default', axis=1, apply_changes=True)

Executes a commutation calibration given a target servo and axis. By default commutation will make changes in some drive registers like commutation angle offset and other suggested registers. To avoid it, set apply_changes to False.

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

  • axis (int) – axis that will run the test. 1 by default.

  • apply_changes (bool) – if True, test applies changes to the servo, if False it does not. True by default.

Returns

Dictionary with the result of the test:

{
    # (int) Result code
    "result": 0,
    # (dict) Suggested register values
    "suggested_registers":
        {"COMMU_ANGLE_OFFSET": 0.12},
    # (str) Human readable result message
    "message": "Phasing process finished successfully"
}

Return type

dict

Raises

TestError – If servo or setup configuration makes impossible complete the calibration