wincc置位复位按钮c动作
wincc常用C脚本功能
.用户注销:#pragma code ("useadmin.dll")#include "PWRT_api.h”#pragma code()PWRTLogout();2. 用户登录:#pragma code ("useadmin.dll")#include "PWRT_api.h"#pragma code()PWRTLogin('c');3. 关闭项目并退出wincc :ExitWinCC ();4. 退出运行到wincc资源管理器:DeactivateRTProject ();按钮变三种颜色#include "apdefap.h"long _main(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName){#pragma option(mbcs)if(GetTagWord("TX/ZSH001")==1)return 0x0000ff00;elseif(GetTagWord("TX/ZSL001")==1)return 0x000000ff;elsereturn 0x00c0c0c0;}一个调用按钮变色#include "apdefap.h"long _main(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName){#pragma option(mbcs)if(GetTagWord("NewTag")==0)return 0x0000ff00;elsereturn 0x00ffffff;}5. 结束监控并关闭计算机(会弹出确认对话框)HWND hWnd = NULL;//Author:Smartsysint iRet;hWnd = FindWindow(NULL,"WinCC-运行系统-");iRet=MessageBox(hWnd,”结束监控并关闭计算机",”关闭操作站”,MB_YESNO|MB_ICONWARNING|MB_APPLMODAL); if(iRet==IDYES)DMExitWinCCEx (DM_SDMODE_POWEROFF);6. 点击事件弹出对话框,通过点击弹出对话框的确定和取消按钮实现对变量的置位或取消:int r;r=MessageBox(NULL, "YES为开,NO 为关","确定开命令:",MB_YESNO |MB_SYSTEMMODAL);if (r==IDYES)SetTagBit("TAGNAME”,TRUE);elseSetTagBit("TAGNAME”,FALSE);7. 开显示关显示:(要在内部变量中建立三个二进制变量COLSE_DISPLAY DISPLAY_NO 和DISPLAY_COMMENT)// Funktion: Bit in Doppelwort setzen;if (GetTagBitWait("COLSE_DISPLAY")==1 ){SetTagBit("COLSE_DISPLAY",0);世甜羽淋二<i^^pW#^$l>.t_imN)xoae6esse|A|)j!} es|e { { 100日:edAi-ujniey// 昭目顷10£)}旧阮gas } (9 == (iVaOIAIIAI mis 人S—SIAlleNnoaomaOzlimS 一日lAllNOLLSmnONO。
wincc中常用C脚本
查看文章wincc常用C动作2010-06-27 10:311.用户注销:#pragma code ("useadmin.dll")#include "PWRT_api.h"#pragma code()PWRTLogout();2.用户登录:#pragma code ("useadmin.dll")#include "PWRT_api.h"#pragma code()PWRTLogin('c');3.关闭项目并退出wincc:ExitWinCC ();4.退出运行到wincc资源管理器:DeactivateRTProject ();5.结束监控并关闭计算机(会弹出确认对话框)HWND hWnd = NULL;//Author:Smartsysint iRet;hWnd = FindWindow(NULL,"WinCC-运行系统- ");iRet=MessageBox(hWnd,"结束监控并关闭计算机","关闭操作站",MB_YESNO|MB_ICONWARNING|MB_APPLMODAL);if(iRet==IDYES)DMExitWinCCEx (DM_SDMODE_POWEROFF);6.点击事件弹出对话框,通过点击弹出对话框的确定和取消按钮实现对变量的置位或取消:int r;r=MessageBox(NULL, "YES为开,NO为关", "确定开命令:", MB_YESNO |MB_SYSTEMMODAL);if (r==IDYES)SetTagBit("TAGNAME",TRUE);elseSetTagBit("TAGNAME",FALSE);7.开显示关显示:(要在内部变量中建立三个二进制变量COLSE_DISPLAY、DISPLAY_NO和DISPLAY_COMMENT)// Funktion: Bit in Doppelwort setzen;if (GetTagBitWait("COLSE_DISPLAY")==1 ){SetTagBit("COLSE_DISPLAY",0);SetTagBit("DISPLAY_NO",0); //Return-Type: BOOLSetTagBit("DISPLAY_COMMENT",0);}else{SetTagBit("COLSE_DISPLAY",1);SetTagBit("DISPLAY_NO",1); //Return-Type: BOOLSetTagBit("DISPLAY_COMMENT",0);}8.开阀确认:BOOL a;a=GetTagBit("30T制水启动"); //Return-Type :short intif (a==0){if(MessageBox(NULL,"真的要启动制水吗?","操作提示",MB_YESNO|MB_ICONQUESTION|MB_SETFOREGROUND|MB_SYSTEM MODAL) == 6){ SetTagBit("30T制水启动",1);//Return-Type :BOOL}}else{if(MessageBox(NULL,"真的要停止制水吗?","操作提示",MB_YESNO|MB_ICONQUESTION|MB_SETFOREGROUND|MB_SYSTEM MODAL) == 6){ SetTagBit("30T制水停止",1);}}9.将WinCC运行画面最小化HWND WinCCHwnd;WinCCHwnd=FindWindow(NULL,"WinCC-Runtime - "); //如果运行语言为英文if (WinCCHwnd==0) WinCCHwnd=FindWindow(NULL,"WinCC-运行系统- "); //如果运行语言为中文CloseWindow(WinCCHwnd);10.显示或不显示(其中hiddVtext为内部的二进制变量)if(GetTagBit("hiddVtext")==0) //Return-Type: BOOL{SetTagBit("hiddVtext",TRUE); //Return-Type: BOOL//Return-Type: BOOL}else{SetTagBit("hiddVtext",FALSE);}10.打开编辑画面的脚本#pragma option(mbcs)#ifdef RUN_ON_WEBNAVIGATOR#elseHWND hExplorerWindow= NULL;HWND hRuntimeWindow= NULL;hExplorerWindow=FindWindow("WinCCExplorerFrameWndClass",NULL);hRuntimeWindow=FindWindow("PDLRTisAliveAndWaitsForYou",NULL);if(hExplorerWindow){ShowWindow(hExplorerWindow, SW_MINIMIZE); // This entry is only necessary for Windows 2000ShowWindow(hExplorerWindow, SW_SHOWNORMAL);SetForegroundWindow(hExplorerWindow);}elseprintf("\r\n SetForeground failed");#endif11.如何在WINCC中制作一个保持型按钮方法1:if( GetTagBit("M10") )SetTagBit("M10",0);elseSetTagBit("M10",1);方法2:SetTagBit("M1.0",(SHORT)!GetTagBit("M1.0"));求反指令,如果为1点击变为0,如果为0点击变为1方法3:或者做两个按钮,按钮一:显示,直接连接m1.0,是--不显示,否--显示。
Wincc中常用的C动作
#pragma option(mbcs) #ifdef RUN_ON_WEBNAVIGATOR #else
HWND hExplorerWindow= NULL; HWND hRuntimeWindow= NULL; hExplorerWindow= FindWindow("WinCCExplorerFrameWndClass",NULL); hRuntimeWindow= FindWindow("PDLRTisAliveAndWaitsForYou",NULL); if(hExplorerWindow)
{ ShowWindow(hExplorerWindow, SW_MINIMIZE); // This entry is only necessary for Windows 2000 ShowWindow(hExplorerWindow, SW_SHOWNORMAL); SetForegroundWindow(hExplorerWindow); } else printf("\r\n SetForeground failed"); #endif 11.如何在 WINCC 中制作一个保持型按钮
// Funktion: Bit in Doppelwort setzen; if (GetTagBitWait("COLSE_DISPLAY")==1 ) {SetTagBit("COLSE_DISPLAY",0); SetTagBit("DISPLAY_NO",0); //Return-Type: BOOL
方法 1: if( GetTagBit("M10") )
SetTagBit("M10",0); else
wincc置位复位按钮c动作
w i n c c置位复位按钮c动作公司标准化编码 [QQX96QT-XQQB89Q8-NQQJ6Q8-MQM9N]Wincc中做个按钮鼠标点击下置位,再点下复位,用c动作完成,简单语句如下(大家一起交流共同进步):#include ""void OnClick(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName){BOOL Z;Z=GetTagBit("TAG");if(Z==0) SetTagBit("TAG",1);elseSetTagBit("TAG",0);}**TAG:要置位复位的变量用鼠标左键点击按钮弹出提示对话框(如比较重要的设备的启停,要用户二次确认),用c动作完成,简单语句如下:#include ""void OnLButtonDown(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName, UINT nFlags, int x, int y){if(MessageBox(NULL,"确认要停机吗","警告",MB_YESNO|MB_ICONQUESTION|MB_SETFOREGROUND|MB_S YSTEMMODAL)==IDYES){SetTagBit("TAG",1);}return;}***"确认要停机吗":提示语句,自己可以随意更改"警告":标题栏名称,自己随意更改。
wicc常用C动作
wicc常用C动作Wincc中常用的C动作2011-07-19 09:521.用户注销:#pragma code ("useadmin.dll")#include "PWRT_api.h"#pragma code()PWRTLogout();2.用户登录:#pragma code ("useadmin.dll")#include "PWRT_api.h"#pragma code()PWRTLogin('c');3.关闭项目并退出wincc:ExitWinCC ();4.退出运行到wincc资源管理器:DeactivateRTProject ();5.结束监控并关闭计算机(会弹出确认对话框)HWND hWnd = NULL;//Author:Smartsys int iRet;hWnd = FindWindow(NULL,"WinCC-运行系统 - ");iRet=MessageBox(hWnd,"结束监控并关闭计算机","关闭操作站",MB_YESNO|MB_ICONWARNING|MB_APPLMODAL); if(iRet==IDYES) DMExitWinCCEx (DM_SDMODE_POWEROFF);6.点击事件弹出对话框,通过点击弹出对话框的确定和取消按钮实现对变量的置位或取消: int r;r=MessageBox(NULL, "YES为开,NO为关", "确定开命令:", MB_YESNO|MB_SYSTEMMODAL);if (r==IDYES)SetTagBit("TAGNAME",TRUE);elseSetTagBit("TAGNAME",FALSE);7.开显示关显示:(要在内部变量中建立三个二进制变量COLSE_DISPLAY、DISPLAY_NO和DISPLAY_COMMENT)// Funktion: Bit in Doppelwort setzen;if (GetTagBitWait("COLSE_DISPLAY")==1 ){SetTagBit("COLSE_DISPLAY",0);SetTagBit("DISPLAY_NO",0); //Return-Type: BOOLSetTagBit("DISPLAY_COMMENT",0);}else{SetTagBit("COLSE_DISPLAY",1);SetTagBit("DISPLAY_NO",1); //Return-Type: BOOLSetTagBit("DISPLAY_COMMENT",0);}8.开阀确认:BOOL a;a=GetTagBit("30T制水启动"); //Return-Type :short int if (a==0){if(MessageBox(NULL,"真的要启动制水吗,","操作提示",MB_YESNO|MB_ICONQUESTION|MB_SETFOREGROUND|MB_SYSTEMMODAL) == 6) { SetTagBit("30T制水启动",1);//Return-Type :BOOL}}else{if(MessageBox(NULL,"真的要停止制水吗,","操作提示",MB_YESNO|MB_ICONQUESTION|MB_SETFOREGROUND|MB_SYSTEMMODAL) == 6) { SetTagBit("30T制水停止",1);}}9.将WinCC运行画面最小化HWND WinCCHwnd;WinCCHwnd=FindWindow(NULL,"WinCC-Runtime - "); //如果运行语言为英文if (WinCCHwnd==0) WinCCHwnd=FindWindow(NULL,"WinCC-运行系统 - "); //如果运行语言为中文CloseWindow(WinCCHwnd);10.显示或不显示(其中hiddVtext为内部的二进制变量)if(GetTagBit("hiddVtext")==0) //Return-Type: BOOL {SetTagBit("hiddVtext",TRUE); //Return-Type: BOOL //Return-Type: BOOL }else{SetTagBit("hiddVtext",FALSE);}10.打开编辑画面的脚本#pragma option(mbcs)#ifdef RUN_ON_WEBNAVIGATOR#elseHWND hExplorerWindow= NULL;HWND hRuntimeWindow= NULL;hExplorerWindow= FindWindow("WinCCExplorerFrameWndClass",NULL);hRuntimeWindow= FindWindow("PDLRTisAliveAndWaitsForYou",NULL);if(hExplorerWindow){ShowWindow(hExplorerWindow, SW_MINIMIZE); // This entry is only necessary forWindows 2000ShowWindow(hExplorerWindow, SW_SHOWNORMAL);SetForegroundWindow(hExplorerWindow);}elseprintf("\r\n SetForeground failed"); #endif11.如何在WINCC中制作一个保持型按钮方法1:if( GetTagBit("M10") )SetTagBit("M10",0);elseSetTagBit("M10",1);方法2:SetTagBit("M1.0",(SHORT)!GetTagBit("M1.0")); 求反指令,如果为1点击变为0,如果为0点击变为1方法3:或者做两个按钮,按钮一:显示,直接连接m1.0,是--不显示,否--显示。
wincc置位复位按钮c动作
w i n c c置位复位按钮c动作Company Document number:WTUT-WT88Y-W8BBGB-BWYTT-19998Wincc中做个按钮鼠标点击下置位,再点下复位,用c动作完成,简单语句如下(大家一起交流共同进步):#include ""void OnClick(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName){BOOL Z;Z=GetTagBit("TAG");if(Z==0) SetTagBit("TAG",1);elseSetTagBit("TAG",0);}**TAG:要置位复位的变量用鼠标左键点击按钮弹出提示对话框(如比较重要的设备的启停,要用户二次确认),用c动作完成,简单语句如下:#include ""void OnLButtonDown(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName, UINT nFlags, int x, int y){if(MessageBox(NULL,"确认要停机吗","警告 ",MB_YESNO|MB_ICONQUESTION|MB_SETFOREGR OUND|MB_SYSTEMMODAL)==IDYES){SetTagBit("TAG",1);}return;}***"确认要停机吗":提示语句,自己可以随意更改"警告":标题栏名称,自己随意更改。
wincc中常用C脚本
查看文章wincc常用C动作2010-06-27 10:311.用户注销:#pragma code ("useadmin.dll")#include "PWRT_api.h"#pragma code()PWRTLogout();2.用户登录:#pragma code ("useadmin.dll")#include "PWRT_api.h"#pragma code()PWRTLogin('c');3.关闭项目并退出wincc:ExitWinCC ();4.退出运行到wincc资源管理器:DeactivateRTProject ();5.结束监控并关闭计算机(会弹出确认对话框)HWND hWnd = NULL;//Author:Smartsysint iRet;hWnd = FindWindow(NULL,"WinCC-运行系统 - ");iRet=MessageBox(hWnd,"结束监控并关闭计算机","关闭操作站",MB_YESNO|MB_ICONWARNING|MB_APPLMODAL);if(iRet==IDYES)DMExitWinCCEx (DM_SDMODE_POWEROFF);6.点击事件弹出对话框,通过点击弹出对话框的确定和取消按钮实现对变量的置位或取消:int r;r=MessageBox(NULL, "YES为开,NO为关", "确定开命令:", MB_YESNO|MB_SYSTEMMODAL);if (r==IDYES)SetTagBit("TAGNAME",TRUE);elseSetTagBit("TAGNAME",FALSE);7.开显示关显示:(要在内部变量中建立三个二进制变量COLSE_DISPLAY、DISPLAY_NO和DISPLAY_COMMENT)// Funktion: Bit in Doppelwort setzen;if (GetTagBitWait("COLSE_DISPLAY")==1 ){SetTagBit("COLSE_DISPLAY",0);SetTagBit("DISPLAY_NO",0); //Return-Type: BOOLSetTagBit("DISPLAY_COMMENT",0);}else{SetTagBit("COLSE_DISPLAY",1);SetTagBit("DISPLAY_NO",1); //Return-Type: BOOLSetTagBit("DISPLAY_COMMENT",0);}8.开阀确认:BOOL a;a=GetTagBit("30T制水启动"); //Return-Type :short intif (a==0){if(MessageBox(NULL,"真的要启动制水吗?","操作提示",MB_YESNO|MB_ICONQUESTION|MB_SETFOREGROUND|MB_SYSTEMMODAL) == 6) { SetTagBit("30T制水启动",1);//Return-Type :BOOL}}else{if(MessageBox(NULL,"真的要停止制水吗?","操作提示",MB_YESNO|MB_ICONQUESTION|MB_SETFOREGROUND|MB_SYSTEMMODAL) == 6) { SetTagBit("30T制水停止",1);}}9.将WinCC运行画面最小化HWND WinCCHwnd;WinCCHwnd=FindWindow(NULL,"WinCC-Runtime - "); //如果运行语言为英文if (WinCCHwnd==0) WinCCHwnd=FindWindow(NULL,"WinCC-运行系统 - "); //如果运行语言为中文CloseWindow(WinCCHwnd);10.显示或不显示(其中hiddVtext为内部的二进制变量)if(GetTagBit("hiddVtext")==0) //Return-Type: BOOL{SetTagBit("hiddVtext",TRUE); //Return-Type: BOOL//Return-Type: BOOL}else{SetTagBit("hiddVtext",FALSE);}10.打开编辑画面的脚本#pragma option(mbcs)#ifdef RUN_ON_WEBNAVIGATOR#elseHWND hExplorerWindow= NULL;HWND hRuntimeWindow= NULL;hExplorerWindow= FindWindow("WinCCExplorerFrameWndClass",NULL);hRuntimeWindow= FindWindow("PDLRTisAliveAndWaitsForYou",NULL);if(hExplorerWindow){ShowWindow(hExplorerWindow, SW_MINIMIZE); // This entry is only necessary for Windows 2000ShowWindow(hExplorerWindow, SW_SHOWNORMAL);SetForegroundWindow(hExplorerWindow);}elseprintf("\r\n SetForeground failed");#endif11.如何在WINCC中制作一个保持型按钮方法1:if( GetTagBit("M10") )SetTagBit("M10",0);elseSetTagBit("M10",1);方法2:SetTagBit("M1.0",(SHORT)!GetTagBit("M1.0"));求反指令,如果为1点击变为0,如果为0点击变为1方法3:或者做两个按钮,按钮一:显示,直接连接m1.0,是--不显示,否--显示。
wincc置位复位按钮c动作
w i n c c置位复位按钮c动作Document number:NOCG-YUNOO-BUYTT-UU986-1986UTWincc中做个按钮鼠标点击下置位,再点下复位,用c动作完成,简单语句如下(大家一起交流共同进步):#include""voidOnClick(char*lpszPictureName,char*lpszObjectNa me,char*lpszPropertyName){BOOLZ;Z=GetTagBit("TAG");if(Z==0)SetTagBit("TAG",1);elseSetTagBit("TAG",0);}**TAG:要置位复位的变量用鼠标左键点击按钮弹出提示对话框(如比较重要的设备的启停,要用户二次确认),用c动作完成,简单语句如下:#include""voidOnLButtonDown(char*lpszPictureName,char*lpszO bjectName,char*lpszPropertyName,UINTnFlags,intx,int y){if(MessageBox(NULL,"确认要停机吗","警告",MB_YESNO|MB_ICONQUESTION|MB_SETFOREGR OUND|MB_SYSTEMMODAL)==IDYES){SetTagBit("TAG",1);}return;}***"确认要停机吗":提示语句,自己可以随意更改"警告":标题栏名称,自己随意更改。
wincc置位复位按钮c动作
w i n c c置位复位按钮c动作标准化工作室编码[XX968T-XX89628-XJ668-XT689N]Wincc中做个按钮鼠标点击下置位,再点下复位,用c动作完成,简单语句如下(大家一起交流共同进步):#include"apdefap.h"voidOnClick(char*lpszPictureName,char*lpszObje ctName,char*lpszPropertyName){BOOLZ;Z=GetTagBit("TAG");if(Z==0)SetTagBit("TAG",1);elseSetTagBit("TAG",0);}**TAG:要置位复位的变量用鼠标左键点击按钮弹出提示对话框(如比较重要的设备的启停,要用户二次确认),用c动作完成,简单语句如下:#include"apdefap.h"voidOnLButtonDown(char*lpszPictureName,char*lp szObjectName,char*lpszPropertyName,UINTnFlags, intx,inty){if(MessageBox(NULL,"确认要停机吗?","警告", MB_YESNO|MB_ICONQUESTION|MB_SETFOREGROUND|MB_S YSTEMMODAL)==IDYES){SetTagBit("TAG",1);}return;}***"确认要停机吗?":提示语句,自己可以随意更改"警告":标题栏名称,自己随意更改。
wincc退出确定按钮的C动作代码
一、组态运行效果如下图所示的“wincc退出运行系统的确定选择按钮”:图一步骤:1、在画面添加按钮,按钮文本为“退出系统”。
2、双击按钮,对按钮进行C动作编辑,C代码如下所示:long Ret=IDNO;Ret=MessageBox(NULL,"您确实要退出WinCC运行系统么?","请确认",MB_YESNO|MB_ICONQUESTION|MB_DEFBUTTON2|MB_SYSTEMMODAL );if(Ret==IDYES)DeactivateRTProject();当确定按钮按下后,将退出Wincc运行系统。
下面针对下图解释每个代码的作用:MB_SYSTEMMODAL对应上图;MB_YESNO对应上图中;MB_ICONQUESTION|对用上图中;另外由动态向导可自动生成以下C代码:步骤:1、在画面中添加按钮,选中按钮,点击动态向导中的“显示错误框”。
弹出组态对话框:“下一步”:“完成”。
这时打开按钮可见已对鼠标左键组态C动作,代码如下:MessageBox(NULL,"您确定要退出wincc运行系统吗?","Wincc_Deactivated",MB_YESNO|MB_ICONQUESTION|MB_SETFOREGROU ND|MB_SYSTEMMODAL);在此基础上添加相关判断语句,并添加退出WINCC运行系统的C代码即可实现图一的效果。
二、组态按钮调用“用户管理器”。
需实现效果如下:步骤:1、添加按钮到画面,按钮文本为“用户管理”。
2、添加C代码如下:WinExec("Passcs.exe",SW_SHOWNORMAL);这里Passcs.exe才是用户管理器的可执行文件。
2、用户登陆界面制作:3、报警确认按钮制作:“OneLineMessage”为报警控件名称。
wincc常用C动作
wincc常用C动作wincc中的C语言典型题Wincc用动态向导传送S5/S7数据变量Text library设制多语种文本间接寻址:间接变量是一个文本变量16位字符集类型的变量。
使用时必需选中间接寻址。
项目文件的确定:#include"apdefap.h"void onClick(char *lpszpicturename,char *lpszobjectname,char *lpszproper) {Bool bRet;char szprojectFile[_MAX_PATH+1];CMN_ERROR ERROR;bRet=DMGetRuntimeProject(szProjectFile,_MAX_PATH+1,& ERROR);IF(bRet==False){printf("\r\nError in DMGetRuntimeProject()\r\n","\t%s\r\n",Error.szErrortext); return;}printf("\r\nProjectFile:\r\n%s\r\n",szpProjectFile);}确定项目路径:#include"apdefap.h"void onClick(char *lpszpicturename,char *lpszobjectname,char *lpszproper) {Bool bRet=False;char szprojectFile[_MAX_PATH+1];CMN_ERROR ERROR;char* psz=NULL;IF(bRet==False){printf("\r\nError in DMGetRuntimeProject()\r\n","\t%s\r\n",Error.szErrortext); return;}psz=strrchr(szProjectFile,'\\');if(psz!=NULL){*(psz+1)=0;}printf("\r\nProjectPath:\r\n%s\r\n",szpProjectFile);}确定计算机名称:#include "apdefap.h"void onClick(char *lpszpicturename,char *lpszobjectname,char *lpszproper) {#pragma code("Kernel32.dll");Bool GetComputerNameA(LPSTR ComputerName,LPDWORD pdwsize);#pragma code();Bool bRet=FALSE;charszComputerNameA[MAX_COMPUTERNAME_LENGTH+1];DWORD dwSize=MAX_COMPUTERNAME_LENGTH+1;bRet=GetComputerNameA(szComputerName,&dwSize);if(bRet==FALSE){printf("\r\nComputerName:\r\nUnknow computer\r\n");return;}printf("\r\nComputerName:\r\n",szComputerName);}确定用户名:#include "apdefap.h"void onClick(char *lpszpicturename,char *lpszobjectname,char *lpszproper) {#pragma code("advapi32.dll");Bool GetUserNameA(LPSTR UserName,LPDWORD pdwSize);#define UNLEN 256#pragma code();Bool bRet=FALSE;char szUserName[UNLEN+1];DWORD dwSize=UNLEN+1;bRet=GetUserNameA(szUserName,&dwSize);if(bRet==FALSE){printf("\r\nUserName:\r\nUnknow User\r\n");return;}printf("\r\nUserName:\r\n%s\r\n",szUserName);}windows API的函数也位于同的DLL中,就如Wincc API的函数一样。
如何使用C脚本实现WinCCC单按钮复位
如何使⽤C脚本实现WinCCC单按钮复位
在WINCC画⾯中建⽴按钮
第⼀步:(打开桌⾯上WINCC组态软件)
第⼆步:(打开后,在左侧菜单栏选择图形编辑器,然后创建⼀个新的过程画⾯)。
第三步:(打开新创建的过程画⾯,在右侧标准菜单栏中窗⼝对象—按钮,⿏标选中然后⿏标移动到中间画⾯当中点击创建按钮成功)
第四步:(⿏标选中按钮画⾯右击选择组态对话框,把⽂字显⽰改⼀下,改成按钮⽂字,点击确定即可)。
如何使⽤C脚本实现WinCC C单按钮置位/复位/取反功能
第⼀步:(参照C脚本表格,写脚本函数)
第⼆步:(回到主页打开变量管理,创建⼆进制变量)
第三步:(打开刚才创建好的按钮画⾯窗⼝,⿏标双击按钮画⾯,打开按钮对象属性事件—按钮—⿏标—单击⿏标动作右击选择C动作)。
第四步:(⽤C脚本对⼆进制变量进⾏置复位)
把以下变量复制到标准函数当中:
#include "apdefap.h"
void OnClick(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName)
{
SetTagBit ("nanjingHK",0);//对⼆进制变量nanjingHK进⾏复位
}
第五步:(运⾏激活画⾯,可以测试效果)
来源:PLC发烧友,作者:徐陈爽。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
w i n c c置位复位按钮c
动作
标准化工作室编码[XX968T-XX89628-XJ668-XT689N]
Wincc中做个按钮鼠标点击下置位,再点下复位,用c动作完成,简单语句如下(大家一起交流共同进步):
#include"apdefap.h"
voidOnClick(char*lpszPictureName,char*lpszObje ctName,char*lpszPropertyName)
{
BOOLZ;
Z=GetTagBit("TAG");
if(Z==0)SetTagBit("TAG",1);
else
SetTagBit("TAG",0);
}
**TAG:要置位复位的变量
用鼠标左键点击按钮弹出提示对话框(如比较重要的设备的启停,要用户二次确认),用c动作完成,简单语句如下:
#include"apdefap.h"
voidOnLButtonDown(char*lpszPictureName,char*lp szObjectName,char*lpszPropertyName,UINTnFlags, intx,inty)
{
if(MessageBox(NULL,"确认要停机吗?","警告", MB_YESNO|MB_ICONQUESTION|MB_SETFOREGROUND|MB_S YSTEMMODAL)==IDYES)
{
SetTagBit("TAG",1);
}
return;
}
***"确认要停机吗?":提示语句,自己可以随意更改"警告":标题栏名称,自己随意更改。