wincc动画旋转详细配置图1
WINCC作业画面切换、组态画面模板和画中画的实现

画面切换和画中画的实现掌握内容:1、掌握画面切换的设置方法2、掌握画面窗口的设置方法。
画面切换的设置方法有两种:1、通过组态对话框设置,注意其实质是通过事件选项卡中的直接连接设置2、通过动态向导设置:其实质是通过事件选项卡中的C动作。
(记住OpenPicture(“文件名”)函数;)练习1:画面切换1、新建以下内部变量Picturenumber 有符号32位变量signed 16-bit value下限值:0,上限值:100Picturename 文本变量8位字符集新建结构类型motor,其元素均为内部变量结构属性如下图所示:在内部变量中新建三个结构为motor的结构变量:motor1、motor2和motor3。
2:新建六个画面:Start1.pdl, 大小1024*768 定义为起始画面hm1.pdl, 大小1024*768hm2.pdl, 大小800*600hm3.pdl , 大小800*600hm4.pdl , 大小800*600hm5.pdl。
大小800*6003、分别在hm1~hm5中插入:分别插入静态文本框和按钮设置静态文本框的文本属性为“画面1”、“画面2”、“画面3”、“画面4”和“画面5”字号20号、按钮设置为return,要求按下return按钮后,能回到start1.pdl画面。
如下图所示:3、打开Start.pdl画面,并按下图所示设置内容:在直接切换一栏中,要求蓝色按钮按照直接连接方式切换到指定画面。
绿色按钮按照C动作方式连接到指定画面。
在编程切换一栏中,要求按照Picturenumber的值切换画面,将其值除以五求余数,如果结果为1、则按下切换按钮时画面切换到hm1.pdl。
是2则切换到hm2.pdl,以此类推。
Picturenumber的值可通过输入输出域1改变。
在编程切换栏的下半部分,通过按钮改变文本变量Picturename的内容,当按下切换按钮2时,要求切换到其指定的画面中。
WinCC V7.3 常用画面功能组态(导航)

WinCC V7.3 常用画面功能组态(导航)介绍从WinCCV7.2开始,提供了在运行系统中进行过程画面导航的新功能。
该功能通过定义系统快捷键和常用画面实现。
配置完成后可以很方便实现在运行状态下的画面切换。
此项应用特别适用于使用触摸屏的情况下。
界面友好,且易于操作。
本文档主要介绍如何组态该项功能。
软件环境:操作系统:Windows Server 2008 R2 Enterprise Service Pack 1软件版本:WinCC V7.3 Update8组态步骤标记常用画面在 WinCC 项目管理器的导航窗口中,左击“图形编辑器”(Graphics Designer) 条目。
数据窗口中将显示当前项目的所有过程画面(PDL格式)。
右键单击所选过程画面,然后选择“将画面标记为常用画面”(Markpicture(s) as favorite)。
按住 <CTRL> 的同时左键单击要标记为常用画面的过程画面可同时将多个过程画面标记为常用画面。
常用过程画面将通过星形符号来标识。
如下图所示:图2-1 标记常用画面右击“图形编辑器”条目,在弹出的菜单中选择“编辑常用画面顺序”(Edit Favorites order)。
可以打开“WinCC Favorites configuration”对话框。
在该画面中可以通过下方的按钮调整常用画面的显示顺序。
图2-2打开常用对话框图2-3 WinCC Favorites configuration项目属性设置右击项目名称打开项目属性对话框,切换到“用户界面和设计”页,激活“激活运行系统对话框”。
如下图所示:图2-4 项目属性然后切换到“快捷键”页,为“系统菜单”分配快捷键,点击“分配”按钮完成。
图2-5 快捷键组态运行效果在WinCC运行状态下,输入项目中组态的快捷键,此处为“Ctrl+S”,就可以打开系统对话框。
如下图右侧所示:图2-6 系统对话框备注:也可以用VBS函数:“HMIRuntime.ShowSystemOverlay 0”调用该对话框。
Wincc工程布局之变量切换画面-2017-8-20

Wincc⼯程布局之变量切换画⾯-2017-8-20
Wincc⼯程布局之变量切换画⾯
1建⽴画⾯切换变量表
2建⽴⾸页画⾯,在画⾯中添加总览区,主画⾯区,按钮区三个画⾯窗⼝并布局好。
3建⽴画⾯切换所需变量
4建⽴要在⾸页中切换显⽰的三类画⾯,主画⾯(随按钮区的按钮对应变量不同值进⾏切换显⽰),按钮区(可固定不变,也可切换显⽰不同系统的控制按钮区),以及总览区(⼀般为公司标题和监控内容,可固定不变)。
5在⾸页三类显⽰区域对画⾯窗⼝进⾏属性的设置。
5.1总览区设置
5.2主画⾯区设置
动态对话框设置画⾯切换变量值对应的画⾯
设置完成后界⾯如下
5.3按钮区设置(以⼀个按钮区为例)
5.3.1打开按钮区画⾯设置登录注销退出按钮及当前⽤户名显⽰
5.3.2添加并设置主画⾯切换按钮
5.3.2.1设置按钮按下对变量写⼊不同的值
5.3.2.2 对当前按下的按钮显⽰不同颜⾊设置
5.3.2.3 最好设置时将按钮名更改为对应的功能,如MOS画⾯1按钮,⽽不要让其显⽰为按钮1,按钮2等。
Wincc使用图文示范

Wincc使用图文示范1、双击桌面上的Wincc图标进入软件;2、进去后,若出现下面的对话框,点击“启动本地服务器”;3、进去后如下图所示界面;4、点击上方图标,可激活WINCC画面;取消激活则点击其左边的图标;5、点击激活后,若提示下面的对话框,请点击确定;6、然后鼠标左击左边的“计算机”;7、在右边出现的类似的地方双击字母区域;8、在出现的对话框中点击“使用本地计算机名称”,然后点击对话框中下方的确定;9、在接着出现的对话框中点击确定,按提示关闭WINCC软件(点击右上方的关闭,出现的对话框点击确定退出;10、重新打开WINCC软件,进入后点击激活按钮,等待自检时间方可进入操作画面;11、如何查看地址:点击软件主页面左侧的“变量管理”前面的+号,再点击图标前面的+号,然后右击图标,在出现的对话框中选择属性;12、在接着出现的对话框中,选择属性;13、再在接着出现的对话框中选择属性;14、在出现的对话框中会出现IP地址,此地址应根据PLC的地址来确定,否则通讯不上;15、如果不清楚地址是否正确,需要打开step7软件来查明PLC的地址为多少;首先在STEP7打开的主界面上方点击图标,出现如下的界面;16、点击以太网这条主线,具体图标为,在下方会出现如下的信息;17、其中SIMATIC 400为主PLC的IP地址,这就是WINCC里面对应的IP地址;记住,传动画面程序对应传动PLC,厚调画面程序对应厚调的主PLC,两者是不一样的,别搞混了;上图的SIMATIC PC Station为传动电脑的IP地址,如果出现电脑通讯不上的情况,需要检查电脑的IP地址是否设置正确;18、电脑的IP地址检查:右击桌面右下角的本地连接图标,选择打开网络连接;19、找到本地连接,右击选择属性;20、拖动滚动条,找到,然后点击下面的属性;在出现的对话框中,选择“使用下面的IP地址”,将第一栏的IP地址改为200.0.5.11,子网掩码、网关使用默认的255.255.255.0即可;DNS服务器地址不用管它,然后点击确定;(备注:其实知道了PLC的地址,只要前面三个数字是一样的,最后一个除了不和PLC地址最后一个数字一样可以随便设置都没问题,只要在同一网段就可以了)21、再回到WINCC这边来说,当地址改好后激活进入画面出现感叹号,不能通讯,此时应该回到刚刚wincc主界面,右击,在出现的对话框中选择系统参数;22、在出现的对话框中选择单位,会出现如下的界面;23、检查网卡是否选择的正确,一般选择下图所示的网卡;点击确定后重新进入看是否可行;24、修改画面的大小一般可修改计算机的分辨率;另外可以右击初始界面一栏的计算机→属性→属性→图形运行系统里面来进行相关修改;25、在上图的启动界面中(出现下图界面选择是),一般情况下选择下图中勾选的选项即可,选的太多传输数据大容易造成画面的卡顿;26、通过wincc查找画面中对应按钮的具体信息:以画面中排烟风机启动、停止为例来进行说明;首先单击wincc主界面中的图形编辑器,在右边出现的界面里选择该界面所属的编辑块,本例中该块属于机列操作,在图形编辑器里属于JiLieCaoZuo,双击打开后如下图;右击“启动”,选择“链接”,再选择“变量连接”,点开第一行;右击“按钮12”,选择“链接”,在出现的对话框中将中间的信息复制下来,然后关闭对话框;回到wincc主界面,右击“变量管理”,选择“查找”,出现如下对话框;将刚刚复制的信息粘帖进去,点击开始进行查找,出现下图信息,该点的地址也就查找到为M180.1;然后关闭刚刚打开的机列操作编辑界面,若出现提示选择“否”,然后结束;27、轧制表问题(1)更换电脑重新安装WINCC软件后,将备份的WINCC的软件考到电脑里,会发现“轧制表”窗口画面如下:(2)轧制表里面没有数据,点击“编辑轧制表”→“添加”会有如下提示:(3)提示没有数据源,回到windows窗口,点击右下角“开始”→管理工具→数据源;(4)打开的窗口如下,缺少提示需要的数据源文件;(5)点击右侧的添加,选择下图深色区域的一行,然后确定;(6)在下图的“数据源名”一栏输入名称milltable,点击选择,在C盘里面选择milltable.mdb,然后点击确定即可添加成功;(7)原本C盘没有该文件,下图深色图标的文件为从相应机台拷贝来的文件,放在C盘;(8)再次打开轧制表界面,就有如下的轧制表显示了;真诚为您提供优质参考资料,若有不当之处,请指正。
Wincc使用图文示范

Wincc使用图文示范Wincc使用图文示范1、双击桌面上的Wincc图标进入软件;2、进去后,若出现下面的对话框,点击“启动本地服务器”;3、进去后如下图所示界面;4、点击上方图标,可激活WINCC画面;取消激活则点击其左边的图标;5、点击激活后,若提示下面的对话框,请点击确定;6、然后鼠标左击左边的“计算机”;7、在右边出现的类似的地方双击字母区域;8、在出现的对话框中点击“使用本地计算机名称”,然后点击对话框中下方的确定;9、在接着出现的对话框中点击确定,按提示关闭WINCC软件(点击右上方的关闭,出现的对话框点击确定退出;10、重新打开WINCC软件,进入后点击激活按钮,等待自检时间方可进入操作画面;11、如何查看地址:点击软件主页面左侧的“变量管理”前面的+号,再点击图标前面的+号,然后右击图标,在出现的对话框中选择属性;12、在接着出现的对话框中,选择属性;13、再在接着出现的对话框中选择属性;14、在出现的对话框中会出现IP地址,此地址应根据PLC的地址来确定,否则通讯不上;15、如果不清楚地址是否正确,需要打开step7软件来查明PLC的地址为多少;首先在STEP7打开的主界面上方点击图标,出现如下的界面;16、点击以太网这条主线,具体图标为,在下方会出现如下的信息;17、其中SIMATIC 400为主PLC的IP地址,这就是WINCC里面对应的IP地址;记住,传动画面程序对应传动PLC,厚调画面程序对应厚调的主PLC,两者是不一样的,别搞混了;上图的SIMATIC PC Station为传动电脑的IP地址,如果出现电脑通讯不上的情况,需要检查电脑的IP地址是否设置正确;18、电脑的IP地址检查:右击桌面右下角的本地连接图标,选择打开网络连接;19、找到本地连接,右击选择属性;20、拖动滚动条,找到,然后点击下面的属性;在出现的对话框中,选择“使用下面的IP地址”,将第一栏的IP地址改为200.0.5.11,子网掩码、网关使用默认的255.255.255.0即可;DNS服务器地址不用管它,然后点击确定;(备注:其实知道了PLC的地址,只要前面三个数字是一样的,最后一个除了不和PLC地址最后一个数字一样可以随便设置都没问题,只要在同一网段就可以了)21、再回到WINCC这边来说,当地址改好后激活进入画面出现感叹号,不能通讯,此时应该回到刚刚wincc主界面,右击,在出现的对话框中选择系统参数;22、在出现的对话框中选择单位,会出现如下的界面;23、检查网卡是否选择的正确,一般选择下图所示的网卡;点击确定后重新进入看是否可行;24、修改画面的大小一般可修改计算机的分辨率;另外可以右击初始界面一栏的计算机→属性→属性→图形运行系统里面来进行相关修改;25、在上图的启动界面中(出现下图界面选择是),一般情况下选择下图中勾选的选项即可,选的太多传输数据大容易造成画面的卡顿;26、通过wincc查找画面中对应按钮的具体信息:以画面中排烟风机启动、停止为例来进行说明;首先单击wincc主界面中的图形编辑器,在右边出现的界面里选择该界面所属的编辑块,本例中该块属于机列操作,在图形编辑器里属于JiLieCaoZuo,双击打开后如下图;右击“启动”,选择“链接”,再选择“变量连接”,点开第一行;右击“按钮12”,选择“链接”,在出现的对话框中将中间的信息复制下来,然后关闭对话框;回到wincc主界面,右击“变量管理”,选择“查找”,出现如下对话框;将刚刚复制的信息粘帖进去,点击开始进行查找,出现下图信息,该点的地址也就查找到为M180.1;然后关闭刚刚打开的机列操作编辑界面,若出现提示选择“否”,然后结束;27、轧制表问题(1)更换电脑重新安装WINCC软件后,将备份的WINCC的软件考到电脑里,会发现“轧制表”窗口画面如下:(2)轧制表里面没有数据,点击“编辑轧制表”→“添加”会有如下提示:(3)提示没有数据源,回到windows窗口,点击右下角“开始”→管理工具→数据源;(4)打开的窗口如下,缺少提示需要的数据源文件;(5)点击右侧的添加,选择下图深色区域的一行,然后确定;(6)在下图的“数据源名”一栏输入名称milltable,点击选择,在C盘里面选择milltable.mdb,然后点击确定即可添加成功;(7)原本C盘没有该文件,下图深色图标的文件为从相应机台拷贝来的文件,放在C盘;(8)再次打开轧制表界面,就有如下的轧制表显示了;。
WINCC中制作管道流体流动动画的一种方法

. WINCC中制作管道流体流动动画的一种方法采用自定义对象的方法制作,不需要使用全局变量及外部量。
以制作横向向右流动流动块为例:1、画两个高度相等的矩形,分为是rec1和rec2,rec1的宽度小于rec2,rec2属性中的“显示”为否,将rec1和rec2放在一起,左对齐,rec1居前。
rec1为实际要显示的流动块,rec2在实际运行中不显示,但需要其属性参数作为定值,以供程序使用,rec2-rec1的值即为流动块每次向右移的距离。
2、将rec1和rec2组合成自定义对象,需要加入属性rec1.Left、rec1.Width、rec1.Visible、rec2.Width 这几个属性到自定义对象中去,其它属性可以根据需要添加。
3、在自定义块中的属性“位置X1”加入C脚本,触发器选“250ms”标准周期,代码如下:long Left,Left1,Width1,Width2;BOOL Visible1;long i,k;Visible1 = GetPropBOOL(lpszPictureName,lpszObjectName,"Visible1"); //Return-Type: BOOLLeft1 = GetPropWord(lpszPictureName,lpszObjectName,lpszPropertyName); //Return-Type: long intif (Visible1){Left = GetLeft(lpszPictureName,lpszObjectName);Width1 = GetPropWord(lpszPictureName,lpszObjectName,"Width1");Width2 = GetPropWord(lpszPictureName,lpszObjectName,"Width2");k = Width2 - Width1;i = Left + Width1;Left1 = Left1 + k;if (Left1 >= i)Left1 = Left;}return Left1;4、将此自定义对象加入全局库中,以后可以在其它项目中直接使用。
Wincc使用图文示范

Wincc使用图文示范1、双击桌面上的Wincc图标进入软件;2、进去后,若出现下面的对话框,点击“启动本地服务器”;3、进去后如下图所示界面;4、点击上方图标,可激活WINCC画面;取消激活则点击其左边的图标;5、点击激活后,若提示下面的对话框,请点击确定;6、然后鼠标左击左边的“计算机”;7、在右边出现的类似的地方双击字母区域;8、在出现的对话框中点击“使用本地计算机名称”,然后点击对话框中下方的确定;9、在接着出现的对话框中点击确定,按提示关闭WINCC软件(点击右上方的关闭,出现的对话框点击确定退出;10、重新打开WINCC软件,进入后点击激活按钮,等待自检时间方可进入操作画面;11、如何查看地址:点击软件主页面左侧的“变量管理”前面的+号,再点击图标前面的+号,然后右击图标,在出现的对话框中选择属性;12、在接着出现的对话框中,选择属性;13、再在接着出现的对话框中选择属性;14、在出现的对话框中会出现IP地址,此地址应根据PLC的地址来确定,否则通讯不上;15、如果不清楚地址是否正确,需要打开step7软件来查明PLC的地址为多少;首先在STEP7打开的主界面上方点击图标,出现如下的界面;16、点击以太网这条主线,具体图标为,在下方会出现如下的信息;17、其中SIMATIC 400为主PLC的IP地址,这就是WINCC里面对应的IP地址;记住,传动画面程序对应传动PLC,厚调画面程序对应厚调的主PLC,两者是不一样的,别搞混了;上图的SIMATIC PC Station为传动电脑的IP 地址,如果出现电脑通讯不上的情况,需要检查电脑的IP地址是否设置正确;18、电脑的IP地址检查:右击桌面右下角的本地连接图标,选择打开网络连接;19、找到本地连接,右击选择属性;20、拖动滚动条,找到,然后点击下面的属性;在出现的对话框中,选择“使用下面的IP地址”(备注:其实知道了PLC的地址,只要前面三个数字是一样的,最后一个除了不和PLC地址最后一个数字一样可以随便设置都没问题,只要在同一网段就可以了)21、再回到WINCC这边来说,当地址改好后激活进入画面出现感叹号,不能通讯,此时应该回到刚刚wincc主界面,右击,在出现的对话框中选择系统参数;22、在出现的对话框中选择单位,会出现如下的界面;23、检查网卡是否选择的正确,一般选择下图所示的网卡;点击确定后重新进入看是否可行;24、修改画面的大小一般可修改计算机的分辨率;另外可以右击初始界面一栏的计算机→属性→属性→图形运行系统里面来进行相关修改;25、在上图的启动界面中(出现下图界面选择是),一般情况下选择下图中勾选的选项即可,选的太多传输数据大容易造成画面的卡顿;26、通过wincc查找画面中对应按钮的具体信息:以画面中排烟风机启动、停止为例来进行说明;首先单击wincc主界面中的图形编辑器,在右边出现的界面里选择该界面所属的编辑块,本例中该块属于机列操作,在图形编辑器里属于JiLieCaoZuo,双击打开后如下图;右击“启动”,选择“链接”,再选择“变量连接”,点开第一行;右击“按钮12”,选择“链接”,在出现的对话框中将中间的信息复制下来,然后关闭对话框;回到wincc主界面,右击“变量管理”,选择“查找”,出现如下对话框;将刚刚复制的信息粘帖进去,点击开始进行查找,出现下图信息,该点的地址也就查找到为M180.1;然后关闭刚刚打开的机列操作编辑界面,若出现提示选择“否”,然后结束;27、轧制表问题(1)更换电脑重新安装WINCC软件后,将备份的WINCC的软件考到电脑里,会发现“轧制表”窗口画面如下:(2)轧制表里面没有数据,点击“编辑轧制表”→“添加”会有如下提示:(3)提示没有数据源,回到windows窗口,点击右下角“开始”→管理工具→数据源;(4)打开的窗口如下,缺少提示需要的数据源文件;(5)点击右侧的添加,选择下图深色区域的一行,然后确定;(6)在下图的“数据源名”一栏输入名称milltable,点击选择,在C盘里面选择milltable.mdb,然后点击确定即可添加成功;(7)原本C盘没有该文件,下图深色图标的文件为从相应机台拷贝来的文件,放在C盘;(8)再次打开轧制表界面,就有如下的轧制表显示了;。
wincc动画命令

WINCC动画脚本默认分类2008-01-21 15:19:23 阅读310 评论0 字号:大中小订阅电机风扇旋转(几何---起始角度):#include "apdefap.h"long _main(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName) {static DWORD f=20;if (GetTagBit("DI电机运行信号")) {f= f+30; '起始角度变化量'if (f==360) (f=0);}return f;}电机风扇旋转(几何---结束角度):#include "apdefap.h"long _main(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName) {static DWORD i=80; '大于起始角度60'if (GetTagBit("DI电机运行信号")) {i = i+30; '等于起始角度变化量'if (i==360) (i=0);}return i;}**物料水平右移动(几何---位置X)(停车后,物料回到原点)**#include "apdefap.h"long _main(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName) {static int a=350;if (GetTagBit("DI电机运行信号") && (a<=730)) {a+=20;if (a>=720) (a=350);}if (!GetTagBit("DI电机运行信号")) (a=350);return a;}物料水平右移动(几何---位置X)(停车后,物料停在该点)#include "apdefap.h"long _main(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName) {static int a=350;if (GetTagBit("DI电机运行信号") && (a<=730)) {a+=20;if (a>=720) (a=350);}return a;}物料向上移动(几何---位置Y)(停车后,物料停在该点)#include "apdefap.h"long _main(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName) {static int b=450;if (GetTagBit("DI电机运行信号") && (b>=290)) {b-=10;if (b<=280) (b=450);}return b;}年月日(静态文本)#include "apdefap.h"char* _main(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName) {time_t timer ;struct tm *ptm;char *p;time(&timer);ptm =localtime(&timer);p =SysMalloc(9);sprintf(p,"%04d/%02d/%02d",ptm->tm_year-100+2000,ptm->tm_mon+1,ptm->tm_mday); return(p);}时分秒(静态文本)#include "apdefap.h"char* _main(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName) {time_t timer ;struct tm *ptm;char *p;time(&timer);ptm =localtime(&timer);p =SysMalloc(9);sprintf(p,"%02d:%02d:%02d",ptm->tm_hour,ptm->tm_min,ptm->tm_sec);return(p);}登陆到指定的用户名无须手动输入(按钮操作)#include "apdefap.h"void OnLButtonDown(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName, UINT nFlags, int x, int y){#pragma code("useadmin.dll")#include "PWRT_API.H"#pragma code()PWRTSilentLogin("用户名", "口令");}**显示登陆对话框无须热键(按钮操作)**#include "apdefap.h"void OnLButtonDown(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName, UINT nFlags, int x, int y){#pragma code ("useadmin.dll")#include "PWRT_api.h"#pragma code( )PWRTLogin('c');}退出WINCC运行(按钮操作)#include "apdefap.h"void OnLButtonDown(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName, UINT nFlags, int x, int y){{DeactivateRTProject ();}}单位递增按钮(到上限不提示出错)#include "apdefap.h"void OnClick(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName){DWORD value;value=GetTagDWord("AI标签");if (value>90) (value=上限); '上限值为100'else value=value+10; '单位增加量为10'SetTagDWord("AI标签",value);}单位递减按钮(到下限不提示出错)#include "apdefap.h"void OnClick(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName){DWORD value;value=GetTagDWord("AI标签");if (value<10) (value=下限); '下限值为0'else value=value-10; '单位减小量为10'SetTagDWord("AI标签",value);}**单位递增按钮(到上限提示出错)**#include "apdefap.h"void OnClick(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName){DWORD value;HWND hWnd=NULL ;hWnd=FindWindow(NULL,"Wincc-运行系统- ");value=GetTagDWord("AI标签");if (value<=90) (value=value+10); '上限值为100,单位增加量为10'else MessageBox(hWnd,"已到达上限值!","错误",MB_OK|MB_ICONWARNING|MB_APPLMODAL);SetTagDWord("AI标签",value);}**单位递减按钮(到下限提示出错)**#include "apdefap.h"void OnClick(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName){DWORD value;HWND hWnd=NULL ;hWnd=FindWindow(NULL,"Wincc-运行系统- ");value=GetTagDWord("AI标签");if (value>0) (value=value-10); '下限值为0,单位减小量为10'else MessageBox(hWnd," 已到达下限值!"," 错误",MB_OK|MB_ICONWARNING|MB_APPLMODAL);SetTagDWord("AI标签",value);}**自动登陆到指定的用户(画面属性--其它—授权)**#include "apdefap.h"long _main(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName){#pragma code("useadmin.dll")#include "PWRT_API.H"#pragma code()PWRTSilentLogin("用户名", "口令");return(0X0);}**询问框(最好用于单机启动,组启也可,2个按钮,NO不操作)**#include "apdefap.h"void OnLButtonDown(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName, UINT nFlags, int x, int y){HWND hWnd=NULL;int 上位启动信号;hWnd=FindWindow(NULL,"WinCC C-Course");if (GetTagBit("DI备妥")){上位启动信号=MessageBox(hWnd,"电源已备妥,您现在确定要启动吗?","启动!",MB_YESNO|MB_ICONQUESTION|MB_APPLMODAL);printf("\r\nExample 3\r\n");if (上位启动信号==IDNO) (printf("User selected NO button \r\n"));else (SetTagByte("上位启动信号",1));}elseMessageBox(hWnd,"电源未备妥,请查证后重试!","启动!",MB_OK|MB_ICONHAND|MB_APPLMODAL);}**询问框(最好用于单机启动,组启也可,3个按钮,NO复位)**#include "apdefap.h"void OnLButtonDown(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName, UINT nFlags, int x, int y){HWND hWnd=NULL;int上位启动信号;hWnd=FindWindow(NULL,"WinCC C-Course");if (GetTagBit("DI备妥")){上位启动信号=MessageBox(hWnd," 电源已备妥,您现在确定要启动吗?","启动!",MB_YESNOCANCEL|MB_ICONQUESTION|MB_APPLMODAL);if (上位启动信号==IDCANCEL) (printf("User selected NO button \r\n"));else{if (上位启动信号==IDYES) (SetTagByte("上位启动信号",1));else (SetTagByte("上位启动信号",0));}}elseMessageBox(hWnd," 电源未备妥,请查证后重试!","启动!",MB_OK|MB_ICONHAND|MB_APPLMODAL);}**搅拌器左侧扇页(几何—宽度)**#include "apdefap.h"long _main(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName) {static int h=50;static int u=0;if (GetTagBit("DI电机运行信号")){if ((h>0)&&(h<=50)){(h-=2);return h;}if ((u>=0)&&(u<50)){(u+=2);return u;}u=0;h=50;return h;}if (!GetTagBit("DI电机运行信号")){h=50;u=0;return h;return u;}}**搅拌器左侧扇页(几何—位置X,右侧扇页没有位置变化)**#include "apdefap.h"long _main(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName) {static int h=75;static int u=125;if (GetTagBit("DI电机运行信号")){if ((h>=75)&&(h<125)){(h+=2);return h;}if ((u<=125)&&(u>75)){(u-=2);}u=125;h=75;return h;return u;}if (!GetTagBit("DI电机运行信号")){h=75;u=125;return h;return u;}}**显示层按钮**SubX6309X94AE2X0000X0000_X6309X94AE2X0000X60C5_X6309X94AE2X0000X653E_OnLButtonDow n(ByVal Item, ByVal Flags, ByVal x, ByVal y)Dim objScreenDim CountLayerSet objScreen = HMIRuntime.Screens("layer")For CountLayer=1 To 32 Step 1yers(CountLayer).Visible = vbFalseNextyers(n).Visible = vbTrueEnd Subn=层数+1初始画面程序(画面空地--属性--事件--其它--打开画面--动作)**打印按钮**#include "apdefap.h"void OnLButtonDown(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName, UINT nFlags, int x, int y){WinExec("PRTSCR.EXE -hardcopy",SW_SHOWNORMAL);}**一个圈代表电机两种状态**#include "apdefap.h"void OnClick(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName){char* opentag="DI1电机运行信号";char* closetag="DI2电机运行信号";BOOL open,close;open = GetTagBit(opentag);close = GetTagBit(closetag);if (open)return CO_GREEN;if (close)return CO_BLUE;}**(VB脚本)上位电机颜色**IF DI电机运行信号=0 THENIF 电机上位故障信号=0 THEN100*(DI电机备妥信号*(DI集中位置信号+DI本地位置信号))ELSE:500*电机上位故障信号*(DI电机备妥信号*(DI集中位置信号+DI本地位置信号))+700*电机上位故障信号ENDIFELSE:300*DI电机运行信号*DI集中位置信号+400*DI电机运行信号*DI本地位置信号+200*DI电机运行信号ENDIF值:无备妥=0(黄色)有备妥=100(白色)无备妥有运行信号(接触器粘连)=200(黑色)集中运行=500(亮绿)本地运行=600(暗绿)有备妥故障=1200(亮红)无备妥故障=700(暗红)。