收藏 分享(赏)

wincc 常用脚本.doc

上传人:精品资料 文档编号:7790414 上传时间:2019-05-26 格式:DOC 页数:5 大小:27.01KB
下载 相关 举报
wincc 常用脚本.doc_第1页
第1页 / 共5页
wincc 常用脚本.doc_第2页
第2页 / 共5页
wincc 常用脚本.doc_第3页
第3页 / 共5页
wincc 常用脚本.doc_第4页
第4页 / 共5页
wincc 常用脚本.doc_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

1、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 操作LoginAction for login (for exampl

2、e, “mouse click“ event):#pragma code (“useadmin.dll“)#include “PWRT_api.h“#pragma code()PWRTLogin(c);LogoutAction for logout (for example, “mouse click“ event):#pragma code (“useadmin.dll“)#include “PWRT_api.h“#pragma code()PWRTLogout();PWRTLogin 参数必须是 CHAR 字符。它指定了显示对话框的监视器。如果只使用一个监视器,那么保留默认参数“c”或者指

3、定“1”。 注意可以使用 PASSLoginDialog 函数来代替 PWRTLogin 或者 PWRTLogout 函数。这个函数需要和函数 PWRTLogin 相同的参数。 PWRTLogin 和 PASSLoginDialog 函数可以调用登录界面,在上面可以登录或者注销。 函数 PWRTLogout 被正确执行并且不调用登录界面。 正确执行后这两个函数都返回“1” 。然而,登录不会等到显示对话框之后。 注意如果使用多个显示器,为了能使登录对话框显示在合适的显示器上,需要 WinCC Basic Process Control (OS项目编辑器)。不使用 WinCC Basic Proc

4、ess Control 时,可以指定显示器编号,但登录对话框始终显示在第一个显示器上。 #include “apdefap.h“/调用函数代码void OnClick(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName)SetVisible(lpszPictureName,“ERROR“,FALSE); /当前画面上有一个名称为“ERROR“ 对象,将其隐藏。FALSE或者0都可以SetOperation(lpszPictureName,“LoginIn“,TRUE); /函数SetOperation 是控制画

5、面对象的可操作性SetOperation(lpszPictureName,“PasswordIn“,TRUE);SetOperation(lpszPictureName,“OK“,TRUE);Set_Focus(lpszPictureName,“LoginIn“); /次函数表示将光标重新聚焦到当前画面中,名称为 “Loginin”对象中SetVisible(lpszPictureName,lpszObjectName,FALSE);SetVisible函数是用来执行是否显示的函数在利用画面窗口实现画面切换中使用了SetPictureName 函数实现画面属性的更改使用了SetPropChar

6、函数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对象属性被设置为1SetVisibl

7、e(“MAIN.pdl“,“LoginWindow“,TRUE);void Open_AI_Pannel(char *AI_Num,char *TagName,char *Unit) /定义变量/ void *可以指向任何类型的数据/ Open_AI_Pannel名称char AI_TemplateName80; / 80为最大字符长度char str_Title80;char str_Unit80;char str_Loop_Name80;strcpy(AI_TemplateName,“AI_Template“);/ strcpy复制地址strcat(AI_TemplateName,AI_N

8、um); / 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,“T

9、agPrefix“,TagName);/Set the ObjectName as TagPrefix ?-?oSetPropBOOL(“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“,“PidTitle“,“Text“,TagName); /Set the title to the oject name/SetT

10、ext(“PID_Pannel.pdl“,“Unit01“,Unit); /Unit_VL/SetText(“PID_Pannel.pdl“,“Unit02“,Unit); /Unit_VLstrcat(str_Unit,“._LOOP_UNIT“),SetTagChar(str_Unit,Unit);/SetPropWord(“PID_Pannel.pdl“,“SetPointBarCtrl“,“RangeMin“,PID_Zero);/strcat(str_Zero,“._PID_ZERO“);/SetTagWord(str_Zero,PID_Zero);/SetPropWord(“PID

11、_Pannel.pdl“,“SetPointBarCtrl“,“RangeMax“,PID_Span);/strcat(str_Span,“._PID_SPAN“);/SetTagWord(str_Span,PID_Span);/SetPropWord(“PID_Pannel.pdl“,“ProcessValueBarCtrl“,“RangeMin“,PID_Zero);/SetPropWord(“PID_Pannel.pdl“,“ProcessValueBarCtrl“,“RangeMax“,PID_Span);strcat(str_Loop_Name,“._LOOP_NAME“);SetT

12、agChar(str_Loop_Name,TagName); /str_Loop_Name=TagNameDOL电机脚本:void Open_Motor_Pannel(char *Pannel_Num,char * Motor_Name)/char pannel_name80;char tagname80;char str_Title80;strcpy(pannel_name,“Motor_Template“);strcat(pannel_name,Pannel_Num);/SetPropBOOL(“MAIN.Pdl“,pannel_name,“Visible“,0);strcpy(tagna

13、me,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

14、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_TemplateName80;char str_Title80;char str_Unit80;char str_Loop_Name80;strcpy(PID_TemplateNa

15、me,“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?SetPro

16、pChar(“MAIN.pdl“,PID_TemplateName,“TagPrefix“,TagName); /Set the ObjectName as TagPrefix ?-?oSetPropBOOL(“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“,“PidTitle“,“Text“,TagName);

17、 /Set the title to the oject name/SetText(“PID_Pannel.pdl“,“Unit01“,Unit); /Unit_VL/SetText(“PID_Pannel.pdl“,“Unit02“,Unit); /Unit_VLstrcat(str_Unit,“._LOOP_UNIT“),SetTagChar(str_Unit,Unit);/SetPropWord(“PID_Pannel.pdl“,“SetPointBarCtrl“,“RangeMin“,PID_Zero);/strcat(str_Zero,“._PID_ZERO“);/SetTagWor

18、d(str_Zero,PID_Zero);/SetPropWord(“PID_Pannel.pdl“,“SetPointBarCtrl“,“RangeMax“,PID_Span);/strcat(str_Span,“._PID_SPAN“);/SetTagWord(str_Span,PID_Span);/SetPropWord(“PID_Pannel.pdl“,“ProcessValueBarCtrl“,“RangeMin“,PID_Zero);/SetPropWord(“PID_Pannel.pdl“,“ProcessValueBarCtrl“,“RangeMax“,PID_Span);strcat(str_Loop_Name,“._LOOP_NAME“);SetTagChar(str_Loop_Name,TagName); /str_Loop_Name=TagName

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报