FP_IPV4_SET_ADDRESS

IPv4 프로토콜을 사용하여 IP 어드레스 설정

이 FP 명령은 인터넷 프로토콜 V4를 통해 sAddress에서 지정한 IP 어드레스에 대한 연결을 설정합니다.

파라미터

입력

sAddress (STRING)
  • IPv4 어드레스 (필수 파라미터)

    키워드: IP

  • 넷마스크 (옵션 파라미터)

    키워드: MASK

  • 게이트웨이(옵션 파라미터)

    키워드: GWIP

    기본 게이트웨이를 사용하지 않을 경우 "0"을 지정합니다.

예:
  1. IP 어드레스를 192.168.1.5로 설정하고 넷마스크 255.255.255.0 및 게이트웨이 192.168.1.1 사용: 'IP=192.168.1.5,MASK=255.255.255.0,GWIP=192.168.1.1'

  2. IP 어드레스를 192.168.1.5로 설정하고 넷마스크는 사용하지 않으며 게이트웨이 192.168.1.1 사용: 'IP=192.168.1.5,,GWIP=192.168.1.1'

출력

bError (BOOL)
  • 연결 타임아웃 시간을 초과한 경우

  • IP 어드레스가 유효하지 않을 경우

에러가 발생하면 시스템 변수 sys_iEthernetConnectionErrorCode에서 에러 코드 번호를 확인하십시오.

주석

  • 이 명령은 PLC를 시작할 때 한 번만 실행하는 것이 좋습니다 반복적으로 실행하지 마십시오.

  • 초기화를 완료하는 데 3초 이상 걸립니다.

  • 문자 데이터의 문자수는 256을 초과하지 않아야 합니다.

  • 인터럽트 프로그램에서는 이 명령을 사용할 수 없습니다.

  • sAddress에서 문자열에 공백이 포함되지 않도록 합니다. 구분 기호로는 쉼표만 사용합니다.

  • IPv4 어드레스는 필수 항목입니다. 넷마스크 및 게이트웨이는 생략할 수 있습니다.

  • 파라미터는 부분적으로 생략할 수 있습니다. 파라미터가 부분적으로 생략되어도 설정은 변경되지 않습니다.

  • 대소문자를 사용하여 키워드를 지정할 수 있습니다.

  • 키워드의 순서를 변경하지 않음. 키워드와 설정 파라미터를 여기에 나열된 순서대로 지정하십시오.

  • 명령을 실행하기 전에 sys_bIsEthernetInitializingFALSE인지 확인하십시오. 명령이 실행되면 sys_bIsEthernetInitializingTRUE로 전환됩니다. sys_bIsEthernetInitializingTRUE일 때 명령을 실행하면 에러가 발생합니다.

  • 명령을 실행하기 전에 시스템 변수 sys_bIsEthernetIPAddressAssignedTRUE인지 확인합니다. FALSE인 경우에는 명령을 실행할 때 에러가 발생합니다.

  • sys_bIsEthernetCableNotConnectedFALSE인 경우에만 명령을 실행할 수 있습니다.

  • 에러가 발생하면 시스템 변수 sys_iEthernetConnectionErrorCode에서 에러 코드 번호를 확인하십시오.

에러 플래그

sys_bIsOperationErrorHold(TRUE로 전환되어 TRUE로 유지됨)
  • 파라미터에 지정된 값이 허용 범위를 벗어난 경우.

  • 동일한 키워드가 두 번 이상 지정된 경우

  • 명령을 인터럽트 프로그램에서 실행한 경우.

  • 문자열 데이터의 문자 수가 256자 이상인 경우.

sys_bIsOperationErrorNonHold(스캔 1회에 대해 TRUE로 전환)
  • 파라미터에 지정된 값이 허용 범위를 벗어난 경우.

  • 동일한 키워드가 두 번 이상 지정된 경우

  • 명령을 인터럽트 프로그램에서 실행한 경우.

  • 문자열 데이터의 문자 수가 256자 이상인 경우.

sys_bIsCarry(스캔 1회에 대해 TRUE로 전환)
  • 잘못된 IP 어드레스, 넷마스크, 게이트웨이 또는 잘못된 IP 어드레스 조합으로 명령을 실행하면 sys_iEthernetConnectionErrorCode가 해당 에러 코드(1–4)로 설정됩니다.

  • 이더넷 케이블이 분리된 상태에서 명령이 실행되는 경우. sys_iEthernetConnectionErrorCode "10: 이더넷 케이블 분리"로 설정됩니다.

  • 이더넷 초기화 중에 명령이 실행되면 sys_iEthernetConnectionErrorCode가 "11: 이더넷이 초기화 중입니다"

POU 헤더

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

	VAR
		bSetIpv4Address: BOOL:=FALSE;
		bGetConnection: BOOL:=FALSE;
		bGetMac: BOOL:=FALSE;
		dutIPv4Connection: FP_IPv4_CONNECTION_DUT;
		dutIPv4MAC: FP_IPv4_MAC_DUT;
	END_VAR

POU 본문

이 예제에서는 s_Address에서 지정한 이더넷 연결 파라미터를 설정합니다. [시스템 레지스터] > [이더넷] > [IP 어드레스] 아래의 프로젝트 네비게이터에도 적절한 파라미터를 설정해야 합니다. bGetConnectionTRUE로 설정된 경우 DUT FP_IPv4_CONNECTION_DUT에 연결 파라미터가 입력됩니다. bGetMacTRUE로 설정된 경우 MAC 어드레스의 파라미터를 DUT FP_IPv4_MAC_DUT에 입력합니다.

LD 본문

BODY
    WORKSPACE
        NETWORK_LIST_TYPE := NWTYPELD ;
    END_WORKSPACE
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 5 ;
        NETWORK_BODY
B(B_CONTACT,,bSetIpv4Address,4,2,6,4,R);
B(B_CONTACT,,sys_bIsEthernetInitializing,15,2,17,4,N);
B(B_F,FP_IPV4_SET_ADDRESS!,,31,1,43,5,,?DEN?DsAddress?AENO?CbError);
B(B_VARIN,,'IP=192.168.1.5~MASK=255.255.255.0~GWIP=192.168.1.1',29,3,31,5,);
B(B_VAROUT,,bError,43,3,45,5,);
L(1,0,1,5);
L(1,3,4,3);
L(6,3,15,3);
L(17,3,31,3);
        END_NETWORK_BODY
    END_NET_WORK
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 4 ;
        NETWORK_BODY
B(B_CONTACT,,bGetConnection,4,1,6,3,);
B(B_F,FP_IPV4_GET_CONNECTION!,,31,0,45,4,,?DEN?DnPort?AENO?CdutIPv4Connection);
B(B_VAROUT,,dutIPv4Connection,45,2,47,4,);
L(1,0,1,4);
L(1,2,4,2);
L(6,2,31,2);
        END_NETWORK_BODY
    END_NET_WORK
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 4 ;
        NETWORK_BODY
B(B_CONTACT,,bGetMac,4,1,6,3,);
B(B_F,FP_IPV4_GET_MAC!,,31,0,41,4,,?DEN?AENO?CdutIPv4MAC);
B(B_VAROUT,,dutIPv4MAC,41,2,43,4,);
L(1,0,1,4);
L(1,2,4,2);
L(6,2,31,2);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

ST 본문

IF DF(bSetIpv4Address) AND not(sys_bIsEthernetInitializing) then
    FP_IPV4_SET_ADDRESS(sAddress := 'IP=192.168.1.5,MASK=255.255.255.0,GWIP=192.168.1.1',
				bError => bError);
END_IF;
IF (bGetConnection) then
    FP_IPV4_GET_CONNECTION(nPort := SYS_ETHERNET_USER_CONNECTION_2, dutIPv4Connection => dutIPv4Connection);
END_IF;
IF (bGetMac) then
    FP_IPV4_GET_MAC(dutIPv4MAC => dutIPv4MAC);
END_IF;

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