为了正常的体验网站,请在浏览器设置里面开启Javascript功能!
首页 > ★WinCC画面显示读取连接其他数据库的数据_OKOK道

★WinCC画面显示读取连接其他数据库的数据_OKOK道

2018-02-15 6页 doc 23KB 67阅读

用户头像

is_215732

暂无简介

举报
★WinCC画面显示读取连接其他数据库的数据_OKOK道★WinCC画面显示读取连接其他数据库的数据_OKOK道 1.1 注意点:1、 不要设置 ODBC2、 脚本连接字符串 strConnectionString DriverSQL 密码为空, ServerServerWSYWINCCuidpassdatabasemesdbsql 其中 uid 为空。 不 能填写,否则连接不上。 下段是读取 DNS 的名字的语句: strConnectionString DriverSQL ServerServerWSYWINCCuidpassdatabasemesdbsql strConn...
★WinCC画面显示读取连接其他数据库的数据_OKOK道
★WinCC画面显示读取连接其他数据库的数据_OKOK道 1.1 注意点:1、 不要设置 ODBC2、 脚本连接字符串 strConnectionString DriverSQL 密码为空, ServerServerWSYWINCCuidpassdatabasemesdbsql 其中 uid 为空。 不 能填写,否则连接不上。 下段是读取 DNS 的名字的语句: strConnectionString DriverSQL ServerServerWSYWINCCuidpassdatabasemesdbsql strConnectionString ProviderMSDASQLDSNWSYWINCCUIDPWD 不能 正确连接,只能在应用程序中 实现。 Dim DsnStr DsnStrHMIRuntime.TagsDatasourceNameRT.Read 取当前的 DSN 值 strConnectionString ProviderMSDASQLDSNDsnStrUIDPWD 可以 正确连接 3、 strConnectionString ProviderMSDASQLDSN mesdbsqlUIDPWD 也可以4、 strSQL use mesdbsql SELECT FROM dbo.sup_user5、 第一列的值: oItem.TextoRs.Fields0.Value 第 1 列的值第 0 个字段的值 oItem.SubItems1oRs.Fields1.Value 第 2 列第 1 个字段的值6、 ListViewCtrl 的属 性 ListViewCtrl.View Report-3 ListViewCtrl.GridLinesYes1.1.1 原因分析: ProviderMSDASQL 这样的数据源是需要设置 ODBC 的,在 DsnStrHMIRuntime.TagsDatasourceNameRT.Read 取当前的 DSN 值中,WINCC 的 DSN 会自动添加到 ODBC 的设置当中。也就是说:在 WinCC 当中连接数据库必 须有 ODBC 的数据源。1.1.2 补充1.1.2.1Windows 独立应用程序中的连接字符串 (不是脚本)strConnectionString ProviderSQLOLEDB.1Integrated SecuritySSPIPersist SecurityInfoFalseInitial CatalogmesdbsqlData SourceWSYWINCCstrConnectionString ProviderSQLOLEDB.1Integrated SecuritySSPIPersist SecurityInfoFalseInitial CatalogmesdbsqlData SourceWSYwincc1.1.2.2Oracle 的脚本连接字符串1、 在本机安 装 Oracle 的客户端;2、 Oracle 的客户端测试链接成功;3、 建立 ODBC 连接: 建立 ODBC 连接名字如:aaa4、 连接字符串: (DSN 的方法) Dim DsnStr DsnStrHMIRuntime.TagsDatasourceNameRT.Read 取当前的 DSN 值 DsnStr aaa odbc 的名字 MsgBoxDsnStr odbc 的名字 strConnectionString ProviderMSDASQLDSNDsnStrUIDPWD 可以 正确连接(另一种方法)1.2 VBS 读 取数据库的示例Sub OnClickByVal ItemDim objConnectionDim strConnectionStringDim VoltageValueDim strSQLDim DateTimeValueDim objCommandDim oRsDim oListDim oItemDim nDim RecordCountDim StartTimeDim EndTimeSet StartTimeScreenItemsStartTime 获取查询起始时间的日期时间拾取控件 Set EndTimeScreenItemsEndTime 获取查询结束时间的日期时间拾取控件 strConnectionString DriverSQLServerServerWSYWINCCuidpassdatabasemesdbsql 可 以正确连接strConnectionString ProviderMSDASQLDSNWSYWINCCUIDPWD 不能 正确连接Dim DsnStrDsnStrHMIRuntime.TagsDatasourceNameRT.Read 取当前的 DSN 值MsgBoxDsnStr DSN 的名字是 CC_Crane500_2011_10_12_CC 的 WinCC 的运行库strConnectionString ProviderMSDASQLDSNDsnStrUIDPWD 可以正确连 接(另一种方法)strSQL use mesdbsql SELECT FROM dbo.sup_user 一定要用 use mesdbsqlMsgBoxStartTime.Value strSQL use mesdbsql SELECTUSERID PASSWORDNAMEDEPARTMENTIDSEXregtime FROM dbo.sup_user strSQL use mesdbsql SELECTUSERID PASSWORDNAMEDEPARTMENTIDSEXregtime FROM dbo.sup_user WHEREregtime Between StartTime.Value and EndTime.Value ORDER BY regtimeDESCHMIRuntime.TracestrSQLSet objConnection CreateObjectADODB.ConnectionSet oRs CreateObjectADODB.RecordsetobjConnection.ConnectionString strConnectionStringobjConnection.OpenSet objCommand CreateObjectADODB.CommandWith objCommand .CommandType 1 .ActiveConnection objConnection .CommandText strSQLEnd WithSet oRsobjCommand.ExecuteSet oListScreenItemsEvent_ListViewoList.ListItems.Clear 清 除所有记录oList.ColumnHeaders.Clear 清除所有列oList.ColumnHeaders.Add 故障 名称90oList.ColumnHeaders.Add 时间90oList.ColumnHeaders.Add 电压 60oList.ColumnHeaders.Add 电流60oList.ColumnHeaders.Add 母线电压/速度 110oList.ColumnHeaders.Add 母线电流/速度给定 140oList.Height480OList.Width350oRs.MoveFirstRecordCount0Do While Not oRs.EOFoRs.MoveNextRecordCountRecordCount1Loop只显示最后 6 个记录,前面 多余的不显示IfRecordCount6 Then nRecordCount-6 oRs.MoveFirst Do While n0 oRs.MoveNext nn-1 LoopElse oRs.MoveFirst 少于 6 个则全部显示,移到第一个记录 End IfDo While Not oRs.EOFSet oItemoList.ListItems.AddoItem.TextoRs.Fields0.Value 第 1 列的值第 0 个字段的值oItem.SubItems1oRs.Fields1.Value 第 2 列第 1 个字 段的值oItem.SubItems2oRs.Fields2.Value 第 3 列第 2 个字段的值 oItem.SubItems3oRs.Fields3.Value 第 4 列第 3 个字段的值 oItem.SubItems4oRs.Fields4.Value 第 5 列第 4 个字段的值 oItem.SubItems5oRs.Fields5.Value 第 6 列第 5 个字段的值 oRs.MoveNextLoopoRs.CloseSet oListNothingSet oItemNothingSet objCommand NothingobjConnection.CloseSet objConnection NothingEnd Sub1.3 截取一段的记 录:只显示最后 6 个记录,前面多余的不显示IfRecordCount6 Then nRecordCount-6 oRs.MoveFirst Do While n0 oRs.MoveNext nn-1 LoopElse oRs.MoveFirstEnd If1.4 时 间控件1.4.1 注册控件 C:WINDOWSsystem32MSCOMCT2.OCX1.4.2 插入控件 1.4.3 设置控件属性 用户定义时间格式 yyyy-MM-dd HH:mm:ss MM HH 这两个要 大写 UpDown:可以通过上下键调节时间1.4.4 设置控件属性时的问题第一次设置 时,不能正确正常显示。保存,再重新调用就能正确显示。1.4.5 读取时间控件的值 Sub OnOpenDim StartTimeSet StartTimeScreenItemsStartTimeStartTime.Value StartTime.Value -8 减去 8 天StartTime.Value StartTime.Value -8/24 减去 8/24 天 8 小时MsgBoxStartTime.Value End Sub1.5 表格每分钟刷新一次的示例1.5.1 画面带 开的 VC 脚本include apdefap.hvoid OnOpenPicturechar lpszPictureName char lpszObjectName char lpszPropertyNamepragma codekernel32.dllvoid GetLocalTimeSYSTEMTIMElpstpragma codeSYSTEMTIME timeGetLocalTimetimeSetPropBOOLtest_SQL.PDL按钮 2Visible0 //按钮没有 Enabled 属性,只有 VisibleSetPropBOOLtest_SQL.PDLStartTimeEnabled0SetPropBOOLtest_SQL.PDLEndTimeEnabled0SetPropDoubletest_SQL.PDLStartTimeHourtime.wHour-10SetPropDoubletest_SQL.PDLStartTimeMinute0SetPropDoubletest_SQL.PDLStartTimeSecond0SetPropDoubletest_SQL.PDLStartTimeMilliseconds0//SetTagWordVarnametime.wMinute//SetTagWordVarnametime.wYear//SetTagWordVarnametime.wMonth//SetTagWordVarnametime.wDayOfWeek//SetTagWordVarnametime.wDay//SetTagWordVarnametime.wHour//SetTagWordVarnametime.wSecond//SetTagWordVarnametime.wMilliseconds1.5.2 输出域秒钟的输出值 VBS 脚本Sub OutputValue_OnPropertyChangedByval Item Byval valueDim EndTimeSet EndTimeHMIRuntime.ActiveScreen.ScreenItemsEndTimeEndTime.Value StartTime.Value -8/24 减去 8/24 天8 小时EndTime.Value Now 更改当前时间Dim isRefreshSet isRefreshHMIRuntime.ActiveScreen.ScreenItemscheck1IfisRefresh.Process0 Then 取反 -isRefresh,选择框的选择值Process,不是 value wscript.quit 退出本脚本End IfIfvalue 0 Then wscript.quit 0 秒时,退出本脚本End If只有0 秒时,执行下列语句MsgBox此 处刷新End Sub1.5.3 复选框的选择框 VC 脚本include apdefap.hvoid OnPropertyChangedchar lpszPictureName char lpszObjectName charlpszPropertyName long valuepragma optionmbcsifvalue0 SetPropBOOLtest_SQL.PDL按钮 2Visible1 //按 钮没有 Enabled 属性,只有Visible SetPropBOOLtest_SQL.PDLStartTimeEnabled1 SetPropBOOLtest_SQL.PDLEndTimeEnabled1else SetPropBOOLtest_SQL.PDL按钮 2Visible0 //按钮没有 Enabled 属性,只有Visible SetPropBOOLtest_SQL.PDLStartTimeEnabled0 SetPropBOOLtest_SQL.PDLEndTimeEnabled01.6 WinCC 读取 Access 数据库
/
本文档为【★WinCC画面显示读取连接其他数据库的数据_OKOK道】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索