[WinCC OA 学习分享][七]Ctrl 脚本操作Para

已锁定

OAplayer

  • 帖子

    9
  • 精华

    1
  • 被关注

    26

论坛等级:游民

注册时间:2018-06-14

普通 普通 如何晋级?

[WinCC OA 学习分享][七]Ctrl 脚本操作Para

1152

2

2021-05-12 14:19:35

之前的简单的例子,我们已经简单的使用了dpConnect()/dpGet()函数,

在WinCC OA 中 以dpXxxx开头的函数都与数据点(Datapoint)操作相关的函数

Datapoint 连接了驱动与系统的数据,在WinCC OA中非常重要,对Datapoint的配置可以直接在Para图形界面中逐一配置 也可以使用CTRL脚本对其进行配置

Para模块

Para模块 由数据类型DataPoint Type 数据点 DataPoint 及其配置组成;

Para模块负责整套系统的 数据点创建/配置,将驱动的数据通过para的配置 与系统的功能关联起来.

Para的主要功能用于保存配置信息, 其实其底层实现就是一个嵌入式数据库(Raima),WinCC OA 将大部分配置类信息都保存在Raima数据库中


对Para模块的深入理解

站在软件工程师的视角:

在Para里新建一个数据点类型 可以理解为新建一张表

往特定数据类型里添加一个数据点 可以理解为往这个表里插入一行,但是这个数据点的名字是全局唯一的

西门子赋予Gedi Para新的理解:

将Gedi Para 与面向对象关联起来

新增一个datapoint ,将其传递给UI层的显示界面 相当于实例化了一个的显示对象,这个对象有自己的属性(para),跟行为(GEDI 组态界面显示),这也是面向对象的组态的粗浅理解


接下来我们一起动手操作一番

创建数据类型PumpStation 如图示 (属性节点相当于数据库里的字段)


手动创建新datapoint

手动操作Para界面非常简单 对数据点类型鼠标右键就可以弹出创建菜单

*****重点******

本篇文章带着大家使用脚本实现相应的操作,翻开官方文档,我们可以看到有很多关于dp操作的函数(dpXxxxxx()函数…)


步骤1:

我们新建一个Panel么,实现如下组态

拖拽三个按钮  一个Multiline TextEdit


步骤2:

在Panel 的ScopeLib中定义一个该panel的全局计数变量

步骤3:

对新增dp 按钮的Clicked Event 进行编码

main(mapping event)

{

        string dpName = "station"+pumpStationCount;

        // 判断数据点是否存在

        if(dpExists(dpName)) {

        DebugN("datapoint already exists");

        }else{

        //创建数据点

        dpCreate(dpName,"PumpStation");

        }

        pumpStationCount++;

}

步骤4:

对查找dps 按钮进行编码

main(mapping event)

{

    dyn_string dps;

    dps = dpNames("station*");

    string tempString;

     

    for(int i = 1;i<=dps.count();i++)

    {

        tempString += dps[i]+'';

    }

    TEXT_EDIT1.text(tempString);

 

}


步骤5:

同样对删除按钮进行编码

步骤6:

运行测试

Tips:

当开发一些小型系统的时候dpXxxxx系列的函数使用频率可能不会很高,遇到大型系统,datapoint的点数非常多管理起来就比较麻烦了,尤其是靠人工进行录入管理,特别容易出错,这样使用脚本区实现一个配置页面,把一些容易出错的环节给代码化,会大大增加效率


[WinCC OA 学习分享][七]Ctrl 脚本操作Para 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC WinCC OA (原PVSS)

共有340条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。