日报表解释说明

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

1全局脚本

在全局脚本里建立起与数据库的连接,通过定时整点触发脚本,把变量写到数据库。WINCC里全局脚本触发定时器设定是每小时整点触发。

Option Explicit 变量声明

Function action 功能操作

Dim database 定义数据库

Dim strcn,cn

Dim is_SQL

Dim riqi

Dim yali,wendu,liuliang,zhongliang,dianya,sudu 定义压力、温度、、、、

Dim DateTime 定义日期时间

riqi=Now

Set yali= HMIRuntime.Tags("yali") 人机界面运行时间标签

yali.Read

Set wendu= HMIRuntime.Tags("wendu")

wendu.Read

Set liuliang= HMIRuntime.Tags("liuliang")

liuliang.Read

Set zhongliang= HMIRuntime.Tags("zhongliang")

zhongliang.Read

Set dianya= HMIRuntime.Tags("dianya")

dianya.Read

Set sudu= HMIRuntime.Tags("sudu")

sudu.Read

strcn="Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=baobiao1;Data Source=.\wincc"

Set cn=CreateObject("ADODB.connection")

cn.connectionString=strcn

cn.Open

is_SQL="insert into ribao(riqi,yali,wendu,liuliang,zhongliang,dianya,sudu) Values('"& riqi &"','"&yali.Value &"','"&wendu.Value &"','"&liuliang.Value &"','"&zhongliang.Value &"','"&dianya.Value &"','"&sudu.Value &"')"

cn.Execute is_SQL

cn.Close

End Functi

2查询按钮

Sub OnClick(ByVal Item)

Dim i, n, k, n1, a1, b1, c1, d1, e1, f1

Dim MSFlexGrid1

Dim Sql, oCom, conn, sql1, oCom1

Dim j, b, z

Dim ylp, wdp, llp, ylx, wdx, llx, yld, wdd, lld

Dim zlp, dyp, sdp, zlx, dyx, sdx, zld, dyd, sdd

【压力、温度、流量、重力、电压、速度的平均值、最小值、最大值】

Dim strcn, cn

Dim a, shi, t, x

Dim oRs, oRs1

Dim Text2

Dim BeginDate 开始日期

Dim EndDate 结束日期

Dim By, Bm, Bd 定义开始年月日

Dim Ny, Nm, Nd, c, e, f 定义结束年月日

Dim Date1,Date2

【定义函数命令:

Set Text2 = ScreenItems("Text2")

Set Date1 = ScreenItems("Date1")

Set Date2 = ScreenItems("Date2")

Set MSFlexGrid1 = ScreenItems("MSFlexGrid1")

【ScreenItems为画面对象集合,把定义的函数与画面中的控件进行映射

By = Year(Date1.Value)

Bm = Month(Date1.Value)

Bd = Day(Date1.Value) 【BY BM BD 为date1的年月日定义,B为begin开始时间】

Ny = Year(Date2.Value)

Nm = Month(Date2.Value)

Nd = Day(Date2.Value) 【NY NM ND 为date2的年月日定义,N的end结束时间】BeginDate = By & "-" & Bm & "-" & Bd & " " & "00:00:00"

EndDate = Ny & "-" & Nm & "-" & Nd & " " & "23:59:59"

e = By & "-" & Bm & "-" & Bd

f = Ny & "-" & Nm & "-" & Nd

If By > Ny Or By = Ny And Bm > Nm Or By = Ny And Bm = Nm And Bd > Nd Then MsgBox "输入的时间不正确", vbOK, "错误的起始时间" 【MsgBox为弹出的对话框控件】End If

'以上程序为日期查询

2.1 '建立连接

Sql = "SELECT CONVERT(char(19), riqi, 20) AS riqi, yali, wendu, liuliang, zhongliang, dianya, sudu FROM ribao WHERE riqi BETWEEN '" & BeginDate & "' and'" & EndDate & "'ORDER BY riqi"

【CONVERT 在SQL(结构化语言)中的一个系统函数

一般用法

convert 函数用来转换数据类型

例子:SELECT CONVERT (VARCHAR(5),12345)

返回:字符串 '12345'

/sql/sql_orderby.asp】

sql1 = "select avg(yali)as ylp,avg(wendu)as wdp,avg(liuliang)as llp,avg(zhongliang)as zlp,avg(dianya)as dyp,avg(sudu)as sdp,min(yali)as ylx,min(wendu)as wdx,min(liuliang)As llx,min(zhongliang)As zlx,min(dianya)As dyx,min(sudu)As sdx,max(yali)As yld,max(wendu)As wdd,max(liuliang)As lld,max(zhongliang)As zld,max(dianya)As dyd,max(sudu)As sdd from ribao where riqi between '" & BeginDate & "' and'" & EndDate & "'"

【/sql/sql_func_avg.asp】

strcn = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist SecurityInfo=False;Initial Catalog=baobiao1;Data Source=.\wincc"

Set conn = CreateObject("ADODB.Connection")

conn.ConnectionString = strcn

conn.CursorLocation = 3

conn.Open

'使用命令文本查询

Set oRs = CreateObject("ADODB.Recordset")

相关文档
最新文档