16
Redes Industriais aplicadas à Industria 4.0 SQL Server Integração entre o SQL Server e WinCC RT Versão 2 Elaboração: Prof. Cesar Roberto de Souza Cesar Roberto de Souza @Souzcesat Cesar Roberto de Souza @Souzcesar1 Prof. Cesar Roberto de Souza https://industria4-0.com/assunto/redes-industriais-2/ 16 de junho de 2019

SQLServer IntegraçãoentreoSQLServere WinCCRT · LETRAS: ABEN: AZER TUN Figura1:AcessoaFontededadosODBC Feitoisso,ateladafigura2,emDSNdousuáriocliquenobotãoadicionar paravocêadicionarodrivedecomunicaçãoSQLServer

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: SQLServer IntegraçãoentreoSQLServere WinCCRT · LETRAS: ABEN: AZER TUN Figura1:AcessoaFontededadosODBC Feitoisso,ateladafigura2,emDSNdousuáriocliquenobotãoadicionar paravocêadicionarodrivedecomunicaçãoSQLServer

Redes Industriais aplicadas à Industria 4.0

SQL Server

Integração entre o SQL Server eWinCC RT

Versão 2

Elaboração:Prof. Cesar Roberto de Souza

� Cesar Roberto de Souza

� @Souzcesat

� Cesar Roberto de Souza

� @Souzcesar1

� Prof. Cesar Roberto de Souza

https://industria4-0.com/assunto/redes-industriais-2/

16 de junho de 2019

Page 2: SQLServer IntegraçãoentreoSQLServere WinCCRT · LETRAS: ABEN: AZER TUN Figura1:AcessoaFontededadosODBC Feitoisso,ateladafigura2,emDSNdousuáriocliquenobotãoadicionar paravocêadicionarodrivedecomunicaçãoSQLServer

OSU

CESSO

TEM5 LE

TRAS:

FAZE

R

ERFOLG

HATDREI BUCHST

ABEN:

TUN

1 ObjetivoEstabelecer a conexão entre o WinCC e SQL Server. No qual, o aluno

deverá criar um Alias ODBC para estabelecer a conexão com o banco SQLServer. Criar script para manipular dados no banco SQL Server.

2 ODBCPrimeiramente iremos criar um Alias de acesso a base de dados SQL

Server. Esse Alias será utilizado pelo WinCC para estabelecer a conexãocom o banco. Para isso, acesse a fonte de dados ODBC, você pode fazer issovia painel de controle ou digitando ODBC no menu do Windows, conformeapresentado na figura 1.

1 Industria4-0.com Prof.Cesar Souza

Page 3: SQLServer IntegraçãoentreoSQLServere WinCCRT · LETRAS: ABEN: AZER TUN Figura1:AcessoaFontededadosODBC Feitoisso,ateladafigura2,emDSNdousuáriocliquenobotãoadicionar paravocêadicionarodrivedecomunicaçãoSQLServer

OSU

CESSO

TEM5 LE

TRAS:

FAZE

R

ERFOLG

HATDREI BUCHST

ABEN:

TUNFigura 1: Acesso a Fonte de dados ODBC

Feito isso, a tela da figura 2, em DSN do usuário clique no botão adicionarpara você adicionar o drive de comunicação SQL Server.

2 Industria4-0.com Prof.Cesar Souza

Page 4: SQLServer IntegraçãoentreoSQLServere WinCCRT · LETRAS: ABEN: AZER TUN Figura1:AcessoaFontededadosODBC Feitoisso,ateladafigura2,emDSNdousuáriocliquenobotãoadicionar paravocêadicionarodrivedecomunicaçãoSQLServer

OSU

CESSO

TEM5 LE

TRAS:

FAZE

R

ERFOLG

HATDREI BUCHST

ABEN:

TUNFigura 2: Adicionar fonte de dados SQL Server

Será apresentado a tela da figura 3, após isso, clique no botão concluir.

3 Industria4-0.com Prof.Cesar Souza

Page 5: SQLServer IntegraçãoentreoSQLServere WinCCRT · LETRAS: ABEN: AZER TUN Figura1:AcessoaFontededadosODBC Feitoisso,ateladafigura2,emDSNdousuáriocliquenobotãoadicionar paravocêadicionarodrivedecomunicaçãoSQLServer

OSU

CESSO

TEM5 LE

TRAS:

FAZE

R

ERFOLG

HATDREI BUCHST

ABEN:

TUNFigura 3: Selecionar drive

Agora você deverá definir o nome da conexão ODBC e o caminho paraconectar ao banco de dados, no caso, será criado o nome SQLWinCC e ocaminho para o banco será 10.87.111.51\sqlexpress, conforme apresentadona figura 4. Após isso, pressione o botão avançar.

4 Industria4-0.com Prof.Cesar Souza

Page 6: SQLServer IntegraçãoentreoSQLServere WinCCRT · LETRAS: ABEN: AZER TUN Figura1:AcessoaFontededadosODBC Feitoisso,ateladafigura2,emDSNdousuáriocliquenobotãoadicionar paravocêadicionarodrivedecomunicaçãoSQLServer

OSU

CESSO

TEM5 LE

TRAS:

FAZE

R

ERFOLG

HATDREI BUCHST

ABEN:

TUNFigura 4: Adicionar nome e caminho do banco

Agora você deverá definir o método de autenticação, selecione SQL-ServerAutentication e digite o usuário e senha definidos no banco, conforme apre-sentado na figura 5. Feito isso, pressione o botão avançar.

5 Industria4-0.com Prof.Cesar Souza

Page 7: SQLServer IntegraçãoentreoSQLServere WinCCRT · LETRAS: ABEN: AZER TUN Figura1:AcessoaFontededadosODBC Feitoisso,ateladafigura2,emDSNdousuáriocliquenobotãoadicionar paravocêadicionarodrivedecomunicaçãoSQLServer

OSU

CESSO

TEM5 LE

TRAS:

FAZE

R

ERFOLG

HATDREI BUCHST

ABEN:

TUNFigura 5: Definir autenticação ao banco

Na próxima tela você deve selecionar o banco de dados que você estaráutilizando, feito isso, basta clicar no botão Avançar. Verifique com o docentequal banco de dados será utilizado.

6 Industria4-0.com Prof.Cesar Souza

Page 8: SQLServer IntegraçãoentreoSQLServere WinCCRT · LETRAS: ABEN: AZER TUN Figura1:AcessoaFontededadosODBC Feitoisso,ateladafigura2,emDSNdousuáriocliquenobotãoadicionar paravocêadicionarodrivedecomunicaçãoSQLServer

OSU

CESSO

TEM5 LE

TRAS:

FAZE

R

ERFOLG

HATDREI BUCHST

ABEN:

TUNFigura 6: Definir a base de dados

Na próxima tela basta clicar no botão concluir, conforme apresentado nafigura 7.

7 Industria4-0.com Prof.Cesar Souza

Page 9: SQLServer IntegraçãoentreoSQLServere WinCCRT · LETRAS: ABEN: AZER TUN Figura1:AcessoaFontededadosODBC Feitoisso,ateladafigura2,emDSNdousuáriocliquenobotãoadicionar paravocêadicionarodrivedecomunicaçãoSQLServer

OSU

CESSO

TEM5 LE

TRAS:

FAZE

R

ERFOLG

HATDREI BUCHST

ABEN:

TUNFigura 7: Finalizar configuração

Na última tela da sequência você poderá testar a fonte de dados e se osparâmetros forem efetuados de maneira correta, o teste irá retornar que ostestes foram concluídos com êxito, conforme apresentado na figura 8.

Caso tudo ocorra de maneira correta, clique em OK e feche a tela de fontede dados ODBC, caso contrário, revise os parâmetros de conexão.

8 Industria4-0.com Prof.Cesar Souza

Page 10: SQLServer IntegraçãoentreoSQLServere WinCCRT · LETRAS: ABEN: AZER TUN Figura1:AcessoaFontededadosODBC Feitoisso,ateladafigura2,emDSNdousuáriocliquenobotãoadicionar paravocêadicionarodrivedecomunicaçãoSQLServer

OSU

CESSO

TEM5 LE

TRAS:

FAZE

R

ERFOLG

HATDREI BUCHST

ABEN:

TUN

Figura 8: Testar fonte de dados

3 Criar tela no WinCCAgora iremos criar uma tela no WinCC para efetuar a inserção de dados

na tabela criada na instrução de trabalho anterior. Para isso, crie uma telano WinCC com 4 campos do tipo IO Field para receber as informações doprocesso e um do tipo switch para funcionar como o alarme. Na figura 9 vocêtem um modelo da disposição dos campos.

Figura 9: Tela para gravar dados na tabela

Você deverá criar 5 Tags e relacionar com cada campo IO Field, as tagsque deverão ser criadas, estão representadas na figura 10.

9 Industria4-0.com Prof.Cesar Souza

Page 11: SQLServer IntegraçãoentreoSQLServere WinCCRT · LETRAS: ABEN: AZER TUN Figura1:AcessoaFontededadosODBC Feitoisso,ateladafigura2,emDSNdousuáriocliquenobotãoadicionar paravocêadicionarodrivedecomunicaçãoSQLServer

OSU

CESSO

TEM5 LE

TRAS:

FAZE

R

ERFOLG

HATDREI BUCHST

ABEN:

TUN

Figura 10: Tags criadas para estabelecer conexão com o banco

Na figura 11 temos um exemplo de relacionamento da tag com o campoIO Field.

Figura 11: Exemplo de um campo IO Field relacionado a uma tag.

O único relacionamento diferente será do Switch, pois, não podemos uti-lizar diretamente sua tag, pois, ele envia um valor True/ False para o campo,portanto, devemos criar um evento para ele. Primeiramente, crie uma tag,conforme apresentado na figura 12.

10 Industria4-0.com Prof.Cesar Souza

Page 12: SQLServer IntegraçãoentreoSQLServere WinCCRT · LETRAS: ABEN: AZER TUN Figura1:AcessoaFontededadosODBC Feitoisso,ateladafigura2,emDSNdousuáriocliquenobotãoadicionar paravocêadicionarodrivedecomunicaçãoSQLServer

OSU

CESSO

TEM5 LE

TRAS:

FAZE

R

ERFOLG

HATDREI BUCHST

ABEN:

TUN

Figura 12: Relacionar tag do Switch

Agora clique na aba eventos, verifique que existem dois eventos, conformeapresentado na figura 13.

• Switch On: Neste evento você irá utilizar a função SetTag, dessa forma,quando ele for para o evento Switch ON ele irá enviar o valor 1 para atag HMI_alm.

• Switch Off : A função SetTag também será utilizada, porém, ela iráenviar 0 para a tag HMI_alm.

Dessa forma, quando a informação for para o banco, ela irá na forma de0 ou 1, indicando se ela está em situação de alarme ou não.

11 Industria4-0.com Prof.Cesar Souza

Page 13: SQLServer IntegraçãoentreoSQLServere WinCCRT · LETRAS: ABEN: AZER TUN Figura1:AcessoaFontededadosODBC Feitoisso,ateladafigura2,emDSNdousuáriocliquenobotãoadicionar paravocêadicionarodrivedecomunicaçãoSQLServer

OSU

CESSO

TEM5 LE

TRAS:

FAZE

R

ERFOLG

HATDREI BUCHST

ABEN:

TUNFigura 13: Criar evento para alimentar a tag do alarme

4 Criar VBScript de acesso ao bancoAgora devemos criar a VBscritpt de acesso ao banco de dados SQL Server,

portanto, abra a pasta Scripts, subpasta VB scripts e depois clique em Addnew VB function, conforme apresentado na figura 14. Ele irá criar um novoscript com o nome VBFunction_N. Clique com o botão direito sobre essenome e altere o nome para S01_EscreveDados, conforme apresentado nafigura 15.

12 Industria4-0.com Prof.Cesar Souza

Page 14: SQLServer IntegraçãoentreoSQLServere WinCCRT · LETRAS: ABEN: AZER TUN Figura1:AcessoaFontededadosODBC Feitoisso,ateladafigura2,emDSNdousuáriocliquenobotãoadicionar paravocêadicionarodrivedecomunicaçãoSQLServer

OSU

CESSO

TEM5 LE

TRAS:

FAZE

R

ERFOLG

HATDREI BUCHST

ABEN:

TUN

Figura 14: Adicionar VBScript

Figura 15: Renomear VBScript

Na próxima página, temos o script que deverá ser digitado na função.

13 Industria4-0.com Prof.Cesar Souza

Page 15: SQLServer IntegraçãoentreoSQLServere WinCCRT · LETRAS: ABEN: AZER TUN Figura1:AcessoaFontededadosODBC Feitoisso,ateladafigura2,emDSNdousuáriocliquenobotãoadicionar paravocêadicionarodrivedecomunicaçãoSQLServer

OSU

CESSO

TEM5 LE

TRAS:

FAZE

R

ERFOLG

HATDREI BUCHST

ABEN:

TUN

Totally IntegratedAutomation Portal

61883659_WinCC_RuntimeAdv_access_SQL_via_script_PROJ_V14 / WinCC_RT_Advanced [SIMATIC PC sta‐tion] / WinCC RT Advanced [WinCC RT Advanced] / Scripts / VB scripts / SQL_Scripting

S01_EscreveDados

Comment

0001 0002 0003 Sub S01_EscreveDados(ByRef Database_Name)0004 '#########'Essa rotina recebe como parâmetro a conexão ODBC criada 0005 '//////////////////////////////////////////////////////////////// 0006 ' en: Este script insere dados na tabela do SQ SErver 0007 ' 0008 ' Created: 18-10-2018 0009 ' Version: v1.0 0010 ' Author: Cesar 0011 '//////////////////////////////////////////////////////////////// 0012 0013 '#########'Declaração de Tags Locais 0014 Dim conn, rst, SQL_Table 0015 0016 On Error Resume Next 0017 0018 Set conn = CreateObject("ADODB.Connection") 0019 Set rst = CreateObject("ADODB.Recordset") 0020 0021 'Abrir a fonte de dados 0022 conn.Open "Provider=MSDASQL;UID=B1;PWD=b1@labCLP;Initial Catalog= POSTECNICO;DSN="&Database_Name&""'; 0023 '#########Initial Catalog= POSTECNICO - Conexão com o banco POSTECNICO 0024 '#########'DSN="&Database_Name&"" - irá acessar a conexão de acordo com o Alias de conexão ODBC 0025 '#########'UID=B1 é o usuário de conexão ao banco, no caso B1 0026 '#########'PWD=b1@labCLP é a senha de acesso do usuário 0027 0028 0029 '#########'Rotina retorna erro, caso houver um erro de conexão 0030 If Err.Number <> 0 Then 0031 ShowSystemAlarm "Erroreee #" & Err.Number & " " & Err.Description 0032 Err.Clear 0033 Set conn = Nothing 0034 Exit Sub 0035 End If 0036 0037 '#########' Insere dados na tabela 0038 SQL_Table = "INSERT INTO b1_processo VALUES (getdate(),'" & SmartTags("hmi_mvValvula") & _ 0039 "' , '" & SmartTags("HMI_spPressao") & "' , '" & SmartTags("HMI_pvTemperatura") & _ 0040 "' , '" & SmartTags("HMI_pvPressao") & "','" & SmartTags("HMI_alm") & "')" 0041 '#########'Executa a rotina 0042 Set rst = conn.Execute(SQL_Table) 0043 0044 '#########'encerra a conexão 0045 conn.close 0046 0047 Set rst = Nothing 0048 Set conn = Nothing 0049 0050 End Sub

14 Industria4-0.com Prof.Cesar Souza

Page 16: SQLServer IntegraçãoentreoSQLServere WinCCRT · LETRAS: ABEN: AZER TUN Figura1:AcessoaFontededadosODBC Feitoisso,ateladafigura2,emDSNdousuáriocliquenobotãoadicionar paravocêadicionarodrivedecomunicaçãoSQLServer

OSU

CESSO

TEM5 LE

TRAS:

FAZE

R

ERFOLG

HATDREI BUCHST

ABEN:

TUN

Assim que finalizar a digitação do script você deverá criar o evento ao qualele será chamado. No caso, ele será chamado toda vez que o botão Incluirfor pressionado. Para isso, clique no botão e depois vá na aba eventos.

Acesso o evento Press em Add function selecione o nome do script quecriamos, no caso: S01_EscreveDados. O parâmetro Database_name digiteo nome: SQLWinCC, que é o alias de acesso ao banco de dados SQLServerque criamos na seção 2, conforme apresentado na figura 16.

Figura 16: Adicionar evento no botão

15 Industria4-0.com Prof.Cesar Souza