Unit_AnalogInOut_FPG_A44

FPG-A44 유닛에서 쓰고 읽는 펑션입니다.

이 펑션은 아날로그 유닛의 아날로그 출력 채널에 디지털 데이터를 쓰고 아날로그 입력 채널에서 변환된 디지털 데이터를 읽습니다. 변환될 디지털 값과 아날로그 값인 출력은 iOutChannel0~iOutChannel3에 지정되어 있습니다. 아날로그 유닛의 변환된 디지털 값은 출력 변수 iInChannel0~iInChannel3에 채널별로 저장됩니다.

입력 및 출력 형식(전압 또는 전류)도 이 펑션으로 설정됩니다.

파라미터

입력

iSlotNumber (INT)

슬롯 번호를 지정합니다.

iOutChannel0~iOutChannel3 (INT)

아날로그 유닛으로 변환될 디지털 값과 출력을 설정합니다.

bSetInChannel0ToCurrent~bSetInChannel3ToCurrent (BOOL)

각 채널 번호에 대한 전압 또는 전류 입력을 설정합니다.

  • TRUE: 전류 입력

  • FALSE: 전압 입력

bSetOutChannel0ToCurrent~bSetOutChannel3ToCurrent (BOOL)

각 채널 번호에 대한 전압 또는 전류 출력을 설정합니다.

  • TRUE: 전류 출력

  • FALSE: 전압 출력

출력

uiInChannel0~uiInChannel3 (UINT)

채널을 통해 아날로그 유닛에서 변환된 디지털 데이터를 반환합니다.

배선도

  1.  (1) 출력
  2.  (2) 내부 연결
  3.  (3) 입력

D/A 변환

전압 출력

전류 출력

디지털 값(INT)

아날로그 값

디지털 값(INT)

아날로그 값

4095

10V

4095

20mA

2048

5V

2048

12mA

0

0V

0

4mA

-2048

-5V

 

-4095

-10V

A/D 변환

전압 입력

전류 입력

디지털 값(UINT)

아날로그 값

디지털 값(UINT)

아날로그 값

65535

10V

65535

20mA

32768

5V

39321

12mA

0

0V

13107

4mA

 

0

0

POU 헤더Copy code to clipboard

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

모든 프로그래밍 언어에 같은 POU 헤더를 사용합니다.

	VAR
		iOutChannel0: INT:=0;
		iOutChannel1: INT:=0;
		iOutChannel2: INT:=0;
		iOutChannel3: INT:=0;
		bSetInChannel0ToCurrent: BOOL:=FALSE;
		bSetOutChannel0ToCurrent: BOOL:=FALSE;
		bSetInChannel1ToCurrent: BOOL:=FALSE;
		bSetInChannel2ToCurrent: BOOL:=FALSE;
		bSetInChannel3ToCurrent: BOOL:=FALSE;
		bSetOutChannel1ToCurrent: BOOL:=FALSE;
		bSetOutChannel2ToCurrent: BOOL:=FALSE;
		bSetOutChannel3ToCurrent: BOOL:=FALSE;
		uiInChannel0: UINT:=0;
		uiInChannel1: UINT:=0;
		uiInChannel2: UINT:=0;
		uiInChannel3: UINT:=0;
END_VAR

LD 본문Copy code to clipboard

BODY
    WORKSPACE
        NETWORK_LIST_TYPE := NWTYPELD ;
        ACTIVE_NETWORK := 1 ;
    END_WORKSPACE
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 16 ;
        NETWORK_BODY
B(B_F,Unit_AnalogInOut_FPG_A44!,,14,1,29,16,,?DiOutChannel0?DiOutChannel1?DiOutChannel2?DiOutChannel3?DiSlotNumber?DbSetInChannel0ToCurrent?DbSetInChannel1ToCurrent?DbSetInChannel2ToCurrent?DbSetInChannel3ToCurrent?DbSetOutChannel0ToCurrent?DbSetOutChannel1ToCurrent?DbSetOutChannel2ToCurrent?DbSetOutChannel3ToCurrent?AuiInChannel0?AuiInChannel1?AuiInChannel2?AuiInChannel3);
B(B_VARIN,,iOutChannel0,12,2,14,4,);
B(B_VARIN,,iOutChannel1,12,3,14,5,);
B(B_VARIN,,iOutChannel2,12,4,14,6,);
B(B_VARIN,,iOutChannel3,12,5,14,7,);
B(B_VARIN,,4,12,6,14,8,);
B(B_VARIN,,bSetInChannel0ToCurrent,12,7,14,9,);
B(B_VARIN,,bSetInChannel1ToCurrent,12,8,14,10,);
B(B_VARIN,,bSetInChannel2ToCurrent,12,9,14,11,);
B(B_VARIN,,bSetInChannel3ToCurrent,12,10,14,12,);
B(B_VARIN,,bSetOutChannel0ToCurrent,12,11,14,13,);
B(B_VARIN,,bSetOutChannel1ToCurrent,12,12,14,14,);
B(B_VARIN,,bSetOutChannel2ToCurrent,12,13,14,15,);
B(B_VARIN,,bSetOutChannel3ToCurrent,12,14,14,16,);
B(B_VAROUT,,uiInChannel0,29,2,31,4,);
B(B_VAROUT,,uiInChannel1,29,3,31,5,);
B(B_VAROUT,,uiInChannel2,29,4,31,6,);
B(B_VAROUT,,uiInChannel3,29,5,31,7,);
L(1,0,1,16);
        END_NETWORK_BODY
    END_NET_WORK
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 5 ;
        NETWORK_BODY
L(1,0,1,5);
        END_NETWORK_BODY
    END_NET_WORK
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 5 ;
        NETWORK_BODY
L(1,0,1,5);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

ST 본문Copy code to clipboard

Unit_AnalogInOut_FPG_A44(iOutChannel0 := iOutChannel0,
                        iOutChannel1 := iOutChannel1,
                        iOutChannel2 := iOutChannel2,
                        iOutChannel3 := iOutChannel3,
                        iSlotNumber := 4,
                        bSetInChannel0ToCurrent := bSetInChannel0ToCurrent,
                        bSetInChannel1ToCurrent := bSetInChannel1ToCurrent,
                        bSetInChannel2ToCurrent := bSetInChannel2ToCurrent,
                        bSetInChannel3ToCurrent := bSetInChannel3ToCurrent,
                        bSetOutChannel0ToCurrent := bSetOutChannel0ToCurrent,
                        bSetOutChannel1ToCurrent := bSetOutChannel1ToCurrent,
                        bSetOutChannel2ToCurrent := bSetOutChannel2ToCurrent,
                        bSetOutChannel3ToCurrent := bSetOutChannel3ToCurrent,
                        uiInChannel0 => uiInChannel0,
                        uiInChannel1 => uiInChannel1,
                        uiInChannel2 => uiInChannel2,
                        uiInChannel3 => uiInChannel3);

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