Unit_AnalogInOut_FP0R_A42FP0R-A42 유닛에서 쓰고 읽는 펑션블록입니다.
이 펑션은 아날로그 유닛의 아날로그 출력 채널에 디지털 데이터를 쓰고 아날로그 입력 채널에서 변환된 디지털 데이터를 읽습니다. 변환될 디지털 값과 아날로그 값인 출력은 iOutChannel0 및 iOutChannel1에서 지정됩니다. 아날로그 유닛의 변환된 디지털 값은 출력 변수 iInChannel0~iInChannel3에 채널별로 저장됩니다.
아날로그 출력 및 입력 범위도 이 펑션블록으로 설정됩니다.
전압 또는 전류 출력은 DIP 스위치로 설정해야 합니다.

입력
설치 위치에 따라 아날로그 유닛의 최초 WX/WY 어드레스 오프셋을 설정합니다.
CPU에 직접 연결된 아날로그 증설 유닛의 경우(어댑터 없음): ExpansionUnitToIOWordOffset_FP0를 사용하거나 다음 설정 지정: 유닛 번호 1에 대한 2(WX2/WY2), 유닛 번호 2에 대한 4(WX4/WY4), 유닛 번호 3에 대한 6(WX6/WY6)
어댑터를 통해 CPU에 연결된 아날로그 증설 유닛의 경우: ExpansionUnitToIOWordOffset_FPX_FP0을 사용하거나 테이블에서 오프셋을 선택합니다.
어댑터에 상대적인 유닛 위치 |
CPU에 상대적인 어댑터 위치 |
|||||||
|---|---|---|---|---|---|---|---|---|
1번째 유닛 |
2번째 유닛 |
3번째 유닛 |
4번째 유닛 |
5번째 유닛 |
6번째 유닛 |
7번째 유닛 |
8번째 유닛 |
|
1번째 유닛 |
30 |
40 |
50 |
60 |
70 |
80 |
90 |
100 |
2번째 유닛 |
32 |
42 |
52 |
62 |
72 |
82 |
92 |
102 |
3번째 유닛 |
34 |
44 |
54 |
64 |
74 |
84 |
94 |
104 |
아날로그 유닛으로 변환될 디지털 값과 출력을 설정합니다.
아날로그 출력 채널의 전압 또는 전류 범위를 설정합니다.
아날로그 입력 채널의 전압 또는 전류 범위를 설정합니다.
출력
I/O 구성이 완료되고 유닛이 준비된 경우 TRUE입니다.
채널을 통해 아날로그 유닛에서 변환된 디지털 데이터를 반환합니다.
14비트 모드를 사용하려면 DIP 스위치 1 및 2가 ON 상태여야 합니다. DIP 스위치 3은 채널 0의 전압 또는 전류 출력을 설정하는 데 사용되고, DIP 스위치 4는 채널 1의 전압 또는 전류 출력을 설정하는 데 사용되며, DIP 스위치 5는 평균 처리를 켜거나 끄는 데 사용됩니다.
DIP 스위치 설정은 전원이 OFF에서 ON으로 전환될 때 적용됩니다.
채널 0 |
채널 1 |
|||
|---|---|---|---|---|
전압 출력 |
전류 출력 |
전압 출력 |
전류 출력 |
|
평균 처리 없음: 변환 데이터는 각 A/D 변환, 각 채널마다 지정된 입력 접점 영역에 설정됩니다.
평균: 각 채널에서 각 A/D 변환에 대해 마지막 10회 데이터의 최대값과 최소값이 제외되고 다른 8회의 데이터가 평균이 되어 결과가 설정됩니다.
평균 처리 없음 |
평균 |
|
|---|---|---|
이 예에서는 입력 채널 0 및 1과 출력 채널 0에 대한 배선을 보여줍니다.
전압 입력 |
전류 입력 |
|---|---|
IN/V 및 IN/COM 터미널 사이에 입력 장치를 연결합니다. |
IN/V 및 IN/I 터미널을 연결합니다. 브릿지와 IN/COM 터미널 사이에 입력 장치를 연결합니다. |
전압 출력 |
전류 출력 |
|---|---|
OUT/V 및 OUT/COM 터미널 사이에 출력 장치를 연결합니다. |
OUT/I 및 OUT/COM 터미널 사이에 출력 장치를 연결합니다. |
-10V~+10V DC 입력 또는 출력 |
-5V~+5V DC 입력 또는 출력 |
0V~5V DC 입력 또는 출력 |
|||
|---|---|---|---|---|---|
디지털 값(INT) |
아날로그 값 |
디지털 값(INT) |
아날로그 값 |
디지털 값(INT) |
아날로그 값 |
-8000 |
-10V |
-8000 |
-5V |
0 |
0,0V |
-4000 |
-5V |
-4000 |
-2,5V |
4000 |
1,25V |
0 |
0V |
0 |
0V |
8000 |
2,5V |
+4000 |
+5V |
+4000 |
+2,5V |
12000 |
3,75V |
+8000 |
+10V |
+8000 |
+5V |
16000 |
5,0V |
0V~10V DC 입력 또는 출력 |
0mA~20mA 입력 또는 출력 |
4mA~20mA 출력 |
|||
|---|---|---|---|---|---|
디지털 값(INT) |
아날로그 값 |
디지털 값(INT) |
아날로그 값 |
디지털 값(INT) |
아날로그 값 |
0 |
0,0V |
0 |
0,0mA |
0 |
4,0mA |
4000 |
2,5V |
3200 |
4,0mA |
4000 |
8,0mA |
8000 |
5,0V |
6400 |
8,0mA |
8000 |
12,0mA |
12000 |
7,5V |
9600 |
12,0mA |
12000 |
16,0mA |
16000 |
10,0V |
12800 |
16,0mA |
16000 |
20,0mA |
16000 |
20,0mA |
||||
이 명령 설명은 기본 하드웨어 설명서만 제공합니다. 자세한 기술 정보는 매뉴얼을 참조하십시오.

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

Inst_FP0R_A42(iIOWordOffset := 4,
iOutChannel0 := iAnalogOut0,
iOutChannel1 := iAnalogOut1,
iOutChannel0_Config := 0,
iOutChannel1_Config := 0,
iInChannel0_Config := 0,
iInChannel1_Config := 0,
iInChannel2_Config := 0,
iInChannel3_Config := 0,
bConfigIsDone => bIO_Config_done,
iInChannel0 => iAnalogIn0,
iInChannel1 => iAnalogIn1,
iInChannel2 => iAnalogIn2,
iInChannel3 => iAnalogIn3);
ExpansionUnitNumberToIOWordOffset_FP0 또는 ExpansionUnitNumberToIOWordOffset_FPX_FP0을 사용하여 CPU에 연결된 아날로그 유닛의 워드 오프셋을 계산합니다.

BODY
WORKSPACE
NETWORK_LIST_TYPE := NWTYPELD ;
END_WORKSPACE
NET_WORK
NETWORK_TYPE := NWTYPELD ;
NETWORK_LABEL := ;
NETWORK_TITLE := ;
NETWORK_HEIGHT := 12 ;
NETWORK_BODY
B(B_COMMENT,,FP0R-A42,2,1,17,2,);
B(B_FB,Unit_AnalogInOut_FP0R_A42!,Inst_FP0R_A42,19,1,34,12,,?BiIOWordOffset?BiOutChannel0?BiOutChannel1?BiOutChannel0_Config?BiOutChannel1_Config?BiInChannel0_Config?BiInChannel1_Config?BiInChannel2_Config?BiInChannel3_Config?CbConfigIsDone?CiInChannel0?CiInChannel1?CiInChannel2?CiInChannel3);
B(B_VARIN,,4,17,2,19,4,);
B(B_VAROUT,,bIO_Config_done,34,2,36,4,);
B(B_VARIN,,iAnalogOut0,17,3,19,5,);
B(B_VAROUT,,iAnalogIn0,34,3,36,5,);
B(B_VARIN,,iAnalogOut1,17,4,19,6,);
B(B_VAROUT,,iAnalogIn1,34,4,36,6,);
B(B_VARIN,,0,17,5,19,7,);
B(B_VAROUT,,iAnalogIn2,34,5,36,7,);
B(B_VARIN,,0,17,6,19,8,);
B(B_VAROUT,,iAnalogIn3,34,6,36,8,);
B(B_VARIN,,0,17,7,19,9,);
B(B_VARIN,,0,17,8,19,10,);
B(B_VARIN,,0,17,9,19,11,);
B(B_VARIN,,0,17,10,19,12,);
L(1,0,1,12);
END_NETWORK_BODY
END_NET_WORK
END_BODY
Inst_FP0R_A42(iIOWordOffset := 4,
iOutChannel0 := iAnalogOut0,
iOutChannel1 := iAnalogOut1,
iOutChannel0_Config := 0,
iOutChannel1_Config := 0,
iInChannel0_Config := 0,
iInChannel1_Config := 0,
iInChannel2_Config := 0,
iInChannel3_Config := 0,
bConfigIsDone => bIO_Config_done,
iInChannel0 => iAnalogIn0,
iInChannel1 => iAnalogIn1,
iInChannel2 => iAnalogIn2,
iInChannel3 => iAnalogIn3);