最佳做法

概述

以下章节可能有助于您避免应用问题。

前提条件

  • 库仅检测支持其中一种预定义协议的设备。

  • 在使用功能块 FB_SendCommand/FB_ExtendedSendCommand 或功能 FC_GetPeerScanData 的实例之前,确认 FC_Scan 功能已成功执行。

  • FC_Scan 功能的执行完成之后,等待最多 5 秒(取决于所连接的网络设备的数量),然后再执行任何其他功能或功能块。

  • 如果在执行了功能 FC_ClearScanListFC_Scan 之后在执行此命令之前调用功能 FC_GetPeerScanData,则此功能的输入 i_udiSearchUniqueID 必须为 0。

  • FB_ExtendedSendCommand 没有语法检查可用;因此使用枚举 ET_SendCommandType 所定义的 FB_SendCommand

  • 根据命令,结构 ST_SendCommandFB_SendCommand 的输入)包含不同的必要部分。需要正确的 MAC 地址。

示例

以下示例便基于这样的网络拓扑:

有两个检测到的设备(M241M251 逻辑控制器)存储在内部数据库中。

FC_GetPeerScanData的示例

按型号名称搜索设备:

步骤

操作

1

按以下方式设置输入:

i_uiSearchUniqueID := 0
i_etSearchTypeFilter := ModelName
// use the enumeration ET_SearchTypeFilter to select a pre-defined filter
i_sSearchTypeValue := 'TM241'

2

执行此功能。

结果:结构 ST_PeerDeviceInfo 提供 M241 相关信息。

注: 如果您的网络连接有多个 M241 逻辑控制器,则在下次执行期间,将唯一 Id(在该例中为 1)用作 i_uiSearchUniqueID 的输入。只要 FC_GetPeerScanData 成功执行,便重复此过程,以获取所有 M241 逻辑控制器的这一信息。

按 IPv4 地址搜索设备:

步骤

操作

1

按以下方式设置输入:

i_uiSearchUniqueID := 0
i_etSearchTypeFilter := IPv4
// use the enumeration ET_SearchTypeFilter to select a pre-defined filter
i_sSearchTypeValue := '10.209.177.74'
//IP address of the TM251

2

执行此功能。

结果:结构 ST_PeerDeviceInfo 提供具有此 IPv4 地址的控制器的相关信息。

FB_SendCommand 的示例

  • 定位

    仅必须设置输入 i_etCommandTypei_sMacAddr

    此功能块的执行会迫使所连接的 M251 逻辑控制器上的 LED 闪烁大约 10 秒。

  • IPv4 地址

    如要临时更改 M251 逻辑控制器的 IPv4 地址 (Save = FALSE),必须设置输入结构 i_stSendCommand 的所有元素。
    注: 通过执行以下命令来确认新配置是否正确设置:
    1. FC_ClearScanList

    2. FC_Scan

    3. FC_GetPeerScanData

    在该例中,您得到:
  • MAC 地址

    以下示例显示了不正确的命令语法(无效的 MAC 地址)

    根据命令,为所有结构元素实现了语法检查。

  • 备份

    如要创建 M251 逻辑控制器的备份映像,必须设置输入 i_etCommandTypei_sMacAddri_sExtension1(FTP 用户名)和 i_sExtension2(FTP 密码)。
    注: 此命令的执行可能需要数分钟。
    如要确认备份是否(以及具体在何处)存储在 SD 卡(插入到 M262 逻辑控制器中)上,可以打开到 M262 逻辑控制器的 FTP 连接。

示例 FB_ExtendedSendCommand

关于在何处输入完整的命令,只定义了一个输入字符串,比如,locate

注: 输入i_sExtendedSendCommand没有语法检查或其他完整性检查。必须注意输入内容,确保其正确性。仅接受小写字符。