SSC Tool, SSC_Device, and structure for category strings

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
User11975
Level 1
Level 1
Hello

I have an ethercat project up and running on an XMC4800.

When I start reading the category strings section of the eeprom, the first string returned is always "SSC_Device", the second string is my selected device name and following this are my input and output definitions, which matches what I can see in the epprom.h file generated by SSC Tool.

But but but, I have never entered a string with the content "SSC_Device", I can see SSC Tool specifies a a SSC_Devices group in the generated .xml file, but I cannot find this group in the UI and the XMC_ECAT_SSC_Config.xml file does not mention any groups.

So my questions are.

Is the "SSC_Device" string some hidden part of the standard?

Can I change or get rid of this SSC_Device string?

is there a standard for how the category strings section is organized?
0 Likes
5 Replies
User11325
Level 1
Level 1
+1 for this. The "SSC_DEVICE" seems to be hardcoded in the SSC Tool.
We have tried lots of things to overcome this, however without luck.

If anyone could shed some light on this matter, it would be great, especially the last question.
0 Likes
jferreira
Employee
Employee
10 sign-ins 5 sign-ins First like received
Hi,

I have just checked using the ECAT APP which includes the Infineon_XMC_ECAT_SSC_Config.xml to be imported in SSC tool.
The eeprom.h file generated contains the following:
unsigned char aEepromData[] = {
0x00,0x3C,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,
0x4E,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x10,0x80,0x00,0x80,0x10,0x80,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x00,0x01,0x00,

0x0A,0x00, // Category type (10 = Strings)
0x43,0x00, // Category size
0x0E, // Number of strings
0x0E, // Length string 1
0x49,0x6E,0x66,0x69,0x6E,0x65,0x6F,0x6E,0x20,0x73,0x6C,0x61,0x76,0x65, // "Infineon slave"
0x07, // Length string 2
0x58,0x4D,0x43,0x5F,0x45,0x53,0x43, // XMC_ESC
0x1B, // Length string 3
0x42,0x75,0x74,0x74,0x6F,0x6E,0x20,0x70,0x72,0x6F,0x63,0x65,0x73,0x73,0x20,0x64,0x61,0x74,0x61,0x20,0x6D,0x61,0x70,0x70,0x69,0x6E,0x67,
0x07, // Length string 4
0x42,0x75,0x74,0x74,0x6F,0x6E,0x31,
0x07, // Length string 5
0x42,0x75,0x74,0x74,0x6F,0x6E,0x32,
0x18, // Length string 6
0x4C,0x45,0x44,0x20,0x70,0x72,0x6F,0x63,0x65,0x73,0x73,0x20,0x64,0x61,0x74,0x61,0x20,0x6D,0x61,0x70,0x70,0x69,0x6E,0x67,
0x04, // Length string 7
0x4C,0x45,0x44,0x31,
0x04, // Length string 8
0x4C,0x45,0x44,0x32,
0x04, // Length string 9
0x4C,0x45,0x44,0x33,
0x04, // Length string 10
0x4C,0x45,0x44,0x34,
0x04, // Length string 11
0x4C,0x45,0x44,0x35,
0x04, // Length string 12
0x4C,0x45,0x44,0x36,
0x04, // Length string 13
0x4C,0x45,0x44,0x37,
0x04, // Length string 14
0x4C,0x45,0x44,0x38,


The first string matches the group type and the second one the DEVICE_NAME in the Infineon_XMC_ECAT_SSC_Config.xml.

Regards,
Jesus
0 Likes
User11975
Level 1
Level 1
I have made some additional tests and been in contact with a friendly representative from BECKHOFF and this is what I have learned.

Two different strings can be created "Infineon slave" and “SSC_Device”, this depends on how you create the slave information, setting a group name in the configuration can change it as mentioned by jferreira.
If using the configuration offered by Infineon it will use "Infineon slave", if creating a project based on the Default configuration it will use “SSC_Device”.

I wrote to BECKHOFF mentioning only the “SSC_Device”, as this is what Default produces.

The first string is indeed the group name, and it can't be changed using the SSC tool in the current version.

I want to get the device name first, and I do not care about the group, and this is the workaround I have found:

I have modified Infineon_XMC_ECAT_SSC_Config.xml.
Close to the end I have made the following change:
--------------


Infineon slave



---
Changed to:
---






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

The above change works when creating a new project and using the newly created configuration.
The group name is no longer written to the eeprom.h file, but I do not know if this breaks anything with the official BECKHOFF tools, as the group name is still kept in the ESI (xml file). I will write BECKHOFF and hear what they think.
0 Likes
User11975
Level 1
Level 1
OK

Got a reply from BECKHOFF and GroupType has to be defines, so don't do what I suggested in my last post.
0 Likes
User15064
Level 1
Level 1
The SSC project settings are cached in the SSC app and it's probably picking up "XMC_ESC" from the default Infineon configuration.
You can delete this from SSC > Tool > Options > Configurations by selecting the configuration named "Infineon XMC EtherCAT hardware" and then clicking the (-) button to delete the cached configuration.
Every time that you import a configuration xml file into SSC it gets cached so it's easy to delete and re-load the default configuration from the "Infineon_XMC_ECAT_SSC_Config.xml" file generated by DaVE.
0 Likes