wincc 7.4获取系统时间及用户归档

合集下载

wincc系统日期时间获取

wincc系统日期时间获取

wincc系统日期时间获取系统时间的获得,有两种办法,一是建立TAG,二是使用函数获取系统时间方法一:在[Tag Management]添加新的驱动"System Info.chn",然后在新添加的[SYSTEM INFO]新建连接,这样就可以创建实际TAG了;下面新建几个TAG: 名字:date, 数据类型:text tag 8-bit character set,地址设定为Function:date,format:"MM-DD-YYYY"名字:time, 数据类型:text tag 8-bit character set,地址设定为Function:Time,format:"HH:MM:SS"根据上面的方法依次建立year,mon,day,week等TAG,请分别设置对应的format内容TAG建立完成了,就可以读到系统时间了。

新建一个图形文件,分别放置几个静态文本框[static text],把TEXT属性连接到上面新建的TAG,就可以显示系统日期时间,利用WEEK还能显示今天是星期几了.方法二: 使用C脚本获得系统时间#include "apdefap.h"char* _main(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName){time_t timer;struct tm *ptm;char *p;time(&timer);ptm=localtime(&timer);p=SysMalloc(9);sprintf(p,"%04d:%02d:%02d",ptm->tm_year+1900,ptm->tm_mon+1,p tm->tm_mday);return(p);}其中//系统时间已经获得//年: ptm -> tm_year+1900//月: ptm-> tm_mon+1//日: ptm -> tm_mday//星期: ptm -> tm_wday *注意这个,tm_wday返回的是整数,必须经过转换才能用来表示星期几。

Wincc V7.3用户归档深入5-用vbs将用户归档的内容导出到excel

Wincc V7.3用户归档深入5-用vbs将用户归档的内容导出到excel

Wincc V7.3用户归档深入5-用vbs将用户归档的内容导出到excel我们在用户归档中得到数据之后,如果想导出到excel,思路是和把MSHFGrid数据导出类似的。

网上有些文章是直接从后台数据表读取数据,本文介绍从数据归档控件导出数据。

1. 假设wincc项目已经创建了用户归档,画面上有一个用户归档控件,名字叫做UA,设置一个按钮,按钮点击事件添加以下vbs脚本Sub OnClick(ByVal Item)Dim UA,col,row,rowsDim xlapp,objsheetDim i,j,k,m,n,filenameSet UA=ScreenItems("UA")Set rows=UA.GetRowCollectionm=rows.Countn=UA.ColumnCountIf m>1 Then '如果用户归档控件有记录Set xlapp=CreateObject("Excel.Application")xlapp.visible=Falsexlapp.workbooks.addSet objsheet=xlapp.worksheets(1)For k=1 To nua.ColumnIndex=kobjsheet.cells(3,k)=ua.ColumnCaption '字段名称Nextobjsheet.cells(1,1)="XX用户归档"For i=1 To mFor j= 1 To nobjsheet.cells(i+3,j)=ua.GetRow(i).celltext(j)NextNext'以下代码处理日期时间数据格式以及表格边框线、标题合并单元格等排版objsheet.range("a1:d1").mergecells=True'objsheet.range("a1").ColumnWidth =20 '列宽度objsheet.cells(2,1)="生成时间:"objsheet.cells(2,2)=Year(Now) & "年" & Month(Now) & "月" & Day(Now) & "日"objsheet.cells(1,1).HorizontalAlignment = 3objsheet.range("a3:d" & CStr(3+m)).borders(1).linestyle=9objsheet.range("a3:d" & CStr(3+m)).borders(1).weight=2objsheet.range("a3:d" & CStr(3+m)).borders(2).linestyle=9objsheet.range("a3:d" & CStr(3+m)).borders(2).weight=2objsheet.range("a3:d" & CStr(3+m)).borders(3).linestyle=9objsheet.range("a3:d" & CStr(3+m)).borders(3).weight=2objsheet.range("a3:d" & CStr(3+m)).borders(4).linestyle=9objsheet.range("a3:d" & CStr(3+m)).borders(4).weight=2'保存文件filename= "c:\" & Year(Now) & "年" & Month(Now) & "月" & Day(Now) & "日-" & Hour(Now) & "点" & Minute(Now) & "分" & Second(Now) & "秒生成用户归档.xlsx"xlapp.Activeworkbook.saveas (filename) xlapp.workbooks.closexlapp.quitMsgbox "成功导出到C:\"ElseMsgbox "用户归档没有记录"End IfEnd Sub。

WinCC中归档数据片段的时间和尺寸设置资料

WinCC中归档数据片段的时间和尺寸设置资料

W i n C C中归档数据片段的时间和尺寸设置WinCC中归档数据片段的时间和尺寸设置1.归档数据片段介绍1.1 概述WinCC V6.2 开始的后台数据库采用了MS SQL Server 2005 ,所以归档方式与V5 有所不同,它的运行数据存放在数据片段(segment)当中,工程师可以根据尺寸需求组态最大容量或根据时间周期启动新的数据库归档片段。

将归档数据连续的写入数据库,单个数据片段的尺寸到达或者时间界限到达时,系统会自动开启另一个数据片段进行归档。

当数据片段的总体尺寸达到最大时,最早的数据片段就会被覆盖,重新开始新的归档。

如图1 所示。

备份功能可以把将要被覆盖的数据保存。

图1WinCC 的归档数据分三部分,即变量记录中的快速归档、慢速归档和报警记录中的消息归档。

对应的数据分别保存在项目文件夹下\ArchiveManager中的\TagLoggingFast、\TagLoggingSlow 和\AlarmLogging。

三类归档的运行机制是一样的,都是基于各自“归档组态”中设置的参数来维护历史数据的。

以快速归档为例说明“归档大小”中各参数的含义。

在运行过程中,当单个分段文件的尺寸达到A的参数100M后,系统自动创建新的分段文件;如果系统连续运行B参数1天后,仍没有达到100M,但系统也会自动创建新的分段文件,即使文件大小只有1M, 系统也会自动创建新的分段文件,因为时间超过了B参数。

这样,系统运行中首先监测单个分段文件的大小,只要超过A的参数,系统就会自动创建新的分段文件;同时,单个分段中的数据时间范围如果超出了B参数1天后,系统同样会自动创建新的分段文件。

文件夹\TagLoggingFast(快速归档)中总的数据尺寸首先不会超过C的参数,同时也不会超过D的参数。

例如,系统1小时的数据就达到了100M,那么,根据设定系统只能保存10个小时的数据。

因为即使没有达到B、D限制的参数,但是受到A、C参数限制的原因,只能保存10个分段文件。

用VBS实现WINCC的用户归档输出到EXCEL表格的方法和例

用VBS实现WINCC的用户归档输出到EXCEL表格的方法和例

用VBS实现WINCC的用户归档输出到EXCEL表格的方法和例(2009-12-30 16:47:45)用VBS实现WINCC的用户归档输出到EXCEL表格的方法和例子程序求用VBS实现WINCC的用户归档输出到固定格式的EXCEL表格的方法和例子程序!我主要问题在SQL数据库的查询语句不会。

看见论坛里有关用VBS实现EXCEL的数据查询和导出,我现在想要完成如下功能:每分钟将数据归档,用户可以输入任意的时刻时间查询从任意时刻开始的之后每隔1小时的数据(有点像日报里的24个小时)。

我现在对于VBS查询数据库的语句不懂,望大大赐教!谢谢''SQL查询语句Dim strc as stringstrc = "provider=WinCCOLEDBProvider.1;catalog=CC_RebdI_09_06_22_1 0_38_35R;data source=ComputerName\WinCC"''这个连接字符串可以在SQl2000中看到Dim cc1Set cc1=CreateObject("adodb.connection")cc1.ConnectionString=strccc1.CursorLocation=3cc1.openDim rst As ObjectSet rst = CreateObject("adodb.recordset")dim ssql as stringssql = "Tag:R,'Archive_3\DB1DBD0','2009-7-29 00:00:00.00 00','2009-7-29 23:59:59.999','timestep=3600,258'"''Archive_3\I_DB1DBD0归档和变量''2009-7-29 00:00:00.0000,2009-7-29 23:59 :59.999时间段''timestep=3600,258每阁多少秒拿一个数据(3600=1小时),258表示每个时间段取最后一个数据rst.Open ssql, cc1''这样查出来的数据就是一天的每小时的数据''对rst记录集处理就可以得到你要的数据==========================Function actionDim objExcelAppDim i,TimeM,TimeNow,TimeSSet TimeM=HMIRuntime.Tags("TimeM")i=1+TimeM.ReadTimeNow=CStr(Year(Now))&"年"&CStr(Month(Now))&"月"&CStr(Day(Now))&"日"&CStr(Hour(Now))&"-"&CStr(Minute(Now))&":"&CStr(Second(Now))TimeS=Second(Now)Set objExcelApp = CreateObject("Excel.Application")objExcelApp.Visible = FalseobjExcelApp.Workbooks.Open"E:\ExcelTest.xls"objExcelApp.Cells(i, 2).Value =123.47objExcelApp.Cells(i, 1).Value = TimeNowobjExcelApp.DisplayAlerts = FalseobjExcelApp.ActiveWorkbook.SaveobjExcelApp.Workbooks.CloseobjExcelApp.quitSet objExcelApp =NothingEnd Function以上代码用于往指定的Excel表格中写数据。

wincc使用用户归档实现报表

wincc使用用户归档实现报表

使用用户归档实现报表简介Use User Archive Create Report摘要 简单介绍了用户归档,介绍如何通过用户归档和WinCC报表编辑器实现复杂报表。

关键词 用户归档,报表Key Words User Archive ,ReportIA&DT Service & Support Page 2-17目录使用用户归档实现报表简介 (1)一.用户归档介绍 (4)二.用户归档的使用 (6)三.结合用户归档实现报表 (8)1.数据的存储 (9)2.报表布局的设计 (12)3.报表输出 (14)附录-推荐网址 (17)IA&DT Service & Support Page 3-17一.用户归档介绍用户归档编辑器是一个WinCC的附加选件,需要安装相应的授权才能使用,否则只能使用DEMO模式。

它可以用来在服务器 PC 上连续的保存来自技术过程的数据。

在图形编辑器中,可以组态 WinCC 用户归档表格元素来以表格显示运行系统中用户归档的在线数据。

用户归档还可用于准备自动化系统(例如 S5、S7)的数据。

如果必要,数据可以配方或设定值的形式从控制器读出。

用户归档编辑器提供两种数据库表格:用户归档: 用户归档是用户可在其中创建自己的数据域的数据库表格。

用户归档用于存储数据,并根据 SQL 数据库规则提供对这些数据的标准化访问。

视图: 视图接收来自用户归档的数据并用于数据的相加,例如,为获得有关产品组的概述。

其在WinCC默认情况下是不会被安装的。

可以通过以下步骤安装。

插入WinCC安装光盘,选择安装SIMATIC WinCC,弹出界面(图1),选择安装或者卸载的组件,在弹出的选择组件界面中左侧选择选项,右侧选中用户归档,点击下一步开始安装。

图1 安装卸载IA&DT Service & Support Page 4-17图2选择组件安装好后打开WinCC项目编辑器在项目的树状结构里会看到用户归档选项。

WinCC中归档数据片段的时间和尺寸设置

WinCC中归档数据片段的时间和尺寸设置

WinCC中归档数据片段的时间和尺寸设置1.归档数据片段介绍1.1 概述WinCC V6.2 开始的后台数据库采用了MS SQL Server 2005 ,所以归档方式与V5 有所不同,它的运行数据存放在数据片段(segment)当中,工程师可以根据尺寸需求组态最大容量或根据时间周期启动新的数据库归档片段。

将归档数据连续的写入数据库,单个数据片段的尺寸到达或者时间界限到达时,系统会自动开启另一个数据片段进行归档。

当数据片段的总体尺寸达到最大时,最早的数据片段就会被覆盖,重新开始新的归档。

如图1 所示。

备份功能可以把将要被覆盖的数据保存。

图1WinCC 的归档数据分三部分,即变量记录中的快速归档、慢速归档和报警记录中的消息归档。

对应的数据分别保存在项目文件夹下\ArchiveManager中的\TagLoggingFast、\TagLoggingSlow 和\AlarmLogging。

三类归档的运行机制是一样的,都是基于各自“归档组态”中设置的参数来维护历史数据的。

以快速归档为例说明“归档大小”中各参数的含义。

在运行过程中,当单个分段文件的尺寸达到A的参数100M后,系统自动创建新的分段文件;如果系统连续运行B参数1天后,仍没有达到100M,但系统也会自动创建新的分段文件,即使文件大小只有1M, 系统也会自动创建新的分段文件,因为时间超过了B参数。

这样,系统运行中首先监测单个分段文件的大小,只要超过A的参数,系统就会自动创建新的分段文件;同时,单个分段中的数据时间范围如果超出了B参数1天后,系统同样会自动创建新的分段文件。

文件夹\TagLoggingFast(快速归档)中总的数据尺寸首先不会超过C 的参数,同时也不会超过D的参数。

例如,系统1小时的数据就达到了100M,那么,根据设定系统只能保存10个小时的数据。

因为即使没有达到B、D限制的参数,但是受到A、C参数限制的原因,只能保存10个分段文件。

WINCC归档、报警记录、曲线的操作

WINCC归档、报警记录、曲线的操作

报警记录的添加方法
• 双击报警记录打开如下画面,滚动条拉至最后一行,右键点击“添加新行”, 选择类别,类型。“消息变量”一栏右键点击选择变量。在“故障信息”一 栏输入名称。“故障时的位置”,“故障时的速度”,“故障电流”分别要 连接相应的变量。也可以直接把原来已建立的复制粘贴过来。
右击“故障时的位置”属性弹出下图标记处的消息框,在“变量/动作”一项内 的“画面名称/参数”一栏点击图标选择画面,我们选择“故障报警记录.pdl”这 样设置后一旦所连变量动作,会触发故障报警记录.pdl画面,在画面中显示一些 信息。
如果建立一个新的报表,上述设置完后需要将画面和报警记录里归档连 接起来。 双击画面弹出如下属性控制框。
点击“数据准备”栏里“选择”然后出现下面画面。将所建报表画面所对应的消 息类别前面方框打勾。
点击控制属性的“工具栏”一项出现如下所示画面,参照图示看各个相 是否选上。
报警记录内消息类别的添加设置: 如下左图所示在窗口内点击“消息类别”,窗口右边会出现已建类别,右键点击 “添加/删除类别”出现右图所示对话框,点击“→”可以新添加一个见下页所 示。
下面左图所示是用户文本块的定义,可以按照图示方法添加并设置其属性。右图 所示为过程值块的添加设置。
曲线的添加设置方法
• • • 双击图形编辑器,打开趋势画面如下图新建一条曲线并链接变量如下图: 打开画面任意双击一条曲线的坐标,可弹出图中标记处的控件属性对话框 点击图中方框标记的“+”号可以添加新的一条曲线,在“名称”栏里可以取 个名字,“颜色”栏里可以定义颜色,“可见”方框前可以打钩表示显示这 条曲线,反之隐藏曲线。在“选择归档/变量”下点击选择按钮连接变量(前 提是在变量记录归档内已添加好归档变量)。在“时间轴”可以设置日期, “数值轴”可以定义坐标刻度。设置完后点击应用,确定。

(完整word版)wincc用户归档VB脚本与SQL使用说明

(完整word版)wincc用户归档VB脚本与SQL使用说明

一、报表建立本次项目要求:所有测量变量在一个工作周期结束后进行存储,也就是事件触发,不同与以往的周期触发。

1、要求能存储字符串类型的数据,所以本次报表使用用户归档来实现,因为变量记录工具是不能存储字符串类型数据的。

而且用户归档控件的事件触发比变量记录要灵活的多。

2、要求可以将数据导出到EXCEL表格中。

实现对数据的编辑。

具体实现方法如下:第1项不用过多在意,了解一下即可,从第2项起为主要内容。

第1项的作用就是讲解怎样触发用户归档存储数据的。

1、在建立报表前首先要新建两个系统变量,用于日期和时间的存储。

在WINCC组态环境内——右击变量管理——单击添加新的驱动程序——找到System Info.chn——单击打开如下图建立两个变量分别为riqi 和shijian——作为日期和时间的存储变量。

再建立两个控制变量,此变量需要与下位机程序进行连接。

分别为A_ID、A_JOP在下位机程序里进行编写,当自控程序运行完一边后将这两个变量分别赋值-1、6赋值结束后再将0赋给这两个变量。

程序如下图此目的是用于用户归档数据存储时事件触发条件,在后面用户归档建立会详细描写。

2、建立用户归档WINCC在第一次安装完后是没有用户归档控件的,需要再次将光盘插入重新安装一次,在选项中将用户归档添加进行安装。

单击下一步先点击创建,在创建变量完成后,将上面建立的两个变量A_ID/A_JOP分别添加到ID和指令内,方法:单击选择按钮——浏览变量添加即可。

此项是用于数据存储触发的。

也就是当ID和指令分别为-1和6时用户归档存储一次数据。

详细如下图单击完成实现对用户归档的创建。

3、创建VB脚本动作,是用于用户归档事件触发的动作,没有此动作用户归档将无法存储数据。

方法:打开VB脚本——单击文件——新建——动作。

然后将下面程序写入即可。

Function actionDim xiaoshiDim riqiDim flagSet flag = HMIRuntime.Tags("flag")flag.ReadIf flag.Value =1 Thenriqi=CStr(Year(Now))&"-"&CStr(Month(Now))&"-"&CStr(Day(Now))Dim A_IDSet A_ID = HMIRuntime.Tags("A_ID")Dim A_JOPSet A_JOP = HMIRuntime.Tags("A_JOP")A_ID.ReadA_ID.Write -1A_JOP.ReadA_JOP.Write 6End If输入完之后将其保存。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档