Skip to main content

Network initialization error using the Anybus profinet M40 module

Comments

7 comments

  • Komlan

    Hi Asaad,

    What do those 128 ADIs amount to in terms of data size? Did you check the value of ABCC_CFG_MAX_PROCESS_DATA_SIZE in abcc_drv_cfg.h?

    0
  • Asaad Dodamani
    The total data size of 128 parameters amounts to 282 bytes, ABCC_CFG_MAX_PROCESS_DATA_SIZE is set to 512 bytes. We have also tried increasing this value to 600 and even 1024 since the total size of the 261 ADI parameters that we want to write is 539 bytes.
    0
  • Duris_I

    Hello,

    I don't know if I'm right but I recommend check your other side (PN network???) max amount of bytes send as message. I recommend maybe start with 255 (or as also PB defines as std max) and also be careful with other parameter PROCESS_DATA_SIZE. With PN I expect here 512 as max. Can you  be kind only show that your defined ADIs to have better look at this your cfg? from your description of ADIs it is generally clear that probably you have defined mostly ADIs with BYTE data type, more WORD and few DWORD data type, correct?

    0
  • Asaad Dodamani

    We have not connected the Profinet module to any network yet. We are expecting the module to come to a WAIT state before we connect it to the network. But the module goes to EXCEPTION state immediately after the NETWORK_INIT state(with exception code 6).This doesn't happen if we reduce the number of ADIs to 128(282 bytes) and the module comes to WAIT state as expected. Also we have defined all our ADIs in the same way that is proposed in the speed example provided with Uint8, Unit16, Uint32 adi datatypes. Most of these are Uint16 type, few Uint8 type and fewer of Uint32 type.

    0
  • Duris_I

    Hello,

    thnx for your description. It is clear to me about your defined data types now, little bit differently as I expected but as only one other expected selection. Simply I still think to PB/PN specification about max possible data exchange as one packet. On other side I don't have any possibility to test this due not HW at my place.

    0
  • Komlan

    Hi Asaad,

    I'm guessing this issue could be the result of the way your ADI mapping was done. In the ABCC40 PROFINET, there's a limitation to 128 submodules, and in the ADI based configuration, each one of those mapped ADIs will correspond to one module containing itself one submodule that holds the data. On top of that, four submodules are reserved in slot 0 for the DAP, the interface, and the two ports. This would effectively limit the number of ADIs you can map. The simplest workaround to this would be using fewer ADIs of array type, instead of using several single element ADIs.

    0
  • Asaad Dodamani

    Hi,

    Thanks for the Info. We have tried creating ADIs as array types with 8 different ADI arrays (6 of 32 elements two of 20 elements). But it seems like even this method has a limited number of ADI elements that can be mapped as we could only map around 232 elements. Also is there a way to name each element inside these ADI arrays that will appear on the network?...We tried structured ADIs but there were some issues with that method as well... 

    0

Please sign in to leave a comment.