wincc脚本经验

合集下载

Wincc界面设计——C脚本实践

Wincc界面设计——C脚本实践

Wincc界面设计——C脚本实践简介Wincc是一款用于人机界面设计的软件,通过使用C脚本,可以实现更加复杂的功能和交互。

本文将介绍如何在Wincc界面设计中实践C脚本的使用。

C脚本基础在开始使用C脚本之前,需要了解C语言的基础知识。

C脚本是一种用于编写Wincc界面逻辑的脚本语言,其语法和C语言相似。

熟悉C语言的人员可以更快地上手C脚本的编写。

C脚本实践以下是一些常见的C脚本实践示例:1. 按钮点击事件void Button_Click(){// 点击按钮后执行的代码// ...}在Wincc界面中,可以为按钮添加点击事件。

当按钮被点击时,会调用`Button_Click`函数,可以在该函数中编写相应的逻辑代码。

2. 数据处理double CalculateAverage(double[] data, int length){double sum = 0;for (int i = 0; i < length; i++){sum += data[i];}return sum / length;}在Wincc界面中,可以使用C脚本进行数据处理。

上述示例代码演示了如何计算一组数据的平均值。

可以根据实际需求编写相应的数据处理函数。

3. 界面更新void UpdateLabel(){double value = GetSensorValue();Label.SetText(value);}C脚本还可以用于更新界面元素的内容。

上述示例代码演示了如何根据传感器的值来更新标签的文本。

通过调用相应的函数或方法,可以实现界面元素的动态更新。

总结通过使用C脚本,可以在Wincc界面设计中实现更加复杂的功能和交互。

本文介绍了C脚本的基础知识以及一些常见的实践示例。

在实际应用中,可以根据需求灵活运用C脚本,提升Wincc界面的设计和交互体验。

wincc-全套脚本总结

wincc-全套脚本总结
"data_FLAG",1
)
}
-------------------------------------
——————7、对话框调用——————
BOOL A;
BOOL B;
}
// WINCC:PICNAME_SECTION_START
// syntax: #define PicNameInAction "PictureName"
// next PicID : 1
// WINCC:PICNAME_SECTION_END
return 0;
}
=====================================================
int value;
value=GetTagBit("IM_in");//"IM_in"为触发的变量。
if(value==1)
{
SetVisible("lianxi.pdl","按钮8",TRUE);//lianxi.pdl为控制对象所在画etVisible("lianxi.pdl","按钮8",FALSE);//lianxi.pdl
SetPropWord(lpszPictureName,"qushi","ValueAxisEndValue",Hi);
————————————————————————
——————4、获取位号————————
SetTagChar("TrendTagName1","ProcessValueArchive\\PT111");//Return-Type: BOOL

wincc-全套脚本总结

wincc-全套脚本总结

—————-1、wincc全局脚本动作-——-—-—隐藏控件——————#include "apdefap.h"int gscAction( void ){// WINCC:TAGNAME_SECTION_START// syntax: #define TagNameInAction "DMTagName"// next TagID : 1// WINCC:TAGNAME_SECTION_ENDint value;value=GetTagBit(”IM_in”);//"IM_in”为触发的变量.if(value==1){SetVisible("lianxi.pdl”,”按钮8",TRUE);//lianxi。

pdl为控制对象所在画面名,“按钮8”为对象名称}else{SetVisible(”lianxi.pdl","按钮8",FALSE);//lianxi.pdl}// WINCC:PICNAME_SECTION_START// syntax:#define PicNameInAction "PictureName”// next PicID : 1// WINCC:PICNAME_SECTION_ENDreturn 0;}=====================================================说明:在触发器里选择变量IM_in-—————2、wincc全局脚本动作-——-提示框————--#include "apdefap.h”int gscAction( void ){// WINCC:TAGNAME_SECTION_START// syntax: #define TagNameInAction "DMTagName”// next TagID : 1// WINCC:TAGNAME_SECTION_ENDint value;value=GetTagBit(”IM_in”);if(value==1){MessageBox(NULL,”请确认三厅相关门是否关好,或者请解锁。

VB操作wincc脚本心得

VB操作wincc脚本心得

Vbs 操作wincc画面脚本总结一:不使用变量单纯的操作界面1.操作某个画面中控件的属性如Home1.Pdl(总窗体)下的画面窗口2(画面窗口)Sub OnClick(ByVal Item)Dim objCircleDim screennameDim pwnameSet objCircle= ScreenItems("圆1" )objCircle.Radius = 60Set screenname=HMIRuntime.Screens("Home1") //获取要操作的窗体Set pwname=screenname.ScreenItems("画面窗口2") //获取要操作的控件,这里填入你要操作的控件名MsgBox(objCircle.Radius) //输出圆的半径MsgBox (pwname.Picturename) //输出当前画面窗口2的名字End Sub注意当调用某窗体下的某控件的某个属性时,需要声明两个对象,一个接纳这个控件,一个接纳值例如Dim objectDim valueSet object =HMIRuntime.Screens("Home1").ScreenItems("画面窗口2")Set value=object.picturename2.更改画面窗口的对象Sub OnClick(Byval Item)Dim opObjectSet opObject=HMIRuntime.Screens ("Home1").ScreenItems("画面窗口2")opObject.PictureName="Page1.Pdl"End Sub3.设置文本Set titleTxt=HMIRuntime.Screens ("Home1").ScreenItems("静态文本2")titleTxt.Text =titleTxt.Text+"EF" //获取文本的值并追加字符4.vb 字符串函数VB的字符串截取函数有Left(字符串,n),返回字符串前N个字符;Mid(字符串,p,n),从第p个字符开始,向后截取N个字符;right(字符串,n),返回字符串的最后n 个字符。

WINCC常用脚本说明

WINCC常用脚本说明

WINCC 常用脚本说明——第一篇(2011-06-郑州-SZL)一、 VBS1.定义变量格式:Dim 变量实例:Dim GDH1,PCH1,CL1,BC1,Silo1,PH1Dim GDH2,PCH2,CL2,BC2,Silo2,PH22.注释格式:’’ (英文下)实例: '换柜 21、22、23、24\25'工单开始 31、32、33、34\35'工单结束 41、42、43、44\45'1--换柜,2--工单开始,3--班开始,4--工单结束,5--班结束3.读变量取值格式:=HMIRuntime.Tags("").READ实例:MES_WO = ""MES_WO=HMIRuntime.Tags("CP_A_GDH").READ4.写变量赋值格式:HMIRuntime.Tags("").Write实例:HMIRuntime.Tags("CP_A_GDCZBZ").Write 3,15.调用windows dialog格式:If MsgBox("", vbYesNo, "CONFIRM") = Then实例:If MsgBox("确定工单开始?", vbYesNo, "CONFIRM") = vbYes Then6.提示Messagebox格式:MsgBox("")实例:MsgBox("CP 工单开始取消")7.IF 判断格式:if HMIRuntime.tags("").read <> 0 thenEnd if实例:if HMIRuntime.tags("WSJ_A_GDH_1").read <> 0 thenEnd if8.打开控件组态对话框格式:ScreenItems(“”).TollbarButtonClick =实例:ScreenItems(“Control1”).TollbarButtonClick =29.数据库操作WinCC访问数据库的三种方法:a)使用WinCC OLE DB Provider 访问WinCC过程值和消息归档实例:Set conn = CreateObject(“ADODB.Connection”)Conn.open“Provider = WinCCOLEDBProvider.1;catalog = CC_OpenArch;Data Source = .\WinCC” b)使用MS OLE DB Provider 访问WinCC用户归档实例:Set conn = CreateObject(“ADODB.Connection”)C onn.open“Provider=SQLLEDB.1;Integrated Security = SSPI; Persist SecurityInfo = false ; Initial Catalog = CC_OpenArch; Data Source = .\WinCC” c)使用VBS脚本通过ODBC访问数据库1)连接数据库:实例:YX = HMIRuntime.Tags("CP_A_GDH").READstrConnectiOnString = "Provider=SQLOLEDB.1;Persist Security Info=False;UserID=dbzs1;Password=dbzs1;Initial Catalog=DBZS1;Data Source=10.65.248.20\WINCC"'strSQL = "select distinct MATID from MES_ZS_WOR_CUT_BACK where WOID='" &YX& "'"Set objCoNnection = CreateObject("ADODB.Connection")objConnection.ConnectiOnString = strConnectionStringobjConnection.openSet objR = CreateObject("ADODB.RecorDset")Set obJCommand = CreateObject("mand")objCommand.ActiveCoNnection = objConnection2)查找数据库实例:strSQL = "Select mzwcb.MATID FROM MES_ZS_WOR_CUT_BACK mzwcb WHEREmzwcb.WOID='"&YX&"' AND mzwcb.MATID LIKE '270%'"3)写数据库实例:MandText = StrsqLSet objR = objCommand.ExEcuteJX =""JX = objR(0)HMIRuntime.Tags("CP_A_JXPH").Write JX4)关闭数据库实例:Set obJCommand = NothingobjConnection.CloseSet objR = NothingSet objCoNnection = Nothing5)数据库存储过程操作mandText="WSJ_REPORT'"&GDH1&"','"&BC1&"','"&PCH1&"','"&PH1&"','"&Silo1&"',"&CL1&",'"&CStr(Now)&"',3"'V ="WSJ_REPORT '"&GDH&"','"&BC&"','"&PCH&"','"&PH&"','"&Silo&"',"&CL&",'"&CStr(Now)&"',3"'MSgbox("1BKS")'objCommand.Execute二、 C脚本1.定义变量格式:type 变量实例:int GDH1;Byte GDH2;Double GDH3;2.注释格式:// (英文下)实例: //换柜 21、22、23、24\25//工单开始 31、32、33、34\35//工单结束 41、42、43、44\45//1--换柜,2--工单开始,3--班开始,4--工单结束,5--班结束3.读变量取值格式:GetTagByte("",);实例:GetTagByte("WSJ_A_GDBL");GetTagByte("WSJ_A_OFWO5");4.写变量赋值格式:SetTagByte("",);实例:SetTagByte("WSJ_A_GDBL",1);SetTagByte("WSJ_A_OFWO5",1);5.调用windows dialog格式:MsgBox("", vbYesNo, "CONFIRM")实例:MsgBox("确定工单开始?", vbYesNo, "CONFIRM") = vbYes Then6.提示Messagebox格式:MsgBox("")实例:MsgBox("CP 工单开始取消")7.IF 判断格式:if ()else实例:if ("WSJ_A_GDH_1"== 0)Else8.打开控件组态对话框格式:SetPropWord(lpszPictureName,””,””,)实例:SetPropWord(lpszPictureName,”Control1”,”TollbarButtonClick”,2)三、动态对话框函数判断取值实例:('C_SA509_CASING_CUR_1'<=63 || 'C_SA509_CASING_CUR_2'<=63 || 'C_SA509_CASING_CUR_3'<=63) && 'C_SA509_STATE'==1四、 WinCC组包含影响整个WinCC系统的函数1.BOOL GetHWDiag(LPCTSTR lpszPictureName, LPCTSTR lpszObjectName, LPCTSTR lpProperties)函数运行时该函数可实现诊断的直接启动,由事件触发。

Wincc界面制作:C脚本的实际操作

Wincc界面制作:C脚本的实际操作

Wincc界面制作:C脚本的实际操作本文档将介绍Wincc界面制作中使用C脚本的实际操作步骤。

步骤一:了解C脚本基础知识在开始之前,我们需要了解一些C脚本的基础知识。

C脚本是一种编程语言,常用于Wincc界面制作中的自定义功能和交互。

熟悉C脚本语法和常用函数对于实际操作非常重要。

步骤二:创建C脚本文件在Wincc界面制作软件中,我们可以创建一个C脚本文件来实现自定义功能。

在界面中选择适当的位置,右键点击,然后选择“创建脚本”选项。

给脚本文件起一个有意义的名称,并确保选择C 脚本语言。

步骤三:编写C脚本代码打开创建的C脚本文件,在其中编写所需的代码。

根据具体需求,可以使用各种C脚本语法和函数来实现不同的功能。

注意编写清晰、简洁的代码,以便后续维护和修改。

步骤四:调用C脚本在Wincc界面制作软件中,我们可以通过不同的方式来调用C脚本。

例如,在按钮的点击事件中调用C脚本,或者在某个对象的属性中设置C脚本作为其值。

根据具体需求,选择合适的调用方式,并将C脚本与相应的界面元素关联起来。

步骤五:测试和调试在完成C脚本的编写和调用后,进行测试和调试是非常重要的。

通过模拟用户操作,检查C脚本是否按预期执行,并修复可能存在的错误。

确保C脚本在不同情况下都能正常工作。

步骤六:文档记录最后,完成实际操作后,我们应该记录下所有的C脚本代码和相关的操作步骤。

这样可以方便日后的维护和修改,并为其他团队成员提供参考。

以上是Wincc界面制作中使用C脚本的实际操作步骤。

通过正确的使用C脚本,我们可以实现更多的自定义功能和交互,提升界面的灵活性和用户体验。

请注意,本文档仅提供实际操作步骤的概述,并不包含具体的代码示例。

具体的代码编写需要根据具体需求进行定制。

VB操作wincc脚本心得

VB操作wincc脚本心得

Vbs 操作wincc画面脚本总结一:不使用变量单纯的操作界面1.操作某个画面中控件的属性如(总窗体)下的画面窗口2(画面窗口)Sub OnClick(ByVal Item) Dim objCircleDim screennameDim pwnameSet objCircle= ScreenItems("圆1" )= 60Set screenname=("Home1") creenItems("画面窗口2")Set value=2.更改画面窗口的对象Sub OnClick(Byval Item)Dim opObjectSet opObject= ("Home1").ScreenItems("画面窗口2")=""End Sub3.设置文本Set titleTxt= ("Home1").ScreenItems("静态文本2")=+"EF" Dim objTagDim ATextSet objTag = ("a") vb 中Switch语句的变体Dim objTagDim ATextSet objTag = ("a") 你要求是有是和否两个按钮那么MyVar = MsgBox ("Hello World!",65, "MsgBox Example")中的65改成4就可以了!vbs脚本中:if msgbox("确实要启动设备吗",4,"警告")=6 then("tag1").write 1end if。

wincc 全套脚本总结

wincc 全套脚本总结

} -------------------------------------
——————6、时间同步——————
void SetCpuTime() { #pragma code("kernel32.dll"); void GetLocalTime(SYSTEMTIME *lpst); #pragma code(); SYSTEMTIME time BOOL ret; //printf("Start function SetCpuTime\r\n"); GetLocalTime(&time); ret= SetTagMultiWait("%d%d%d%d%d%d%d",
"data_FLAG",1
) }
-------------------------------------
——————7、对话框调用——————
BOOL A; BOOL B; HWND hwnd=NULL; int RetMsg; A=GetTagBit("TJ_ANNIU"); //Return-Type: BOOL hwnd=FindWindow(NULL,"WinCC-运行系统 - "); if (A==0)
MB_OK|MB_SYSTEMMODAL|MB_SETFOREGROUND); SetTagBit("TJ_ANNIU",0);
} else B=0; } else { } ------------------------------------------
——————8、声音报警——————
#pragma code("Winmm.dll") VOID WINAPI PlaySoundA(char* pszSound,char* hmode,DWORD dwflag); #pragma code()

博途中WinCCVBS脚本的基础用法

博途中WinCCVBS脚本的基础用法

博途中WinCCVBS脚本的基础⽤法VBS 脚本可以⽤在 WinCC Comfort/Advanced Runtime。

下⾯就是⼀些很实⽤技巧,希望对⼤家有所帮助!1、为什么⼀个由内部变量的 “数值改变” 事件触发的脚本不被执⾏?如果使⽤⼀个内部变量调⽤另外⼀个内部变量,以此,例如被调⽤的变量⼜去执⾏⼀个脚本(⽐如,根据变量变化),此时⼀个安全机制会阻⽌这个功能被执⾏。

此安全功能是为了阻⽌连续的执⾏。

例如在内部变量 “HMI_Tag_01” 属性下,“更改数值”事件去置位内部变量 “HMI_Tag_02” 中的某⼀位。

同时内部变量 “HMI_Tag_02” 的“更改数值”事件下⼜调⽤⼀个脚本。

结果:这个脚本不会被执⾏。

结果:解决办法使⽤和控制器通讯的外部变量。

请注意,通过使⽤外部变量可以规避上述安全机制。

在项⽬运⾏时可能会产⽣问题。

2、如何在⼀个脚本中访问数组中的元素?对数组元素的访问是通过数组的名称和数组中由括号分隔的数组索引来实现的:“SmartTags('Array Name')(array index) ”例如访问数组 'DB10_HMI_Data' 的第⼆个元素:Dim Tag_01 'Internal script tagTag_01 = SmartTags('DB10_HMI_Data')(2)注意使⽤下⾯语法访问字符串类型数组中的元素:Dim Tag_01 'Internal script tagTag_01 = SmartTags('DB10_HMI_Data[2]')例如通过⼀个循环描述数组 'DM10_HMI_Data' 的第⼀个元素⾄第⼗⼀个元素Dim Tag_01For Tag_01=0 to 10SmartTags('DB10_HMI_Data')(Tag_01) = 5Next局部脚本的数组(该数组仅在此脚本中可⽤)可以使⽤同样的⽅式查询,对于多维数组,各个维度通过⼀个逗号分隔开。

WINCCVBS脚本文件操作

WINCCVBS脚本文件操作

WINCCVBS脚本文件操作WinCC VBS脚本中的文件操作主要涉及文件的创建、读取、写入和删除等操作。

下面是一个超过1200字的文章,介绍了WinCC VBS脚本中常用的文件操作方法和示例。

在WinCC VBS脚本中,可以使用FileSystemObject对象来进行文件操作。

首先,需要创建一个FileSystemObject对象:```Dim fsoSet fso = CreateObject("Scripting.FileSystemObject")```接下来,可以使用FileSystemObject对象的属性和方法来操作文件。

下面是常用的文件操作方法示例:1.创建文件夹:```fso.CreateFolder "C:\TestFolder"```2.创建文件:```Dim fileSet file = fso.CreateTextFile("C:\TestFile.txt", True)file.WriteLine "This is a test file."file.Close```3.打开文件:```Dim fileSet file = fso.OpenTextFile("C:\TestFile.txt")MsgBox file.ReadAllfile.Close```4.写入文件:```Dim fileSet file = fso.OpenTextFile("C:\TestFile.txt", 8) file.WriteLine "This is a new line."file.Close```5.读取文件:```Dim fileSet file = fso.OpenTextFile("C:\TestFile.txt")MsgBox file.ReadLinefile.Close```6.复制文件:```fso.CopyFile "C:\SourceFile.txt", "C:\DestinationFile.txt"```7.移动文件:```fso.MoveFile "C:\SourceFile.txt","C:\NewLocation\SourceFile.txt"```8.删除文件:```fso.DeleteFile "C:\TestFile.txt"```9.删除文件夹:```fso.DeleteFolder "C:\TestFolder"```以上示例中的文件路径可以根据实际情况进行修改。

WINCC脚本技巧

WINCC脚本技巧

1、问:如何触发计算机扬声器的声音?答:编写如下C-Action:#pragma code("kernel32.dll");BOOL Beep(DWORD dwFreq,DWORD dwDuration);#pragma code();Beep(500,500);2、问:如何通过C脚本来确定报警信息?答:首先必须在画面中插入报警控件,可以用如下两种方式来确认信息:(1)、确认单条信息4版本和高于此版本的WinCCBOOL OnBtnSinglAckn(char*lpszPictureName,char*lpszObjectName)5版本和高于此版本的WinCCBOOL AXC_OnBtnSinglAckn(char*lpszPictureName,char*lpszObjectName)(2)、确认报警窗口所有可见的报警4版本和低于此版本的WinCCBOOL OnBtnVisibleAckn(char*lpszPictureName,char*lpszObjectName)5版本和高于此版本的WinCCBOOL AXC_OnBtnVisibleAckn(char*lpszPictureName,char*lpszObjectNa me)3、问:如何在WinCC中读取系统时间?答:通过如下C-Action:#pragma code("kernel32.dll");Void GetLocalTimes(SYSTEMTIME*lpst);#pragma code();SYSTEMTIME time;GetLocalTime(&time);SetTagWord("Varname",time.wYear);SetTagWord("Varname",time.wMonth);SetTagWord("Varname",time.wDayOfWeek);SetTagWord("Varname",time.wDay);SetTagWord("Varname",time.wHour);SetTagWord("Varname",time.wMinute);SetTagWord("Varname",time.wSecond);SetTagWord("Varname",time.wMilliseconds);4、问:如何经Windows对话框设置日期时间?答:通过调用Windows对话框实现。

WINCC脚本技巧

WINCC脚本技巧

WINCC脚本技巧WinCC(Windows Control Center)是西门子公司开发的一款用于监控与控制系统的人机界面软件。

在WinCC中,脚本技巧是一种非常重要的技术,可以实现自动化控制和数据处理等功能。

本文将介绍一些WinCC脚本技巧,帮助您更好地使用和开发WinCC系统。

一、脚本语言简介在WinCC中,脚本语言主要使用VBScript(Visual Basic Scripting Edition)编写。

VBScript是一种微软开发的轻量级脚本语言,易于学习和使用。

通过编写脚本,可以实现界面操作、数据处理、报警管理等功能。

二、脚本的基本语法1. 变量和常量在脚本中,可以定义变量来存储数据,如:```Dim ii = 10```此处定义了一个名为i的变量,并将其赋值为10。

在脚本中,还可以使用常量来存储固定值,如:```Const PI = 3.14159```此处定义了一个名为PI的常量,并将其值设置为3.14159。

2. 条件语句条件语句可以根据特定条件来执行不同的操作,如:```If i > 0 ThenMsgBox "i大于0"ElseIf i = 0 ThenMsgBox "i等于0"ElseMsgBox "i小于0"End If```此处根据变量i的值来执行不同的提示。

3. 循环语句循环语句可以重复执行一段代码,如:```For i = 1 To 10MsgBox iNext```此处使用循环语句输出1到10的数字。

三、常用的脚本技巧1. 控件操作脚本可以实现对界面中的控件进行操作,如修改文本框内容、显示隐藏控件等。

通过控件的名称和属性,可以使用脚本进行相应的操作,提高人机交互的效果。

2. 数据处理脚本可以实现简单的数据处理,如对数据进行格式化、计算等。

通过获取界面中的数据,使用脚本进行相应的处理并显示结果,方便用户进行数据分析和决策。

Wincc视觉界面创建---C脚本的实战教程

Wincc视觉界面创建---C脚本的实战教程

Wincc视觉界面创建---C脚本的实战教程本教程旨在帮助用户了解如何使用Wincc视觉界面创建C脚本,以便实现数据的可视化和控制功能。

通过本教程的学习,用户将能够掌握Wincc视觉界面创建C脚本的基本方法和实战技巧。

1. Wincc视觉界面简介Wincc视觉界面是用于创建数据可视化和控制界面的工具,它提供了丰富的控件和功能,可以帮助用户快速构建复杂的监控和控制系统。

在Wincc视觉界面中,用户可以通过拖拽控件、设置属性、编写脚本等方式实现各种功能。

2. C脚本概述C脚本是Wincc视觉界面的重要组成部分,它使用C语言编写,可以实现复杂的数据处理和控制逻辑。

通过编写C脚本,用户可以自定义控件的行为、实现数据联动、执行定时任务等。

3. 创建C脚本工程在Wincc视觉界面中创建C脚本工程,需要遵循以下步骤:1. 打开Wincc视觉界面,创建一个新的项目。

2. 在项目中添加一个新的C脚本工程。

3. 双击工程文件,打开C脚本编辑器。

4. 编写C脚本在C脚本编辑器中,用户可以使用C语言编写脚本。

以下是一个简单的示例,实现了一个控件的显示和隐藏功能:// 导入头文件include "wincc.h"// 定义控件显示函数void ShowControl(int controlID) {// 获取控件句柄HWND hwndControl = GetDlgItem(hwnd, controlID);// 设置控件可见ShowWindow(hwndControl, SW_SHOW);}// 定义控件隐藏函数void HideControl(int controlID) {// 获取控件句柄HWND hwndControl = GetDlgItem(hwnd, controlID);// 设置控件不可见ShowWindow(hwndControl, SW_HIDE);}// 主函数int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) {// 创建窗口CreateWindow(TEXT("对话框"), TEXT("示例窗口"),WS_OVERLAPPEDWINDOW | WS_VISIBLE, 100, 100, 200, 200, NULL, NULL, NULL, NULL);// 添加控件CreateWindow(TEXT("按钮"), TEXT("显示"), WS_VISIBLE | WS_CHILD, 50, 50, 50, 30, NULL, (HMENU)1, NULL, NULL);CreateWindow(TEXT("按钮"), TEXT("隐藏"), WS_VISIBLE | WS_CHILD, 100, 50, 50, 30, NULL, (HMENU)2, NULL, NULL);// 注册消息处理函数MSG msg = {0};while (GetMessage(&msg, NULL, NULL, NULL)) {TranslateMessage(&msg);DispatchMessage(&msg);}return 0;}5. 编译和运行C脚本在编写完C脚本后,需要进行编译和运行。

关于WINCC的C脚本的使用总结

关于WINCC的C脚本的使用总结

Wincc的脚本功能及其强大,可以通过C脚本实现各种功能,但是脚本比较繁琐,始终不得其道,经过对比研究,发现了一些规律
1.全局脚本的实现
打开全局脚本编辑器,在“动作”-“全局动作“-新建动作,出现脚本编辑器的正文
可以看到正文已经有一部分内容,这些内容包括自带的全局脚本的声明及注释内容,都需要更改,也更改不了。

在第一大括号后,我们可以自己编用户脚本了,用户脚本一般是这样的结构:首先对数据和变量进行声明,即对其数据类型进行声明;然后,对变量进行取属性,转换变量,用value1=GetTagDWord("AI0");(这是个例子),意思是把AI0的值取出给value1了,然后就可以对value1进行计算了,计算后再置属性,转换变量,用
SetTagDWord("AI0",value1);
其他的地方注意符号和空格,然后编译,编译过了之后保存,并生成头文件,然后就见证奇迹吧。

下图是依次点亮的脚本
下图是液位高高报警的脚本。

WINCC脚本个人经验总结

WINCC脚本个人经验总结
long _main(char* lpszPictureName, char* lpszObjectName, char*
lpszPropertyName)
{
#pragma code(\"Winmm.dll\")
void WINAPI PlaySoundA(char *pszSound,char *hmode,DWORD dwflay);
long _main(char* lpszPictureName, char* lpszObjectName, char*
lpszPropertyName)
{
#pragma code(\"Winmm.dll\")
void WINAPI PlaySoundA(char *pszSound,char *hmode,DWORD dwflay);
解答:
重新启动以及在运行期间,您希望HMI系统达到最小的实用性而不使用登录窗口。然而,对于高级操作,登录功能应当保留。此外,如果没有用户登录,则有一个缺省的用户自动登录。缺省用户的权限可以在用户管理器中根据需要设定。
可使用下面的C脚本执行此项功能,请按照下列步骤进行:
将附件中的函数“Silentlogin.pas”复制到项目中的“PAS”子文件夹中。
#pragma code()
if(GetTagBit(\"112排泥备泵故障\"))
PlaySoundA(\"d:\\\\\\\\winnt\\\\\\\\media\\\\\\\\Mircosoft sound.wav\",NULL,8);
return 1020;
}重新启动后,不使用登录窗口如何以一个缺省用户的身份自动登录?怎样确保运行期间有个缺省用户始终处于登入状态?即使另外一个用户已经预先退出。

WinCC脚本入门详细教程-For语句

WinCC脚本入门详细教程-For语句

WinCC脚本之For语句一、内容介绍WinCC脚本之For语句主要使用WinCC全局脚本编写For语句的函数例程,二、使用材料系统环境: Windows 10 64bit 企业版组态软件: WinCC v7.5三、创建变量变量名称数据类型长度连接C1 无符号的16 位值 2 内部变量C2 无符号的16 位值 2 内部变量C3 无符号的16 位值 2 内部变量C4 无符号的16 位值 2 内部变量C5 无符号的16 位值 2 内部变量C6 无符号的16 位值 2 内部变量C7 无符号的16 位值 2 内部变量C8 无符号的16 位值 2 内部变量C9 无符号的16 位值 2 内部变量C10 无符号的16 位值 2 内部变量C11 无符号的16 位值 2 内部变量C12 无符号的16 位值 2 内部变量C13 无符号的16 位值 2 内部变量C14 无符号的16 位值 2 内部变量C15 无符号的16 位值 2 内部变量C16 无符号的16 位值 2 内部变量C17 无符号的16 位值 2 内部变量C18 无符号的16 位值 2 内部变量C19 无符号的16 位值 2 内部变量C20 无符号的16 位值 2 内部变量创建了C1-C20,20个数据类型为无符号的16 位值的WinCC内部变量四、创建脚本4.1 For语句例程例程主要读取WinCC变量10个变量值,将使用For语句,IF语句进行循环比较,选择出10个值中的最小值和最大值;例程需要声明一个数组c[20],将winCC变量值存储到数组中;声明Data_MAX和Data_MIN用来存储计算出的最大值和最小值,还需要声明循环数字int i;通过i值完成数组中每个值的比较;程序详见图1。

图1注:Data_MAX和Data_MIN需要初始化Data_MAX = C[1];Data_MIN = C[1];。

Wincc画面生成技巧——C脚本详解

Wincc画面生成技巧——C脚本详解

Wincc画面生成技巧——C脚本详解介绍本文档旨在详细解释Wincc画面生成中的C脚本技巧,帮助读者更好地理解和应用这些技术。

C脚本简介C脚本是Wincc中用于编写逻辑和功能的一种脚本语言。

通过使用C脚本,我们可以实现画面的自动化操作和控制。

C脚本技巧以下是一些C脚本技巧,可以帮助您在Wincc画面生成中更高效地编写代码:1. 变量使用:合理使用变量可以提高代码的可读性和可维护性。

在使用变量时,应注意变量的作用范围和命名规范。

变量使用:合理使用变量可以提高代码的可读性和可维护性。

在使用变量时,应注意变量的作用范围和命名规范。

2. 条件语句:使用条件语句可以根据不同的情况执行不同的操作。

常见的条件语句包括if语句和switch语句。

条件语句:使用条件语句可以根据不同的情况执行不同的操作。

常见的条件语句包括if语句和switch语句。

3. 循环语句:使用循环语句可以重复执行某段代码。

常见的循环语句有for循环和while循环。

循环语句:使用循环语句可以重复执行某段代码。

常见的循环语句有for循环和while循环。

4. 函数封装:将常用的代码封装成函数,可以提高代码的重用性和可维护性。

在编写函数时,应注意函数的输入参数和返回值。

函数封装:将常用的代码封装成函数,可以提高代码的重用性和可维护性。

在编写函数时,应注意函数的输入参数和返回值。

5. 错误处理:在编写代码时,应考虑可能出现的错误,并进行相应的错误处理。

可以使用try-catch语句来捕捉和处理异常。

错误处理:在编写代码时,应考虑可能出现的错误,并进行相应的错误处理。

可以使用try-catch语句来捕捉和处理异常。

6. 调试技巧:在编写代码时,应养成良好的调试惯,通过使用断点、打印变量值等方式来调试代码,以确保代码的正确性。

调试技巧:在编写代码时,应养成良好的调试习惯,通过使用断点、打印变量值等方式来调试代码,以确保代码的正确性。

7. 代码优化:在编写代码时,应尽量优化代码结构和算法,以提高代码的执行效率。

WinCC脚本入门详细教程-计算

WinCC脚本入门详细教程-计算

WinCC脚本WinCC脚本能使WinCC组态软件在使用过程中更加灵活,功能更加强大;对于一个工控人员,WinCC脚本的技能也是必不可少的;编者作为一个工控小白,写一些教程一者是为了方便自己以后需要时方便翻阅,再者将其分享到网上希望也能帮助正好需要的工控人。

WinCC脚本教程的编辑将分为4部分:涉及常用计算,IF语句,Case 语句,For语句,这样我们在工作中遇到一些需求时便可灵活组合使用即可;编者作为工控小白,资历尚浅,有错误歧义处请多多指出。

WinCC脚本教程主要包括以下部分:⚫WinCC脚本之计算⚫WinCC脚本之IF语句⚫WinCC脚本之For语句⚫WinCC脚本之Switch_Case语句WinCC脚本计算一、内容介绍WinCC脚本计算例程主要使用WinCC脚本功能实现我们计算中常用的“加减乘除”,例程中创建内存变量不连接硬件PLC,创建画面,画面窗口中能够输入参数,能够查看结果,以及简单介绍脚本中使用到的WinCC函数等功能;二、使用材料系统环境:Windows 10 64bit 企业版组态软件:WinCC v7.5三、WinCC创建项目在系统桌面双击图1图标,进入WinCC项目管理器,如图2所示图1图2在图2中点击“文件”-“新建”进入图3画面图3在图3中选择单项目,点击“确定”按钮进入图4画面图4在图4画面中编辑项目名称“WinCCJiaoBen”点击“创建”按钮进入图5画面图5四、WinCC变量创建如图6中,双击左侧栏中“变量管理”,在变量管理画面中点击“内部变量”,创建“JiSuan”变量组,图6中红颜色框标出。

图6创建“无符号的16 位值”的20个内存变量。

图7五、创建画面如图8,图9选中“图形编辑器”右击选择“新建画面”,新建画面名称命名为“JiaoBen”如图9所示。

图8图9图10创建画面“JiaoBen”如图10所示,每个输入输出域已经关联所创建内存变量,具体创建变量已经黑色字体标出;六、创建脚本创建脚本进行编程,在图11中左侧菜单栏中“全局脚本”右击鼠标点击“打开C编辑器”。

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