[etherlab-users] PDO mapping in c++

Muhammad Nabeel coool_nabeel at hotmail.com
Sat Jan 11 14:19:34 CET 2014


Dear All, I have successfully communicate with elmo drive using Igh Ethercat master (written source code in C-lang). I am new to C++ and willing to make a class for ethercat communication but I got stuck in PDO mapping. Could some body help me out how can I initialize PDO mapping in a class.


 ec_pdo_entry_info_t slave_0_pdo_entries[] = {
        {0x607a, 0x00, 32},        // Target position     int32
        {0x60ff, 0x00, 32},        // Target velocity     int32
        {0x6071, 0x00, 16},        // Target torque        int16
        {0x6072, 0x00, 16},        // Max. Torque        uint16
        {0x6040, 0x00, 16},        // Control word        uint16
        {0x6060, 0x00, 8},        // Mode of operation    uint8
        {0x0002, 0x00, 8},        // Dummy Byte
        {0x6064, 0x00, 32},        // Position actual value         int32
        {0x6077, 0x00, 16},        // Torque actual value         int16
        {0x6041, 0x00, 16},        // Status word                 uint16
        {0x6061, 0x00, 8},        // Mode of operation display uint8
        {0x0002, 0x00, 8},        // Dummy Byte
        {0x20a0, 0x00, 32},     //absolute encoder
};

ec_pdo_info_t slave_0_pdos[] = {
    {0x1605, 7, slave_0_pdo_entries + 0}, /* RPDO1 Mapping */
    {0x1a02, 5, slave_0_pdo_entries + 7}, /* TPDO1 Mapping */
    {0x1a1e, 1, slave_0_pdo_entries + 12}, /* TPDO2 Mapping */
};

ec_sync_info_t slave_0_syncs[] = {
    {0, EC_DIR_OUTPUT, 0, NULL, EC_WD_DISABLE},
    {1, EC_DIR_INPUT, 0, NULL, EC_WD_DISABLE},
    {2, EC_DIR_OUTPUT, 1, slave_0_pdos + 0, EC_WD_ENABLE},
    {3, EC_DIR_INPUT, 2, slave_0_pdos + 1, EC_WD_ENABLE},
    {0xff}
};


I am willing to initialize above in a class because I have 25 drivers and all have same PDO mapping.

Thank you
 		 	   		  
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.etherlab.org/pipermail/etherlab-users/attachments/20140111/db4f8ee1/attachment-0002.htm>


More information about the Etherlab-users mailing list