组态王报警关联数据库并访问数据库呈现
组态王添加控件问题
如果无法添加以下步骤的控件可以参考这篇文章
https://blog.csdn.net/weixin_39433293/article/details/108596850
报警记录数据库关联
Step1:在桌面搜索ODBC数据源,添加数据源alarm
Step2:点击添加
Step3:选择蓝色部分
Step4:建立如图数据源
Step5:账号:sa 密码:*******************
Step6:打开此软件,建立一个数据库
Step7:新建数据库名为 项目号
Step8: 回到Step5,继续点击下一步,选择刚才建立的数据库
Step9:点击完成
Step10:测试连接
Step11:到组态王软件界面选择报警配置,如图配置
Step12:数据库连接,选择数据源
Step13:启动组态王运行,回到sql server软件刷新就可以看到报警记录
报警记录到文件
报警日志数据库查询
// --------------------报警组复选框初始化设置---------
listClear("CtrlSelect");
listAddItem("CtrlSelect","ALL");
// 按照现场的报警组配置增减
listAddItem("CtrlSelect","HT");
listAddItem("CtrlSelect","H1");
listAddItem("CtrlSelect","H2");
listAddItem("CtrlSelect","H3");
// 设置默认选项
listSetCurSel("CtrlSelect",0);
// --------------------起始日期时间的设置-------------
\\本站点\startYear = \\本站点\$年;
\\本站点\startMonth = \\本站点\$月;
\\本站点\startDay = \\本站点\$日;
\\本站点\startHour = 0;
\\本站点\startMinute = 0;
\\本站点\startSec =0;
// --------------------结束日期时间的设置-------------
\\本站点\endYear = \\本站点\$年;
\\本站点\endMonth = \\本站点\$月;
\\本站点\endDay = \\本站点\$日;
\\本站点\endHour = 23;
\\本站点\endMinute = 59;
\\本站点\endSec =59;
// 时间筛选
string start_date;
string start_time;
string end_date;
string end_time;
start_date = Date(\\本站点\startYear, \\本站点\startMonth, \\本站点\startDay);
start_time = Time(\\本站点\startHour, \\本站点\startMinute, \\本站点\startSec);
end_date = Date(\\本站点\endYear, \\本站点\endMonth, \\本站点\endDay);
end_time = Time(\\本站点\endHour, \\本站点\endMinute, \\本站点\endSec);
// 报警组筛选
string Alarm_Group;
// 当前的报警组选择
Alarm_Group = \\本站点\curSelect;
// 查询语句组合
string query;// 总查询语句
string DurationQuery; //不选择报警组的情况下,时间区间查询
DurationQuery = "AlarmDateTime>='" + start_date + " " + start_time + "'" + " AND " +"AlarmDateTime<='" + end_date + " " + end_time + "'" +" order by AlarmDateTime desc";
IF(Alarm_Group== "ALL")
{
query = DurationQuery ;
}
ELSE
{
query ="GroupName LIKE '" + Alarm_Group+ "'" + " AND " + DurationQuery;
}
// 开始查询
AlarmRecord.Where=query;
AlarmRecord.FetchData();
AlarmRecord.FetchEnd();