⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 unit1.h

📁 光学仪器的控制系统 用于教学和科研的仪器
💻 H
📖 第 1 页 / 共 2 页
字号:
                                        //和DisableMenuItems(void);用到
        
        void __fastcall IdleHandler(TObject *Sender, bool &Done);
        int mIndex;

        String sCurBC,sCurEn,sBaseEn;
        float fBoChangValue;//作为BoChangJianSuo()的函数
        float fBCJSvalue;

        bool bOnIdle;//闲循环标志
        bool bMouseLeft;
        bool bFresh;//刷新标志 =true显示背景 =false显示曲线
        //------在执行读取数据功能时要用到--------
        int wavemove;
        int Rsd;//速度        
        int Rpk;
		int Rn,Rn1,Rn2,Rwi;
//float Ra;
        int Rx,Ry;
        TRect RDRect,RSRect;
        float Rt;
        bool bReadData;
        bool bError;
        bool bClose;
        //-----------------------------------------
        TColor clQX,clCross,clBK;
        TColor clMulti[10];
        void file_load_a();//读取光谱数据
        int  in(int m);//检测是否到零位?

        int gotown();

        void getdattim(int m);
        void file_save_a();/*光谱文件存盘*/
        void file_load_option();//光谱参数读盘
        void file_save_option();/*光谱参数存盘*/

        void DrawCross(int X,int Y);
        void PrintDoc();
        void ExchangData();
        void SetData();
        void SetBoChangCheck(void);
        bool ReadData_Init(void);
        void GetData(int wi);
        void Init(void);//初始化
        void StartSysInit(void);
        void ReadDelay(void);
        
        void ShowGrid(int height,int width,bool bbgrid);
        void ShowScale(int turn,float bigscale,float Start);
        
        void SetResetorNot(bool b);

public:		// User declarations
        void Peak_write(TImage *Image,int Posx,int Posy,char *pchar);
        void DrawQX(void);//画曲线
        void DrawQX1(TCanvas *Canvas,
                    int Wx00, int Wx11, int Wy00, int Wy11,
                    int Wx0,  int Wx1,  int Wy0,  int Wy1);
        void DrawBK1(TCanvas *Canvas, int width, int height,
                        int &PWx00, int &PWx11, int &PWy00, int &PWy11,
                        int &PWx0,  int &PWx1,  int &PWy0,  int &PWy1);
        bool GetData1(int &wi,
                        int wx0, int wx1, int wy0, int wy1,
                        int &X, int &Y, float &wx, float &val);

        UCHAR mBuf[32];

        void DrawBK(void);
        void parameter_set_ch();
        int set_tmode(); // 设置透过率方式
        int set_emode(); // 设能量方式
        void CreatThread1(void);
        void DeleteThread1(void);
        void CreatThreadUSB(void);
        void DeleteThreadUSB(void);
        void file_save_ascii();
//定点改动
        void mczf(int m, int step);//控制扫描电机
        void mszf(int m, int step);//控制狭缝电机
        void mfzf(int m, int step);//控制滤光电机
        void mlzf(int m, int step);//控制光源电机
		//-----------------------------------------
        void EnableMenuItems(void);//使主菜单和按纽有效
        void DisableMenuItems(void);//使主菜单和按纽无效
        bool bStop;//各个费时操作的停止标志
        char file_name1[256];
        AnsiString MyDir;
        char wfz25bj[12];
        char wfz25bj1[12];
        char wfz25bj2[12];
        char wfz25bj3[12];
        char wfz25bj4[12];
        char wfz25bj5[12];//光谱数据文件标志
        char wfz25bj6[12];

        //short int csd5[4];//1-重复扫描次数 2-连续扫描次数 3-时间扫描时间

        int wn;                 // 当前波长
        int fs;                 // 换滤光片时的波长
        int dds;                // 氘灯位置电机步数
        int wds;                // 钨灯位置电机步数
        int mci,msi,mfi,mli;    // 电机相序
	int mcs,mss,mfs,mls;    // 电机步数
        int wac,was,waf,wal;    // 电机延时
        float wns0,wne0;        // 仪器工作波长
        float pp1,pp2;          // 零和百系数
        short int con,con1,con2;      // 采样次数
        short int pa1,pb1,pc1,pd1;      // 8255-1各口状态变量
	short int pa2,pb2,pc2,pd2;      // 8255-2各口状态变量
        short int pad1[4];              // 8255-1各口地址
	short int pad2[4];              // 8255-2各口地址
        char mc[8],ms[8],mf[8],ml[8];   //
        char mc0,ms0,mf0,ml0;

        short int out_c,our_s,out_f,out_l;      // 电机输出状态
        short int add_c,add_s,add_f,add_l;      // 电机输出地址
        unsigned int add_csfl;                     // 定义检零输入口地址
        unsigned int in_csfl;                      // 定义检零输入口状态
        unsigned int in_c,in_s,in_f,in_l;          // 检零输入状态
       	unsigned int in_c0,in_s0,in_f0,in_l0;      // 在in()函数里用到
        short int ap[9];                        // 增益
        short int vl[9];                        // 负高压
        char gs[100];                           // 公用的字符串
        float wns,wne;                          // 当前系统用横坐标
        float tnl,tnh;                          // 当前系统用纵坐标
        int wnd0;                               // 每 1 nm 的电机步数
        char samp[51],oper[51];                 // 样品名称和操作者
        short int gpdata,gpdisp;
        int wx0,wx1,wy0,wy1;                    // 画图坐标
        //int CountX;//画点数

        //由于吸收峰窗口里要用到这些变量和函数,所以把它们定义为public型
    struct para
	{
    	char wfz[10];           // wfz-25uv标志
		short int m1;		// 测量模式 csd[1]
		short int m2;		// 数据类型
		short int m3;		// 扫描方式 csd[4]
		short int m4;		// 次数时间 csd[5]
		float wns;		// 起始波长 wns
		float wne;		// 终止波长 wne
		float tnh;		// 上刻度   tnh
		float tnl;		// 下刻度   tnl
                short int lamp;		// 工作光源 csd[2]
                short int speed;	// 扫描速率 csd[3]
                short int interval;	// 扫描间隔 csd[0]
		short int source;       	// 换灯波长 csd[8]
		short int slit;		// 狭缝宽度 csd[9]
                short int vol;		// 负高压   csd[10]
		char samp[51];		// 样品名称
		char oper[51];		// 操作事项
		short int dattim[8];	// 扫描日期时间
	}ptb,ptc,ptd;
        float tc[28500],tb[28500],td[28500];    //曲线数据和基线数据
        float ts[28500],tr[28500],tts,ttr,ttd;              //样品光与参比光
        short int csd[20];// 仪器当前状态参数
        short int itl[5];// 采集间隔
                          // 很快: 1 nm   40步
                          // 快: 0.5 nm   20步
                          // 中: 0.1 nm   4 步
                          // 慢: 0.025 nm 1 步
        int pkn1,pkw1[8100];//峰值序号 (峰值检索里用到)
		int pkn2,pkw2[8100];//谷值序号
        float toa(float t);
        void BoChangJianSuo();
        void __fastcall SysInit(void);	//复位
        bool ScanFengZhi();				//峰值检索
        void TForm1::DispFengZhi(void);	//在光谱曲线上显示吸收峰
        void __fastcall baseline_scan();//基线扫描
        void __fastcall scan();	//光谱扫描
        void Scan_T(void);		//时间扫描
        void fixed_measure(void);		//定点测量
        void pp_measure();
        float tas(int mod);
        float tbb();
        void ReadPP();
        void WritePP();
        void ReFreshWn();

        void dely(int t);

        int delaypara;
		//-----------------------------------------
        __fastcall TForm1(TComponent* Owner);
        virtual __fastcall ~TForm1();
		//-----------------------------------------
        void IncProgressBar();
        char filename[20];
        bool bSaveFile;
        int baseaddr;

// 华南理工要求改动
        float ddsmax,wdsmax;
        
        int iArrayScale[4];
        int iScaleIndex;
//在图谱上显示峰值和波长
        bool bWLonImage;
        bool bPVonImage;
        bool bScale;
        bool bGrid;
        int grid[4];
        int Xgridindex;
        int Ygridindex;
        bool bReset;
//USB接口通讯

        int NHighVoltage(UINT Grade);

        int speedh;
        int speedl;

        void filter_set();
        void ChangLamp_set(int STEP);
        void BoChangCheck();
};
//---------------------------------------------------------------------------
//VOID	CALLBACK mInterruptEvent(PUCHAR);
extern PACKAGE TForm1 *Form1;
//---------------------------------------------------------------------------
#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -