FP_PID

옵션 PWM 출력을 사용한 PID 처리

프로세스 값 PV를 설정점 값 SP에 최대한 가깝게 유지하기 위해 PID 처리가 수행됩니다. FP_PID_BASIC과 반대로, 이 명령은 PWM 출력(On-Off 출력)을 활성화합니다. 또한 자동 조정을 사용하여 PID 제어 데이터 Kp, TiTd를 자동으로 계산할 수 있습니다.

파라미터

입력

Run (BOOL)

시작 조건

s1_Control (PID_Control_DUT)

제어 데이터

s2_ProcessValue (INT)

처리값(-30000–30000)

s3_Parameters (PID_PARAMETERS_DUT)

PID 제어 파라미터

입력/출력

s4_WorkArea (PID_WORK_AREA_DUT)

PID 파라미터의 데이터 테이블

주석

명령을 처음 실행할 때, 즉 Run에 지정된 실행 조건이 TRUE로 전환될 때, 기본값은 DUT의 DUT 멤버 1~9에 기록됩니다.

FP_PID를 두 번째로 실행하기 전에 DUT의 DUT 멤버 1에서 9 사이의 값을 필수 값으로 변경해야 합니다.

출력

PWM (BOOL)

펄스 폭 변조 출력(옵션, 조작 값 출력 대신 사용 가능)

주석

  • PWM 출력 기간(주기)은 샘플링 시간 Ts이고(PWM 출력 주파수는 1/Ts) 듀티는 조작 값 MV(0.01% 단위)입니다. 예를 들어, MV = 10000는 듀티 100%를 의미합니다.

  • 명령을 두 번 실행해야 합니다. 첫 번째 실행에서는 PID_WORK_AREA_DUT의 값을 다시 설정한 다음, PID_WORK_AREA_DUT의 DUT 멤버 1-9에 대한 올바른 값을 설정해야 합니다. 이렇게 해야 명령을 두 번째로 실행할 때 올바른 값을 사용할 수 있습니다.

에러 플래그

sys_bIsOperationErrorHold(TRUE로 전환되어 TRUE로 유지됨)
  • 인덱스 한정자를 사용하여 지정한 영역이 제한을 초과하는 경우.

  • PID_Parameters_DUT 의 파라미터에 지정된 값이 허용 범위를 벗어난 경우.

sys_bIsOperationErrorNonHold(스캔 1회에 대해 TRUE로 전환)
  • 인덱스 한정자를 사용하여 지정한 영역이 제한을 초과하는 경우.

  • PID_Parameters_DUT 의 파라미터에 지정된 값이 허용 범위를 벗어난 경우.

POU 헤더

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

	VAR
		Automatic: BOOL:=TRUE;
		dutControl: PID_Control_DUT;
		PV: INT:=0;
		ParametersHold: PID_Parameters_DUT;
		ParametersNonHold: PID_Work_Area_DUT;
		bPWMOutput: BOOL:=FALSE;
	END_VAR

LD 본문

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_VARIN,,dutControl,15,2,17,4,);
B(B_VARIN,,ParametersHold,15,4,17,6,);
B(B_CONTACT,,Automatic,6,1,8,3,);
B(B_VARIN,,ParametersNonHold,15,5,17,7,);
B(B_F,FP_PID!,,17,0,30,7,,?DRun?Ds1_Control?Ds2_ProcessValue?Ds3_Parameters?Ds4_WorkArea?As4_WorkArea?APWM);
B(B_VARIN,,PV,15,3,17,5,);
B(B_VAROUT,,bPWMOutput,30,1,32,3,);
L(1,2,6,2);
L(8,2,17,2);
L(1,0,1,7);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

ST 본문

bPWMOutput := FP_PID(Run := Automatic, 
                     s1_Control := dutControl,
                     s2_ProcessValue := PV,
                     s3_Parameters := ParametersHold,
                     s4_WorkArea := ParametersNonHold);

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