Interaction de données entre wincc et la base de données Access (écriture de données)

Le stockage des données de wincc est actuellement principalement stocké dans la base de données, et les bases de données courantes actuelles sont principalement des bases de données SQL Server et Access. Cet article traite principalement de la façon d'écrire des données entre les bases de données wincc et Access.

entrée la description
Environnement d'exploitation wincc7.5 SP1
Accéder à la base de données Édition 2010

Écran d'exécution

Insérez la description de l'image ici
Insérez la description de l'image ici

Procédures d'exploitation

Insérez la description de l'image ici

Créer une table de base de données Access

1. Créez un fichier de base de données Access, nom de fichier: Wincc_Access_Data.accdb
2. Créez une table de base de données, nom de table: DataTest, les champs de la table sont: Data1, Data2, Data3, Data4, Data5, Data6, Data7, Data8. Le type de données est un nombre. Comme le montre la figure:
Insérez la description de l'image ici

3. Placez le fichier de base de données Access créé dans le répertoire racine du disque.

Écran de configuration

1. Wincc crée un écran, le nom de l'écran est DataWrite.Pdl
2. Créez une variable de données, créez 8 variables de données dans la liste des variables
Insérez la description de l'image ici

3. Nouveaux objets de contrôle à l'écran.
Insérez la description de l'image ici

Objet Nom
Texte statique défaut
Bouton défaut
Domaine d'entrée et de sortie défaut

Génération de données

Les données testées sont générées par une fonction aléatoire, veuillez vous référer à "Wincc Random Data Generation" pour la méthode de génération spécifique

Écriture de données

La fonction d'écriture de données est réalisée en écrivant le script de l'événement bouton. Le script est le suivant:

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

Précautions

  1. Lors de la création d'une chaîne de lien, vous devez d'abord créer une source de données ODBC. Pour des méthodes de création spécifiques, reportez-vous à «Création de sources de données ODBC pour les systèmes Windows».
  2. Lors de la création d'une base de données, ne placez pas le fichier de base de données dans le répertoire chinois, essayez de le mettre dans le répertoire racine ou dans le dossier anglais sous le répertoire racine, et le chemin ne doit pas être trop long.
  3. L'exactitude des données interrogées par l'instruction sql est garantie.
  4. Les variables définies par le script wincc doivent rester les mêmes que celles réellement utilisées.

Acquisition de ressources

Je suppose que tu aimes

Origine blog.csdn.net/yue008/article/details/114001775
conseillé
Classement