📄 sim_valve.h
字号:
TLabel *Label7;
TLabel *Label8;
TEdit *F_Edit;
TEdit *K_Edit;
TEdit *m_Edit;
TEdit *P1_Edit;
TEdit *P2_Edit;
TLabel *Label9;
TEdit *Edit1;
TLabel *Label10;
TLabel *Label11;
TEdit *Edit2;
TLabel *Label12;
TEdit *Edit3;
TLabel *Label13;
TEdit *Edit4;
TGroupBox *GroupBox2;
TLabel *Label4;
TLabel *Label5;
TLabel *Label6;
TPanel *Panel2;
TPanel *Valve_Panel;
TPanel *P1_Panel;
TPanel *P2_Panel;
TPanel *Panel4;
TPanel *Panel7;
TEdit *W_Edit;
TEdit *A_Edit;
TEdit *In_Edit;
TEdit *YFCTEdit;
TLabel *Label14;
TLabel *Label15;
TEdit *YPGLEdit;
TEdit *YWAYEdit;
TLabel *Label16;
TEdit *SCUREdit;
TLabel *Label17;
TLabel *Label18;
TEdit *SDIREdit;
TEdit *SPRAEdit;
TLabel *Label19;
TEdit *SPREEdit;
TLabel *Label20;
TLabel *Label21;
TEdit *TSUPEdit;
TEdit *TSDOEdit;
TLabel *Label22;
TEdit *YDIREdit;
TLabel *Label23;
TLabel *Label24;
TEdit *YCLSEdit;
TEdit *YCDOEdit;
TLabel *Label25;
TEdit *YCUPEdit;
TLabel *Label26;
TLabel *Label27;
TEdit *BIN1Edit;
TEdit *BIN2Edit;
TLabel *Label28;
TEdit *AFCTEdit;
TLabel *Label29;
TLabel *Label30;
TEdit *A1Edit;
TEdit *A2Edit;
TLabel *Label31;
TEdit *SFCTEdit;
TLabel *Label32;
TLabel *Label33;
TEdit *DEBAEdit;
TEdit *YAEdit;
TLabel *Label34;
TEdit *HFCTEdit;
TLabel *Label35;
TLabel *Label36;
TEdit *YNRMEdit;
TEdit *YEEdit;
TLabel *Label37;
TShape *Shape2;
TLabel *Label38;
TLabel *Label39;
TLabel *Label40;
TLabel *Label41;
TLabel *Label42;
TLabel *Label43;
TLabel *Label44;
TEdit *HTIMEdit;
TEdit *HLIMEdit;
TEdit *HSTRKEdit;
TEdit *HDCHGEdit;
TEdit *HZEROEdit;
TEdit *HOPENEdit;
TEdit *HDEBAEdit;
TEdit *MinEdit;
TLabel *Label45;
TEdit *MaxEdit;
TLabel *Label46;
TLabel *Label47;
TEdit *zEdit;
TLabel *Label48;
TEdit *bEdit;
TPanel *Panel3;
TPanel *Panel5;
TShape *Shape1;
TButton *T_M_Button;
TButton *T_A_Button;
TGroupBox *GroupBox3;
TCheckBox *BE1_CheckBox;
TCheckBox *BE2_CheckBox;
TGroupBox *GroupBox4;
TPanel *Alarm_Panel;
TPanel *A2_Panel;
TPanel *A1_Panel;
TLabel *Label49;
TLabel *Label50;
TLabel *Label51;
TCheckBox *CheckBox1;
TTimer *Timer1;
void __fastcall Button1Click(TObject *Sender);
void __fastcall FButtonClick(TObject *Sender);
void __fastcall MButtonClick(TObject *Sender);
void __fastcall Work_TimerTimer(TObject *Sender);
void __fastcall F_ButtonClick(TObject *Sender);
void __fastcall F_M_ButtonClick(TObject *Sender);
void __fastcall AButtonClick(TObject *Sender);
void __fastcall M1000ButtonClick(TObject *Sender);
void __fastcall A1000ButtonClick(TObject *Sender);
void __fastcall A5ButtonClick(TObject *Sender);
void __fastcall F_M_A_ButtonClick(TObject *Sender);
void __fastcall Check_TimerTimer(TObject *Sender);
void __fastcall Timer1Timer(TObject *Sender);
private: // User declarations
public: // User declarations
__fastcall TMainForm(TComponent* Owner);
//
//一、设定变量定义,共55个与外部设定变量
//在内存中开55个变量,同时在flash区开这55个变量存贮
unsigned char m_YFCT; //1、1执行机构类型,5种0~4,对应turn,WAY,LWAY,ncSt,-ncSt
unsigned char m_YAGL; //2、2额定反馈角, 两个数,90,33。
unsigned char m_YWAY; //3、3行程范围, 15种,OFF/5/10/15/20/25/30/35/40/50/60/70/90/110/130
unsigned char m_INITA;//4、4自动初始化,3个状态,0~3;
unsigned char m_INITM;//5、5同上
unsigned char m_SCUR; //6、6电流范围, 2个数 0mA对应0~20mA,4mA对应4~20mA
unsigned char m_SDIR; //7、7方向设定, 2个数 rise FALL
float m_SPRA; //8、11分程范围设定,起点,0.0~100.0
float m_SPRE; //9、15分程范围设定,终点,0.0~100.0
int m_TSUP; //10、17斜率设计OPEN,0~400
int m_TSDO; //11、19斜率设计CLOSE,0~400
unsigned char m_SFCT; //12、20输出设定 共8个数,0~7,Lin\1:25\1:33\1:50
float m_SL[21]; //13、104 设定折点 0.0~100.0
//SL0~SL20共21个数
float m_DEBA; //34、108控制器死区 0.1~10.0
float m_YA; //35、112行程上限值 0.0~100.0
float m_YE; //36、116行程下限值 0.0~100.0
unsigned char m_YNRM; //37、117行程标定 MPOS、FLOW
unsigned char m_YDIR; //38、118行程方向 rise、FALL
unsigned char m_YCLS; //39、119 ”紧密关闭“带人工操作变量 no\up\do\up do
float m_YCDO; //40、123 ”紧密关闭“值,下降 0.0~100.0%
float m_YCUP; //41、127 ”紧密关闭“值,上升 0.0~100.0%
unsigned char m_BIN1; //42、128 二进制输入BIN1的功能OFF\ON\bloc1\bloc2\uP\doWn\StoP\NC\-on\-uP\-doWn\-StoP
unsigned char m_BIN2; //43、129 二进制输入BIN2的功能OFF\ON\bloc1\bloc2\uP\doWn\StoP\NC\-on\-uP\-doWn\-StoP
unsigned char m_AFCT; //44、130 报警功能
float m_A1; //45、134 报警响应阈值1 0.0~100.0%
float m_A2; //46、138 报警响应阈值2 0.0~100.0%
unsigned char m_HFCT; //47、139 报警输出功能
char m_HTIM; //48、140 77监视时间设定 Auto 0~100
float m_HLIM; //49、144 故障信号的响应阈值 Auto 0~100
unsigned long m_HSTRK; //50、148 行程累计极限值 OFF 1~1.00E9
unsigned long m_HDCHG; //51、152 方向改变极限值 OFF 1~1.00E9
float m_HZERO; //52、156 极限用于零极值监视 OFF 1~100%
float m_HOPEN; //53、160 极限用于开极值监视 OFF 1~100%
float m_HDEBA; //54、164 极限用于死区极值监视 OFF 1~100%
unsigned char m_PRST; //55、165 预设定 no\Strt\oCAY
//上述55个变量占用165个字节空间
/////////////////////////////////////////////////////////////////////////
//二、诊断测试统计变量
unsigned long m_STRKS; //1,4 行程累积,按+5秒可复位为0(rESEt),需要确认
unsigned long m_CHDIR; //2,8 阀改变方向次数,按+5秒可复位为0(rESEt)
unsigned long m_HCNT; //3,12 总报警次数,按+5秒可复位为0(rESEt)
unsigned long m_A1CNT; //4,16 A1报警次数,按+5秒可复位为0(rESEt)
unsigned long m_A2CNT; //5,20 A2报警次数,按+5秒可复位为0(rESEt)
unsigned long m_HOURS; //6,24 总运行时间(小时),以何为标准
unsigned char m_WAY; //7,25 当前操作方式,与m_YFCT对应,需要确认
unsigned int m_Up_Time; //8,27 阀上升定位时间,需要确认
unsigned int m_Down_Time;//9,29 阀下降定位时间,需要确认
float m_LEAK; //10,33执行机构泄漏,需要确认
float m_P0; //11,37
float m_P100; //12,41
unsigned int m_IMPUP; //13, 43
unsigned int m_IMPDN; //14 45
float m_DBUP; //15,49 死区正限位,为m_DEBA值
float m_DBDN; //16,53 死区负限位,为-m_DEBA值
float m_SSUP; //17 57
float m_SSDN; //18 61
float m_TEMP; //19,65 当前温度,按”+“可进行摄氏与华氏之间转换
float m_TMIN; //20,69 最小温度,
float m_TMAX; //21,73 最大温度
unsigned long m_T1; //22,77 T1运行时间
unsigned long m_T2; //23,81 T2运行时间
unsigned long m_T3; //24,85 T3运行时间
unsigned long m_T4; //25,89 T4运行时间
unsigned long m_T5; //26,93 T5运行时间
unsigned long m_T6; //27,97 T6运行时间
unsigned long m_T7; //28,101 T7运行时间
unsigned long m_T8; //29,105 T8运行时间
unsigned long m_T9; //30,109 T9运行时间
unsigned long m_VENT1; //31,113 压电阀运行循环次数
unsigned long m_VENT2; //32,117 压电阀运行循环次数
unsigned char m_STORE; //33,121 存贮,按”+“5秒后存贮,出现Strt(Start)
unsigned int m_PRUP; //34,125
unsigned int m_PRDN; //35,129
//上述35个变量占用129字节空间
/////////////////////////////////////////////////////////////////////////
//系统工作状态
unsigned char m_System_State; //当前系统状态,0未初始化1已初始化
unsigned char m_Work_AM; //当前系统状态,0手动1自动
unsigned char m_Work_State; //当前工作状态,0:工作,1,设定
unsigned char m_Work_Time; //工作时间累积用变量,不能他用
unsigned char m_Check_TF;
//系统运行参数
float m_Valve_Pos; //当前阀位,反馈电位器所指示值
float m_Valve_Pos_Old;
float m_Valve_Pos_Last;
float m_Valve_Pos_Set;
float m_Valve_Check_Pos;
float m_Valve_Check_Pos_Old;
unsigned char m_Set_Num; //组态设定当前值
float m_APP_Current; //外输入电流
float m_APP_Current_Pos;
unsigned char m_Valve_State;
unsigned char m_Valve1_State;
unsigned char m_Valve1_State_Old;
unsigned char m_Valve2_State;
unsigned char m_Valve2_State_Old;
unsigned char m_A1_Timer;
unsigned char m_A1_Alarm;
unsigned char m_A2_Timer;
unsigned char m_A2_Alarm;
//初始化参数
//中间变量,可以其它程序中使用,在初始化中使用
unsigned char m_Auto_Init; //自动初始化状态0:组态,1,初始化开始
unsigned char m_Mani_Init; //手动初始化状态0:组态,1,初始化开始
unsigned char m_Mani_Init_Num; //手动初始化状态0:组态,1,初始化开始
unsigned char m_Auto_Init_Num; //自动初始化状态0:1组态,1,初始化开始
unsigned int m_Auto_Init_Count;//自动初始化状态0:1组态,1,初始化开始
unsigned char m_SDIR_m[22]; //测得作用方向
unsigned char m_Auto_Z0; //到一个端点正确否
unsigned char m_Auto_Z1; //下降时测得作用方向
unsigned char m_Auto_Z2; //下降时测得作用方向
unsigned char m_Count1; //循环显示计数
unsigned char m_Count2; //显示错误与RUN n计数
unsigned char m_Count3; //显示错误与RUN n计数
unsigned char m_Count4; //显示错误与RUN n计数
unsigned char m_Error; //错误
float m_Mani_Pos[3];
//模型参数
float m_mP1; //
float m_mP2; //
float m_mK;
float m_mF;
float m_mm;
float m_mW;
float m_mA;
float m_mW1;
float m_mW2;
float m_mT;
//函数定义
//初始化函数
void InitSystem(void); //系统初始化
void Init_Param(void); //系统第一次开机时执行工厂置,或工厂预设定功能调用参数55
void Init_Code(void);
void Parm_Save(void);
void Parm_Load(void);
//显示函数
//底层显示程序,在单片中需修改
void Draw_Data(unsigned char n,char data1,char data2,TCanvas *pCanvas);//大8数据
void Draw_Num(unsigned char n,char data1,char data2,TCanvas *pCanvas); //小8数据
void Draw_State(unsigned char n,char data[],TCanvas *pCanvas);//状态
void Draw_UP_Arrow(TCanvas *pCanvas);//上箭头
void Draw_DN_Arrow(TCanvas *pCanvas);//下箭头
void Draw_Menus(TCanvas *pCanvas); //负号
void Draw_Circle(TCanvas *pCanvas); //圆
//显示数据
void Disp_Data(char Data[12]);
void Disp_State(unsigned char Data[6]);//显示状态
void Disp_State_All(char D_Code[]); //显示状态
void Disp_Num(char Data[4]); //段选码,单片机不用
void Disp_Number(void);
void Disp_HexToDec(unsigned long f,unsigned char Data[12]); //16位数转成BCD10进制数
void Disp_HexToDecM(unsigned int f,unsigned char Data[6]); //16位数转成BCD10进制数
int Disp_Process_Data(unsigned int f,unsigned char Data[12]);
void Disp_Turn_Str_TO_Code(unsigned char s[],char data[12]);
void Disp_Turn_Data_TO_Code8(double f,unsigned char c[12],int n);
void Disp_Turn_Data_TO_Code8_LE(unsigned long f,unsigned char c[12]);
void Disp_Turn_Long(unsigned long f,char data[12]);
void Disp_Debug_Param();
//工作处理函数,工作状态时的处理函数
void Work_Timer_Process(void);
void Work_Func_Key(void);
void Work_Start(void);
void Work_Sub_Key(void);
void Work_Add_Key(void);
void Work_Auto(void); //自动工作
void Work_Disp_Data(void); //显示工作数据
void Work_Disp_Num(void);//小8字显示数字程序
void Work_Disp_State(void);
void Work_Disp_Curve(void); //单片机中无用,显示图形
void Work_Mani(void); //手动工作
void Work_NoInit(void); //无初始化工作
void Work_Valve_Model(); //自动
void Work_Valve_Model_Mani(int d); //手动d=0下降,d=1上升
void Work_Valve_Model_Mani_Noini(int d);
void Work_Process_Set_Data(unsigned char S[],unsigned char D[]);
double Work_Valve_Translate(double m);
double Work_SetValve_Translate(double m);
//设定参数初始化函数
//
void Set_Timer_Process(void);
void Set_Start(void);
void Set_Func_Key(void);
void Set_FuncAndMenu_Key(void);
void Set_Sub_Key(void);
void Set_Add_Key(void);
void Set_Add5s_Key(void);
void Set_Auto_Init_Process();
void Set_Auto_Init_Start();
void Set_Auto_Init_Stop();
void Set_Auto_Init_Run1(void);
void Set_Auto_Init_Run2(void);
void Set_Auto_Init_Run3(void);
void Set_Auto_Init_Run4(void);
void Set_Auto_Init_Run5(void);
void Set_Disp_Wait_Num(void);
void Set_Auto_Disp_Error(void);
void Set_Disp(void);
void Set_Save(void);
void Set_Load(void);
char Set_Change(char m_YFCT,char min,char max,char am);
long Set_Change_L(long k,long min,long max,char am);
long Set_Change_LL(long k,long min,long max,char am);
float Set_Change_F(float k,float min,float max,char am);
void Set_Mani_Init_Start();
void Set_Mani_Init_Stop();
void Set_Mani_Func_Key(void);
void Set_Mani_Add_Key(void);
void Set_Mani_Sub_Key(void);
//三、时间累积与温度处理函数
void Check_Data_Save(void);
void Check_Data_Load(void);
void Check_Init_Param(void);
void Check_Reset(unsigned long *d);
void Check_T_F(float d);
void Check_Save(void);
void Check_Delay(unsigned long d);
void Check_Disp(void);
void Check_Func_Key(void);
void Check_FuncAndSub_Key(void);
void Check_TimerP(void);
void Check_Add5s_Key(void);
void Check_Start(void);
void Check_Number(void);
//////////////////////////////////////////////////
//通用程序
//////////////////////////////////////////////////
//自动初始化
void Key_Func_Process();
void Key_Func5s_Process();
void Key_FuncSub_Process();
void Key_Sub_Process();
void Key_Add_Process();
void Key_Add5s_Process();
void Key_FuncSubAdd_Process();
};
//---------------------------------------------------------------------------
extern PACKAGE TMainForm *MainForm;
//---------------------------------------------------------------------------
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -