EipDataExch:发送显式消息

功能块描述

此功能块用于发送显式消息。

您可以从 协议管理器 对执行操作所需的时间进行配置。

已连接消息和为连接消息各有一个超时值。

此通用功能块可以用于没有在以太网/IP 显式消息传送库中执行的功能。

如要使用此功能块,必须在 协议管理器 下方添加至少一个 EtherNet/IP 设备。请参阅添加设备

图形表示形式

G-SE-0047135.1.gif-high.gif

 

 

IL 和 ST 表示形式

要查看 IL 或 ST 语言的一般表示形式,请参阅功能和功能块表示形式

I/O 变量描述

下表介绍了输入变量:

输入

类型

继承自

注释

i_xExecute

BOOL

BASE

缺省值: FALSE。

输入 Execute 的上升沿可启动功能块。功能块持续执行,且输出 Busy 设置为 TRUE。

oFALSE:如果 Enable 被设置为 FALSE,输出 DoneError 或 CommandAborted 将被设置为 TRUE 并持续一个周期。

oTRUE:如果 Enable 被设置为 FALSE,输出 DoneError 或 CommandAborted 仍将被设置为 TRUE。

i_xAbort

BOOL

BASE

缺省值: FALSE。

oFALSE:执行尚未中止。

oTRUE:执行已被另一个功能块所中止。

i_xMsgType

BOOL

-

oFALSE:UCCM

oTRUE:已连接(3 类)消息

i_adTargetIP

TCP_ADDRES

-

目标的 IP 地址

i_byService

BYTE

-

待执行的服务(服务代码见上文)

i_dwClass

DWORD

-

目标类。

参见如何在设备文档中查找对象信息

如果类不会成为请求的一部分,则必须为 0xFFFFFFFF

i_dwInstance

DWORD

-

目标实例。

参见如何在设备文档中查找对象信息

如果目标是类实例,则可以为 0。如果实例不会成为请求的一部分,则必须为 0xFFFFFFFF

i_dwAttribute

DWORD

-

目标属性。

参见如何在设备文档中查找对象信息

如果属性不会成为请求的一部分,则必须为 0xFFFFFFFF

i_dwMember

DWORD

-

目标成分。

参见如何在设备文档中查找对象信息

如果成分不会成为请求的一部分,则必须为 0xFFFFFFFF

i_abyRequestTag

ARRAY OF [0…250] BYTE

-

目标扩展符号段。如果未使用,则 i_wTagSize 必须为 0

i_wTagSize

WORD

-

i_abyRequestTag 的实际大小

i_abyRequestData

ARRAY OF [0…999] BYTE

-

应发送至目标的数据。如果未使用,则 i_wDataSize 必须为 0

i_wDataSize

WORD

-

i_abyRequestData 的实际大小

下表描述了输出变量:

输出

类型

继承自

注释

q_xDone

BOOL

BASE

缺省值: FALSE。

oFALSE:执行尚未启动,或者已检出错误。

oTRUE:无检出错误时执行终止。

q_xBusy

BOOL

BASE

缺省值: FALSE。

oFALSE:功能块不处于正被执行状态。

oTRUE:功能块正在执行中。

q_xAborted

BOOL

BASE

缺省值: FALSE。

oFALSE:执行尚未中止。

oTRUE:执行已被 Abort 输入所中止。

q_xError

BOOL

BASE

缺省值: FALSE。

oFALSE:功能块的执行正在进行中,尚未检出错误。

oTRUE:已在执行功能块时检出错误。

q_byCommError

CommunicationErrorCodes

BASE

通讯错误代码

q_dwOperError

OperationErrorCodes

BASE

操作错误代码

q_abyResponseData

ARRAY OF [0…999] BYTE

-

成功时的响应数据

q_wDataSize

WORD

-

以字节数量表示的响应数据的大小

q_abyExtStatus

ARRAY OF [0…499] BYTE

-

出现错误响应时的扩展状态数据

q_wExtStatusSize

WORD

-

以 16 位字数量表示的扩展状态数据的大小

q_wExtStatus

WORD

-

扩展状态字

示例

以下是调用此功能的示例:

MyEipDataExch(

    i_xExecute:= Execute,

        i_xAbort:= Abort,

       q_xDone=> Done,

       q_xBusy=> Busy,

       q_xAborted=> Aborted,

       q_xError=> Err,

       q_byCommError=> CommError,

       q_dwOperError=> OperError,

        i_adTargetIp:= IpAddr,

        i_xMsgType:= MsgType,

        i_byService:= Service,

        i_dwClass:= Class,

        i_dwInstance:= Instance,

        i_dwAttribute:= Attribute,

        i_dwMember:= Member,

        i_abyRequestTag:= RequestTag,

        i_wTagSize:= TagSize,

        i_abyRequestData:= RequestData,

        i_wDataSize:= ReqDataSize,

       q_abyResponseData=> ResponseData,

       q_wDataSize=> ResDataSize,

       q_abyExtStatus=> ExtStatusArray,

       q_wExtStatusSize=> ExtStatusSize,

   q_wExtStatus => ExtStatus);