PID 처리 명령어
이 구현을 사용하면 인수를 사용하여 F355_PID 파라미터를 직접 설정할 수 있습니다.
입력
FALSE: MV 수동 설정 가능
TRUE: 자동 PID 제어 MV
FALSE: 반전 제어(가열)
TRUE: 정방향 제어(냉각)
FALSE: PI-D 제어
TRUE: I-PD 제어
설정점 값, 범위 0-10000
처리값, 범위 0-10000
비례 게인, 범위: 1-9999, 단위: 0.1
적분 시간, 범위: 1-30000, 단위: 0.1s
파생 시간, 범위: 1-10000, 단위: 0.1s
샘플링 시간, 범위: 1-6000, 단위: 0.01s
MV 하한값, 범위: 0-10000
MV 상한값, 범위: 1-10000
입력/출력
조작값
PID_FB를 사용하여 자동 조정을 할 수 없습니다. 이를 위해 PID_FB_DUT를 사용합니다.
프로그램이 초기화된 경우 또는 Automatic 값이 FALSE인 경우에 MV 값을 외부적으로 할당할 수 있습니다.
LowerLimit 및 UpperLimit를 넘는 최대 해상도와 최저 데드 타임을 얻으려면 해당 값이 0~10000 전체 범위를 다뤄야 합니다(가능한 경우).
파라미터 설정이 허용 범위를 벗어나는 경우
파라미터 설정이 허용 범위를 벗어나는 경우
글로벌 변수 리스트에서 프로젝트의 모든 POU에서 액세스할 수 있는 변수를 정의합니다.
이 펑션 프로그램 시 사용한 모든 입력과 출력 변수는 POU 헤더에서 선언되었습니다. 모든 프로그래밍 언어에 같은 POU 헤더를 사용합니다.
VAR_EXTERNAL
Set_Value_SP: INT:=0;
(*A/D CH0*)
Process_Value_PV: INT:=0;
(*A/D CH1*)
Output_Value_MV: INT:=0;
(*D/A*)
END_VAR
VAR
PID_Control: PID_FB;
(*PID Parameters*)
END_VAR
BODY
WORKSPACE
NETWORK_LIST_TYPE := NWTYPELD ;
ACTIVE_NETWORK := 0 ;
END_WORKSPACE
NET_WORK
NETWORK_TYPE := NWTYPELD ;
NETWORK_LABEL := ;
NETWORK_TITLE := ;
NETWORK_HEIGHT := 15 ;
NETWORK_BODY
B(B_FB,PID_FB!,PID_Control,11,1,19,15,,?BAutomatic?BForward?BI_PD?BSP?BPV?BKp?BTi?BTd?BTs?BLowerLimit?BUpperLimit?BMV?AMV);
B(B_VARIN,,TRUE,9,2,11,4,);
B(B_VARIN,,FALSE,9,3,11,5,);
B(B_VARIN,,FALSE,9,4,11,6,);
B(B_VARIN,,Set_Value_SP,9,5,11,7,);
B(B_VARIN,,Process_Value_PV,9,6,11,8,);
B(B_VARIN,,15,9,7,11,9,);
B(B_VARIN,,200,9,8,11,10,);
B(B_VARIN,,1,9,9,11,11,);
B(B_VARIN,,10,9,10,11,12,);
B(B_VARIN,,0,9,11,11,13,);
B(B_VARIN,,1000,9,12,11,14,);
B(B_VARIN,,Output_Value_MV,9,13,11,15,);
L(1,0,1,15);
END_NETWORK_BODY
END_NET_WORK
END_BODY
PID_Control( Automatic:= TRUE,
Forward:= FALSE,
I_PD:= FALSE,
SP:= Set_Value_SP,
PV:= Process_Value_PV,
Kp:= 15,
Ti:= 200,
Td:= 1,
Ts:= 10,
LowerLimit:= 0,
UpperLimit:= 1000,
MV:= Output_Value_MV);