FB_SnmpManager 功能块是 SNMP 通讯的用户接口。
每次仅能够管理发往一个代理的一个请求。
功能块必须处于启用状态并且为执行请求做好了准备。在开始执行请求时,需要设置输入 i_etRequest 和 iq_stRequestInfo。来自输入的信息用于创建包含请求的 SNMP 报文并通过 UDP 将该报文发送到代理。i_ifUserManagement 输入用于引用 FB_SnmpManager 实例,后者包含在 i_sUser 输入中指定的用户。用户数据用于对 SNMPv3 请求进行身份验证和加密。功能块等待来自代理的响应、处理这个响应并在 iq_stRequestInfo.stResponse 处呈现所接收的信息。只要功能块正在执行请求,输出 q_xBusy 便被设置为 TRUE,并且 q_etResult 会显示操作状态。输出 q_xDone 指示成功执行,q_xError 显示在执行期间功能块是否检测到任何问题,其中 q_etResult 和 q_sResultMsg 显示与所检测到的错误的性质和原因有关的信息。如果检测到错误,则需要通过禁用并再次启用的方式复位功能块。
输入 |
数据类型 |
描述 |
---|---|---|
i_xEnable |
BOOL |
功能块的激活与初始化。 |
i_xExecute |
BOOL |
在 i_etRequest 中指定的命令在此输入的上升沿执行。 |
i_etRequest |
在 i_xExecute 为 TRUE 时执行的 SNMP 请求。确保在执行 SNMP 请求之前 iq_stRequestInfo 可用。 |
|
i_etVersion |
指定与代理通讯时所用的协议版本。缺省值为 ET_SnmpProtocolVersion.Version2c。 |
|
i_etSecurityLevel |
发送 SNMPv3 消息时所处的安全级别。
注: 在 i_sUser 中指定的用户帐户需要根据所选安全级别进行配置。
|
|
i_sUser |
STRING |
要对 SNMPv3 请求进行身份验证和加密的用户帐户的名称。 |
i_ifUserManagement |
对创建用户帐户的 FB_UserManagement 实例的引用。
注: 如果在 i_sUser 中未指定用户帐户,则可以忽略此输入。
|
输入/输出 |
数据类型 |
描述 |
---|---|---|
iq_stRequestInfo |
ST_RequestInformation |
用于传送包含信息并用来向代理发送请求的结构以及用于传送用来呈现从代理接收的响应的结构。 |
输出 |
数据类型 |
描述 |
---|---|---|
q_xActive |
BOOL |
如果此功能块活动,则该输出设置为 TRUE。 |
q_xReady |
BOOL |
如果初始化成功,则该输出在功能块能够接受输入期间一直指示 TRUE 信号。 |
q_xBusy |
BOOL |
如果此输出设置为 TRUE,则功能块执行在 i_etRequest 处指定的命令。 |
q_xDone |
BOOL |
如果此输出设置为 TRUE,则功能块已成功完成在 i_etRequest 处指定的命令。附加数据在 iq_stRequestInfo.q_stResponse 处提供。 |
q_xError |
BOOL |
如果此输出设置为 TRUE,则检测到错误。有关详细信息,请参阅 q_etResult 和 q_etResultMsg。 |
q_etResult |
ET_Result |
提供诊断和状态信息。 |
q_sResultMsg |
STRING[255] |
提供附加诊断和状态信息。 |