技术论坛

wincc往SQL SERVER2005写数据探究过程

作者 主题
游士

经验值: 230
发帖数: 7
精华帖: 2
主题:【分享】wincc往SQL SERVER2005写数据探究过程
精华帖精华帖星级2级 推荐帖


只看楼主 只看精华 楼主 2017-11-10 17:21:47

过去这两天一直在为了wincc往SQL server数据库当中写数据而发愁,接到个项目,客户需要将变量数据写入到wincc当中,然后通过第三方平台读取SQL 2005当中的信息。

如果需要外部读写数据库只有两种办法,一种是通过ADODB方式来完成,另外一种通过连通性软件包来完成,因为西门子wincc的归档数据是经过压缩的,不能直接读取,所以必须要经过解压,西门子的文档当中很多实例,基于VB和Dataconnector来完成,不过可能我对于VB理解能力有限没看懂,后面有时间去研究一下。

     只好采用ADO方式通过wincc新建数据库来完成,注意新建数据库时需要用管理员权限打开SQL Server management,添加一个new login,新建数据库为 读写数据库,添加一个表,名为个人信息

下面添加不同的列,我设的是number(char10),age(float),satu(bit),wen(text)分为4种类型

这样数据库就设置好了

下面开始设置odbc

控制—面板—管理工具---ODBC

添加sql server数据源,名称evcs,你想连接哪一个SQL Server那一栏填写本机

下面ODBC就设置好了

新建一个wincc pdl,添加4个输入输出域。每个输入输出域下有2个按钮,分别为增加按钮和修改按钮,根据实际情况来改变

我主要是用于测试不同类型字符数据情况

以第一项为例

输入值和输出值链接变量,有变化时进行修改。

在修改按钮下面的属性栏,动作为按左键触发动作

程序如下

Option Explicit

Function action

Dim sSql

 Dim sCom

 Dim oRs

 Dim conn

 Dim oCom

 Dim Con

 Dim data1,data2,data3

 

'读取WINCC变量

data1=HMIRuntime.Tags ("satu").Read

 

 '连接数据库,此处为数据库连接的标准语法结构。

Con="Provider=SQLOLEDB.1; Integrated Security =SSPI;Persist Security Info=False; Initial Catalog=读写数据库;Data Source=.\WINCC"

 Set conn=CreateObject("ADODB.Connection")

 conn.ConnectionString= Con

 conn.CursorLocation=3

 conn.Open

 Msgbox "。。。。。"

sSql="update 个人信息 set satu='"&data1&"'"

Set oRs=CreateObject("ADODB.Recordset")

 Set oCom=CreateObject("ADODB.Command")

 Set oCom.ActiveConnection=conn

 oCom.CommandType=1

 oCom.CommandText=sSql

 Set oRs=oCom.Execute

 Set oRs=Nothing

 conn.Close

 Set conn=Nothing

 

End Function

只不过我使用的全局脚本写,触发器只有在动作和定时器条件下才会触发。如果通过按键的话就是下面这种方式

 

Sub OnLButtonDown(ByVal Item, ByVal Flags, ByVal x, ByVal y)                    

Dim sSql

 Dim sCom

 Dim oRs

 Dim conn

 Dim oCom

 Dim Con

 Dim data1,data2,data3

'读取WINCC变量

data1=HMIRuntime.Tags ("number").Read

data2=HMIRuntime.Tags ("age").Read

 '连接数据库,此处为数据库连接的标准语法结构。

Con="Provider=SQLOLEDB.1; Integrated Security =SSPI;Persist Security Info=False; Initial Catalog=读写数据库;Data Source=.\WINCC"//"读写数据库"为数据库名称,本地电脑上的wincc为.\WINCC

 Set conn=CreateObject("ADODB.Connection")

 conn.ConnectionString= Con

 conn.CursorLocation=3

 conn.Open

 Msgbox "。。。。。"

sSql="update 个人信息 set number='"&data1&"'"//“个人信息”为表名

Set oRs=CreateObject("ADODB.Recordset")

 Set oCom=CreateObject("ADODB.Command")

 Set oCom.ActiveConnection=conn

 oCom.CommandType=1

 oCom.CommandText=sSql

 Set oRs=oCom.Execute

 Set oRs=Nothing

 conn.Close

 Set conn=Nothing

End Sub

SQL指令

增加为”insert into 个人信息 values(‘”&data1”’);”

最后感谢在论坛中帮助我解决问题的朋友们,谢谢大家的鼎力相助


 
分享帖版主置评: 你这是读写的自己建立的sql表,这个表就是普通非压缩的表,可以直接用sql查看的,wincc的归档是压缩的。 (推荐人:zhangli0)
以下网友喜欢您的帖子:

  
重要声明:

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

帖子链接:https://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1436303&b_id=5&s_id=0&num=14

至圣

经验值: 23906
发帖数: 2059
精华帖: 78
回复:wincc往SQL SERVER2005写数据探究过程
推荐帖


只看楼主 只看精华 1楼 2017-11-11 06:35:37

关于SQL server的贴子很少呀,点赞。


网鱼能够改善伙食,还能释放工作中的压力。
以下网友喜欢您的帖子:

  
至圣

经验值: 10588
发帖数: 848
精华帖: 9
回复:wincc往SQL SERVER2005写数据探究过程
推荐帖


只看楼主 只看精华 2楼 2017-11-11 08:31:19

 不错的分享


学如逆水行舟,不进则退! wwhoho@163.com
以下网友喜欢您的帖子:

  
至圣

经验值: 12543
发帖数: 1843
精华帖: 0
回复:wincc往SQL SERVER2005写数据探究过程


只看楼主 只看精华 3楼 2017-11-13 09:32:47


 谢谢分享


邮箱 yongquancun@126.com
以下网友喜欢您的帖子:

  
游士

经验值: 259
发帖数: 11
精华帖: 0
回复:wincc往SQL SERVER2005写数据探究过程


只看楼主 只看精华 4楼 2017-11-13 09:34:25


666,感谢分享,好人一生平安


 
以下网友喜欢您的帖子:

  
至圣

经验值: 11049
发帖数: 651
精华帖: 5
回复:wincc往SQL SERVER2005写数据探究过程


只看楼主 只看精华 5楼 2017-11-13 11:24:54

 非常大脑!我昂望你们!


人生如逆水行舟,不进则退。
以下网友喜欢您的帖子:

  
奇侠

经验值: 5524
发帖数: 642
精华帖: 0
回复:wincc往SQL SERVER2005写数据探究过程


只看楼主 只看精华 6楼 2017-11-13 14:10:29

WINCC觉得很高大上,一直都没用过。


业精于勤荒于嬉
以下网友喜欢您的帖子:

  
侠圣

经验值: 3904
发帖数: 370
精华帖: 1
回复:wincc往SQL SERVER2005写数据探究过程


只看楼主 只看精华 7楼 2017-11-14 08:28:15

 在项目中没接触过,但是先收藏了,好帖子


无法改变之前,努力改变之后
以下网友喜欢您的帖子:

  
至圣

经验值: 16429
发帖数: 2402
精华帖: 0
回复:wincc往SQL SERVER2005写数据探究过程


只看楼主 只看精华 8楼 2017-11-14 21:58:55

谢谢分享!


开心每一天,懂得包容、感恩!
以下网友喜欢您的帖子:

  
侠士

经验值: 1848
发帖数: 90
精华帖: 0
回复:wincc往SQL SERVER2005写数据探究过程


只看楼主 只看精华 9楼 2017-11-15 15:44:03

 

学习到了


JUST COME ON!!!
以下网友喜欢您的帖子:

  
至圣

经验值: 16429
发帖数: 2402
精华帖: 0
回复:wincc往SQL SERVER2005写数据探究过程


只看楼主 只看精华 10楼 2017-11-18 10:59:16

非常好的例子!


开心每一天,懂得包容、感恩!
以下网友喜欢您的帖子:

  
奇侠

经验值: 5622
发帖数: 541
精华帖: 3
回复:wincc往SQL SERVER2005写数据探究过程


只看楼主 只看精华 11楼 2017-11-19 08:49:10

正在学习中,谢谢楼主分享


学无止境
以下网友喜欢您的帖子:

  
至圣

经验值: 18415
发帖数: 2409
精华帖: 1
回复:wincc往SQL SERVER2005写数据探究过程


只看楼主 只看精华 12楼 2017-12-17 18:41:55


还没有这方面的了解


 
以下网友喜欢您的帖子:

  
侠圣

经验值: 2461
发帖数: 227
精华帖: 0
回复:wincc往SQL SERVER2005写数据探究过程


只看楼主 只看精华 13楼 2017-12-29 16:00:42

对这方面没做过,不太明白


 
以下网友喜欢您的帖子:

  
游士

经验值: 230
发帖数: 7
精华帖: 2
回复:wincc往SQL SERVER2005写数据探究过程


只看楼主 只看精华 楼主 14楼 2018-01-07 12:55:09
以下是引用海海12在2017-12-29 16:00:42的发言 >

对这方面没做过,不太明白

我也是第一次做这种,客户要求新建一个数据库,远端读取数据库内容,所以必须这么做了,还是研究了很久


 
以下网友喜欢您的帖子:

  
  • 上一页
  • 1
  • 下一页
收起
wincc往SQL SERVER2005写数据探究过程
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。