F150_READ

인텔리전트 유닛에서 데이터 읽기

인텔리전트 모듈의 공유 메모리에서 데이터를 읽을 수 있습니다.

파라미터

입력

s1_BankSlot (WORD, INT, UINT)

인텔리전트 모듈의 공유 메모리에서 뱅크/슬롯 번호 지정

s2_Start (WORD, INT, UINT)

인텔리전트 모듈의 공유 메모리에서 시작 어드레스 지정(소스 데이터 어드레스)

n_Number (INT)

읽을 워드 수 지정

d_Start (WORD, INT, UINT)

데이터 읽기를 저장하는 CPU의 시작 어드레스(대상 어드레스)

주석

s1_BankSlot에서 지정한 인텔리전트 유닛/보드의 공유 메모리에 저장된 데이터의 n_Number 워드는 s2_Start에서 지정한 어드레스에서 읽히며 CPU의 d_Start에서 지정한 영역에 저장됩니다.

입력에서의 변수 인수 수는 PLC의 사용 가능한 인덱스 레지스터에 의해 제한됩니다.

s1_BankSlot 지정

  • 뱅크가 없는 인텔리전트 유닛

    타겟 인텔리전트 유닛이 설치된 슬롯 번호를 지정합니다.

    1.  (1) 상위 바이트
    2.  (2) 하위 바이트
  • 뱅크가 있는 인텔리전트 유닛

    타겟 인텔리전트 유닛이 설치된 슬롯 번호(16진수 정수)와 뱅크 번호(16진수 정수)를 지정합니다.

    1.  (1) 상위 바이트
    2.  (2) 하위 바이트
   
 

이름

주문 번호

 

FP3 확장 데이터 메모리 유닛

AFP32091

AFP32092

 

FPS 확장 데이터 메모리 유닛

AFPG201

에러 플래그

sys_bIsOperationErrorHold(TRUE로 전환되어 TRUE로 유지됨)
  • s1_BankSlot이 지정 범위 제한을 초과한 경우

  • 데이터 읽기가 d_Start 영역을 초과한 경우

sys_bIsOperationErrorNonHold(스캔 1회에 대해 TRUE로 전환)
  • s1_BankSlot이 지정 범위 제한을 초과한 경우

  • 데이터 읽기가 d_Start 영역을 초과한 경우

POU 헤더

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

	VAR
		Start: BOOL:=FALSE;
			(*activates the function*)
		SlotNo: WORD:=16#03;
			(*if start is TRUE, this value
gets 2 words from the address
1 from the unit-slot 0*)
		AddrDataToRead: INT:=19;
		NoWordsToRead: INT:=4;
		DestAddrCPU: ARRAY [0..3] OF INT:=[4(0)];
			(*Starting address in CPU to store data read*)
	END_VAR

POU 본문

AddrDataToRead에서 지정한 인텔리전트 유닛의 공유 메모리(슬롯 3에 위치)의 시작 어드레스(19부터 시작)에 저장된 데이터의 4워드를 읽습니다. 그런 다음 Start가 켜지면 배열 DestAddrCPU에 저장합니다.

  1.  (1) 슬롯 번호
  2.  (2) 인텔리전트 유닛
  3.  (3) CPU
  4.  (4) 4 워드

LD 본문

BODY
    WORKSPACE
        NETWORK_LIST_TYPE := NWTYPELD ;
        ACTIVE_NETWORK := 0 ;
    END_WORKSPACE
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 8 ;
        NETWORK_BODY
B(B_F,F150_READ!,Instance,13,1,21,8,,?DEN?Ds1_BankSlot?Ds2_Start?Dn_Number?Dd_Start?AENO);
B(B_VARIN,,SlotNo,11,3,13,5,);
B(B_VARIN,,NoWordsToRead,11,4,13,6,);
B(B_VARIN,,NoWordsToRead,11,5,13,7,);
B(B_VARIN,,DestAddrCPU[0],11,6,13,8,);
B(B_CONTACT,,Start,7,2,9,4,);
L(9,3,13,3);
L(1,3,7,3);
L(1,0,1,8);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

ST 본문

IF start then
    F150_READ( s1_BankSlot:= SlotNo,
         s2_Start:= AddrDataToRead,
         n_Number:= NoWordsToRead,
         d_Start:= DestAddrCPU[0]);
END_IF;

최종 수정일: 2019-04-29이 페이지에 대한 피드백Panasonic 직통 전화