WINCC中做公共画面的方法

已锁定

四书五经

  • 帖子

    762
  • 精华

    58
  • 被关注

    30

论坛等级:侠圣

注册时间:2005-12-23

普通 普通 如何晋级?

WINCC中做公共画面的方法

8896

7

2008-10-30 16:53:54

我们在做WINCC程序的时候对一些通用设备一般都做一个公共画面,比如说电机、阀门、变频器等。公共画面的做法较多,我总结了一下有4种方法:
1.变量前缀,我们在做公共画面的时候,画面中连接变量只使用后缀名称,如:PV(过程值变量),Drv(驱动输出变量)。为调试方便,可以先在内部变量中建立Pv、Drv变量。当我们在主画面中使用时,先放入一个Picture window对象,设置对象属性画面名称为公共画面的名称。然后再画面电机图形上生成按钮点击事件输入如下代码:
#include "apdefap.h"
void OnLButtonDown(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName, UINT nFlags, int x, int y)
{
SetVisible(lpszPictureName,"vfd_window",1);//显示Picture window
SetText("Std_Vfd.PDL","InstanceName1","MF1102");
SetTagPrefix(lpszPictureName,"pic_window", "MF1102_MM440_ST. ");//这里MF1102_MM440_ST定义成结构变量
}
2.使用Setlink函数,在做公共画面时,公共画面里的对象不连接变量,当主画面调用公共画面时给公共画面名称(静态文本)赋设备名称文件:
以下代码放在公共画面名称对象的属性改成事件中
void OnPropertyChanged(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName, char* value)
{
char TagName[260];
char PropertyName[260];
char FilterSQL[260];
int index;
LINKINFO linkinfo;

linkinfo.LinkType = 1;
linkinfo.dwCycle = 3;

strcpy(TagName, GetText(lpszPictureName,"TagName"));

sprintf(linkinfo.szLinkName, "%s.EventState", TagName);
SetLink(lpszPictureName, "GroupDisplay", "CollectValue", &linkinfo);

sprintf(linkinfo.szLinkName, "%s.MW", TagName);
SetLink(lpszPictureName, "MEETW", "OutputValue", &linkinfo);
}

一贴太长了,分开发了,呵呵,不是为了挣积分哦
WINCC中做公共画面的方法 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC WinCC / Panel

共有32890条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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