AB7317 Control/Status Word reports BAD status

I have an AB7317 configured for Profinet using TIA portal. I added the 2-byte ‘Control-/Status word’ submodule to slot 1 (i.e. as defined in the GSD file). I added an ‘Input 064 bytes’ submodule to slot 2. The Profinet I/O (PNIO) Controller successfully connects to the AB7317. When I start polling the two input addresses the AB7317 Control/Status Word always reports ‘BAD’ status (i.e. the PNIO data status). The other 64-byte input returns ‘GOOD’ data status. The CAN bus is not yet connected (open) so I expect the AB Control/Status word to report the CAN status as error/invalid, but the AB7317 is not even providing valid PNIO data for this slot. Can you help?
Thanks

This is how to read the Control/Status word for the CAN network:
image
There is no ‘BAD’ status.

See User Manual page 23.

Can you share a screenshot of where you are seeing the BAD status?

Sorry for the confusion, the ‘BAD’ indicator is within the Profinet protocol. It is reported by the AB7371 to the Profinet Controller. When the controller reads the 2-bytes of data the AB7317 returns 2-bytes of data with the Profinet data status marked ‘BAD’.
Thanks,
Greg

Oh I gotcha, sorry for misunderstanding. You can’t read the Control / Status Word at all.

Have you downloaded a configuration to the Anybus yet? You’ll want to make sure that the Control / Status Word is Enabled.

Attached is a screen capture of the log file produced by the Profinet Controller. The ‘pIOremState=BAD’ is the status of the 2-byte data block (slot 1) read from the AB7317 by the controller (see hex values ‘a7 7a’). The next transaction with ‘pIOremState=GOOD’ is the status of the 64-byte block (slot 2 where all the data values are ‘00’). I can provide a pdf version with more information.

.
Thanks,
Greg

I will have to continue this on Monday … I appreciate any help or advice!
Thanks,
Greg

@hupfg Can you confirm that you have done this?

Yes, I have downloaded a configuration to the Anybus. The Communicator Diagnostic/Status tool confirms the configuration is valid. I have the box checked to enable the the Control/Status Word, and the Address Overview tool confirms it is enabled. Sorry for the delay.
Thanks

Hello Kyle,

Yes, I have downloaded a configuration to the Anybus. The Communicator Diagnostic/Status tool confirms the configuration is valid. I have the box checked to enable the the Control/Status Word, and the Address Overview tool confirms it is enabled. Also, attached is an image from the TIA configuration tool showing the Control/Status Word in slot1.

Sorry for the slow response.
Thanks

There is a special handshaking procedure that you have to use in order to read/write the Control/Status word. It’s explained on page 72 of the User Manual. Have you read that yet?

I am reading the ‘Anybus Communicator CAN PROFINET IO Doc.Id. HMSI-168-63 Rev. 1.20’ User Manual and I don’t see any reference to a special handshaking procedure. I looked at page 72 but that is within ‘Appendix C. Advanced IT Functionality’?

Ah, I see the User Manual link you provided is the ‘EtherNet/IP to SerialLinking DeviceDoc. Id. HMSI-27-354Rev. 1.00’, is this correct?

The User Manual for my Anybus device only seems to describe the ‘Control/Status Word’ in section 4.4 on page 17 and section ‘9.3 Communicator Settings’ on page 30. But I don’t see any data special handling?

I’m so sorry, I was just working with someone with a serial communicator and got the manuals mixed up.

Can you please share your config file?

Have you tried just adding the Control/Status words into the I/O and seeing if you can read them?

I have the Control/Status words in the Anybus configuration and in the Profinet I/O configuration. I can read the 16-bit Status word but the Anybus is marking the Profinet data as invalid so the value is meaningless.

All data read from the Anybus for the Control/Status word is set to ‘0xa7 0x7a’ pattern. This is some default error bit pattern produced by the Anybus when the Profinet data is marked with ‘BAD’ status. The other Profinet data read from the Anybus is marked with ‘GOOD’ status.

These BAD/GOOD indicators are part of the Profinet protocol, I’m sure they actually equate to some bit that gets toggled by the Anybus device in the network data packet sent to the Profinet Controller to indicate data validity.

Attached is my config file.

Thanks

AB7317_CAN2.hcg (3.34 KB)

Can you provide an online screenshot of the PLC diagnostics in TIA Portal when this is happening?

Also, you are using the GSD file from this page, right? If you disable the Control/Status word, you get a valid connection?

Attached is an excerpt from the Profinet Controller log file while reading the Anybus. The transaction circled in Red is the response from the Anybus sent back to the Controller reading the Anybus Control/Status Word in slot 1. Note the Anybus response transaction has status=BAD and the 16-bit data value returned is ‘0xa77a’ default error pattern.

The transaction circled in Green is the response from the Anybus sent back to the Controller reading the Anybus 64-byte data block in slot 2. Note the Anybus response transaction has status=GOOD and the 64-byte data returned is valid (all zeros).

Note that the connection between the Profinet Controller and the Anybus is seen as a valid Profinet Device connection. The successful 64-byte read also confirms this.

It is the 2-byte read of the Anybus Control/Status Word in slot 1 that always returns the bad transaction status (i.e. device connection is always good).

Yes, that is the GSD file I am using:

GSDML-V2.2-HMS-ABC_CAN_PROFINET_IO-20130902.xml

Note that my Profinet Controller is a PCIe card that does not show online diagnostics in TIA Portal. The device driver simply returns the remote status (pIOremState) and data (pBuffer) from every read/write transaction between the Controller and the Anybus. The attached log file has the details. Normally this ‘BAD’ state is only returned when the device sees the transaction as not allowed, wrong size, wrong address, etc. See where the Anybus returns a ‘GOOD’ state for the next read transaction (64-bytes).

Thanks

AB7317-PNIO-Log1.pdf (99.8 KB)

Is there any chance that you can get a packet capture of this?