- {{item.name}}
如何使用工业库中的SPCurve功能
- 1
- 325
- 592
1.SPCurve功能块概述
在工业控制领域,为了保证产品质量,通常需要严格控制某一控制参数按照一定的工艺曲线进行变化,例如对温度、压力、速度等的控制。以加热过程为例,温度的大小跟随设定值按时间变化,以不同的升降温速率、保温点及时间构成的设定值随时间变化的曲线,称之为温度工艺曲线,如下图所示。对工艺曲线的设定可以通过智能仪表或者PLC编写程序实现,但存在修改不灵活,编程复杂,耗费时间的问题。SIMATIC PCS 7工业库的SPCurve(设定值控制器)功能块正是针对此类应用的解决方案。
图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功能块的基本使用以及如何定义设定值曲线。
图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 |
图2‑1SPCurve功能块
SPCurve功能块的基本管脚如下图所示,关于功能块或者全部管脚的相关信息可以查看在线帮助。
图2‑2SPCurve功能块管脚
打开PCS 7 ,创建多项目,并插入AS、OS两个单项目,分别添加SIMATIC 400 Station和SIMATIC PC Station,进行相应硬件及网络组态,最终项目结构如下图所示。
图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操作如下图,操作员面板的模式按钮选择按钮为灰色,不可操作。
图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数据块中。
图2‑5设置Data Block属性
在S7程序Blocks文件夹中创建自定义DB块“SPCurveDat”,并以如下图所示的结构创建变量。
图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。 |
图2‑7 UDT 结构体“SPDatablock”定义
PCS 7 IL中提供了一个可用的UDT结构,可以在Industry Lib PCS 7 V80\ Block中找到,用户可以直接使用,如下图所示。
图2‑8 UDT8 “SPDatablock”保存位置
将功能块SPCurve的输入管脚“DBPointer”连接至自定义DB块“SPCurveDat”的参数“SeMax1”,如下图所示。
图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选择相应的设定值曲线。
图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所示,使用时需要先设定设定值曲线的最后一个点的时间值,如下图所示,之后依次向前设置,否则不能更改之前设定点的时间。设置完成的曲线以虚线表示。
图2‑11手动设置时间/设定值
2) 执行OS写入AS。与“OS读接口”类似,OS写入AS是通过“OS写接口”实现。选择Write to AS,点击Excute,执行写入。
图2‑12 执行OS写数据至AS
图2‑13写入过程
图2‑14最终数据写入完成
注:在数据写入过程中,关闭Parameter视图,数据将不能正确的写入AS。 |
除了通过OS面板手动创建曲线,也可以利用Parameter视图中的导入功能,导入CSV格式文件。点击Import按钮,选择相应文件,导入预先定义的曲线,执行OS写入AS。
图2‑15 CSV文件导入
CSV文件格式要求为每一列必须包含一个时间值(双整数)和一个设定点(实数),并且通过“;”分隔,包含的时间/设定点的数量与设定值曲线包含的点数一致,如下图所示。
图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读出数据过程与写入过程类似。
图2‑17 通过CFC创建设定值曲线
2.3.2.3 直接写入附加DB块
创建附加DB块“SPCurveDat”后,选择File à Generate Souce,选择DB1生成SCL源文件,如下图所示。
图2‑18生成SCL源文件
打开生成的源文件,手动修改Dat_1_1.SPVa00/Dat_1_1.SPTi00……的数值,完成后点击编译、保存,曲线创建完成。
图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。
图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,如下图所示。
图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。
设置完成的曲线如下图所示。
图3‑2设定值曲线
3.2 OS运行
OS编译运行,SPCurve功能块选择手动模式,点击运行。如下所示。
图3‑3运行设定值曲线
打开SPCurve以及PIDConL功能块的趋势视图,PIDConL设定值SP曲线完全跟随SPCurve的SP输出变化而变化,二者保持一致,如下图所示。
图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%未阅读,请登录后下载/查看文档
- 评论
-
分享
扫码分享
- 收藏 收藏
- 点赞 点赞
- 纠错 纠错
- 如何使用PCS 7工业库的Aggregate功能
- 使用SIMATIC PCS 7 工业库 V8.0的硬件要求
- 如何基于工业库在PCS 7中集成Panel
- 如何基于工业库在PCS 7中集成S7-300 CPU
- 将 S7-300 整套设备集成到带有 PCS 7 工业库的 SIMATIC PCS 7 当中
- PCS 7 工业库安装指南
- PCS 7 V7.1 APL库中的斜坡(Ramp)功能
- 在PCS 7 项目中,如何同时使用两个库中同名的功能块?
- 如何使用 STEP7 中的“启用外设输出”功能
- 如何使用SIMATIC NET PC软件在工业以太网中为SIMATIC NET OPC服务器配置容错的S7连接?
{{item.nickName}}