- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
WinCC V6.0 VBS脚本在长输管线自动化SCADA系统中应用
WinCC V6.0 VBS脚本在长输管线自动化SCADA系统中应用
[摘要] 本文描述了如何使用西门子上位监控软件WinCC V6.0 集成的VBS在长输成品油管线自动化SCADA系统中将长输管线每小时与生产相关工艺参数通过报表的形式自动生成生产报表,减少人工填写报表的烦琐工作,充分发挥自动化系统的特点。
[关键词] WinCC V6.0 VBS SCADA PLC
一、项目简介
其项目是新疆新捷股份有限公司成品油管线,采用先进的SCADA自动化系统,其成品油各泵站采用罗克韦尔公司的冗余的PLC采集与生产和控制有关的生产工艺参数,其上位机系统采用西门子公司的上位机系统WinCC V6.0,其相关的生产过程工艺参数储存在上位机系统,以供生产工艺人员分析生产数据,决策和指挥输油生产。其自动化水平达到现场无人职守,仪控室有人监控的控制水平。西门子公司的软件WinCC 6.0系统自带的报表系统无法满足用户的需要,只有通过外挂应用程序来处理该生产报表的工作。其生成方式有两种方案,方案一。采用西门子WinCC 6.0软件提供的应用函数取出时实数据连接到EXCEL表格中,利用EXCEL软件自带的宏编程来实现。
方案二,利用WinCC 6.0系统自带的VBS编程来实现,这种方法灵活、方便,跟WinCC 6.0系统实现无缝连接,易实现编程和定时读取数据。本文就讲述方案二的实现方法。
二、系统简介
该项目采用的前台机为罗克韦尔的PLC作为冗余系统,属于热备系统。其站控系统结构如下,其网络结构为星型结构。
数据的采集和处理由PLC完成,其PLC内的控制程序主要为逻辑控制(梯形图控制程序),该项目要求是从已有的生产自动化系统上读取每小时的生产数据到报表,为了便于储存报表和归档,要求自动生成年和月的文件夹,并在每月的文件夹里自动生成每天的生产报表。
三、系统功能要求及实现步骤
该项目要求根据生产自动化系统采集的生产数据生成每小时的生产报表。自动生成年月日的报表。并能根据生产指令自动打印报表。
技术难点和实现步骤如下:
1 按生产的需要,每天的报表格式是一定,每小时采集的数据是变化的,可以采取每小时运行一次程序,并将采集的数据填写到EXCEL的固定表格。方法是采用定时打开固定的表模板,再填写数据并保存的方法。其模板格式如下:
2 要在整点采集生产数据并生成报表,并同时生成年月的文件夹,这是一个有冲突的地方尤其是在换年和月的时候,到正点日期才会改变,这个时候生成报表时,因软件找不到文件夹的路径,无法生成报表,所以在编写程序的时候应生成文件夹,再生成生产报表。基于WinCC 6.0集成VBS的特点,分开编写两个带周期触发的两个小程序。一个用来自动生成年文件夹,月文件夹。与报表的生成程序分开使用。如下:
Option Explicit
Function action
Dim fso,fso1
Dim f,f1
Dim nian
Dim yue
nian=Year(Now)
yue=Month(Now)
Set fso = CreateObject(Scripting.FileSystemObject)
If fso.FolderExists(d:\oilfield_cpz_ytp_2\cpzrpt\report\nian””)=False Then
Set f= fso.CreateFolder(“d:\oilfield_cpz_ytp_2\cpzrpt\report\”nian””)
CreateFolderDemo = f.Path
End If
If fso.FolderExists(“d:\oilfield_cpz_ytp_2\cpzrpt\report\”nian”\”yue””)=False Then
Set f1= fso.CreateFolder(“d:\oilfield_cpz_ytp_2\cpzrpt\report\”nian”\”yue””)
CreateFolderDemo = f1.Path
End If
End Function
3 每小时定时打开报表的时候要判断当天的报表是否已经建立,否则打开表模板建立当日的报表文件,在判断当日报表已经被打开,如果被打开就直接填写数据,否则就打开当日的报表文件填写数据。
Set objExcelApp = CreateObject(Excel.Application)
Set x1 = CreateObject(Scripting.FileSystemObject)
If x1.
文档评论(0)