如何在Visual Studio 2019中编写一个C#应用程序,通过WinCC的 OLE DB接口读取设定时间范围内的WinCC变量归档数据。 3 <访问远程计算机的 WinCC 归档数据的注意事项> <如果 C#应用程序和 WinCC 项目不在同一台计算机,那么需要满足以下条件: 1、如果 C#应用程序所在计算机没有安装 WinCC 或者 DataMonitor 另外 “WinCC HMIRuntime 1.0 Type Library”接口不支持读取远程 WinCC 的变量。 这种情况下,连接字符串中的计算机名直接写 WinCC 项目所在计算机名即可。 对于 WinCC 项目的 Catalog,可以通过以下两种方法来获取: v 在 C#应用程序中编写 OPC 客户端脚本读取 WinCC 变量“@DatasourceNameRT”的值。 v 在 C#应用程序中遍历 SQL Server 中所有的数据库名称,从中选择以字母“CC”开头并以字母“R”结尾的数据库名称。
CommonArchiving:用于临时存放从其他位置手动拷贝过来的归档文件,WINCC 激活后会自动调用其中的文件,从而可以查看其中文件的趋势曲线、报警信息、操作记录等。 WINCC 的时间吻合,则测试通过。 再次取消激活该 WINCC,过一段时间,再次激活运行,之前未生成结束标志的文件会立即生成新的结束时间标志,时间为 WINCC 最近取消激活时的时间,而非最近激活运行时的时间。 步骤 3. 只有主服务器会执行归档备份的操作(可以在 WINCC 的帮助系统中搜索“如何组态归档备份”,会有相关文档说明,如下图),备用状态下的服务器不会执行备份操作。 此外,操作系统 SQL 相关的报错是因为链接的数据片段连接不上,不会影响归档的备份操作,例如 9 月 17 日的数据文件链接不上,因此系统中有 SQL 数据库备份相关的报错,需要将无效的数据文件删除。
热卖云产品新年特惠,2核2G轻量应用服务器9元/月起,更多上云必备产品助力您轻松上云
因此,本文档将介绍如何使用 WinCC V7.5 SP1 的归档备份功能。 2 WinCC 归档数据的限制 在 WinCC 归档组态中可以组态变量记录和报警记录的归档大小,如图 1 所示。 其中单个分段就是一个 SQL 数据库文件,所有分段是 WinCC 所保存的所有的在线归档数据。 经过测试比较,SQL 数据库所能连接的归档片断最大可行的数量为 200 个。归档片断个数不能过多地超过这个数量,否则会影响 Microsoft SQLserver 运行性能。 在弹出的数据库选择”对话框中选择需要断开的归档 断开成功的提示如图 9 所示。 无法加载数据库 0x80047209 不能复制数据到 'CommonArchiving' 0x8004720A 数据库名称无效 0x8004720B 无数据库列表 0x8004720C 数据库已经断开
正 文 用户归档:即用户自定义变量报表(记录),WINCC的配方功能也需要使用用户归档实现 下面开始给大家介绍用户归档的基础使用方法: 步骤一:建立需要归档的变量 步骤二:建立用户归档 步骤三:在WINCC画面中组态用户归档 步骤四:运行测试 作者简介 工控班长(张勇):工业自动化高级讲师,高级技师,多年工业自动化项目现场经验,对工控行业有自己独特的理解 ,参与并设计/调试了多个国内中大型项目,主导完成了《西门子S7-200SMART综合应用教材》《西门子S7-300、400高级应用》《WinCC7.4高级应用》《EPLAN P7电气制图》等多本自动化行业实训教材
前 言: 西门子的WINCC软件提供了方便的变量归档,报警归档备份功能。但没想到的是Wincc的用户归档没有自动备份功能。配方数据及用户归档存储的报表记录数据确是生产的关键数据,需要定时定期备份。 结合Wincc可以灵活的定义重复执行的时间。可以灵活控制备份的周期,备份文件的保留方式。具体看现场实际要求,部分脚本如下: 实际测试,备份速度基本是ms级别,截图如下。 方法三: 使用WINCC提供的C指令 WinCC ODK uaArchiveExport 与uaArchiveImport函数 详细的指令有兴趣的可以查询西门子的官方帮助手册。
我见到过的,听到过的数据库归档的方法有以下几种 1 数据通过人工的手段来进行清理,直接将表换名字,然后在重建一个新的表,承接数据。 下面就是一个MYSQL 针对一个数据库表归档的案例(这个案例也是有缺陷的,但目前是秉承着够用就好,以及时间成本的原则) 首先设计一个归档要考虑的问题如下 1 归档表的大小,以及每日最大,或最小的归档数据量 2 归档的数据量,数据归档一般根据上面的东西,归档有一次性归档,和规律有固定日期的归档,一次性的归档一般归档的数据量比较大,而有规律的归档则归档的数据量并不大,对比两者的方式,其实定期归档(有规律)的要有优势一些 以下以最简单的自动化的方案来讲 下图是基于案例来讲的 因为数据库是MYSQL 所以考虑了归档一次是多大的批量,避免归档数据量过大的时候将生产库hang 死,另外配置表主要的功能是有两个 1 限制一次拷贝和清理的数据量 declare save_month tinyint; #保留多少月之前的数据 declare times int; #执行次数记录 declare min_row_s int; # 当前数据库最小的
正 文 特别提示:懂得并理解用户归档(基础)以后才能学习本教程内容,否则不保证学习效果 什么是ID?作业?域?数值? 32位 域 文本变量8位 数值 文本变量8位 对应数据类型 建立ID,作业,域,数值(根据实际编程需要选择是内部变量还是外部变量,这里是讲解演示,以内部变量给大家进行实验) 运行演示: 1,WINCC 如果已经激活,先取消激活 2,保存 运行 刚才的用户归档画面 域和值的使用 如何添加在每行中添加固定的中文说明: 保存 运行 作者简介 工控班长(张勇):工业自动化高级讲师 ,高级技师,多年工业自动化项目现场经验,对工控行业有自己独特的理解,参与并设计/调试了多个国内中大型项目,主导完成了《西门子S7-200SMART综合应用教材》《西门子S7-300、400高级应用》《WinCC7.4
前段时间的一个项目用SE的vba做了一套报表,运用的是时间触发计数,每小时记一次,一个班记8次数据,本次这次项目需要用WINCC做报表,触发条件是事件触发,WINCC自带报表功能可以满足,但是WINCC 对数据归档的数量有限制,而且记录的数据会出现一次数据分两行或者三行记录,数据拆分。 \wincc" '拼写访问数据库的字符串,包括驱动名称、数据库、访问权限等 cn.Open '执行打开数据库指令 is_SQL="INSERT INTO ribaoVALUES('"&riqi&"',' 以上是记录数据的程序,在记录数据前需要先在SQL里面建一个DATA数据库,并在DATA数据库建一个riqi表。 \wincc" '创建一个ADO连接,连接运行数据库DATA Set conn = CreateObject("ADODB.Connection") '创建ADO连接对象,对数据库操作 conn.ConnectionString
什么是tar 内容写入归档 如何从本地磁盘读取归档文件的内容呢? 什么是tar ? 也是Linux常见的压缩归档的处理方法 内容写入归档 package main import ( "archive/tar" "bytes" "fmt" "io" "log" (buf) 参数是一个缓冲类型的指针 3.写入归档文件时 需要先创建一个文档的头部 tar.Header 添加相应的参数 比如文件的名称 文件长度 和模式等等 4.内容全部写入归档缓冲区后,请调用close ()关闭归档写入 如何将归档后的文件写入磁盘? ioutil.WriteFile("归档",buf.Bytes(),os.ModePerm) ? image.png 如何从本地磁盘读取归档文件的内容呢?
归档 基本概念 - 对象归档是指将对象写入文件保存在硬盘上,当再次重新打开程序时,可以还原这些对象。你也可以称他为对象序列化,对象持久化。 数据持久性的方式 NSKeyedArchiver --- 对象归档 NSUserDefaults 属性列表化(NSArray、NSDictionary保存文件) SQlite数据库、Core Data数据库 归档的形式 对Foundation库中对象进行归档 自定义对象进行归档(需要实现归档协议,NSCoding) 归档后的文件是加密的,属性列表是明文的。 示例 归档(序列化) //对数组进行归档,归档文件名为temparray 后缀名可以任意 NSString *homeDirectory = NSHomeDirectory(); NSArray * %@",unArray); 自定义内容归档示例 归档 使用 NSData 实例作为归档的存储数据 添加归档的内容(设置key与value) 完成归档 将归档数据存入磁盘中 解归档 从磁盘读取文件,生成
1 <概述> <大多数 WinCC 项目都需要显示历史归档数据,可以制作专门的趋势曲线画面来显示重要参数的归档数据,也可以通过点击工艺画面中实时参数显示的对象来弹出对应的变量的归档数据。 > 1.1 <解决思路> <总体解决思路是通过 WinCC 的 GetLink 函数来获取指定的 WinCC 对象所链接的变量,同时弹出带有在线趋势的画面,接着在弹出画面的画面打开事件中加载已经获取的变量对应的历史归档数据到在线趋势 2 <创建变量> <本例中,在 WinCC 创建变量,用于仿真参数及归档数据。如图 1 所示。 其中,变量“Tagn”用于保存获取到的对象属性动态化所链接的变量名称。 3 <归档组态> <在 WinCC 中创建过程值归档“pva”,并添加在图 1 中所创建的变量,如图 2 所示。 启动列表中选择“变量记录运行系统”和“图形运行系统”,并激活 WinCC 运行系统。
(最多 32 个字符), @102%s@ = 用户名称(最多 16个字符) , @103%s@ = 消息归档列表中的消息注释(最多 255 个字符)。 > 1.2 <MSRTSetComment 函数> <MSRTSetComment 是 WinCC ODK 函数,需要安装 WinCC ODK 库才能使用。 2 <创建变量> <在 WinCC 创建以下内部变量,用于触发报警并保存所选报警的时间信息。 这其中,变量“alarm1”用于触发 WinCC 报警。 然后按着鼠标右键拖拽文本到 WinCC 画面,松开鼠标,在弹出对话框中选择“插入组合框”。 最后,具有四项原因文本的组合框被插入到 WinCC 画面。 > 4.3 <设置报警视图属性> <双击报警视图控件,在“常规”栏下为打开画面是显示的列表选择“1-短期归档列表”,并取消“自动滚动”选项,如图 8 所示。
因TIA V15/V15 SP1 WinccPro与经典版的WINCC V7.X不兼容,即使卸载博途自带的WINCC也无法解决,而且经典版的WINCC即使安装上去,运行时也会出问题,运行画面为空白页 ,其他可以不选,如下图(下图为安装WINCC pro的截图,安装WINCC adv的过程与此类似。 安装完毕后,按照下图示例,打开已安装的软件信息 最终: “恢复”已归档的旧版本的程序,按照提示升级即可。 至于经典版的WINCC与博途TIA PortalWincc的区别,我个人分的不是很清楚,还是倾向于用博途的WINCC组态触摸屏,而用经典版的WINCC V7.X作为工控机监控。 个人认为经典版的WINCC在支持冗余、脚本、软件系统架构方面功能更强,习惯用SIMATIC管理器来归档备份上位机项目,组态ES-OS、C/S架构,下载更新项目到各个操作站/服务器。
(最多 32 个字符), @102%s@ = 用户名称(最多 16 个字符) , @103%s@ = 消息归档列表中的消息注释(最多 255 个字符)。 > 1.2 <MSRTSetComment 函数> <MSRTSetComment 是 WinCC ODK 函数,需要安装 WinCC ODK 库才能使用。 2 <创建变量> <在 WinCC 创建以下内部变量,用于触发报警并保存所选报警的时间信息。 这其中,变量“alarm1”用于触发 WinCC 报警。 然后按着鼠标右键拖拽文本到 WinCC 画面,松开鼠标,在弹出对话框中选择“插入组合框”。 最后,具有四项原因文本的组合框被插入到 WinCC 画面。 > 4.3 <设置报警视图属性> <双击报警视图控件,在“常规”栏下为打开画面是显示的列表选择“1-短期归档列表”,并取消“自动滚动”选项,如图 8 所示。
一看原来归档满了。我记得前几天做一个批量操作临时把temp文件resize了很大,限于本地空间有限。准备改回去。把多余的归档删除了。 sqlplus n1/n1 .... 看来得删除归档文件了。然后到归档目录下尝试删除,结果这个时候rm似乎不管用了,命令执行了,但是归档文件还在那。我想是不是有系统级的问题了。 看到重做日志归档失败。
自 WinCC V7.5 起,您可使用“WinCC Cloud Connector”在云端(如“Amazon AWS”)建立直接通信。 解决方案 自 WinCC V7.5 起,“Cloud Connector”提供了一种将变量从 WinCC 变量预算发送到云端(Amazon Web Service,简称为“AWS”)的方法。 以下文档描述如何对“WinCC Cloud Connector”进行组态,以及如何在云端存储变量。 操作简介: 1.开启Cloud Connector 双击SIMATIC WinCC Explorer打开项目管理器。 进入计算机属性,开启Cloud Connector。 代理地址填:MQTT服务器的IP地址,代理端口填:1883,站名称:可以自定义 3.配置单个变量属性,在右下角属性开启WINCC云 进入WINCC变量管理 选中变量,在属性里激活WINCC云 定义数据上传周期
DG环境数据库RMAN备份策略制定: 主库(Primary) 全库备份 归档备份 删除历史文件夹 备库(Standby) 删除归档 引用说明 主库(Primary) $ crontab -l 0 disk; crosscheck backupset; delete noprompt expired backupset; delete noprompt obsolete; exit EOF 归档备份 -mtime +7 | xargs rm -rf 备库(Standby) $ crontab -l 0 3 * * * /usr2/del_arch/del_arch.sh 删除归档 more ,具体根据自己的归档文件格式来匹配,关键是匹配日志的sequence no。 del_seq=$(( $del_seq + 1 )) done echo "删除归档日志结束:`date`……">>$LOG_FILE #清楚controlfile中信息 $ORACLE_HOME
链接:http://www.eygle.com/archives/2010/11/recover_archivelog_corruption.html 最近在紧急故障处理时,帮助用户恢复数据库遇到了一则罕见的归档日志损坏案例 在进行归档recover时,数据库报错,提示归档日志损坏: *** Corrupt block seq: 37288 blocknum=1. 如果这个归档日志损坏了,其实我们仍然有办法跳过去,继续尝试恢复其他日志,但是客户数据重要,不能容忍不一致性,这时候就只能放弃部分数据,由前台重新提交数据了。这在业务上可以实现,也就不是大问题了。 在这个归档日志文件中,被写入了大量的跟踪文件内容,其中开头部分就是一个跟踪文件的全部信息。 这是一种我从来没有遇到过的现象,也就是说,当操作系统在写出跟踪文件时,错误的覆盖掉了已经存在的归档文件,最后导致归档日志损坏,非常奇妙,从所未见。
JZGKCHINA 工控技术分享平台 变量“A”这个变量不存储数值(1、2、3这样的数字)而是存储另外一个变量的名字,比如变量“A”里面存变量“B”,这个“B”就是一个变量的名称,WinCC里用这样间接寻址的方式可以让一个变量去存储另外一个变量的名称 ,这样间接的去存储对应的数值,有了这个功能以后在WinCC里可以一个元件的功能给多个变量使用。 WinCC变量间接寻址图形说明: 下面我们用间接寻址的方式完成一个小功能 按下对应的温度按钮,显示框显示对应的温度值 第一步:建立变量 (1)建立外部变量(这里用MPI通讯为例)分别建立变量Temperature ,高级技师,多年工业自动化项目现场经验,对工控行业有自己独特的理解,参与并设计/调试了多个国内中大型项目,主导完成了《西门子S7-200SMART综合应用教材》《西门子S7-300、400高级应用》《WinCC7.4
腾讯云归档存储(Cloud Archive Storage, CAS)是面向企业和个人开发者提供的低成本、高可靠且易于管理的云端离线存储服务,适用于海量、非结构化数据长时间备份,实现数据的容灾和c。归档存储采用分布式云端存储,您可以通过 RESTful API 对存储的数据进行访问。归档存储易于管理,您无需关心硬件维护及容量扩展;按实际使用量付费,为您节省额外成本。
扫码关注腾讯云开发者
领取腾讯云代金券