Hi Pier, I found an old example that I wrote for the EL2252. I know that it worked some times ago and I hope it still works. Please let me know if it works for you.
Philippe -----Message d'origine----- De : [email protected] [mailto:[email protected]] De la part de pier Envoyé : 27 mai 2013 08:59 À : [email protected]; [email protected]; Tim Poznic; Rusu Valerian Objet : [etherlab-users] Beckhoff EL2252... Dear Florian And Etherlab Users we are trying to use the Beckhoff Timestamp n. 2 outputs module... The autodetect of the cstruct do corresponds partially to the XML file so we adjusted from to : /* Master 0, Slave 3, "EL2252" * Vendor ID: 0x00000002 * Product code: 0x08cc3052 * Revision number: 0x00130000 */ ec_pdo_entry_info_t slave_3_pdo_entries[] = { {0x1d09, 0x81, 8}, /* Activate */ {0x1d09, 0x90, 64}, /* StartTime */ {0x7000, 0x01, 1}, /* Output */ {0x7000, 0x02, 1}, /* TriState */ {0x7010, 0x01, 1}, /* Output */ {0x7010, 0x02, 1}, /* TriState */ {0x0000, 0x00, 4}, }; ec_pdo_info_t slave_3_pdos[] = { {0x1602, 1, slave_3_pdo_entries + 0}, /* DC Sync Activate */ {0x1603, 1, slave_3_pdo_entries + 1}, /* DC Sync Start */ {0x1600, 2, slave_3_pdo_entries + 2}, /* Channel 1 */ {0x1601, 3, slave_3_pdo_entries + 4}, /* Channel 2 */ {0x1604, 0, NULL}, /* Reserved */ }; /* * This is Autodetected... * But no corresponding to XML informations.... * All Registers are outputs here... */ ec_sync_info_t slave_3_syncs[] = { {0, EC_DIR_INPUT, 1, slave_3_pdos + 0, EC_WD_DISABLE}, {1, EC_DIR_INPUT, 1, slave_3_pdos + 1, EC_WD_DISABLE}, {2, EC_DIR_OUTPUT, 3, slave_3_pdos + 2, EC_WD_ENABLE}, {3, EC_DIR_INPUT, 0, NULL, EC_WD_DISABLE}, {4, EC_DIR_INPUT, 0, NULL, EC_WD_DISABLE}, {0xff} }; to : // Completed From XML File.... ec_pdo_entry_info_t slave_3_pdo_entries[] = { {0x1d09, 0x81, 8}, /* Activate */ {0x1d09, 0x90, 64}, /* StartTime */ {0x7000, 0x01, 1}, /* Output */ {0x7000, 0x02, 1}, /* TriState */ {0x7010, 0x01, 1}, /* Output */ {0x7010, 0x02, 1}, /* TriState */ {0x0000, 0x00, 4}, /* Reserved */ {0x1d09, 0x10, 64}, /* SysTime */ {0x1d09, 0x11, 8}, /* Feedback */ }; ec_pdo_info_t slave_3_pdos[] = { {0x1602, 1, slave_3_pdo_entries + 0}, /* DC Sync Activate */ {0x1603, 1, slave_3_pdo_entries + 1}, /* DC Sync Start */ {0x1600, 2, slave_3_pdo_entries + 2}, /* Channel 1 */ {0x1601, 2, slave_3_pdo_entries + 4}, /* Channel 2 */ {0x1604, 0, NULL}, /* Reserved */ {0x1a00, 1, slave_3_pdo_entries + 7}, /* SysTime..*/ {0x1a01, 1, slave_3_pdo_entries + 8}, /* Feedback...*/ }; ec_sync_info_t slave_3_syncs[] = { {0, EC_DIR_OUTPUT, 1, slave_3_pdos + 0, EC_WD_DISABLE}, {1, EC_DIR_OUTPUT, 1, slave_3_pdos + 1, EC_WD_DISABLE}, {2, EC_DIR_OUTPUT, 2, slave_3_pdos + 2, EC_WD_ENABLE}, {3, EC_DIR_INPUT, 1, slave_3_pdos + 4, EC_WD_DISABLE}, {4, EC_DIR_INPUT, 1, slave_3_pdos + 5, EC_WD_DISABLE}, {5, EC_DIR_INPUT, 1, slave_3_pdos + 6, EC_WD_DISABLE}, {0xff} }; Finally we get the configuration working for etherlab but the outputs remain always off and we read also the systime to 0.... On the module is declared an eeprom.... probably must be programmed ? How to do that ? Must be Twincat software ? I found here some messages on January : http://www.mail-archive.com/[email protected]/msg01741.html But not a solution.... Best Regards Pier -- Perlsoft GmbH Sennereigasse 27 3900 Brig Switzerland Tel. +41977022933 _______________________________________________ etherlab-users mailing list [email protected] http://lists.etherlab.org/mailman/listinfo/etherlab-users
el2252.cpp
Description: el2252.cpp
_______________________________________________ etherlab-users mailing list [email protected] http://lists.etherlab.org/mailman/listinfo/etherlab-users
