ResetComPort

重置指定的COM端口

此功能块将COM端口重置请求发送至指定的端口号。必须将PLC设置为“程序控制”通信。评估输出变量bIsDonebIsRequested以检查指定端口是否重置且可再次使用。

参数

输入

bReset (BOOL)

如果设置为TRUE,则COM端口重置请求已发送至指定的端口号

Port (WORD, INT, UINT)
端口号
  • CPU上的COM0、COM1、COM2

  • 16#xx01–16#xx04SCU上的(xx = 插槽编号1–64)

输出

bIsDone (BOOL)

如果COM端口已重置且可再次使用,则设置为TRUE

bIsRequested (BOOL)

如果已请求COM端口重置,则设置为TRUE

输出的相应系统变量(仅在COM端口已由同一实例的bReset重置时设置)

  • 请求重置

    • COM0sys_bIsComPort0ResetRequested

    • COM1sys_bIsComPort1ResetRequested

    • COM2sys_bIsComPort2ResetRequested

  • 完成重置

    • COM0sys_bIsComPort0ResetDone

    • COM1sys_bIsComPort1ResetDone

    • COM2sys_bIsComPort2ResetDone

示例

POU头

所有用于编程此函数的输入和输出变量已在POU头中声明。 所有编程语言使用相同的POU头。

	VAR
		fbResetComPort: ResetComPort;
		bResetComPort: BOOL:=FALSE;
		iPort: INT:=0;
		bComPortCannotBeUsed: BOOL:=FALSE;
	END_VAR

POU本体

当变量bResetComPort设置为TRUE时,执行此功能块。

LD本体

BODY
    WORKSPACE
        NETWORK_LIST_TYPE := NWTYPELD ;
        ACTIVE_NETWORK := 0 ;
    END_WORKSPACE
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 5 ;
        NETWORK_BODY
B(B_VARIN,,iPort,19,3,21,5,);
B(B_CONTACT,,bResetComPort,6,2,8,4,);
B(B_FB,ResetComPort!,fbResetComPort,21,1,30,5,,?BbReset?BPort?AbIsDone?AbIsRequested);
L(1,3,6,3);
L(8,3,21,3);
L(1,0,1,5);
        END_NETWORK_BODY
    END_NET_WORK
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 3 ;
        NETWORK_BODY
B(B_COIL,,bComPortCannotBeUsed,39,1,41,3,S);
B(B_CONTACT,,fbResetComPort.bIsRequested,6,1,8,3,);
L(1,2,6,2);
L(8,2,39,2);
L(1,0,1,3);
        END_NETWORK_BODY
    END_NET_WORK
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 3 ;
        NETWORK_BODY
B(B_COIL,,bComPortCannotBeUsed,39,1,41,3,E);
B(B_CONTACT,,fbResetComPort.bIsDone,6,1,8,3,);
L(1,2,6,2);
L(8,2,39,2);
L(1,0,1,3);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

ST本体

fbResetComPort(bReset := bResetComPort,
               Port := iPort);
               IF (fbResetComPort.bIsRequested) then
                   bComPortCannotBeUsed := TRUE;
               ELSIF (fbResetComPort.bIsDone) then
                   bComPortCannotBeUsed := FALSE;
               END_IF;

最后更新日期: 此页面上的反馈松下热线