当前位置:首页 > 技术分享 > 正文

自动化PLC上位机wincc,kingscada,组态王等年月日报表设计

A01:设计思路数据写入数据库:通过kepware的DataLogger写入MSSQL或者上位机软件通过脚本写入MSSQL。A02:目前通过kepware整点插入数据库。首先数据库建立表单,通过实现数据库设计。其次建立ODBC数据源,A03:安装表格控件A04:程序设计核心程序段:Dimstrsql...

A01:设计思路数据写入数据库:通过kepware的DataLogger写入MSSQL或者上位机软件通过脚本写入MSSQL。A02:目前通过kepware整点插入数据库。首先数据库建立表单,通过实现数......

A01:设计思路


数据写入数据库:通过kepware的DataLogger写入MSSQL或者上位机软件通过脚本写入MSSQL。

A02:目前通过kepware整点插入数据库。

首先数据库建立表单,通过


实现数据库设计。

其次建立ODBC数据源,


A03:安装表格控件


A04:程序设计



核心程序段:

Dimstrsql

Setcn=

_conString1

Setrecord==Str(d_start_)

IfLen(st)14Then'

st=st+"00:00:00"

If

st1=Str(d__)

IfLen(st1)14Then'

st1=st1+"000:00:00"

If

strsql="selecttt,t1,t2,t3,t4,t5fromtt1whereTT='"+st+"'andTT='"+st1+"'orderbyxh"

,cn

j=2'目录列

=1

=TrueThen

Setrecord=Nothing

Setcn=Nothing

ExitSub

If

Dimmaxv(6)AsSingle

Dimminv(6)AsSingle

Dimavg(6)AsSingle

Dimsub1(6)AsSingle

Fori=0To5

maxv(i)=-10000

minv(i)=1000000

avg(i)=0

DimcxvAsSingle

Nexti

DimnumAsInteger

num=0

=False

=j+4

(j,0).Text=Str(j)

st3=Str(CDate((0)))

'处理时间格式显示(开始)

IfLen(st3)14Then

st3=st3+"00:00:00"

If

IfLen(st3)=18Then

st3=Left(st3,16)+"00"

If

IfLen(st3)=19Then

st3=Left(st3,16)+":00"

If

'处理时间格式显示(结束)

(j,1).Text=st3

Fori=1To5

(i)-10000Then

cxv=(i)

Else

cxv=0

If

Ifi=1Then

'增加一行可以否则EXCEL导出没有名称)

(1,1).Text="日期时间"

(1,2).Text="进水浊度"

(1,3).Text="进水PH"

(1,4).Text="进水温度"

(1,5).Text="清水池1液位"

(j,i+1).Text=Format(cxv,"0.000")

If

Ifi=2Andi=5Then

(j,i+1).Text=Format(cxv,"0.000")

If

Ifmaxv(i-1)cxvThen

maxv(i-1)=cxv

If

Ifminv(i-1)cxvThen

minv(i-1)=cxv

If

avg(i-1)=avg(i-1)+cxv

Nexti

num=num+1

j=j+1

Loop

(j,1).Text="平均值"

(j+1,1).Text="最大值"

(j+2,1).Text="最小值"

Fori=0To4

ifi=0Then

(j,i+2).Text=Format(avg(i)/num,"0.000")

(j+1,i+2).Text=Format(maxv(i),"0.000")

(j+2,i+2).Text=Format(minv(i),"0.000")

If

Ifi=1Then

(j,i+2).Text=Format(avg(i)/num,"0.000")

(j+1,i+2).Text=Format(maxv(i),"0.000")

(j+2,i+2).Text=Format(minv(i),"0.000")

If

Ifi=2Then

(j,i+2).Text=Format(avg(i)/num,"0.000")

(j+1,i+2).Text=Format(maxv(i),"0.000")

(j+2,i+2).Text=Format(minv(i),"0.000")

If

Ifi=3Then

(j,i+2).Text=Format(avg(i)/num,"0.000")

(j+1,i+2).Text=Format(maxv(i),"0.000")

(j+2,i+2).Text=Format(minv(i),"0.000")

If

Ifi=4Then

(j,i+2).Text=Format(avg(i)/num,"0.000")

(j+1,i+2).Text=Format(maxv(i),"0.000")

(j+2,i+2).Text=Format(minv(i),"0.000")

If

Nexti

Setrecord=Nothing

Setcn=Nothing

=cellScrollBarBoth

=1'冻结第一行

=True

A05:测试效果






最新文章