Servo¶
- class ingenialink.servo.SERVO_FLAGS[source]¶
Status Flags.
- CS_FOLLOWS = 4¶
(CST/CSV/CSP) follow command value.
- FERR = 8¶
(CST/CSV/CSP/PV) following error.
- HOMING_ATT = 4¶
(Homing) attained.
- HOMING_ERR = 8¶
(Homing) error.
- IANGLE_DET = 16¶
Initial angle determination finished.
- ILIM_ACTIVE = 2¶
Internal limit active.
- IP_ACTIVE = 4¶
(IP) active.
- PP_SPACK = 4¶
(PP) SP acknowledge.
- PV_VZERO = 4¶
(PV) Vocity speed is zero.
- TGT_REACHED = 1¶
Target reached.
- class ingenialink.servo.SERVO_MODE(value)[source]¶
Operation Mode.
- CSP = 8¶
Cyclic sync position mode.
- CST = 10¶
Cyclic sync torque mode.
- CSV = 9¶
Cyclic sync velocity mode.
- HOMING = 6¶
Homing mode.
- IP = 7¶
Interpolated position mode.
- OLS = 1¶
Open loop (scalar mode).
- OLV = 0¶
Open loop (vector mode).
- PP = 2¶
Profile position mode.
- PT = 5¶
Profile torque mode.
- PV = 4¶
Profile velocity mode.
- VEL = 3¶
Velocity mode.
- class ingenialink.servo.SERVO_STATE(value)[source]¶
State.
- DISABLED = 1¶
Switch on disabled.
- ENABLED = 4¶
Enabled.
- FAULT = 7¶
Fault.
- FAULTR = 6¶
Fault reactive.
- NRDY = 0¶
Not ready to switch on.
- ON = 3¶
Power switched on.
- QSTOP = 5¶
Quick stop.
- RDY = 2¶
Ready to be switched on.
- class ingenialink.servo.SERVO_UNITS_ACC(value)[source]¶
Acceleration Units.
- DEG_S2 = 3¶
Degrees/second^2.
- MM_S2 = 5¶
Millimeters/second^2.
- M_S2 = 6¶
Meters/second^2.
- NATIVE = 0¶
Native.
- RAD_S2 = 2¶
Radians/second^2.
- REV_S2 = 1¶
Revolutions/second^2.
- UM_S2 = 4¶
Micrometers/second^2.
- class ingenialink.servo.SERVO_UNITS_POS(value)[source]¶
Position Units.
- DEG = 3¶
Degrees.
- M = 6¶
Meters.
- MM = 5¶
Millimeters.
- NATIVE = 0¶
Native.
- RAD = 2¶
Radians.
- REV = 1¶
Revolutions.
- UM = 4¶
Micrometers.
- class ingenialink.servo.SERVO_UNITS_TORQUE(value)[source]¶
Torque Units.
- MN = 1¶
Millinewtons*meter.
- N = 2¶
Newtons*meter.
- NATIVE = 0¶
Native
- class ingenialink.servo.SERVO_UNITS_VEL(value)[source]¶
Velocity Units.
- DEG_S = 4¶
Degrees/second.
- MM_S = 6¶
Millimeters/second.
- M_S = 7¶
Meters/second.
- NATIVE = 0¶
Native.
- RAD_S = 3¶
Radians/second.
- RPM = 2¶
Revolutions per minute.
- RPS = 1¶
Revolutions per second.
- UM_S = 5¶
Micrometers/second.
- class ingenialink.servo.Servo(net, servo_id=None, dict_f=None)[source]¶
Servo.
- Parameters
net (Network) – Network instance.
id (int) – Servo id.
- Raises
ILCreationError – If the servo cannot be created.
- connect_ecat(ifname, slave, use_eoe_comms)[source]¶
Connect drive through SOEM communications.
- Parameters
ifname – Interface name.
slave – Slave number.
use_eoe_comms – Use of EoE communications or communicate via SDOs.
- Returns
Result code.
- Return type
int
- property dict¶
Obtain dictionary of the servo.
- Returns
Current dictionary of the servo.
- Return type
dict
- dict_storage_read(new_path, subnode=0)[source]¶
Read all dictionary registers content and put it to the dictionary storage.
- Parameters
new_path (str) – Dictionary.
- dict_storage_write(dict_f, subnode=0)[source]¶
Write current dictionary storage to the servo drive.
- Parameters
dict_f (str) – Dictionary.
subnode (int, optional) – Subnode.
- disturbance_write_data(channels, dtypes, data_arr)[source]¶
Write disturbance data.
- Parameters
channels (int or list of int) – Channel identifier.
dtypes (int or list of int) – Data type.
data_arr (list or list of list) – Data array.
- emcy_subscribe(cb)[source]¶
Subscribe to emergency messages.
- Parameters
cb – Callback
- Returns
Assigned slot.
- Return type
int
- emcy_unsubscribe(slot)[source]¶
Unsubscribe from emergency messages.
- Parameters
slot (int) – Assigned slot when subscribed.
- enable(timeout=2.0, subnode=1)[source]¶
Enable PDS.
- Parameters
timeout (int, float, optional) – Timeout (s).
subnode (int, optional) – Subnode.
- property errors¶
Obtain drive errors.
- Returns
Current errors.
- Return type
dict
- get_state(subnode=1)[source]¶
Obtain state of the servo.
- Parameters
subnode (int, optional) – Subnode.
- Returns
Servo state and state flags.
- Return type
tuple
- homing_wait(timeout)[source]¶
Wait until homing completes.
Notes
The homing itself has a configurable timeout. The timeout given here is purely a ‘communications’ timeout, e.g. it could happen that the statusword change is never received. This timeout should be >= than the programmed homing timeout.
- Parameters
timeout (int, float) – Timeout (s).
- property info¶
Obtain servo information.
- Returns
Servo information.
- Return type
dict
- property mode¶
Obtains Operation mode.
- Returns
Current operation mode.
- Return type
- property name¶
Obtain servo name.
- Returns
Name.
- Return type
str
- property ol_frequency¶
Get open loop frequency.
- Returns
Open loop frequency (mHz).
- Return type
float
- property ol_voltage¶
Get open loop voltage.
- Returns
Open loop voltage (% relative to DC-bus, -1…1).
- Return type
float
- property position¶
Get actual position.
- Returns
Actual position.
- Return type
float
- property position_res¶
Get postion resolution.
- Returns
Position resolution (c/rev/s, c/ppitch/s).
- Return type
int
- raw_read(reg, subnode=1)[source]¶
Raw read from servo.
- Parameters
reg (Register) – Register.
- Returns
Otained value
- Return type
int
- Raises
TypeError – If the register type is not valid.
- raw_write(reg, data, confirm=True, extended=0, subnode=1)[source]¶
Raw write to servo.
- Parameters
reg (Register) – Register.
data (int) – Data.
confirm (bool, optional) – Confirm write.
extended (int, optional) – Extended frame.
- Raises
TypeError – If any of the arguments type is not valid or unsupported.
- read(reg, subnode=1)[source]¶
Read from servo.
- Parameters
reg (str, Register) – Register.
- Returns
Otained value
- Return type
float
- Raises
TypeError – If the register type is not valid.
- reload_errors(dict_f)[source]¶
Force to reload all dictionary errors.
- Parameters
dict_f (str) – Dictionary.
- state_subs_stop(stop)[source]¶
Stop servo state subscriptions.
- Parameters
stop (int) – start: 0, stop: 1.
- Returns
Result code.
- Return type
int
- state_subscribe(cb)[source]¶
Subscribe to state changes.
- Parameters
cb – Callback
- Returns
Assigned slot.
- Return type
int
- state_unsubscribe(slot)[source]¶
Unsubscribe from state changes.
- Parameters
slot (int) – Assigned slot when subscribed.
- store_all(subnode=1)[source]¶
Store all servo current parameters to the NVM.
- Parameters
subnode (int, optional) – Subnode.
- property subnodes¶
Obtain number of subnodes.
- Returns
Current number of subnodes.
- Return type
int
- switch_on(timeout=2.0)[source]¶
Switch on PDS.
This function switches on the PDS but it does not enable the motor. For most application cases, you should only use the enable function.
- Parameters
timeout (int, float, optional) – Timeout (s).
- property torque¶
Get actual torque.
- Returns
Actual torque.
- Return type
float
- property units_acc¶
Acceleration units.
- Type
- units_factor(reg)[source]¶
Obtain units scale factor for the given register.
- Parameters
reg (Register) – Register.
- Returns
Scale factor for the given register.
- Return type
float
- property units_pos¶
Position units.
- Type
- property units_torque¶
Torque units.
- Type
- units_update()[source]¶
Update units scaling factors.
Notes
This must be called if any encoder parameter, rated torque or pole pitch are changed, otherwise, the readings conversions will not be correct.
- property units_vel¶
Velocity units.
- Type
- property velocity¶
Get actual velocity.
- Returns
Actual velocity.
- Return type
float
- property velocity_res¶
Get velocity resolution.
- Returns
Velocity resolution (c/rev, c/ppitch).
- Return type
int
- ingenialink.servo.connect_ecat(ifname, dict_f, slave=1, use_eoe_comms=1)[source]¶
Connect the drive through SOEM communications.
- Parameters
ifname – Interface name.
dict_f – Dictionary path.
slave – Slave number.
use_eoe_comms – Use of EoE communications or communicate via SDOs.
- Returns
Servo and Network.
- Return type
tuple
- ingenialink.servo.lucky(prot, dict_f=None, address_ip=None, port_ip=23, protocol=1)[source]¶
Obtain an instance of the first available Servo.
- Parameters
prot (NET_PROT) – Network protocol.
dict_f (str, optional) – Dictionary.
- Returns
Network: Servo network instance.
Servo: Servo instance.
- Return type
tuple