组态王应用日历控件的使用

合集下载

组态王6.5使用手册 第14章 控件(共101页 34~73页)

组态王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

组态软件基础及应用第六章报表 系统及日历控件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章控件介绍

组态王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); //将文件内容载入控件函数用法请参考在线帮助或函数速查手册。

(仅供参考)组态王数据查询控件的应用实用

(仅供参考)组态王数据查询控件的应用实用
3、【清除表格】按钮代码 KV.RemoveAllData();
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控件时如何对数据库中的日期类型字段进行查询在组态王中对数据库进行查询主要是利用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为表中的字段名称,字段类型为日期类型。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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.本演示工程只是简单的日历控件使用的例程,更深一步的学习使用请参考相关文档,或者参加组态王培训班。

如有问题请致电亚控公司技术部。

相关文档
最新文档