[etherlab-users] Yaskawa Drive Requires SafeOp

Henry Bausley hbausley at deltatau.com
Tue Oct 5 01:00:51 CEST 2010


When attempting to use the latest Yaskawa drive I cannot get PDO's to
update with valid data I just get 0s  as the slave stays in preop after
calling ecrt_master_activate.

Is there away to make  the master goes through SafeOP?  I didn't see the
what to use in the API. According to Yaskawa the SafeOp state is
required see the correspondence below:

Also should the Yaskawa interface have SafeOp set in the SII?   When I
do a ethercat slaves -v it comes back with Enable SafeOp: no

Below is the correspondence with Yaskawa where they tell me SafeOp is
required. 

I placed the debugging logs at the end of this email.

_______________________________________________________________________________

Hi Henry,

This could indicate that the drive is not yet in OP mode.  One way to
verify is to check if the RUN LED is solid green.  If it's not solid
green, it's not in OP mode, so no PDO data is exchanged.  The drive can
send SDO data in certain modes other than OP mode, so being able to read
SDO information is not a good indicator of the drive's mode.

As for bringing the drive to OP mode, our manual shows the ECAT State
Machine.  Be sure to follow this state machine.  There is no way to jump
from Pre-OP to OP mode without first going through Safe-OP.  Perhaps
that is what your master is trying to do?  You might be able to verify
this by reading a wireshark trace.



Derek Lee
Motion Product Engineer
Yaskawa America Inc.
2121 Norman Dr. S.
Waukegan, IL 60085

Phone: 847-887-7235
Fax: 847-887-7280


Henry Bausley
<hbausley at deltatau.com>

09/29/2010 04:06 PM


                To
Derek_Lee at Yaskawa.com
                cc

           Subject
Re: Fw: Ethercat
Module





Thank you for sending another drive it arrived at my desk this morning. 

I do have a question for the developers.  

  What would cause 0's to always be sent for the Process Data
communication?
  If I read objects of the Service Dictionary Object via mailbox
communication I can read index=$6064 subindex=0 and I get the encoder
position.
  However if I use the default PDO mapping 0 is always returned for
objects $6064 and $6041.  In addition I cannot set the output objects
$607a and  $6040
  they always get overwritten to 0.

  Is there a special sequence I need to perform to make cyclic Process
data communication possible?

_____________________________________________________________________________________

EtherCAT: Master driver devel unknown
EtherCAT: 1 master waiting for devices.
ec_r8169 Gigabit Ethernet driver 2.3LK-NAPI loaded
ec_r8169 0000:81:00.0: no MSI. Back to INTx.
EtherCAT: Accepting device 00:0A:CD:17:F3:7D for master 0.
ec0: RTL8168b/8111b at 0xb91f8000, 00:0a:cd:17:f3:7d, XID 38000000 IRQ
18
EtherCAT 0: Starting EtherCAT-IDLE thread.
EtherCAT 0: Link state changed to UP.
EtherCAT 0: 1 slave(s) responding.
EtherCAT 0: Slave states: PREOP.
EtherCAT 0: Scanning bus.
EtherCAT 0: Bus scanning completed in 9 ms.
EtherCAT ERROR 0-0: Corrupt mailbox response received!
EtherCAT DEBUG: 8F 00 01 00 00 63 00 80 04 00 00 00 01 10 05 00 
EtherCAT DEBUG: 00 07 45 72 72 6F 72 20 52 65 67 69 73 74 65 72 
EtherCAT DEBUG: 65 60 9A 60 B1 60 B2 60 B8 60 B9 60 BA 60 BC 60 
EtherCAT DEBUG: C1 60 C2 60 E0 60 E1 60 F4 60 FC 60 FD 60 FE 60 
EtherCAT DEBUG: FF 60 02 65 03 27 10 27 20 27 E0 27 3F 60 40 60 
EtherCAT DEBUG: 41 60 5A 60 5B 60 5C 60 5D 60 5E 60 60 60 61 60 
EtherCAT DEBUG: 62 60 63 60 64 60 65 60 66 60 67 60 68 60 6B 60 
EtherCAT DEBUG: 6C 60 6D 60 6E 60 71 60 72 60 74 60 76 60 77 60 
EtherCAT 0: Master debug level set to 1.
EtherCAT: Requesting master 0...
EtherCAT DEBUG 0: IDLE -> OPERATION.
EtherCAT: Successfully requested master 0.
EtherCAT DEBUG 0: ecrt_master_callbacks(master = 0xaf33f000, send_cb =
0xb917963c, receive_cb = 0xb91795c4, cb_data = 0xaf33f000)
EtherCAT DEBUG 0: ecrt_master_create_domain(master = 0xaf33f000)
EtherCAT DEBUG 0: Created domain 0.
EtherCAT DEBUG 0: ecrt_master_create_domain(master = 0xaf33f000)
EtherCAT DEBUG 0: Created domain 1.
EtherCAT DEBUG 0: ecrt_master_create_domain(master = 0xaf33f000)
EtherCAT DEBUG 0: Created domain 2.
EtherCAT DEBUG 0: ecrt_master_create_domain(master = 0xaf33f000)
EtherCAT DEBUG 0: Created domain 3.
EtherCAT DEBUG 0: ecrt_master_slave_config(master = 0xaf33f000, alias =
64, position = 0, vendor_id = 0x00000539, product_code = 0x02200001)
EtherCAT DEBUG 0: Creating slave configuration for 64:0,
0x00000539/0x02200001.
EtherCAT DEBUG 0 64:0: Attached slave 0.
Configure n_pdos 0
EtherCAT DEBUG 0 64:0: ecrt_slave_config_pdos(sc = 0xaf0e4000, n_syncs =
2, syncs = 0xbcee87e0)
EtherCAT DEBUG 0 64:0: ecrt_slave_config_sync_manager(sc = 0xaf0e4000,
sync_index = 2, dir = 1, watchdog_mode = 0)
EtherCAT DEBUG 0 64:0: ecrt_slave_config_pdo_assign_clear(sc =
0xaf0e4000, sync_index = 2)
EtherCAT DEBUG 0 64:0: ecrt_slave_config_pdo_assign_add(sc = 0xaf0e4000,
sync_index = 2, pdo_index = 0x1601)
EtherCAT DEBUG 0 64:0: Loading default mapping for PDO 0x1601.
EtherCAT DEBUG 0 64:0: Entry 0x6040:00.
EtherCAT DEBUG 0 64:0: Entry 0x607A:00.
EtherCAT DEBUG 0 64:0: ecrt_slave_config_pdo_mapping_clear(sc =
0xaf0e4000, pdo_index = 0x1601)
EtherCAT DEBUG 0 64:0: ecrt_slave_config_pdo_mapping_add(sc =
0xaf0e4000, pdo_index = 0x1601, entry_index = 0x6040, entry_subindex =
0x00, entry_bit_length = 16)
EtherCAT DEBUG 0 64:0: ecrt_slave_config_pdo_mapping_add(sc =
0xaf0e4000, pdo_index = 0x1601, entry_index = 0x607A, entry_subindex =
0x00, entry_bit_length = 32)
EtherCAT DEBUG 0 64:0: ecrt_slave_config_sync_manager(sc = 0xaf0e4000,
sync_index = 3, dir = 2, watchdog_mode = 0)
EtherCAT DEBUG 0 64:0: ecrt_slave_config_pdo_assign_clear(sc =
0xaf0e4000, sync_index = 3)
EtherCAT DEBUG 0 64:0: ecrt_slave_config_pdo_assign_add(sc = 0xaf0e4000,
sync_index = 3, pdo_index = 0x1A01)
EtherCAT DEBUG 0 64:0: Loading default mapping for PDO 0x1A01.
EtherCAT DEBUG 0 64:0: Entry 0x6041:00.
EtherCAT DEBUG 0 64:0: Entry 0x6064:00.
EtherCAT DEBUG 0 64:0: ecrt_slave_config_pdo_mapping_clear(sc =
0xaf0e4000, pdo_index = 0x1A01)
EtherCAT DEBUG 0 64:0: ecrt_slave_config_pdo_mapping_add(sc =
0xaf0e4000, pdo_index = 0x1A01, entry_index = 0x6041, entry_subindex =
0x00, entry_bit_length = 16)
EtherCAT DEBUG 0 64:0: ecrt_slave_config_pdo_mapping_add(sc =
0xaf0e4000, pdo_index = 0x1A01, entry_index = 0x6064, entry_subindex =
0x00, entry_bit_length = 32)
Configure PDOs on SM2.
EtherCAT DEBUG 0: ecrt_domain_reg_pdo_entry_list(domain = 0xaf3ca640,
regs = 0xbcf7b50c)
EtherCAT DEBUG 0: ecrt_master_slave_config(master = 0xaf33f000, alias =
64, position = 0, vendor_id = 0x00000539, product_code = 0x02200001)
EtherCAT DEBUG 0 64:0: ecrt_slave_config_reg_pdo_entry(sc = 0xaf0e4000,
index = 0x6041, subindex = 0x00, domain = 0xaf3ca640, bit_position =
0xbcf6b560)
EtherCAT DEBUG 0: Domain 0: Added 6 bytes, total 6.
EtherCAT DEBUG 0: ecrt_master_slave_config(master = 0xaf33f000, alias =
64, position = 0, vendor_id = 0x00000539, product_code = 0x02200001)
EtherCAT DEBUG 0 64:0: ecrt_slave_config_reg_pdo_entry(sc = 0xaf0e4000,
index = 0x6064, subindex = 0x00, domain = 0xaf3ca640, bit_position =
0xbcf6b580)
EtherCAT DEBUG 0: ecrt_domain_reg_pdo_entry_list(domain = 0xaf3ca740,
regs = 0xbcf8750c)
EtherCAT DEBUG 0: ecrt_master_slave_config(master = 0xaf33f000, alias =
64, position = 0, vendor_id = 0x00000539, product_code = 0x02200001)
EtherCAT DEBUG 0 64:0: ecrt_slave_config_reg_pdo_entry(sc = 0xaf0e4000,
index = 0x6040, subindex = 0x00, domain = 0xaf3ca740, bit_position =
0xbcf6b520)
EtherCAT DEBUG 0: Domain 1: Added 6 bytes, total 6.
EtherCAT DEBUG 0: ecrt_master_slave_config(master = 0xaf33f000, alias =
64, position = 0, vendor_id = 0x00000539, product_code = 0x02200001)
EtherCAT DEBUG 0 64:0: ecrt_slave_config_reg_pdo_entry(sc = 0xaf0e4000,
index = 0x607A, subindex = 0x00, domain = 0xaf3ca740, bit_position =
0xbcf6b540)
EtherCAT DEBUG 0: ecrt_domain_reg_pdo_entry_list(domain = 0xaf3ca600,
regs = 0xbcfa3510)
EtherCAT DEBUG 0: ecrt_domain_reg_pdo_entry_list(domain = 0xaf3caf80,
regs = 0xbcfaf510)
EtherCAT DEBUG 0: ecrt_master_activate(master = 0xaf33f000)
EtherCAT 0: Domain0: Logical address 0x00000000, 6 byte, expected
working counter 1.
EtherCAT 0:   Datagram domain0-0: Logical offset 0x00000000, 6 byte,
type LRD.
EtherCAT 0: Domain1: Logical address 0x00000006, 6 byte, expected
working counter 1.
EtherCAT 0:   Datagram domain1-6: Logical offset 0x00000006, 6 byte,
type LWR.
EtherCAT 0: Domain2: Logical address 0x0000000c, 0 byte, expected
working counter 0.
EtherCAT 0: Domain3: Logical address 0x0000000c, 0 byte, expected
working counter 0.
EtherCAT DEBUG 0: Stopping master thread.
EtherCAT DEBUG 0: Master IDLE thread exiting...
EtherCAT 0: Master thread exited.
EtherCAT DEBUG 0: FSM datagram is af33f3e4.
EtherCAT 0: Starting EtherCAT-OP thread.
EtherCAT DEBUG 0: Operation thread running with fsm interval = 1000 us,
max data size=11250
root at 10.34.9.212:/opt/ppmac# 





**********************************************************
Outbound scan for Spam or Virus by Barracuda at Delta Tau
**********************************************************
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.etherlab.org/pipermail/etherlab-users/attachments/20101004/71fa7a39/attachment-0003.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: image/gif
Size: 23792 bytes
Desc: not available
URL: <http://lists.etherlab.org/pipermail/etherlab-users/attachments/20101004/71fa7a39/attachment-0003.gif>


More information about the Etherlab-users mailing list