입력 또는 출력 어드레스를 오프셋과 함께 반환합니다
이 펑션은 기본 펑션의 입력 또는 출력에 변수의 어드레스를 오프셋과 함께 반환합니다.
입력
이 핀은 데이터 형식 INT, WORD이 허용되는 기본 펑션의 입력/출력에 연결되어야 합니다
입력/출력 변수의 16비트 오프셋 어드레스를 생성합니다
16비트 오프셋 어드레스가 필요한 입력/출력 변수
출력
16비트 종료 어드레스가 필요한 출력 변수
입력/출력 Var의 변수에서, 입력/출력 Offs에서 제공되는 값만큼 증가하는 16비트 어드레스가 입력/출력 Adr에서 생성됩니다. 이 입력 또는 출력은 기본 펑션의 16비트 입력 또는 출력에 직접 연결되어야 합니다. 이 펑션은 문자열의 적용된 데이터(즉, 문자열 헤더가 없는 문자)에만 사용할 수 있습니다.
LD 및 FBD 에디터에만 해당: 명령 창의 [입력 명령] 또는 [출력 명령]을 사용하여 프로그래밍 윈도우에 필요한 [명령]을 삽입합니다.
글로벌 변수 리스트에서 프로젝트의 모든 POU에서 액세스할 수 있는 변수를 정의합니다.
이 펑션 프로그램 시 사용한 모든 입력과 출력 변수는 POU 헤더에서 선언되었습니다. 모든 프로그래밍 언어에 같은 POU 헤더를 사용합니다.
VAR_EXTERNAL
ReceiveBuffer: ARRAY [0..15] OF WORD:=[16(0)];
END_VAR
VAR
Receive: BOOL:=FALSE;
ReceiveString: STRING[30]:='';
END_VAR
VAR CONSTANT
StringTotLenPos: INT:=0;
StringActLenPos: INT:=1;
StringHeaderSize: INT:=2;
END_VAR
VAR
@'': @'';
END_VAR
Receive가 설정되고 수신-종료 문자가 수신되면(즉 R9038이 설정되면) 직렬 인터페이스를 통해 수신된 ReceiveBuffer 버퍼의 문자가 ReceiveString 문자열의 적용된 데이터 영역에 복사됩니다. 수신된 문자의 수는 ReceiveBuffer[0]에 저장됩니다. 그런 다음 수신된 문자열의 문자를 따릅니다. 따라서 이 위치에서 문자열의 이 영역으로 직접 ReceiveBuffer가 복사될 수 있습니다(데이터 형식 STRING 참조). 버퍼 ReceiveBuffer 위치는 시스템 레지스터 417 및 418의 설정에 따라 글로벌 변수 리스트에서 할당되어야 합니다(자세한 내용은 CPU의 수신 버퍼 설정 참조).
BODY
WORKSPACE
NETWORK_LIST_TYPE := NWTYPELD ;
ACTIVE_NETWORK := 0 ;
END_WORKSPACE
NET_WORK
NETWORK_TYPE := NWTYPELD ;
NETWORK_LABEL := ;
NETWORK_TITLE := ;
NETWORK_HEIGHT := 10 ;
NETWORK_BODY
B(B_COIL,,sys_bIsComPort1ReceptionDone,7,1,9,3,);
B(B_CONTACT,,Receive,16,1,18,3,);
B(B_F,F10_BKMV!,Instance,20,0,28,5,,?DEN?Ds1_Start?Ds2_End?AENO?Cd_Start);
B(B_VARIN,,ReceiveBuffer[0],18,2,20,4,);
B(B_VARIN,,ReceiveBuffer[15],18,3,20,5,);
B(B_F,Adr_Of_VarOffs_I!,Instance,20,6,29,10,,?D@'Var'?DOffs?CAdr);
B(B_VARIN,,StringActLenPos,18,8,20,10,);
B(B_VAROUT,,ReceiveString,29,7,31,9,);
L(1,2,7,2);
L(9,2,16,2);
L(18,2,20,2);
L(28,3,28,6);
L(20,6,28,6);
L(20,6,20,8);
L(1,0,1,10);
END_NETWORK_BODY
END_NET_WORK
END_BODY