PID_FB

PID演算命令

このファンクションブロックでは、F355_PID命令のパラメータを直接的に設定します。

パラメータ

入力

Automatic

FALSE: MVのマニュアル設定

TRUE: MVの自動PID制御

Forward (BOOL)

FALSE: 逆動作(加熱)

TRUE: 正動作(冷却)

I_PD (BOOL)

FALSE: PI-D制御

TRUE: I-PD制御

SP (INT)

設定値、範囲: 0-10000

PV (INT)

測定値、範囲: 0-10000

Kp (INT)

比例ゲイン、範囲: 1-9999単位: 0.1

Ti (INT)

積分時間、範囲: 1-30000単位: 0.1秒

Td (INT)

微分時間、範囲: 1-10000 単位: 0.1秒

Ts (INT)

サンプリング時間、範囲: 1-6000単位: 0.01秒

LowerLimit (INT)

出力下限値、範囲: 0-10000

UpperLimit (INT)

出力上限値、範囲: 1-10000

入出力

MV (INT)

出力値

解説

  • ファンクションブロックPID_FBでオートチューニング機能を使用することはできません。ファンクションブロック PID_FB_DUTを使用してください。

  • 出力"MV"の値は、プログラム初期化時および"Automatic"の値がFALSEのとき、外部から割り付けることができます。

  • 最大の分解値あるいは最小の収束時間とするためには、出力のLowerLimitUpperLimit0~10000とし、全範囲をカバーするようにしてください。

エラーフラグ

sys_bIsOperationErrorHold (TRUEになり、TRUEを保持)

パラメータ設定値が指定できる範囲外のとき

sys_bIsOperationErrorNonHold (1回のスキャンに対してTRUE)

パラメータ設定値が指定できる範囲外のとき

グローバル変数リスト

グローバル変数リストでは、プロジェクト内のすべてのPOUからアクセスできる変数を宣言します。

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

LDボディ

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

STボディ

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);

ILボディ

最終修正日: 2019-08-03このページに関するフィードバックお問い合わせ窓口