西门子授权代理-金华市西门子PLC-S7-1500 S7-400PLC 西门子s7 200 smart代理商

2024-11-23 08:00 120.237.217.245 1次
发布企业
广东湘恒智能科技有限公司商铺
认证
资质核验:
已通过营业执照认证
入驻顺企:
1
主体名称:
广东湘恒智能科技有限公司
组织机构代码:
441304000246495
报价
请来电询价
PLC触摸屏代理商
西门子代理商
伺服电机驱动电缆
西门子一级代理商
变频器直流调速器
西门子一级总代理商
关键词
西门子一级总代理商,西门子总代理商,西门子变频器一级代理商,西门子PLC触摸屏代理商,西门子伺服电机电缆代理商
所在地
惠州大亚湾澳头石化大道中480号太东天地花园2栋二单元9层01号房
联系电话
13922889745
手机
18475208684
经理
向小姐  请说明来自顺企网,优惠更多
请卖家联系我
18475208684

产品详细介绍

SIMATIC WinCC V7.5脚本应用——C脚本参数应用

SIMATICWinCC是西门子推出的强大的SCADA和HMI系统,其带有VBScript、C脚本、和VBA脚本功能。基于脚本功能可以大大扩展WinCC的功能。


VBScript:WinCC提供了使用Visual Basic脚本,可以用来编写全局动作程序和函数,以及在Runtime中动态化图形对象和触发动作。与VBA不同,VBS既不能在编辑状态下创建对象和画面,也不能修改对象和画面。


VBA脚本:在图形设计器中,WinCC提供VBA编辑器,可以通过编写 VBA自动创建配置图形。该VBA编辑器与微软Office产品中的VBA编辑器相同。工程师可以直接利用Office中的VBA编程经验。

ANSIC:在Runtime中,后台任务,例如打印日常报告、监控变量或执行特定的计算,都可以使用C脚本来执行。WinCC存在大量的函数,可以由工程师使用,也可以基于C语言开发自己的功能。


本文“SIMATC WinCCV7.5脚本应用—C脚本参数应用”为您提供WinCC事件脚本、内部函数和项目函数的使用方法,掌握后您可以大幅提高WinCC项目的组态效率。


WinCC的事件脚本(例如按钮按下触发的脚本)、标准函数、内部函数以及项目函数(用户自定义函数)都带有接口参数,本文档将通过一个例子来介绍这些参数的应用。

案例功能概述

本例实现通过画面模板结合结构变量来实现多个电机的控制功能。点击画面中的不同按钮弹出相应电机的控制画面,并且画面标题与按钮文本保持一致,操作画面弹出位置和按钮位置对应。

创建 “motor”结构类型,包括start、stop和run三个元素,分别用来控制电机的启动、停止以及反馈电机的状态。创建4个数据类型为“motor”的结构变量,分别为motor1、motor2、motor3和motor4。

创建画面作为模板画面,添加如下图所示的对象并调整画面大小。运行状态文本及文本颜色根据“run”元素的值发生变化,为文本创建文本及字体颜色的动态对话框动画,使用变量“.run”。

“启动”按钮置位结构变量的“start”元素,复位结构变量的“stop”元素,编写如下C脚本:

SetTagBit(".start",1);

SetTagBit(".stop",0);

“停止”按钮置位结构变量的“stop”元素,复位结构变量的“start”元素,同样编写如下C脚本:

SetTagBit(".stop",1);

SetTagBit(".start",0);

介绍如何使用C脚本来设置画面窗口的属性,将介绍直接使用标准函数和使用项目函数两种方法:

使用标准函数实现

新建画面,在画面中添加四个按钮和一个画面窗口,四个按钮分别用来打开电机的控制画面,按钮文本设置为“电机一”、“电机二”、“电机三”和“电机四”,设置画面窗口对象的名称为“picw1”,其它对象和属性保持默认即可。


为按钮编写以下C脚本,用来设置画面窗口的变量前缀、对应画面名称并显示画面窗口,读取按钮的文本并设置画面标题,根据按下按钮时鼠标的位置来确定弹出画面的位置

脚本运行结果如下图:

来看按钮事件脚本的参数: void OnLButtonDown(char* lpszPictureName, char*lpszObjectName, char* lpszPropertyName, UINT nFlags, int x, inty),其中lpszPictureName为按钮所在的画面名称,lpszObjectName为按钮对象的名称,lpszPropertyName为触发事件的按钮属性名称,x、y为点击按钮时鼠标所处的位置。这些接口参数可以被其下面的脚本直接使用。


接着来看具体的脚本,这里使用的都是WinCC内部函数。


设置画面窗口的变量前缀使用函数SetTagPrefix(LPCTSTR lpszPictureName, LPCTSTRlpszObjectName,char*szTagPrefix),其中lpszPictureName是画面窗口所在画面的名称,lpszObjectName是画面窗口对象的名称,szTagPrefix为变量前缀,这三个参数都可以设置为字符串数据。例如,本例为画面窗口的变量前缀设置为“motor1”的脚本为SetTagPrefix(lpszPictureName,"picw1","motor1"),由于事件接口参数已经包括画面名称lpszPictureName,这里可以直接使用此参数。


设置画面窗口的画面名称使用SetPictureName(LPCTSTR lpszPictureName, LPCTSTRlpszObjectName, char*szPictureName) ,其中lpszPictureName是画面窗口所在画面的名称,lpszObjectName是画面窗口对象的名称,szPictureName为画面名称。例如,本例画面窗口加载画面“motor”的脚本为SetPictureName(lpszPictureName,"picw1","motor")。


设置某个对象是否显示使用函数SetVisible(LPCTSTR lpszPictureName, LPCTSTRlpszObjectName, BOOL bVisible),其中参数lpszPictureName和lpszObjectName分别是画面名称和对象名称,bVisible=0时对象隐藏,bVisible=1时对象显示。例如,本例中设置画面窗口"picw1"显示的脚本为SetVisible (lpszPictureName, "picw1",1)。


获取对象文本的函数为GetText(lpszPictureName,lpszObjectName),本例中获取按钮对象的文本,由于事件接口参数已经包括按钮对象名称,可以直接使用事件参数lpszPictureName和lpszObjectName ,脚本为GetText(lpszPictureName, lpszObjectName) ;

设置对象属性的函数为SetPropxxxx,xxxx和属性的类型相关,本例中设置画面窗口的标题,标题为文本,使用函数SetPropChar(LPCTSTR lpszPictureName, LPCTSTR lpszObjectName, LPCTSTRlpszPropertyName, char*szValue) ,其中lpszPropertyName代表属性名称。本例中读取按钮文本并设置画面窗口的标题的脚本为SetPropChar(lpszPictureName, "picw1", "CaptionText",GetText(lpszPictureName,lpszObjectName)),"CaptionText"是画面窗口的标题属性名称。


设置对象位置的函数为SetLeft(LPCTSTR lpszPictureName, LPCTSTR lpszObjectName,long int lTop)、SetTop(LPCTSTR lpszPictureName, LPCTSTRlpszObjectName, long intlTop)。本例中,设置画面窗口弹出位置的脚本为SetLeft(lpszPictureName,"picw1",x);SetTop(lpszPictureName, "picw1",y),由于事件参数已经包括鼠标位置x、y,这里可以直接使用。


这些函数对应参数的说明可以从WinCC帮助系统中获得。

在事件中使用函数时,会弹出参数选择对话框,在这里可以为各个参数选择对应的对象或输入数值,也可以点击“确认”按钮之后在脚本编辑器中修改参数。

通过项目函数实现

本例中多个按钮实现相同的功能,可以使用项目函数来提高组态效率。创建项目函数,并为项目函数添加接口参数,包括对象所在画面名称、画面窗口的名称、画面窗口加载的画面名称、变量前缀、对象名称以及画面窗口的显示位置,本例中创建的项目函数为:voidmotor_op(char* lpszPictureName, char* PicWName,char* PICName,char*TagPName,char* lpszObjectName,int x, int y)


函数下面的脚本就可以直接使用项目函数的接口参数,具体脚本:

SetTagPrefix(lpszPictureName,PicWName,TagPName);//设置画面窗口的变量前缀

SetPictureName(lpszPictureName,PicWName,PICName);//设置画面窗口的画面名称

SetVisible(lpszPictureName,PicWName,1);   //设置画面窗口显示

SetPropChar(lpszPictureName,PicWName,"CaptionText",GetText(lpszPictureName,lpszObjectName));//读取按钮文本并设置画面窗口的标题       

SetLeft(lpszPictureName,PicWName,x);   //设置画面窗口显示位置Left 

SetTop(lpszPictureName,PicWName,y); //设置画面窗口显示位置Top


项目函数Zui终结果如下图:

在画面按钮事件中调用项目函数,由于画面名称、按钮对象名称和鼠标位置已经在事件接口参数中提供,只需要设置画面窗口名称、画面窗口加载的画面名称和变量前缀三个参数即可。

4个按钮的Zui终脚本如下:

motor_op(lpszPictureName,"picw1","motor","motor1",lpszObjectName,x,y); //电机一

motor_op(lpszPictureName,"picw1","motor","motor2",lpszObjectName,x,y); //电机二

motor_op(lpszPictureName,"picw1","motor","motor3",lpszObjectName,x,y); //电机三

motor_op(lpszPictureName,"picw1","motor","motor4",lpszObjectName,x,y); //电机四

使用项目函数后运行项目,点击“电机一”、“电机二”、“电机三”、“电机四”弹出相应电机的控制画面,画面标题与按钮文本保持一致,画面弹出位置和按钮位置相对应。


关于广东湘恒智能科技有限公司商铺首页 | 更多产品 | 联系方式 | 黄页介绍
成立日期2022年11月17日
主营产品西门子PLC,西门子模块,西门子触摸屏,西门子变频器,西门子伺服电机驱动,电缆,西门子全系列
公司简介广东湘恒智能科技有限公司主要从事工业自动化产品的集成,销售与维修。致力于为您提供在机械、化工、水泥、电力、环保等领域的电气及自动化技术的完整解决方案,包括自动化产品及系统、工程项目执行及管理、主要过程控制领域技术支持,以及专业的售后服务、培训等。公司本着“以人矢志创新、追求卓越”的工作方针,致力于工业自动化控制领域的产品开发、工程配套和系统集成、销售,拥有丰富的自动为本、科技先导、化产品的应用和实 ...
公司新闻
顺企网 | 公司 | 黄页 | 产品 | 采购 | 资讯 | 免费注册 轻松建站
免责声明:本站信息由广东湘恒智能科技有限公司自行发布,交易请核实资质,谨防诈骗,如有侵权请联系我们   法律声明  联系顺企网
© 11467.com 顺企网 版权所有
ICP备案: 粤B2-20160116 / 粤ICP备12079258号 / 粤公网安备 44030702000007号 / 互联网药品信息许可证:(粤)—经营性—2023—0112