各位高手! 请教一个问题:
我在WinCC中用WinCC Online Trend Control 组态了一个历史曲线的画面,在控件上设置了8个趋势,名称分别为 Pen1~Pen8,并为8个趋势连接8个内部变量Pen1PV~Pen8PV,我有组态了另一张制成画面,上面有很多变量,我需要实现的功能是当我点击制成画面上某个变量(a)连接的方框时,会弹出一个按钮,当我点击这个按钮时,就把制成画面上的变量(a)传给历史曲线上对应的变量 Pen1PV~Pen8PV 中的一个变量(假设Pen1PV),在历史曲线的画面上可以显示制成画面上变量(a)的曲线,请各位高手不吝赐教,谢谢!
问题补充:
谢谢两位的回答,我根据dcount107的回答修改了一下代码,修改后的代码如下:
char szArchiveName[255];
BOOL bRet;
LINKINFO plink;
int iRet;
bRet = GetLink("HistoryTrend.pdl","TrendChart","OutputValue",&plink);
sprintf(szArchiveName,"MEPSystem\\MEP1-F10-5C-TET0020-PV",plink.szLinkName);
iRet=MessageBox(NULL,"是否设置?","提示",MB_OKCANCEL|MB_ICONEXCLAMATION|MB_SETFOREGROUND|MB_SYSTEMMODAL);
if (iRet==IDOK)
{
SetPropWord("HistoryTrend.pdl","TrendChart","Index",0);
SetPropChar("HistoryTrend.pdl","TrendChart","TagName",szArchiveName);
}
其中"HistoryTrend.pdl"是WinCC Online Trend Control 所在的画面名称,"TrendChart"是WinCC Online Trend Control 名称,MEPSystem\ 是归档名称,MEP1-F10-5C-TET0020-PV是我定义的内部变量,现有几个问题还想请教一下各位:
1、当我点击执行此段代码的按钮时,HistoryTrend.pdl画面必须在画面中可见时才可以将内部变量MEP1-F10-5C-TET0020-PV加入历史曲线中显示,而实际操作时需要HistoryTrend.pdl画面是不可见的(即是在制成画面操作的)。
2、当将内部变量MEP1-F10-5C-TET0020-PV加入历史曲线中显示,离开历史曲线的画面又重新进入时,前面加的内部变量MEP1-F10-5C-TET0020-PV又消失了,如何才能保持住?
3、在实际操作时"MEPSystem\\MEP1-F10-5C-TET0020-PV"需要用变量取代(此变量的值要求是在执行此按钮前就已赋值了),请问该如何处理?
以上三个问题,还请高手赐教,谢谢!
最佳答案
控制趋势控件主要是设置其Index和TagName属性。
char szArchiveName[255];
BOOL bRet;
LINKINFO plink;
int iRet;
bRet = GetLink(lpszPictureName,lpszObjectName,"OutputValue",&plink);
sprintf(szArchiveName,"ProcessValueArchive\\%s",plink.szLinkName);
iRet=MessageBox(NULL,"是否设置?","提示",MB_OKCANCEL|MB_ICONEXCLAMATION|MB_SETFOREGROUND|MB_SYSTEMMODAL);
if (iRet==IDOK)
{
SetPropWord(lpszPictureName,"TrendControl1","Index",0);
SetPropChar(lpszPictureName,"TrendControl1","TagName",szArchiveName);
}
------------------------------
1、添加SetVisible使其可见。
2、这个实现起来比较困难,需要将每个Index所对应的TagName都记录下来,然后在HistoryTrend.pdl打开时全部重载。
3、szArchiveName既是变量,你的问题在于你所改写后的szArchiveName始终是MEPSystem\\MEP1-F10-5C-TET0020-PV,而不是MEPSystem\\XXXXXX。
保存到变量用SetTagChar函数。
提问者对于答案的评价:
谢谢!
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc274222.html