<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 TRANSITIONAL//EN">
<HTML>
<HEAD>
  <META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=UTF-8">
  <META NAME="GENERATOR" CONTENT="GtkHTML/3.18.3">
</HEAD>
<BODY>
<BR>
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.<BR>
<BR>
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:<BR>
<BR>
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<BR>
<BR>
Below is the correspondence with Yaskawa where they tell me SafeOp is required. <BR>
<BR>
I placed the debugging logs at the end of this email.<BR>
<BR>
_______________________________________________________________________________<BR>
<BR>
<FONT SIZE="2">Hi Henry,</FONT><BR>
<BR>
<FONT SIZE="2">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.</FONT><BR>
<BR>
<FONT SIZE="2">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.</FONT><BR>
<BR>
<IMG SRC="cid:_1_05425D640542548C00788FCD862577A5" ALIGN="bottom" BORDER="0"><BR>
<BR>
<FONT SIZE="2">Derek Lee</FONT><BR>
<FONT SIZE="2">Motion Product Engineer</FONT><BR>
<FONT SIZE="2">Yaskawa America Inc.</FONT><BR>
<FONT SIZE="2">2121 Norman Dr. S.</FONT><BR>
<FONT SIZE="2">Waukegan, IL 60085</FONT><BR>
<BR>
<FONT SIZE="2">Phone: 847-887-7235</FONT><BR>
<FONT SIZE="2">Fax: 847-887-7280</FONT><BR>
<BR>
<BR>
<TABLE WIDTH="100%">
<TR>
<TD WIDTH="40%" VALIGN="top">
<B><FONT SIZE="1">Henry Bausley <hbausley@deltatau.com></FONT></B><BR>
<BR>
<FONT SIZE="1">09/29/2010 04:06 PM</FONT><BR>
<BR>
<BR>
</TD>
<TD WIDTH="59%" VALIGN="top">
<TABLE WIDTH="100%">
<TR>
<TD>
<DIV ALIGN=right><FONT SIZE="1">To</FONT></DIV>
</TD>
<TD VALIGN="top">
<FONT SIZE="1">Derek_Lee@Yaskawa.com</FONT>
</TD>
</TR>
<TR>
<TD>
<DIV ALIGN=right><FONT SIZE="1">cc</FONT></DIV>
</TD>
<TD VALIGN="top">
<BR>
</TD>
</TR>
<TR>
<TD>
<DIV ALIGN=right><FONT SIZE="1">Subject</FONT></DIV>
</TD>
<TD VALIGN="top">
<FONT SIZE="1">Re: Fw: Ethercat Module</FONT>
</TD>
</TR>
</TABLE>
<BR>
<TABLE>
<TR>
<TD VALIGN="top">
<BR>
</TD>
<TD VALIGN="top">
<BR>
</TD>
</TR>
</TABLE>
<BR>
<BR>
</TD>
</TR>
</TABLE>
Thank you for sending another drive it arrived at my desk this morning. <BR>
<BR>
I do have a question for the developers.  <BR>
<BR>
  What would cause 0's to always be sent for the Process Data communication?<BR>
  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.<BR>
  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<BR>
  they always get overwritten to 0.<BR>
<BR>
  Is there a special sequence I need to perform to make cyclic Process data communication possible?<BR>
<BR>
_____________________________________________________________________________________<BR>
<BR>
EtherCAT: Master driver devel unknown<BR>
EtherCAT: 1 master waiting for devices.<BR>
ec_r8169 Gigabit Ethernet driver 2.3LK-NAPI loaded<BR>
ec_r8169 0000:81:00.0: no MSI. Back to INTx.<BR>
EtherCAT: Accepting device 00:0A:CD:17:F3:7D for master 0.<BR>
ec0: RTL8168b/8111b at 0xb91f8000, 00:0a:cd:17:f3:7d, XID 38000000 IRQ 18<BR>
EtherCAT 0: Starting EtherCAT-IDLE thread.<BR>
EtherCAT 0: Link state changed to UP.<BR>
EtherCAT 0: 1 slave(s) responding.<BR>
EtherCAT 0: Slave states: PREOP.<BR>
EtherCAT 0: Scanning bus.<BR>
EtherCAT 0: Bus scanning completed in 9 ms.<BR>
EtherCAT ERROR 0-0: Corrupt mailbox response received!<BR>
EtherCAT DEBUG: 8F 00 01 00 00 63 00 80 04 00 00 00 01 10 05 00 <BR>
EtherCAT DEBUG: 00 07 45 72 72 6F 72 20 52 65 67 69 73 74 65 72 <BR>
EtherCAT DEBUG: 65 60 9A 60 B1 60 B2 60 B8 60 B9 60 BA 60 BC 60 <BR>
EtherCAT DEBUG: C1 60 C2 60 E0 60 E1 60 F4 60 FC 60 FD 60 FE 60 <BR>
EtherCAT DEBUG: FF 60 02 65 03 27 10 27 20 27 E0 27 3F 60 40 60 <BR>
EtherCAT DEBUG: 41 60 5A 60 5B 60 5C 60 5D 60 5E 60 60 60 61 60 <BR>
EtherCAT DEBUG: 62 60 63 60 64 60 65 60 66 60 67 60 68 60 6B 60 <BR>
EtherCAT DEBUG: 6C 60 6D 60 6E 60 71 60 72 60 74 60 76 60 77 60 <BR>
EtherCAT 0: Master debug level set to 1.<BR>
EtherCAT: Requesting master 0...<BR>
EtherCAT DEBUG 0: IDLE -> OPERATION.<BR>
EtherCAT: Successfully requested master 0.<BR>
EtherCAT DEBUG 0: ecrt_master_callbacks(master = 0xaf33f000, send_cb = 0xb917963c, receive_cb = 0xb91795c4, cb_data = 0xaf33f000)<BR>
EtherCAT DEBUG 0: ecrt_master_create_domain(master = 0xaf33f000)<BR>
EtherCAT DEBUG 0: Created domain 0.<BR>
EtherCAT DEBUG 0: ecrt_master_create_domain(master = 0xaf33f000)<BR>
EtherCAT DEBUG 0: Created domain 1.<BR>
EtherCAT DEBUG 0: ecrt_master_create_domain(master = 0xaf33f000)<BR>
EtherCAT DEBUG 0: Created domain 2.<BR>
EtherCAT DEBUG 0: ecrt_master_create_domain(master = 0xaf33f000)<BR>
EtherCAT DEBUG 0: Created domain 3.<BR>
EtherCAT DEBUG 0: ecrt_master_slave_config(master = 0xaf33f000, alias = 64, position = 0, vendor_id = 0x00000539, product_code = 0x02200001)<BR>
EtherCAT DEBUG 0: Creating slave configuration for 64:0, 0x00000539/0x02200001.<BR>
EtherCAT DEBUG 0 64:0: Attached slave 0.<BR>
Configure n_pdos 0<BR>
EtherCAT DEBUG 0 64:0: ecrt_slave_config_pdos(sc = 0xaf0e4000, n_syncs = 2, syncs = 0xbcee87e0)<BR>
EtherCAT DEBUG 0 64:0: ecrt_slave_config_sync_manager(sc = 0xaf0e4000, sync_index = 2, dir = 1, watchdog_mode = 0)<BR>
EtherCAT DEBUG 0 64:0: ecrt_slave_config_pdo_assign_clear(sc = 0xaf0e4000, sync_index = 2)<BR>
EtherCAT DEBUG 0 64:0: ecrt_slave_config_pdo_assign_add(sc = 0xaf0e4000, sync_index = 2, pdo_index = 0x1601)<BR>
EtherCAT DEBUG 0 64:0: Loading default mapping for PDO 0x1601.<BR>
EtherCAT DEBUG 0 64:0: Entry 0x6040:00.<BR>
EtherCAT DEBUG 0 64:0: Entry 0x607A:00.<BR>
EtherCAT DEBUG 0 64:0: ecrt_slave_config_pdo_mapping_clear(sc = 0xaf0e4000, pdo_index = 0x1601)<BR>
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)<BR>
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)<BR>
EtherCAT DEBUG 0 64:0: ecrt_slave_config_sync_manager(sc = 0xaf0e4000, sync_index = 3, dir = 2, watchdog_mode = 0)<BR>
EtherCAT DEBUG 0 64:0: ecrt_slave_config_pdo_assign_clear(sc = 0xaf0e4000, sync_index = 3)<BR>
EtherCAT DEBUG 0 64:0: ecrt_slave_config_pdo_assign_add(sc = 0xaf0e4000, sync_index = 3, pdo_index = 0x1A01)<BR>
EtherCAT DEBUG 0 64:0: Loading default mapping for PDO 0x1A01.<BR>
EtherCAT DEBUG 0 64:0: Entry 0x6041:00.<BR>
EtherCAT DEBUG 0 64:0: Entry 0x6064:00.<BR>
EtherCAT DEBUG 0 64:0: ecrt_slave_config_pdo_mapping_clear(sc = 0xaf0e4000, pdo_index = 0x1A01)<BR>
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)<BR>
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)<BR>
Configure PDOs on SM2.<BR>
EtherCAT DEBUG 0: ecrt_domain_reg_pdo_entry_list(domain = 0xaf3ca640, regs = 0xbcf7b50c)<BR>
EtherCAT DEBUG 0: ecrt_master_slave_config(master = 0xaf33f000, alias = 64, position = 0, vendor_id = 0x00000539, product_code = 0x02200001)<BR>
EtherCAT DEBUG 0 64:0: ecrt_slave_config_reg_pdo_entry(sc = 0xaf0e4000, index = 0x6041, subindex = 0x00, domain = 0xaf3ca640, bit_position = 0xbcf6b560)<BR>
EtherCAT DEBUG 0: Domain 0: Added 6 bytes, total 6.<BR>
EtherCAT DEBUG 0: ecrt_master_slave_config(master = 0xaf33f000, alias = 64, position = 0, vendor_id = 0x00000539, product_code = 0x02200001)<BR>
EtherCAT DEBUG 0 64:0: ecrt_slave_config_reg_pdo_entry(sc = 0xaf0e4000, index = 0x6064, subindex = 0x00, domain = 0xaf3ca640, bit_position = 0xbcf6b580)<BR>
EtherCAT DEBUG 0: ecrt_domain_reg_pdo_entry_list(domain = 0xaf3ca740, regs = 0xbcf8750c)<BR>
EtherCAT DEBUG 0: ecrt_master_slave_config(master = 0xaf33f000, alias = 64, position = 0, vendor_id = 0x00000539, product_code = 0x02200001)<BR>
EtherCAT DEBUG 0 64:0: ecrt_slave_config_reg_pdo_entry(sc = 0xaf0e4000, index = 0x6040, subindex = 0x00, domain = 0xaf3ca740, bit_position = 0xbcf6b520)<BR>
EtherCAT DEBUG 0: Domain 1: Added 6 bytes, total 6.<BR>
EtherCAT DEBUG 0: ecrt_master_slave_config(master = 0xaf33f000, alias = 64, position = 0, vendor_id = 0x00000539, product_code = 0x02200001)<BR>
EtherCAT DEBUG 0 64:0: ecrt_slave_config_reg_pdo_entry(sc = 0xaf0e4000, index = 0x607A, subindex = 0x00, domain = 0xaf3ca740, bit_position = 0xbcf6b540)<BR>
EtherCAT DEBUG 0: ecrt_domain_reg_pdo_entry_list(domain = 0xaf3ca600, regs = 0xbcfa3510)<BR>
EtherCAT DEBUG 0: ecrt_domain_reg_pdo_entry_list(domain = 0xaf3caf80, regs = 0xbcfaf510)<BR>
EtherCAT DEBUG 0: ecrt_master_activate(master = 0xaf33f000)<BR>
EtherCAT 0: Domain0: Logical address 0x00000000, 6 byte, expected working counter 1.<BR>
EtherCAT 0:   Datagram domain0-0: Logical offset 0x00000000, 6 byte, type LRD.<BR>
EtherCAT 0: Domain1: Logical address 0x00000006, 6 byte, expected working counter 1.<BR>
EtherCAT 0:   Datagram domain1-6: Logical offset 0x00000006, 6 byte, type LWR.<BR>
EtherCAT 0: Domain2: Logical address 0x0000000c, 0 byte, expected working counter 0.<BR>
EtherCAT 0: Domain3: Logical address 0x0000000c, 0 byte, expected working counter 0.<BR>
EtherCAT DEBUG 0: Stopping master thread.<BR>
EtherCAT DEBUG 0: Master IDLE thread exiting...<BR>
EtherCAT 0: Master thread exited.<BR>
EtherCAT DEBUG 0: FSM datagram is af33f3e4.<BR>
EtherCAT 0: Starting EtherCAT-OP thread.<BR>
EtherCAT DEBUG 0: Operation thread running with fsm interval = 1000 us, max data size=11250<BR>
root@10.34.9.212:/opt/ppmac# <BR>
<BR>
<BR>
<BR>
<BR>

</BODY>
</HTML>