입력 또는 출력 어드레스를 반환합니다
이 펑션은 오버로드되지 않은 시스템 명령의 입력 또는 출력에 변수의 어드레스를 반환합니다.
입력
이 핀은 데이터 형식 INT, WORD이 허용되는 기본 펑션의 입력/출력에 연결되어야 합니다
입력/출력 변수의 16비트 시작 어드레스를 생성합니다
출력
16비트 시작 어드레스가 필요한 입력/출력 변수
16비트 시작 어드레스는 입력/출력 Adr의 변수를 기반으로 입력/출력 Var에서 생성됩니다. 이 입력/출력은 오버로드되지 않은 시스템 명령의 16비트 입력 또는 출력에 직접 연결되어야 합니다.
LD 및 FBD 에디터에만 해당: 명령 창의 [입력 명령] 또는 [출력 명령]을 사용하여 프로그래밍 윈도우에 필요한 [명령]을 삽입합니다.
[DUT]에는 구조의 다양하고 부울이 아닌 변수가 선언되는 구조화된 데이터 형식이 할당됩니다.
이 펑션 프로그램 시 사용한 모든 입력과 출력 변수는 POU 헤더에서 선언되었습니다. 모든 프로그래밍 언어에 같은 POU 헤더를 사용합니다.
VAR
start: BOOL:=FALSE;
DutNonBoolean: @'Dut_NonBoolean';
END_VAR
여기에서 위 DUT에서 할당된 데이터 형식의 DutNonBoolean 변수가 선언됩니다. F12_ICRD 펑션이 실행된 후 DutNonBoolean 변수 값을 덮어쓰기 때문에 DutNonBoolean 변수의 요소를 POU 헤더 또는 본문에서 할당하지 못했습니다.
변수 start가 TRUE로 설정되면 F12_ICRD 펑션이 실행됩니다. 이 펑션은 어드레스 100으로 시작하는 IC 카드의 값을 읽고 DutNonBoolean 변수에 정보를 씁니다. IC 카드의 형식은 에서 올바르게 지정되어야 하며, 필요한 경우 어드레스 100으로 시작하는 값을 IC 카드에서 사용할 수 있어야 합니다.
BODY
WORKSPACE
NETWORK_LIST_TYPE := NWTYPELD ;
ACTIVE_NETWORK := 0 ;
END_WORKSPACE
NET_WORK
NETWORK_TYPE := NWTYPELD ;
NETWORK_LABEL := ;
NETWORK_TITLE := ;
NETWORK_HEIGHT := 12 ;
NETWORK_BODY
B(B_COMMENT,,It reads the values on the IC card from address 100 and writes theø^information to the variable DutNonBoolean,2,0,27,2,);
B(B_F,P12_ICRD!,Instance,9,2,17,7,,?DEN?Ds1_Start?Ds2_Number?AENO?Cd_Start);
B(B_VARIN,,start,7,3,9,5,);
B(B_VARIN,,100,7,4,9,6,);
B(B_VAROUT,,DutNonBoolean,26,4,28,6,);
B(B_F,Adr_Of_Var_O!,Instance,18,4,26,6,,?D?C);
B(B_F,Size_Of_Var!,Instance,10,10,17,12,,?D?C);
B(B_VARIN,,DutNonBoolean,8,10,10,12,);
B(B_F,INT_TO_DINT!,Instance,17,10,25,12,,?D?C);
L(17,5,18,5);
L(1,0,1,12);
L(7,6,9,6);
L(7,6,7,9);
L(7,9,26,9);
L(26,9,26,11);
L(25,11,26,11);
END_NETWORK_BODY
END_NET_WORK
END_BODY
추가 예 프로젝트(FPWIN Pro 설치의 "Samples" 디렉토리):
IC 카드 읽기, 쓰기
공유 메모리 읽기, 쓰기