循环通信停止请求
此FP指令停止发出停止请求的节点,然后将结果写入输出变量d_Result中。节点编号表由FP_ETHERNETIP_STATE_TABLE_DUT指定。
输入
停止请求节点编号表
存储最大节点编号(1-256)或常量的内存区地址。
输出
写入数据的目标
0:指定节点停止已完成
1:指定节点停止处理正在进行中。
2:指定节点停止失败
3:FP_ETHERNETIP_STOP的多次启动
如果读取数据超出允许范围
如果指令是在中断程序中执行的。
如果读取数据超出允许范围
如果指令是在中断程序中执行的。
所有用于编程此函数的输入和输出变量已在POU头中声明。 所有编程语言使用相同的POU头。
VAR
bEnable: BOOL:=FALSE;
wResult: WORD:=0;
dutNodes_NodeTableStop: FP_ETHERNETIP_STATE_TABLE_DUT;
END_VAR
当变量sys_bIsEtherNetIPStartStopControllable和bEnable设置为TRUE时,执行此函数。
BODY
WORKSPACE
NETWORK_LIST_TYPE := NWTYPELD ;
ACTIVE_NETWORK := 0 ;
END_WORKSPACE
NET_WORK
NETWORK_TYPE := NWTYPELD ;
NETWORK_LABEL := ;
NETWORK_TITLE := ;
NETWORK_HEIGHT := 8 ;
NETWORK_BODY
B(B_VARIN,,dutNodes_NodeTableStop,14,5,16,7,);
B(B_VAROUT,,wResult,28,5,30,7,);
B(B_CONTACT,,bEnable,12,4,14,6,);
B(B_CONTACT,,sys_bIsEtherNetIPStartStopControllable,8,1,10,3,);
B(B_F,FP_ETHERNETIP_STOP!,,16,3,28,7,,?DEN?Dd_dutStateTable?AENO?Cd_Result);
L(1,2,8,2);
L(10,2,10,5);
L(10,5,12,5);
L(14,5,16,5);
L(1,0,1,8);
END_NETWORK_BODY
END_NET_WORK
END_BODY
IF (sys_bIsEtherNetIPStartStopControllable) AND (bEnable) then
FP_ETHERNETIP_STOP(d_dutStateTable := dutNodes_NodeTableStart,
d_Result => wResult)
END_IF;