Acabamos de ver como trabajar en Intouch / System Platform con una base de datos SQLite, ahora vamos extrapolar esa funcionalidad a WinCC.

Que necesitamos?

  • Vamos a necesitar los drivers para crear la conexión

Donde lo descargo?

  • Aqui tenemos toda la información SQLite ODBC Driver que nos interesa y enlace directo para su descarga

Para los que sean nuevos en WinCC no está de mas que desarrolle todo el proceso, pero si ya has trabajo con WinCC ya sabrás que todo lo que queramos ejecutar en scripting debe ser basado en arquitectura x32. Y ahora vamos a ver lo que pasa. He instalado los drivers para Windows 64 bits

Si acedemos a ODBC de nuestro sistema , podemos comprobar que tenemos el driver instalado, y en nuestro caso el que nos interesa es SQLite3 Datasource

Abrimos nuestro Graphics Designer, y esté es el código que vamos a ejecutar al presionar el botón.

Aquí tienes el código por si te interesa copiar y pegar 😉

	Dim conn, rst , strSQL , results , i
	Set conn = CreateObject("ADODB.Connection")
	Set rst = CreateObject("ADODB.Recordset")
	
	HMIRuntime.trace "--> Start" & vbCrLf
	' ABRIR CONEXIÓN
	conn.Open "DRIVER=SQLite3 ODBC Driver;Database=C:\Resources\PHS.db;LongNames=0;Timeout=1000;NoTXN=0;SyncPragma=NORMAL;StepAPI=0;"
	
	strSQL = "SELECT * FROM Configuration"
	
	' ABRIR RECORDSET
	rst.Open strSQL, conn
	
	' MOSTRAR RESULTADOS EN MSGBOX
	results = ""
	Do Until rst.EOF
	For i = 0 To rst.Fields.Count - 1
		results = results & rst.Fields(i).Name & ": " & rst.Fields(i).Value & vbCrLf
	Next
	results = results & vbCrLf
	rst.MoveNext
	Loop
	HMIRuntime.trace results
	
	' CERRAR RECORDSET
	rst.Close
	HMIRuntime.trace "--> End" & vbCrLf
	' LIBERAR RECURSOS
	Set rst = Nothing
	Set conn = Nothing

Si ejecutamos el Runtime y probamos nuestro botón, nos encontramos la siguiente sorpresa …
Como bien decia anteriormente el problema es que WinCC trabaja con 32bits

En el siguiente enlace, está la libreria que desarrolle para WinCC con un pequeño video donde no hablo 😉 pero se ve de lo que estamos hablando x86/x64.

Seguimos con lo que estabamos … si repetimos el proceso e instalamos ahora el driver de 32-bit

Volvemos a ejecutar el mismo código, no hace falta cambiar nada … y perfecto !!! Aquí tenemos los mismos resultados

Y por agregar un poco de literatura para los nuevos usuarios de WinCC o nuevos lectores, actualmente en nuestro sistema operativo conviven programas x32 & x64

Cuando quieras probar scripting para WinCC , puedes hacerlo ejecutando la consola de comandos pero del siguiente directorio que son los programas de x32-bits
C:\Windows\SysWOW64
Y recuerda que normalmente cuando escribes cmd la consola de comandos que se ejecuta es la de x64-bits
C:\WINDOWS\system32

NOTA: Si trabajas con una arquitectura distribuida o un multiproyecto, recuerda que el Driver lo debes instalar en todos los clientes, que vayan a conectarse a la base de datos SQLite.

Y ya que estamos con las manos en la masa, vamos a ver lo mismo para Factory Talk View SE