F385_Positioning_WriteData_Backup

백업으로 위치결정 파라미터 쓰기

이 명령은 유저 프로그램으로 다음 위치결정 파라미터와 위치결정 테이블 데이터를 쓰는 데 사용됩니다.

  • 사용된 채널/축, 반복 횟수 및 오류 코드와 같은 일반 정보

  • 현재 실행 상태나 현재 반복 횟수와 같은 축 정보

  • 펄스 출력 제어 코드, 원점복귀 설정, 그리고 속도, 가속 및 감속 설정과 같은 축 설정 정보

  • 제어 코드 및 패턴, 속도, 가속 및 감속 설정과 같은 위치결정 테이블 데이터

이 명령은 s2_Start로 시작하는 영역에 저장된 데이터의 워드 수(n_Number)를 기록하여 d_Offset로 시작하는 위치결정 메모리 영역에 저장합니다. 전원이 꺼진 후에도 기록된 데이터를 유지하려면 이 데이터를 영구 메모리 영역에 추가로 백업해도 됩니다.

파라미터

입력

s1_Channel (WORD, INT, UINT)

채널 번호

Configurator PMX: SYS_PMX_CHANNEL_0SYS_PMX_CHANNEL_3

Configurator PM7: SYS_PM7_AXIS_1SYS_PM7_AXIS_8

s2_Start (WORD, INT, UINT)

제어 유닛의 연산 메모리에서 기록할 데이터가 저장되는 시작 어드레스(소스 어드레스)

n_Number (WORD, INT, UINT)

쓸 워드 수

s1_Area (WORD, INT, UINT)

위치결정 메모리 영역:

  • 0: SYS_POSITIONING_AREA_COMMON_DATA

  • 1: SYS_POSITIONING_AREA_AXIS_INFORMATION

  • 2: SYS_POSITIONING_AREA_AXIS_SETTING

  • 3: SYS_POSITIONING_AREA_TABLE_DATA

d_Offset (WORD, INT, UINT)

제어 유닛의 위치결정 메모리에서 기록할 데이터를 저장하기 위한 시작 어드레스 오프셋(대상 어드레스)

s1_WriteToPersistentMemory (WORD, INT, UINT)

TRUE: 데이터가 유지 영역에 백업됨

FALSE: 데이터가 백업되지 않음

에러 플래그

sys_bIsOperationErrorHold(TRUE로 전환되어 TRUE로 유지됨)
  • s1_Channel에 지정된 채널 번호가 유효하지 않은 경우

  • d_Offset에 지정된 위치결정 메모리 오프셋이 위치결정 영역의 한계를 초과하는 경우

sys_bIsOperationErrorNonHold(스캔 1회에 대해 TRUE로 전환)
  • s1_Channel에 지정된 채널 번호가 유효하지 않은 경우

  • d_Offset에 지정된 위치결정 메모리 오프셋이 위치결정 영역의 한계를 초과하는 경우

POU 헤더

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

	VAR
		bWriteData: BOOL:=FALSE;
		awData: ARRAY [0..9] OF WORD:=[10(0)];
	END_VAR
	VAR CONSTANT
		bBACKUP_DATA: BOOL:=TRUE;
	END_VAR
	VAR
	END_VAR

LD 본문

변수 bWriteDataFALSE에서 TRUE로 변경되면 펑션이 실행됩니다.

BODY
    WORKSPACE
        NETWORK_LIST_TYPE := NWTYPELD ;
    END_WORKSPACE
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 7 ;
        NETWORK_BODY
B(B_COMMENT,,ø^Settings for s1_Channel:ø^	PMX-Configurator:  SYS_PMX_CHANNEL_0 ... SYS_PMX_CHANNEL_3ø^	PM7-Configurator: 	SYS_PM7_AXIS_1 ... SYS_PM7_AXIS_8ø^,2,1,49,6,);
L(1,0,1,7);
        END_NETWORK_BODY
    END_NET_WORK
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 9 ;
        NETWORK_BODY
B(B_CONTACT,,bWriteData,9,1,11,3,R);
B(B_F,F385_Positioning_WriteData_Backup!,,20,0,37,9,,?DEN?Ds1_Channel?Ds2_Start?Dn_Number?Ds1_Area?Dd_Offset?Ds1_WriteToPersistentMemory?AENO);
B(B_VARIN,,SYS_PMX_CHANNEL_0,18,2,20,4,);
B(B_VARIN,,awData,11,3,13,5,);
B(B_F,Adr_Of_Var_I!,,13,3,20,5,,?D?C);
B(B_F,Size_Of_Var!,,13,4,20,6,,?D?C);
B(B_VARIN,,SYS_POSITIONING_AREA_AXIS_SETTING,18,5,20,7,);
B(B_VARIN,,155,18,6,20,8,);
B(B_VARIN,,bBACKUP_DATA,18,7,20,9,);
L(1,0,1,9);
L(1,2,9,2);
L(11,2,20,2);
L(13,4,13,5);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

ST 본문

(*Settings for s1_Channel:
	PMX-Configurator:  SYS_PMX_CHANNEL_0 ... SYS_PMX_CHANNEL_3
	PM7-Configurator: 	SYS_PM7_AXIS_1 ... SYS_PM7_AXIS_8*)
if DF(bWriteData) then
    F385_Positioning_WriteData_Backup(s1_Channel := SYS_PMX_CHANNEL_0,
                                      s2_Start := Adr_Of_Var(awData),
                                      n_Number := Size_Of_Var(awData),
                                      s1_Area := SYS_POSITIONING_AREA_AXIS_SETTING, 
                                      d_Offset := 155,
                                      s1_WriteToPersistentMemory := bBACKUP_DATA);
end_if;

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