我公司工控程序是由工程公司设计的,在工控电脑上我看见WINCC EXPLORER中有个SFC项,但将程序移到自己的电脑上时,却没有这一项?
另外,在我电脑上,用S7-PLCSIM模拟运行时,画面的调出SFC窗口及其他电机控制窗口、PID控制窗口均无效?
调用SFC窗口代码如下
#include "apdefap.h"
void OnLButtonDown(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName, UINT nFlags, int x, int y)
{
// WINCC:TAGNAME_SECTION_START
// syntax: #define TagNameInAction "DMTagName"
// next TagID : 1
#define TAG_0 "SEQ_FX4470"
// WINCC:TAGNAME_SECTION_END
// WINCC:PICNAME_SECTION_START
// syntax: #define PicNameInAction "PictureName"
// next PicID : 1
// WINCC:PICNAME_SECTION_END
#pragma code ("sfccli.dll")
#include "sfccli.h"
#pragma code ()
long left, top, width, height;
TCHAR szFullDmVarName[MAX_DM_VAR_NAME + 1 + 32];
{
TCHAR* pServerPrefix = NULL;
TCHAR* pTagPrefix = NULL;
TCHAR* pWindowPrefix = NULL;
GetServerTagPrefix(&pServerPrefix,&pTagPrefix,&pWindowPrefix);
szFullDmVarName[0] = '\0';
if (pServerPrefix && pServerPrefix[0])
strcpy (szFullDmVarName, pServerPrefix);
else if (pTagPrefix && pTagPrefix[0])
strcpy (szFullDmVarName, pTagPrefix);
strcat(szFullDmVarName, TAG_0);
}
SSMGetWorkFieldCoordinates(SSMGetScreen(lpszPictureName), &left, &top, &width, &height);
// 躡ersicht
//SFCOpenOverview(szFullDmVarName, left, top, width, height, (void*)0);
// oder Detail
SFCOpenSection(szFullDmVarName, left, top, width, height, (void*)0);
}
调用电机控制窗口代码如下
#include "apdefap.h"
void OnClick(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName)
{
// WINCC:TAGNAME_SECTION_START
// syntax: #define TagNameInAction "DMTagName"
// next TagID : 1
// WINCC:TAGNAME_SECTION_END
// WINCC:PICNAME_SECTION_START
// syntax: #define PicNameInAction "PictureName"
// next PicID : 1
// WINCC:PICNAME_SECTION_END
OpenFaceplate_PP(lpszPictureName,lpszObjectName, 0); // view 0 = standard view
}
最佳答案
SFC可视化是PCS7的东西,PCS7的OS和WinCC虽然界面一样,但是PCS7 OS有很多自己组件和画面。
安装PCS7应该可以解决你的问题。
提问者对于答案的评价:
谢谢
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc272459.html