搜档网
当前位置:搜档网 › 组态王 历史数据查询例程说明文档

组态王 历史数据查询例程说明文档

组态王 历史数据查询例程说明文档
组态王 历史数据查询例程说明文档

例程说明文档

目录

1. 功能概述 (1)

2. 工程实例 (1)

3. 操作步骤 (1)

3.1 定义设备 (1)

3.2 定义变量 (1)

3.3 制作画面 (2)

3.4 进入运行系统 (10)

4. 注意事项 (14)

1. 功能概述

常规需求:很多工业现场会存储数据并对存储的历史数据进行查询、打印输出。

历史数据查询一般为起始时间、结束时间、间隔时间都不固定,最终用户根据实际需要进行查询。

组态王中的实现方法:

利用组态王内置报表以及报表的函数来实现对历史数据的查询。

组态王内置报表的操作类似excel,操作简单、方便,并且组态王提供了大量的报表函数来实现各种复杂功能。

2. 工程实例

我们举一个例子来说明实现方法。在此例程中我们定义五个变量,分别为“压力”、“温度”、“密度”、“电流”、“电压”,运行系统运行后记录历史数据,下面就以此为例来演示完成这一要求的具体步骤。

3. 操作步骤

3.1定义设备

根据工程中实际使用得设备进行定义,本例程使用亚控的仿真PLC设备,使用“PLC -亚控-仿真PLC-串口”驱动,定义设备名称为“PLC”。

3.2定义变量

在组态王中定义五个变量:压力(IO实数类型)、温度(IO实数类型)、密度(IO 实数类型)、电压(IO实数类型)、电流(IO实数类型)。

压力变量:最小值0,最大值100,最小原始值0,最大原始值100,连接设备PLC,寄存器INCREA100,数据类型short,读写属性为只读,采集频率1000。记录和安全区选择“数据变化记录”,变化灵敏度选择“0”。

温度变量:最小值0,最大值50,最小原始值0,最大原始值100,连接设备PLC,

寄存器DECREA100,数据类型short,读写属性为只读,采集频率1000。记录和安全区选择“数据变化记录”,变化灵敏度选择“0”。

密度变量:最小值0,最大值1,最小原始值0,最大原始值100,连接设备PLC,寄存器INCREA100,数据类型short,读写属性为只读,采集频率1000。记录和安全区选择“数据变化记录”,变化灵敏度选择“0”。

电流变量:最小值30,最大值50,最小原始值0,最大原始值100,初始值为30,连接设备PLC,寄存器DECREA100,数据类型short,读写属性为只读,采集频率1000。记录和安全区选择“数据变化记录”,变化灵敏度选择“0”。

电压变量:最小值180,最大值250,最小原始值0,最大原始值100,初始值220,连接设备PLC,寄存器DECREA100,数据类型short,读写属性为只读,采集频率1000。记录和安全区选择“数据变化记录”,变化灵敏度选择“0”。

3.3制作画面

3.3.1创建报表

新建画面,画面名称“历史数据查询”。在组态王工具箱按钮中,用鼠标左键单击“报表窗口”按钮,此时,鼠标箭头变为小“+”字形,在画面上需要加入报表的位置按下鼠标左键,并拖动,画出一个矩形,松开鼠标键,报表窗口创建成功,如图一所示。

图一报表

用鼠标双击报表窗口的灰色部分(表格单元格区域外没有单元格的部分),弹出“报表设计”对话框,如图二所示。该对话框主要设置报表的名称、报表表格的行列数目以及选择套用表格的样式。我们设置报表名称为“Report0”,行数、列数可以按照默认的

不变。

我们根据需要对报表的格式进行设置,如报表的表头,标题等。我们选中单元格A1

到E1,点击右键弹出快捷菜单,选择“合并单元格”,单元格合并后我们填写标题,如“历史数据查询”,点击右键在快捷菜单中选择“设置单元格格式”,设置字体、对齐方式、等。如图三所示:

图三历史数据报表

3.3.2命令语言

制作按钮:在组态王工具箱中我们选择按钮,此时鼠标光标变为“+”字形,按下鼠标左键并拖动,画出矩形按钮。按钮的大小根据需要进行调整。选中按钮,点击右键,弹出快捷菜单,选择“字符串替换”,如图四所示:弹出“按钮属性”,将按钮文本的“文本”字符串改为“历史数据查询”。如图五、图六所示。点击“确定”完成对按钮文本的修改。

命令语言:实现历史数据的查询我们需要使用组态王的报表函数来实现,报表函数为:ReportSetHistData2(),此函数的介绍如下:

ReportSetHistData2(StartRow,StartCol);

参数说明:

StartRow:查询的数据在报表中填充的起始行数。

StartCol:查询的数据在报表中填充的起始列数。

此函数为报表专用函数。查询历史数据,使用该函数,只要设置查询的数据在报表中填充的起始位置,即输入起始行数(StartRow)、列数(StartCol)。系统会自动弹出历史数据查询对话框。

双击“历史数据查询”按钮,弹出按钮的“动画连接”,如下图七所示,点击“命令语言连接”的“弹起时”,编写脚本程序。

图四快捷菜单

图五按钮属性

图六按钮属性

图七动画连接

在命令语言编辑框中,我们选择“全部函数”,找到需要的ReportSetHistData2函数,如图八所示:点击“确定”,函数的参数设置为StartRow:2,StartCol:1,脚本程序如下:

ReportSetHistData2(2,1);

参考图九所示:点击“确认”完成按钮命令语言的编写。

图八选择函数

图九命令语言

按照上面的步骤实现报表的“打印”功能。

打印函数为:ReportPrintSetup(szRptName);

语法格式使用如下:

ReportPrintSetup(szRptName);

参数说明:

szRptName:要打印预览的报表名称

添加一个新的按钮,通过“字符串替换”将“文本”修改为“打印”,双击“打印”按钮,弹出“动画连接”,点击“命令语言连接”的“弹起时”,编写报表打印的脚本程序。如图十所示:脚本程序如下:

ReportPrintSetup("Report0");

完成按钮命令语言的编写后,保存画面。画面如下图十一所示:

图十一历史数据查询画面

3.4进入运行系统

画面开发完成后在工程浏览器的“系统设置”中的“设置运行系统”中对“配置主画面”选项卡进行主画面的配置,设置“历史数据查询”画面为主画面。配置完成后点击工程浏览器的“View”按钮切换到运行系统。

系统运行后会将主画面打开,运行一段时间,记录一段时间的历史数据,然后我们点击“历史数据查询”按钮,弹出历史数据查询选择对话框,如图十二所示:在报表属性设置中报表名称为我们定义的报表的名称,起始行、起始列为报表函数中设置的起始行、起始列。排列属性、列属性等根据需要进行设置。时间属性选项卡如图十三所示:选择起始时间、终止时间、间隔时间。变量属性选项卡如图十四所示:选择要查询历史数据的变量。设置完成后点击“确定”,弹出设置报表中变量顺序的对话框,如图十五所示,我们可以通过此项对变量的顺序进行调整,设置完成后点击“确定”,得到我们

要求的历史数据,如图十六所示:

图十二报表属性

图十三时间属性

图十四变量属性

图十五变量顺序设置

图十六历史数据查询

点击“打印”按钮,可以对报表进行打印输出,并且可以进行报表的打印预览,如

图十七所示:可以对页面进行设置也可以直接打印输出。

图十七报表打印

4. 注意事项

1)在此例程中所用到的函数请参考相关函数使用手册或者组态王软件帮助。

2)查询历史数据的前提是必须在运行过程中保存了历史数据,否则查询不到历史数

据。

组态王软件详细教程 第九讲 数据库

第九讲组态王与Access数据库连接 组态王SQL访问功能实现组态王和其他外部数据库(支持ODBC访问接口)之间的数据传输。它包括组态王的SQL访问管理器和SQL函数。 以Ms Access数据库为例,下面说明组态王与其相连的例子。 SQL访问管理器 SQL访问管理器用来建立数据库列和组态王变量之间的联系。包括表格模板和记录体两部分功能。通过表格模板在数据库表中建立表格;通过记录体建立数据库表格列和组态王之间的联系,允许组态王通过记录体直接操作数据库中的数据。表格模板和记录体都是在工程浏览器中建立的。 创建表格模板 在工程浏览器中左侧工程目录显示区中选择“SQL访问管理器”下的“表格模板”项,在右侧目录内容显示区中双击“新建”,弹出“创建表格模板对话框”,如下图。

在表格模板中建立五个记录,字段名称,变量类型,变量长度,索引类型分别如上图所示。 建立表格模板的目的在于定义一种格式,在后面用到是SQLCreatTable()以次格式在Access数据库中建立表格。 创建记录体 在工程浏览器左侧的工程目录显示区中选择SQL访问管理器下的记录体,在右侧的目录内容显示区中双击“新建”,弹出“创建表格模板对话框”,如下图。

记录体定义了组态王变量$日期、$时间、原料油液位、催化剂液位、成品油液位和Access 数据库表格中相应字段日期、时间、原料油液位值、催化剂液位值、成品油液位值之间的对应连接关系。(注意:记录体中的 字段名称和顺序必须与表格模板中的字段名称和顺序必须保持一致,记录体中的字段对应的变量的数据类型必须和表格模板中相同字段对应的数据类型相同。) 建立Ms Access数据库 1.建立一空Access文件,定名为mydb.mdb. 2.定义数据源 双击控制面板下的“ODBC数据源(32位)”选项,弹出“ODBC数据源管理器”对话框, 选择“用户DSN”属性页,并单击添加”按钮。 在弹出的“创建新数据源”对话框中,选择“Mirosoft Access Driver” 单击“完成”按钮。 弹出“ODBC Microsoft Access安装”对话框:

超级XY曲线控件例程说明文档

超级XY曲线控件 例程说明文档 北京亚控科技发展有限公司 2009年6月

目录 1. 功能概述 (1) 2. 工程实例 (1) 3. 操作步骤 (1) 3.1 定义设备 (1) 3.2 定义变量 (1) 3.3 制作画面 (2) 3.4 功能实现说明 (10) 3.5 进入运行系统 (12) 4. 注意事项 (14)

1. 功能概述 常规需求:很多工业现场会用到XY曲线,也就是X轴非时间轴的情况。 组态王中的实现方法: 1)利用组态王内置控件中的X-Y轴曲线,通过调用此控件的函数来实现。 2)利用组态王通用控件中的超级XY曲线,通过调用此控件的属性、方法来实现。 超级XY曲线相对于X-Y轴曲线功能更加强大,使用更方便。其主要优势在于提供了更加灵活方便的控件方法来实现更多的功能,Y轴支持多个坐标,最多可以支持16条曲线,曲线可以保存、调用等,所有的功能都提供了相应的控件方法,可以根据需要灵活的在各种命令语言脚本程序中进行调用。 2. 工程实例 我们举一个例子来说明超级XY曲线控件的使用。在此例程中我们定义三个变量,分别为“压力”、“温度”、“密度”,通过XY曲线来观察压力、温度对于密度的影响。下面就以此为例来演示完成这一要求的具体步骤。 3. 操作步骤 3.1定义设备 新建一个工程,根据工程中实际使用的设备进行定义,本例程使用亚控的仿真PLC 设备,使用“PLC-亚控-仿真PLC-串口”驱动,定义设备名称为“PLC”。 3.2定义变量 在组态王中定义三个变量:压力(IO实数类型)、温度(IO实数类型)、密度(IO 实数类型)。压力变量:最小值0,最大值100,最小原始值0,最大原始值100,连接设备PLC,寄存器INCREA100,数据类型short,读写属性为只读,采集频率1000。 温度变量:最小值0,最大值50,最小原始值0,最大原始值100,连接设备PLC,寄存器DECREA100,数据类型short,读写属性为只读,采集频率1000。 密度变量:最小值0,最大值1,最小原始值0,最大原始值100,连接设备PLC,寄存器INCREA100,数据类型short,读写属性为只读,采集频率1000。

组态王与数据库连接

首先,安装SQL server,和组态王。 1.将采集到的数据需要存入数据库的先编辑到记录体。 a.记录体名可以按照存储变量来设定,与存入数据库表格名称可以不一样(建议设置 一样)。 b.字段名称不需要和变量名称一致,设置简单明了的标示名称即可,但是必须要和存 入数据库表格名称一致。 c.记录体变量顺序必须和存入数据库表格顺序一致,否则数据不能插入表格。 d.时间:建议可新建一个内存字符串,并在命令语言内如图定义。 2.新建数据库以及数据库表格。 新建数据库:名称可随意设置(如:ceshi) 新建数据库表格: 列名:必须和记录体内字段名称一致(在报表调用时名称可以修改)。 数据类型:和存入的数据类型要一致,时间varchar模拟量float 开关量bit

长度:根据数据类型自动设置。 保存表格时输入表格名称即可。(名称尽量和记录体一致,操作起来方便一些)

3.创建数据源(ODBC) 依次打开控制面板→管理工具→数据源(ODBC) →系统DSN 步骤(只是需要修改的,其他都默认): a.添加→选择新数据源SQL sever(下拉最后一个)→完成 b.名称可随意设置,(建议和数据库名称一样,如:ceshi),描述可以省略,服务器: (local) c.使用用户输入登录ID和密码的SQLserver 验证。登录ID:sa,密码:安装数据库时 设置的密码(如,admin)。 d.更改默认的数据库,选择刚刚新建的数据库(如ceshi),创建完成。 4.连接组态和数据库插入数据 a.在组态王数据词典中新建内存整形变量DeviceID b.应用程序命令语言启动时: SQLConnect( DeviceID, "dsn=数据源名称;uid=sa(登录ID);pwd=admin(密码)"); 该命令语言是组态王连接上数据。 c.SQLInsert( DeviceID, "记录体名称", "数据库表格名称" ); 该命令语言是将记录体数据插入数据库表格内,可根据不同需求设定不同是采集频率。(如图,为一分钟采集一次;) 注:如果采集时间为十分钟可以建内存实数,让新建变量等于10分钟,并在命令语言中实现。 报表功能下期再见。

打地鼠程序说明文档

打地鼠程序说明文档 项目是一款打地鼠的游戏,程序用到了延时函数、LED、电阻屏、按键灯功能,这些功能的初始化例程里面都有,我们可以直接调用来完成初始化。 完成了初始化就开始程序的主干了,既然我们用到了电阻屏,肯定就需要对它进行校准,校准函数在触摸屏例程也有,我们可以通过KEY0按键直接调用校准函数,用来防止触摸屏不准。 然后我们先进行的是界面显示,先通过图片取模软件取出一个背景图,注意取模的时候由于例程显示那里标注了,在液晶上画图(仅支持:从左到右,从上到下 or 从上到下,从左到右的扫描方式!),图片数据(必须包含图片信息头, 4096色/16位真彩色/18位真彩色/24位真彩色/32位真彩色的图像数据头),针对STM32,不能选择image2lcd的"高位在前(MSB First)"选项,否则imginfo的数据将不正确!我们按照标注选择了16位真彩色的取模方式,通过PS将图片改为屏幕合适尺寸,就可以在屏幕上显示出背景了。将前20行用来显示分数,等级,生命属性,他们通过字符串和数字变量的显示函数来实现,后面300行做成3*3的地鼠洞,地鼠洞通过例程里面的画实心圆来表示,用一个for来遍历每个圆心坐标,让代码简介,在用个随机数函数产生0-8的数字来代表老鼠出现的位置,然后通过同样的方法取出老鼠的图片,根据洞圆心的坐标,找到老鼠显示的坐标显示出老鼠,这里背景是指显示一次的,老鼠变换一次刷新一次屏幕,

刷新就只用刷新你目前的状态,洞的显示和老鼠的位置,让洞把老鼠覆盖就可以不用刷新背景了。再游戏结束之后再重新刷新背景显示游戏结束和继续就好了。 显示完成了接下来就是触摸,由于它的例程里面自带触摸函数,可以直接调用来返回当前的x,y坐标,这样触摸就很容易了key_9=(tp_dev.x[0]+1)/80+3*(tp_dev.y[0]+1-20)/100; 用以上这段代码就可以识别出触摸的是之前分的3*3的那个位置,返回的1-9,然后再和老鼠对应的坐标进行判断就可以知道打对与否,对就加分,分到就升级,升级了就提高地鼠刷新次数,错就减分,减生命,分为0时就不减了,生命为0就游戏结束。还有不管对错,只要点击了屏幕地鼠的持续时间就会减短,马上刷新下一只地鼠。就不用多余的等待。

组态王与ACCESS数据库的数据交换的例子

组态王与ACCESS数据库的数据交换 ——以中山创污水处理为例 一、创建表格模板和记录体。 在组态王工程浏览器中的SQL访问管理器点击表格模板。在右侧目录内容中双击“新建”创建一个名称为“1”且字段为“工号”“日期”“时间”“酸”“碱”“混凝剂”“还原剂”“氯化钙”“PAM正”“PAM负”的表格。注意:当编辑字段名称时,应与新建组态王变量一样(最好不要用字符),不含非法字符,如:“+”“-”“=”“#”等。此表格格式决定了ACCESS数据库的表格格式。 同样在SQL管理器中点击记录体,在右侧目录内容中双击“新建”,创建一个名称为“1”的记录体。其字段名称与表格模板中的字段相对应。组态王变量是连接的组态王内部变量。编辑字段名称的规则与编辑表格模板一样。 二、建立MS ACCESS数据库。 1.建一个空的ACCESS数据库,定名为20,保存在D:\29所污水处理工程。 2.定义数据源 双击控制面板下的“ODBC数据源(32位)”选项,弹出“ODBC数据源管理器” 对话框。 选择“用户DSN”属性页,并单击“添加”按钮。 在弹出的“创建新数据源”对话框中,选择“Mirosoft Access Driver”单击“完成”按钮。 弹出“ODBC Microsoft Access安装”对话框,定义数据源名为“20” 单击“选择”按钮,从中选择路径D:\29所污水处理工程\20.MDB 单击“确定”按钮,完成对数据源的配置。

三、组态王开发界面的组态 在组态王开发系统中创建如下画面: 其中表格为KV ADODBGrid CLASS控件。 四、对数据库的操作。 点保存弹出对话框。在“确定”按钮的动画连接向导的“弹起时”输入命令语言 SQLConnect( \\本站点\ID, "dsn=20;DATABASE=20;uid=;pwd="); //连接名称为“20”,数据源名称为“20”的数据库。 SQLCreateTable( \\本站点\ID, "10", "1" ); //在数据库“20”内创建名称为“10”的表格,表格模板名称为“1”表格模板在组态王中已编辑。 SQLInsert( \\本站点\ID, "10", "1" ); //在名称为“10”的表格内插入名称为“1”的记录体。记录体在组态王中已编辑。 ClosePicture("手动确定"); //关闭“手动确定”画面。 数据库中的被记录变量必须要先被当前组态画面显示后才能在数据库中记录下来。(本工程中要记录的变量已经在KV ADODBGrid CLASS控件上方显示过了,即褐色的部分,显示后再点击“保存”按钮,进入保存对话框,点击“确定”按钮,数据才能进入数据库。 五:进入组态王运行状态,点击保存弹出对话框,点击“确定”按钮;将会自动在Microsoft Access 中生成名字为“10”的数据库表格;

组态王使用说明

皖西学院 监控组态软件实验指导书 机械与电子工程学院 电气工程教研室 2013.3

实验一监控组态工程建立与工艺流程图绘制 一、实验目的 熟练掌握工控组态软件的绘图工具 二、实验内容 熟悉工控组态软件的绘图工具,完成反应工段工艺流程绘制以及外部设备和变量的定义。 三、实验步骤 1.1创建工程 在工程管理器中选择菜单“文件/新建工程”,或者点击工具栏的“新建”按钮,根据“新建工程向导”对话框完成工程创建,如图一所示 图一工程管理器 1.2 组态画面 双击工程管理器中的工程,打开工程浏览器,在工程浏览器中左侧的“工程目录显示区”中选择“画面”,在右侧视图中双击“新建”,弹出新建画面对话框如图一所示。

图二画面属性设置 点击图二确定按钮后,在工具箱和图库中选中相应图素进行监控画面组态,绘制工艺流程图如图三所示。 图三反应车间监控画面 1.3定义设备 根据工程中实际使用得设备进行定义,本例程使用亚控的仿真PLC设备,使用“PLC-亚控-仿真PLC-串口”驱动,定义设备名称为“PLC”。

1.4定义变量 在组态王中定义三个变量:原料油液位(IO实数类型)、成品油液位(IO实数类型)、催化剂液位(IO实数类型)。 原料油液位变量:最小值0,最大值100,最小原始值0,最大原始值100,连接设备PLC,寄存器DECREA100,数据类型short,读写属性为只读,采集频率1000。记录和安全区选择“数据变化记录”,变化灵敏度选择“0”。 催化剂液位变量:最小值0,最大值100,最小原始值0,最大原始值100,连接设备PLC,寄存器DECREA100,数据类型short,读写属性为只读,采集频率1000。记录和安全区选择“数据变化记录”,变化灵敏度选择“0”。 成品油液位变量:最小值0,最大值200,最小原始值0,最大原始值200,连接设备PLC,寄存器INCREA200,数据类型short,读写属性为只读,采集频率1000。记录和安全区选择“数据变化记录”,变化灵敏度选择“0”。 四、实验报告 实验报告包括实验目的、实验内容、设计说明、实验体会等。

组态王与SQL SERVER 2000交互教程

目录 1.SQL SERVER2000的准备工作 (2) 1.1安装SQL S ERVER2000数据库(安装方法略),新建数据库K ING V IEW (2) 1.2在K ING V IEW数据库中新建数据表R EAL D ATA、H ISTORY D ATA,用于存放组态王中的实时和 历史数据 (2) 2.组态王的准备工作 (4) 2.1在组态王建立两个内存实数变量,作为H ISTORY D ATA和R EAL D ATA的数据源,提供数据 变化至SQL S ERVER2000的数据库K ING V IEW (4) 2.2新建组态王画面T EST F OR SQLS ERVER2000,设置标签监控内存实数变量K ING1和K ING25 2.3建立一个内存字符串变量,时刻记录组态王的日期加时间,写入历史数据表作为时 间变量6 3.数据库与组态王数据交互 (6) 3.1建立组态王与数据库表之间的连接 (7) 3.2建立ODBC数据源,建立组态王与数据库之间的数据通道 (7) 3.3组态王打开数据库连接 (10) 3.4利用组态王脚本语言实现捕捉字段变化进而触发数据库操作 (13) 3.5组态王显示SQL S ERVER中历史数据表内容 (14) 3.6实际测试 (17)

1.SQL Server2000的准备工作 1.1安装SQL Server2000数据库(安装方法略),新建数据库 KingView 新建kingView数据库 1.2在KingView数据库中新建数据表RealData、HistoryData, 用于存放组态王中的实时和历史数据 定义历史数据表字段,注意需要把ID设置成自增1,才可以保证你数据表中记录不断的增加

组态王软件详细教程 第四讲 报警和事件

第四讲 报警和事件 报警和事件窗口的作用 运行报警和事件记录是监控软件必不可少的功能,“组态王”提供了强有力的支持和简单的控制运行报警和事件记录方法。 组态王中的报警和事件主要包括变量报警事件、操作事件、用户登录事件和工作站事件。通过这些报警和事件,用户可以方便地记录和查看系统的报警、操作和各个工作站的运行情况。当报警和事件发生时,在报警窗中会按照设置的过滤条件实时的显示出来。 为了分类显示报警事件,可以把变量划分到不同的报警组,同时指定报警窗口中只显示所需的报警组。(注:趋势曲线、报警窗口都是一类特殊的变量,有变量名和变量属性等。) 为使报警窗口内能显示变量的报警和事件信息,您必须先做如下设置: 定义报警组 切换到工程浏览器,在左侧选择“报警组”,然后双击右侧的图标进入“报警组定义” 对话框。 在“报警组定义”对话框中单击“修改”。 → 在“修改报警组”对话框中将“RootNode ”修改为“化工厂”。 单击“确认”,关闭“修改报警组”对话框。 单击“增加”按钮,在“化工厂”报警组下再增加一个分组“反应车间”。

单击“报警组定义”对话框的“确认”按钮。结束对报警组的设置 设置变量的报警定义属性 设置变量“反应罐压力”的报警属性。 在工程浏览器的左侧选择“数据词典”,在右侧双击变量名“反应罐压力”,弹出“定义变量”对话框。 在“定义变量”对话框中单击“报警定义”配置页,弹出对话框如下图: 具体设置如下: 低:10 高:90 报警组名:反应车间。 优先级:100 单击“确定”,关闭此对话框。 采用同样的方法定义“原料油液位”,“催化剂液位”“成品油液位”的报警属性。

组态王 历史数据查询例程说明文档

例程说明文档

目录 1. 功能概述 (1) 2. 工程实例 (1) 3. 操作步骤 (1) 3.1 定义设备 (1) 3.2 定义变量 (1) 3.3 制作画面 (2) 3.4 进入运行系统 (10) 4. 注意事项 (14)

1. 功能概述 常规需求:很多工业现场会存储数据并对存储的历史数据进行查询、打印输出。 历史数据查询一般为起始时间、结束时间、间隔时间都不固定,最终用户根据实际需要进行查询。 组态王中的实现方法: 利用组态王内置报表以及报表的函数来实现对历史数据的查询。 组态王内置报表的操作类似excel,操作简单、方便,并且组态王提供了大量的报表函数来实现各种复杂功能。 2. 工程实例 我们举一个例子来说明实现方法。在此例程中我们定义五个变量,分别为“压力”、“温度”、“密度”、“电流”、“电压”,运行系统运行后记录历史数据,下面就以此为例来演示完成这一要求的具体步骤。 3. 操作步骤 3.1定义设备 根据工程中实际使用得设备进行定义,本例程使用亚控的仿真PLC设备,使用“PLC -亚控-仿真PLC-串口”驱动,定义设备名称为“PLC”。 3.2定义变量 在组态王中定义五个变量:压力(IO实数类型)、温度(IO实数类型)、密度(IO 实数类型)、电压(IO实数类型)、电流(IO实数类型)。 压力变量:最小值0,最大值100,最小原始值0,最大原始值100,连接设备PLC,寄存器INCREA100,数据类型short,读写属性为只读,采集频率1000。记录和安全区选择“数据变化记录”,变化灵敏度选择“0”。 温度变量:最小值0,最大值50,最小原始值0,最大原始值100,连接设备PLC,

031第八讲_组态王与数据库连接

第八讲 组态王与数据库连接 第一节 SQL 访问管理器 概述 组态王SQL 访问功能实现组态王和其他外部数据库(通过ODBC 访问接口)之间的数据传输。它包括组态王的SQL 访问管理器和相关的SQL 函数。 SQL 访问管理器用来建立数据库字段和组态王变量之间的联系,包括“表格模板”和“记录体”两部分。通过表格模板在数据库表中建立相应的表格;通过记录体建立数据库字段和组态王之间的联系。同时允许组态王通过记录体直接操作数据库中的数据。 创建数据源及数据库 首先外建一个数据库,这里我们选用Access 数据库(路径:d:\peixun ,数据库名为:mydb.mdb )。 然后,用Windows 控制面板中自带的ODBC Data Sources (32bit)管理工具新建一个Microsoft Access Driver(*.mdb)驱动的数据源,名为:mine ,然后配置该数据源,指向刚才建立的Access 数据库(即mydb .mdb ),如图8-1所示: 图8-1ODBC 数据源的建立

创建表格模板 1、在工程浏览器窗口左侧“工程目录显示区”中选择“SQL访问管理器”中的“表格模板”选项,在右侧“目录内容显示区”中双击“新建”图标弹出创建表格模板对话框,在对话框中建立三个字段,如图8-2所示: 图8-2创建表格模板对话框 2、单击“确认”按钮完成表格模板的创建。 建立表格模板的目的是定义数据库格式,在后面用到SQLCreatTable()函数时以此格式在Access数据库中自动建立表格。 创建记录体 1、在工程浏览器窗口左侧“工程目录显示区”中选择“SQL访问管理器”中的“记录体”选项,在右侧“目录内容显示区”中双击“新建”图标弹出创建记录体对话框,对话框设置如图8-3所示: 图8-3创建记录体对话框 记录体中定义了Access数据库表格字段与组态王变量之间的对应关系,对应关系如下所示:

组态王报警存储与查询例程说明文档分析

------------------------------------------------------------精品文档-------------------------------------------------------- 报警存储与查询 例程说明文档 北京亚控科技发展有限公司月10年2018. “报警存储与查询”例程说明文档 目录 1. 功能概述 (1) 2. 工程实例 (1) 3. 操作步骤 (1) 3.1 新建工程 (1) 3.2 报警配置 (7) 3.3 进入运行系统 (14) 3.4 历史报警查询 (15) 4. 注意事项 (25) i 北京亚控科技发展有限公司.“报警存储与查询”例程说明文档

1. 功能概述 常规需求:很多工业现场要求将变量的报警信息进行存储,并且可以灵活的进行历史报警的查询、打印。 组态王中的实现方法:组态王支持通过ODBC接口将数据存储到关系数据库中,并且提供KV ADODBGrid控件对存储的历史报警信息进行条件查询,并可以对查询结果进行打印。关系数据库可以为Access数据库或者SQLServer数据库。 2. 工程实例 我们通过一个简单的工程对报警信息的存储以及历史报警信息的查询进行讲解。历史报警的查询主要根据日期、报警组为条件进行查询。报警信息存储的数据库以Access数据库为例进行。下面就以此为例来演示完成这一现场需求的设置步骤。 3. 操作步骤 3.1新建工程 3.1.1定义设备 新建一个工程,在设备处新建设备,我们在本例中定义一个仿真PLC的设备,设备列表为“PLC-亚控-仿真PLC-串口”,设备名称为“PLC1”。此仿真PLC可以做为虚拟设备与组态王进行通讯。仿真PLC主要有如下的寄存器:自动加1寄存器INCREA,自动减1寄存器DECREA,随机寄存器RADOM,常量寄存器STATIC,常量字符串寄存器STRING,CommErr寄存器。具体的寄存器的使用请参考组态王IO驱动帮助。 3.1.2定义变量 在数据词典中新建两个IO变量,变量名称分别为压力、流量,变量类型为IO 实数,连接的设备为前面定义的仿真PLC设备“PLC1”,寄存器分别为INCREA100,DECREA100,数据类型为short,读写属性为“只读”。这样压力变量就会从0开始自动加1,其变化范围是0到100,流量变量从100开始自动减1,其变化范围是0到100。变量定义画面如下图一、图二所示: 1 北京亚控科技发展有限公司.“报警存储与查询”例程说明文档

组态王及数据库连接的实现方法

组态王与数据库连接的实现方法 1准备工作 1.1创建数据源及数据库 1.右键新建一个Access数据库(D:\example,数据库名:ku.mdb)。 2.依次点击屏幕左下角“开始\控制面板\管理工具”,双击“数据源 (ODBC)”打开ODBC数据源管理器如错误!未找到引用源。: 图 1 3.点击“添加”新建一个数据源,驱动程序选择“Microsoft Access Driver(*.mdb)”点击“完成”,如错误!未找到引用源。:

图 2 4.配置该数据源,数据源名:yuan。指向新建的Access 数据库 (ku.mdb)步骤如错误!未找到引用源。所示: 图 3

1.2创建表格模板 打开工程“yangli”在工程浏览器窗口左侧找到“系统\SQL访问管理器\表格模板”选项如图 4,在右侧双击“新建”打开如图 5“创建表格模板”对话框。 图 4 模板名称:muban1,,依次输入字段名称:ziduan1、字段长度:9,选择变量类型为:定长字符串型,点击增加字段。用同样方法增加字段ziduan2、ziduan3。 图 5 1.3创建记录体 注意:记录体中的字段名称必须与表格模板中的字段名称保持一致,记录体中字段对应的变量数据类型必须和表格模板中相同字段对应的数据类型相同。 1.在工程浏览器窗口“数据库\数据词典”中新增三个内存字符串型变量 (ziduan1、 ziduan2、ziduan3)。

2.找到工程浏览器窗口左侧“SQL 访问管理器\记录体”选项,双击右侧 “新建”图标建立名为“jiluti1”的记录体,对话框设置如图 6所 示: 图 6 依次增加ziduan1、ziduan2、ziduan3三个字段点击“确认”。 2连接并插入记录 2.1连接数据库并创建数据库表格 1.在工程浏览器窗口“数据库\数据词典”中定义一个内存整型变量: 变量名:DeviceID 变量类型:内存整型 2.在工程浏览器窗口的“命令语言\应用程序命令语言\启动时”窗口输入 命令: SQLConnect( DeviceID, "dsn=yuan;uid=;pwd="); SQLCreateTable( DeviceID, "biaoge1", "muban1" ); 命令语言中的“yuan”为前面配置的数据源的名称。 3.在工程浏览器窗口的“命令语言\应用程序命令语言\停止时”窗口输入 命令: SQLDisconnect( DeviceID);

组态王实时报警界面制作教程

在工程浏览器左侧的树型视图中选择"界面",在右侧视图中双击"新建",新建产生一幅名为"实时报警"的界面,如图13-20所示。 文本"系统报警!",红色,系统报警时文字显示闪动,在"动画连接"对话框中单击"闪烁"按钮,弹出对话框。输入闪烁的条件表达式"$新报警= = 1",当此条件表达式的值为真时,图形对象开始闪烁。表达式的值为假时闪烁自动停止。单击"?"按钮可以查瞧己定义的变量名与变量域,如图13-21所示。 "$新报警"变量就是组态王的一个系统变量,主要表示当前系统中就是否有新的报警产生。 当系统中无论有何种类型的新报警产生时,该变量被自动置为1。但需要注意的就是,该变量不 能被自动清0,需要用户人为地将其清0。 "确认"按钮按下时的命令语言程序为:

Ack (RootNode); PlaySound (" c:\Sirenl、wav", 0); ClosePicture("实时报警"); PlaySound函数 此函数通过Windows的声音设备(若已安装)播放声音,声音为w町文件。调用格 式:PlaySound(SoundName, Flags)。 参数及其描述: SoundName代表要播放的声音文件的字符串或字符串变量。 Flags可为下述之一:←停止播放声音; 1同步播放声音; 2一异步播放声音; 3一重复播放声音直到下次调用PlaySound 0函数为止。 实时报警界面为报警时自动弹出窗口,在工程浏览器中选择命令语言一一数据改变命令语言,在浏览器右侧双击"新建飞弹出数据改变命令语言编辑器,如图13-22所示。数据改变命令语言触发的条件"\\本站点\$新报警"变量或变量的域的值发生了变化。 输入命令语言:

软件(结构)设计说明(SDD)文档标准模版

软件(结构)设计说明(SDD) XXXX公司

文件更改记录

文件版本变更记录

软件(结构)设计说明(SDD) 说明: 1.《软件(结构)设计说明》(SDD)描述了计算机软件配置项(CSCI的设计。它描述了CSCI级设计决策、CSCI体系结构设计(概要设计)和实现该软件所需的详细设计。SDD可用接口设计说明IDD和数据库(顶层)设计说明DBDD加以补充。 2.SDD连同相关的IDD和DBDD是实现该软件的基础。向需方提供了设计的可视性,为软件支持提供了所需要的信息。 3.IDD和DBDD是否单独成册抑或与SDD合为一份资料视情况繁简而定。 模版说明: 1、文档字体设定: 标题1:小一 标题2:二号 标题3:小二 标题4:三号 标题5:小三 标题6:四号 正文:四号 2、文章编号,请使用格式刷刷,不要手工编号。目前格式都 是对的。 3、内容根据实际情况裁剪,一般可行性研究报告,模版章节 不可缺。 4、封面图片请根据实际情况自行替换。 5、关于修订记录,请根据文档需要自行添加。

1.引言 本章应分为以下几条。 1.1.标识 本条应包含本文档适用的系统和软件的完整标识。(若适用)包括标识号、标题、缩略词语、版本号、发行号。 1.2.系统概述 本条应简述本文档适用的系统和软件的用途。它应描述系统与软件的一般性质;概述系统开发、运行和维护的历史;标识项目的投资方、需方、用户、开发方和支持机构;标识当前和计划的运行现场;并列出其他有关文档。 1.3.文档概述 本条应概述本文档的用途与内容,并描述与其使用有关的保密性或私密性要求。 1.4.基线 说明编写本系统设计说明书所依据的设计基线。

关于组态王数据库绘制曲线的方式

关于组态王历史曲线的绘制 在作项目中,常常遇到需要查看工程的历史数据图和历史曲线。 在使用组态王的过程中遇到了以下问题。 问题;工程要求要能查找历史数据和查看历史曲线。组态王内置历史曲线可以绘制,但数据不能第三方访问。且历史数据记录不能停止。 要绘制历史曲线,首先要有历史数据,组态王本身有历史数据库。也可使用第三方数据库。 组态王自己的历史数据库不开放(只可用函数语句表另存为),第三方不能访问。 第三方数据库是微软的access数据库或者是SQL sever 数据库等。 在测试access数据时发现。组态王保存的历史数据在绘制历史曲线调用时,有个日期时间格式的数据需要选取。但在数据库里边没有符合这个格式的选项。 经查看发现组态王合成的日期时间格式在access里是字符串(文本)格式,不符合datetime格式。于是手动更改为datetime格式,组态王可以调用历史数据绘制曲线了。但数据又不能插入了。测试失败。 方法1.在SQL several数据库中同时插入两个一摸一样的表格,表格1插入数据,表二在表1插入时同时插入数据并转换数据格式,然后在历史曲线控件里调用。 在表格1调用触发器,然后再插入数据到表格2,同时更改日期时间字符串为datetime格式,直接在组态王历史控件里调用即可。 create trigger myinserta on MODE for insert as declare @a char(15),@b int,@c char(8),@d char(10),@e char(24),@f int,@g int,@h int,@i int,@j int,@k int,@l int,@m char(10); select @a=工件号编码,@b=序号,@c=时间,@d=日期,@e=DATATIME,@f=毫秒,@g=轨顶温度,@h=轨顶温度,@i=轨低温度,@j=轨低温度,@k=喷风温度,@l=喷风压力,@m=用户FROM INSERTED INSERT INTO MODE1 values (@a,@b,@c,@d,@e,@f,@g,@h,@i,@j,@k,@l,@m); 上面第一个触发器定义中间变量和数据长度和格式,定义的格式应当和组态王模板设定的长度和数据类型一致。 下面的触发器在每次插入触发时更改DATATIME列的格式为datetime日期时间格式。 create trigger STTTOTIMEa on MODE --(//记录体名称) ALTER TABLE MODE1 ALTER COLUMN DATATIME datetime; 方法2还是使用SQL several数据库。 在定义组态王模板时定义一个内部空变量,定义类型为long,长整型。随模板一起插入,在组态里,转换DATATIME字符串为datetime日期时间格式,并赋值给定义的长整型(long),在组态历史控件里就可以调用了

组态王实时报警界面制作教程

在工程浏览器左侧的树型视图中选择"界面",在右侧视图中双击"新建",新建产生一幅名为"实时报警"的界面,如图13-20所示。 文本"系统报警!",红色,系统报警时文字显示闪动,在"动画连接"对话框中单击"闪烁"按钮,弹出对话框。输入闪烁的条件表达式"$新报警= = 1",当此条件表达式的值为真时,图形对象开始闪烁。表达式的值为假时闪烁自动停止。单击"?"按钮可以查看己定义的变量名和变量域,如图13-21所示。 "$新报警"变量是组态王的一个系统变量,主要表示当前系统中是否有新的报警产生。 当系统中无论有何种类型的新报警产生时,该变量被自动置为1。但需要注意的是,该变量不 能被自动清0,需要用户人为地将其清0。 "确认"按钮按下时的命令语言程序为:

Ack (RootNode); PlaySound (" c:\Sirenl. wav",0); ClosePicture("实时报警"); PlaySound函数 此函数通过Windows的声音设备(若已安装)播放声音,声音为w町文件。调用格式:PlaySound(SoundName,Flags)。 参数及其描述: SoundName代表要播放的声音文件的字符串或字符串变量。 Flags可为下述之一:←停止播放声音; 1同步播放声音; 2一异步播放声音; 3一重复播放声音直到下次调用PlaySound 0函数为止。 实时报警界面为报警时自动弹出窗口,在工程浏览器中选择命令语言一一数据改变命令语言,在浏览器右侧双击"新建飞弹出数据改变命令语言编辑器,如图13-22所示。数据改变命令语言触发的条件"\\本站点\$新报警"变量或变量的域的值发生了变化。 输入命令语言:

组态王连接Accesss大数据库与历史曲线显示

我是依据组态王帮助文件里面的案例,不过我写的会更详细! 以某工业现场应用为例,需要对原料进行称量,并记录原料的生产厂家、原料编号、称量日期、称量时间,值班人员、原料重量。针对这种关系数据,使用组态王的历史库是无法记录的,因此我们使用关系数据库Access 进行记录。下面就以此为例来演示完成这一现场需求的设置步骤。 操作步骤: 1、新建数据库以及表: 1.1)在Access 中新建一个空数据库,例如建立路径为:D:\数据库存储例程\数据.mdb。 1.2)在数据库D:\数据库存储例程\数据.mdb 中创建一个数据表:表的名称为:原料数据。字段为:称量日期、称量时间、原料重量、原料厂家、原料编号、值班人员、datetime(这个变量是我自己需要历史曲线用的)。如下图所示:(下面的值是我测试的) 其中原料重量字段类型为“数字”设置为“单精度”,datetime设置为日期/时间默认值改为now()。其余为“文本”类型。(这里默认的视图是数据表视图,要切换到设计视图,如图所示:)

在这下面设置字段大小为单精度型,小数位数为2(这个按自己需求设置位数)。 2、设置ODBC 数据源: 2.1) 在“控制面板”-----“管理工具”----“ODBC 数据源”中建立ODBC 数据源,点击“ODBC数据源”弹出“ODBC 数据源管理器”,如下图所示:(这里注意的是如果系统是64位系统的话,则打开C:\Windows\SysWOW64\odbcad32.exe)

2.2) 在“用户DSN”中点击“添加”,弹出“选择数据源驱动程序”窗口,如下图所示:选择“Microsoft Access Driver (*.mdb)”驱动,点击“完成”。弹出如图所示窗口,填写ODBC数据源的名称,根据需要对数据源进行命名,如“数据”,点击“选择(S)”,如图所示,选择我们前面定义的数据库文件“D:\数据库存储例程\数据.mdb”。点击“确定”完成ODBC 数据源的定义,如图所示。其他数据库如SQLServer 的ODBC 定义请参考相关文档。

代码编写规范说明书

代码编写规范说明书(c#.net与https://www.sodocs.net/doc/2918956140.html,)目录 1 目的 2 范围 3 注释规范 3.1 概述 3.2 自建代码文件注释 3.3 模块(类)注释 3.4 类属性注释 3.5 方法注释 3.6 代码间注释 4 命名总体规则 5 命名规范 5.1 变量(Variable)命名 5.2 常量命名 5.3 类(Class)命名 5.4 接口(Interface)命名 5.5 方法(Method)命名 5.6 名称空间Namespace)命名 6 编码规则 6.1 错误检查规则 6.2 大括号规则 6.3 缩进规则 6.4 小括号规则 6.5 If Then Else规则 6.6 比较规则 6.7 Case规则 6.8 对齐规则 6.9 单语句规则 6.10 单一功能规则 6.11 简单功能规则 6.12 明确条件规则 6.13 选用FALSE规则 6.14 独立赋值规则 6.15 定义常量规则 6.16 模块化规则 6.17 交流规则 7 编程准则 7.1 变量使用 7.2 数据库操作 7.3 对象使用 7.4 模块设计原则 7.5 结构化要求 7.6 函数返回值原则 8 代码包规范 8.1 代码包的版本号

8.2 代码包的标识 9 代码的控制 9.1 代码库/目录的建立 9.2 代码归档 10 输入控制校验规则 10.1 登陆控制 10.2 数据录入控制 附件1:数据类型缩写表 附件2:服务器控件名缩写表 1 目的 一.为了统一公司软件开发设计过程的编程规范 二.使网站开发人员能很方便的理解每个目录,变量,控件,类,方法的意义 三.为了保证编写出的程序都符合相同的规范,保证一致性、统一性而建立的程序编码规范。 四.编码规范和约定必须能明显改善代码可读性,并有助于代码管理、分类范围适用于企业所有基于.NET平台的软件开发工作 2 范围 本规范适用于开发组全体人员,作用于软件项目开发的代码编写阶段和后期维护阶段。 3 注释规范 3.1 概述 a) 注释要求英文及英文的标点符号。 b) 注释中,应标明对象的完整的名称及其用途,但应避免对代码过于详细的描述。 c) 每行注释的最大长度为100个字符。 d) 将注释与注释分隔符用一个空格分开。 e) 不允许给注释加外框。 f) 编码的同时书写注释。 g) 重要变量必须有注释。 h) 变量注释和变量在同一行,所有注释必须对齐,与变量分开至少四个“空格”键。 如:int m_iLevel,m_iCount; // m_iLevel ....tree level // m_iCount ....count of tree items string m_strSql; //SQL i) 典型算法必须有注释。 j) 在循环和逻辑分支地方的上行必须就近书写注释。 k) 程序段或语句的注释在程序段或语句的上一行 l) 在代码交付之前,必须删掉临时的或无关的注释。 m) 为便于阅读代码,每行代码的长度应少于100个字符。 3.2 自建代码文件注释 对于自己创建的代码文件(如函数、脚本),在文件开头,一般编写如下注释: /****************************************************** FileName: Copyright (c) 2004-xxxx *********公司技术开发部 Writer: create Date: Rewriter:

组态王报警例程文档

报警系统应用例程 说明文档 此文档由北京亚控公司提供,仅作为KingSCADA3.0报警系统应用的使用参考,其中涉及内容的详细说明请参考KingSCADA3.0的使用说明或咨询技术支持工程师。

目录 1. 概述 (1) 2. 例程 (1) 2.1 定义变量的报警属性 (1) 2.2 报警配置 (3) 2.3 报警显示 (6) 2.4 报警查询 (12) 2.5 报警窗的方法应用 (17) 3. 注意事项 (18)

1.概述 在工业控制系统中,当现场的数据超出正常范围时,系统应以报警的方式将其通知相关工作人员,工作人员接收到报警信息后会对报警做出相应的处理,所以报警系统在工业控制系统中是一个非常重要的组成部分。KingSCADA3.0提供了强大的报警操作功能:包括报警存储功能、报警打印功能、报警显示功能、报警转发功能等等,下面将具体介绍每种功能的操作过程。 2.例程 2.1定义变量的报警属性 在使用报警功能前,必须先要对变量的报警属性进行定义。 在开发系统“数据词典”中新建变量,本工程中我们以模拟量为例。 ●变量名:temperature ●变量类型:基本变量 ●数据类型:Mem Float ●变量描述:温度 ●初始值:0 ●灵敏度:0 ●最小值:0 ●最大值:100 变量temperature的报警属性如图1所示。

图1 变量temperatrue报警属性 ●变量名:pressure ●变量类型:基本变量 ●数据类型:Mem Float ●变量描述:压力 ●初始值:0 ●灵敏度:0 ●最小值:0 ●最大值:5 变量pressure的报警属性如图2所示。

组态王通过数据库实现数据的采集与输出

组态王通过数据库实现数据的采集与输出 The Standardization Office was revised on the afternoon of December 13, 2020

组态王通过数据库实现数据的采集与输出 作者:蒋妤媜 版本:.1 前提: ?数据库用Microsoft Office Access 2003,数据库路径为D:\历史记录.mdb ?组态王版本为 ?PC机系统为XP 一、创建数据库表 1. 新建名为“历史记录”的数据库,新建完成后,打开数据库 2. 创建表,点击使用设计器创建表,进入设计视图对话框,输入字段名 日期时间、毫秒、污泥浓度、溶氧仪、进水COD、电磁流量计、超声波流量计、二在线COD,其中字段名日期时间的数据类型为日期/时间、毫秒的数据类型为数字长整型、其他字段名数据类型为数字单精度型。 3. 保存名为:10分钟记录 二、创建ODBC

打开控制面板→管理工具→数据源(ODBC),弹出“ODBC数据管理器”,在用户DSN标签下,点击添加 弹出“创建数据库源” 选择此创建数据库源完成后弹出“ODBC Access 安装”

输入数 选择之前 确定完成。 三、组态王内部设置 1. 新建变量 在数据词典中创建本地变量,,变量名称分别为日期时间、DeviceID、nReturnValue。

2. 打开到组态王工程浏览器,新建记录体 创建名为“历史记录”的记录体 3. 创建事件命令语言 点击创建,弹出事件命令语言对话框 事件描述为:(((\\本站点\$分)%10==0)&&((\\本站点\$秒-1)%60==0))==1 输入记 字段名称要与数据库中 添加数据词典 显示已增

相关主题