Interacción de datos entre wincc y la base de datos de Access (escribir datos)

El almacenamiento de datos de wincc actualmente se almacena principalmente en la base de datos, y las bases de datos principales actuales son principalmente bases de datos de SQL Server y Access. Este artículo trata principalmente sobre cómo escribir datos entre las bases de datos de wincc y Access.

entrada descripción
Entorno operativo wincc7.5 SP1
Base de datos de acceso Edición 2010

Ejecutar pantalla

Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí

Procedimientos de operación

Inserte la descripción de la imagen aquí

Crear una tabla de base de datos de Access

1. Cree un archivo de base de datos de Access, nombre de archivo: Wincc_Access_Data.accdb
2. Cree una tabla de base de datos, nombre de tabla: DataTest, los campos de la tabla son: Data1, Data2, Data3, Data4, Data5, Data6, Data7, Data8. El tipo de datos es número. Como se muestra en la figura:
Inserte la descripción de la imagen aquí

3. Coloque el archivo de base de datos de Access creado en el directorio raíz del disco.

Pantalla de configuración

1. Wincc crea una pantalla, el nombre de la pantalla es DataWrite.Pdl
2. Crea una variable de datos, crea 8 variables de datos en la lista de variables
Inserte la descripción de la imagen aquí

3. Nuevos objetos de control en la pantalla.
Inserte la descripción de la imagen aquí

Objeto nombre
Texto estático defecto
Botón defecto
Dominio de entrada y salida defecto

Generación de datos

Los datos probados se generan mediante una función aleatoria; consulte "Generación de datos aleatorios de Wincc" para conocer el método de generación específico.

Escritura de datos

La función de escritura de datos se realiza escribiendo el script del evento del botón. El script es el siguiente:

Sub OnClick(Byval Item)                            
'1.测试时,注意不要讲Access数据库中的字段设置为中文,最好用英文表示
'2.创建Access数据库文件时,会出现两种文件后缀,mdb和accdb,其实这两个都是Access数据库的文件格式,只不过代表不同版本的Access数据库,mdb为07版以前(不包括07版)。accdb为07版以后。因此对于不同的文件后缀,Provider链接字符串也有所区别。
'mdb:Provider=Microsoft.Jet.OleDb.4.0
'accdb:Provider=Microsoft.ACE.OLEDB.12.0
'3.创建数据库时,不要将数据库文件放到中文目录下,尽量放到根目录或者根目录下的英文文件夹,路径不要太长。
'4.sql语句查询的数据和保证正确。
'5.wincc脚本定义的变量要和实际使用的保持一样。 
Dim conn,comd
Dim strConnectionString,strSQL
Dim Data1,Data2,Data3,Data4,Data5,Data6,Data7,Data8
Data1= HMIRuntime.Tags("Data1").Read 
Data2= HMIRuntime.Tags("Data2").Read 
Data3= HMIRuntime.Tags("Data3").Read 
Data4= HMIRuntime.Tags("Data4").Read 
Data5= HMIRuntime.Tags("Data5").Read 
Data6= HMIRuntime.Tags("Data6").Read 
Data7= HMIRuntime.Tags("Data7").Read 
Data8= HMIRuntime.Tags("Data8").Read 
strConnectionString = "Provider=MSDASQL;DSN=wincc_DB;UID=;PWD=;" '//wincc_DB为ODBC数据源
strSQL = "INSERT INTO DataTest(Data1,Data2,Data3,Data4,Data5,Data6,Data7,Data8)VALUES("&Data1&","&Data2&","&Data3&","&Data4&","&Data5&","&Data6&","&Data7&","&Data8&")" '创建sql语句,其中ID等为字段名,machineinfo为数据库表名
Set conn = CreateObject("ADODB.Connection")
conn.ConnectionString = strConnectionString
conn.Open
Set comd = CreateObject("ADODB.Command")

With comd

.ActiveConnection = conn

.CommandText = strSQL

End With

comd.Execute

Set comd = Nothing

conn.Close

Set conn = Nothing

End Sub

Precauciones

  1. Al crear una cadena de enlace, primero debe crear una fuente de datos ODBC. Para obtener métodos de creación específicos, consulte "Creación de fuentes de datos ODBC para sistemas Windows".
  2. Al crear una base de datos, no coloque el archivo de la base de datos en el directorio chino, intente colocarlo en el directorio raíz o en la carpeta en inglés debajo del directorio raíz, y la ruta no debe ser demasiado larga.
  3. Se garantiza que los datos consultados por la declaración SQL son correctos.
  4. Las variables definidas por el script wincc deben seguir siendo las mismas que las que se utilizan realmente.

Adquisición de recursos

Supongo que te gusta

Origin blog.csdn.net/yue008/article/details/114001775
Recomendado
Clasificación