紫金桥实时数据库自定义算法 点击:96 | 回复:0



工控大亨

    
  • 精华:13帖
  • 求助:5帖
  • 帖子:851帖 | 1682回
  • 年度积分:0
  • 历史总积分:5491
  • 注册:2006年1月03日
发表于:2014-07-18 11:06:15
楼主

[摘要]:


  紫金桥实时数据库中点的内部算法一般都是固定的,是在点开发时在程序中预先定义好的。如累计点、控制点、滤波点等其内部算法是在开发阶段完成的,用户是不能改变的。但有时用户需要根据需求自己定义点类型,同时自定义其内部算法。当然这可以通过三种手段来实现:一种是增加新的点类型来实现,但增加点类型比较复杂,且修改困难;另外一种是使用用户程序点;第三种是使用自由运算点。但是用户程序点和自由运算点中不同的点具有独立的算式,需要针对每个点进行单独编辑,而且自由运算点只能编写表达式而不能编写程序块。为此紫金桥提供了点的自定义算法功能。自定义算法定义好后,相当于定义了一套算法库,该类型的点都可以选择性的使用这些算法。

一、 自定义算法简介

  点的自定义算法用于完成点的内部逻辑,是一段用户自定义脚本。该脚本定义了点中各参数间的运算关系,一般不会涉及到具体的点。脚本中涉及的变量主要是该点类型相关的参数。


  每种自定义点类型都可以定义若干名字不同的算法,例如定义了一种自定义点类型CustomTag,并且为其定义了三种算法分别为:A、B、C。那么使用点类型CustomTag创建的点则可以选择使用这三种算法中的任意一种,而且不同点可以使用不同算法。


  通常自定义算法涉及许多点参数,这些参数的个数、种类随需求而不同。因此自定义算法点一般需要自定义点类型,这样用户才可以根据需要来配置所需要的参数。

二、 自定义算法的构成

  自定义算法由3个部分组成,包括:算法名称、算式、Formula参数。


  1、 算法名称

  算法名称是用户自定义脚本的名字。每种算法属于某种点类型,而不属于某个具体的点。因此用户自定义算法并不存放在某个具体点上。


  一种点类型可以定义多种算法,每个具体的点可以选择其中的一种算法。

  2、 算式

  每种算法中的脚本被称为此种算法的算式。


  算式在DB启动时被装载并进行编译。如果编译脚本时出现错误,错误信息将在DB的异常显示中报告。

  3、 Formula参数

  预定义算法名称参数为Formula,该参数为字符串类型,记录的是算法名称。点通过该参数使用不同的算法。


  例如:某种点类型有A、B 两种算法。定义此种点类型的2个点TAG1和TAG2。TAG1、TAG2的Formula参数取值分别为‘A’,‘B’,则点TAG1使用的是算法A.,则点TAG2使用的是算法B。

三、 自定义算法的步骤

  1、自定义点类型

  在实时数据库点组态菜单中,选择点类型-〉点类型管理,定义一种点类型,为点类型添加需要的参数项。添加的参数中必须包含Formula参数。

  2、新建算法

  在实时数据库点组态菜单中,选择点类型-〉自定义算法,在自定义算法编辑器中,选中新建的点类型名,点击“增加”,进入算式编辑器,如下图所示:


  3、编辑算式

  在算式编辑器中,输入新建的算法名称。在下面的算式框中,编辑本算法的具体算式。

算式编辑框的右侧列出了本点类型支持的参数名称。


算式编辑器如下图所示:


4、完成新建

  编辑完算式后,点击“保存”按钮,则将新建的内容保存,此时算法名称将被新建,并且不能再修改。

点击“确定”按钮,保存当前配置,并关闭算式编辑器。

四、 总结

  自定义算法功能的推出,将极大的提高紫金桥实时数据库点组态的功能,使每个数据库点中的参数不再是孤立的数据,而成为一个有机的整体。数据库自定义点类型的功能,也将从原来的数据集合,提升为数据与逻辑的完整模块。




热门招聘
相关主题

官方公众号

智造工程师