[etherlab-users] Yaskawa Drive Requires SafeOp

Andreas Stewering-Bone ab at igh-essen.com
Tue Oct 5 09:51:51 CEST 2010


Hello Henry,


for drives there are some points you have to look for:
- Does the drive require DC?
- Does the DC sync well?
    If not the slave will get into Safeop+Err State
- Does the master has good realtime behavior?
    If not you will get Mailbox Error and you are not able to get the 
drive working

Normally the Master steps into SafeOP to check if the drive is DC sync. 
if it syncs it goes to OP.

Greatings

Andreas


Henry Bausley schrieb:
>
> 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#
>
>
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> etherlab-users mailing list
> etherlab-users at etherlab.org
> http://lists.etherlab.org/mailman/listinfo/etherlab-users
>   


-- 

------------------------------------------------------------------------

Dipl.-Ing. Andreas Stewering-Bone            Amtsgericht Essen HRB 11500 
Ingenieurgemeinschaft IgH                    USt-Id.-Nr.: DE 174 626 722 
Gesellschaft für Ingenieurleistungen mbH     Geschäftsführung:           
Heinz-Bäcker-Str. 34                         Dr.-Ing. S. Rotthäuser      
D-45356 Essen                                Dr.-Ing. T. Finke           
Tel.: +49 201 / 360-14-15                    Dr.-Ing. W. Hagemeister     
Fax.: +49 201 / 360-14-14                    Tel.: +49 201 / 360-14-0    
Andreas.Stewering-Bone at igh-essen.com         http://www.igh-essen.com    

------------------------------------------------------------------------




More information about the Etherlab-users mailing list