Hi Mr Bausly,

Like Asier, I also want to control Omron NX-ECC01 IO coupler too.

As instructed in your mail, I configured the coupler using Sysmac Studio. I also used the --enable-sii-assign option and recompile the EtherLab master.

But I still don't get the PDO configuration for the IO devices. Here is the output of the etherlab commands:

lynca@lynca-desktop:~/Desktop/etherlabmaster$ ethercat slaves
0  0:0  INIT  E  NX-ECC201 EtherCAT�J�v�� V1.1


lynca@lynca-desktop:~/Desktop/etherlabmaster$ ethercat pdos
SM0: PhysAddr 0x2800, DefaultSize  256, ControlRegister 0x26, Enable 1
SM1: PhysAddr 0x2a00, DefaultSize  256, ControlRegister 0x22, Enable 1
SM2: PhysAddr 0x1000, DefaultSize    0, ControlRegister 0x64, Enable 1
SM3: PhysAddr 0x1c00, DefaultSize    0, ControlRegister 0x20, Enable 1
  TxPDO 0x1bf8 "505th ���MPDO�}�b�s���O"
    PDO entry 0x3003:04, 128 bit, "Nx Unit Registered Status 125"
    PDO entry 0x3006:04, 128 bit, "NX Unit I/O Data Active Status 125"
  TxPDO 0x1bff "512th ���MPDO�}�b�s���O"
    PDO entry 0x2002:01,  8 bit, "Sysmac �ُ��X�e�[�^�X"
  TxPDO 0x1bf4 "501st ���MPDO�}�b�s���O"
    PDO entry 0x0000:00,  8 bit, ""


lynca@lynca-desktop:~/Desktop/etherlabmaster$ ethercat cstruct
/* Master 0, Slave 0, "NX-ECC201"
 * Vendor ID:       0x00000083
 * Product code:    0x00000083
 * Revision number: 0x00010001
 */

ec_pdo_entry_info_t slave_0_pdo_entries[] = {
    {0x3003, 0x04, 128}, /* Nx Unit Registered Status 125 */
    {0x3006, 0x04, 128}, /* NX Unit I/O Data Active Status 125 */
    {0x2002, 0x01, 8}, /* Sysmac �ُ��X�e�[�^�X */
    {0x0000, 0x00, 8},
};

ec_pdo_info_t slave_0_pdos[] = {
    {0x1bf8, 2, slave_0_pdo_entries + 0}, /* 505th ���MPDO�}�b�s���O */
    {0x1bff, 1, slave_0_pdo_entries + 2}, /* 512th ���MPDO�}�b�s���O */
    {0x1bf4, 1, slave_0_pdo_entries + 3}, /* 501st ���MPDO�}�b�s���O */
};

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

What else should I do?

Best regards,

Oguz.


29.3.2017 01:43 tarihinde Gavin Lambert yazdı:
On 28 March 2017 23:21, quoth Asier Tamayo:
After some debug, we have finally got the system working properly. We had
to define EC_SII_ASSIGN in the config.h file and recompile the EtherLab
master.
The right way to define this is not to modify config.h directly, but to specify 
--enable-sii-assign when running configure.  (You can run configure --help to 
see the options.)

Does anyone know if defining EC_SII_ASIGN has any side effect? We have
found very little information about it.
All this does is to assign control of the SII EEPROM to the slave device at 
specific points during the configuration process.  This is required by some 
complex slaves that store additional settings in the SII EEPROM; it's disabled 
by default presumably just because it's a little slower and most common slaves 
don't need it.

(There are some bugs in its implementation and it doesn't quite follow the 
standard, but that's mostly around treatment of the BOOT state and most people 
won't notice or care about that as it's only used for firmware programming.)


_______________________________________________
etherlab-users mailing list
etherlab-users@etherlab.org
http://lists.etherlab.org/mailman/listinfo/etherlab-users



--
Oguz Dilmac
ARGE Bolumu

Bilko AS, R&D Department
====================================
Perpa Ticaret Merkezi B Blok Kat 13 Nr. 2568
TR-34384 Okmeydani Istanbul Turkey
Tel : +90 212 220 07 40  Fax :   +90 212 210 47 01
e-mail : odil...@bilko-automation.com
web site : http://www.bilko-automation.com

_______________________________________________
etherlab-users mailing list
etherlab-users@etherlab.org
http://lists.etherlab.org/mailman/listinfo/etherlab-users

Reply via email to