最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

wincc 常用脚本

来源:动视网 责编:小OO 时间:2025-10-02 03:35:26
文档

wincc 常用脚本

DeactivateRTProject();//退出系统#pragmacode("useadmin.dll")#include"PWRT_api.h"#pragmacode()char*CUser=NULL;CUser=GetTagChar("@CurrentUser");if(strlen(CUser)==0){PWRTSilentLogin("operator","123456");//用户“operator密码"123456”登录}OpenPicture("@MAIN.pdl");}在画
推荐度:
导读DeactivateRTProject();//退出系统#pragmacode("useadmin.dll")#include"PWRT_api.h"#pragmacode()char*CUser=NULL;CUser=GetTagChar("@CurrentUser");if(strlen(CUser)==0){PWRTSilentLogin("operator","123456");//用户“operator密码"123456”登录}OpenPicture("@MAIN.pdl");}在画
DeactivateRTProject ();//退出系统

    #pragma code("useadmin.dll")

    #include "PWRT_api.h"

    #pragma code()

    char* CUser=NULL;

    CUser=GetTagChar("@CurrentUser");

    if (strlen(CUser)==0)

    {

    PWRTSilentLogin("operator","123456");//用户“operator密码"123456”登录

    }

OpenPicture("@MAIN.pdl");

}

在画面中结合不同按钮来组态下面 C 操作

Login

Action for login (for example, "mouse click" event):

#pragma code ("useadmin.dll")

#include "PWRT_api.h"

#pragma code()

PWRTLogin('c');

Logout

Action for logout (for example, "mouse click" event):

#pragma code ("useadmin.dll")

#include "PWRT_api.h"

#pragma code()

PWRTLogout();

PWRTLogin 参数必须是 CHAR 字符。它指定了显示对话框的监视器。如果只使用一个监视器,那么保留默认参数“c”或者指定“1”。 

注意

可以使用 PASSLoginDialog 函数来代替 PWRTLogin 或者 PWRTLogout 函数。这个函数需要和函数 PWRTLogin 相同的参数。 PWRTLogin 和 PASSLoginDialog 函数可以调用登录界面,在上面可以登录或者注销。 函数 PWRTLogout 被正确执行并且不调用登录界面。 

正确执行后这两个函数都返回“1”。然而,登录不会等到显示对话框之后。 

注意

如果使用多个显示器,为了能使登录对话框显示在合适的显示器上,需要 WinCC Basic Process Control (OS项目编辑器)。

不使用 WinCC Basic Process Control 时,可以指定显示器编号,但登录对话框始终显示在第一个显示器上。 

#include "apdefap.h"//调用函数代码

void OnClick(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName)

{

SetVisible(lpszPictureName,"@ERROR",FALSE);  //当前画面上有一个名称为"@ERROR"对象,将其隐藏。FALSE或者0都可以

SetOperation(lpszPictureName,"@LoginIn",TRUE); //函数SetOperation是控制画面对象的可操作性

SetOperation(lpszPictureName,"@PasswordIn",TRUE);

SetOperation(lpszPictureName,"@OK",TRUE);

Set_Focus(lpszPictureName,"@LoginIn");  //次函数表示将光标重新聚焦到当前画面中,名称为“@Loginin”对象中

SetVisible(lpszPictureName,lpszObjectName,FALSE);

SetVisible函数是用来执行是否显示的函数

在利用画面窗口实现画面切换中使用了SetPictureName函数

实现画面属性的更改使用了SetPropChar函数

SetPictureName("@MAIN.pdl", "Alarm", "AlarmList.pdl");  //调用MAIN中Alarm画面中的AlarmList画面

SetProp是一种函数,功能是增加一个新项,修改一个现有项。

实现画面属性的更改使用了SetPropChar函数

SetPropChar("@MAIN.pdl","Alarm","CaptionText","报警清单");  //更改MAIN中Alarm画面中标题属性为报警清单

SetPropBOOL("@MAIN.Pdl","Alarm","Visible",1);} // MAIN画面中中Alarm对象属性被设置为1

SetVisible("@MAIN.pdl","LoginWindow",TRUE);

}

void Open_AI_Pannel(char *AI_Num,char *TagName,char *Unit) //定义变量// void *可以指向任何类型的数据// Open_AI_Pannel名称

{

char AI_TemplateName[80]; // 80为最大字符长度

char str_Title[80];

char str_Unit[80];

char str_Loop_Name[80];

strcpy(AI_TemplateName,"AI_Template");// strcpy复制地址

strcat(AI_TemplateName,AI_Num); // strcat两个char类型链接

strcpy(str_Title,TagName);

strcat(str_Title," AI Loop Control Pannel");

SetPropChar("@MAIN.pdl",AI_TemplateName,"CaptionText",str_Title);    //置为变量

SetPropBOOL("@MAIN.pdl",AI_TemplateName,"Visible",0);    //To make the Picture window  NO visible      //不显示

SetPropChar("@MAIN.pdl",AI_TemplateName,"TagPrefix",TagName);    //Set the ObjectName as TagPrefix       -¨¨o

SetPropBOOL("@MAIN.pdl",AI_TemplateName,"Visible",1);    //To make the Picture window visible           ?-¨

strcpy(str_Unit , TagName);

strcpy(str_Loop_Name,TagName);

//SetPropChar("PID_Pannel.pdl    //Set the title to the oject name

//SetText("PID_Pannel.pdl                                                   //Unit_VL

//SetText("PID_Pannel.pdl                                                  //Unit_VL

strcat(str_Unit,"._LOOP_UNIT"),

SetTagChar(str_Unit,Unit);

//SetPropWord("PID_Pannel.pdl

//strcat(str_Zero,"._PID_ZERO");

//SetTagWord(str_Zero,PID_Zero);

//SetPropWord("PID_Pannel.pdl

//strcat(str_Span,"._PID_SPAN");

//SetTagWord(str_Span,PID_Span);

//SetPropWord("PID_Pannel.pdl

//SetPropWord("PID_Pannel.pdl

strcat(str_Loop_Name,"._LOOP_NAME");

SetTagChar(str_Loop_Name,TagName);        //str_Loop_Name=TagName

}

 

DOL电机脚本:

void Open_Motor_Pannel(char *Pannel_Num,char * Motor_Name)

{

//

char pannel_name[80];

char tagname[80];

char str_Title[80];

strcpy(pannel_name,"Motor_Template");

strcat(pannel_name,Pannel_Num);

//SetPropBOOL("@MAIN.Pdl",pannel_name,"Visible",0);    

strcpy(tagname,Motor_Name);

strcat(tagname,"._MOTOR_NAME"); //._MOTOR_NAME模版变量名

SetTagChar(tagname,Motor_Name);

SetPropChar("@MAIN.pdl",pannel_name,"TagPrefix",Motor_Name); // TagPrefix变量前缀

SetPropChar("@MAIN.pdl",pannel_name,"PictureName","Motor_Pannel.pdl");// 画面名称

strcpy(str_Title,Motor_Name);

strcat(str_Title," MOTOR Control Pannel");

SetPropChar("@MAIN.Pdl", pannel_name,"CaptionText",str_Title);  

SetPropBOOL("@MAIN.Pdl",pannel_name,"Visible",1);    //让画面窗口可见

PID模版

void Open_PID_Pannel(char *PID_Num,char *TagName,char *Unit)

{

char PID_TemplateName[80];

char str_Title[80];

char str_Unit[80];

char str_Loop_Name[80];

strcpy(PID_TemplateName,"PID_Template");

strcat(PID_TemplateName,PID_Num);

strcpy(str_Title,TagName);

strcat(str_Title," PID Loop Control Pannel");

SetPropChar("@MAIN.pdl",PID_TemplateName,"CaptionText",str_Title);    //±êìa±?

SetPropBOOL("@MAIN.pdl",PID_TemplateName,"Visible",0);    //To make the Picture window  NO visible       ?-2é£é2?ó?

SetPropChar("@MAIN.pdl",PID_TemplateName,"TagPrefix",TagName);    //Set the ObjectName as TagPrefix       -μ?±?áó?°×o

SetPropBOOL("@MAIN.pdl",PID_TemplateName,"Visible",1);    //To make the Picture window visible           ?-é

strcpy(str_Unit , TagName);

strcpy(str_Loop_Name,TagName);

//SetPropChar("PID_Pannel.pdl    //Set the title to the oject name

//SetText("PID_Pannel.pdl                                                   //Unit_VL

//SetText("PID_Pannel.pdl                                                  //Unit_VL

strcat(str_Unit,"._LOOP_UNIT"),

SetTagChar(str_Unit,Unit);

//SetPropWord("PID_Pannel.pdl

//strcat(str_Zero,"._PID_ZERO");

//SetTagWord(str_Zero,PID_Zero);

//SetPropWord("PID_Pannel.pdl

//strcat(str_Span,"._PID_SPAN");

//SetTagWord(str_Span,PID_Span);

//SetPropWord("PID_Pannel.pdl

//SetPropWord("PID_Pannel.pdl

strcat(str_Loop_Name,"._LOOP_NAME");

SetTagChar(str_Loop_Name,TagName);        //str_Loop_Name=TagName

文档

wincc 常用脚本

DeactivateRTProject();//退出系统#pragmacode("useadmin.dll")#include"PWRT_api.h"#pragmacode()char*CUser=NULL;CUser=GetTagChar("@CurrentUser");if(strlen(CUser)==0){PWRTSilentLogin("operator","123456");//用户“operator密码"123456”登录}OpenPicture("@MAIN.pdl");}在画
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top