Environment Setup
1 Code Composer Studio 6.1.2
Thissoftware could be get from TI website. It is used tocompile and debug sysbios projects.
2 sysbios_ind_sdk_2.1.1.2
Thissoftware is provided by TI, which implementEtherCAT slave applications.
3 TC31-Full-Setup
Thissoftware could be get from ETG website, which helpsEtherCAT deployment and development.
Note: After installation, TI xml file(such as TI_ESC.xml)should be copied to the directory C:\TwinCAT\3.1\Config\Io\EtherCAT
Note: some configuration need to be settled as followinginstructions, otherwise network adapter won’t work.
Deployment Setup
0 Make sure ICE is already running, and theconnection is OK
1 Run TwinCAT XAE(VS2015)
2 Createa TwinCAT project
3.1 The system should be run at Config mode(bluebutton is activated)
3.2 Choose “IO –> Devices –> Scan” to discovery new Slave
Apply a new ESI file
0 makemodification to C:\TwinCAT\3.1\Config\Io\EtherCAT\TI_ESC.xml
1Clean existing device of IO in TwinCAT XAE
2 Restart TwinCAT XAE & CCS
3Choose “IO -> Devices -> Scan” to discovery new Slave - the new slaveshould appear as new ESI defined.
4Double click the “Box” to open Box property page, choose “Advanced Settings”
5Choose “ESC Access -> E2PROM -> Hex Editor”, click “Write to File…” togenerate a binary file.
6Use bin2header tool provide at C:\ti\sysbios_ind_sdk_2.1.1.2\sdk\tools\bin2headerto generate a header file.
Example:
C:\ti\sysbios_ind_sdk_2.1.1.2\sdk\tools\bin2header>bin2header.exe"F:\DailyWork\
20160304-TECHICE use\ICE project\xml2header\Box 1 (JiangBo-001).bin" "F:\DailyW
ork\20160304-TECHICE use\ICE project\xml2header\Box 1 (JiangBo-001).h" tiesc_eeprom
7Update C:\ti\sysbios_ind_sdk_2.1.1.2\sdk\protocols\ethercat_slave\ecat_appl\EcatStack\tiesc_eeprom.h according to the new header file.
Note: TI current implementation would ignore tiesc_eeprom.hif the content in E2PROM is valid.
Please refer to tiescbsp.c
//if(1 == invalid_crc_flag) comment this line would force tiesc_eeprom.hto be used
{
#endif
for(itr = 0; itr <TIESC_EEPROM_SIZE; itr++)
{
eeprom_cache[itr] =tiesc_eeprom[itr];
}
#ifdef EEPROM_SPI
}