This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] AM6442:频繁添加/删除 Profinet 诊断会返回一般错误

Guru**** 2747375 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1609837/am6442-frequent-add-remove-of-profinet-diagnosis-returns-generic-error

器件型号: AM6442

您好、

我在我们的定制器件上实现了一些特定于器件的 Profinet 诊断、目前我正在对其进行测试 (IND_comms SDK 11.0.0.8)。

在我的测试中、我尝试在 5 秒的间隔内添加/删除两个不同子模块上的 3 个条目:

在 submodule1 中添加 entry1
在 submodule1 中添加 entry2
在 submodule1 中添加 entry3
在 submodule2 中添加 entry1
在 submodule2 中添加 entry2
在 submodule2 中添加 entry3

等待 5 秒钟

删除子模块 1 处的 entry1
删除子模块 1 处的 entry2
删除子模块 1 处的 entry3
删除子模块 2 处的 entry1
删除子模块 2 处的 entry2
删除子模块 2 处的 entry3

等待 5 秒钟、从开始重复

对于这两个块、它适用于前 2 个 API 调用、但以下 4 个调用都返回 PN_API_NOT_OK、而没有任何其他信息或日志。  
当我在每次通话之间增加 500 毫秒的延迟时、它对每次输入都能可靠地工作。

堆栈端是否存在处理添加/删除诊断条目的频率限制?

此致
Philip Kees

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Philip:

    请查看此主题中的最后 2 条消息: AM2612:AM2612 协议和 LP-AM261 问题

    谢谢你。
    此致、
    Kamil

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Kamil:

    感谢您的快速响应。 错误提示 — 页面未找到抱歉,你所请求的页面不存在!

    此致
    Philip  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Philip:

    没关系、我将在此处提供一个简短的答案:

    当堆栈在处理状态下收到添加新诊断通道的新请求时、它会自动拒绝新请求。  在从应用程序接受新请求之前、栈需要几毫秒来处理该请求。

    谢谢你。
    此致、
    Kamil

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Kamil:

    好的、明白。

    是否可以例如、轮询栈状态以防止在栈仍然繁忙时调用 API?

    此致、
    Philip

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Philip:

    是的、您是对的... 我已将此添加到我们的备货中。

    谢谢你。
    此致、
    Kamil