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**** 2652575 points

Other Parts Discussed in Thread: AM6442

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1588258/am6442-profinet-diagnosis---channel-specifier

器件型号: AM6442

大家好!

我目前正在使用 AM6442 上的 TI Profinet 协议栈为我们的器件实现 Profinet 诊断功能、并且在从子模块中删除诊断条目时、对通道说明符的值有疑问。  
根据规范、ChannelProperties。说明符有 4 个可能的值:

  • 0x00 — 所有后续消失
  • 0x01 — 出现
  • 0x02 — 消失
  • 0x03 — 消失,但其他符号仍然存在

TI 栈的 API 文档在 PN_API_IOD_DiagChannelPropSpecErr_t 中列出了 3 个可能值

  • PN_API_IOD_DiagChannelPropSpectAppear  
  • PN_API_IOD_DiagChannelPropSpecErrDisappeared  
  • PN_API_IOD_DiagChannelPropSpecErrDisappearMore  

是否有可能/有必要区分“0x02 — 消失“和“0x03 — 消失但其他保留“、或者堆栈是否隐式处理此问题?

在我的理解中、它们在给定信道的剩余诊断条目的严重程度上有所不同。  

此致
Philip Kees

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

    您好 Philip:

    请您进一步说明“栈隐式处理“的含义吗?

    ChannelProperties.Descriptor 选项由应用程序根据 当前通道诊断状态分配。 堆栈以诊断警报的形式将此信息转发给 PLC。 在本例中、警报消息保存应用程序在 ChannelProperties.Specifier 字段中给出的值。

    此致、
    Kamil

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

    尊敬的 Kamil:  

    感谢您的答复。 我认为我的主要问题是如何将 4 个可能的说明符值从规范映射到堆栈 API 中定义的 3 个说明符枚举。  

    我仍然熟悉 Profinet 规范、但可能有一些误解。 我现在在 IEC CD 61158-6-10 Table 747(ChannelProperties 中的有效组合)中找到脚注 A、其中提到说明符值 0 只能用于报警通知。 根据我的理解、这意味着对于在堆栈中设置和删除诊断条目、我只需要 TI Stack API 中定义的说明符值 1 - 3? 或者 pn_api_iod_types.h 中的枚举 PN_API_IOD_DiagChannelPropSpecErr_t 是否不完整?

    此致
    Philip

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

    您好 Philip:

    是的、您对标准的观察是正确的。 因此、我们 API 中提供的枚举是完整的。 对于通道诊断、值 0x00 是保留值、不应使用。

    此致、
    Kamil