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