技成培训网 技成学习APP 技成工具箱 技成企业服务

欢迎回到技成培训网

技成培训网

电工题库宝典

技成电工课堂

PLC练习题

技成PLC课堂

变频器故障查询

技成PLC学吧

伺服驱动故障查询

技成PLC网校

当前位置:技成首页 > 文章中心 > 技成百科 > wincc按钮画面调用参数连接

wincc按钮画面调用参数连接

刘玉蓉 发布于2014-11-12 17:39 6 0 标签:

问题:
1、wincc主画面多设备调用同一按钮画面,按钮画面中有启动和停止按钮。
通过C语言设置变量:
#include "apdefap.h"
void OnLButtonDown(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName, UINT nFlags, int x, int y)
{
#define PW_FP    "Top"
#define FP              "1FM"
#define TagPrefix   "DJ01"

if (y>512)
SetTop(lpszPictureName,PW_FP,y-10);
else
SetTop(lpszPictureName,PW_FP,y-10);

SetTagPrefix(lpszPictureName,PW_FP,TagPrefix);
SetPictureName(lpszPictureName,PW_FP,FP);

if (x<640)
SetLeft(lpszPictureName,PW_FP,x-20);               
else
SetLeft(lpszPictureName,PW_FP,x-300);                  
SetPropChar(lpszPictureName,PW_FP,"CaptionText",GetPropChar(lpszPictureName,lpszObjectName,"ObjectName"));  
SetVisible(lpszPictureName,PW_FP,1);

SetText(FP,"StaticTopic",TagPrefix);
// WINCC:TAGNAME_SECTION_START
// syntax: #define TagNameInAction "DMTagName"
// next TagID : 1
// WINCC:TAGNAME_SECTION_END
和画面中按钮直接连接变量:_OpenValve1开阀;_CloseValve1关阀
即实现通过变量DJ1__OpenValve1开阀和DJ1_CloseValve1关阀,
好像没有问题?!
2、现在的问题是:现在想采用被调用的画面中如果只通过设置一个按钮置位和复位来控制开阀和关阀,按钮画面中按钮如何用C语言实现变量连接:
#include "apdefap.h"
void OnClick(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName)
{
BOOL Z;
 Z=GetTagBit("TAG");
 if(Z==0) SetTagBit("TAG",1); 
else 
SetTagBit("TAG",0); 
中TAG如何设置?需要添加那些语句函数?

问题补充:
关于问题2中,被调用按钮有3个,
第1组调用对应变量:m1_start_stop;m2_start_stop;m3_start_stop
第2组调用对应变量:m4_start_stop;m5_start_stop;m6_start_stop
第3组调用对应变量:m7_start_stop;m8_start_stop;m9_start_stop
如何实现变量传送?

佳答案

这个,有两种方法可以实现。
1、建立项目函数,并在项目函数里面建立全局变量,实现变量参数的传递。这个比较麻烦,不再详述。
2、这个方法是通过建立一个内部8位文本型变量Tag1,用来传递变量参数,这个比较容易实现。具体步骤如下:
a、在打开需要调用的画面的按钮里面加上以下脚本:SetTagChar("Tag1","Start_Stop"); Start_Stop是变量名称,即为控制阀门开启和关闭的BOOL变量名称。现在变量Tag1的内容是“Start_Stop”;
2、在公共画面中建立一个按钮,写上如下脚本:
char *st;
int a;
st=GetTagChar("Tag1");
a=GetTagBit(st); 
a=!a;
SetTagWord(st,a);
该脚本即可实现变量“Start_Stop”的翻转。

注意:再点击烦阀门弹出控制画面之前,务必按照步骤1将该阀门的实际变量写到Tag1中去。此外,需要注意的是,此画面不再需要变量前缀。

补充说明:如果变量不多的的话,完全可以参考上述方法,建立三个内部字符型变量,然后将你需要操作的三个变量名称写进这三个内部变量里面就可以了!

若有收获,就点个赞吧!

文章来源于网络及文献如有侵权请联系站长
分享到:

微信扫一扫分享

阅读与本文标签相同的文章

相关推荐

最新文章 热门文章
最新课程 免费课程
PLC资料下载 电工电气资料下载
应用新秀
变频器故障代码查询APP
伺服故障代码查询APP
技成
手机APP
热门标签