[etherlab-users] How to change the input and output Map(Yaskawa servopack)?

Graeme Foot Graeme.Foot at touchcut.com
Tue Nov 18 23:00:35 CET 2014


> Dear all,
> I got a set yaskawa servopack, it works well with Twincat.Now I am struggling with etherlab master version 1.52.
> First step, I tried ethercat command line, when i change the state from PREOP->SAFEOP->OP, control word 0x6040 always shows 0, can not be changed.
> I do some research from website, I found I got the same issue as follow posts:
> http://lists.etherlab.org/pipermail/etherlab-users/2010/000941.html
> http://thread.gmane.org/gmane.network.etherlab.user/676/focus=683
> http://lists.etherlab.org/pipermail/etherlab-users/2012/001581.html


> As I checked my firmware version is 3.01 is OK.
> I also got reply from yaskawa, the suggested me to change the mapping as follow:
> Original:
> Inputs  mapped to -> FMMU0
> Outputs mapped to -> FMMU1
> Change - Need to be mapped as:
> Outputs  mapped to -> FMMU0
> Inputs mapped to -> FMMU1
> I am a newbie in this field, anyone knows how to change this mapping?
> What is more, as Henry Bausley mentioned in above post, his solution is using two domains, input domain and output domain. How to implement it?
> Any ideas?
> Thanks in advance!
> Best regards!
> -chengxi

Hi,

You definitely need to use two domains.  One for the inputs, one for the outputs.  In my app I use three.  One for servo inputs, one for servo outputs and one for all other modules (that can have inputs and outputs in one domain).

For two domains you need to have two domain pointers:
  ec_domain_t        *domRead;
  ec_domain_t        *domWrite;

When making the ecrt_slave_config_reg_pdo_entry calls you pass the appropriate domain as required.

Then any time you would do something with a domain in your app, just call the function multiple times, one for each domain.

Eg:
ecrt_master_receive(master);
ecrt_domain_process(domRead);
ecrt_domain_process(domWrite);
...
ecrt_domain_queue(domRead);
ecrt_domain_queue(domWrite);
ecrt_master_send(master);


if you do a “ethercat slave –v” command, each module has an “Enable notLRW” status.  If it is “yes” then the slave needs separate domains for the read and write pdo’s.


Hope this gets you started,
Graeme.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.etherlab.org/pipermail/etherlab-users/attachments/20141118/e66429bd/attachment-0004.htm>


More information about the Etherlab-users mailing list