wincc怎么做设定曲线_第1页
wincc怎么做设定曲线_第2页
wincc怎么做设定曲线_第3页
wincc怎么做设定曲线_第4页
wincc怎么做设定曲线_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、wincc怎么做设定曲线?    如果应用到程序升温的场合(金属热处理、玻璃窑炉的烘炉升温、聚合反应等)。SP曲线是随时间变化,可以比较SSP和SP曲线,判断目前处于什么阶段?升温速率是多少?本段升温大约多少时间结束?(升温曲线是由多段升温直线组成),可以提前对工艺设备、操作人员等作出合理安排。SSP是Schedule Set Point的缩写,主要功能是输出值是随着时间的推移而变化。可以通过输入端子(x1,x2,x3.x1,代表时间)和输入端子(y1,y2,y3.y10,输出值)来描述功能块的输出值与时间的关系。 今天把相关文档汇总整理一下,修改了一些

2、错字,并将WinCC的UserArchive和Step7的SSP功能块连接起来,在Windows XP SP3 (English)Step7 V5.4 SP5WinCC V7.0 SP1平台下测试通过。. 在Step7中在Step7中建立一个SSP功能块,其定义如下:1.1. 功能块的输入:1.1.1. PV信号,就是我们需要控制的参数,Real。1.1.2. x1,x2,x3.x10输入信号,代表时间间隔的参数,real。1.1.3. y1,y2,y3.y10输入信号,代表输出值的参数,real。由(x1,y1),(x2,y2).(x10,y10)共计10点,组成折线表。1.1.4. Sta

3、rt输入信号,控制SSP运行的信号,off:停止,on:运行。bool。1.2. 功能块的输出信号1.2.1. SSP输出,当Start=off时,SSP=PV。当Start=on时,SSP以当前的PV为初始值,由(x(n),y(n)和(x(n+1),y(n+1)组成的直线来决定SSP的值。real。1.2.2. ElapseTime,代表SSP运行的时间,real。1.3. 主要功能说明1.3.1. Startoff,SSP=PV,ElapseTime=0。1.3.2. Start从offon的正跳变时,功能块要根据此时的PV值(计作y0),反向计算出对应的X值(计作xo)。主要是考虑无扰动

4、切换。1.3.3. Starton,从x0开始,计算x值,并通过直线方程得到SSP值。1.3.4. Start=on,ElapseTime=ElapseTimeOB35的时间。2. 在WinCC中2.1. 在WinCC中建立一个User Archive(名称为yhg),并建立X、Y两个字段(Field)。2.2. 在TagLogging中,为Step7中的SSP功能块的输出SSP信号(也可以选择实际需要控制的参数作为归档信号)和ElapseTime信号建立归档记录。2.3. 在图形中建立一个UserArchive 控件,在控件组态中指定UserArchive名称为yhg。2.4. 在图形中建立

5、一个FunctionTrend控件,在控件组态中建立2个变量:UserArchiveSSP和SSP。a) UserArchiveSSP的数据源选择UserArchive/yhg,其X轴选择UserArchive中的yhg文件的x字段,Y轴选择UserArchive中的yhg的y字段。b) SSP的数据源选择ArchiveTags,其X轴选择TagLogging中的ElapseTime,Y轴选择TagLogging中的SSP。2.5. 在图形中增加一个按钮对象,名称为“Download to PLC”,并在鼠标事件中定义如下s cript:#include "apdefap.h&quo

6、t;void OnLButtonUp(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName, UINT nFlags, int x, int y)#include "apdefap.h"void UAReadFromArchive();UAHCONNECT hConnect;UAHARCHIVE hArchive;LONG lField = 1;LONG NumberOfFields;int ID;int FieldIndex;int plCount;float x_Axis15;float

7、y_Axis15;float pfValue;/* Connect to Componente User Archive *if(uaConnect(&hConnect)=FALSE)printf("uaConnect error: %drn",uaGetLastError();return;if(hConnect=NULL)printf("Handle UAHCONNECT equals NULLrn");return;/* Connect to Archive via Name *if(uaQueryArchiveByName(hConnec

8、t,"yhg",&hArchive)=FALSE)printf("uaQueryArchive Error: %drn",uaGetLastError();uaDisconnect(hConnect);return;/* Sort on the ID *uaArchiveSetSort( hArchive, "ID" );/* Opens Archivs *if(uaArchiveOpen(hArchive)=FALSE)printf("uaArchive Open Errorrn",uaGetLastEr

9、ror();uaReleaseArchive(hArchive);uaDisconnect(hConnect);return;/* Get Number of *NumberOfFields = uaArchiveGetFields( hArchive );printf( "Number of Fields = %un", NumberOfFields );/*UAArchiveGetCount(hArchive,&plCount);printf( "Number of data records: %drn" , plCount);uaArchi

10、veMoveFirst(hArchive); /Return-Type: BOOLfor (FieldIndex = 1; FieldIndex < NumberOfFields; FieldIndex+)uaArchiveMoveFirst(hArchive); /Return-Type: BOOLfor (ID=1; ID <= plCount; ID+)if (uaArchiveGetFieldValueFloat(hArchive,lField,&pfValue) /Return-Type: BOOLif (lField=1)x_AxisID = pfValue;p

11、rintf( " x Value: %frn" , x_AxisID);elsey_AxisID = pfValue;printf( " y Value: %frn" , y_AxisID);uaArchiveMoveNext(hArchive); /Return-Type: BOOLelseprintf("Error:%dn", uaGetLastError() );break;printf( " ID: %drn" , ID);lField+;/* Close Archive *if(uaArchiveClos

12、e(hArchive)=FALSE)printf("error on closing archivern",uaGetLastError();if(uaReleaseArchive(hArchive)=FALSE)printf("error release archivern",uaGetLastError();/* Disconnect Component User Archive *if(uaDisconnect(hConnect)=FALSE)printf("error on disconnectionn",uaGetLastE

13、rror();/* Write to PLC *SetTagFloatWait("S7$Program(1)/CFC(1)/SSP.x1",x_Axis1); /Return-Type: BOOL/.SetTagFloatWait("S7$Program(1)/CFC(1)/SSP.x10",x_Axis10); /Return-Type: BOOLSetTagFloatWait("S7$Program(1)/CFC(1)/SSP.y1",y_Axis1); /Return-Type: BOOL/.SetTagFloatWait(&q

14、uot;S7$Program(1)/CFC(1)/SSP.y10",y_Axis10); /Return-Type: BOOL2.6. 在图形中增加一个按钮对象,名称为“Start”,并在鼠标事件中定义如下s cript:#include "apdefap.h"void OnLButtonDown(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName, UINT nFlags, int x, int y)if (GetTagBit("S7$Program(1)/CFC(1)/SSP.Start") /Return-Type: BOOL(SetTagBitWait("S7$Program(1)/CFC(1)/SSP.Start",FALSE); /Return-Type: BOOLelse(SetTagBitWait("S7$Program(1)/CFC(1)/SSP.Start",TRUE); /Return-Type: BOOL2.7. 测试2.7.1. 在PLC或PLCSIM中运行Step7程序。2.7.2. 运行WinCC,在UserArchive 控件输

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论