F151_WRT

인텔리전트 유닛 메모리에 쓰기

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

파라미터

입력

s1_BankSlot (WORD, INT, UINT)

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

s2_Start (WORD, INT, UINT)

CPU의 공유 메모리에 있는 데이터의 시작 어드레스

n_Number (INT)

공유 메모리에 쓸 워드 수 지정

d_Start (WORD, INT, UINT)

작성된 데이터를 저장하는 인텔리전트 유닛의 시작 어드레스 지정(대상 어드레스)

주석

CPU의 s2_Start에서 지정한 영역의 초기 데이터 n_Number 워드를 s1_BankSlot에서 지정한 인텔리전트 유닛의 공유 메모리 d_Start에서 지정한 어드레스에 씁니다.

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

s1_BankSlot 지정

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

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

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

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

   
 

이름

주문 번호

 

FP3 확장 데이터 메모리 유닛

AFP32091

AFP32092

 

FPS 확장 데이터 메모리 유닛

AFPG201

에러 플래그

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

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

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

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

POU 헤더

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

	VAR
		Start: BOOL:=FALSE;
			(*activates the function*)
		SlotNo: WORD:=16#0D;
			(*if start is TRUE, this value
will be written to the address
1 from the unit-slot 0*)
		CPUDataToWrt: ARRAY [0..4] OF INT:=[5,10,15,20,25];
		NoWordsToWrite: INT:=5;
		DestinationAddr: INT:=0;
	END_VAR

POU 본문

Start가 켜지면 CPUDataToWrt에서 정의한 데이터의 5워드는 인텔리전트 유닛의 공유 메모리(슬롯 0에 위치) 0부터 4까지 시작되는 어드레스에 작성됩니다.

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

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_VARIN,,SlotNo,11,3,13,5,);
B(B_VARIN,,CPUDataToWrt[0],11,4,13,6,);
B(B_VARIN,,NoWordsToWrite,11,5,13,7,);
B(B_VARIN,,DestinationAddr,11,6,13,8,);
B(B_CONTACT,,Start,7,2,9,4,);
B(B_F,F151_WRT!,Instance,13,1,21,8,,?DEN?Ds1_BankSlot?Ds2_Start?Dn_Number?Dd_Start?AENO);
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
    F151_WRT( s1_BankSlot:= SlotNo,
         s2_Start:= CPUDataToWrt[0],
         n_Number:= NoWordsToWrite,
         d_Start:= DestinationAddr);
END_IF;

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