Dictionary

class ingenialink.canopen.dictionary.CanopenDictionaryV2(dictionary_path: str)[source]

Contains all registers and information of a CANopen dictionary.

Parameters

dictionary_path – Path to the Ingenia dictionary.

child_registers(uid: str, subnode: int)List[ingenialink.register.Register]

Return group registers by an UID

Parameters
  • uid – registers group UID

  • subnode – registers group subnode

Returns

All registers in the group

Raises

KeyError – Registers group does not exist

get_safety_rpdo(uid: str)ingenialink.dictionary.DictionarySafetyPDO

Get Safe RPDO by uid

Parameters

uid – Safe RPDO uid

Returns

PDO object description

Raises
  • NotImplementedError – Device is not safe

  • KeyError – Safe RPDO not exist

get_safety_tpdo(uid: str)ingenialink.dictionary.DictionarySafetyPDO

Get Safe TPDO by uid

Parameters

uid – Safe TPDO uid

Returns

PDO object description

Raises
  • NotImplementedError – Device is not safe

  • KeyError – Safe TPDO not exist

read_dictionary()None

Reads the dictionary file and initializes all its components.

registers(subnode: int)Dict[str, ingenialink.register.Register]

Gets the register dictionary to the targeted subnode.

Parameters

subnode – Identifier for the subnode.

Returns

Dictionary of all the registers for a subnode.

categories: DictionaryCategories

Instance of all the categories in the dictionary.

errors: DictionaryErrors

Instance of all the errors in the dictionary.

firmware_version: Optional[str]

Firmware version declared in the dictionary.

interface: Interface

Interface declared in the dictionary.

property is_coco_dictionary

Check if dictionary is a CoCo dictionary

Returns

True if the dictionary is a CoCo dictionary. False otherwise.

part_number: Optional[str]

Part number declared in the dictionary.

path

Path of the dictionary.

product_code: int

Product code declared in the dictionary.

registers_group: Dict[int, Dict[str, List[Register]]]

Registers group by subnode and UID

revision_number: int

Revision number declared in the dictionary.

safety_rpdos: Dict[str, DictionarySafetyPDO]

Safety RPDOs by UID

safety_tpdos: Dict[str, DictionarySafetyPDO]

Safety TPDOs by UID

subnodes: Dict[int, SubnodeType]

Number of subnodes in the dictionary.

version: str

Version of the dictionary.