• {{item.name}}
DCS/SIMATIC PCS7 {{item.name}}
{{item2.name}}
更多
常问问题

如何使用工业库中的SPCurve功能

star star star star star
5.0 分
  • 使用操作
  • 1
  • SPC
  • CUR
  • 变量
  • 脚本
文档编号:F1008| 文档类型:常问问题| 发布时间:2024年01月22日
  • 0
  • 141
  • 592
1        SPCurve功能块概述 ......

1.SPCurve功能块概述

在工业控制领域,为了保证产品质量,通常需要严格控制某一控制参数按照一定的工艺曲线进行变化,例如对温度、压力、速度等的控制。以加热过程为例,温度的大小跟随设定值按时间变化,以不同的升降温速率、保温点及时间构成的设定值随时间变化的曲线,称之为温度工艺曲线,如下图所示。对工艺曲线的设定可以通过智能仪表或者PLC编写程序实现,但存在修改不灵活,编程复杂,耗费时间的问题。SIMATIC PCS 7工业库的SPCurve(设定值控制器)功能块正是针对此类应用的解决方案。

image.png

图1‑1典型的温度工艺曲线

SIMATIC PCS 7工业库(SIMATIC PCS 7 Industry Library,以下简称IL)为PCS 7 V8.0以上版本提供了全新的控制功能库,是对PCS 7高级过程库(APL)的扩展,集成了非标准PCS 7 系统的工厂组件,包括S7-300控制器或者WinCC Flexible操作员面板。SPCurve功能块支持用户按照工艺要求设置“设定值-时间”变化曲线,具有设定简单、调整灵活的特点。可以实现以下功能:

·         设定多条工艺曲线,受DB块大小限制;

·         多种设定值定义方式:

1)      通过操作员在面板上手动设定工艺曲线,写入AS;

2)      CFC程序写入DB数据块;

3)      直接写入附加DB数据块

·         手自动运行切换

·         设定点之间的连接方式:

1)      线性曲线;

2)      阶越曲线

·         灵活的曲线修改

本文以设定一条温度工艺曲线为例,如下图所示,详细介绍PCS 7 工业库SPCurve功能块的基本使用以及如何定义设定值曲线。

image.png

图1‑2  温度工艺曲线

2.SPCurve功能块组态

2.1 创建项目

安装PCS 7 Industry Library后系统会自动在CFC中添加功能库“Industry Lib PCS 7 V80”,如下图所示。SPCurve功能块编号为FB1141,通过CFC进行调用,可以在“Industry Lib PCS 7 V80\Blocks\Blocks\Control”中找到。

更多关于IL的安装信息,可以参考如下文档:

《PCS 7工业库安装指南》下载中心文档编号: A0696http://www.ad.siemens.com.cn/download/docMessage.aspx?id=7109

image.png

图2‑1SPCurve功能块

SPCurve功能块的基本管脚如下图所示,关于功能块或者全部管脚的相关信息可以查看在线帮助。

image.png

图2‑2SPCurve功能块管脚

打开PCS 7 ,创建多项目,并插入AS、OS两个单项目,分别添加SIMATIC 400 Station和SIMATIC PC Station,进行相应硬件及网络组态,最终项目结构如下图所示。

image.png

图2‑3基本项目框架

2.2 设定值控制器的停止/运行操作

创建CFC程序块,并插入SPCurve功能块FB1141。通过连接相应管脚实现设定值控制器的停止/运行操作。

在运行状态,设定值SP将会严格跟随预先设计的设定值曲线的变化而变化。

在停止状态,设定值SP的输出会保持在停止前的最后数值。操作员或程序可以修改设定值SP的输出值。注:设定值SP的输出值不能超过设定值上下限“SP_OpScale.High”以及“SP_OpScale.Low”。

SPCurve功能块中与设定值控制器运行相关的管脚有:

       2‑1设定值控制器运行相关管脚

管脚功能信号类型
ModLiOp程序切换/操作员面板切换ModLiOp=0:操作员通过面板切换手/自动模式ModLiOp=1:程序切换手/自动模式结构体(Struct)
AutoModLi通过程序切换到自动模式,在ModLiOp=1时有效结构体
ManModLi通过程序切换到手动模式,在ModLiOp=1时有效结构体
StartAut自动启动信号STRUCT
StopAut自动停止信号STRUCT

2.2.1 操作员面板控制

操作员面板控制,即设定值控制器的运行由操作员通过上位机面板手动控制。为实现手动模式,有两种方式:

  • ModLiOp=0时,OS在线激活后,打开SPCurve功能块操作面板,点击“STOP”右边的按钮,弹出命令条,控制设定值控制器的停止/运行。
  • ModLiOp=1时,设置ManModLi=1,OS操作如下图,操作员面板的模式按钮选择按钮为灰色,不可操作。

image.png

图2‑4操作员面板控制

2.2.2 程序自动控制

自动模式,即设定值控制器的运行由程序来自动控制。为了实现自动模式,有两种方式:

  • ModLiOp=0时,通过操作员面板的模式按钮将SPCurve功能块切换至自动模式;
  • ModLiOp=1时,设置AutoModLi =1,程序中连接StartAut和StopAut实现自动模式下的运行控制。
注:SPCurve功能块允许通过设置Feature.Bit6,选择在自动模式下的启动命令形式Switch模式或Button模式。详细解释请参考APL手册中1.5章节内容。

2.3 如何创建设定值曲线

2.3.1 DB数据块创建

默认情况下,创建的设定值曲线只能保存在SPCurve功能块的背景数据块,最多 1 条设定值曲线,且仅有32个时间/设定点。实际应用中,为了满足不同的环境需求,用户往往要求对于一个控制对象可以设置多条曲线,或设定值变化精度更高,即1条曲线中包含多于32个设定点,这就需要借助额外的DB数据块来实现。该特性通过Feature.Bit2进行设置,Feature.Bit2=1,设定值曲线时间/设定点保存在额外的DB数据块中。

image.png

图2‑5设置Data Block属性

在S7程序Blocks文件夹中创建自定义DB块“SPCurveDat”,并以如下图所示的结构创建变量。

image.png

图2‑6创建DB块

在上图中,DB块定义了3条设定值曲线,每条曲线包括3个“数据块”(例如Dat_1_1/2/3),每个“数据块”的结构由结构体UDT“SPDatablock”定义,包含32个时间/设定点,如下图所示。

注:理论上,设定值控制器中可以创建任意数量的时间/设定点以及设定值曲线,仅受到AS中DB块的大小限制,即DB块大小不能超过64K。实际使用中,建议一条设定值曲线最多包含10个“数据块”。这是由于同一时刻SPCurve功能块的数据传输接口只能传送一个“数据块”。以传送“数据块”至OS为例,传送一个“数据块”至OS需要1s,若OS显示一条包括10个“数据块”的设定值曲线需要10s。

image.png


图2‑7 UDT 结构体“SPDatablock”定义

PCS 7 IL中提供了一个可用的UDT结构,可以在Industry Lib PCS 7 V80\ Block中找到,用户可以直接使用,如下图所示。

image.png

   

图2‑8 UDT8 “SPDatablock”保存位置

将功能块SPCurve的输入管脚“DBPointer”连接至自定义DB块“SPCurveDat”的参数“SeMax1”,如下图所示。

image.png

图2‑9 DBPointer连接

2.3.2 创建设定值曲线

设定值曲线的创建有以下三种方式,本文以保存设定值曲线至附加DB块为例,详细介绍三种方式的操作步骤。

1)      通过操作员面板手动设定工艺曲线,写入AS;

2)      CFC程序写入DB数据块;

3)      直接写入附加DB数据块

2.3.2.1    操作员手动设定

打开SPCurve面板,点击Parameter视图。Parameter视图打开后,OS会自动加载设定值曲线,初始状态下时间/设定值均为0,如下图所示。点击Active Curve选择相应的设定值曲线。

image.png

图2‑10 Parameter视图

注:当打开Parameter视图加载设定值曲线时,数据是通过SPCurve功能块引脚RDatTi00_OP…RDatTi31_OP/ RDatVa00_OP…RDatVa31_OP “OS读接口”将数据由AS传递到OS,同一时刻仅能进行一条设定值曲线的加载。若存在多个SPCurve实例,同时需要进行设定值曲线的加载,只有在第一条曲线加载完成后,才会执行后面的加载动作。若设定值曲线加载没有完成时,关闭Parameter视图,“OS读接口”将自动释放。“OS写接口”是SPCurve功能块参数WDatTi00_OP…WDatTi31_OP/ WDatVa00_OP…WDatVa31_OP,OS通过这个接口向CFC中写入曲线设定值/时间。

     

操作员通过OS面板手动创建设定值曲线需要以下两步:

1)  手动输入时间/设定值,由于首次设定时,曲线的所有点的时间值默认均为0,如图2-10所示,使用时需要先设定设定值曲线的最后一个点的时间值,如下图所示,之后依次向前设置,否则不能更改之前设定点的时间。设置完成的曲线以虚线表示。

image.png

图2‑11手动设置时间/设定值

2)  执行OS写入AS。与“OS读接口”类似,OS写入AS是通过“OS写接口”实现。选择Write to AS,点击Excute,执行写入。

image.png

图2‑12  执行OS写数据至AS

image.png

图2‑13写入过程

image.png


图2‑14最终数据写入完成

注:在数据写入过程中,关闭Parameter视图,数据将不能正确的写入AS。

除了通过OS面板手动创建曲线,也可以利用Parameter视图中的导入功能,导入CSV格式文件。点击Import按钮,选择相应文件,导入预先定义的曲线,执行OS写入AS。

image.png

图2‑15 CSV文件导入

CSV文件格式要求为每一列必须包含一个时间值(双整数)和一个设定点(实数),并且通过“;”分隔,包含的时间/设定点的数量与设定值曲线包含的点数一致,如下图所示。

image.png

图2‑16 CSV文件格式

为了保证格式正确,可以选择Export按钮,导出CSV文件,在此基础上进行修改后再导入该文件。导出文件前要创建CSV格式文件。

2.3.2.2    CFC程序设定

设置管脚DataExtLi.Value=1,选择CFC程序设置设定值曲线。通过指定相应管脚,设定读写的曲线号以及相应的“数据块”,具体管脚见下表。

表2‑2 CFC程序设置设定值曲线相关管脚


管脚功能信号类型
DataExtLi通过面板或程序设置设定值曲线DataExLi =0:操作员通过面板进行设置DataExLi =1:CFC程序进行设置STRUCT
RDBINoEx程序指定所需读出数据的数据块INT
RDSeNoEx程序指定所需读出数据的曲线号INT
WDBINoEx程序指定所需写入数据的数据块INT
WDSeNoEx程序指定所需写入数据的曲线号INT
RDatTi00_Li…RDatTi31_Li/RDatVa00_Li…RDatVa31_Li时间/设定值输出值DINT/REAL
WDatTi00_Li…WDatTi31_Li/WDatVa00_Li…WDatVa31_Li时间/设定值写入值DINT/REAL

RDBINoEx / RDSeNoEx实现读出指定曲线的数据块,WDBINoEx / WDSeNoEx实现写入指定曲线的数据块。以写数据到指定数据块为例,赋值WDatTi00_Li…WDatTi31_Li/

WDatVa00_Li…WDatVa31_Li,向指定的设定值曲线2的第2个数据块中写入时间/设定值,如下图所示。AS读出数据过程与写入过程类似。

image.png

图2‑17 通过CFC创建设定值曲线

2.3.2.3    直接写入附加DB块

创建附加DB块“SPCurveDat”后,选择File à Generate Souce,选择DB1生成SCL源文件,如下图所示。

image.png

图2‑18生成SCL源文件

打开生成的源文件,手动修改Dat_1_1.SPVa00/Dat_1_1.SPTi00……的数值,完成后点击编译、保存,曲线创建完成。

image.png

图2‑19 DB块的SCL源文件

2.3 OS显示运行

完成程序以及画面组态后,编译AS和OS,运行WinCC。

标准视图用于设置操作模式,设定值控制器的运行/停止,以及SP值的显示,如下图所示。默认情况下,Next SP及PV值是不会显示在操作员面板上的。设置Feature.Bit5=1,选择在OS面板上显示下一个设定点Next_SP及其对应时间。

通过在CFC中连接PV管脚,可以在OS面板中显示过程值Process value。

image.png

图2‑20  SPCurve标准视图

2.4 附加功能

2.4.1 曲线显示方式

设定值曲线的显示方式有两种:线性曲线与阶跃曲线。线性方式,两个设定点直接连接;阶跃方式,保持设定值直到下一个设定点。设置Feature.Bit4,选择曲线设定点之间的连线方式。Feature.Bit4=0线性方式,Feature.Bit4=1阶跃方式。

2.4.2  时间选择

设定值控制器(SPCurve)可以选择不同的时间基准,以得到相对应的曲线设定值。Feature.Bit3=0,设定值控制器运行的起始时间作为时间基准,Feature.Bit3=1,AS时间作为时间基准,即当前CPU的时间。

2.4.3 修改设定值曲线

当设定值控制器处于停止模式,且多于一条的设定值曲线可用,操作员/程序可以修改曲线的时间及设定值。在操作员面板上修改完成后,需要执行写入AS的操作,如图2-12所示。修改后,当设定值控制器重新进入运行状态时,功能块会自动检查时间点设置是否合理,并进行修正。

3SPCurve功能块应用

设定值曲线SPCurve功能块在实际使用中通常结合其他功能块一起应用,本文以SPCurve与PIDConL(FB1874)为例,介绍SPCurve的应用。

3.1 CFC组态

在CFC中插入PIDConL功能块,将SPCurve引脚SP连接至PIDConL引脚SP_EXT,如下图所示。

image.png

图3‑1 SPCurve连接PIDConL

设置PIDConL功能块,选择外部设定值SP_LiOp.Value=1,SP_ExLi.Value=1。关于PIDConL功能块更多设置请参考如下文档:

《PCS 7 V7.1 SP1中APL库控制功能块PIDConL使用入门》下载中心文档编号:A0545http://www.ad.siemens.com.cn/download/docMessage.aspx?Id=5040

设置SPCurve功能块,参考2.3章节,使用额外DB数据块设置设定值曲线。

1)      设置Feature.Bit2=1,允许通过额外DB数据块保存设定值曲线;

2)      创建DB数据块,可以直接从IL Library中拷贝,并根据实际情况,修改曲线数量、每条曲线包括的数据块的数量,设置曲线的设定值/时间;

3)      连接DBPointer至DB26.SeMax1。

设置完成的曲线如下图所示。

image.png

图3‑2设定值曲线

3.2 OS运行

OS编译运行,SPCurve功能块选择手动模式,点击运行。如下所示。

image.png

图3‑3运行设定值曲线

打开SPCurve以及PIDConL功能块的趋势视图,PIDConL设定值SP曲线完全跟随SPCurve的SP输出变化而变化,二者保持一致,如下图所示。

image.png


图3‑4 PIDConL设定值趋势曲线

 

如果您对该文档有任何建议,请将您的宝贵建议提交至下载中心留言板。

该文档的文档编号:F1008

自动化系统

西门子(中国)有限公司

工业自动化与驱动技术与楼宇科技集团客户服务与支持中心

网站首页:www.4008104288.com.cn

自动化系统下载中心:http://www.ad.siemens.com.cn/download/DocList.aspx?TypeId=0&CatFirst=1  

自动化系统全球技术资源:http://support.automation.siemens.com/CN/view/zh/10805045/130000

“找答案”自动化系统版区:http://www.ad.siemens.com.cn/service/answer/category.asp?cid=1027

过程控制系统

西门子(中国)有限公司

工业自动化与驱动技术与楼宇科技集团客户服务与支持中心

网站首页:http://www.4008104288.com.cn/

过程控制系统下载中心:http://www.ad.siemens.com.cn/download/DocList.aspx?TypeId=0&CatFirst=19

过程控制系统全球技术资源:http://support.automation.siemens.com/CN/view/zh/10806836/130000


您可以前往全球资源库查看此文档


剩余80%未阅读,请登录后下载/查看文档

  • 评论
更多
  • 分享

    扫码分享

提示
您即将前往“全球技术资源库”。
“全球技术资源库”的用户名与本地支持中心(下载中心、技术论坛、找答案、1847工业学习平台)的用户名不通用。如果需要在全球技术资源库下载文档,您需要重新登录或注册。
确定

扫码进入移动端

信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。