WinccMessageBox的应用

合集下载

wincc 选择框用法

wincc 选择框用法

wincc 选择框用法
WinCC 中的选择框(Check Box)用于表示一个二进制的选择状态,用户可以通过勾选或取消勾选来改变选择状态。

使用选择框需要以下几个步骤:
1. 在WinCC 的画面编辑器中选择选择框控件,拖动到需要的位置。

2. 在选择框的属性窗口中,设置选择框的相关属性,如名称、初始状态、大小等。

3. 在代码中通过对选择框的属性进行操作,来实现选择框的控制。

例如,可以通过读取选择框的Checked 属性来确定当前的选择状态,也可以通过设置Checked 属性来改变选择状态。

4. 可以通过捕捉选择框的值改变事件,在选择框的值改变时执行相应的操作。

例如,可以在选择框的值改变事件中修改其他控件的属性,或者更新系统的状态。

需要注意的是,选择框只能表示二进制的选择状态,即勾选或取消勾选两种状态。

如果需要表示多选的状态,可以使用复选框组合多个选择框来实现。

wincc中gcreatemyoperationmsg用法

wincc中gcreatemyoperationmsg用法

wincc中gcreatemyoperationmsg用法1. 简介在WinCC中,gcreatemyoperationmsg是一个用于创建操作消息的函数。

操作消息是WinCC用来向操作员发送信息的一种方式,可以通过弹出窗口、声音或者其他方式来通知操作员。

gcreatemyoperationmsg函数可以根据需要创建不同类型的操作消息,并设置消息的内容、标题、图标、声音等属性。

2. 函数语法BOOL gcreatemyoperationmsg(HWND hWnd, // 父窗口句柄int nType, // 消息类型LPCSTR lpszText, // 消息内容LPCSTR lpszCaption, // 消息标题UINT fuStyle // 消息属性);参数说明: - hWnd:父窗口句柄,指定操作消息弹出的位置。

通常使用NULL表示使用默认的父窗口。

- nType:消息类型,可以是以下值之一: - 0:普通消息 - 1:警告消息 - 2:错误消息 - lpszText:消息内容,字符串类型。

- lpszCaption:消息标题,字符串类型。

- fuStyle:消息属性,可以是以下值之一或多个值的组合: - MB_OK:显示“确定”按钮。

- MB_OKCANCEL:显示“确定”和“取消”按钮。

- MB_YESNO:显示“是”和“否”按钮。

- MB_YESNOCANCEL:显示“是”、“否”和“取消”按钮。

- MB_ICONSTOP:显示停止图标。

-MB_ICONQUESTION:显示问号图标。

- MB_ICONEXCLAMATION:显示感叹号图标。

- MB_ICONINFORMATION:显示信息图标。

- MB_ICONHAND:显示手图标。

-MB_SYSTEMMODAL:将消息设置为系统模态,禁止操作其他窗口。

返回值: - 成功返回TRUE,失败返回FALSE。

Wincc中弹出对话框函数MessageBox参数以及应用

Wincc中弹出对话框函数MessageBox参数以及应用

Wincc中对话框弹出函数MessageBox参数以及应用按键显示://MessageBox(NULL,"这是一个默认的只有确定的消息框!","标题", MB_OK );//MessageBox(NULL,"这是一个确定取消的消息框!","标题", MB_OKCANCEL );//MessageBox(NULL,"这是一个是或否的消息框!","标题", MB_YESNO );//MessageBox(NULL,"这是一个是或否或取消的消息框!","标题", MB_YESNOCANCEL );//MessageBox(NULL,"这是一个重试或取消的消息框!","标题",MB_RETRYCANCEL );//MessageBox(NULL,"这是一个中止, 重试和忽略的消息框!","标题",MB_ABORTRETRYIGNORE ); 在消息框内显示的图标是以下值之一。

//MessageBox(NULL,"这是一个错误的消息框!","标题", MB_ICONHAND );//MessageBox(NULL,"这是一个错误的消息框!","标题", MB_ICONSTOP );//MessageBox(NULL,"这是一个错误的消息框!","标题", MB_ICONERROR );//MessageBox(NULL,"这是一个询问的消息框!","标题", MB_ICONQUESTION);//MessageBox(NULL,"这是一个警告的消息框!","标题", MB_ICONEXCLAMATION );//MessageBox(NULL,"这是一个警告的消息框!","标题", MB_ICONWARNING);//MessageBox(NULL,"这是一个信息的消息框!","标题", MB_ICONASTERISK );//MessageBox(NULL,"这是一个信息的消息框!","标题", MB_ICONINFORMATION );//MessageBox(NULL,"这是一个两种属性的消息框!","标题", MB_ICONEXCLAMATION|MB_OKCANCEL ); 对话框弹出时默认选中的按钮://MessageBox(NULL,"这是一个多种属性的消息框!默认选中第三个按钮","标题", MB_ICONEXCLAMA TION|MB_YESNOCANCEL|MB_DEFBUTTON3 );返回值://if(MessageBox(NULL,"这是一个判断选择了哪个按钮的消息框!","标题", MB_ICONEXCLAMA TION|MB_OKCANCEL )==IDCANCEL)//return;。

wincc onlbuttonup函数 -回复

wincc onlbuttonup函数 -回复

wincc onlbuttonup函数-回复WinCC OnLButtonUp函数是WinCC软件中的一个事件函数,用于处理在运行时界面中鼠标左键松开的事件。

通过该函数,我们可以编写相应的代码逻辑,实现一些特定的功能。

本文将详细介绍WinCC OnLButtonUp 函数的使用方法及其应用场景,并逐步回答相关问题。

第一步:介绍WinCC软件及OnLButtonUp函数首先,我们需要了解WinCC软件是什么以及它的主要功能。

WinCC是由西门子公司开发的一款专业的人机界面(HMI)软件,广泛应用于自动化控制系统中。

它能够通过图形化界面快速创建具有监控、操作和数据采集等功能的人机界面。

OnLButtonUp函数是WinCC软件提供的一个事件函数,当用户在运行时界面中松开鼠标左键时,该函数会被自动调用,可以执行一些特定的操作。

第二步:介绍OnLButtonUp函数的语法和参数在使用OnLButtonUp函数之前,我们需要了解其具体的语法和参数。

OnLButtonUp函数的语法如下所示:OnLButtonUp(Button, Shift, X, Y)其中,Button是一个整数参数,表示鼠标按键的状态值;Shift是一个整数参数,表示组合键(如Ctrl、Shift等)的状态值;X和Y是整数参数,表示鼠标相对于界面的坐标。

通过这些参数,我们可以判断用户的鼠标操作,并作出相应的响应。

第三步:介绍如何在WinCC中使用OnLButtonUp函数在WinCC软件中使用OnLButtonUp函数非常简单。

首先,我们需要在项目中选择一个按钮或其他鼠标交互控件,并打开其属性界面。

在事件选项卡中,我们可以看到OnLButtonUp函数,并点击右侧的“…”按钮进行编辑。

接下来,我们可以编写相关的代码逻辑,实现我们想要实现的功能。

例如,我们可以通过判断鼠标按键状态,实现按钮的单击事件,并进行相应的操作。

第四步:介绍OnLButtonUp函数的应用场景OnLButtonUp函数在WinCC软件中有着广泛的应用场景,下面列举了几个常见的应用场景:1. 按钮点击事件:通过在按钮上绑定OnLButtonUp函数,可以在用户松开鼠标左键时触发按钮的点击事件,实现相应的操作。

Wincc常用C脚本及常用功能

Wincc常用C脚本及常用功能

Wincc常用C脚本及常用功能打开用户管理器ProgramExecute("Passcs.exe"); 取消激活#include "apdefap.h"void OnLButtonDown(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName,UINT nFlags, int x, int y){#pragma option(mbcs)HWND hwnd=NULL;int iRet;hwnd=FindWindow(NULL,"WinCC-运行系统 - "); //获得句柄iRet=MessageBox(hwnd,"是否取消激活?","Deactivate",MB_OKCANCEL|MB_ICONWARNING|MB_APPLMODAL);if(iRet==1)DeactivateRTProject (); //Return-Type: BOOL}关闭计算机#include "apdefap.h"void OnLButtonDown(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName,UINT nFlags, int x, int y){#pragma option(mbcs)HWND hwnd=NULL;int iRet;hwnd=FindWindow(NULL,"WinCC-运行系统 - ");iRet=MessageBox(hwnd,"是否关闭计算机?","ShutDown",MB_OKCANCEL|MB_ICONWARNING|MB_APPLMODAL);if(iRet==1)DMExitWinCCEx(DM_SDMODE_SYSTEM); }==================================================================== ==登陆代码:#pragma code(“useadmin.dll”)#include <pwrt_api.h>#pragma code()PWRTLogin (…e?);==================================== 取消激活(Deactivate)DeactivateRTProject();====================================== Wincc变量操作GetTagDWord(“变量名称”); 获取Wincc变量值SetTagDWord(“变量“,设定值); 设置Wincc变量对文本读写操作写操作#include "apdefap.h"void OnLButtonUp(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName,UINT nFlags, int x, int y) {#pragma option(mbcs)FILE* lpFile;char *shuzhu[6]={"tag_1","tag_2","tag_3","tag_4","tag_5","tag_6"};char* lpszStr;int i,j;lpszStr=SysMalloc(60); //Return-Type: void*lpFile = fopen("D:\\test.txt", "w+");for(i=0;i<6;i++){lpszStr=GetTagChar(shuzhu[i]); strcat(lpszStr,"\r\n");if(lpFile == NULL){ printf("can not open file\r\n"); return;}fprintf(lpFile, lpszStr); }SysFree(lpszStr);fclose(lpFile);}读操作#include "apdefap.h"void OnLButtonUp(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName,UINT nFlags, int x, int y) {#pragma option(mbcs)char* shuzhu[6]={"tag_1","tag_2","tag_3","tag_4","tag_5","tag_6"}; char tmp[255];int i=0;int ChrNumLine=38;FILE *fp;fp=fopen("D:\\test.txt","r"); if (fp==NULL){return;}else{rewind(fp);while(!feof(fp)){fgets(tmp,ChrNumLine,fp);SetTagChar(shuzhu[i],tmp);i++;}}fclose(fp);}画面窗口显示界面切换SetPictureName(lpszPictureName,"PicWindow_button","produce_manage_bu tton.pdl");SetVisible(lpszPictureName,"PicWindow_button",1);注:PicWindow_button是画面窗口名称;produce_manage_button.pdl是要显示的子画面。

wincc中常用的vb指令 -回复

wincc中常用的vb指令 -回复

wincc中常用的vb指令-回复WinCC中常用的VB指令WinCC是西门子公司开发的一款用于监控和控制自动化系统的软件平台。

它提供了丰富的功能和工具,用于创建和管理人机界面,以及实现实时数据采集和处理。

在WinCC中,VB(Visual Basic)指令常被用来编写逻辑和处理程序,以实现更加复杂和高级的功能。

本文将介绍WinCC中常用的VB指令,并逐步解释其用途和用法。

一、常用VB指令之MsgBoxMsgBox是一个常用的VB指令,用于显示一个简单的消息框,以向用户提供信息或提示。

它的基本用法如下:MsgBox "Hello, WinCC!"上述代码将在运行时弹出一个消息框,显示文本"Hello, WinCC!"。

你也可以在消息框中显示变量或表达式的值:Dim x As Integerx = 10MsgBox "The value of x is: " & x上述代码中,变量x的值被连接到文本"The value of x is: ",并显示在消息框中。

除了显示简单的信息,MsgBox还可以用于询问用户的选择。

例如:Dim result As Integerresult = MsgBox("Do you want to continue?", vbYesNo)上述代码将在运行时弹出一个询问框,显示文本"Do you want to continue?",并提供选项"Yes"和"No"。

用户的选择将存储在result变量中。

二、常用VB指令之If...Then...ElseIf...Then...Else是一个常用的VB指令块,用于根据条件执行不同的代码。

它的基本用法如下:Dim x As Integerx = 10If x > 5 ThenMsgBox "x is greater than 5"ElseMsgBox "x is less than or equal to 5"End If上述代码将根据变量x的值显示不同的消息框。

Wincc中常用的C动作

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 V7.3 vbs弹出消息框提醒,一定时间不操作自动选择

Wincc V7.3 vbs弹出消息框提醒,一定时间不操作自动选择

Wincc V7.3vbs弹出消息框提醒,一定时间不操作自动选择周末有群友在qq群上说他的客户提出这样一个需求,希望用户操作关键设备时做二次确认,默认选择“取消”按钮,如果5秒不做任何操作,那么系统自动替操作人员选择“取消”。

我以前做练习的时候也想到过使用msgbox 做二次确认操作,不过也没有想得这么细。

既然是客户提出的,那么就要想办法满足,毕竟是“衣食父母”嘛。

msgbox 我尝试过要做上述效果麻烦,好在vbs还有一个弹窗叫做popup可以满足要求。

新建一个wincc项目,在变量管理中新建一个变量Start,二进制类型,用于测试效果。

新建一个画面,画面上放一个圆形,背景颜色关联Start变量,为1绿色,为0红色。

放置三个按钮,名字分别为btn1、btn2、btn3,btn1鼠标点击事件中加入以下vbs代码:Sub OnClick(ByVal Item)Dim obj,intreturnSet obj=Createobject("WScript.Shell")intreturn=obj.Popup("你真的需要启动Start?",5,"请选择",33)If intreturn=1 Thenhmiruntime.Tags("Start").Write 1ElseMsgbox "年轻人,你还是放弃了"End IfEnd Subbtn2按钮主要是用来测试btn1弹出对话框后,如果点击btn2看看会不会影响什么,btn2鼠标点击事件中添加以下vbs代码:Sub OnClick(ByVal Item)Msgbox “OK”End Subbtn3是让Start复位的。

通过测试,当选择弹窗出现时,如果不做任何选择就去点击btn2,选择弹窗会看不见,但是5秒之后,系统还是会自动关闭掉选择弹窗,有点小小的瑕疵,不过总体上还是满足了需求。

WinCC应用实例—退出运行系统并关机

WinCC应用实例—退出运行系统并关机

使用WinCC的动态向导可以为一个按钮组态退出运行系统并关闭计算机的功能,这样做有一个缺点就是在关机时不做任何提示,如果操作人员误操作,将没有反悔的机会。

我们给出的项目函数ShutOP就具有和Windows关机一样的特性,即在关机之前弹出一个消息框,给操作员最后一次选择的机会。

●使用FindWindow函数获得WinCC运行系统的窗口句柄,作为MessageBox函数的参数是为了把弹出的消息框变成WinCC运行系统的子窗体,操作员如果不响应此消息框,将无法进行其它的操作。

这种对话框被Windows称为模式对话框。

●判断操作员是否点击了是按钮,如果点击了是按钮将执行退出运行系统并关闭计算机的操作;如果点击了否按钮将关闭消息框返回到运行系统。

项目函数ShutOP
void ShutOP()
{
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);
}
}
在画面上添加一个关机按钮,在按钮的鼠标单击动作中组态C动作,在C动作中调用项目函数ShutOP()即可。

使用标准函数操作WinCC报警控件的实例.docx

使用标准函数操作WinCC报警控件的实例.docx

标准函数该系统包含标准函数。

可以按需要修改这些函数。

此外,还可以自己创建标准函数。

该系统包括一个标准函数集。

一、Alarm -简短描述Alarm组包含控制WinCC报警控件的函数。

标准函数可用于工具栏中的每一个按钮。

这些函数可用来创建自定义工具栏,例如选择画面,或者定义控件上的设置。

1.void Ac know I edgcMcs sage (DWORD MsgNr)函数,确认消息系统中带编号的消息,该编号被传递为参数。

使用标准函数操作WinCC报警控件的实例{//确认选择的报警记录消息AcknowledgeMessage(GetTagWorcK^UOSi MsgNr*));}指定待确认的消息号。

在木例中是从变量读取的。

2.BOOL AXC OnBtrbArc Long (char* lpszPictureName, char* pszMsgWin)函数,在消息窗口中该函数表示消息存储在长期归档中。

使川标准函数操作WinCC报警控件的实例{//跳转到WinCC报警控件中的第一条消息AXC_OnBtnHsgFirst("gs_alarm_00", "Control 1");}AXC OnBtnMsgFirst 函数参数:“gs_alarm_00”是在其屮组态WinCC报警控件的価而的名称。

Control 1是WinCC报警控件的对彖名。

3.BOOL AXC OnBtnArcShort(char* IpszPictureName, char* pszMsgWin)®数,在消息窗口中该函数表示消息存储在短期归档中。

使用标准函数操作WinCC报警控件的实例{//跳转到WinCC报警控件中的第一条消息AXC OnBtnMsgFirst("gs alarm 00", "Control1");}AXC OnBtnMsgFirst 函数参数:“gs_alann 00”是在其中组态WinCC W控件的画面的名称。

WINCC中使用C脚本获得操作记录的方法(原创)

WINCC中使用C脚本获得操作记录的方法(原创)

WINCC中使用C脚本获得操作记录的方法(原创)目录1应用范围 (4)1.1详述 (4)1.2适用的系统 (5)2硬、软件配置 (5)3解决方法 (5)附件附件文档号说明1 应用范围1.1 详述在生产中,有很多时候需要记录操作员的操作,以便进行事故分析。

WINCC本身提供了一些对象可以产生操作记录,但是在复杂的情况下是无法兼顾既获得操作记录又满足特殊操作的要求。

这时,可以使用C脚本来获得操作记录。

目前,在WINCC中以下对象可以很方便地获得操作记录:●任何对象,将Event\Direct Connection\Operator Input Message选中。

图1 通过DirectConnection获得操作记录的组态●Check Box对象和Option Group对象,将property\Operator Input Message属性选择为yes。

图2 Check Box对象和Option Group对象获得操作记录的组态●IO Field对象和Slider对象:将property\Operator Input Message属性选择为yes;或将property\Operator Activities Report属性选择为yes。

Operator Input Message和Operator Activities Report的区别是后者可以输入操作理由,确认之后操作记录的Comment中可以查看到操作理由。

图3 IO Field对象和Slider对象获得操作记录的组态以上方法可以快捷地实现获取操作记录的功能,但是在某些情况下,功能要求更复杂,通过以上方法并不能满足要求。

比如:操作员操作一个启动按钮,要求系统能够记录操作员操作信息。

在单步操作的情况下,通过Direct Connection能够很方便地实现这一功能。

但是在两步操作的情况下,需要操作员先确认,在得到确认之后操作才能生效,由于Direct Connection并没有提供操作确认功能,显然通过Direct Connection并不能满足要求。

wincc 弹窗画面宽度显示函数

wincc 弹窗画面宽度显示函数

wincc 弹窗画面宽度显示函数在WinCC中,弹窗画面的宽度显示可以通过使用VBScript或C#来实现。

下面分别给出两种实现方法:1. 使用VBScript:可以通过VBScript中的MsgBox函数来创建一个弹窗,然后通过设置MsgBox 的Width参数来控制弹窗的宽度。

示例代码如下:vbscriptSub Btn_Click()MsgBox "这是一个弹窗", vbInformation + vbOKOnly, "提示信息"MsgBox.Width = 500 '设置弹窗宽度为500End Sub2. 使用C#:可以通过使用System.Windows.Forms命名空间中的MessageBox类来创建一个弹窗,然后通过设置MessageBox的Width属性来控制弹窗的宽度。

示例代码如下:csharpusing System.Windows.Forms;private void Btn_Click(object sender, EventArgs e){ MessageBox.Show("这是一个弹窗", "提示信息", MessageBoxButtons.OK, rmation);MessageBox.DefaultButton = MessageBoxOptions.ServiceNotification;MessageBoxOptions.ServiceNotification.Width = 500; //设置弹窗宽度为500}以上是两种常用的方法,可以根据你具体的需求选择其中一种来实现弹窗的宽度显示。

WinccMessageBox的应用

WinccMessageBox的应用

WinccMessageBox 的应用Liking5200 sdyjdx关键字关键字::wincc ,MessageBox ,二次确认在实际工程设计中,经常遇到一些重要的设备不能随意启停,,误操作会造成比较大的麻烦的,或是影响整条生产线的崩溃,这时启动或停止该设备是,需要谨慎,系统要求给出提示对话框进行二次确认,这种情况下,MessageBox 可以很好的帮助实现该功能。

例1:通过一个按钮C 动作及改变一个内部变量NewTag_3的值,可以全面方便了解MessageBox 的基本功能:#include "apdefap.h"void OnClick(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName) {switch (GetTagDWord("NewTag_3")) //Return-Type: DWORD {case 1:MessageBox(NULL,"这是一个默认的只有确定的消息框","标题MB_OK",MB_OK); break; case 2:MessageBox(NULL,"这是一个确定取消的消息框","标题MB_OKCANCEL",MB_OKCANCEL); break; case 3:MessageBox(NULL,"这是一个是或否的消息框","标题MB_YESNO",MB_YESNO); break; case 4:MessageBox(NULL,"这是一个是或否或取消的消息框","标题MB_YESNOCANCEL",MB_YESNOCANCEL); break; case 5:MessageBox(NULL,"这是一个重试或取消的消息框","标题MB_RETRYCANCEL",MB_RETRYCANCEL); break; case 6:MessageBox(NULL,"这是一个中止、重试和忽略的消息框","标题MB_ABORTRETRYIGNORE",MB_ABORTRETRYIGNORE); break; case 7:MessageBox(NULL,"这是一个错误的消息框","标题MB_ICONHAND",MB_ICONHAND); break; case 8:MessageBox(NULL,"这是一个错误的消息框","标题MB_ICONSTOP",MB_ICONSTOP); break; case 9:MessageBox(NULL,"这是一个错误的消息框","标题MB_ICONERROR",MB_ICONERROR); break;case 10:MessageBox(NULL,"这是一个询问的消息框","标题MB_ICONQUESTION",MB_ICONQUESTION); break;case 11:MessageBox(NULL,"这是一个警告的消息框","标题MB_ICONEXCLAMATION",MB_ICONEXCLAMATION); break;case 12:MessageBox(NULL,"这是一个警告的消息框","标题MB_ICONWARNING",MB_ICONWARNING); break;case 13:MessageBox(NULL,"这是一个信息的消息框","标题MB_ICONASTERISK",MB_ICONASTERISK); break;case 14:MessageBox(NULL,"这是一个信息的消息框","标题MB_ICONINFORMATION",MB_ICONINFORMATION); break;case 15:MessageBox(NULL,"这是一个两种属性的消息框","标题MB_ICONEXCLAMATION|MB_OKCANCEL",MB_ICONEXCLAMATION|MB_OKCANCEL); break;case 16:MessageBox(NULL,"这是一个多种属性的消息框!默认选择第三个按钮","标题",MB_ICONINFORMATION|MB_YESNOCANCEL|MB_DEFBUTTON3); break;default:break;}}运行情况如下:例2:输入输出域的二次确认实例在工程应用中,某些关键数据的输入需要操作员确认无误后才能进行,如变量NewTag_4的改变需要,进行二次确认,首先建立临时变量NewTag_5建立一个输入输出域,如图:属性-》输入输出-》输出值-》动态对话框-》变量NewTag_4,直接连接,如下图;同一个输入输出域,如图:事件-》属性主题-》输入输出值-》输入值-》更改,建立直接连接,将对象输入值,直接赋值给临时NewTag_5,如下图;同一个输入输出域,如图:事件-》键盘-》释放-创建C动作如下图#include "apdefap.h"void OnKeyUp(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName,UINT nChar, UINT nRepCnt, UINT nFlags){int TempValue=GetTagDWord("NewTag_5") ;char szBuffer[20];sprintf(szBuffer,"Input number:%d",TempValue);if(nChar==13){int xRet=MessageBox(NULL,szBuffer,"确认窗口",MB_YESNO|MB_ICONQUESTION|MB_SYSTEMMODAL);if(xRet==IDYES)SetTagDWord("NewTag_4",TempValue);}}运行情况如下:点击“是”;点击“否”例3:按钮启动设备(改变变量的值,将变量NewTag_7置1或清0)二次确认实例建立输入输出域,变量连接显示变量NewTag_7的值;建立两个按钮“置1”、“清零”,分别创建C动作如下运行情况如下:点击“是”;点击“否”点击“是”;点击“否”希望此文对大家有所帮助希望此文对大家有所帮助!!。

WINCC-使用对话框实现用户登录的方法

WINCC-使用对话框实现用户登录的方法

WINCC-使用自定义的对话框实现用户登录?1、首先建立两个输入输出域,分别定义为1,2,在输入输出域的对象属性-属性-输出/输入-输出值连接变量@CurrentUserName,对象属性-事件-属性主题-输出/输入-输入值-更改添加代码:SetOutputValueChar(lpszPictureName,lpszObjectName,GetInputValueChar(lpszPictureName,lpszObjec tName));2、在登录按钮中加处以下脚本:#include "USEGENAP.H"#pragma code ("UseAdmin.DLL")#include "pwrt_api.h"#pragma code ()if (PWRTSilentLogin(GetInputValueChar(lpszPictureName,"1"),GetInputValueChar(lpszPictureName,"2")) == FALSE){if(MessageBox (NULL, "错误,请重新输入!" , "提示", MB_ICONEXCLAMATION| MB_SYSTEMMODAL ));}else{//OpenPicture("你要进入的画面");}其中"USERNAME","PASSWORD"可以用存储用户名和密码的变量替换.如:PWRTSilentLogin(GetTagChar("user"),GetTagChar("PassWord"))当登录成功时,函数返回值为真;如登录失败,则返回值为假。

3、在退出按钮中添加代码:#pragma code ("useadmin.dll")#include "PWRT_api.h"#pragma code()if(PWRTLogout()){MessageBox (NULL, "用户已退出!" , "提示", MB_ICONEXCLAMATION| MB_SYSTEMMODAL );}以下为空。

WINCC中使用C脚本获得操作记录的方法(原创)

WINCC中使用C脚本获得操作记录的方法(原创)

目录1应用围 (3)1.1详述 (3)1.2适用的系统 (4)2硬、软件配置 (4)3解决方法 (4)附件附件文档号说明1 应用围1.1 详述在生产中,有很多时候需要记录操作员的操作,以便进行事故分析。

WINCC本身提供了一些对象可以产生操作记录,但是在复杂的情况下是无法兼顾既获得操作记录又满足特殊操作的要求。

这时,可以使用C脚本来获得操作记录。

目前,在WINCC中以下对象可以很方便地获得操作记录:●任何对象,将Event\Direct Connection\Operator Input Message选中。

图1 通过DirectConnection获得操作记录的组态●Check Box对象和Option Group对象,将property\Operator Input Message属性选择为yes。

图2 Check Box对象和Option Group对象获得操作记录的组态●IO Field对象和Slider对象:将property\Operator Input Message属性选择为yes;或将property\Operator Activities Report属性选择为yes。

Operator Input Message和Operator Activities Report的区别是后者可以输入操作理由,确认之后操作记录的Comment中可以查看到操作理由。

图3 IO Field对象和Slider对象获得操作记录的组态以上方法可以快捷地实现获取操作记录的功能,但是在某些情况下,功能要求更复杂,通过以上方法并不能满足要求。

比如:操作员操作一个启动按钮,要求系统能够记录操作员操作信息。

在单步操作的情况下,通过Direct Connection能够很方便地实现这一功能。

但是在两步操作的情况下,需要操作员先确认,在得到确认之后操作才能生效,由于Direct Connection并没有提供操作确认功能,显然通过Direct Connection并不能满足要求。

WinCC中C脚本弹出对话框代码详解

WinCC中C脚本弹出对话框代码详解

WinCC中C脚本弹出对话框代码代码:int cal_wr;cal_wr=MessageBox(NULL, "1#卷取机1#助卷辊标定?", "标定确认",MB_YESNO|MB_SYSTEMMODAL);if (cal_wr==IDYES)SetTagBit("TAGNAME",TRUE);elseSetTagBit("TAGNAME",FALSE);相关知识:HWND hWnd=NULL //定义变量hWnd=FindWindow(NULL,"Wincc‐运行系统 ‐ ") //获取窗口句柄MessageBox(hWnd,"这是个对话框!","哈哈",MB_OKCANCEL|MB_ICONWARNING|MB_APPLMODAL)函数功能:该函数创建、显示、和操作一个消息框。

消息框含有应用程序定义的消息和标题,加上预定义图标与Push(下按)按钮的任何组合。

函数原型:int MessageBox(HWND hWnd,LPCTSTR IpCaption,UINT UType);参数:hWnd:标识将被创建的消息框的拥有窗口。

如果此参数为NULL,则消息框没有拥有窗口。

IpText:指向一个以NULL结尾的、含有将被显示的消息的字符串的指针。

IpCaption:指向一个以NULL结尾的、用于对话框标题的字符串的指针。

uType:指定一个决定对话框的内容和行为的位标志集。

此参数可以为下列标志组中标志的组合。

指定下列标志中的一个来显示消息框中的按钮,标志的含义如下。

MB_ABORTRETRYIGNORE:消息框含有三个按钮:Abort,Retry和Ignore。

MB_OK:消息框含有一个按钮:OK。

这是缺省值。

MB_OKCANCEL:消息框含有两个按钮:OK和Cancel。

WINCC中使用C脚本获得操作记录方法

WINCC中使用C脚本获得操作记录方法

目录1应用范围 (3)1.1详述 (3)1.2适用的系统 (4)2硬、软件配置 (4)3解决方法 (4)附件附件文档号说明1 应用范围1.1 详述在生产中,有很多时候需要记录操作员的操作,以便进行事故分析。

WINCC本身提供了一些对象可以产生操作记录,但是在复杂的情况下是无法兼顾既获得操作记录又满足特殊操作的要求。

这时,可以使用C脚本来获得操作记录。

目前,在WINCC中以下对象可以很方便地获得操作记录:●任何对象,将Event\Direct Connection\Operator Input Message选中。

图1 通过DirectConnection获得操作记录的组态●Check Box对象和Option Group对象,将property\Operator Input Message属性选择为yes。

图2 Check Box对象和Option Group对象获得操作记录的组态●IO Field对象和Slider对象:将property\Operator Input Message属性选择为yes;或将property\Operator Activities Report属性选择为yes。

Operator Input Message和Operator Activities Report的区别是后者可以输入操作理由,确认之后操作记录的Comment中可以查看到操作理由。

图3 IO Field对象和Slider对象获得操作记录的组态以上方法可以快捷地实现获取操作记录的功能,但是在某些情况下,功能要求更复杂,通过以上方法并不能满足要求。

比如:操作员操作一个启动按钮,要求系统能够记录操作员操作信息。

在单步操作的情况下,通过Direct Connection能够很方便地实现这一功能。

但是在两步操作的情况下,需要操作员先确认,在得到确认之后操作才能生效,由于Direct Connection并没有提供操作确认功能,显然通过Direct Connection并不能满足要求。

Wincc中弹出对话框函数MessageBox参数以及应用

Wincc中弹出对话框函数MessageBox参数以及应用

Wincc中对话框弹出函数MessageBox参数以及应用按键显示://MessageBox(NULL,"这是一个默认的只有确定的消息框!","标题", MB_OK );//MessageBox(NULL,"这是一个确定取消的消息框!","标题", MB_OKCANCEL );//MessageBox(NULL,"这是一个是或否的消息框!","标题", MB_YESNO );//MessageBox(NULL,"这是一个是或否或取消的消息框!","标题", MB_YESNOCANCEL );//MessageBox(NULL,"这是一个重试或取消的消息框!","标题",MB_RETRYCANCEL );//MessageBox(NULL,"这是一个中止, 重试和忽略的消息框!","标题",MB_ABORTRETRYIGNORE ); 在消息框内显示的图标是以下值之一。

//MessageBox(NULL,"这是一个错误的消息框!","标题", MB_ICONHAND );//MessageBox(NULL,"这是一个错误的消息框!","标题", MB_ICONSTOP );//MessageBox(NULL,"这是一个错误的消息框!","标题", MB_ICONERROR );//MessageBox(NULL,"这是一个询问的消息框!","标题", MB_ICONQUESTION);//MessageBox(NULL,"这是一个警告的消息框!","标题", MB_ICONEXCLAMATION );//MessageBox(NULL,"这是一个警告的消息框!","标题", MB_ICONWARNING);//MessageBox(NULL,"这是一个信息的消息框!","标题", MB_ICONASTERISK );//MessageBox(NULL,"这是一个信息的消息框!","标题", MB_ICONINFORMATION );//MessageBox(NULL,"这是一个两种属性的消息框!","标题", MB_ICONEXCLAMATION|MB_OKCANCEL ); 对话框弹出时默认选中的按钮://MessageBox(NULL,"这是一个多种属性的消息框!默认选中第三个按钮","标题", MB_ICONEXCLAMA TION|MB_YESNOCANCEL|MB_DEFBUTTON3 );返回值://if(MessageBox(NULL,"这是一个判断选择了哪个按钮的消息框!","标题", MB_ICONEXCLAMA TION|MB_OKCANCEL )==IDCANCEL)//return;。

WinCC复选框的使用

WinCC复选框的使用

WinCC复选框的使用WinCC 复选框的使用2010年03月10日星期三 11:15WinCC的复选框和Windows标准控件的复选框是一样的,每个框的状态由一个位(bit)来表示,在事件》属性主题》输出|输入》改变里面,书写事件的相应代码,value这个变量则表示了复选框的状态,下面的代码只显示了选择某一项的情况,要响应多选,计算好状态位的并补充即可。

单选框的使用与第一段代码相同#include "apdefap.h"void OnPropertyChanged(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName, long value) {switch (value){ case 1:printf("选项1被选中"); break;case 2:printf("选项2被选中"); break;case 4:printf("选项3被选中"); break;case 8:printf("选项4被选中"); break;default:printf("没有选项被选中"); break;}}#include "apdefap.h"void OnPropertyChanged(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName, long value) {switch (value){case 1:printf("选项1被选中"); break;case 3:printf("选项1+2被选中"); break;case 7:printf("选项1+2+3被选中"); break;case 15:printf("选项1+2+3+4被选中"); break;default:printf("选中不合要求"); break;}}同时,还可以在其他过程中改变复选框的状态,选择第一第二项的示例SetPropDouble(lpszPictureName,"复选框1","Process",0x3);。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

WinccMessageBox 的应用
Liking5200 sdyjdx
关键字关键字::wincc ,MessageBox ,二次确认
在实际工程设计中,经常遇到一些重要的设备不能随意启停,,误操作会造成比较大的麻烦的,或是影响整条生产线的崩溃,这时启动或停止该设备是,需要谨慎,系统要求给出提示对话框进行二次确认,这种情况下,MessageBox 可以很好的帮助实现该功能。

例1:通过一个按钮
C 动作及改变一个内部变量NewTag_3的值,可以全面方便了解
MessageBox 的基本功能:
#include "apdefap.h"
void OnClick(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName) {
switch (GetTagDWord("NewTag_3")) //Return-Type: DWORD {
case 1:
MessageBox(NULL,"这是一个默认的只有确定的消息框","标题MB_OK",MB_OK); break; case 2:
MessageBox(NULL,"这是一个确定取消的消息框","标题MB_OKCANCEL",MB_OKCANCEL); break; case 3:
MessageBox(NULL,"这是一个是或否的消息框","标题MB_YESNO",MB_YESNO); break; case 4:
MessageBox(NULL,"这是一个是或否或取消的消息框","标题MB_YESNOCANCEL",MB_YESNOCANCEL); break; case 5:
MessageBox(NULL,"这是一个重试或取消的消息框","标题MB_RETRYCANCEL",MB_RETRYCANCEL); break; case 6:
MessageBox(NULL,"这是一个中止、重试和忽略的消息框","标题MB_ABORTRETRYIGNORE",MB_ABORTRETRYIGNORE); break; case 7:
MessageBox(NULL,"这是一个错误的消息框","标题MB_ICONHAND",MB_ICONHAND); break; case 8:
MessageBox(NULL,"这是一个错误的消息框","标题MB_ICONSTOP",MB_ICONSTOP); break; case 9:
MessageBox(NULL,"这是一个错误的消息框","标题MB_ICONERROR",MB_ICONERROR); break;
case 10:
MessageBox(NULL,"这是一个询问的消息框","标题MB_ICONQUESTION",MB_ICONQUESTION); break;
case 11:
MessageBox(NULL,"这是一个警告的消息框","标题MB_ICONEXCLAMATION",MB_ICONEXCLAMATION); break;
case 12:
MessageBox(NULL,"这是一个警告的消息框","标题MB_ICONWARNING",MB_ICONWARNING); break;
case 13:
MessageBox(NULL,"这是一个信息的消息框","标题MB_ICONASTERISK",MB_ICONASTERISK); break;
case 14:
MessageBox(NULL,"这是一个信息的消息框","标题MB_ICONINFORMATION",MB_ICONINFORMATION); break;
case 15:
MessageBox(NULL,"这是一个两种属性的消息框","标题MB_ICONEXCLAMATION|MB_OKCANCEL",MB_ICONEXCLAMATION|MB_OKCANCEL); break;
case 16:
MessageBox(NULL,"这是一个多种属性的消息框!默认选择第三个按钮","标题",MB_ICONINFORMATION|MB_YESNOCANCEL|MB_DEFBUTTON3); break;
default:
break;
}
}
运行情况如下:
例2:输入输出域的二次确认实例
在工程应用中,某些关键数据的输入需要操作员确认无误后才能进行,如变量NewTag_4的改变需要,进行二次确认,首先建立临时变量NewTag_5
建立一个输入输出域,如图:属性-》输入输出-》输出值-》动态对话框-》变量NewTag_4,直接连接,如下图;
同一个输入输出域,如图:事件-》属性主题-》输入输出值-》输入值-》更改,建立直接连接,将对象输入值,直接赋值给临时NewTag_5,如下图;
同一个输入输出域,如图:事件-》键盘-》释放-创建C动作如下图
#include "apdefap.h"
void OnKeyUp(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName,
UINT nChar, UINT nRepCnt, UINT nFlags)
{
int TempValue=GetTagDWord("NewTag_5") ;
char szBuffer[20];
sprintf(szBuffer,"Input number:%d",TempValue);
if(nChar==13)
{
int xRet=MessageBox(NULL,szBuffer,"确认窗口",MB_YESNO|MB_ICONQUESTION|MB_SYSTEMMODAL);
if(xRet==IDYES)
SetTagDWord("NewTag_4",TempValue);
}
}
运行情况如下:
点击“是”;点击“否”
例3:按钮启动设备(改变变量的值,将变量NewTag_7置1或清0)二次确认实例
建立输入输出域,变量连接显示变量NewTag_7的值;建立两个按钮“置1”、“清零”,分别创建C动作如下
运行情况如下:
点击“是”
;点击“否”
点击“是”
;点击“否”
希望此文对大家有所帮助希望此文对大家有所帮助!!。

相关文档
最新文档