F356_PID_PWM

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

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

파라미터

입력

Run (BOOL)

시작 조건

Control (F356_Control_DUT)

제어 데이터

ParametersHold (F356_Parameters_Hold_DUT)

PID 제어 파라미터

ParametersNonHold (F356_Parameters_NonHold_DUT)

조작 값 MV, 추가 제어 모드 영역, 자동 조정 관련 영역 및 작업 영역

주석

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

ProcessValue (INT)

처리값(-30000–30000)

출력

PWM_Output (BOOL)(참고 참조)

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

주석

  • F 명령을 사용하는 대신 해당 FP7 명령을 사용하는 것이 좋습니다.FP_PID

  • PID 처리를 설명하는데 사용되는 약어

    약어

    표준어

    의미

    PV

    처리값

    실제 값, 측정 값

    SP

    설정점 값

    목표 값, 설정 값

    MV

    조작값

    출력 값, 조작 변수

    Ts

    샘플링 시간

    주기 시간

    Ti

    적분 시간

    -

    Td

    파생 시간

    -

    Kp

    비례 게인

    -

    AT

    자동 조정

    -

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

일반 프로그래밍 정보

  1. Run에서의 입력이 실행되면 인수 ParametersNonHold의 데이터가 초기화됩니다. DUT 의 값이 기본값이 아닌 값을 사용하도록 하려면 MOVE 명령(예를 들어, TRUE 조건에 의해 지속적으로 트리거되어야 하는 명령)을 사용하여 DUT 에 값을 기록합니다.

  2. F356_PID_PWM를 1회 및 스캔당 1회 실행해야 합니다. 따라서 인터럽트 프로그램 또는 루프에서 F356_PID_PWM를 실행하지 마십시오.

  3. PID 처리 중에 실행 조건을 FALSE로 전환하지 마십시오. 그렇지 않으면 PID 처리가 비활성화됩니다.

  4. 병렬 PWM 출력 주기를 원치 않으면(예: 여러 개체 제어 활성화하려면) 이에 맞게 시작 시간을 지연합니다(예: 타이머 명령을 사용하여).

주석

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

에러 플래그

sys_bIsOperationErrorHold(TRUE로 전환되어 TRUE로 유지됨)

F356_Parameters_NonHold_DUT의 모든 파라미터가 범위를 벗어난 경우

sys_bIsOperationErrorNonHold(스캔 1회에 대해 TRUE로 전환)

F356_Parameters_NonHold_DUT의 모든 파라미터가 범위를 벗어난 경우

sys_bIsEqual(TRUE로 전환되어 TRUE로 유지됨)

UpperLimit 또는 LowerLimit로 지정한 영역이 범위를 벗어난 경우

상세 정보:

  • 제어 조건: F356_Parameters_Hold_DUT

  • 설정점 값 SP와 제어 파라미터: F356_Parameters_Hold_DUT

자동 조정의 추가 참고 사항:

  • F356_Parameters_Hold_DUTAT_Progress 멤버와 F356_Control_DUTb1_AT_Complete 멤버는 자동 조정 신호의 상승 엣지에서 지워집니다.

  • 자동 조정이 성공적으로 완료되면 F356_Control_DUTb1_AT_Complete 요소가 설정되고 자동 조정 완료 코드가 F356_Parameters_NonHold_DUTAT_Progress 요소에 저장됩니다.

  • 자동 조정이 취소되면 Kp, TiTd 파라미터는 변경되지 않습니다.

글로벌 변수

글로벌 변수 리스트에서 프로젝트의 모든 POU에서 액세스할 수 있는 변수를 정의합니다.

POU 헤더

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

_VAR
	VAR 
		bStartAutoTuning: BOOL:=FALSE;
		bRunPidControl: BOOL:=FALSE;
		ControlData: F356_Control_DUT;
		ParametersHold: F356_Parameters_Hold_DUT;
		ParametersNonHold: F356_Parameters_NonHold_DUT;
	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 := 5 ;
        NETWORK_BODY
B(B_CONTACT,,bStartAutoTuning,5,1,7,3,R);
B(B_COIL,,ControlData.b0_AT_Request,22,1,24,3,);
L(1,2,5,2);
L(7,2,22,2);
L(1,0,1,5);
        END_NETWORK_BODY
    END_NET_WORK
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 7 ;
        NETWORK_BODY
B(B_F,F356_PID_PWM!,Instance,11,0,22,7,,?DRun?DControl?DParametersHold?DParametersNonHold?DProcessValue?APWM_Output);
B(B_VARIN,,ControlData,9,2,11,4,);
B(B_VARIN,,ParametersHold,9,3,11,5,);
B(B_VARIN,,ParametersNonHold,9,4,11,6,);
B(B_VARIN,,x_iTemperatureInput,9,5,11,7,);
B(B_VAROUT,,y_bPwmOutput,22,1,24,3,);
B(B_CONTACT,,bRunPidControl,4,1,6,3,);
L(1,2,4,2);
L(6,2,11,2);
L(1,0,1,7);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

ST 본문

(* Auto Tuning: *)
if DF(bStartAutoTuning) then
    ControlData.b0_AT_Request:=TRUE;
end_if;
y_bPwmOutput:=F356_PID_PWM(    Run := bRunPidControl, 
        Control := ControlData, 
        ParametersHold := ParametersHold, 
        ParametersNonHold := ParametersNonHold, 
        ProcessValue := x_iTemperatureInput);

IL 본문

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