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

📄 util.c

📁 工厂环境污染控制数据采集器
💻 C
字号:
#include "main.h"
#include "inioper.h"
#include "file_config.h"
//#include "type.h"
//#include <math.h>

extern unsigned char cfgfilebuffer[MAX_CFG_BUF];	
/****************************************
** 添加5分钟数据
** @param char *rt	时间串
** @param MEASUREDATA *md 数据
****************************************/
 void addmindata(char *rt, MEASUREDATA *md)
 {
 	unsigned char fname[10];
	unsigned char tmp[8];
	unsigned int fh;	  	//数据文件句柄
	unsigned int flen	;   //文件的长度
	unsigned int fpagenum;
	unsigned int i;
	unsigned int curpos = 0;
	unsigned int curlinelen = 0;//当前行长

 	 //1.通过rt组织数据文件名yymmdd.Min
	 inttoasc(rt[POS_YearL], &tmp[0], 2);
	 strncpy(&fname[0], &tmp[0], 2);
	 inttoasc(rt[POS_Month], &tmp[0], 2);
	 strncpy(&fname[0], &tmp[0], 2);
	 inttoasc(rt[POS_Date], &tmp[0], 2);
	 strncpy(&fname[0], &tmp[0], 2);
	 fname[6] = '.';
	 fname[7] = 'm';
	 fname[8] = 'i';
	 fname[9] = 'n';
	 //2.打开文件
	 fh=__fopen((char *)fname, FILE_A);	  
	 flen =__get_flen(fh);
	 if (flen > 0)
	 	fpagenum = (flen / MAX_CFG_BUF) + 1;
	 else
	 {
	 	//打开文件错误
	 	fpagenum = 0;
		//addexceptionmsg();
		//showexception(char *rt, char * buf);
	 }	
	 //3.通过时间关键字查找	,参考ConfigGetKey
	 for (i = 0; i < fpagenum; i++)	
	 {
	    //__setfpos(fh, lastpos);
		//__read(fh, cfgfilebuffer, MAX_CFG_BUF);

		//__write(fh,tmp_buf1, 12);
		curlinelen = FileGetLine(fh, curpos, cfgfilebuffer, MAX_CFG_BUF);
		curpos += curlinelen + 2; 

		//4.比较日期

		//5. ...
	 } 

	 //....

	 //关闭文件
	 __fclose(fh);
	  
 }
 /*void updatemindata(char *rt, MEASUREDATA *md);
 void delmindata(char *rt);
 void addhourdata(char *rt, MEASUREDATA *md);//添加一条小时历史数据 
 void updatehourdata(char *rt, MEASUREDATA *md);//添加一条小时历史数据 
 void delhourdata(char *rt);
 void adddaydaydata(char *rt, MEASUREDATA *md);
 void updatedaydata(char *rt, MEASUREDATA *md);//添加一条日历史数据 
 void deldaydata(char *rt);
 void addlogdata(char *rt, SYS_LOG *syslog);
 void updatelogdata(char *rt, SYS_LOG *syslog);//添加一条日志历史数据 
 void dellogdata(char *rt);
 void addalarmdata(char *rt, MEASUREDATA *md); //添加一条报警历史数据 
 void updatealarmdata(char *rt, MEASUREDATA *md);
 void delalarmdata(char *rt);
 void addexceptionmsg(char * rt, SYS_LOG *syslog); //加一条异常	 
 void updateexceptionmsg(char *rt, SYS_LOG *syslog);
 void delexceptionmsg(char *rt);	
 void addintervaldata(char * rt, MEASUREDATA_UNIT *_munitd);//加一条间段数据,例如COD 
 void updateintervaldata(char *rt, MEASUREDATA_UNIT *_munitd);
 void delexcintervaldata(char *rt);	   */
/****************查询相关*****************************/
/* MEASUREDATA * querymindata(char *rt1, char *rt2);	//查询某段时间的数据
 MEASUREDATA * queryhourdata(char *rt1, char *rt2);
 MEASUREDATA * querydaydata(char *rt1, char *rt2);
 SYS_LOG * querylogdata(char *rt1, char *rt2);	
 MEASUREDATA * queryalarmdata(char *rt1, char *rt2);		
 SYS_LOG * queryexceptionmsg(char *rt1, char *rt2);			
 MEASUREDATA_UNIT * queryintervaldata(char *rt1, char *rt2);*/
 		

⌨️ 快捷键说明

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