Zedsdead (Customer) asked a question.

SS2 Pro Software EDS file generator questions

Hello, I've built a single axis machine using the SS2 drive platform with modbus TCP. I'm now designing a dual axis version and have decided to switch to EIP comms in the process. I configured the i/o assembly objects in SS2 pro and generated the file. When i loaded that into my PLC there were some things i did not expect. I apologize in advance as this will be my first implementation of EIP comms so i'm somewhat a noob.

  1. The data type for all parameters was set to 32B UINT (hex code 0xC8). For PR path parameters (Definition and data), DATA is actually a 32B INT (signed) (hex code 0xC4). I don't think the UINT type will work correctly if my data is negative (ie) reverse direction, Is that correct?
  2. In the EDS file the section for parameters min, max, default values is 0,0,0. Why does it not fill in the correct range? Does that matter?
  3. The EDS file did not include [Connection Manager] or [Connection Configuration] objects. I'm wondering if that is normal or if it is because i have not set up EIP related parameters in SS2 pro or installed a physical EIP comm card yet?
  4. The EDS file did not include a configuration section for the assembly object yet my controller (Unilogic) interpreted it and created it anyway. The config section is shown in the SS2 manual pg 9-26 at 96 words. Does the SS2 drive make any use of this or not? For example i'm wondering if I might somehow use this to disable NV writes (par P2.030).
  5. Is there any way to adjust the data length for the I/O assembly or is it fixed to the 16 x32B inputs and 16x32B outputs. You'll note that for unused parameters its the default P0.0 -Firmare version. I don't need that and certainly not multiple copies of it but if there is no way to reduce the data length i'm thinking i may as well include some other parameters that i would normally just use explicit messaging for (ie) config settings or non-time sensitive stuff like P2.030 -Disable NV writes

 

generated EDS file attached,

 

Thank you


  • ADC TechnologyGroup_05 (AutomationDirect)

    If you would like to disable writing to non-volatile EEPROM, be sure to include parameter P2.030 in the "O->T PLC Output Values" table in the SureServo2 Pro's EtherNet/IP setup. Then use the corresponding Output Data element in your PLC to write a value of 5.

     

    As you have discovered, the default parameter selection is P0.000, which returns the Firmware Version. I cannot imagine that any user would need the firmware version value on a cyclic basis. A more appropriate default selection for unused parameters, in my opinion, would be the "Monitor Item: [0xFFFF]<empty field>" selection option that is available.

     

    In hopes of addressing your other questions:

    1. Try using a DINT variable in your PLC program for your PR path parameter and copy the bit pattern of the DINT variable into the UDINT Output Assembly Member offset.
    2. The min, max, and default values of a ParamN entry in an EDS file matter greatly when the ParamN is used as a user selection. ParamN entries are often used for allowing user selection of a data block size, selection of a connection point, selection of a Configuration Assembly member reference value, and more. The PLC programming software should enforce these limits. However, when a ParamN entry is used as a member reference for an Input (T->O) or Output (O->T) Assembly, the min, max, and/or default values have much less meaning.
    3. Looking at your attached EDS file, the [Connection Manger] section starts at line 1041. The EDS file does NOT include the [Connection Configuration] section because this object is not implemented within the device.
    4. Looking at your attached EDS file, the Configuration Assembly is defined starting at line 1000 (Assem131). The size of the Assembly is 192 bytes (equivalent to 96 words).
    5. The servo's Input and Output Assemblies both have a fixed size of 64 bytes (32 words). So, there is no adjusting the size of these blocks.

     

    I hope this information helps you move forward in your project.

    Expand Post
  • Zedsdead (Customer)

    Thank you for the prompt reply.

    1. Regarding the DINT vs DUINT, i don't have a test set-up to try this with which is why i was hoping to clarify in advance. If I load a negative number into a DUINT it will wrap and subtract that from the max. For example a DUINT has a range of 4,294,967,296. If my data is -1,000,000 then the resulting number in DUNIT would be 4,203,967,296. If I send that to the drive path #-DATA are you saying it should unwrap that and interpret it as the intended -1,000,000?
    2. Okay. I have no issue enforcing range limits in the PLC, i just thought it odd that the EDS generated showed 0,0,0 instead of the actual limits of parameters
    3. Understood thanks. Not a big deal to manually enter connection parameters in the PLC anyway.
    4. Oh, yes. I see it now. I did not scroll down far enough. So it was the EDS file generator that created the config assembly object not my PLC, however my question is, I don't think the SS2 drive makes any use of this object, correct? Many devices don't and Thats fine i just wondered if i was missing something.
    5. Understood. I figured as much. I will try setting unused ones to the monitor item you suggest and see if it reduces the expected data size. If not, I will just point them to parameters that might have some better future use than "firmware version" - like P2.030 :)

    Thanks

    Expand Post
  • ADC TechnologyGroup_05 (AutomationDirect)

    Regarding point 1:

    Please check your UDINT value. You list a result of 4,203,967,296. However, the result SHOULD be 4,293,967,296. Other than what I suspect is a typo, I think you now have an understanding of this. The following values all have the same bit pattern:

    • Binary: 1111_1111_1111_0000_1011_1101_1100_0000
    • Hexadecimal: 0xFFF0BDC0
    • Signed Double Integer: -1,000,000
    • Unsigned Double Integer: 4,293,967,296

     

    Regarding point 4:

    The SureServo2 drive DOES use the data from the Configuration Assembly. The Configuration Data consists of addresses the user has selected for the mapping of the I/O Assemblies. This data is sent to the drive during the establishment of the I/O Messaging connection (called the Forward_Open Request).

    Expand Post
  • Zedsdead (Customer)

    Hello, Yes that was a typo, off by three decimals places, good catch😉

    Totally understand what you meant about bit pattern now. Thanks that helped.

     

    Oh so the Config assembly is not optional? I thought that would be configured on the drive end using SS2 Pro?

     

    Thanks again

    Expand Post