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

📄 public.h

📁 采集电压 用研华6220板卡采集电压值 实时显示 电压变化
💻 H
字号:

#if !defined(PUBLIC_H)
#define PUBLIC_H

#if _MSC_VER >= 1000
#pragma once
#endif // _MSC_VER >= 1000
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#include <Afxtempl.h>
#include <time.h>
#include <sys/stat.h>
//#include <math.h>
#include <AFXTEMPL.H>
#include "afxmt.h"
#include "ntport.h"


#define HEIGHT 10
#define WIDTH 4
#define COOLBASE 0
#define VtoCOOL 29.25

#define Ch_CLUTCHOPEN 1		//启动A/D采样地址码CH01-离合器开度



#define NORMAL 0				//正常
#define ALARMSTOP 1				//紧急停机
#define ALARMKEY 7		//急停开关-DI20-16
#define HIGHTSPEED 6


//测量参数
#define	SPEED 0



//基本模式结构
struct SPEEDDRAWMODE//耐久性模式
{
	int item;
	int color;
	double xs ;
	double max;
	CString text;
} ;
extern int AllColor;
extern CString AllText;






struct RUNDATA
{
	CString str;
	int start_num;
	CArray<int,int&> data;
	friend CArchive& operator<< (CArchive& ar, RUNDATA& p)
	{
		int size;
		size = p.data.GetSize();
		ar<<p.str;
		ar<<p.start_num;
		ar<<size;
		for(int i=0; i<size; i++)
		{
			ar<<p.data[i];
		}
		return ar;
	}
	friend CArchive& operator>> (CArchive& ar, RUNDATA& p)
	{
		int size;
		ar>>p.str;
		ar>>p.start_num;
		ar>>size;
		p.data.SetSize(size);
		for(int i=0; i<size; i++)
		{
			ar>>p.data[i];
		}
		return ar;
	}
};




struct OTHERPARAM
{
	
	double v_max;//车速最大值
	double r;

	friend CArchive& operator<< (CArchive& ar, OTHERPARAM& p)
	{
		ar<<p.v_max;
		ar<<p.r;
		return ar;
	}
	friend CArchive& operator>> (CArchive& ar, OTHERPARAM& p)
	{
		ar>>p.v_max;
		ar>>p.r;
		return ar;
	}
};

struct CONTROLPARAM
{
	RUNDATA RunDataArray;
	CString speed_model;	//试验编号

	int open_data;
	CString	canrun_time;//可运行时间
	double	run_time;//已运行时间:
	OTHERPARAM OtherParam;	//其他参数
	friend CArchive& operator<< (CArchive& ar, CONTROLPARAM& p)
	{
		ar<<p.speed_model;
		ar<<p.RunDataArray;
		ar<<p.open_data;
		ar<<p.canrun_time;
		ar<<p.run_time;
		ar<<p.OtherParam;
		return ar;
	}
	friend CArchive& operator>> (CArchive& ar, CONTROLPARAM& p)
	{
		ar>>p.speed_model;
		ar>>p.RunDataArray;
		ar>>p.open_data;
		ar>>p.canrun_time;
		ar>>p.run_time;
		ar>>p.OtherParam;
		return ar;
	}
};

struct CARDPARAM
{
	int baseio;
	int basead;
	int baseco;
	int basein;
	friend CArchive& operator<< (CArchive& ar, CARDPARAM& p)
	{
     	
		ar<<p.baseio;
		ar<<p.baseco;
		ar<<p.basein;
		ar<<p.basead;
		
		return ar;
	}
	friend CArchive& operator>> (CArchive& ar, CARDPARAM& p)
	{
		ar>>p.baseio;
		ar>>p.baseco;
		ar>>p.basein;
		ar>>p.basead;
		return ar;
	}
};

struct SAMPLEPARAM
{

	int InData;


	double speed_meas_t;//瞬时采样时间
//	BOOL count_l;		//计数器B0开始计数标志
	BOOL count_t;		//计数器A1开始计数标志
//	long first_count_l;
	long old_count_l;
	long old_count_t;


	double speed_meas_v;//瞬时采样速度
	double avg_meas_v;//5次平均速度



};

struct ASKDRAWMODE
{
	int item;
	int color;
	double xs ;
	double max;
	CString text;
} ;

struct SPEEDSAMPLE
{
	
	double t;//总时间
	double test_v;

};

extern CARDPARAM SysParam;
extern CONTROLPARAM ControlParam;



extern SAMPLEPARAM SampleParam;//采样参数

extern CArray<SPEEDSAMPLE,SPEEDSAMPLE&> array_searchcurve;

extern int count;//判断开关量

extern int secend;
extern int minute;
extern int hour;
extern int mcou;
extern    UINT xx[154];//40->154
extern float  yy[154];//40->154


extern int OutData;	//6160板输出数据


extern int rpm_num;
extern double rpm;
extern double fr;


extern BOOL IsStartTest;

extern BOOL IsSetSysParam;
extern int FaultCode;			//故障代码

extern CMutex g_mutex;
extern CMutex ad_mutex;		//AD锁
extern CMutex c_mutex;		//计数器锁
extern CMutex err_mutex;	//f
extern CMutex out_mutex;	//fAULTCODE锁

extern char exepath[180];
extern CString GLastFname;
//end
extern  int total_t;



void iniparam(void);


extern long Get6220Counter(int counter);

void ftoat(double value);
char *ftoat1(int value,int nint, char *string,BOOL Space=FALSE);
char *ftoa(double value,int nint, int ndec, char *string,BOOL Space=FALSE);
void sleep(int st=100);


extern void SerializeSysData(CArchive& ar);
extern void ReadSysData();
extern void WriteSysData();
extern void IniSysData(void);

CString TimetoStr(double time);


extern void OutAlarmOn(BOOL ison);

extern void OutAlarmLampOn(BOOL ison);


extern void OutAllDown(void);//断电




#endif

⌨️ 快捷键说明

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