[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