百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 文章教程 > 正文

组态王|通过日历控件选择时间段查询历史报警

xsobi 2024-12-17 17:06 2 浏览

哈喽,你好啊,我是雷工!

这节记录下查询历史报警信息的功能实现。

以下为实 现笔记。

01 效果演示

在日历控件中选择开始日期和结束日期,然后点击【历史报警查询】按钮,在通用控件中展示查询到的报警信息。

02 实现步骤

2.1、组态控件

①添加文本标签,标示开始日期和结束日期,以及作为按钮的历史报警查询;

②添加日历控件,用于选择开始和结束的日期;

③添加通用控件KingAdoDBGridClass,用于展示查询到的报警信息;

2.2、日历控 间

关于标签,日历控件以及按钮的设置和前面《通过选择日期实现历史数据的查询》中有记录,此处不再赘述。

2.3、KingAdoDBGridClass

①插入通用控件

②在控件的灰色部分右击,选择【控件属性】

③首先在数据源界面的浏览处点击,在数据连接属性界面选择报警存储的数据库;

④这里需要在运行状态下,选择好数据库后然后点击右下方的【测试连接】,连接正常的话会弹出【测试连接正常】的提示框。

⑤选择报警表的名称【Alarm】,将报警表需要展示的字段选中然后点击【添加】按钮,添加到右侧框内,在右侧框依次选中字段名称,在标题处修改字段所对应的显示标题,根据显示内容的长短设置字段的宽度,然后点击应用。

⑥Alarm报警表字段说明

字段名称

说明

lOSererName

报警服务器名称

MachineName

工作站名称

TagName

变量名

TagComment

变量描述

GroupName

报警组名

AlarmValue

报警值

AlarmValueDataType

报警值数据类型

LimitValue

限值

LimitValueDataType

限值数据类型

AlarmType

报警类型

Pri

优先级

Quality

质量位

AlarmTime

报警时间

AlarmTimeMs

报警时间毫秒

EventTime

事件时间

EventTimeMs

事件时间毫秒

OperatorName

操作员名

OperatorDomain

操作域

ResumeValue

恢复值

ResumeValueDataType

恢复值数据类型

EventType

事件类型

AlarmText

报警文本

ExtendField1

扩展字段1

ExtendField2

扩展字段2

⑦表格

其他属性的设置可以根据需要设置。

2.4、查询脚本

主要的是查询按钮中脚本的实现:

脚本代码如下:

string temp;

long Ayear;

long Amonth;

long Aday;

 Ayear=OCXControl0003.GetYear();

 Amonth=OCXControl0003.GetMonth();

Aday=OCXControl0003.GetDay();

temp=StrFromInt(Ayear,10);

if(Amonth<10) temp=temp+"/0"+StrFromInt(Amonth,10);

else temp=temp+"/"+StrFromInt(Amonth,10);

if(Aday<10) temp=temp+"/0"+StrFromInt(ADay,10);

else temp=temp+"/"+StrFromInt(ADay,10);

 temp=temp+" 00:00:00";

 long year2;

 long month2;

long day2;

year2=OCXControl0004.GetYear();

 month2=OCXControl0004.GetMonth();

 day2=OCXControl0004.GetDay();

 string endTime;

if(month2<10&&day2<10)

endTime=StrFromInt(year2,10)+"/"+"0"+StrFromInt(month2,10)+"/"+"0"+StrFromInt(day2,10);

 if(month2<10&&day2>=10)

endTime=StrFromInt(year2, 10)+"/"+"0"+StrFromInt(month2, 10)+"/"+StrFromInt(day2,10);

 if(month2>=10&&day2<10)

endTime=StrFromInt(year2,10)+"/"+StrFromInt(month2, 10)+"/"+"0"+StrFromInt(day2,10);

if(month2>=10&&day2>=10)

endTime=StrFromInt(year2,10)+"/"+StrFromInt(month2, 10)+"/"+StrFromInt(day2,10);

endTime=endTime+" 23:59:59";

 //\\local\strDateEnd=endTime;

 string whe;

 //whe="AlarmTime>='"+temp+" 0:0:0' and AlarmTime<='"+endTime+" 23:59:59'";

whe="AlarmTime between #"+temp+"# AND #"+endTime+"# AND GroupName='雷工笔记站' order by AlarmTime asc"; BJCX.Where=whe;

BJCX.FetchData();

BJCX.FetchEnd();


03 后记

关于组态王使用的也不多,有让你见笑的地方欢迎指正。

在查询中发现设置的日期到17号但是查询结果中有18号的内容,也不知道是什么情况,

有时候查询20号的内容查不到,查询19-21号却能显示20号的内容。

可能SQL语句写的不严谨,有知道啥情况的朋友可以告知一下。

更多相关话题和经验欢迎你在留言区或交流群留下你的宝贵经验。

相关推荐

好用的云函数!后端低代码接口开发,零基础编写API接口

前言在开发项目过程中,经常需要用到API接口,实现对数据库的CURD等操作。不管你是专业的PHP开发工程师,还是客户端开发工程师,或者是不懂编程但懂得数据库SQL查询,又或者是完全不太懂技术的人,通过...

快速上手:Windows 平台上 cURL 命令的使用方法

在工作流程中,为了快速验证API接口有效性,团队成员经常转向直接执行cURL命令的方法。这种做法不仅节省时间,而且促进了团队效率的提升。对于使用Windows系统的用户来说,这里有一套详细...

使用 Golang net/http 包:基础入门与实战

简介Go的net/http包是构建HTTP服务的核心库,功能强大且易于使用。它提供了基本的HTTP客户端和服务端支持,可以快速构建RESTAPI、Web应用等服务。本文将介绍ne...

#小白接口# 使用云函数,人人都能编写和发布自己的API接口

你只需编写简单的云函数,就可以实现自己的业务逻辑,发布后就可以生成自己的接口给客户端调用。果创云支持对云函数进行在线接口编程,进入开放平台我的接口-在线接口编程,设计一个新接口,设计和配置好接口参...

极度精神分裂:我家没有墙面开关,但我虚拟出来了一系列开关

本内容来源于@什么值得买APP,观点仅代表作者本人|作者:iN在之前和大家说过,在iN的家里是没有墙面开关的。...

window使用curl命令的注意事项 curl命令用法

cmd-使用curl命令的注意点前言最近在cmd中使用curl命令来测试restapi,发现有不少问题,这里记录一下。在cmd中使用curl命令的注意事项json不能由单引号包括起来json...

Linux 系统curl命令使用详解 linuxctrl

curl是一个强大的命令行工具,用于在Linux系统中进行数据传输。它支持多种协议,包括HTTP、HTTPS、FTP等,用于下载或上传数据,执行Web请求等。curl命令的常见用法和解...

Tornado 入门:初学者指南 tornados

Tornado是一个功能强大的PythonWeb框架和异步网络库。它最初是为了处理实时Web服务中的数千个同时连接而开发的。它独特的Web服务器和框架功能组合使其成为开发高性能Web...

PHP Curl的简单使用 php curl formdata

本文写给刚入PHP坑不久的新手们,作为工具文档,方便用时查阅。CURL是一个非常强大的开源库,它支持很多种协议,例如,HTTP、HTTPS、FTP、TELENT等。日常开发中,我们经常会需要用到cur...

Rust 服务器、服务和应用程序:7 Rust 中的服务器端 Web 应用简介

本章涵盖使用Actix提供静态网页...

我给 Apache 顶级项目提了个 Bug apache顶级项目有哪些

这篇文章记录了给Apache顶级项目-分库分表中间件ShardingSphere提交Bug的历程。说实话,这是一次比较曲折的Bug跟踪之旅。10月28日,我们在GitHub上提...

linux文件下载、服务器交互(curl)

基础环境curl命令描述...

curl简单使用 curl sh

1.curl--help#查看关键字2.curl-A“(添加user-agent<name>SendUser-Agent<name>toserver)”...

常用linux命令:curl 常用linux命令大全

//获取网页内容//不加任何选项使用curl时,默认会发送GET请求来获取内容到标准输出$curlhttp://www.baidu.com//输出<!DOCTYPEh...

三十七,Web渗透提高班之hack the box在线靶场注册及入门知识

一.注册hacktheboxHackTheBox是一个在线平台,允许测试您的渗透技能和代码,并与其他类似兴趣的成员交流想法和方法。它包含一些不断更新的挑战,并且模拟真实场景,其风格更倾向于CT...