As far as I know you shouldn’t need any library to read diagnostics from a Profibus Slave or a Profinet Device. Reading the TIA Portal Help you will find functions (DPNRM_DIAG or GET_DIAG, for example) that should retrieve the diagnostic information that was sent from the slave/device from the Profibus Master or Profinet Controller into your application program.
Sadly we found out that these functions are still not working as they should. As soon as a third party slave/device generates a diagnostic (we tested with Murrelektronik and other products) the S7-1200 will indicate that. But as soon as the diagnostic is gone the S7-1200 won’t reset the diagnostic state and will stay forever in this state.
We contacted Siemens in Germany and informed about that. The original support case (SR-Number 1-2777626655 from 2012-05-25 13:51) was passed to Development (SR-Number 1-2816495278 from 2012-06-05 11:35) and on 2012-07-05 15:20 we received following answer:
“Wir haben die Mitteilung von unserer Entwicklung bekommen, dass sie bemüht ist, dass von Ihnen geschilderte Verhalten zum Update 5 der Version V11.0 des TIA Portals zu verändern. Das Erscheinungsdatum dieser Version ist uns noch nicht bekannt, aber wir werden Sie informieren, sobald diese Version zum Download oder zur Bestellung bereit steht.”
what means (optimized Google translation)
„We received the notification from our development that they are doing all the efforts to change the behavior you described for Update 5 version of the TIA Portal V11.0. The release date of this version is still unknown, but we will inform you as soon as this version is ready for download or order.“
And we are still waiting...
With S7-300 and S7-400 Series there are no problems.
By the way, there is no need to order any documentation from the PNO Site. The standards only specify how Slave/Device and Master/Controller exchange diagnostic information. How you retrieve this information from the Master/Controller into your application program isn’t specified because this is an internal interface between the Master/Controller and the “PLC”. In this case you should always read the PLC documentation.
And the DP-V1 function block that dchartier mentioned isn’t for diagnostic purposes but for acyclic data exchange between your application and the Cube67+ Station (to turn the branchs on and off to change the configuration of the Station – very useful when you have a machine with options where not all modules are connected, for example).
In case you need more information, please do contact Murrelektronik Support directly in the US or in Germany.