[etherlab-users] Variable PDO Mapping

Henry Bausley hbausley at deltatau.com
Sat Apr 16 01:00:24 CEST 2011


Just map everything yourself and it should show up after doing a
ethercat pdos.  I have not actually used the drive this way.  Good Luck.

/* Master 0, Slave 11
 * Vendor ID:       0x00000539
 * Product code:    0x02200001
 * Revision number: 0x00030001
 */

ec_pdo_entry_info_t slave_11_pdo_entries[] = {
    {0x6040, 0x00, 16},
    {0x607a, 0x00, 32},
    {0x6040, 0x00, 16},
    {0x60ff, 0x00, 32},
    {0x6041, 0x00, 16},
    {0x6064, 0x00, 32},
};

ec_pdo_info_t slave_11_pdos[] = {
    {0x1601, 2, slave_11_pdo_entries + 0},
    {0x1602, 2, slave_11_pdo_entries + 2},
    {0x1a02, 2, slave_11_pdo_entries + 4},
};

ec_sync_info_t slave_11_syncs[] = {
    {0, EC_DIR_OUTPUT, 0, NULL, EC_WD_DISABLE},
    {1, EC_DIR_INPUT, 0, NULL, EC_WD_DISABLE},
    {2, EC_DIR_OUTPUT, 2, slave_11_pdos + 0, EC_WD_ENABLE},
    {3, EC_DIR_INPUT, 1, slave_11_pdos + 2, EC_WD_DISABLE},
    {0xff}
};


root at 10.34.9.236:/opt/ppmac# ethercat pdos -p 11
SM0: PhysAddr 0x1000, DefaultSize  128, ControlRegister 0x36, Enable 1
SM1: PhysAddr 0x1080, DefaultSize  128, ControlRegister 0x32, Enable 1
SM2: PhysAddr 0x1100, DefaultSize    6, ControlRegister 0x74, Enable 1
  RxPDO 0x1601 ""
    PDO entry 0x6040:00, 16 bit, ""
    PDO entry 0x607a:00, 32 bit, ""
  RxPDO 0x1602 ""
    PDO entry 0x6040:00, 16 bit, ""
    PDO entry 0x60ff:00, 32 bit, ""
SM3: PhysAddr 0x1400, DefaultSize    6, ControlRegister 0x30, Enable 1
  TxPDO 0x1a02 ""
    PDO entry 0x6041:00, 16 bit, ""
    PDO entry 0x6064:00, 32 bit, ""
root at 10.34.9.236:/opt/ppmac# 



On Fri, 2011-04-15 at 14:58 +1200, Ravi Chemudugunta wrote:
> Hello,
> 
> I am trying to change the default PDO assignments on the Yaskawa Sigma
> V Servo.
> 
> Currently the RX PDO only contains Control, Target Position, but I
> would also like
> to map the Profile Velocity in.
> 
> The reference material recommends the following procedure:
> 
> * Set PDO assignment count on Sync Managers 2, 3 to 0
> * Modify PDO Mapping
> * Set PDO assignment count on Sync Managers 2, 3 to 1
> 
> I am using sdo transfers via command line to try to change the values:
> 
> # disable sync
> ethercat -p9 --type uint8 download 0x1c12 0 0
> ethercat -p9 --type uint8 download 0x1c13 0 0
> 
> # add velocity
> # push dictionary entry 0x6081:00 into the map
> ethercat -p9 --type uint32 download 0x1601 3 0x60810020
> # update size
> ethercat -p9 --type uint8 download 0x1601 0 3
> 
> # re-enable sync
> ethercat -p9 --type uint8 download 0x1c12 0 1
> ethercat -p9 --type uint8 download 0x1c13 0 1
> 
> However after executing the command to push an entry into the map:
> 
> I get the following error.
> 
> $ ethercat -p9 --type uint32 download 0x1601 3 0x60810020
> SDO transfer aborted with code 0x06040041: The object cannot be mapped
> into the PDO
> 
> I have tried doing the same with other dictionary entries that are
> compatible to be mapped
> as PDO items, still the same result.
> 
> === Master 0, Slave 9 ===
> Alias: 1
> State: PREOP
> Flag: +
> Identity:
>   Vendor Id:       0x00000539
>   Product code:    0x02200001
>   Revision number: 0x00030001
>   Serial number:   0x00000000
> DL information:
>   FMMU bit operation: yes
>   Distributed clocks: yes, 32 bit
>   DC system time transmission delay: 2510 ns
> Port  Type  Link  Loop    Signal  NextSlave  RxTime [ns]  Diff [ns]
> NextDc [ns]
>    0  MII   up    open    yes             8   1907351212           0
> 80
>    1  MII   down  closed  no              -            -           -
> -
>    2  N/A   down  closed  no              -            -           -
> -
>    3  N/A   down  closed  no              -            -           -
> -
> Mailboxes:
>   Bootstrap RX: 0x0000/0, TX: 0x0000/0
>   Standard  RX: 0x1000/128, TX: 0x1080/128
>   Supported protocols: CoE
> General:
>   Group: 
>   Image name: 
>   Order number: 
>   Device name: 
>   CoE details:
>     Enable SDO: yes
>     Enable SDO Info: yes
>     Enable PDO Assign: yes
>     Enable PDO Configuration: yes
>     Enable Upload at startup: no
>     Enable SDO complete access: no
>   Flags:
>     Enable SafeOp: no
>     Enable notLRW: yes
>   Current consumption: 0 mA
> 
> 
> -- 
> C-x C-s, C-x C-c
> 
> _______________________________________________
> etherlab-users mailing list
> etherlab-users at etherlab.org
> http://lists.etherlab.org/mailman/listinfo/etherlab-users





Outbound scan for Spam or Virus by Barracuda at Delta Tau




More information about the Etherlab-users mailing list