找答案的高端用户(找答案钻石及双钻级别的用户)将尽可能从此问题下的所有回
答中,为您推荐最佳答案。届时您可以根据推荐数采纳答案。
如果自提问时间起7天内您仍无法选出最佳答案,您可以选择“无满意答案”关闭此问题。
1.这种现象不正常,你先看看项目的ArchiveManager文件下有没有快速或长期归档记录,若没有那么可能是人为删除归档记录了。若有打开wincc项目变量记录--归档组态--TagLoggingFast 和 TagLoggingSlow 点击右键选“从归档断开连接”看看能不能连上以前的记录。
2.WINCC数据报表实现方法:
http://www2.ad.siemens.com.cn/download/Upload/AS/application/A0300.pdf
WinCC与Excel,VB的本地DDE通讯(更新版)
文档编号:A0106
http://www.ad.siemens.com.cn/download/searchResult.aspx
使用SFB37 (AR_SEND) 功能块,用户可以基于过程驱动向WinCC变量归档中传输一个或多个过程变量。为此,用户首先需要将这些过程数据带上事件标签统一收集到一个相应的数据区域中,并传送给功能块 AR_SEND。当用户定义的事件发生时,AR_SEND 功能块将会被调用并将一个或多个数据块传送到WinCC的归档数据中。WinCC将这些收集到的原始数据存储在相应的归档中。并调用标准化动态连接库 "nrms7pmc.dll" 来解释这些收集到的原始数据。为了这些原始数据能被动态连接库正确的解释并归档,这些数据在发送之前其存储的格式必须符合动态连接库的标准。下图简单演示了过程驱动归档的方式。
图 01
注意:
转换动态连接库DLL不检查数据的相关时间顺序。也就是说,即使新的时间标签数据已经被归档,老的过程数据同样可以使用 AR_SEND 功能块归档。
过程驱动归档变量被存储在 "TagLoggingFast" 归档中。因此,用户需要注意变量归档编辑器中"Archive Configuration" 的有关归档片段时间周期、最大尺寸等的设置。
通过AR_SEND 功能块进行过程驱动归档如下表所示。
编号
过程
1 定义归档数据格式
WinCC变量归档转换动态连接库 "nrms7pmc.nll" 为不同的应用定义了不同的数据格式。因此,在AR_SEND的一个发送数据包中可以发送一个或多个过程变量的归档数据。同时,一个过程变量的一个或多个过程数据又可以使用不同的时间标签。WinCC标准化动态连接库定义了如下各种不同的日期时间标签方式:
过程变量:预定义开始时间值,时间间隔相等
过程变量:每个值都带有自己的时间戳
过程变量:给出开始时间值的相对时间差
有关要传输数据块结构的详细描述,请参见 WinCC 在线帮助的 "WinCC Information System > Communication > SIMATIC S7 Protocol Suite > Special functions > Data exchange with the S7 function block AR_SEND" 。
图 02 显示了将几个随时间变化的过程值与相应的时间戳传递到过程变量(归档变量)时的数据块基本结构。
图 02
2 在 STEP 7项目中组态 AR_SEND 发送块
图 03 显示了从块库插入 CFC 图中时的 AR_SEND 块。这种情况下它没有互连,因为此图只简单显示了块上可用的输入和输出。图 04 将给出相应的 STL 代码。
图 03
图 04
在 STEP 7中组态 AR_SEND 的步骤如下所示。
创建数据区,用于接收要传送过来的数据。此数据区的结构必须和 WinCC 标准 DLL 支持的格式一致。此数据区作为输入端 "SD_1" (ANY) 上的 ANY 指针传送到 AR_SEND 块。在 "LEN" (WORD) 输入端,必须用十六进制格式按字节指定要传送的数据区的长度。
注意事项:
AR_SEND 块不使用 ANY 指针中的长度规定。
当 AR_SEND 块被合并时,系统会自动分配唯一的 "AR_ID"(DWORD),该值不能被更改。缺省情况下为 "ID"(WORD) 输入端分配值 "W#16#EEEE"。一定不能更改此值。当在STL或SCL源程序中手动集成AR_SEND块时,用户需要手动分配该值。
创建程序段,用于在运行期间用过程值填充要传送的数据区。一旦数据区被有效值完全填满,可以在控制器输入端 "REQ"(BOOL) 上施加一个上升沿触发发送过程。控制器输入端 "R"(BOOL) 用于中断正在进行的发送作业。输出端 "DONE"(BOOL) 表示发送已完成。如果处理时出现错误,会在输出端 "ERROR"(BOOL) 处提示。输出端 "STATUS"(WORD) 给出详细的出错信息。
关于 S7 功能块 SFB37 (AR_SEND) 的信息可以在参考手册 "System Software for S7-300/400 System and Standard Functions",条目号 1214574 中找到。
注意事项:
在这篇文章中,我们有意识地略去了 SFB37 (AR_SEND) 块直接互连的说明。可以这样做,但建议不要在没有“卡套”(block sleeve)(FB 中没有互连)的情况下,直接在 CFC (例如使用 PCS 7) 或在 LAD/FBD/STL 编辑器 (使用 STEP 7) 中直接使用SFB37。应该根据具体应用创建用户自己的功能块 (FB),满足特殊的传送需求。
将特定应用的功能块和通过 AR_SEND 进行的归档一起使用有下列一些优点:
只需设置和测试功能块一次。然后可以多次使用它,这将节省大量时间,因为 AR_SEND 的实际互连只需进行一次。在某些情况下,互连 AR_SEND 块所花费的时间可能很长。例如,可能需要收集某段时间内的多个过程值的数据,然后在一个 AR_SEND 消息中一起发送。如果消息还没有处理完,则可能需要继续收集过程数据。评判处理块时出现的错误信息通常非常有用。
可以使用 FB 的背景数据来避免组态错误 (例如,分配存储单元两次)。
可以在 STL 源代码中合理地互连将被归档的数据。
可以在背景 DB 中创建将要传送的数据区。可以通过多背景的方式调用 SFB37 (AR_SEND)。AR_SEND 块的相关输入/输出端应该在新建的 FB 的接口上提供。确保以外部连接的方式连接了 AR_SEND 块的输入端 AR_ID,并分配了系统属性 S7_server:='alarm_archiv' 和 S7_a_type:='ar_send'。这样,当在程序中合并 FB 时,STEP 7 会分配一个唯一的 AR_ID。条目号 23629424 包括了一个如何使用 SFB37 (AR_SEND) 的实际示例。
3 在 WinCC 中组态过程驱动归档
在 WinCC 中按下列步骤进行组态。
WinCC Tag Manager:在 SIMATIC S7 协议组中创建连接
在 WinCC Tag Management 中,在 SIMATIC S7 协议组的通道单元(例如 MPI 或工业以太网)中组态与 S7 控制器的通讯连接。
注意事项:
确保分配了正确的参数,特别是在 "Connection properties" 对话框中分配了正确的 "Slot Number"。
WinCC Tag Management:创建原始数据类型为 "Archive Data Link" 的原始数据变量
在用于数据传送的 S7 连接中,可以创建 "Raw Data Type" (原始数据类型)的变量。变量名称不得超过24个字符,因为在某些情况下,此名称可能是归档变量名的一部分。
图 05
通过 "Select" 按钮,可以打开 "Address properties" 对话框。在原始数据变量 "Address properties" 对话框的 "Raw Data Type" 区域中选择 "Archive Data Link"。
图 06
WinCC Tag Logging:创建过程控制的归档变量
打开 Tag Logging。在 Process Value Archive 中创建一个过程控制变量。操作过程如下:在弹出式菜单 "New Process Controlled Tag..." 中按下 "Select" 按钮打开一个选择对话框,在其中选择将提供归档变量的原始数据变量 (Raw Data Tag);在 "Archive Tag Name" 域内分配一个和内部归档变量名不同的名称;在 "Conversation DLL" 区域内,必须选择 "nrms7pmc.nll",这是缺省值。
图 07
在 "Conversion DLL" 区域中按下 "Options..." 按钮打开对话框,分配相关 AR_ID ,并且在必要时分配 AR_ID 子编号。
图 08
注意事项:
必须在 "AR_ID" 输入域内输入 STEP 7 中为相关 AR_SEND 块上的 "AR_ID" 参数分配的编号。
如果使用 AR_SEND 块发送用于多个归档变量的过程数据,则使用 AR_ID 子编号将一个消息中的多个过程变量的过程数据分配给不同的归档变量。AR_ID 子编号由 AR_SEND 块调用的程序人员分配。如果在一个 AR_SEND 块调用内传送多个过程变量,则实际过程值和关联的 AR_ID 子编号被一起输入到要传送的数据区域内。在这里,我们假设您了解如何分配 AR_ID 子编号到 AR_SEND 调用的过程和归档变量。
条目号:23629327 日期:2006-12-11
http://support.automation.siemens.com/CN/llisapi.dll?func=cslib.csinfo&lang=zh&siteid=cseus&objid=23629327
2.用户导入/导出文件实例
问题:
一个WinCC用户归档的运行时的数据的导入/导出文件的格式是怎样的?
解答:
下表所示为一个用户归档编辑器的用户界面。其中带有名为“Drinks Production”的已组态的归档。
Beispiel_Anwenderarchiv01_e.gif ( 17 KB )
例如,要导出这个归档到一个csv文件中并用Notepad打开它,文件格式就会显示在下面的图表中。
然后可以通过打开Excel和选择菜单命令 文件 〉打开来把该文件导入到Excel中。接下来选择*.csv文件。在显示出的文本助理中,按如下方式选择:
- 第一步:原文件类型:“separate”
- 第二步:分隔符:“分号”
这能够保证正确的文件导出。但是,如果直接导出到一个Excel文件中,那么经常会因为Excel而出现问题。
请注意,导出文件中的列标题不包含在以上的屏幕画面中。WinCC V5.1及更高的版本中,列标题也会被导出。
关于用户归档数据记录的导出和导入,可参见条目ID 8972156。
关键字:
RT数据,文件格式
条目号:8970879 日期:2003-04-21
http://support.automation.siemens.com/CN/llisapi.dll?func=cslib.csinfo&lang=zh&siteid=cseus&objid=729763
首次回答问题,获得
双倍西币积分!
立即成为技术知识分享的一员!
找答案微信小程序
提问
搜索
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!