如何使用 SFB37 (AR_SEND) 做过程驱动归档,将过程值归档到 WinCC 变量记录归档中?

描述
使用SFB37 (AR_SEND)功能块,用户可以基于过程驱动向 WinCC 变量记录传送一个或多个过程值。为此,需要将这些过程值附加时间戳统一搜集到相关的数据区并传送给 AR_SEND 功能块。当用户定义的事件发生时,AR_SEND功能块将会被调用并且将一个或多个数据块的数据归档传送到WinCC。WinCC 将这些收集到的原始数据存储在相应的归档中,并调用标准化动态链接库 "nrms7pmc.dll" 来解释这些原始数据。为使这些归档数据能被动态链接库正确的解晰,其在发送之前的存储格式必须符合动态链接库的标准。下图简单演示了过程驱动归档的方式。 n

如何使用 SFB37 (AR_SEND) 做过程驱动归档,将过程值归档到 WinCC 变量记录归档中?
图. 01n

注意

  • 转换 DLL 不检查数据的相关时间顺序。也就是说,即使拥有新的时间戳的数据已经被归档,老的过程数据同样可以使用 AR_SEND 功能块归档。n
  • 过程驱动归档变量默认存储在 "TagLoggingFast" 归档中。(可查看条目号21738144)。因此,用户需要注意变量归档编辑器中"归档组态" 的有关归档片段时间周期、最大尺寸等的设置。

通过AR_SEND 功能块进行过程驱动归档的步骤如下表所示。
n

序号 步骤
1

定义归档数据的数据格式
WinCC变量归档标准化动态链接库 "nrms7pmc.nll" 为不同的应用定义了不同的数据格式。因此,在AR_SEND的一个发送数据包中可以发送一个或多个过程变量的归档数据。同时,一个过程变量的一个或多个过程数据又可以使用不同的时间戳。WinCC标准化动态链接库定义了如下各种不同的日期时间标签方式:n

  • 过程变量:预定义开始时间,时间间隔相等n
  • 过程变量:每个值都带有自己的时间戳n
  • 过程变量:给出开始时间值的相对时间差

有关要传输数据块结构的详细描述,请参见 WinCC 在线帮助的 "WinCC Information System > Communication > SIMATIC S7 Protocol Suite > Special functions > Data exchange with the S7 function block AR_SEND" 。
图 02 显示了将几个随时间变化的过程值与相应的时间戳传递到过程变量(归档变量)时的数据块基本结构。n

如何使用 SFB37 (AR_SEND) 做过程驱动归档,将过程值归档到 WinCC 变量记录归档中?
图. 02

2在 STEP 7项目中组态 AR_SEND 发送块
图 03 显示了从块库插入 CFC中时的 AR_SEND 块。这种情况下它没有互连,因为此图只简单显示了块上可用的输入和输出。图 04 将给出相应的 STL 代码。
n

如何使用 SFB37 (AR_SEND) 做过程驱动归档,将过程值归档到 WinCC 变量记录归档中?
图. 03n

如何使用 SFB37 (AR_SEND) 做过程驱动归档,将过程值归档到 WinCC 变量记录归档中?
Fig 04n

在 STEP 7中组态 AR_SEND 的步骤如下所示。n

  • 创建数据区,用于接收要传送过来的数据。此数据区的结构必须和 WinCC 标准 DLL 支持的格式一致。此数据区作为输入端 "SD_1" (ANY) 上的 ANY 指针传送到 AR_SEND 块。在 "LEN" (WORD) 输入端,必须用十六进制格式按字节指定要传送的数据区的长度。

    注意事项:
    AR_SEND 块不使用 ANY 指针中的长度规定。

    当 AR_SEND 块被合并时,系统会自动分配唯一的 "AR_ID"(DWORD),该值不能被更改。当在 CFC 合并的时候,为 "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 中找到。n

注意

在此条目中,我们有意识地略去了 SFB37 (AR_SEND) 块直接互连的说明。应该根据具体应用创建用户自己的功能块 (FB),满足特殊的传送需求。n

将特定应用的功能块和通过 AR_SEND 进行的归档一起使用有下列一些优点:n

  • 只需设置和测试功能块一次。然后可以多次使用它,这将节省大量时间,因为 AR_SEND 的实际互连只需进行一次。在某些情况下,互连 AR_SEND 块所花费的时间可能很长。例如,可能需要收集某段时间内的多个过程值的数据,然后在一个 AR_SEND 消息中一起发送。如果消息还没有处理完,则可能需要继续收集过程数据。评判处理块时出现的错误信息通常非常有用。n
  • 可以使用 FB 的背景数据来避免组态错误 (例如,分配存储单元两次)。n
  • 可以在 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) 的STL和SCL的实际示例。

3在 WinCC 中组态过程驱动归档
在 WinCC 中按下列步骤进行组态

  • WinCC 变量管理:在 SIMATIC S7 协议集中创建连接
    在 WinCC 变量管理中,在 SIMATIC S7 协议集的通道单元(例如 MPI 或工业以太网)中组态与 S7 控制器的通讯连接。

    注意:

    确保分配了正确的参数,特别是在 "连接属性" 对话框中分配了正确的 "插槽号"。
  • WinCC变量管理:创建原始数据类型为 "Archive Data Link" 的原始数据变量
    在用于数据传送的 S7 连接中,可以创建 "Raw Data Type" (原始数据类型)的变量。变量名称不得超过24个字符,因为在某些情况下,此名称可能是归档变量名的一部分。

    如何使用 SFB37 (AR_SEND) 做过程驱动归档,将过程值归档到 WinCC 变量记录归档中?
    图. 05

    通过 "选择" 按钮,可以打开 "地址属性" 对话框。在原始数据变量 "地址属性" 对话框的 "Raw Data Type" 区域中选择 "Archive Data Link"。

    如何使用 SFB37 (AR_SEND) 做过程驱动归档,将过程值归档到 WinCC 变量记录归档中?
    图. 06

  • WinCC 变量记录:创建过程控制的归档变量
    打开变量记录。在 Process Value Archive 中创建一个过程控制归档变量。操作过程如下:在弹出式菜单 "New Process Controlled Tag..." 中按下 "Select" 按钮打开一个选择对话框,在其中选择将提供归档变量的原始数据变量 (Raw Data Tag);在 "Archive Tag Name" 域内分配一个和内部归档变量名不同的名称;在 "Normalization DLL" 区域内,必须选择 "rms7pmc.nll",这是缺省值。

    如何使用 SFB37 (AR_SEND) 做过程驱动归档,将过程值归档到 WinCC 变量记录归档中?
    图. 07

    在 "Normalization DLL" 区域中按下 "Options..." 按钮打开对话框,分配相关的 AR_ID ,并且在必要时分配 AR_ID 子编号

    如何使用 SFB37 (AR_SEND) 做过程驱动归档,将过程值归档到 WinCC 变量记录归档中?
    图. 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 调用的过程和归档变量。

额外的关键字
GMP, Pharma, 生命科学, 有效性, FDA 21 CFR Part 11

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc330431.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年11月5日
下一篇 2021年4月12日

相关推荐

发表回复

登录后才能评论