Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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