wincc功能使用总结

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1、Wincc online trend控件实现多条曲线查询

项目要求,查询任意时段内的两条曲线的历史数据

1、首先在变量记录中设置需要记录的变量,如果需要在一个控件内显示两条曲线,做数据

归档时,归档属性最好是一致的,归档属性不一样是否会出现问题,这个没测试,有兴趣的可以测试一下。

2、数据记录设置OK后,新建画面插入online trend控件,我的项目需要把趋势打印出来,

所以把控件的工具栏全部隐藏。

3、双击online trend控件,添加需要显示的归档变量。选择公共X,Y轴等参数。坐标显示

根据自己使用选择,基本上不用设置太多参数。

4、添加需要显示的历史归档变量后,就需要写脚本了,西门子工控网论坛有实例,实例提

示针对于一条曲线时使用,咨询西门子技术支持,如果需要同时显示两条曲线时,需要对两条曲线分别进行设置属性“控件.index=0,1”,但是测试其实只设置index=0的起始及结束时间就OK,就是论坛给的实例不是只针对于一条曲线,两条曲线时同样适用,再多的曲线就没测试了。

5、西门子默认的时间格式为“MM-DD-YYYY HH-MM-SS”格式,所以在设置趋势起始及

结束时间时需要注意。

6、注:导入归档数据需要一定的时间,建议按钮触发。尝试在画面打开时触发脚本,有的

时候会出现历史数据加载不上来。

7、脚本如下,仅供参考

Dim objConnection

Dim strConnectionString

Dim strSQL

Dim objrs

Dim chaxun

'定义曲线控件

Dim TREND

Dim strval_1

Dim strval_2

Dim strval_t1

Dim strval_t2

'初始化程序,省略N行。。。。。。。。。。。。。。。。。。。。。。。。。。。。

'初始化程序,省略N行。。。。。。。。。。。。。。。。。。。。。。。。。。。。

chaxun=HMIRuntime.Tags("管号查询输入").Read strConnectionString = "Provider=MSDASQL;DSN=REPORT;UID=;PWD=;" strSQL = "select * from report where guanhao='"&chaxun&"';"

Set objConnection = CreateObject("ADODB.Connection") objConnection.ConnectionString = strConnectionString objConnection.Open

Set objrs = CreateObject("ADODB.RecordSet")

objrs.open strSQL,objConnection

/赋值程序,省略,,,,,,,,,,,,,,,,,,,,,,/

/赋值程序,省略,,,,,,,,,,,,,,,,,,,,,,/

objrs.close

Set objrs = Nothing

objConnection.Close

Set objConnection = Nothing

'趋势时间设定

Set trend = ScreenItems("控件1")

strval_r=HMIRuntime.Tags("测试日期_read").Read

strval_t1=HMIRuntime.Tags("开始时间_read").Read

strval_t2=HMIRuntime.Tags("测试时间_read").Read

strval_1=strval_r+" "+strval_t1

strval_2=strval_r+" "+strval_t2

trend.Index=0

trend.Online=False

trend.TimeRange=False

trend.BeginTime=strval_1

trend.EndTime=strval_2

mand="Reload"

实际效果如下:

2、Wincc ODBC连接ACCESS数据库,MshflexGird控件显示数据

1、wincc自带安装SQL数据库,连接不上,退而求其次只能使用ACCESS数据库了,

好多人说ODBC方法过时了,但是对于我们这些对数据查询量较小,查询频率较低的高级语言初学者来说,该方法还是比较实用。

2、MshflexGird控件,个别电脑上可能没有注册,可以在网上下载重新注册,这次尝试

了好多次可以注册,但是在添加的时候总是报错,使用较笨的方法安装了VB6.0,3、MshflexGird控件的属性比如列数,行数,列宽,列头注释等等。百度一下有好多文

档介绍

4、脚本部分:

Dim objConnection

Dim strConnectionString

Dim strSQL

Dim objrs

Dim chaxun

Dim i

Dim j

'定义报表控件

Dim aa

'chaxun=HMIRuntime.Tags("管号查询输入").Read

'数据库连接字符串

strConnectionString = "Provider=MSDASQL;DSN=REPORT;UID=;PWD=;"

strSQL = "select * from report order by 编号ASC;"

Set objConnection = CreateObject("ADODB.Connection")

objConnection.ConnectionString = strConnectionString

objConnection.Open

Set objrs = CreateObject("ADODB.RecordSet")

objrs.open strSQL,objConnection

'数据循环写入MSFlexgrid控件

Set aa = ScreenItems("控件5")

aa.rows = 2

'设置列头文字

aa.FormatString = "^序号|^管号|^管径|^管长|^壁厚|^材质|^试压压力Mpa|^保压时间S|^试压日期|^结束时间|^开始时间|^操作员|^班次|^结论|^标准|^规格|^温度℃|"

'设置列宽度

For j=2 To 14

aa.ColWidth(j)=1500

Next

j=j+1

相关文档
最新文档