wincc 常用脚本_第1页
wincc 常用脚本_第2页
wincc 常用脚本_第3页
wincc 常用脚本_第4页
wincc 常用脚本_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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 example, 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”或者指定“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对象属性被设置为1SetVisible(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_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 ?-?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/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);/SetTagWord(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 DOL电机脚本: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(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_TemplateName80;char str_Title80;char str_Unit80;char str_Loop_Name80;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 ?-?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);/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);/SetTagWord(str_Zero,PID_Zero);/SetPropWord(PID_Pannel.pdl,SetPointBarCtrl,RangeMax,PID_Span);/strcat(str_Span,._PID_

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论