admin 管理员组

文章数量: 1184232


2023年12月18日发(作者:javadockerfile)

使用方法

1、将 配置文件 文件夹下的 和气象表.txt 拷贝C盘根目录下,将重新保存为编码ANSI的格式,如下图所示:

2、将 OCX控件 文件夹下的文件拷贝至c:WindowsSysWOW64文件夹下,注册 文件:“开始-运行”输入“regsvr 32 c:”

点击回车,提示类似以下信息为注册成功。如下图所示:

3、打开组态王开发系统,点击通用控件内添加天气控件(Weather Control)到画面,选中控件,右键“控件属性”,添加“观测点” (如下图),然后可以通过控件方法、属性获取需要的信息。(注:复制内,自己所需要的地区的名称到“输入观测地点”)如下图所示:

4、点击【数据存储配置】,可配置整点天气信息存储到Access数据库,数据库位置为当前工程目录下的Weather文件夹,数据库文件为。在组态王画面中可通过报表、ADO控件等查询该数据库的信息展示。如下图所示:

中Weather表字段说明:

字段名

时间

观测点

天气

温度

说明

采集整点时间,如2017-05-26 17:00:00

定义,如“西安-陕西”

气象表.txt定义,如“晴”

当前温度值

类型

日期

字符串

字符串

单位

-

-

-

最低温度 当天最低温度值

平均温度 当天平均温度值

最高温度 当天最高温度值

风向

风力

湿度

降水

风向,如“西北风”

风力值

湿度值

降水量

整数

整数

整数

整数

字符串

-

%

mm

整数

整数

整数

5、打开“数据词典”新建变量“天气温度”。如下图所示:

6、打开编辑画面右击“画面属性”,点击变量选择“天气温度”变量,写入如下表达式,点击确认。如下图所示:(注:添加控件属性时一定要点击控件选择其控件名如“Ctrl0002”)

7、在画面输入文本,关联“天气温度”变量。如下图所示:

8、保存,并点击运行。如下图所示:

附件1:函数参考手册

1、 SHORT GetForecastDay(string Location)

功能:获取未来可预报的天气的天数。

参数:Location:地域名称,此名称应为中列举的地域名称,如“北京-北京”。

返回值:天数

2、 string GetForecastWendu(string Location, SHORT nDay, SHORT bDay);

功能:获取未来某天的日温度或者夜温度。

参数:Location:同上

nDay:当前日期为1,其余往后顺延,取值范围为1—GetForecastDay的返回值

bDay:为1时获取的是白天气温,为0时获取的是夜晚气温。

返回值:字符串表示的数字

3、 string GetForecastXianxiang(string Location, SHORT nDay, SHORT bDay);

功能:获取未来某天的现象(晴,雨,暴雪等)。

参数:同上

返回值:字符串表示的现象。

4、 string GetForecastFengli(string Location, SHORT nDay, SHORT bDay);

功能:获取未来某天的风力。

参数:同上

返回值:字符串表示的风力

5、 string GetForecastFengxiang(string Location, SHORT nDay, SHORT bDay);

功能:获取未来某天的风向。

参数:同上

返回值:字符串表示的风向。

6、 SHORT GetRealTimeWendu(string Location);

功能:获取实时的温度。

参数:同GetForecastDay

返回值:整数表示的温度值。

7、 SHORT GetRealTimeFengli(string Location);

功能:获取实时的风力。

参数:同GetForecastDay

返回值:整数表示的风力。

8、 SHORT GetRealTimeFengxiang(string Location);

功能:获取实时的风向。

参数:同GetForecastDay

返回值:整数表示的风向

//# 处理风向

//# 0:无持续风向

//# 1:北风

//# 2:东北风

//# 3:东风

//# 4:东南风

//# 5:南风

//# 6:西南风

//# 7:西风

//# 8:西北风

9、 SHORT GetRealTimeShidu(string Location);

功能:获取实时的湿度。

参数:同GetForecastDay

返回值:整数表示的湿度

10、 SHORT GetRealTimeShijian(string Location);

功能:获取当前最新温度数据的时间。

参数:同上

返回值:整数表示的整点时间值,单位为“时”。

11、 string GetDateAndWeekDay(SHORT nDay);

功能:获取未来三天天气预报对应的详细日期。

参数: nDay:取值范围1-GetForecastDay()的返回值。当前日为1,2为明天,3为后天。

返回值:字符串表示的日期。

12、 SHORT GetRealTimeQixiang(string Location);

功能:获取实时的气象。

参数:同GetForecastDay

返回值:整数表示的气象。(含义请参看附录气象表.txt)

13、 SHORT GetMaxWendu(string Location);

功能:获取当前日期的最高温。

参数:同GetForecastDay

返回值:整数表示的温度值

14、 SHORT GetMinWendu(string Location);

功能:获取当前日期的最低温。

参数:同GetForecastDay

返回值:整数表示的温度值

15、 SHORT Get24HourFutureWendu(LPCTSTR Location, SHORT nHour);

功能:获取未来24小时内指定整点温度。

参数:

Location:地域名称,此名称应为中列举的地域名称,如“北京-北京”。

nHour:待获取温度的整点时间

返回值:整数表示的温度值

附2:关于控件天气数据存历史库的方法

可由控件提供的方法获取实时和预报的天气数据,将方法的返回值保存在组态王变量中,并配置变量历史记录,从而存储天气信息到组态王历史库中去。

新建变量

开发态数据词典中新建内存整型变量,变量名最好取表征天气信息的名称,切换到“记录与安全区”页,配置变量的历史记录如下图所示:

注:由于天气变化一般不是很剧烈,可采取定时记录的方式,如每一小时记录一次。

附:气象表.txt

0=未知

1=晴

2=多云

3=阴

4=阵雨

5=雷阵雨

6=雷阵雨伴有冰雹

7=雨夹雪

8=小雨

9=中雨

10=大雨

11=暴雨

12=大暴雨

13=特大暴雨

14=阵雪

15=小雪

16=中雪

17=大雪

18=暴雪

19=雾

20=冻雨

21=沙尘暴

22=小雨-中雨

23=中雨-大雨

24=大雨-暴雨

25=暴雨-大暴雨

26=大暴雨-特大暴雨

27=小雪-中雪

28=中雪-大雪

29=大雪-暴雪

30=浮尘

31=扬沙

32=强沙尘暴

33=霾

34=多云间晴

35=阴转多云

36=多云转阴有

37=多云有轻雾

38=多云转阴有轻雾

39=阴天间多云

40=阴天间多云有小雨

41=晴间多云

42=晴间多云,早晨有轻雾

43=多云转晴

44=晴转多云

45=晴转多云,早晨有轻雾

46=多云转晴,有轻雾

47=多云间阴,有轻雾

48=多云转阴有雷阵雨,早晨有轻雾

49=中到大雨


本文标签: 获取 控件 天气 表示