您的位置首页百科问答

WINCC向ACCESS写入数据

WINCC向ACCESS写入数据

的有关信息介绍如下:

WINCC向ACCESS写入数据

WINCC报表是众多工控者的一个头痛问题。本文通过WINCC脚本向ACCESS数据库追加数据,来完成数据归档。从而可以进行查询、计算、打印等

新建一WINCC项目,并新建画面。打开画面,在画面中插入一按钮控件。

在WINCC数据库新建2个内部浮点型变量A1和A2。

右击控件,选择属性,并点击“事件”标签,在 鼠标>释放左键处添加VBS动作。

在动作打开的对话框输入如下脚本:

Dim objConnection

Dim strConnectionString

Dim lngValue

Dim lngValuea

Dim lngValueb

Dim strSQL

Dim objCommand

strConnectionString = "Provider=MSDASQL;DSN=SampleDSN;UID=;PWD=;" //SampleDSN为ODBC数据源

lngValuea = HMIRuntime.Tags("A2").Read

lngValueb = HMIRuntime.Tags("A1").Read

strSQL = "INSERT INTO wincc (lngValuea,lngValueb)values("&lngvaluea&","&lngvalueb&");"

Set objConnection = CreateObject("ADODB.Connection")

objConnection.ConnectionString = strConnectionString

objConnection.Open

Set objCommand = CreateObject("ADODB.Command")

With objCommand

.ActiveConnection = objConnection

.CommandText = strSQL

End With

objCommand.Execute

Set objCommand = Nothing

objConnection.Close

Set objConnection = Nothing

打开ODBC数据源(从控制面板,比较简单,不赘述)。新建一个.MDB用户数据源,如图所示,双击打开数据源。数据源选择建立的ACCESS数据库文件。如下面右侧图。点击“确定”。

注意 ACCESS文件需要先建立。

第4步注意ACCESS数据格式。如下左图。lngValuea和lngValueb分别对应的是A2和A1的值。数据类型选择单浮点。

图中day列为自建的时间列,格式问文本。这是因为文本变量便于其他地方调用,而时间变量的查询在有些软件中查询不方便。

day的格式见下右图,这个非常重要。

自此就完成了所有的组态。

在WINCC点击按钮,就会发现点一下,就会在ACCESS中追加一行数据。