日报表解释说明

日报表解释说明
日报表解释说明

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'

https://www.360docs.net/doc/7813392111.html,/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 & "'"

【https://www.360docs.net/doc/7813392111.html,/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")

Set oCom = CreateObject("https://www.360docs.net/doc/7813392111.html,mand")

https://www.360docs.net/doc/7813392111.html,mandType = 1

Set oCom.ActiveConnection = conn

https://www.360docs.net/doc/7813392111.html,mandText = Sql

Set oRs = oCom.Execute

n = oRs.RecordCount 【RecordCount指示Recordset对象中记录的当前数目】

Text2.Text = n 【Text2 为日报表中静态文本的查询到的记录数的文本内容为n】 Set oCom1 = CreateObject("https://www.360docs.net/doc/7813392111.html,mand")

https://www.360docs.net/doc/7813392111.html,mandType = 1

Set oCom1.ActiveConnection = conn

https://www.360docs.net/doc/7813392111.html,mandText = sql1

Set oRs1 = oCom1.Execute

n1 = oRs1.RecordCount

ylp = oRs1("ylp"): wdp = oRs1("wdp"): llp = oRs1("llp"): ylx = oRs1("ylx"): wdx = oRs1("wdx"): llx = oRs1("llx"): yld = oRs1("yld"): wdd = oRs1("wdd"): lld = oRs1("lld")

zlp = oRs1("zlp"): dyp = oRs1("dyp"): sdp = oRs1("sdp"): zlx = oRs1("zlx"): dyx = oRs1("dyx"): sdx = oRs1("sdx"): zld = oRs1("zld"): dyd = oRs1("dyd"): sdd = oRs1("sdd")

If n = 0 Then 【查询的结果数为0时显示内容】

MsgBox "对不起,没有找到符合条件的数据", vbOK, "没有相关数据"

End If

oRs.Requery

MSFlexGrid1.Clear

【使用FlexGrid ActiveX控件可以在Microsoft Visual Basic的窗体中创建一个电子数据表格,也可称之为网格,

https://www.360docs.net/doc/7813392111.html,/link?url=gdGZm1tyQhFpO4MlKlEiFPvRS990aO0n5y9PFHPR1a edWB4XLJL05K68bL84l6aa】

MSFlexGrid1.Rows = oRs.RecordCount + 6

MSFlexGrid1.ColWidth(0) = 800

MSFlexGrid1.ColWidth(1) = 2100

MSFlexGrid1.ColWidth(2) = 1000

MSFlexGrid1.ColWidth(3) = 1000

MSFlexGrid1.ColWidth(4) = 1000

MSFlexGrid1.ColWidth(5) = 1000

MSFlexGrid1.ColWidth(6) = 1000

MSFlexGrid1.ColWidth(7) = 1000

'合并单元格,并把单元格的内容写为R980履带式布料机日报表

MSFlexGrid1.Row = 0

For z = 0 To 7

MSFlexGrid1.Col = z

MSFlexGrid1.Text = "R980履带式布料机日报表"

Next

MSFlexGrid1.MergeCells = 4 【Merge合并】

MSFlexGrid1.MergeRow(0) = True

'合并单元格

MSFlexGrid1.TextMatrix(1, 0) = "编号" 【Matrix矩阵,(行,列)】MSFlexGrid1.TextMatrix(1, 1) = "日期"

MSFlexGrid1.TextMatrix(1, 2) = "压力"

MSFlexGrid1.TextMatrix(1, 3) = "温度"

MSFlexGrid1.TextMatrix(1, 4) = "流量"

MSFlexGrid1.TextMatrix(1, 5) = "重量"

MSFlexGrid1.TextMatrix(1, 6) = "电压"

MSFlexGrid1.TextMatrix(1, 7) = "速度"

'MSFlexGrid1.TextMatrix(oRs.RecordCount+2, 0) = "总和"

MSFlexGrid1.TextMatrix(oRs.RecordCount + 3, 0) = "最大值"

MSFlexGrid1.TextMatrix(oRs.RecordCount + 4, 0) = "最小值"

MSFlexGrid1.TextMatrix(oRs.RecordCount + 5, 0) = "平均值" MSFlexGrid1.ColAlignment(0) = 4

MSFlexGrid1.ColAlignment(1) = 4

MSFlexGrid1.ColAlignment(2) = 4

MSFlexGrid1.ColAlignment(3) = 4

MSFlexGrid1.ColAlignment(4) = 4

MSFlexGrid1.ColAlignment(5) = 4

MSFlexGrid1.ColAlignment(6) = 4

MSFlexGrid1.ColAlignment(7) = 4 【对其方式

For i = 1 To oRs.RecordCount

MSFlexGrid1.TextMatrix(i + 1, 0) = i

Next

If (n > 0) Then

oRs.MoveFirst

i = 0

End If 【显示编号下方的信息为从第2行、第0列为1,第3行第0列为2,i的取值为从1到查询到的数目oRs.RecordCount】

Do While Not oRs.EOF

n = n + 1

ylp = Int(ylp * 10 ^ 3 + 0.5) / (10 ^ 3)

wdp = Int(wdp * 10 ^ 3 + 0.5) / (10 ^ 3)

llp = Int(llp * 10 ^ 3 + 0.5) / (10 ^ 3)

zlp = Int(zlp * 10 ^ 3 + 0.5) / (10 ^ 3)

dyp = Int(dyp * 10 ^ 3 + 0.5) / (10 ^ 3)

sdp = Int(sdp * 10 ^ 3 + 0.5) / (10 ^ 3)

i = i + 1

'MSFlexGrid1.AddItem i,i+1

t = CStr(oRs.Fields(0).Value)

If e = f Then

MSFlexGrid1.TextMatrix(i + 1, 1) = Mid(t, 11, 16) End If

If e <> f Then

MSFlexGrid1.TextMatrix(i + 1, 1) = t

End If

a1 = CStr(oRs.Fields(1).Value)

b1 = CStr(oRs.Fields(2).Value)

c1 = CStr(oRs.Fields(3).Value)

d1 = CStr(oRs.Fields(4).Value)

e1 = CStr(oRs.Fields(5).Value)

f1 = CStr(oRs.Fields(6).Value)

a1 = Int(a1 * 10 ^ 3 + 0.5) / (10 ^ 3)

b1 = Int(b1 * 10 ^ 3 + 0.5) / (10 ^ 3)

c1 = Int(c1 * 10 ^ 3 + 0.5) / (10 ^ 3)

d1 = Int(d1 * 10 ^ 3 + 0.5) / (10 ^ 3)

e1 = Int(e1 * 10 ^ 3 + 0.5) / (10 ^ 3)

f1 = Int(f1 * 10 ^ 3 + 0.5) / (10 ^ 3)

MSFlexGrid1.TextMatrix(i + 1, 2) = a1

MSFlexGrid1.TextMatrix(i + 1, 3) = b1

MSFlexGrid1.TextMatrix(i + 1, 4) = c1

MSFlexGrid1.TextMatrix(i + 1, 5) = d1

MSFlexGrid1.TextMatrix(i + 1, 6) = e1

MSFlexGrid1.TextMatrix(i + 1, 7) = f1

MSFlexGrid1.TextMatrix(oRs.RecordCount + 3, 2) = yld MSFlexGrid1.TextMatrix(oRs.RecordCount + 4, 2) = ylx MSFlexGrid1.TextMatrix(oRs.RecordCount + 5, 2) = ylp MSFlexGrid1.TextMatrix(oRs.RecordCount + 3, 3) = wdd MSFlexGrid1.TextMatrix(oRs.RecordCount + 4, 3) = wdx MSFlexGrid1.TextMatrix(oRs.RecordCount + 5, 3) = wdp MSFlexGrid1.TextMatrix(oRs.RecordCount + 3, 4) = lld MSFlexGrid1.TextMatrix(oRs.RecordCount + 4, 4) = llx MSFlexGrid1.TextMatrix(oRs.RecordCount + 5, 4) = llp

'************************************************* MSFlexGrid1.TextMatrix(oRs.RecordCount + 3, 5) = zld MSFlexGrid1.TextMatrix(oRs.RecordCount + 4, 5) = zlx MSFlexGrid1.TextMatrix(oRs.RecordCount + 5, 5) = zlp MSFlexGrid1.TextMatrix(oRs.RecordCount + 3, 6) = dyd MSFlexGrid1.TextMatrix(oRs.RecordCount + 4, 6) = dyx MSFlexGrid1.TextMatrix(oRs.RecordCount + 5, 6) = dyp MSFlexGrid1.TextMatrix(oRs.RecordCount + 3, 7) = sdd MSFlexGrid1.TextMatrix(oRs.RecordCount + 4, 7) = sdx MSFlexGrid1.TextMatrix(oRs.RecordCount + 5, 7) = sdp '*****************************************************

oRs.MoveNext

Loop

End Sub

3打印按钮

Sub OnClick(ByVal Item)

Dim ExcelApp

Dim ExcelBook

Dim ExcelSheet

Dim MSFlexGrid1

Dim i,irow,ICOL

Dim z,k

Set MSFlexGrid1 = ScreenItems("MSFlexGrid1")

Set ExcelApp = CreateObject("Excel.Application")

Set ExcelBook = ExcelApp.Workbooks.Add

Set ExcelSheet = ExcelBook.Worksheets(1)

ExcelApp.Visible = True

ExcelSheet.Range("A1:H1").Merge

For irow = 0 To MSFlexGrid1.Rows - 1

For ICOL = 0 To MSFlexGrid1.Cols - 1

z=MSFlexGrid1.Rows

ExcelSheet.Cells(irow + 1,icol+1)=Trim(MSFlexGrid1.TextMatrix(irow, icol)) Next

Next

ExcelSheet.Range( "A1:H"&z&"").Borders(1).Weight =2

ExcelSheet.Range( "A1:H"&z&"").Borders(2).Weight =2

ExcelSheet.Range( "A1:H"&z&"").Borders(3).Weight =2

ExcelSheet.Range( "A1:H"&z&"").Borders(4).Weight =2

ExcelSheet.Rows(1).RowHeight = 0.75/0.035

ExcelSheet.Cells.EntireColumn.AutoFit

ExcelSheet.Rows(1)https://www.360docs.net/doc/7813392111.html, = "宋体"

ExcelSheet.Rows(1).Font.Bold = True

ExcelSheet.Rows(1).Font.Size = 16

ExcelSheet.Cells.HorizontalAlignment =3

'ExcelSheet.PageSetup.TopMargin = 2/0.035

'ExcelSheet.PageSetup.BottomMargin = 2/0.035

'ExcelSheet.PageSetup.LeftMargin = 2/0.035

'ExcelSheet.PageSetup.RightMargin = 2/0.035

ExcelSheet.PageSetup.CenterHorizontally = 2/0.035

ExcelSheet.printpreview'打印阅览

'ExcelSheet.PrintOut'打印时用此句

ExcelBook.Close

ExcelApp.Quit

Set ExcelApp = Nothing

End Sub

4画面函数打开画面

Sub OnOpen()

Dim Text1,Text2

Set Text1 = ScreenItems("Text1")

Set Text2 = ScreenItems("Text2")

Text1.Text=Now

Text2.Text=0

End Sub

设备管理记录表格大全(doc 31页)

设备管理记录表格大全(doc 31页)

QR-012S 兆欧表检定记录 A/0 1/1 单位编号型号 检定日期年月日有效日期年月日 检定环境温度:℃湿度:% 检定结论 功能标准值指示值附注 OHΩ0.1MΩ MΩ 1、采用的基准计量器具为 型钳形表。 2、制造厂: 3、出厂编号: 4、市计量所检定证书号: 5、兆欧表手柄转速需达到120 转/分以上连续1分钟后才能读 数。 0.5MΩ MΩ 5.0MΩ MΩ 50MΩ MΩ 100MΩ MΩ 500MΩMΩ 检定人:核验人:主管:

QR-013S 供方初审记录 A/0 1/1 供方名称: 项目名称: 初审时间: 评审地点: 参加人员: 初审内容合格不合格 ①企业资质证书营业执照有效、齐全 ②现有设备装备及人员素质良好 ③组织机构可靠、规章制度健全。 ④有一定的固定资产。 ⑤有同类工程施工经验。以往业绩等情况良好 ⑥成本、工期、质量、安全控制体系完善 ⑦工程中使用材料质量可靠。 ⑧满足合同情况和售后服务在同行中有良好的口碑。 设备部经理意见: 签名: 日期:

主管副总经理意见: 签名:日期: 注:初审时,只要有一项评审为否,则不能列入合格供应商名单。

QR-014S B 类供方评价表 A/0 1/2 管理处: 供方: 主任签名: 部门经理签名: 年 月 日 项目 内容 、评分标准 应得分 管理处评 分 设备部评 分 备注 合同履约情况 是否按时报计划,迟报一天扣1分。 5 是否按计划进行保养,每推迟一周扣1分,每漏保养1台设备扣1分。 10 设备保养质量是否符合中海标准,一处不符和扣0.5分。 10 保养记录填写是否正确、真实、及时,发现一处错误扣0.5分。 5 故障维修是否及时,未按约定时间前来,发生一次扣1分。 10 乙方提供的辅材、配件,质量是否符合要求,三无产品,扣完。 5 维修成功率,每发生一次无能力维修,扣1分。 5 月检设备部分得分率是否符合合同要求,每低于要求1分,扣1分。 10 服务质量是否满足市优、省优、国优考评要求,达不到分数线,扣完。 10 有无因设备维修保养问题不到位、不及时而引发的业主投诉,每发生一次有效投诉,扣2分。 5 对不合格维修是否及时进行返工、返修处理。否,每发生一次扣1分。 5 合同期满,是否及时办理有关手续,否,扣完。 5 作业情况 是否擅自停电、停水、停机,每发生一次扣1分。 5 维修现场是否有安全警示,无,发现一次扣1分。 5 有无违章作业行为,发现一次,扣完。 5 有无安全防护措施,发现一次,扣完。 5 固体、液体、气体废物是否妥善处理,发现一次扣1分。 10 有无事故发生,发生一次扣完。 10 作业是否对大厦某些部位造成不良影响或损坏,发现一处,扣2分。 5 服务态度 是否认真听取投诉,并迅速有效地处理,否,发生一次扣1分。 5 维修人员是否积极肯干,否,发现一次扣1分。 5

设备管理制度与表格范本

SBGL-07-01 设备管理与维护办法 设备管理与维护办法 1.目的 为规范设备管理与维护,保持其精度与效率,降低设备故障率、保证生产顺利进行,特制定本办法。 2.适用范围 本公司所辖设备。 3.实施程序 3.1.设备相关技术资料建立与完善 3.1.1.设备维护人员根据设备类型建立“机械设备保养标准”,重点机械设备操作说明及“机械设备日常保养点检卡”,“机械设备二、三级保养点检卡”,并根据其运作情况进行完善。 3.1.2.各相关单位应对重点且难以维修的设备,初次维修后应建立其维修作业技术资料,以便再次维修使用。 3.2日常保养作业 3.2.1权责区分 (1)执行者:设备当日派工的操作者必须熟悉该设备的操作方法,方可上岗操作。 (2)监督者:各生产车间班、组长及课(副)长。 3.2.2日常保养的执行 (1)操作者每班依“机械设备保养标准”或“机械设备日常保养点检卡”,对所辖设备仔

细进行日常保养。 (2)每班保养完毕结合设备运行状况应如实填写“机械设备日常保养点检卡”。 (3)设备出现异常时应及时停机向部门主管报告,该主管以维修通知单通知维修人员处理并建立“设备维修记录表”。 3.3 设备异常处理 设备维护人员接到维修通知单后,尽快组织人员前往处理。 3.4 二、三级保养作业 3.4.1权责区分 (1)执行者:本厂设备维护人员。 (2)监督者:设备单位主管。 3.4.2 二、三级保养执行方法 (1)设备维护人员依据设备及生产状况拟定“设备年度保养计划表”,按设备年度保养计划表,每月拟定______月保养计划表确定具体保养时间,由机电主管签核,各相关单位主管会签后生效。且在生产计划中排出该设备保养时间。 (2)二、三级保养执行时间进行前二天,设备所属单位应对所保养之机台进行彻底的清洁。 (3)设备维护人员根据该设备二、三级保养点检卡内容及其保养标准之要求认真完成其保养,保养结束后,如实填写“机械设备二、三级保养点检卡”,经设备所属单位及本部门主管签核后,由机电存档。 (4)若因生产较紧且设备状况较好之情形下,不能按计划实施保养时,可调整为其它设备进行保养,而该设备必须在一个季度内重新列入计划实施保养。 3.5 设备配件管理

材料日报表

安全性 □对信息系统安全性的威胁 任一系统,不管它是手工的还是采用计算机的,都有其弱点。所以不但在信息系统这一级而且在计算中心这一级(如果适用,也包括远程设备)都要审定并提出安全性的问题。靠识别系统的弱点来减少侵犯安全性的危险,以及采取必要的预防措施来提供满意的安全水平,这是用户和信息服务管理部门可做得到的。 管理部门应该特别努力地去发现那些由计算机罪犯对计算中心和信息系统的安全所造成的威胁。白领阶层的犯罪行为是客观存在的,而且存在于某些最不可能被发觉的地方。这是老练的罪犯所从事的需要专门技术的犯罪行为,而且这种犯罪行为之多比我们想象的还要普遍。 多数公司所存在的犯罪行为是从来不会被发觉的。关于利用计算机进行犯罪的任何统计资料仅仅反映了那些公开报道的犯罪行为。系统开发审查、工作审查和应用审查都能用来使这种威胁减到最小。 □计算中心的安全性 计算中心在下列方面存在弱点: 1.硬件。如果硬件失效,则系统也就失效。硬件出现一定的故障是无法避免的,但是预防性维护和提供物质上的安全预防措施,来防止未经批准人员使用机器可使这种硬件失效的威胁减到最小。 2.软件。软件能够被修改,因而可能损害公司的利益。严密地控制软件和软件资料将减少任何越权修改软件的可能性。但是,信息服务管理人员必须认识到由内部工作人员进行修改软件的可能性。银行的程序员可能通过修改程序,从自己的帐户中取款时漏记帐或者把别的帐户中的少量存款存到自己的帐户上,这已经是众所周知的了。其它行业里的另外一些大胆的程序员同样会挖空心思去作案。 3.文件和数据库。公司数据库是信息资源管理的原始材料。在某些情况下,这些文件和数据库可以说是公司的命根子。例如,有多少公司能经受得起丢失他们的收帐文件呢?大多数机构都具有后备措施,这些后备措施可以保证,如果正在工作的公司数据库被破坏,则能重新激活该数据库,使其继续工作。某些文件具有一定的价值并能出售。例如,政治运动的损助者名单被认为是有价值的,所以它可能被偷走,而且以后还能被出售。 4.数据通信。只要存在数据通信网络,就会对信息系统的安全性造成威胁。有知识的罪犯可能从远处接通系统,并为个人的利益使用该系统。偷用一个精心设计的系统不是件容易的事,但存在这种可能性。目前已发现许多罪犯利用数据通信设备的系统去作案。 5.人员。用户和信息服务管理人员同样要更加注意那些租用灵敏的信息系统工作的人。某个非常无能的人也能像一个本来不诚实的人一样破坏系统。 □信息系统的安全性

相关文档
最新文档