WinccOA-面相对象工程开发2-Para与Gedi关联

Posted indus-eric

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WinccOA-面相对象工程开发2-Para与Gedi关联相关的知识,希望对你有一定的参考价值。

接上文

WinccOA-面相对象工程开发1-面相对象模型搭建

粘合剂

上篇文章 我们搭建了 泵站分区对象 的Para数据类型及Gedi组态,

现在我们要将数据与图形关联起来,关联的方法有两种

  • 一种为组态(妥妥拽拽,点击配置)
  • Crtl脚本(其实组态的底层也是Ctrl)

我们主要使用Ctrl脚本,这样便于对模板的管理

关联步骤

1)新建数据点

技术图片

在数据类型DeliveryArea 下新建数据点 community01

2)对Gedi里的控件起名

技术图片


如图示 红色字为控件属性名称

3)对panel的initialize事件进行编码

引用刚才数据点 编写Ctrl脚本

技术图片

详细代码如下

main()
{
  //阀门关联函数
  dpConnect("setValvePos","System1:community01.Valve.switch");
  //入口压力流量关联函数
  dpConnect("setInPress","System1:community01.InPress.value");
  dpConnect("setInTotal","System1:community01.InFlow.total");
  dpConnect("setInNow","System1:community01.InFlow.now");
  //出口 压力流量关联函数
  dpConnect("setOutPress","System1:community01.OutPress.value");
  dpConnect("setOutTotal","System1:community01.OutFlow.total");
  dpConnect("setOutNow","System1:community01.OutFlow.now");
}
//阀门数值变化调用函数
void setValvePos(string dp1, bool a)
{
    if(a==FALSE){
      setValue("switchLine","visible",TRUE);
      setValue("valve","color","STD_value_not_ok");
    }else{
      setValue("switchLine","visible",FALSE);
      setValue("valve","color","STD_man");
    }
}
//入口压力数值变化调用函数
void setInPress(string dp1,float a)
{
  setValue("inPress","text",a);
}
//入口累计流量数值变化调用函数
void setInTotal(string dp1,float a)
{
  setValue("inTotal","text",a);
}

void setInNow(string dp1,float a)
{
setValue(
"inNow","text",a);
}

void setOutPress(string dp1,float a)
{
setValue(
"outPress","text",a);
}
void setOutTotal(string dp1,float a)
{
setValue(
"outTotal","text",a);
}

void setOutNow(string dp1,float a)
{
setValue(
"outNow","text",a);
}

注: 暂时忽略泵转速属性....

4) 对组态按钮事件编码

技术图片

main(mapping event)
{
int rc, x;
rc
=dpGet("System1:community01.Valve.switch", x);
dpSet(
"System1:community01.Valve.switch", !x);
}


5) 模拟数值变化&测试

技术图片

未完 待续...


欢迎关注,及时获取更新

技术图片






















以上是关于WinccOA-面相对象工程开发2-Para与Gedi关联的主要内容,如果未能解决你的问题,请参考以下文章

WinccOA-面相对象工程开发1-面相对象模型搭建

WinccOA-面相对象工程开发1-面相对象模型搭建

WinccOA前言-分布式与高可用

WinccOA前言-分布式与高可用

游戏开发岗面经总结5(面相对象和面相过程的区别,多态,CG,设计模式,进程线程协程,动静态合批态,内存区域存放,指针和引用的区别,防止对象被拷贝,map和unordered_map)

PHP面相对象:构造方法与析构方法