基于Winform框架下台站自动化工作日志的研发
2019-09-17潘洁张伟峰肖攀李露露
潘洁 张伟峰 肖攀 李露露
摘 要:随着近年来地震台站仪器数字化进程的加快,越来越多的仪器在硬件底层提供可以通过网络访问的接口,所以开发如远程监控仪器状态、自动读取转换数据等软件成为可能。数据收集和处理工作非常繁琐并且每天要重复操作,自动化工作日志的研发能够自动读取数据并且自动处理,对提高数据处理人员的工作质量和工作效率提供很大的帮助。
关键词:工作日志 自动化 Winform框架
中图分类号:TP27 文献标识码:A 文章编号:1672-3791(2019)06(c)-0013-02
处在地震监测一线的台站职工,每天要预处理各种数据和上报工作日志,其中工作日志要填写每天8点、12点、16点、20点4个时间点的温度、气压以及全天的降雨量,人工收集、处理耗时费力,该课题使用C#语言,基于Winform框架,生成exe绿色文件,直接在电脑里运行,自动生成每天的工作日志。移植性很高,任何一台Windows电脑均可使用,为一线台站的监测人员节约大量的时间,也保证了数据的准确性。
1 数据收集处理和报送现状
台站职工每天要向省局服务器报送一个前一天的工作日志,工作日志中每天要收集气温气压雨量,并且要人工计算气温气压的均值和降雨总量,如表1所示。目前台站使用的气温气压雨量观测仪有多种,其中WYY-1型使用较为普遍。该文就以WYY-1型气温气压雨量觀测仪来开发相关的软件,通过读取仪器产生的数据,调用程序进行计算,自动生成每天的工作日志。
其中图1中的数据要通过中国地震前兆台网数据管理系统先把仪器中的数据采集到服务器,然后使用中国地震前兆台网数据处理系统2014集成版来转换数据,预处理数据,然后人工读取数据并按照要求计算,最后填写到图1中。
2 软件开发思路
通过仪器在硬件底层提供的网络访问接口,访问仪器,判断目录下是否存在此文件,如果不存在,提示文件不存在,如果存在,则打开文件。然后使用如下for循环语句+文件操作函数把文件数据读取并存到数组中[1]。
#include
int i,a[100];
int main(){
FILE * fp1 = fopen("input.txt", "r");//打开输入文件
FILE * fp2 = fopen("output.txt", "w");//打开输出文件
if (fp1==NULL || fp2==NULL) {//若打开文件失败则退出
puts("不能打开文件!");
rturn 0;
}
for(i=0;fscanf(fp1,"%d",a+i)!=EOF;i++);//从输入文件连续读取整数到数组a
for(;i--;)fscanf(fp2,"%d ",a[i]);//把数组a逆序写入到输出文件当中
fclose(fp1);//关闭输入文件
fclose(fp2);//关闭输出文件,相当于保存
return 0;
}
按文件内容规律依次读取时间和数据,链接数据库,创建数据表,把读取的数据插入[2]。使用求和语句计算出气温和气压的均值,求平均值程序如下:利用求和语句对降雨量求和程序不再一一列出。最后将结果数据导入工作日志表格,并最终生成工作日志。
float aver(int*a,intl)//计算整型数组a,前l个元素的平均值。
{
floatr=0;
inti;
for(i=0;i r+=a[i];//累加。 r/=l;//平均值 returnr;//返回结果。 } 该软件使用C#语言编程最后生成exe文件。采用Winform框架,智能读取和采集数据文件,使用大数据思想分析整理数据,数据导入导出,数据统计,数据查询,多种数据库的整合,能够手动配置数据库类型[3]。并对所有历史数据备份保留,形成数据的可追溯性,同时对于后期系统的迭代或者其他系统调用均可完美兼容,并且可以实现模块快速集成,不再需要的模块,通过修改配置移除。 3 结语 使用C#语言,从本地读取仪器数据并自动识别需要时间点的各种数据,写入数据库或表格,基于Winform框架,通过后台菜单的配置和权限的指定,还能够实现菜单的动态加载和权限验证,生成exe绿色软件,直接在任何一台电脑上运行。为一线的监测人员更准确快速地上报数据提供帮助。最后生成exe文件,任何一台Windows电脑都可使用,增加了可移植性。 参考文献 [1] 于磊.基于C#的WinForm开发中存储过程应用研究[J].软件导刊,2018(4):178-179,183. [2] 斯琴巴图,杨利润.C#winform中嵌入Excel实现复杂表格的显示和控制[J].软件导刊,2013(4):26-27. [3] 张晓熙.基于Winform的电子卷宗采集与管理系统设计[J].计算机光盘软件与应用,2015(3):287-288.