组态王应用日历控件的使用
组态王6.5使用手册 第14章 控件(共101页 34~73页)
第十四章控件14.2.8 超级文本显示控件组态王提供一个超级文本显示控件,用于显示RTF格式或TXT格式的文本文件,而且也可在超级文本显示控件中输入文本字符串,然后将其保存成指定的文件,调入RTF、TXT格式的文件和保存文件通过超级文本显示控件函数来完成。
14.2.8.1 如何创建超级文本显示控件在画面开发系统的工具箱中选择“插入控件”按钮,或选择菜单“编辑/插入控件”命令,在弹出的如图14.2所示的“创建控件”对话框中,在种类列表中选择“超级文本显示”,在右侧的内容中选择“显示框”图标,单击对话框上的“创建”按钮,或直接双击“显示框”图标,关闭对话框。
此时鼠标变成小“十”字形,在画面上需要插入控件的地方按下鼠标左键,拖动鼠标,画面上出现一个矩形框,表示创建后控件界面的大小。
松开鼠标左键,控件在画面上显示出来。
如图14.32所示。
控件周围有带箭头的小矩形框,鼠标挪到小矩形框上,鼠标箭头变为方向箭头时,按下鼠标左键并拖动,可以改变控件的大小。
当鼠标在控件上变为双“十”字型时,按下鼠标左键并拖动,可以改变控件的位置。
图14.32 创建后的超级文本显示框控件14.2.8.2 如何定义超级文本显示控件的属性控件创建完成后,需要定义空间的属性。
用鼠标双击控件,弹出超级文本显示框控件属性对话框,如图14.33所示。
图14.33 超级文本显示框控件属性对话框超级文本显示框控件属性:◆控件名称:定义控件的名称,一个显示框控件对应一个控件名称,而且是唯一的,不能重复命名,控件的命名应该符合组态王的命名规则。
如“Richtxt1”。
◆访问权限:定义控件的安全级别——访问权限,范围为1~999。
定义了访问权限后,运行时,只有符合该安全级别的用户登录后,才能操作控件,否则,修改不了控件的值。
如100。
属性定义完成后,单击“确认”按钮关闭对话框。
14.2.8.3 如何使用超级文本显示控件超级文本显示框的作用是显示RTF格式或TXT格式的文本文件的内容,或在显示框中输入文本字符串,将其保存为RTF格式或TXT格式的文本文件。
用组态王做日历查询数据报表说明
组态王简单报表组态王目前我们应用的主要有两个版本:6.55和7.5.在2021年后基本应用7.5版本。
下面以先做一个日历控件日报制作简单说明。
准备工作:历史数据报表是从组态王的历史库中查询相关变量的历史数据,并在历史数据报表内显示,因此对历史数据报表要查询的数据必须设置历史记录属性。
在组态王中,离散型、整型和实型变量支持历史记录,字符串型变量不支持历史记录。
组态王的历史记录形式可以分为数据变化记录、定时记录(最小单位为1分钟)和备份记录。
记录形式的定义通过变量属性对话框中提供的选项完成,需要查询到报表的变量都要进行记录设置,完成设置之后在数据词典中定义字符串变量“选择日期”用于日历控件的查询。
准备工作完成后开始设计报表。
一.因为组态王6.55版本自带HTconvertTime的函数,最大时间支持到2019,查函数手册如下所以组态王6.55版本的项目,2020年以后的报表数据无法通过日历控件查询,必须先更新HTconvertTime的函数。
组态王7.5版本的项目,不需要做此工作,6.55版本的项目更新方法如下:1、在命令语言里面,自定义函数命令里面新建一个函数。
2、函数声明里面选择LONG,后面的填NewHTconvertTime(long years,long months,long days,long hours,long minites,long seconds)。
(此名字随便起),填完名字把脚本拷贝粘贴进去。
(看不懂也没关系,粘进去就能用)脚本填写内容为:long rest;rest = 0;long yearsofdays; long monthsofdays; long ofdays;long ofminites; long utcyear;long utcmonth; long leapyears; long leapzt; yearsofdays = 0; monthsofdays = 0;utcyear = 1970;utcmonth = 1;leapyears = 0;while(utcyear < years){ if(utcyear % 4 ==0 && utcyear % 100 !=0 || utcyear % 400 ==0) leapyears = leapyears + 1;utcyear = utcyear + 1;}yearsofdays = (years - 1970) * 365 + leapyears;if (months == 1)if (months == 2)monthsofdays = 31;if (months == 3)monthsofdays = 59;if (months == 4)monthsofdays = 90;if (months == 5)monthsofdays = 120;if (months == 6)monthsofdays = 151;if (months == 7)monthsofdays = 181;if (months == 8)monthsofdays = 212;if (months == 9)monthsofdays = 243;if (months == 10)monthsofdays = 273;if (months == 11)monthsofdays = 304;if (months == 12)monthsofdays = 334;if (years % 4 ==0 && years % 100 !=0 || years % 400 ==0 && months >=3)ofdays = yearsofdays + monthsofdays + days;elseofdays = yearsofdays + monthsofdays + days - 1;if (hours >= 8)ofminites = ofdays * 24 * 60 + (hours - 8) * 60 + minites;if (hours < 8)ofminites = (ofdays - 1) * 24 * 60 + (hours + 16) * 60 + minites;//calculate resultszx;rest = ofminites * 60 + seconds;return rest;3、新建完成之后对于原来2020以前的项目,将以前用到的HTconvertTime函数替换成NewHTconvertTime不要漏掉(组态王7.5版本的项目,不需要做此工作),6.55版本新项目就直接用此函数。
组态软件基础及应用第六章报表 系统及日历控件PPT
6.2 报表函数
(8)ReportSetCellValue2():这个函数属于报表专用函数。将指定的数据赋给指定 报表中的指定区域。使用用格式:
ReportSetCellValue2(“目标表格”,指定开始行号,指定开始列号,指定终止 行号,指定终止列号,赋予的字符串); (9)ReportGetColumns():这个函数属于报表专用函数。获取指定报表的行数。 使用格式: ReportGetColumns(“指定表”) (10)ReportGetRows():这个函数属于报表专用函数。获取指定报表的列数。 使用格式: ReportGetRows(“指定表”)
注意:在插入变量或插入函数时,必须在变量或函数前加“=” 号,否则在运行系统下无法显示变量数据。
6.2 报表函数
组态王中提供了很多报表函数,各种报表函数都有着各自的功能,熟练应这些函 数,将会使在操作报表时方便和快速许多。
1
2 3
6.2.1 报表内部函数
(1)ReportGetCellString():这个函数属于报表专用函数。获取指定报表的指 定单元格的文本,使用格式如下: ReportGetCellString(“报表名”, 指定报表行号, 指定报表列号); (2) ReportGetCellValue ():这个函数属于报表专用函数。获取指定报表 的指定单元格的数值,使用格式如下:
6.4 利用报表历史数据查询函数实现历史数据查询实例
6.4.4 运行系统调试
切换至运行系统后,点击查询按钮,进行时间属性设置及变量选择,如图6-15及 图6-16。
图6.4.15 报表历史查询窗口中时间属性设置
图6.4.16 报表历史查询窗口中变量属性设置
6.4 利用报表历史数据查询函数实现历史数据查询实例
组态王7.5SP1版本第6章控件介绍
第七讲 控 件第一节 控件的作用控件可以作为一个相对独立的程序单位被其他应用程序重复调用。
控件的接口是标准的,凡是满足这些接口条件的控件,包括第三方软件供应商开发的控件,都可以被组态王直接调用。
组态王中提供的控件在外观上类似于组合图素,工程人员只需把它放在画面上,然后配置控件的属性进行相应的函数连接,控件就能完成其复杂的功能。
组态王除了支持本身提供的各种控件外,还支持Windows 标准的Active X 控件,包括Microsoft 提供的标准Active X 控件和用户自制的Active X 控件。
Active X 控件的引入在很大程度上方便了用户,用户可以灵活地编制一个符合自身需要的控件或调用一个已有的标准控件来完成一项复杂的任务,而无须在组态王中做大量的复杂的工作。
一般的Active X 控件都具有属性、方法、事件,用户通过设置控件的这些属性、事件、方法来完成工作。
第二节 超级XY 控件下面利用XY 控件显示原料油液位与原料油罐压力之间的关系曲线,操作过程如下:1、新建一画面,名称为:XY 控件画面。
2、选择工具箱中的工具,在画面上输入文字:XY 控件。
3、单击工具箱中的插入通用控件工具,在弹出的插入控件窗口中双击“KvChatXY ActiveX Control ”,在画面上绘制XY 曲线窗口,如图7-1所示:图7-1 XY曲线控件窗口4、并双击此控件,弹出动画属性设置对话框,如图7-2所示。
图7-2 XY控件属性设置对话框在此窗口中您可对控件的名称(名称设置为:XY)进行设置。
设置完名称,确定,保存画面。
然后选择控件,点击右键,弹出控件属性对话框,您可以对控件的相关属性进行设置。
普通选项卡:设置曲线对应的前景背景颜色,设置字体,标题,图例,边框,如图7-3。
坐标选项卡:定义X轴信息,定义Y轴信息,如图7-4所示。
图7-4 xy轴信息设置曲线选项卡:定义曲线最大点数1024,曲线名称、颜色、线型、标记和Y轴对应设置,如图7-5所示。
组态王日报表例程
组态王日报表的实现例程配置参考文档北京亚控科技发展有限公司技术部目录一、功能概述 (3)一、功能概述 (3)二、工程实例 (3)三、操作步骤: (3)1、定义设备: (3)2、定义变量: (3)3.制作画面: (4)3.1) 创建报表: (4)3.2) 创建日历控件: (6)4.进入运行系统: (12)四、注意事项 (13)图表图一报表 (5)图二报表设计 (5)图三日报表 (6)图四日历控件 (7)图五控件事件函数 (10)图六保存报表 (10)图七打印报表 (11)图八打印报表 (11)图九运行系统 (12)图十打印预览 (13)一、功能概述常规需求:很多工业现场会用到报表功能,而日报是其中最基本的一种报表形式。
日报表一般为每天整点的数据,每一个变量有24个数据。
组态王中的实现方法:利用组态王内置报表以及报表的函数来实现对日数据的查询生成日报表。
组态王内置报表的操作类似excel,操作简单、方便,并且组态王提供了大量的报表函数来实现各种复杂功能。
二、工程实例我们举一个例子来说明日报表的实现方法。
在此例程中我们定义五个变量,分别为“压力”、“温度”、“密度”、“电流”、“电压”,运行系统运行后记录历史数据,查询日报表数据时自动从历史数据中查询整点数据生成报表,并可以保存、打印报表。
下面就以此为例来演示完成这一要求的具体步骤。
三、操作步骤:1、定义设备:根据工程中实际使用得设备进行定义,本例程使用亚控的仿真PLC设备,使用“PLC-亚控-仿真PLC-串口”驱动,定义设备名称为”PLC”。
2、定义变量:在组态王中定义三个变量:压力(IO实数类型)、温度(IO实数类型)、密度(IO实数类型)。
压力变量:最小值0,最大值100,最小原始值0,最大原始值100,连接设备PLC,寄存器INCREA100,数据类型short,读写属性为只读,采集频率1000。
记录和安全区选择“数据变化记录”,变化灵敏度选择“0”。
组态王软件详细教程 第十讲 控件
第十讲控件➢介绍控件的相关知识➢介绍控件的设置及使用控件的作用控件可以作为一个相对独立的程序单位被其他应用程序重复调用。
控件的接口是标准的,凡是满足这些接口条件的控件,包括其他软件供应商开发的控件,都可以被组态王支持。
组态王中提供的控件在外观上类似于组合图素,工程人员只需把它放在画面上,然后配置控件的属性,进行相应的函数连接,控件就能完成复杂的功能。
使用xy控件本节将建立一个画面,利用组态王提供的x-y控件显示成品油液位和成品罐压力之间的关系曲线。
在工程浏览器左侧选中“画面”,在右侧双击“新建”画面,建立名称为“控件”的画面。
在画面中选择菜单“编辑\插入控件”,如下图所示:在对话框右侧单击“x-y轴曲线”,然后单击“创建”按钮;在画面上绘制x-y曲线。
然后在画面上双击该曲线控件,弹出设置对话框,设置属性如下:为使x-y曲线控件实时反应变量值,需要为该控件添加命令语言。
在画面空白处点击鼠标右键,在快捷菜单中选择“画面属性”,弹出“画面属性”对话框。
单击其中的“命令语言”按钮。
画面语言包括“显示时”、“存在时”、“隐含时”三种。
→在画面“存在时”命令语言中,输入命令语言如下图所示:定义完毕后,点击“确认”按钮,然后保存作的设置。
注意两个变量都是可以变化的。
切换画面到运行系统,打开相应画面,控件运行情况如下图所示:使用窗口控件单选按钮控件双击该控件,对控件进行属性配置。
控件名称是唯一标识该控件的一个名称。
变量名称对应一个整型(实型)变量,运行时选择任一个按钮都会使该变量对应一个整数值(0、1、2……)。
可以对该控件设置访问权限。
可以设置按钮个数,修改按钮对应文字。
可以设置排列为横向或纵向。
下拉式列表组合框控件该控件的变量名称为字符串变量,运行时将选中的字符串赋给该变量。
需要用写字板建立一个CSV格式文件(存入工程文件夹下),如下所示:在控件所在画面的“画面命令语言”的“显示时”做命令语言如下:string user; //定义一个局部字符串变量user=InfoAppDir()+"用户名称.csv";listClear("下拉框"); //清除控件内容listLoadList("下拉框",user); //将文件内容载入控件函数用法请参考在线帮助或函数速查手册。
(仅供参考)组态王数据查询控件的应用实用
4、【全部删除】代码 SQLClearTable(DeviceID, "KingTable");
5、【删除 1 月前】数据代码 SQLConnect( DeviceID, "dsn=xhmeiqi;uid=;pwd="); long month=\\本站点\$月-1; long year=\\本站点\$年; long day=\\本站点\$日; string date1; if(month==0) {month=12; year=\\本站点\$年-1;} date1= StrFromInt( year, 10 ); date1=date1+"-"; date1 = date1 + StrFromInt( month, 10 ); date1 = date1 + "-" + StrFromInt( day, 10); string whereexpr="日期='"+date1+"'"; SQLDelete( DeviceID, "KingTable", whereexpr); if(\\本站点\$月==4||\\本站点\$月==6||\\本站点\$月==9||\\本站点\$月==11) { if(\\本站点\$日==30)
说明:xhmeiqi2 为 ODBC 源名称 Kingtable 为数据表格名称 Meiqi 为记录体名称
十一、数据库设计表 注意日期 1 格式为日期/时间(datetime)
十二、数据库连接说明 1、 建立 ACCESS 数据库文件 2、 设置 ODBC 源(xhmeiqi) 3、 组态王应用程序写连接和断开语句 4、 组态王建立表格模板和记录体 5、 组态王开始运行,在数据库文件根据表格模板建立表格 6、 运行时就可以保存数据到数据库 7、 使用历史控件是建立【日期 1】变量,并在数据库中更改为日期时间格式。 8、 使用 SQL 数据库,要在 SQL 先建立数据库文件,然后导入 ACCESS 表格,接着建立数据源
在组态王中使用KVADODBGrid控件时如何对数据库中的日期类型字段进行查询
在组态王中使用KVADODBGrid控件时如何对数据库中的日期类型字段进行查询在组态王中对数据库进行查询主要是利用KVADODBGrid控件来实现的,具体实现方法如下:1)在组态王画面中添加两个日期时间控件即:Microsoft Date and Time Picker Control ,控件名称分别为date1和date2;2)在第一个控件的CLOSEUP事件中输入如下命令语言:long year1;long month1;long day1;year1=;month1=;day1=;string 查询开始时间;if(month1<10&&day1<10){查询开始时间=StrFromInt(year1, 10)+"年"+"0"+StrFromInt(month1, 10)+"月"+"0"+StrFromInt(day1, 10)+"日";}if(month1<10&&day1>=10){查询开始时间=StrFromInt(year1, 10)+"年"+"0"+StrFromInt(month1, 10)+"月"+StrFromInt(day1, 10)+"日";}if(month1>=10&&day1<10){查询开始时间=StrFromInt(year1, 10)+"年"+StrFromInt(month1, 10)+"月"+"0"+StrFromInt(day1, 10)+"日";}if(month1>=10&&day1>=10){查询开始时间=StrFromInt(year1, 10)+"年"+StrFromInt(month1, 10)+"月"+StrFromInt(day1, 10)+"日";}3)在第二个控件的CLOSEUP事件中输入如下命令语言:long year2;long month2;long day2;year2=;month2=;day2=;string 查询结束时间;if(month2<10&&day2<10){查询结束时间=StrFromInt(year2, 10)+"年"+"0"+StrFromInt(month2, 10)+"月"+"0"+StrFromInt(day2, 10)+"日";}if(month2<10&&day2>=10){查询结束时间=StrFromInt(year2, 10)+"年"+"0"+StrFromInt(month2, 10)+"月"+StrFromInt(day2, 10)+"日";}if(month2>=10&&day2<10){查询结束时间=StrFromInt(year2, 10)+"年"+StrFromInt(month2, 10)+"月"+"0"+StrFromInt(day2, 10)+"日";}if(month2>=10&&day2>=10){查询结束时间=StrFromInt(year2, 10)+"年"+StrFromInt(month2, 10)+"月"+StrFromInt(day2, 10)+"日";}4)在画面上添加一按钮,在按钮的弹起时输入如下命令语言:机组1历史报警.Where="AlarmDate>=#"+查询开始时间+"# and AlarmDate<=#"+查询结束时间+"# " etchData();机组1历史报警.FetchEnd();其中:AlarmDate为表中的字段名称,字段类型为日期类型。
组态王数据查询控件的应用实用
C)日期控件语句 long year1; long month1; long day1; year1=date1.Year; month1=date1.Month; day1=date1.Day; string 查询开始时间;
if(month1<10&&day1<10) { 查询开始时间=StrFromInt(year1, 10)+"-"+"0"+StrFromInt(month1, 10)+"-"+"0"+StrFromInt(day1, 10); } if(month1<10&&day1>=10) {
GetDate(\\本站点\huhu1,\\本站点\year,\\本站点\month,\\本站点\day);
if(\\本站点\month<10) \\本站点\months="0"+StrFromInt( \\本站点\month, 10); else \\本站点\months=StrFromInt( \\本站点\month, 10); if(\\本站点\day<10) \\本站点\days="0"+StrFromInt( \\本站点\day, 10); else \\本站点\days=StrFromInt( \\本站点\day, 10);
查询开始时间=StrFromInt(year1, 10)+"-"+"0"+StrFromInt(month1, 10)+"-"+StrFromInt(day1, 10); } if(month1>=10&&day1<10) { 查询开始时间=StrFromInt(year1, 10)+"-"+StrFromInt(month1, 10)+"-"+"0"+StrFromInt(day1, 10); } if(month1>=10&&day1>=10) { 查询开始时间=StrFromInt(year1, 10)+"-"+StrFromInt(month1, 10)+"-"+StrFromInt(day1, 10); }
在组态王中使用KVADODBGrid控件时如何对数据库中的日期类型字段进行查询
if (monthl>=10&&dayl>=10)
{
查 询开始 时 间^StrFromlnt (yearl, 10)+"年/z+StrFromInt (monthl,z/+StrFromInt (dayl, 10) +"口";
}
3)在第二个控件的CLOSEUP事件中输入如下命令语言:
long year2;
在组态王屮使用
在组态王中对数据库进行查询主要是利用KVADODBGrid控件来实现的,具体实现方 法如下:
1)在组态王画面中添加两个日期时间控件即:Microsoft Date and Time Picker Control,控件名称分别为date 1和date2;
2)在第-个控件的CLOSEUP事件中输入如下命令语言:
}
if(month2>=10&&day2>=10)
{
查询结束时间=StrFromInt (year2, 10)+"年/z+StrFromInt (month2, 10)+"月/z+StrFromInt (day2, 10) +"日";
}
4)在画面上添加按钮,在按钮的弹起时输入如下命令语言:
机组1历史报警.Where二"AlarmDate>二#〃+查询开始时间+ "#and AlarmDate<=#z,+查 询结束时间+"# "etchDataO;
}
if (month2<10&&day2>=10)
组态王6.55——日报表
组态王6.55——⽇报表//..............................................................float Ayear;float Amonth;float Aday;long x;long y;long Row;long StartTime;string temp;Ayear=ADate1.Year;Amonth=ADate1.Month;Aday=ADate1.Day;temp=StrFromInt( Ayear, 10 );if(Amonth<10)temp=temp+"-0"+StrFromInt( Amonth, 10 );elsetemp=temp+"-"+StrFromInt( Amonth, 10 );if(Aday<10)temp=temp+"-0"+StrFromInt( Aday, 10 );elsetemp=temp+"-"+StrFromInt( Aday, 10 );\\本站点\选择⽇期=temp;ReportSetCellString2("⽇报表", 5, 1, 28, 10, " "); //清空单元格ReportSetCellString("⽇报表", 3, 2, temp);//填写⽇期//查询数据StartTime=NewHTConvertTime(Ayear,Amonth,Aday,0,0,0);ReportSetHistData("⽇报表", "\\本站点\闸门开度", StartTime, 3600, "B4:B20"); ReportSetHistData("⽇报表", "\\本站点\产⽣⽔位随机数", StartTime, 3600, "C4:C20");//填写时间x=0;while(x<24){row=5+x;y=StartTime+x*3600;temp=StrFromTime( y, 2 );ReportSetCellString("⽇报表", row, 1, temp);x=x+1;}//..........................................................................................long x;//天long t;//时间戳long m1;//⽉处理值long n1;//年处理值//年⽉处理初值n1=year1;m1=month1-2;//年⽉处理if(m1<=0){m1=m1+12;n1=n1-1;}//天数x=int(n1/4) -int( n1/100) + int(n1/400) + int(367*m1/12) + day1 + n1*365 - 719499; //时间戳结果t=x*24*3600+(hour1-8)*3600+minite1*60+second1;//错误处理if(t<0){t=0;}//返回计算值return t;。
组态王应用日历控件的使用
微软日历控件在组态王中的使用配置参考文档北京亚控科技发展有限公司技术部目录一、需求概述 (3)二、操作步骤: (3)1、新建工程: (3)2、定义变量: (3)3.制作画面: (3)3.1) 创建画面: (3)3.2) 控件属性介绍: (3)3.3) 控件使用: (5)4.进入运行系统: (9)三、注意事项 (10)图表图一插入日历控件 (4)图二控件属性 (4)图三控件 (4)图四控件的动画连接属性 (5)图五控件事件函数 (6)图六选择控件属性 (6)图七控件函数CloseUp1() (8)图八控件函数Change1() (9)图九日历控件画面 (9)图十运行系统 (10)一、需求概述常规需求:日期、时间在许多工程中都会用到,如何利用微软提供的标准日历控件来方便的获得日期、时间等?微软提供的标准日历控件“Microsoft Date and Time Picker Control 6.0”可以提供日期、时间两种格式,通过此控件我们可以获得日期、时间、星期。
二、操作步骤:1、新建工程:新建一个工程。
2、定义变量:在组态王中定义7个内存整数变量:年、月、日、时、分、秒、星期,新建2个内存字符串变量:日期、时间。
3.制作画面:3.1) 创建画面:新建画面,画面名称“日历控件”。
点击工具箱的“插入通用控件”,选择“Microsoft Date and Time Picker Control 6.0”,如图一所示:点击“确定”后,鼠标变成十字形。
然后在画面上画一个矩形框,日历控件就放到画面上了。
双击画面的日历控件,为控件命名为:“ADate”。
同样的方法再创建一个日历控件,双击控件为控件命名为“ATime”,选中ATime控件,点击鼠标右键,弹出快捷菜单,选择“控件属性”,弹出控件属性对话框,如图二所示:在通用选项卡中对控件的“格式”进行设置,格式有四种,我们选择“2-dtpTime”,选择完成后我们点击“确定”,ATime控件就由日期变为时间了。
组态王应用——日历控件的使用
微软日历控件在组态王中的使用 配置参考文档 北京亚控科技发展有限公司 技术部 目录 一、需求概述 (3)二、操作步骤: (3)1、新建工程: (3)2、定义变量: (3)3.制作画面: (3)3.1) 创建画面: (3)3.2) 控件属性介绍: (3)3.3) 控件使用: (5)4.进入运行系统: (9)三、注意事项 (10)图表 图一插入日历控件 (4)图二控件属性 (4)图三控件 (4)图四控件的动画连接属性 (5)图五控件事件函数 (6)图六选择控件属性 (6)图七控件函数CloseUp1() (8)图八控件函数Change1() (9)图九日历控件画面 (9)图十运行系统 (10)一、需求概述常规需求:日期、时间在许多工程中都会用到,如何利用微软提供的标准日历控件来方便的获得日期、时间等?微软提供的标准日历控件“Microsoft Date and Time Picker Control 6.0”可以提供日期、时间两种格式,通过此控件我们可以获得日期、时间、星期。
二、操作步骤:1、新建工程: 新建一个工程。
2、定义变量: 在组态王中定义7个内存整数变量:年、月、日、时、分、秒、星期,新建2个内存字符串变量:日期、时间。
3.制作画面: 3.1) 创建画面: 新建画面,画面名称“日历控件”。
点击工具箱的“插入通用控件”,选择“Microsoft Date and Time Picker Control 6.0”,如图一所示:点击“确定”后,鼠标变成十字形。
然后在画面上画一个矩形框,日历控件就放到画面上了。
双击画面的日历控件,为控件命名为:“ADate”。
同样的方法再创建一个日历控件,双击控件为控件命名为“ATime”,选中ATime控件,点击鼠标右键,弹出快捷菜单,选择“控件属性”,弹出控件属性对话框,如图二所示:在通用选项卡中对控件的“格式”进行设置,格式有四种,我们选择“2-dtpTime”,选择完成后我们点击“确定”,ATime控件就由日期变为时间了。
组态王6.5使用手册 第14章 控件(共101页 74~101页)
在相应事件的“关联函数”表格中单击鼠标右键,弹出快捷菜单,如图14.53所示。
查看类型:从列表框中选择查看的类型:控件属性或控件方法。
属性或方法:当选择“查看类型”后,在属性或方法列表中将列出相应类型的列表。如选择控件属性,则在属性或方法列表中列出日历控件的所有属性。如图14.59所示。
图14.58 控件属性和方法对话框
图14.59 日历控件的控件属性
4、在属性列表中选择控件的属性,如“Year”,单击对话框的“确定”按钮,或在列表中直接双击该属性,控件属性和方法列表框自动关闭,控件的属性自动添加到命令语言编辑器中。如图14.60所示。
在字体属性页中定义各个标签的字体及字体颜色。定义完成的图表如下图所示。
4、设置控件名称和函数:在组态王中每一个控件必须要有一个唯一的名称。双击该图表控件,弹出动画连接属性对话框,如下图所示。
常规属性页中,在“控件名”编辑框中输入控件的名称,如“步骤图”。
在事件属性页中定义一个函数:当用户双击该图表时,弹出图表控件的版本信息。双击“DblClick”对应的“关联函数”,弹出控件事件函数对话框,定义函数的名称为“hanshu()”,单击“控件”按钮,在弹出的控件属性和方法对话框中选择“步骤图”的方法“AboutBox”方法。如下图所示。
SaveVideoFrame(STRING lpszPicName)
SaveVideoFrmeToRect(STRING lpszPicName)
步骤图.Data=StrFromReal( \\本站点\实型1, 2, "f" );
在组态王中使用KVADODBGrid控件时如何对数据库中的日期类型字段进行查询
在组态王中使用KVADODBGRID控件进行数据库查询时,能否对查询出来的数据进行修改,同时将数据更新到数据库中?
可以。通过控件的Editable属性来实现,此属性置0不可编辑,置1可编辑,调用格式如下:
数据库查询控件.Editable=0;
查询语句如下所示:
数据库查询控件.Where="ADate >={d'"+\\本站点\开始时间+"'} and ADate <={d'"+\\本站点\结束时间+"'}";
//日期范围查询,其中ADate为数据库中字段的名称,日期型,开始时间和结束时间是组态王数据字典中定义字符串变量。
数据库查询控件.FetchData();
long year2;10)+"月10)+"月10)+"月10)+"月long month2;
long day2;
year2=date
2."Year;
month2=date
2."Month;
day2=date
2."Day;
string查询结束时间;
if(month2<10&&day2<10){查询结束时间=StrFromInt(year2,10)+"年"+"0"+StrFromInt(month2,10)+"月"+"0"+StrFromInt(day2, 10)+"日";}if(month2<10&&day2>=10){查询结束时间=StrFromInt(year2,10)+"年"+"0"+StrFromInt(month2,10)+"月"+StrFromInt(day2, 10)+"日";}if(month2>=10&&day2<10){查询结束时间=StrFromInt(year2,10)+"年"+StrFromInt(month2,10)+"月"+"0"+StrFromInt(day2, 10)+"日";}if(month2>=10&&day2>=10){查询结束时间=StrFromInt(year2,10)+"年"+StrFromInt(month2,10)+"月"+StrFromInt(day2, 10)+"日";}4)在画面上添加一按钮,在按钮的弹起时输入如下命令语言:
组态王日报表例程资料讲解
组态王日报表的实现例程配置参考文档北京亚控科技发展有限公司技术部目录一、功能概述 (3)一、功能概述 (3)二、工程实例 (3)三、操作步骤: (3)1、定义设备: (3)2、定义变量: (3)3.制作画面: (4)3.1) 创建报表: (4)3.2) 创建日历控件: (6)4.进入运行系统: (10)四、注意事项 (11)图表图一报表 (4)图二报表设计 (5)图三日报表 (5)图四日历控件 (6)图五控件事件函数 (8)图六保存报表 (8)图七打印报表 (9)图八打印报表 (9)图九运行系统 (10)图十打印预览 (11)一、功能概述常规需求:很多工业现场会用到报表功能,而日报是其中最基本的一种报表形式。
日报表一般为每天整点的数据,每一个变量有24个数据。
组态王中的实现方法:利用组态王内置报表以及报表的函数来实现对日数据的查询生成日报表。
组态王内置报表的操作类似excel,操作简单、方便,并且组态王提供了大量的报表函数来实现各种复杂功能。
二、工程实例我们举一个例子来说明日报表的实现方法。
在此例程中我们定义五个变量,分别为“压力”、“温度”、“密度”、“电流”、“电压”,运行系统运行后记录历史数据,查询日报表数据时自动从历史数据中查询整点数据生成报表,并可以保存、打印报表。
下面就以此为例来演示完成这一要求的具体步骤。
三、操作步骤:1、定义设备:根据工程中实际使用得设备进行定义,本例程使用亚控的仿真PLC设备,使用“PLC-亚控-仿真PLC-串口”驱动,定义设备名称为”PLC”。
2、定义变量:在组态王中定义三个变量:压力(IO实数类型)、温度(IO实数类型)、密度(IO实数类型)。
压力变量:最小值0,最大值100,最小原始值0,最大原始值100,连接设备PLC,寄存器INCREA100,数据类型short,读写属性为只读,采集频率1000。
记录和安全区选择“数据变化记录”,变化灵敏度选择“0”。
日历控件的使用
4、超级日历控件功能说明:按周或月或日显示任务以条状显示自定义链接和提示信息同服务器跨站点多个任务列表内容汇总自动视图绑定动态提示部件的显示风格:月视图:显示当前月的任务,点击顶部左右箭头按钮可以查看前一月或后一月。
当前日期用红色框标明,有事件的日子底色为淡蓝色,如图表1;点击日期可以进入当日任务详图,如果要回到月视图,可以点击标题中的日期,如图表2。
图表 1图表 2周视图:显示当前星期的任务,点击顶部左右箭头按钮可以查看前一周或后一周视图。
当前日期用红色框标明,有事件的日子底色为淡蓝色如图表1,点击日期可以进入当日任务详图,如果要回到周视图,可以点击标题中的日期,如图表2。
图表 1日视图:显示当天的所有任务,点击顶部左右箭头按钮可以查看前一日或后一日视图。
有事件的日子底色为淡蓝色,点击标题中的月份可以回到该月视图,如果是从周视图进来的则回到所在周视图。
如图表3:图表 3此web部件的使用方法与属性设置:与其他web部件的做法一样,直接将虚拟服务器库中的超级日历控件web部件拖入页面的相应位置。
如下图所示:部件属性说明:日历显示控制1、显示类型:a)按月:显示当前月的所有任务b)按周:显示当前周的所有任务c)按日:显示当天的所有任务2、显示任务条是否显示任务条,不显示任务条可以节省显示空间,有任务的日子显示为淡蓝色,如图:3、显示新建按钮是否显示新建事件的链接,格式为“新建+视图名”。
如果视图内容来自多个文档库则显示多个链接。
如图:4、链接的打开窗口名称:指定视图中,新建事件和事件链接打开的窗口日历内容设置1、开始时间字段名:引用的列表中作为开始时间的字段名称,字段名称即为栏名2、结束时间字段名:引用的列表中作为结束时间的字段名称,字段名称即为栏名3、内容显示格式a)事件在任务条中的显示文字,如图:b)格式为“xxxx[字段名]xxxx”,“字段名”是列表中的字段,“xxx”为任何文字,允许使用多个字段,例如:有一任务开始于2005-7-28,结束于2005-7-29,任务名为“下周交文档”,如果内容显示格式设为“任务:[标题],开始于[开始时间],结束时间[结束时间]”,最终显示为“任务:下周交文档,开始于2005-7-28,结束时间2005-7-29”,如图所示:c)缺省值:[标题]4、链接格式:a)事件在任务条中的显示文字的链接b)缺省值:“[listurl]/DispForm.aspx?ID=[ID]”打开该任务的浏览页面(不适用于文档库类型)c)[listurl] 专用字段,为列表所在链接5、提示内容显示格式:a)事件在任务条中的显示文字的链接的提示信息b)格式为“xxxx[字段名]xxxx”,“字段名”是列表中的字段,“xxx”为任何文字,允许使用多个字段c)缺省值:[标题]6、最大任务数量显示在视图中的最大任务数量,如果任务数量超出了数量最大值,将只显示距当前日期最近的时间范围内的任务7、每天最大任务显示行数,缺省值为10条a) 任务条在一天中最多显示的行数b)如果当天最多显示的行数不足以显示所有任务则,在还有未显示出来的日期下显示“…”链接,鼠标移上去,可以看到未显示出来的任务信息,如图:a)本参数对日视图不起作用8、指定列表名称a)指定部件的内容源是由起始站点url和最大深度设置的范围内的所有以该名称命名的所有列表b)多个名称可以用“;”分开c)可指定以某名称命名的列表根据某视图的筛选条件进行内容筛选,格式为“列表名称[视图名]”,也可以对一个列表指定多个视图,格式为“列表名称[视图1名] [视图2名] [视图3名]”,例如:“任务[我的任务] [没有完成的任务]”2、起始站点url, 空为当前站点,多目标时用“;”分割a)指定本部件的内容源所在的站点例如:http://10.3.52.104/sites/sntinfo,部件从查找指定站点及其子站所有满足最大深度及指定列表名称的列表b)指定本部件的内容源所在的列表,格式为:“站点路径#列表名称”,例如:”http://10.3.52.104/sites/sntinfo#任务”c)指定本部件的内容源所在的列表,且以指定视图的筛选条件筛选,格式为:“站点路径#列表名称[视图名]”例如:”http://10.3.52.104/sites/sntinfo#任务[我的任务] [没有完成的任务]”d)多个内容源可以用“;”分开,例如:”http://10.3.52.104/sites/sntinfo#任务[我的任务][没有完成的任务]; http://10.3.52.104/sites/sntinfo#事件; http://10.3.52.104/sites/lad”e)路径支持门户中使用的宏替换,如:i._EX_THISSITE_ii._EX_ROOTSITE_iii._EX_HOSTNAME_3、最大深度a)控制从指定站点查找子站点的最大深度b)缺省值为0。
组态王日报表制作
组态王日报表制作步骤一、定义设备二、定义变量三、制作画面3.1添加画面3.2添加文本与报表3.3添加日历控件并在事件中编辑closeup插入通过控件,如图所示:选择后画到画面上,双击控件,在“常规”选项卡中为控件命名为“ADate”,点击“确定”,保存画面。
再次双击日历控件,选择“事件”选项卡,点击在“事件”选项卡中点击CloseUp事件,弹出控件事件函数编辑窗口,在函数声明中为此函数命名:CloseUp()在编辑窗口中编写脚本程序,在编写脚本程序之前在数据词典中定义字符串变量“选择日期”双击日历控件设置属性如下图程序如下:float Ayear;float Amonth;float Aday;long x;long y;long Row;long StartTime;string temp; Ayear=ADate.Year; Amonth=ADate.Month; Aday=ADate.Day;temp=StrFromInt( Ayear, 10 );if(Amonth<10)temp=temp+"-0"+StrFromInt(Amonth,10);elsetemp=temp+"-"+StrFromInt(Amonth,10);if(Aday<10)temp=temp+"-0"+StrFromInt(Aday,10);elsetemp=temp+"-"+StrFromInt(Aday,10);\\本站点\选择日期=temp;ReportSetCellString2("Report1",4,1,27,6,"");//清空单元格ReportSetCellString("Report1",2,2,temp);//填写日期StartTime=HTConvertTime(Ayear,Amonth,Aday,0,0,0);ReportSetHistData("Report1","\\本站点\IO实数1",StartTime,3600,"B4:B27");//ReportSetHistData("Report1","\\本站点\压力",StartTime,3600,"B4:B27");ReportSetHistData("Report1","\\本站点\温度",StartTime,3600,"C4:C27");ReportSetHistData("Report1","\\本站点\密度",StartTime,3600,"D4:D27");ReportSetHistData("Report1","\\本站点\电流",StartTime,3600,"E4:E27");ReportSetHistData("Report1","\\本站点\电压",StartTime,3600,"F4:F27");x=0;while(x<24){row=4+x;y=StartTime+x*3600;temp=StrFromTime(y,2);ReportSetCellString("Report1",row,1,temp);x=x+1;}添加选择日期变量如下图所示3.4添加打印和保存保存的程序如下:string filename;filename=InfoAppDir()+\\本站点\选择日期+".xls"; ReportSaveAs("Report0",filename);打印预览的程序如下ReportPrintSetup("Report0");详细设置请查看保存和打印文档四、进入运行系统运行系统结果如下图所示:。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
微软日历控件在组态王中的使用
配置参考文档
北京亚控科技发展有限公司
技术部
目录
一、需求概述 (3)
二、操作步骤: (3)
1、新建工程: (3)
2、定义变量: (3)
3.制作画面: (3)
3.1) 创建画面: (3)
3.2) 控件属性介绍: (3)
3.3) 控件使用: (5)
4.进入运行系统: (9)
三、注意事项 (10)
图表
图一插入日历控件 (4)
图二控件属性 (4)
图三控件 (4)
图四控件的动画连接属性 (5)
图五控件事件函数 (6)
图六选择控件属性 (6)
图七控件函数CloseUp1() (8)
图八控件函数Change1() (9)
图九日历控件画面 (9)
图十运行系统 (10)
一、需求概述
常规需求:日期、时间在许多工程中都会用到,如何利用微软提供的标准日历控件来方便的获得日期、时间等?
微软提供的标准日历控件“Microsoft Date and Time Picker Control 6.0”可以提供日期、时间两种格式,通过此控件我们可以获得日期、时间、星期。
二、操作步骤:
1、新建工程:
新建一个工程。
2、定义变量:
在组态王中定义7个内存整数变量:年、月、日、时、分、秒、星期,新建2个内存字符串变量:日期、时间。
3.制作画面:
3.1) 创建画面:
新建画面,画面名称“日历控件”。
点击工具箱的“插入通用控件”,选择“Microsoft Date and Time Picker Control 6.0”,如图一所示:点击“确定”后,鼠标变成十字形。
然后在画面上画一个矩形框,日历控件就放到画面上了。
双击画面的日历控件,为控件命名为:“ADate”。
同样的方法再创建一个日历控件,双击控件为控件命名为“ATime”,选中ATime控件,点击鼠标右键,弹出快捷菜单,选择“控件属性”,弹出控件属性对话框,如图二所示:在通用选项卡中对控件的“格式”进行设置,格式有四种,我们选择“2-dtpTime”,选择完成后我们点击“确定”,ATime控件就由日期变为时间了。
如图三所示:
3.2) 控件属性介绍:
主要使用到的是控件的几个属性和事件:
属性:Day、Month、Year 、DayOfWeek、Hour、Minute、Second、Enabled
事件:Change()、CloseUp()
Change()事件主要在选择时间的时候使用。
CloseUp()事件主要在选择日期的时候使用。
Enabled属性控制此控件是否允许被使用。
图一插入日历控件
图二控件属性
图三控件
3.3) 控件使用:
双击“ADate”控件,弹出动画连接属性,选择“事件”选项卡,如图四所示:双击“CloseUp”事件的关联函数,弹出控件事件函数编辑框,如图五所示:在函数声明处为函数命名,如“CloseUp1()”,在命令语言编辑框中编写脚本程序对选择的日期进行处理,点击编辑窗口下方的“控件”按钮,弹出“控件属性和方法”对话框,在“控件名称”处选择我们的日历控件,名称为“ADate”,在“查看类型”处选择“控件属性”,在“属性或方法”项中选择“Year”,如图六所示:点击“确定”,可以将选择的属性添加到编辑框中。
根据此方法,在控件的事件编辑框中编写脚本程序如图七所示。
图四控件的动画连接属性
图五控件事件函数
图六选择控件属性
脚本程序:
string temp;
\\本站点\年=ADate.Year;
\\本站点\月=ADate.Month;
\\本站点\日=ADate.Day;
\\本站点\周=ADate.DayOfWeek;
temp=StrFromInt( \\本站点\年, 10 );
if(\\本站点\月<10)
temp=temp+"-0"+StrFromInt( \\本站点\月, 10 ); else
temp=temp+"-"+StrFromInt( \\本站点\月, 10 ); if(\\本站点\日<10)
temp=temp+"-0"+StrFromInt( \\本站点\日, 10 ); else
temp=temp+"-"+StrFromInt( \\本站点\日, 10 ); \\本站点\日期=temp;
if(\\本站点\周==1)
\\本站点\星期="星期日";
if(\\本站点\周==2)
\\本站点\星期="星期一";
if(\\本站点\周==3)
\\本站点\星期="星期二";
if(\\本站点\周==4)
\\本站点\星期="星期三";
if(\\本站点\周==5)
\\本站点\星期="星期四";
if(\\本站点\周==6)
\\本站点\星期="星期五";
if(\\本站点\周==7)
\\本站点\星期="星期六";
图七控件函数CloseUp1()
双击“ATime”控件,弹出动画连接属性,选择“事件”选项卡,如图四所示:双击“Change”事件的关联函数,弹出控件事件函数编辑框,如图五所示:在函数声明处为函数命名,如“Change1()”,在命令语言编辑框中编写脚本程序对选择的时间进行处理,如图八所示:脚本程序如下:
string temp;
\\本站点\时=ATime.Hour;
\\本站点\分=ATime.Minute;
\\本站点\秒=ATime.Second;
if(\\本站点\时<10)
temp=StrFromInt( \\本站点\时, 10 );
else
temp="0"+StrFromInt( \\本站点\时, 10 );
if(\\本站点\分<10)
temp=temp+":0"+StrFromInt( \\本站点\分, 10 );
else
temp=temp+":"+StrFromInt( \\本站点\分, 10 );
if(\\本站点\秒<10)
temp=temp+":0"+StrFromInt( \\本站点\秒, 10 );
else
temp=temp+":"+StrFromInt( \\本站点\秒, 10 );
\\本站点\时间=temp;
图八控件函数Change1()
制作画面如图九所示:动画连接分别连接对应的变量。
图九日历控件画面
保存画面。
画面制作完成。
4. 进入运行系统:
画面开发完成点击工程浏览器的“View”按钮切换到运行系统。
运行画面如图十所示:
图十运行系统
此控件可以在组态王中灵活使用,例如在报警查询、报表查询、历史数据查询等等场合,与报警、报表等的结合使用请参考相关文档或者组态王手册。
此控件的其他属性请参考微软的相关文档或者咨询微软公司。
三、注意事项
1.此控件的使用需要结合具体功能实现。
2.此控件无法在WEB上进行发布。
3.本演示工程只是简单的日历控件使用的例程,更深一步的学习使用请参考相关文档,或者参加组态王培训班。
如有问题请致电亚控公司技术部。