Many thanks, Jun, that was indeed the issue! I'm now moving on to *other* issues I have with this drive, some other experts on the list may know:
a) is there a PDO mapping for the limit switches? b) and what is the REAL scaling for the velocity command value? I tried a union with a float and a long int to use rpm in natural values, e.g. 1.0 rpm, 2.0 rpm, but anything other than 0.0 as a float and writing the EC32 value didn't work (I got an overspeed error). Hopefully someone here will know; I'll be calling Kollmorgen myself as well to straighten this out... Thanks again! On Mon, Jan 6, 2014 at 7:38 AM, Jun Yuan <[email protected]> wrote: > You gave the wrong number of ec_pdo_info_t. You used 2 (0x1a00 and > 0x1a01) instead of 1. > > ec_sync_info_t akd_syncs[] = { > {0, EC_DIR_OUTPUT, 0, NULL, EC_WD_DISABLE}, > {1, EC_DIR_INPUT, 0, NULL, EC_WD_DISABLE}, > {2, EC_DIR_OUTPUT, 1, akd_pdos + 0, EC_WD_DISABLE}, > - {3, EC_DIR_INPUT, 1, akd_pdos + 1, EC_WD_DISABLE}, > + {3, EC_DIR_INPUT, 2, akd_pdos + 1, EC_WD_DISABLE}, > {0xff} > }; > > On Mon, Jan 6, 2014 at 6:23 AM, Dusty Clark <[email protected]> wrote: > > > > This seems to be a common issue on this list. :) > > > > I'm using Sebastien Blanchet's mini example he posted in 2012 as a base; > in > > my application, I want to run the drive in velocity mode and just > set/query > > the velocity values and the digital input status, along with the command > > word and status word. > > > > The issue is that the registration of the last PDO comes up unmapped. The > > output from dmesg is: > > > > [ 6271.226521] EtherCAT: Requesting master 0... > > [ 6271.226525] EtherCAT: Successfully requested master 0. > > [ 6271.226584] EtherCAT ERROR 0 0:0: PDO entry 0x6041:00 is not mapped. > > [ 6271.226641] EtherCAT 0: Releasing master... > > [ 6271.226643] EtherCAT 0: Released. > > > > The application runs (although with a funny issue with the digital input > > value varying wildly) when I don't include that particular PDO by not > > configuring it in the 0x1A01 object. > > > > The error messages when the code is running is: > > <stderr>: Failed to register PDO entry: No such file or directory > > <stderr>: PDO entry registration failed! > > <stdout>: Configuring AKD with free PDO... > > <stdout>: Configuring PDOs... > > > > So clearly the error happens when ecrt_domain_reg_pdo_entry_list() gets > > called. I'm really unsure why this would happen, I don't see what mistake > > there must be in there, so it's time to get help from the experts...and > > thanks in advance! > > > > BTW, I did supply the PDO list with a call to ecrt_slave_config_pdos(), > so I > > *think* the PDOs got configured, but then I get the unmapped PDO error... > > > > Listing is attached... > > > > Dusty Clark > > > > _______________________________________________ > > etherlab-users mailing list > > [email protected] > > http://lists.etherlab.org/mailman/listinfo/etherlab-users > > > > > > -- > Jun Yuan > [Aussprache: Djün Üän] > > Robotics Technology Leaders GmbH > Am Loferfeld 58, D-81249 München > Tel: +49 89 189 0465 24 > Mobile: +49 176 2176 5238 > Fax: +49 89 189 0465 11 > mailto: [email protected] > > Umlautregel in der chinesischen Lautschrift Pinyin: Nach den Anlauten > y, j, q, und x wird u als ü ausgesprochen, z.B. yu => ü, ju => dschü, > qu => tschü, xu => schü. > _______________________________________________ > etherlab-users mailing list > [email protected] > http://lists.etherlab.org/mailman/listinfo/etherlab-users >
_______________________________________________ etherlab-users mailing list [email protected] http://lists.etherlab.org/mailman/listinfo/etherlab-users
