#include "beremiz.h" #ifndef __POUS_H #define __POUS_H #include "accessor.h" #include "iec_std_lib.h" __DECLARE_ENUMERATED_TYPE(LOGLEVEL, LOGLEVEL__CRITICAL, LOGLEVEL__WARNING, LOGLEVEL__INFO, LOGLEVEL__DEBUG ) // FUNCTION_BLOCK LOGGER // Data part typedef struct { // FB Interface - IN, OUT, IN_OUT variables __DECLARE_VAR(BOOL,EN) __DECLARE_VAR(BOOL,ENO) __DECLARE_VAR(BOOL,TRIG) __DECLARE_VAR(STRING,MSG) __DECLARE_VAR(LOGLEVEL,LEVEL) // FB private variables - TEMP, private and located variables __DECLARE_VAR(BOOL,TRIG0) } LOGGER; void LOGGER_init__(LOGGER *data__, BOOL retain); // Code part void LOGGER_body__(LOGGER *data__); // FUNCTION_BLOCK PYTHON_EVAL // Data part typedef struct { // FB Interface - IN, OUT, IN_OUT variables __DECLARE_VAR(BOOL,EN) __DECLARE_VAR(BOOL,ENO) __DECLARE_VAR(BOOL,TRIG) __DECLARE_VAR(STRING,CODE) __DECLARE_VAR(BOOL,ACK) __DECLARE_VAR(STRING,RESULT) // FB private variables - TEMP, private and located variables __DECLARE_VAR(DWORD,STATE) __DECLARE_VAR(STRING,BUFFER) __DECLARE_VAR(STRING,PREBUFFER) __DECLARE_VAR(BOOL,TRIGM1) __DECLARE_VAR(BOOL,TRIGGED) } PYTHON_EVAL; void PYTHON_EVAL_init__(PYTHON_EVAL *data__, BOOL retain); // Code part void PYTHON_EVAL_body__(PYTHON_EVAL *data__); // FUNCTION_BLOCK PYTHON_POLL // Data part typedef struct { // FB Interface - IN, OUT, IN_OUT variables __DECLARE_VAR(BOOL,EN) __DECLARE_VAR(BOOL,ENO) __DECLARE_VAR(BOOL,TRIG) __DECLARE_VAR(STRING,CODE) __DECLARE_VAR(BOOL,ACK) __DECLARE_VAR(STRING,RESULT) // FB private variables - TEMP, private and located variables __DECLARE_VAR(DWORD,STATE) __DECLARE_VAR(STRING,BUFFER) __DECLARE_VAR(STRING,PREBUFFER) __DECLARE_VAR(BOOL,TRIGM1) __DECLARE_VAR(BOOL,TRIGGED) } PYTHON_POLL; void PYTHON_POLL_init__(PYTHON_POLL *data__, BOOL retain); // Code part void PYTHON_POLL_body__(PYTHON_POLL *data__); // FUNCTION_BLOCK PYTHON_GEAR // Data part typedef struct { // FB Interface - IN, OUT, IN_OUT variables __DECLARE_VAR(BOOL,EN) __DECLARE_VAR(BOOL,ENO) __DECLARE_VAR(UINT,N) __DECLARE_VAR(BOOL,TRIG) __DECLARE_VAR(STRING,CODE) __DECLARE_VAR(BOOL,ACK) __DECLARE_VAR(STRING,RESULT) // FB private variables - TEMP, private and located variables PYTHON_EVAL PY_EVAL; __DECLARE_VAR(UINT,COUNTER) __DECLARE_VAR(UINT,ADD10_OUT) __DECLARE_VAR(BOOL,EQ13_OUT) __DECLARE_VAR(UINT,SEL15_OUT) __DECLARE_VAR(BOOL,AND7_OUT) } PYTHON_GEAR; void PYTHON_GEAR_init__(PYTHON_GEAR *data__, BOOL retain); // Code part void PYTHON_GEAR_body__(PYTHON_GEAR *data__); // FUNCTION_BLOCK SCALE_TO_REAL // Data part typedef struct { // FB Interface - IN, OUT, IN_OUT variables __DECLARE_VAR(BOOL,EN) __DECLARE_VAR(BOOL,ENO) __DECLARE_VAR(UINT,RAW_INPUT_VALUE) __DECLARE_VAR(REAL,SCALED_REAL) __DECLARE_VAR(REAL,REAL_MAX) __DECLARE_VAR(REAL,REAL_MIN) // FB private variables - TEMP, private and located variables __DECLARE_VAR(UINT,RAW_MAX) __DECLARE_VAR(UINT,RAW_MIN) __DECLARE_VAR(REAL,RATE) __DECLARE_VAR(REAL,OFFSET) } SCALE_TO_REAL; void SCALE_TO_REAL_init__(SCALE_TO_REAL *data__, BOOL retain); // Code part void SCALE_TO_REAL_body__(SCALE_TO_REAL *data__); // FUNCTION_BLOCK SCALE_TO_UINT // Data part typedef struct { // FB Interface - IN, OUT, IN_OUT variables __DECLARE_VAR(BOOL,EN) __DECLARE_VAR(BOOL,ENO) __DECLARE_VAR(REAL,REAL_IN) __DECLARE_VAR(UINT,UINT_OUT) // FB private variables - TEMP, private and located variables __DECLARE_VAR(REAL,DIV1_OUT) __DECLARE_VAR(REAL,MUL4_OUT) __DECLARE_VAR(UINT,REAL_TO_UINT6_OUT) } SCALE_TO_UINT; void SCALE_TO_UINT_init__(SCALE_TO_UINT *data__, BOOL retain); // Code part void SCALE_TO_UINT_body__(SCALE_TO_UINT *data__); // FUNCTION_BLOCK COMPOSITION_CONTROL // Data part typedef struct { // FB Interface - IN, OUT, IN_OUT variables __DECLARE_VAR(BOOL,EN) __DECLARE_VAR(BOOL,ENO) __DECLARE_VAR(UINT,A_IN_PURGE) __DECLARE_VAR(UINT,A_SETPOINT) __DECLARE_VAR(UINT,CURR_POS) __DECLARE_VAR(UINT,NEW_POS) // FB private variables - TEMP, private and located variables __DECLARE_VAR(REAL,A_IN_PURGE_REAL) __DECLARE_VAR(REAL,A_SETPOINT_REAL) __DECLARE_VAR(REAL,VALVE_POS_REAL) __DECLARE_VAR(REAL,POS_UPDATE_REAL) __DECLARE_VAR(REAL,VALVE_POS_NOMINAL) __DECLARE_VAR(REAL,COMPOSITION_K) __DECLARE_VAR(REAL,COMPOSITION_TI) __DECLARE_VAR(TIME,CYCLE_TIME) SCALE_TO_REAL SCALE_TO_REAL3; SCALE_TO_REAL SCALE_TO_REAL2; SCALE_TO_UINT SCALE_TO_UINT0; __DECLARE_VAR(REAL,COMP_MAX) __DECLARE_VAR(REAL,COMP_MIN) __DECLARE_VAR(REAL,POS_MAX) __DECLARE_VAR(REAL,POS_MIN) SCALE_TO_REAL SCALE_TO_REAL0; __DECLARE_VAR(REAL,SUB45_OUT) __DECLARE_VAR(REAL,MUL46_OUT) __DECLARE_VAR(REAL,ADD42_OUT) __DECLARE_VAR(REAL,LIMIT44_OUT) } COMPOSITION_CONTROL; void COMPOSITION_CONTROL_init__(COMPOSITION_CONTROL *data__, BOOL retain); // Code part void COMPOSITION_CONTROL_body__(COMPOSITION_CONTROL *data__); // FUNCTION_BLOCK INITIALIZE_SP // Data part typedef struct { // FB Interface - IN, OUT, IN_OUT variables __DECLARE_VAR(BOOL,EN) __DECLARE_VAR(BOOL,ENO) __DECLARE_VAR(UINT,FLOW_SP) __DECLARE_VAR(UINT,A_SP) __DECLARE_VAR(UINT,PRESS_SP) __DECLARE_VAR(UINT,OVER_SP) __DECLARE_VAR(UINT,LEVEL_SP) // FB private variables - TEMP, private and located variables __DECLARE_VAR(UINT,FLOW_SP_C) __DECLARE_VAR(UINT,A_SP_C) __DECLARE_VAR(UINT,PRESS_SP_C) __DECLARE_VAR(UINT,OVER_SP_C) __DECLARE_VAR(UINT,LEVEL_SP_C) __DECLARE_VAR(UINT,MOVE3_OUT) __DECLARE_VAR(UINT,MOVE7_OUT) __DECLARE_VAR(UINT,MOVE11_OUT) __DECLARE_VAR(UINT,MOVE15_OUT) __DECLARE_VAR(UINT,MOVE19_OUT) } INITIALIZE_SP; void INITIALIZE_SP_init__(INITIALIZE_SP *data__, BOOL retain); // Code part void INITIALIZE_SP_body__(INITIALIZE_SP *data__); // FUNCTION_BLOCK PRESSURE_CONTROL // Data part typedef struct { // FB Interface - IN, OUT, IN_OUT variables __DECLARE_VAR(BOOL,EN) __DECLARE_VAR(BOOL,ENO) __DECLARE_VAR(UINT,PRESSURE) __DECLARE_VAR(UINT,PRESSURE_SP) __DECLARE_VAR(UINT,CURR_POS) __DECLARE_VAR(UINT,VALVE_POS) // FB private variables - TEMP, private and located variables __DECLARE_VAR(REAL,PRESSURE_REAL) __DECLARE_VAR(REAL,PRESSURE_SP_REAL) __DECLARE_VAR(REAL,VALVE_POS_REAL) __DECLARE_VAR(REAL,POS_UPDATE_REAL) __DECLARE_VAR(REAL,VALVE_POS_NOMINAL) __DECLARE_VAR(REAL,PRESSURE_K) __DECLARE_VAR(REAL,PRESSURE_TI) __DECLARE_VAR(TIME,CYCLE_TIME) SCALE_TO_REAL SCALE_TO_REAL5; SCALE_TO_REAL SCALE_TO_REAL4; SCALE_TO_UINT SCALE_TO_UINT0; __DECLARE_VAR(REAL,PRESSURE_MAX) __DECLARE_VAR(REAL,PRESSURE_MIN) __DECLARE_VAR(REAL,POS_MIN) __DECLARE_VAR(REAL,POS_MAX) SCALE_TO_REAL SCALE_TO_REAL0; __DECLARE_VAR(REAL,SUB57_OUT) __DECLARE_VAR(REAL,MUL60_OUT) __DECLARE_VAR(REAL,SUB53_OUT) __DECLARE_VAR(REAL,LIMIT55_OUT) } PRESSURE_CONTROL; void PRESSURE_CONTROL_init__(PRESSURE_CONTROL *data__, BOOL retain); // Code part void PRESSURE_CONTROL_body__(PRESSURE_CONTROL *data__); // FUNCTION_BLOCK FLOW_CONTROL // Data part typedef struct { // FB Interface - IN, OUT, IN_OUT variables __DECLARE_VAR(BOOL,EN) __DECLARE_VAR(BOOL,ENO) __DECLARE_VAR(UINT,PRODUCT_FLOW) __DECLARE_VAR(UINT,NEW_POS) __DECLARE_VAR(UINT,CURR_POS) __DECLARE_VAR(UINT,FLOW_SET_IN) // FB private variables - TEMP, private and located variables __DECLARE_VAR(REAL,FLOW_K) __DECLARE_VAR(REAL,FLOW_TI) __DECLARE_VAR(REAL,FLOW_TD) __DECLARE_VAR(REAL,PRODUCT_FLOW_REAL) __DECLARE_VAR(TIME,CYCLE_TIME) __DECLARE_VAR(REAL,POS_UPDATE_REAL) __DECLARE_VAR(REAL,CURR_POS_REAL) __DECLARE_VAR(REAL,FLOW_SET_REAL) SCALE_TO_REAL SCALE_TO_REAL0; SCALE_TO_REAL SCALE_TO_REAL1; __DECLARE_VAR(REAL,FLOW_MAX) __DECLARE_VAR(REAL,FLOW_MIN) __DECLARE_VAR(REAL,POS_MIN) __DECLARE_VAR(REAL,POS_MAX) SCALE_TO_REAL SCALE_TO_REAL2; SCALE_TO_UINT SCALE_TO_UINT0; __DECLARE_VAR(REAL,SUB59_OUT) __DECLARE_VAR(REAL,MUL60_OUT) __DECLARE_VAR(REAL,ADD58_OUT) __DECLARE_VAR(REAL,LIMIT40_OUT) } FLOW_CONTROL; void FLOW_CONTROL_init__(FLOW_CONTROL *data__, BOOL retain); // Code part void FLOW_CONTROL_body__(FLOW_CONTROL *data__); // FUNCTION_BLOCK LEVEL_CONTROL // Data part typedef struct { // FB Interface - IN, OUT, IN_OUT variables __DECLARE_VAR(BOOL,EN) __DECLARE_VAR(BOOL,ENO) __DECLARE_VAR(UINT,LIQUID_LEVEL) __DECLARE_VAR(UINT,LEVEL_SP) __DECLARE_VAR(UINT,CURR_POS) __DECLARE_VAR(UINT,NEW_POS) // FB private variables - TEMP, private and located variables __DECLARE_VAR(TIME,CYCLE_TIME) __DECLARE_VAR(REAL,LEVEL_K) __DECLARE_VAR(REAL,LEVEL_TI) SCALE_TO_REAL SCALE_TO_REAL0; __DECLARE_VAR(REAL,LEVEL_MAX) __DECLARE_VAR(REAL,LEVEL_MIN) __DECLARE_VAR(REAL,POS_MAX) __DECLARE_VAR(REAL,POS_MIN) __DECLARE_VAR(REAL,LEVEL_REAL) __DECLARE_VAR(REAL,POS_REAL) __DECLARE_VAR(REAL,POS_UPDATE_REAL) __DECLARE_VAR(REAL,SP_REAL) SCALE_TO_REAL SCALE_TO_REAL1; SCALE_TO_REAL SCALE_TO_REAL2; SCALE_TO_UINT SCALE_TO_UINT0; __DECLARE_VAR(REAL,SUB32_OUT) __DECLARE_VAR(REAL,MUL33_OUT) __DECLARE_VAR(REAL,SUB30_OUT) __DECLARE_VAR(REAL,LIMIT25_OUT) } LEVEL_CONTROL; void LEVEL_CONTROL_init__(LEVEL_CONTROL *data__, BOOL retain); // Code part void LEVEL_CONTROL_body__(LEVEL_CONTROL *data__); // FUNCTION_BLOCK SCALE_TO_SIGNED // Data part typedef struct { // FB Interface - IN, OUT, IN_OUT variables __DECLARE_VAR(BOOL,EN) __DECLARE_VAR(BOOL,ENO) __DECLARE_VAR(UINT,INPUT_UINT) __DECLARE_VAR(INT,OUTPUT_INT) // FB private variables - TEMP, private and located variables __DECLARE_VAR(UINT,DIV3_OUT) __DECLARE_VAR(UINT,ABS8_OUT) __DECLARE_VAR(INT,UINT_TO_INT9_OUT) } SCALE_TO_SIGNED; void SCALE_TO_SIGNED_init__(SCALE_TO_SIGNED *data__, BOOL retain); // Code part void SCALE_TO_SIGNED_body__(SCALE_TO_SIGNED *data__); // FUNCTION_BLOCK PRESSURE_OVERRIDE // Data part typedef struct { // FB Interface - IN, OUT, IN_OUT variables __DECLARE_VAR(BOOL,EN) __DECLARE_VAR(BOOL,ENO) __DECLARE_VAR(UINT,PRESSURE) __DECLARE_VAR(UINT,CURR_SP) __DECLARE_VAR(UINT,PRODUCT_SP) __DECLARE_VAR(UINT,OVERRIDE_SP) // FB private variables - TEMP, private and located variables __DECLARE_VAR(REAL,PRESSURE_REAL) __DECLARE_VAR(REAL,CURR_SP_REAL) __DECLARE_VAR(REAL,PRODUCT_SP_REAL) __DECLARE_VAR(REAL,SP_UPDATE) __DECLARE_VAR(REAL,PRODUCT_SP_NOMINL) __DECLARE_VAR(REAL,OVERRIDE_SP_REAL) __DECLARE_VAR(REAL,OVERRIDE_K) __DECLARE_VAR(REAL,OVERRIDE_TI) __DECLARE_VAR(TIME,CYCLE_TIME) SCALE_TO_REAL SCALE_TO_REAL7; __DECLARE_VAR(REAL,PRESSURE_MAX) __DECLARE_VAR(REAL,PRESSURE_MIN) __DECLARE_VAR(REAL,FLOW_MAX) __DECLARE_VAR(REAL,FLOW_MIN) SCALE_TO_REAL SCALE_TO_REAL0; __DECLARE_VAR(REAL,SUB86_OUT) __DECLARE_VAR(REAL,MUL87_OUT) __DECLARE_VAR(REAL,MAX84_OUT) __DECLARE_VAR(REAL,ADD85_OUT) __DECLARE_VAR(REAL,LIMIT67_OUT) __DECLARE_VAR(REAL,DIV73_OUT) __DECLARE_VAR(REAL,MUL75_OUT) __DECLARE_VAR(UINT,REAL_TO_UINT79_OUT) } PRESSURE_OVERRIDE; void PRESSURE_OVERRIDE_init__(PRESSURE_OVERRIDE *data__, BOOL retain); // Code part void PRESSURE_OVERRIDE_body__(PRESSURE_OVERRIDE *data__); // PROGRAM MAIN // Data part typedef struct { // PROGRAM Interface - IN, OUT, IN_OUT variables // PROGRAM private variables - TEMP, private and located variables FLOW_CONTROL FLOW_CONTROL0; __DECLARE_VAR(BOOL,FIRST_RUN) __DECLARE_VAR(UINT,FLOW_SET) __DECLARE_VAR(UINT,A_SETPOINT) __DECLARE_VAR(UINT,PRESSURE_SP) __DECLARE_VAR(UINT,OVERRIDE_SP) __DECLARE_VAR(UINT,LEVEL_SP) COMPOSITION_CONTROL COMPOSITION_CONTROL0; SCALE_TO_SIGNED SCALE_TO_SIGNED0; __DECLARE_VAR(UINT,F1_VALVE_POS) __DECLARE_VAR(UINT,F1_FLOW) __DECLARE_VAR(UINT,F2_VALVE_POS) __DECLARE_VAR(UINT,F2_FLOW) __DECLARE_VAR(UINT,PURGE_VALVE_POS) __DECLARE_VAR(UINT,PURGE_FLOW) __DECLARE_VAR(UINT,PRODUCT_VALVE_POS) __DECLARE_VAR(UINT,PRODUCT_FLOW) __DECLARE_VAR(UINT,PRESSURE) __DECLARE_VAR(UINT,LEVEL) __DECLARE_VAR(UINT,A_IN_PURGE) __DECLARE_VAR(UINT,B_IN_PURGE) __DECLARE_VAR(UINT,C_IN_PURGE) __DECLARE_VAR(UINT,F1_VALVE_SP) __DECLARE_VAR(UINT,F2_VALVE_SP) __DECLARE_VAR(UINT,PURGE_VALVE_SP) __DECLARE_VAR(UINT,PRODUCT_VALVE_SP) __DECLARE_VAR(UINT,PRODUCT_VALVE_SAFE) __DECLARE_VAR(UINT,PURGE_VALVE_SAFE) __DECLARE_VAR(UINT,F1_VALVE_SAFE) __DECLARE_VAR(UINT,F2_VALVE_SAFE) PRESSURE_CONTROL PRESSURE_CONTROL0; __DECLARE_VAR(INT,HMI_PRESSURE) __DECLARE_VAR(INT,HMI_LEVEL) __DECLARE_VAR(INT,HMI_F1_VALVE_POS) __DECLARE_VAR(INT,HMI_F1_FLOW) __DECLARE_VAR(INT,HMI_F2_VALVE_POS) __DECLARE_VAR(INT,HMI_F2_FLOW) __DECLARE_VAR(INT,HMI_PURGE_VALVE_POS) __DECLARE_VAR(INT,HMI_PURGE_FLOW) __DECLARE_VAR(INT,HMI_PRODUCT_VALVE_POS) __DECLARE_VAR(INT,HMI_PRODUCT_FLOW) __DECLARE_VAR(UINT,SCAN_COUNT) SCALE_TO_SIGNED SCALE_TO_SIGNED1; SCALE_TO_SIGNED SCALE_TO_SIGNED2; SCALE_TO_SIGNED SCALE_TO_SIGNED3; SCALE_TO_SIGNED SCALE_TO_SIGNED4; SCALE_TO_SIGNED SCALE_TO_SIGNED5; SCALE_TO_SIGNED SCALE_TO_SIGNED6; SCALE_TO_SIGNED SCALE_TO_SIGNED7; SCALE_TO_SIGNED SCALE_TO_SIGNED8; SCALE_TO_SIGNED SCALE_TO_SIGNED9; PRESSURE_OVERRIDE PRESSURE_OVERRIDE0; LEVEL_CONTROL LEVEL_CONTROL0; __DECLARE_EXTERNAL(BOOL,RUN_BIT) __DECLARE_VAR(BOOL,RUN_BIT0) INITIALIZE_SP INITIALIZE_SP0; __DECLARE_VAR(UINT,ADD87_OUT) __DECLARE_VAR(BOOL,GE91_OUT) __DECLARE_VAR(BOOL,MOVE92_ENO) __DECLARE_VAR(UINT,MOVE92_OUT) } MAIN; void MAIN_init__(MAIN *data__, BOOL retain); // Code part void MAIN_body__(MAIN *data__); #endif //__POUS_H