0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

WINCC使用系统函数和运行系统脚本

机器人及PLC自动化应用 来源:机器人及PLC自动化应用 作者:机器人及PCL自动化 2021-03-10 15:59 次阅读

使用系统函数和运行系统脚本

运行系统脚本 (Panels, RT Advanced, RT Professional)

运行系统脚本

指代用户自定义函数和局部脚本中所有活动的通用术语。

函数

指代系统函数和用户自定义函数的通用术语。

系统函数

系统函数是所有随 WinCC 一同提供的函数。系统函数可应用在函数列表、用户自定义函数或局部脚本中。

用户自定义函数

用户自定义函数是指在“脚本”编辑器中编写的函数。为了更准确的加以说明,本文档中使用术语“用户自定义 VB 函数”和“用户自定义 C 函数”。

局部脚本

局部脚本是指在使用的位置直接创建的脚本(例如对象属性),并且具有周期性或非周期性触发器。为了更准确的加以说明,本文档中使用术语“局部 VB 脚本”和“局部 C 脚本”。

VBS/VBScript

Visual Basic Script 的缩写形式

应用运行系统脚本

下图可作为应对编程任务的决策指南:

o4YBAGBIfa6AftGXAABhWeZt9D8721.png

WinCC RT Advanced 和面板不支持局部脚本。

自定义函数或局部脚本?

使用用户自定义的函数或者使用局部脚本完成编程任务,这取决于应用目的并最终取决于用户自定义函数或局部脚本的数量。

局部脚本可用于各种后台活动,例如日常打印或记录、变量的监视或者计算的执行。

通过自定义函数,只需创建一次就可以在项目中重复使用代码。需要时,只需调用相应的自定义函数即可,而无需多次输入代码。这样代码将更加清晰并易于维护。

系统函数

● 函数列表

发生特定事件时,可通过函数列表来执行组态的系统函数。

● 用户自定义函数

如果 HMI 设备支持用户自定义函数,可以将系统函数与用户自定义函数代码中的指令和条件结合使用。这样,便可以根据特定的系统状态来执行自定义函数。此外,还可以计算系统函数的返回值。利用返回值可以执行测试函数,继而影响函数流。

● 函数列表

组态函数列表时,从按类别排序的选择列表中选择系统函数:

● 用户自定义函数

如果在用户自定义函数中使用系统函数,可以在选择列表中进行选择。要打开选择列表,请使用快捷键或单击 。

用户定义的函数 (Panels, RT Advanced, RT Professional)

自定义函数可用于以下情况:

● 组态函数列表

在自定义函数中,自定义函数和系统函数可以按一定的条件来执行,还可以重复执

行。然后将该用户自定义函数添加到函数列表中。

● 编写新函数

自定义函数仅在定义它们的项目中有效。对于用户自定义函数,可定义传送参数和返回

值以实现数值的转换。

在函数列表中只能使用属于同一种编程语言的用户自定义函数。选择的首个用户自定义函

数将决定随后在该函数列表中可选择的是 VB 函数还是 C 函数。

自定义函数的组织

通过“脚本”编辑器创建自定义函数。更多信息,请参见““脚本”编辑器 (页 7082)”。自定义函数保存在项目中。要保护用户自定义函数,请设置专有技术保护。

● 项目树

用户自定义函数显示在项目树的“VB 脚本”(VB scripts) 或“C 脚本”(C scripts) 下。

● 函数列表

用户自定义函数显示在函数列表的“VB 函数”(VB functions) 或“C 函数”(C functions) 下。

● 用户自定义函数

如果在用户自定义函数中使用系统函数,可以在选择列表中进行选择。要打开选择列

表,请使用快捷键或单击 。

局部脚本 (RT Professional)

可将局部脚本用于以下操作:

● 动态化对象

可使用局部脚本确定运行系统中某对象属性的值。例如,通过此方法可根据变量值更改

颜色。

● 在任意时间点执行任务。

可使用局部脚本规划工作,例如在每天换班交接时打印输出日志。

局部脚本的属性

在使用的位置直接创建局部脚本。局部脚本具有以下属性:

● 预定义名称

● 预定义参数

● 预定义返回值(可选)

● 只能在使用的位置进行更改

● 不具有触发器

● 调用自定义函数、系统函数

触发器

在运行系统中执行局部脚本时需要使用触发器。触发器可以在创建局部脚本时自动确定,也可以由项目经理指定。

WinCC 支持以下触发器:

● 非周期性触发器,例如,规划单次终止运行系统以进行维护工作。

● 周期性触发器,例如,规划一项启动日常日志打印的作业。

● 事件,例如,单击按钮时。

下表列出了不同类型的触发器:

pIYBAGBIfc6APtjoAACprSroSN8127.png

触发器可用于以下编辑器:

● 调度程序

首先需要在调度程序中组态触发器。然后将该触发器连接到局部脚本或函数列表。

● 画面

要对对象属性做动态化处理,首先应在相应画面的属性列表中组态局部脚本。

在创建局部脚本时会自动确定触发器。可更改该触发器,例如可更改为变量触发器。

关于函数列表的基础知识

原理

针对对象(例如画面对象或任务等)的事件来组态函数列表。可以将函数列表精确地组态到每个事件上。可用事件取决于所选择的对象和HMI设备。

组态函数列表

通过从下拉列表中选择系统函数和自定义函数来组态函数列表。系统函数根据类别排列在选择列表中。

在函数列表中只能使用属于同一种编程语言的自定义函数。选择的首个用户自定义函数将决定随后在该函数列表中可选择的是用户自定义 VB 函数还是用户自定义 C 函数。哪些编程语言可用取决于所选的 HMI 设备。

步骤

要组态函数列表,请按如下步骤进行操作:

1. 打开对象所在的编辑器。

2. 选择对象。

3. 在巡视窗口中单击“属性 > 事件”(Properties> Events)。选择要对其组态函数列表的事件。

4. 在巡视窗口的下拉列表中标记“<添加函数>”() 条目。

5. 从选择列表中选择所需的系统函数或用户自定义函数。也可输入该系统函数或用户自定义函数的名称。

系统函数或自定义函数已输入到函数列表中。

6. 如果该系统函数或自定义函数具有参数,则为参数选择合适的值。

7. 如果要向函数列表中添加其它系统函数或用户自定义函数,请重复步骤 4) 到步骤 6)。

函数列表组态已经完成。除了组态的事件,函数列表的状态也显示在巡视窗口中。在运行系统中发生组态的事件时,函数列表从上至下执行一遍。

更改系统函数或自定义函数的顺序

1. 在函数列表中选择所需的系统函数或自定义函数。

2. 然后在巡视窗口中单击相应的方向箭头,直到该系统函数或自定义函数移动到所需位置。

“脚本”编辑器 (Panels, RT Advanced, RT Professional)

“脚本”编辑器具有诸如自动完成和语法突出显示等功能,有助于用户自定义函数的创建。

可以使用“指令”(Instructions) 任务卡插入频繁使用的指令的代码模板。

访问 HMI 变量 (Panels, RT Advanced, RT Professional)

通过 VBS 或 C,可访问项目中已创建的 HMI 变量。可在运行系统中通过用户自定义函数更改或读取 HMI 变量的值。

还可创建局部变量,作为计数器或缓冲器。每个局部变量都必须经过初始化,以防止由于错误写入局部变量而导致的错误。

HMI 变量

● WinCC Runtime Advanced 和面板

在变量映像中创建的变量值将保存在用户自定义函数中。然后,会将变量值更新为设置周期时间。用户自定义函数首先会访问上一个周期中读取的变量值。

如果变量名称与项目中 VBS 的命名约定匹配,则可按如下方式在用户自定义函数中使用该变量。

'VBS_Example_03

If BeltDriveOilTemperature > 100 Then [instruction]

如果项目中的变量名称与 VBS 命名约定不匹配,则必须通过“SmartTags”列表引用该变量。在以下示例中,变量名称包含“&”字符,其不符合 VBS 的命名约定。

'VBS_Example_04

SmartTags("Test&Trial")= 2005

● WinCC Runtime Professional

访问功能与在 HMI 设备中使用 WinCC Runtime Advanced 和面板进行访问相同。还可以以异步方式访问变量值。PLC 中的变量值以异步访问方式直接访问。在局部脚本或用户自定义 C 函数中按如下方式访问变量值:

– SmartTags 列表 (VBS)

– 带有 Read-/Write 方法的 Tags 列表 (VBS)

– GetTag 函数 (C)

– SetTag 函数 (C)

当调用方法或用户自定义函数时,立即读取 PLC 中的变量值。变量值并不定期更新,这与从变量映像中读取的情况不同。

运行系统脚本

PLC 数组元素的索引可以任何数字开头。但在 WinCC 中,始终从 0 开始索引。例如,PLC 变量“Array [1..3] of Int”映射到 WinCC 中的“Array [0..2] of Int”。在脚本中访问数组时,须注意正确的索引顺序。

访问带有动态名称的 HMI 变量(WinCC Runtime Advanced 和面板)

用户自定义 VB 函数通过变量名称访问变量值。可以以这样一种方式来指定变量名称,即变量名称在用户自定义函数运行时构成。

如果只是在画面中调用用户自定义 VB 函数且其中的 HMI 变量还用在其它位置,例如,在 I/O 字段中使用,则出于性能方面的原因,应将该 HMI 变量组态为“操作时循环”采集模式。

如果访问用户自定义 VB 函数且当前显示的画面中未使用 HMI 变量,则将 HMI 变量组态为“循环连续”采集模式。这样可确保该变量的当前值始终可用。

示例:更换在 HMI 设备上当前显示的操作模式。

在本示例中,使用系统函数“SetDeviceMode”在 HMI 设备上切换“在线”和“离线”模式。也可在 HMI 设备上显示当前设置的操作模式。

已经创建一个画面。

在该示例中需要一个 HMI 变量和一个文本列表以及下列设置:

HMI 变量:

OperatingMode 无 Bool

文本列表:

ShowOperatingMode Bit (0/1) 1: 操作模式:“在线”0: 操作模式:“离线”

步骤

1.创建上面所示的“OperatingMode”HMI 变量。

2.创建上面所示的“ShowOperatingMode”文本列表。

3. 打开画面并插入一个可将操作模式改为“在线”的按钮。

4. 在巡视窗口中单击“属性 > 事件”(Properties> Events)。选择“按下”事件。

5. 对“按下”事件组态系统函数“SetDeviceMode”。该系统函数可在“设置”下的选择列表中找到。

6. 为“模式”参数选择“在线”条目。

7. 对“按下”事件组态系统函数“SetBit”。该系统函数可在“位处理”下的选择列表中找到。

8. 从选择列表中为参数“变量”选择 HMI 变量“操作模式”。

9. 在过程画面中添加一个可将操作模式改为“离线”的按钮。

10.重复步骤 4 至 7。为“模式”参数选择“离线”条目。组态系统函数“ResetBit”代替系统函数“SetBit”。

中间结果

在运行系统中可使用这两个按钮切换 HMI 设备的操作模式。

想要在 HMI 设备的输出域中显示当前设置的操作模式。

步骤

1. 在过程映像中创建“符号 I/O 域”。在巡视窗口中单击“属性 > 属性”(Properties>

Properties)。

2. 在“常规”(General) 组中进行如下设置:

– 选择“输出”作为“模式”。

– 选择文本列表“显示操作模式”作为“文本列表”。

– 选择“操作模式”作为“变量”。

结果

使用按钮更改操作模式时,始终显示 HMI 设备上当前设置的操作模式。

编辑:jq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • WinCC
    +关注

    关注

    5

    文章

    195

    浏览量

    47644
  • 脚本函数
    +关注

    关注

    0

    文章

    4

    浏览量

    1755

原文标题:WINCC 使用系统函数和运行系统脚本

文章出处:【微信号:gh_a8b121171b08,微信公众号:机器人及PLC自动化应用】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    系统函数怎么判断低通高通

    判断一个系统函数是低通还是高通,可以通过多种方法和指标来进行分析。下面将介绍常用的几种判断方法,并详细解释每种方法的原理和应用。 频率响应分析法 通过分析系统函数的频率响应特性,可以判
    的头像 发表于 01-12 11:06 677次阅读

    Linux系统中调用脚本的常见方法

    在linux系统中有多种方法可以在系统启动后调用脚本,接下来介绍几种常见的方法
    的头像 发表于 12-13 18:16 513次阅读

    js脚本怎么在浏览器中运行

    在浏览器中运行JavaScript脚本是一种常见的方式,因为JavaScript是一种在Web浏览器中执行的脚本语言。下面是一个详细的,最少1500字的文章,介绍如何在浏览器中运行
    的头像 发表于 11-27 16:46 1413次阅读

    ie浏览器限制运行脚本

    IE浏览器限制运行脚本是指在Internet Explorer浏览器中,存在一些限制和安全策略,以保护用户的电脑免受恶意脚本的攻击。这些限制有助于防止在浏览器中执行恶意代码,保护用户的隐私和电脑
    的头像 发表于 11-26 11:19 736次阅读

    labview 和 wincc 的区别 使用场景

    labview 和 wincc 的区别 使用场景 都是上位机软件,都可以做监控软件 wincc的名气也比较大 对比的资料较少 写这些文章的人,从自己的从事的行业出发,带有自己的思维 使用的场景 肯定
    发表于 10-27 18:01

    BASH shell脚本篇—函数

    函数是代码重用的最重要方式。Bash函数可以定义为一组命令,在bash脚本中多次调用。
    的头像 发表于 10-20 16:31 352次阅读

    浅谈博途VASS06的CPU设置要求

    必须始终在 WinCC 运行系统的设备组态中设置运行系统软件(WinCC Runtime
    发表于 10-12 11:24 394次阅读
    浅谈博途VASS06的CPU设置要求

    如何在WinCC上显示S7 CPU的运行模式?

    利用S7 系统函数 SFC51 “RDSYSST”(SSL_ID=W#16#023 2, Index=W# 1 6#0004),可以获得CPU上钥匙当前的位置,存放到M 区或DB块中,通过WinCC读取并显示出来。
    的头像 发表于 08-28 10:06 455次阅读
    如何在<b class='flag-5'>WinCC</b>上显示S7 CPU的<b class='flag-5'>运行</b>模式?

    SIMATIC WinCC产品特性及亮点

    SIMATIC WinCC 基本系统包分运行版和完全版(组态+ 运行)两种,软件授权以外部变量进行划分(可支持128、512、2048、8192、65536、102400、153600
    的头像 发表于 08-09 14:25 703次阅读

    wincc脚本系统的作用

    简介 可使用WinCC flexible的集成编程接口在运行时访问某部分项目数据。通过Visual Basic Script (VBS)创建脚本能够为HMI添加更多的可能需要的功能。 编程接口通过
    的头像 发表于 08-08 10:09 527次阅读
    <b class='flag-5'>wincc</b><b class='flag-5'>脚本系统</b>的作用

    MATLAB函数脚本文件的详细解释

    MATLAB中的函数脚本文件是用来组织和执行代码的两种不同方式。下面是对MATLAB函数脚本文件的详细解释。
    发表于 07-05 12:24 3171次阅读

    如何快速入门Shell脚本呢?

    Shell 语言作为类 Unix 系统的原生脚本,有着非常实用的价值。
    的头像 发表于 05-22 11:51 415次阅读

    shell脚本基础函数

    在bash中定义函数 function和函数名字可以任意省略一个 需要注意的是,函数必须在被调用之前定义 如果没有特别标注,bash中的变量都是全局变量,即使定义在函数内部,所以在
    的头像 发表于 05-22 09:20 307次阅读
    shell<b class='flag-5'>脚本</b>基础<b class='flag-5'>函数</b>

    shell脚本基础函数

    function和函数名字可以任意省略一个
    的头像 发表于 05-22 09:19 231次阅读
    shell<b class='flag-5'>脚本</b>基础<b class='flag-5'>函数</b>

    如何在Linux命令行中运行Python脚本

    Python 是一种高级编程语言,被广泛应用于数据科学、机器学习、Web 开发等领域。在 Linux 操作系统中,Python 是一个默认安装的解释器,用户可以通过命令行界面(CLI)来运行
    的头像 发表于 05-12 14:49 1371次阅读