您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 电气安装工程 > 05 - WinCC 脚本系统
自动化与驱动集团SIMATICHMI人机界面A&DASCuiWeiSIMATICWinCC-脚本系统自动化与驱动集团SIMATICWinCC人机界面2007年4月2SIMATICHMIWinCCV6.2脚本系统C脚本VBS脚本VBA脚本运行机理WinCC的脚本系统¾整个WinCC系统通过完整和丰富的编程系统实现了双向的开放性。¾借助C脚本,WinCC几乎可以通过Win32API无限制地访问到Windows操作系统及该平台上各种应用的功能。¾而VB脚本则从易用性和开发的快速性上具有优势。¾VBA主要目的是让使用者能够轻松扩展WinCC软件的功能自动化与驱动集团SIMATICWinCC人机界面2007年4月3SIMATICHMIWinCCV6.2脚本系统C脚本VBS脚本VBA脚本运行机理脚本系统用来组态一些对象的动作(触发函数)触发器动作C代码调用C代码函数函数C代码自动化与驱动集团SIMATICWinCC人机界面2007年4月4SIMATICHMIWinCCV6.2脚本系统C脚本VBS脚本VBA脚本运行机理触发器类型定时器变量循环监视变量值根据变化非循环(只执行一次,起始点自定)循环执行周期的起始点由时间确定触发器类型自动化与驱动集团SIMATICWinCC人机界面2007年4月5SIMATICHMIWinCCV6.2脚本系统C脚本VBS脚本VBA脚本运行机理函数和动作函数和动作嵌入函数用户函数动作内部函数标准函数项目函数内部函数DLL函数全局动作本地动作函数与动作的区别自动化与驱动集团SIMATICWinCC人机界面2007年4月6SIMATICHMIWinCCV6.2脚本系统C脚本VBS脚本VBA脚本运行机理函数分类:ProjectFunctions(项目函数)*可生成全局访问的C函数。StandardFunctions(标准函数)*包含用于WinCC编辑器、报警、存档等。InternalFunctions(内部函数)*C语言常用函数。Action(动作功能)用户创建,不由其它C脚本中调用,与其它函数不同,它是由其它判断出发的:*Acyclic(非周期)–根据日期和时间调用一次。*Cyclic(周期)每小时、天、秒等。*TagTriggered(变量标签触发)–当绑定的标签变化时触发。自动化与驱动集团SIMATICWinCC人机界面2007年4月7SIMATICHMIWinCCV6.2脚本系统C脚本VBS脚本VBA脚本运行机理易于学习程序有良好的容错性WinCC集成了微软基于VB的运行期脚本语言使用微软标准的工具编辑和调试能够访问ActiveX控件和其它Windows应用的属性和方法WinCC使用VBScript的例子WinCC中实现动态化(图形编辑器中)WinCC对象的动态化集成ActiveX控件通过MicrosoftOutlook发送电子邮件集成MicrosoftInternetExplorer集成AcrobatReader集成在线帮助功能联接Office应用(Excel,Word,Access)读写变量、启动报表连接数据库VisualBasicScript自动化与驱动集团SIMATICWinCC人机界面2007年4月8SIMATICHMIWinCCV6.2脚本系统C脚本VBS脚本VBA脚本运行机理举例(图形系统和全局脚本)VisualBasicScript自动化与驱动集团SIMATICWinCC人机界面2007年4月9SIMATICHMIWinCCV6.2脚本系统C脚本VBS脚本VBA脚本运行机理VBS参考模型自动化与驱动集团SIMATICWinCC人机界面2007年4月10SIMATICHMIWinCCV6.2脚本系统C脚本VBS脚本VBA脚本运行机理VBScriptObjectModelinWinCCMethodsObjectObjectandCollectionExample:Setmy_Soll1=HMIRuntime.Tags(Soll1)Example:SetRect=ScreenItems(RoundedRectangle1)自动化与驱动集团SIMATICWinCC人机界面2007年4月11SIMATICHMIWinCCV6.2脚本系统C脚本VBS脚本VBA脚本运行机理VBScript-过程(Procedures),模块(modules)和动作(atcion)触发器动作(action)命令1命令2过程C命令N模块(module)过程A过程B过程D过程E过程C命令-A命令-B•当调用一幅画面时,需要加载的模块越多,运行状态下系统的性能越差。•模块越大,包含的过程越多,模块加载的时间就越长。所以,我们要合理的组织模块。例如,可以把用于特定系统或画面的过程组织在一个模块中。我们也可以按照功能来构建模块,例如,可以把具有计算功能的过程放在一个模块中。自动化与驱动集团SIMATICWinCC人机界面2007年4月12SIMATICHMIWinCCV6.2脚本系统C脚本VBS脚本VBA脚本运行机理VisualBasicforApplications(VBA)是Microsoft用来拓宽标准应用的功能,以及对标准应用进行客制化的解决方案图形编辑器中集成的VBA的功能通过其它应用程序扩展WinCC的功能VBA是一个开放的解决方案:不仅能访问WinCC对象,也同时能访问其它具有COM组件的应用ANSI-C和ODK仍然可用应用举例用户自定义的快速配置对话框增加用户自定义的菜单项添加用户自定义对象时自动生成变量、消息和归档变量变量的合法性测试导入外部数据来自动生成图形以任意格式导出图形自动化与驱动集团SIMATICWinCC人机界面2007年4月13SIMATICHMIWinCCV6.2脚本系统C脚本VBS脚本VBA脚本运行机理VBA对象模型自动化与驱动集团SIMATICWinCC人机界面2007年4月14SIMATICHMIWinCCV6.2脚本系统C脚本VBS脚本VBA脚本运行机理WinCCV6.0VBAObjectmodelinWinCCVBA和VBS的区别VBAVBScripting语言VisualBasicVisualBasic可调试可以可以可访问其他应用程序可以可以WinCC已集成功能是是适用范围WinCC组态环境(CS)图形编辑器WinCC运行环境(RT)图形编辑器;全局脚本可访问对象WinCC组态环境(CS)图形编辑器;变量(tags);报警;归档;文本;WinCC组态环境(RT)图形编辑器;变量(tags);功能近似于动态向导和ODKC-Script和ODK自动化与驱动集团SIMATICWinCC人机界面2007年4月15SIMATICHMIWinCCV6.2脚本系统C脚本VBS脚本VBA脚本运行机理FunctionalityoftheGetTagxFunctions自动化与驱动集团SIMATICWinCC人机界面2007年4月16SIMATICHMIWinCCV6.2脚本系统C脚本VBS脚本VBA脚本运行机理DefiningandUsingTriggersTagTriggersCyclicTriggersTriggerTypes:•AcyclicTriggers•CyclicTriggers•TagTriggersCyclicTriggersÆStepbystepTagTriggersÆtogetherDuringthefirstcall:自动化与驱动集团SIMATICWinCC人机界面2007年4月17SIMATICHMIWinCCV6.2脚本系统C脚本VBS脚本VBA脚本运行机理TheWaySetTagxxxWorks(Asynchronous)CSRTApplicationGraphicsRTDatamanagerOPENzzz.pdl1x90SICOMPIPCRI20SIEMENSyyy.pdlEventWritetagonceSoll_Temp2...TriggerSetTagxxx(Soll_Temp2,T_Soll);90自动化与驱动集团SIMATICWinCC人机界面2007年4月18SIMATICHMIWinCCV6.2脚本系统C脚本VBS脚本VBA脚本运行机理TheWaySetTagxxxWaitWorks(Synchronous)CSRTApplicationGraphicsRTOPENzzz.pdl1x90AcknowledgementSICOMPIPCRI20SIEMENSyyy.pdlEvent90TriggerSetTagxxxWait(Soll_Temp2,T_Soll);WritetagonceSoll_Temp2..Datamanager自动化与驱动集团SIMATICWinCC人机界面2007年4月19SIMATICHMIWinCCV6.2脚本系统C脚本VBS脚本VBA脚本运行机理TheWayGetTagxxxWorkswiththeEventNameDefaultTriggerCSRTApplicationGraphicsRTDatamanager81OPENzzz.pdl2secSICOMPIPCRI20SIEMENS*1/2cycleof2sec.,forexampleyyy.pdlPropertiesAnnouncealltagsIst_Temp1...*1secDefaulttr.e.g.2secI1=GetTagxxx(Ist_Temp1);return();81自动化与驱动集团SIMATICWinCC人机界面2007年4月20SIMATICHMIWinCCV6.2脚本系统C脚本VBS脚本VBA脚本运行机理TheWayGetTagxxxWorkswiththeEventNameTagTriggerCSRTApplicationGraphicsRTDatamanagerIst_Temp1...81OPENzzz.pdlIst_Temp1SICOMPIPCRI20SIEMENSyyy.pdlPropertiesAnnouncealltags2secTagtrigger2secI1=GetTagxxx(Ist_Temp1);return();81自动化与驱动集团SIMATICWinCC人机界面2007年4月21SIMATICHMIWinCCV6.2脚本系统C脚本VBS脚本VBA脚本运行机理TheWayGetTagxxxWorkswithanEventasTriggerCSRTApplicationGraphicsRTDatamanager81OPENzzz.pdlSICOMPIPCRI20SIEMENSyyy.pdlEventAnnouncealltagsIst_Temp1...1sec81TriggerI1=GetTagxxx(Ist_Temp1);自动化与驱动集团SIMATICWinCC人机界面2007年4月22SIMATICHMIWinCCV6.2脚本系统C脚本VBS脚本VBA脚本运行机理TheWayGetTagxxxWaitWorkswithanEventasTriggerCSRTApplicationGraphicsRT81OPENzzz.pdl1xSICOMPIPCRI20SIEMENSyyy.pdlEventReturnvalueDatamanagerReadtagonceIst_Temp1=MW1481TriggerI1=GetTagxxxWait(Ist_Temp1);自动化与驱动集团SIMATICHMI人机界面A&DASCuiWeiFocusontomorrow!Acttoday!SIMATICWinCCThankyou
本文标题:05 - WinCC 脚本系统
链接地址:https://www.777doc.com/doc-5332467 .html