ResetComPort

지정된 COM 포트 초기화

지정된 포트 번호로 COM 포트 초기화 요청을 보내는 펑션블록입니다. PLC를 "프로그램 제어" 통신으로 설정해야 합니다. 출력 변수 bIsDonebIsRequested를 평가하고 지정된 포트가 초기화되었으며 다시 사용할 수 있는지 확인합니다.

파라미터

입력

bReset (BOOL)

TRUE로 설정된 경우 COM 포트 초기화 요청이 지정된 포트 번호로 전송됩니다.

Port (WORD, INT, UINT)
포트 번호
  • COM0, COM1, COM2(CPU)

  • SCU의 16#xx01–16#xx04(xx = 슬롯 번호 1–64)

출력

bIsDone (BOOL)

COM 포트가 초기화되어 다시 사용할 수 있는 경우 TRUE로 설정.

bIsRequested (BOOL)

COM 포트 초기화가 요청된 경우 TRUE로 설정.

출력의 해당 시스템 변수(COM 포트가 동일한 인스턴스의 bReset에 의해 초기화되는 경우에만 설정)

  • 초기화를 요청합니다.

    • COM0: sys_bIsComPort0ResetRequested

    • COM1: sys_bIsComPort1ResetRequested

    • COM2: sys_bIsComPort2ResetRequested

  • 초기화가 완료되었습니다.

    • COM0: sys_bIsComPort0ResetDone

    • COM1: sys_bIsComPort1ResetDone

    • COM2: sys_bIsComPort2ResetDone

POU 헤더

이 펑션 프로그램 시 사용한 모든 입력과 출력 변수는 POU 헤더에서 선언되었습니다. 모든 프로그래밍 언어에 같은 POU 헤더를 사용합니다.

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

POU 본문

변수 bResetComPortTRUE로 설정되면 펑션블록이 실행됩니다.

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;

최종 수정일: 2022-04-04이 페이지에 대한 피드백Panasonic 직통 전화