wincc 全局脚本问题

合集下载

wincc 全局脚本c程序功能

wincc 全局脚本c程序功能

wincc 全局脚本c程序功能
wincc全局脚本c程序实现什么功能
尤其是其中的变量d、及s_state作用。

问题补充:还有一个疑问:“当时间大于2013年9月1日后,画面将产生报警dataalm,报警dataalm2,故障fault,然后再清楚报警dataalm,dataalm2,但是故障将一直有。


中的fault会对系统正常运行有影响吗?
图片说明:1,wincc 全局脚本c程序解读
最佳答案
d是一个解锁密码,d为1时,清楚所有报警和故障。

s_state变量是wincc的一个变量,就是d。

当d为0时,有一个内部状态机,状态值为e,该值为0,1,2,反复循环。

当e为2时,自动清楚两个报警;
当e为1时,时间大于2013年7月1日,将产生报警dataalm;
当e为1时,时间大于2013年9月1日,将再产生一个报警dataalm2和故障fault;
也就是说,时间大于2013年7月1日,画面将反复产
生dataalm报警,然后再清楚该报警;
当时间大于2013年9月1日后,画面将产生报警dataalm,报警dataalm2,故障fault,然后再清楚报警dataalm,dataalm2,但是故障将一直有。

WinCC V7.5 SP1 VBS全局变量的使用

WinCC V7.5 SP1 VBS全局变量的使用

安全性信息Siemens 为其产品及解决方案提供了工业信息安全功能,以支持工厂、系统、机器和网络的安全运行。

为了防止工厂、系统、机器和网络受到网络攻击,需要实施并持续维护先进且全面的工业信息安全保护机制。

Siemens 的产品和解决方案仅构成此类概念的其中一个要素。

客户负责防止其工厂、系统、机器和网络受到未经授权的访问。

只有在必要时并采取适当安全措施(例如,使用防火墙和网络分段)的情况下,才能将系统、机器和组件连接到企业网络或 Internet。

此外,应考虑遵循 Siemens 有关相应信息安全措施的指南。

Siemens 不断对产品和解决方案进行开发和完善以提高安全性。

Siemens 强烈建议您及时更新产品并始终使用最新产品版本。

如果使用的产品版本不再受支持,或者未能应用最新的更新程序,客户遭受网络攻击的风险会增加。

要及时了解有关产品更新的信息,请订阅 Siemens 工业信息安全 RSS 源目录1<概述> (4)2<基于画面的VBS全局变量> (5)3<基于全局脚本的VBS全局变量> (8)4<应用举例> (11)4.1<创建数据库> (11)4.2<创建VBS全局脚本> (11)4.3<创建用户> (12)4.4<画面组态> (13)4.5<运行结果> (16)1 <概述><在WinCC使用过程中,有很多应用场合需要把获得的数据保存下来,在其它事件中来使用,例如在WinCC运行后去读取自定义的配置文件中的参数,在控制相应设备时需要根据这些参数来确定控制方式,那么就需要把这些参数以WinCC更容易读取的方式保存下来。

目前,在WinCC V7.5 SP1中,可以通过WinCC变量、VBS全局变量以及DataSet来保存这些数据。

本文档主要介绍VBS全局变量使用,分别介绍在画面的动作中定义全局变量以及在VBS全局脚本中定义全局变量的方法。

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

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

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

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

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

WinCC上可以很方便的编写VB脚本和C脚本

WinCC上可以很方便的编写VB脚本和C脚本

WinCC上可以很方便的编写VB脚本和C脚本,但是调试起来还是比较费劲的。

下面介绍一下个人的应用体会。

1,VB,最好安装VB6,先在VB6里面编写程序,然后再放到WinCC的脚本中,事半功倍,毕竟VB的调试非常方便。

a,插入引用注意选择OLE Automation 和WinCC *****;b,可以直接在VB里面调用WinCC的全部变量,内部,外部全可以:如下:c,在VB里面监视WinCC的变量:d,调试完毕,程序拷贝到WinCC 的脚本中。

2,C语言系统提供了一个应用程序窗口,如下,只要把他拖到画面窗口即可:2,使用Printf函数,把需要调试的内容打印出来;3,效果如下:希望对大家有点用处。

下面内容来自网络,感谢原文作者。

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" //获取文本的值并追加字符字符串函数VB的字符串截取函数有Left(字符串,n),返回字符串前N个字符;Mid(字符串,p,n),从第p个字符开始,向后截取N个字符;right(字符串,n),返回字符串的最后n个字符。

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,”请确认三厅相关门是否关好,或者请解锁。

wincc的经典问题解答

wincc的经典问题解答

wincc的经典问题解答123421: WINCC--如何在程序中动态修改用户密码1、点击“开始”--》“设置”--》“控制面板”--》“管理工具”--》“数据源(ODBC)”,打开ODBC数据源管理器2、在用户DSN页面的用户数据源中找到与当前项目所关联的一项,其名称为“CC_项目名_项目建立日期时间”,记下该项的名称3、在脚本中加入以下代码:#pragma code("UseGen.dll") #i ncl"USEGENAP.H"#pragma code()LPCMN_ERROR err; //定义的LPCMN_ERROR型变量,在函数调用中需使用if (PWGENConnect("CC_ass_04-09-21_16:35:22",err)) //建立与数据库的联接,其中CC_ass_04-09-21_16:35:22用第二步中记下的名称取代{ if (PWGENChangePassword(GetTagChar("user"),GetTagChar("oldp assword"),GetTagChar("password"),err)) //修改密码,user,oldpassword,password分别为存贮用户名,原密码,新密码的内部变量,类型为文本变量8位字符集{ //密码修改成功后的操作,如给用户提示等 }}PWGENDisconnect(err); //断开与数据库的联接4、编译运行程序5、工作完成6、与用户管理相关的函数定义存贮在APPLIB目录下的USEGENAP.H文件中,可根据上面示例自行完成添加用户,修改权限等功能。

22:WinCC6.0 中归档时和5.1版本为什么不同了?WinCC V6.0 的后台数据库采用了MS SQL Server 2000,所以归档方式与V5.1 有所不同,它的运行数据存放在数据片段(segment)当中,工程师可以根据尺寸需求组态最大容量或根据时间周期启动新的数据库归档片段。

WINCC的50个经典问题解答

WINCC的50个经典问题解答

WINCC的50个经典问题解答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*lpszObjectName)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 全局脚本访问系统时钟?
说明:
使用下列函数设置或读取系统时间:
∙SetSystemTime
∙SetLocalTime
∙GetSystemTime
∙GetLocalTime
系统中本地计算机时间和格林威治时间是有区别的。

函数“SetSystemTime / GetSystemTime”用于设置或读取格林威治时间。

函数“SetLocalTime / GetLocalTime”用于设置或读取本地计算机时间。

两种时间会因地理的时区不同而改变,也会受到冬令时和夏令时的影响。

两个函数使用方法相同。

操作本地计算机时间的函数是Windows 系统函数,因此它独立于WinCC 函数“GetLocalTimeString”或WinCC 早期版本的“GetLocalTime”函数。

Time_Functions.zip
图. 01
创建环境
在该FAQ 中的画面和下载,创建在WinCC Professional V11 SP2 中。

条目号:59558655 日期:2012-05-04。

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

wincc 全局脚本问题
wincc一个全局动作运行多久,可以自己设置么,假如可以,那怎样设置它的执行时间长度呢?
问题补充:
比如说写完这个动作的程序并编译通过后,设置它的触发为标准周期类型,时间为5分钟,是指该动作运行一次用了5分钟的时间,还是指这个动作在5分钟的时间内已经运行过了(也许只用了1分钟),等待满5分钟时再次运行?
最佳答案
触发周期指的是按周期触发,也就是说每个周期执行一次脚本,扫描脚本的时间通常是一条程序4us左右,可以使用变量触发也可以周期触发,时间是自己按照要求设定的。

相关文档
最新文档