Anybus B40 device scan not found

Hello there,
After flashing the B40 module with PROFINET firmware, the IPconfig utility is unable to scan the device. Let me know what can I do to resolve this.
BR,
Riyaz

Hello,

Do you have the latest version of the IPconfig tool installed? Have you tried going to settings and choosing specific Networks cards to scan with? Can you make sure that port 3250 is not blocked?

Best regards,
Nick

Hi Nick,
I suppose I am using latest version of IPconfig and I was able to scan my device before flashing with the PROFINET firmware. After flashing it stopped showing up for few minutes. Now, I am again able to scan it. How can I ensure the firmware currently running in B40 is PROFINET firmware and not Ethernet/IP firmware since before flashing, it had EIP firmware.
Regards,
Riyaz

Riyaz,

I think the easiest way to tell is the LED statuses after the firmware is applied. Is the NS light blinking red three times?

Best regards,
Nick

Hi Nick,
In my product hardware, we have only interfaced the port status LEDs. So, there is no NS light. The port status LED blinks. So, Is there any other means to verify?
Regards,
Riyaz

Hello,

There are a few ways that you can determin what the module is. The easiest is to see what IPconfig reports,

The only issue is that if you have changed identity information in your module this could not reflect the network type.

The second easiest way is to go into the FTP server and pull out the module.nfo file.

when you double click on this it will open on your web browser and it will report the Product Network Type. If it is PROFINET it should say 0089h.

Best regards,
Nick

Hi Nick,
Thanks.
Yes, I can see that ProductNetworkType value is 0x0089.
GSDML generator tool is not able to generate the GSDML and after some time this tool throws message “Unable to fetch information from module.” I looked at wireshark messages, and I see only Broadcast packets and no response from my IO Device whose IP address is 192.168.1.254
Regards,
Riyaz

Hello,

I think this has to do with the identity information set up in your application. What did you put in your software as your vendor and product codes?

Best regards,
Nick

Hi Nick,
I have used the HMS vendor ID 0x010C and Dev ID as 0x0010. Product name as “ABCC40-PIR”.
Regards,
Riyaz

Hello,

Sorry I actually meant the information in abcc_identification within your code. under the PRT section it will say,

#if PRT_OBJ_ENABLE
/*
** Attribute 1: Device ID (UINT16 - 0x0000-0xFFFF)
*/
#ifndef PRT_IA_DEVICE_ID_ENABLE
#define PRT_IA_DEVICE_ID_ENABLE TRUE
#define PRT_IA_DEVICE_ID_VALUE 0xFFFF
#endif

/*
** Attribute 2: Vendor ID (UINT16 - 0x0000-0xFFFF)
*/
#ifndef PRT_IA_VENDOR_ID_ENABLE
#define PRT_IA_VENDOR_ID_ENABLE TRUE
#define PRT_IA_VENDOR_ID_VALUE 0xFFFF
#endif

/*
** Attribute 3: Station Type (Array of CHAR)
*/
#ifndef PRT_IA_STATION_TYPE_ENABLE
#define PRT_IA_STATION_TYPE_ENABLE TRUE
#define PRT_IA_STATION_TYPE_VALUE “Station Type”
#endif

/*
** Attribute 8: IM Order ID (Array of CHAR)
*/
#ifndef PRT_IA_IM_ORDER_ID_ENABLE
#define PRT_IA_IM_ORDER_ID_ENABLE TRUE
#define PRT_IA_IM_ORDER_ID_VALUE “Order ID”
#endif

/*
** Attribute 9: IM Serial Number (Array of CHAR)
*/
#ifndef PRT_IA_IM_SERIAL_NBR_ENABLE
#define PRT_IA_IM_SERIAL_NBR_ENABLE TRUE
#define PRT_IA_IM_SERIAL_NBR_VALUE “0xFEDCBA9800000000”
#endif

/*
** Attribute 10: IM Hardware revision (UINT16 - 0x0000-0xFFFF)
*/
#ifndef PRT_IA_IM_HW_REV_ENABLE
#define PRT_IA_IM_HW_REV_ENABLE TRUE
#define PRT_IA_IM_HW_REV_VALUE 0x0000
#endif

/*
** Attribute 11: IM Software revision (CHAR, 3 * UINT8)
*/
#ifndef PRT_IA_IM_SW_REV_ENABLE
#define PRT_IA_IM_SW_REV_ENABLE TRUE
#define PRT_IA_IM_SW_REV_SYMBOL_VALUE ‘V’
#define PRT_IA_IM_SW_REV_MAJOR_VALUE 99
#define PRT_IA_IM_SW_REV_MINOR_VALUE 99
#define PRT_IA_IM_SW_REV_BUILD_VALUE 99
#endif

/*
** Attribute 19: System Description (Array of CHAR)
*/
#ifndef PRT_IA_SYSTEM_DESCRIPTION_ENABLE
#define PRT_IA_SYSTEM_DESCRIPTION_ENABLE TRUE
#define PRT_IA_SYSTEM_DESCRIPTION_VALUE “System Description”
#endif

/*
** Attribute 22: System Contact (Array of CHAR)
*/
#ifndef PRT_IA_SYSTEM_CONTACT_ENABLE
#define PRT_IA_SYSTEM_CONTACT_ENABLE TRUE
#define PRT_IA_SYSTEM_CONTACT_VALUE “System Contact”
#endif

What is in this code for you?

Best regards,
Nick

Hi NIck,
Following changes things I have made.

#if PRT_OBJ_ENABLE
/*
** Attribute 1: Device ID (UINT16 - 0x0000-0xFFFF)
*/
#ifndef PRT_IA_DEVICE_ID_ENABLE
#define PRT_IA_DEVICE_ID_ENABLE TRUE
#define PRT_IA_DEVICE_ID_VALUE 0x0010 //0xFFFF
#endif

/*
** Attribute 2: Vendor ID (UINT16 - 0x0000-0xFFFF)
*/
#ifndef PRT_IA_VENDOR_ID_ENABLE
#define PRT_IA_VENDOR_ID_ENABLE TRUE
#define PRT_IA_VENDOR_ID_VALUE 0x010C //0xFFFF
#endif

/*
** Attribute 3: Station Type (Array of CHAR)
*/
#ifndef PRT_IA_STATION_TYPE_ENABLE
#define PRT_IA_STATION_TYPE_ENABLE TRUE
#define PRT_IA_STATION_TYPE_VALUE “ABCC40-PIR”
#endif

/*
** Attribute 8: IM Order ID (Array of CHAR)
*/
#ifndef PRT_IA_IM_ORDER_ID_ENABLE
#define PRT_IA_IM_ORDER_ID_ENABLE TRUE
#define PRT_IA_IM_ORDER_ID_VALUE “ABCC40-PIR”
#endif

/*
** Attribute 9: IM Serial Number (Array of CHAR)
*/
#ifndef PRT_IA_IM_SERIAL_NBR_ENABLE
#define PRT_IA_IM_SERIAL_NBR_ENABLE TRUE
#define PRT_IA_IM_SERIAL_NBR_VALUE “0123456789ABCDEF”
#endif

/*
** Attribute 10: IM Hardware revision (UINT16 - 0x0000-0xFFFF)
*/
#ifndef PRT_IA_IM_HW_REV_ENABLE
#define PRT_IA_IM_HW_REV_ENABLE TRUE
#define PRT_IA_IM_HW_REV_VALUE 0x0002 //0x0000
#endif

/*
** Attribute 11: IM Software revision (CHAR, 3 * UINT8)
*/
#ifndef PRT_IA_IM_SW_REV_ENABLE
#define PRT_IA_IM_SW_REV_ENABLE TRUE
#define PRT_IA_IM_SW_REV_SYMBOL_VALUE ‘V’
#define PRT_IA_IM_SW_REV_MAJOR_VALUE 02 //99
#define PRT_IA_IM_SW_REV_MINOR_VALUE 05 //99
#define PRT_IA_IM_SW_REV_BUILD_VALUE 03 //99
#endif

/*
** Attribute 19: System Description (Array of CHAR)
*/
#ifndef PRT_IA_SYSTEM_DESCRIPTION_ENABLE
#define PRT_IA_SYSTEM_DESCRIPTION_ENABLE TRUE
#define PRT_IA_SYSTEM_DESCRIPTION_VALUE “HMS Industrial Networks”
#endif

/*
** Attribute 22: System Contact (Array of CHAR)
*/
#ifndef PRT_IA_SYSTEM_CONTACT_ENABLE
#define PRT_IA_SYSTEM_CONTACT_ENABLE TRUE
#define PRT_IA_SYSTEM_CONTACT_VALUE “www.hms.com
#endif

#endif /* #if PRT_OBJ_ENABLE */

Hello,

Non of those look incorrect, but when I have seen this issue before it has been because one of these attributes are not compatible. In this case I am wondering if the serial number is the problem? Perhaps this could be changed to something else?

Best regards,
Nick

Hi Nick,
Thanks for the reply.
Should I turn off this macro and try?
Regards,
Riyaz

Hi Nick,
Sorry, for more clarification of the previous post. Should I disable this macro “PRT_IA_IM_SERIAL_NBR_ENABLE” to FALSE and try?
Regards,
Riyaz

Can you try turning off all macros and see if it works? That may be easier, then you can turn them on one by one to see which is causing a problem.

Best regards,
Nick

Hi Nick,
I made this macro FALSE and then also I get the same error message in the GSDML generator utility.
I noticed that there is some communication between this utility and IO Device. Yesterday I thought had applied pn-rt filter to only display pnio frames in Wireshark. But GSDML creates communicates using TCP frames. So, I observed that there is some communication and after 2 or 3 minutes, utility throws this error.
So, I am not able to figure out where is the problem.
Regards,
Riyaz

Riyaz,

Can you share a screenshot of this exception please?

Best regards,
Nick

Hi Nick,
Pasting here the exception


Regards,
Riyaz

Thank you, can you please also tell me what version of the PROFINET firmware you flashed to the B40 is?

I want to make sure you are using the latest one.

Best regards,
Nick

Can you also provide your wireshark capture of the traffic when trying to use the generator?

Best regards,
Nick