데이터 전송(MEWNET 링크)
이 명령은 네트워크에 있는 링크 모듈을 통해 다른 스테이션으로 데이터를 전송합니다.
입력
제어 데이터 저장을 위한 32비트 영역
소스 데이터 저장을 위한 시작 16비트 영역(소스 스테이션의 데이터 영역)
대상 스테이션에서 데이터를 저장하는 대상 오퍼랜드의 유형. 어드레스를 0으로 설정하여 영역을 선택해야 합니다(예: DT0 또는 WR0, ...) (대상 스테이션의 데이터 영역)
d_AdrType(대상 스테이션의 데이터 영역)에 지정된 대상 오퍼랜드의 시작 16비트 영역 어드레스, 정수이어야 함
변수 s2_Start, d_AdrType 및 d_AdrOffs의 데이터 유형은 같아야 합니다.
s1_Control 사양:
s1 상위 바이트 |
s1 하위 바이트 |
|
---|---|---|
1. 링크 번호 선택(LK: 1–3, 스테이션 자체) |
1. 워드 단위 전송 선택 |
|
최대 3개의 링크 유닛을 1개의 CPU에 연결할 수 있습니다. |
F = 0 |
워드 단위 선택 |
n2 = 0 |
워드 단위가 선택되면 "0"을 설정합니다. |
|
LK를 선택하면 세 가지 소스 링크 단위가 선택됩니다. |
n1 = 11–16 |
전송할 워드 수를 지정합니다. |
2. 링크 스테이션 번호 선택(UN: 1–63, 다른 스테이션) |
2. 비트 단위 전송 선택 |
|
링크 유닛 1개에는 최대 63개의 스테이션을 연결할 수 있습니다. |
F = 1 |
비트 단위 선택 |
그러면 UN이 대상 스테이션 번호를 선택합니다 |
n2 = 0–15 |
대상 비트 번호 |
n1 = 0–15 |
소스 비트 번호 |
자세한 내용은 인텔리전트 유닛의 관련 기술 매뉴얼을 참조하십시오.
이 펑션 프로그램 시 사용한 모든 입력과 출력 변수는 POU 헤더에서 선언되었습니다. 모든 프로그래밍 언어에 같은 POU 헤더를 사용합니다.
VAR
start: BOOL:=FALSE;
(*activates the function*)
specify_value: DWORD:=0;
(*stores the control data*)
send_address: WORD:=0;
(*Starting 16-bit area for
storing source data*)
dest_address: WORD:=0;
(*Type of destination
operands for storing data
in the destination station*)
n: INT:=0;
END_VAR
변수 start가 TRUE로 설정되면 펑션이 실행됩니다.
BODY
WORKSPACE
NETWORK_LIST_TYPE := NWTYPELD ;
ACTIVE_NETWORK := 0 ;
END_WORKSPACE
NET_WORK
NETWORK_TYPE := NWTYPELD ;
NETWORK_LABEL := ;
NETWORK_TITLE := ;
NETWORK_HEIGHT := 7 ;
NETWORK_BODY
B(B_CONTACT,,start,3,1,5,3,);
B(B_F,F145_SEND!,Instance,9,0,17,7,,?DEN?Ds1_Control?Ds2_Start?Dd_AdrType?Dd_AdrOffs?AENO);
B(B_VARIN,,specify_value,7,2,9,4,);
B(B_VARIN,,send_address,7,3,9,5,);
B(B_VARIN,,dest_address,7,4,9,6,);
B(B_VARIN,,5,7,5,9,7,);
L(1,2,3,2);
L(5,2,9,2);
L(1,0,1,7);
END_NETWORK_BODY
END_NET_WORK
END_BODY
IF start then
F145_SEND( specify_value, send_address, dest_address, 5);
END_IF;