此功能块用于发送显式消息。
您可以从 协议管理器 对执行操作所需的时间进行配置。
已连接消息和为连接消息各有一个超时值。
此通用功能块可以用于没有在以太网/IP 显式消息传送库中执行的功能。
如要使用此功能块,必须在 协议管理器 下方添加至少一个 EtherNet/IP 设备。请参阅添加设备。
要查看 IL 或 ST 语言的一般表示形式,请参阅功能和功能块表示形式。
下表介绍了输入变量:
输入 |
类型 |
继承自 |
注释 |
---|---|---|---|
i_xExecute |
BOOL |
BASE |
缺省值: FALSE。 输入 Execute 的上升沿可启动功能块。功能块持续执行,且输出 Busy 设置为 TRUE。 oFALSE:如果 Enable 被设置为 FALSE,输出 Done、Error 或 CommandAborted 将被设置为 TRUE 并持续一个周期。 oTRUE:如果 Enable 被设置为 FALSE,输出 Done、Error 或 CommandAborted 仍将被设置为 TRUE。 |
i_xAbort |
BOOL |
BASE |
缺省值: FALSE。 oFALSE:执行尚未中止。 oTRUE:执行已被另一个功能块所中止。 |
i_xMsgType |
BOOL |
- |
oFALSE:UCCM oTRUE:已连接(3 类)消息 |
i_adTargetIP |
- |
目标的 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 |
BASE |
通讯错误代码 |
|
q_dwOperError |
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);