Nota de Aplicação - schneider-electric.com · Schneider Electric Suporte Técnico - Heleno Amorim...

16
Nota de Aplicação Suporte Técnico Brasil Versão: Relatório em HTML no Vijeo Citect 1.0

Transcript of Nota de Aplicação - schneider-electric.com · Schneider Electric Suporte Técnico - Heleno Amorim...

Page 1: Nota de Aplicação - schneider-electric.com · Schneider Electric Suporte Técnico - Heleno Amorim Linhares Júnior – 23/12/2015 4 2. String de conexão com o banco A String de

Nota de Aplicação

Suporte Técnico Brasil

Versão:

Relatório em HTML no Vijeo Citect

1.0

Page 2: Nota de Aplicação - schneider-electric.com · Schneider Electric Suporte Técnico - Heleno Amorim Linhares Júnior – 23/12/2015 4 2. String de conexão com o banco A String de

Hardware:

Software: Versão:

Especificações técnicas

Suporte Técnico Brasil

Vijeo Citect 7.40 SP 2

SQL Server 2012

Page 3: Nota de Aplicação - schneider-electric.com · Schneider Electric Suporte Técnico - Heleno Amorim Linhares Júnior – 23/12/2015 4 2. String de conexão com o banco A String de

Schneider Electric 3 Suporte Técnico - Heleno Amorim Linhares Júnior – 23/12/2015

1. Arquitetura utilizada

Pin

Page 4: Nota de Aplicação - schneider-electric.com · Schneider Electric Suporte Técnico - Heleno Amorim Linhares Júnior – 23/12/2015 4 2. String de conexão com o banco A String de

Schneider Electric 4 Suporte Técnico - Heleno Amorim Linhares Júnior – 23/12/2015

2. String de conexão com o banco A String de conexão pode ser obtida através de um arquivo UDL da seguinte forma:

•Crie um novo arquivo com o bloco de notas e altere a extensão do arquivo para .udl;

•Clique com o botão direito do mouse e escolha “Propriedades”;

•Vá em “Provedor” e selecione um (Figura 1);

•Vá em “Conexão” e preencha os campos de acordo com os dados do seu banco;

•Clique em “Testar Conexão” e a mensagem “Teste de conexão bem sucedido” deve

aparecer;

•Clique em “Ok” (Figura 2);

1 2

Page 5: Nota de Aplicação - schneider-electric.com · Schneider Electric Suporte Técnico - Heleno Amorim Linhares Júnior – 23/12/2015 4 2. String de conexão com o banco A String de

Schneider Electric 5 Suporte Técnico - Heleno Amorim Linhares Júnior – 23/12/2015

2. String de conexão com o banco •Altere a extensão do arquivo para .txt e abra com o bloco de notas;

•A String de conexão está na terceira linha da imagem abaixo;

Page 6: Nota de Aplicação - schneider-electric.com · Schneider Electric Suporte Técnico - Heleno Amorim Linhares Júnior – 23/12/2015 4 2. String de conexão com o banco A String de

Schneider Electric 6 Suporte Técnico - Heleno Amorim Linhares Júnior – 23/12/2015

3. Criação do DSN •Vá até o diretório C:\Windows\SysWOW64 e execute o odbccad32.exe;

•Em “User DSN” clique em ADD e siga os passos conforme as figuras abaixo;

1

2

3

4

Page 7: Nota de Aplicação - schneider-electric.com · Schneider Electric Suporte Técnico - Heleno Amorim Linhares Júnior – 23/12/2015 4 2. String de conexão com o banco A String de

Schneider Electric 7 Suporte Técnico - Heleno Amorim Linhares Júnior – 23/12/2015

4. Cicode •Abra o Vijeo Citect Explorer e crie um novo projeto em File>> New Project;

•No campo “Cicode Files”, clique em “Create a new Cicode file” e se baseie no

Cicode abaixo;

//------------------------------------------------------------------------------------------------

//Variável GLOBAL para conexão com o banco

//------------------------------------------------------------------------------------------------

GLOBAL INT hSQL1;

//------------------------------------------------------------------------------------------------

//Função: ConectaBD

//Descrição: Realiza a conexão com o Banco de Dados

//

//OBS: DSN = nome do Data Source ODBC

//------------------------------------------------------------------------------------------------

FUNCTION ConectarBD1()

hSQL1 = SQLConnect("DSN=SQLTest"); !String de conexão com o banco

IF hSQL1 <> -1 THEN

TraceMsg("Conexao com banco de dados efetuada com sucesso");

ELSE

TraceMsg("Erro! Não foi possível conectar com o banco de dados");

END

END

Page 8: Nota de Aplicação - schneider-electric.com · Schneider Electric Suporte Técnico - Heleno Amorim Linhares Júnior – 23/12/2015 4 2. String de conexão com o banco A String de

Schneider Electric 8 Suporte Técnico - Heleno Amorim Linhares Júnior – 23/12/2015

4. Cicode- Continuação //------------------------------------------------------------------------------------------------

//Função: Export_FileHTML_Table1_

//Descrição: Faz a consulta no banco e mostra os valores retornados em um arquivo HTML

//

//OBS: sARQUIVO = Nome do arquivo a ser gerado

// Inicial = Data inicial do select

// Final = Data final do Select

//------------------------------------------------------------------------------------------------

FUNCTION Export_FileHTML_TABLE1_(STRING sARQUIVO, STRING INICIAL, STRING FINAL)

INT hFile,hSQL1,resultado;

STRING sLine, sFile = "C:\" + sARQUIVO+ ".HTML";

STRING consulta, caminho, DATA_INICIAL, DATA_FINAL;

STRING var_relat1, var_relat2, var_relat3, var_relat4, var_relat5, var_relat6,

var_relat7, var_relat8;

OBJECT Obj;

//Conexão com o Banco de Dados

hSQL1 = SQLConnect("DSN=SQLTest");

hFile = FileOpen(sFile,"w");

sline = "<html>";

//Comandos em HTML para formatação da página

//Utilize os conhecimentos em html para customizar sua página

FileWriteLn(hFile,sLine);

sline = "<head>";

Page 9: Nota de Aplicação - schneider-electric.com · Schneider Electric Suporte Técnico - Heleno Amorim Linhares Júnior – 23/12/2015 4 2. String de conexão com o banco A String de

Schneider Electric 9 Suporte Técnico - Heleno Amorim Linhares Júnior – 23/12/2015

4. Cicode- Continuação FileWriteLn(hFile,sLine);

sline = "<title>Relatório</title>“;

FileWriteLn(hFile,sLine);

sline = "<style type="+"'text/css'"+">“;

FileWriteLn(hFile,sLine);

sline = "</style>“;

FileWriteLn(hFile,sLine);

sline = "</head>“;

FileWriteLn(hFile,sLine);

sline = "<body bgcolor='#F8F8FF'>“;

FileWriteLn(hFile,sLine);

sline = "<table width="+"'100"+"%'";

FileWriteLn(hFile,sLine);

sline="border="+"'0'";

FileWriteLn(hFile,sLine);

sline="cellspacing="+"'0'";

FileWriteLn(hFile,sLine);

sline="cellpadding="+"'0'"+">“;

FileWriteLn(hFile,sLine);

sline = "<tr>";

FileWriteLn(hFile,sLine);

sline =" <td width="+"'12"+"%'"+"></img></td>";

FileWriteLn(hFile,sLine);

sline=" <td width="+"'75"+"%'"+"><div align="+"'center'"+" class="+"'style1'>";

FileWriteLn(hFile,sLine);

sline="<h4>Relatório no Vijeo Citect</h4>";

FileWriteLn(hFile,sLine);

sline="<h6> EXEMPLO DE RELATÓRIO EM HTML </h6>";

FileWriteLn(hFile,sLine);

Page 10: Nota de Aplicação - schneider-electric.com · Schneider Electric Suporte Técnico - Heleno Amorim Linhares Júnior – 23/12/2015 4 2. String de conexão com o banco A String de

Schneider Electric 10 Suporte Técnico - Heleno Amorim Linhares Júnior – 23/12/2015

4. Cicode- Continuação sline="</div></td>";

FileWriteLn(hFile,sLine);

sline=" </tr>";

FileWriteLn(hFile,sLine);

sline="</table>";

FileWriteLn(hFile,sLine);

sline="<table width="+"'100"+"%'";

FileWriteLn(hFile,sLine);

sline=" border='1'";

FileWriteLn(hFile,sLine);

sline="cellspacing='0'";

FileWriteLn(hFile,sLine);

sline ="cellpadding='0'";

FileWriteLn(hFile,sLine);

sline=">";

FileWriteLn(hFile,sLine);

sline="<tr>";

FileWriteLn(hFile,sLine);

//Cabeçalho da tabela

sline="<td width="+"'10"+"%'"+" class="+"'style1'"+">Produto</td>";

FileWriteLn(hFile,sLine);

sline = "<td width="+"'12"+"%'"+" class="+"'style1'"+">Ingrediente 1 em Kg</td>";

FileWriteLn(hFile,sLine);

sline="<td width="+"'12"+"%'" +"class="+"'style1'"+">Ingrediente 2 em Ton</td>";

FileWriteLn(hFile,sLine);

sline ="<td width="+"'12"+"%'" +"class="+"'style1'"+">Ingrediente 3 em m³</td>";

FileWriteLn(hFile,sLine);

sline ="<td width="+"'12"+"%'"+" class="+"'style1'"+">Temperatura Ambiente em ºC</td>";

FileWriteLn(hFile,sLine);

sline="<td width="+"'12"+"%'"+" class="+"'style1'"+">Temperatura Interna em ºC</td>";

FileWriteLn(hFile,sLine);

Page 11: Nota de Aplicação - schneider-electric.com · Schneider Electric Suporte Técnico - Heleno Amorim Linhares Júnior – 23/12/2015 4 2. String de conexão com o banco A String de

Schneider Electric 11 Suporte Técnico - Heleno Amorim Linhares Júnior – 23/12/2015

4. Projeto Vijeo Citect - Continuação

sline ="<td width="+"'12"+"%'"+" class="+"'style1'"+">Pressão Atmosférica em atm</td>";

FileWriteLn(hFile,sLine);

sline="<td width="+"'12"+"%'"+" class="+"'style1'"+">Data</td>";

FileWriteLn(hFile,sLine);

sline= "</tr>";

FileWriteLn(hFile,sLine);

sline= "<tr>";

FileWriteLn(hFile,sLine);

sline="<td class="+"'style1'"+"> </td>";

FileWriteLn(hFile,sLine);

sline="<td class="+"'style1'"+"> </td>";

FileWriteLn(hFile,sLine);

sline="<td class="+"'style1'"+"> </td>";

FileWriteLn(hFile,sLine);

sline ="<td class="+"'style1'"+"> </td>";

FileWriteLn(hFile,sLine);

sline="<td class="+"'style1'"+"> </td>";

FileWriteLn(hFile,sLine);

sline="<td class="+"'style1'"+"> </td>";

FileWriteLn(hFile,sLine);

sline="<td class="+"'style1'"+"> </td>";

FileWriteLn(hFile,sLine);

sline ="<td class="+"'style1'"+"> </td>";

FileWriteLn(hFile,sLine);

sline= "</tr>";

FileWriteLn(hFile,sLine);

Page 12: Nota de Aplicação - schneider-electric.com · Schneider Electric Suporte Técnico - Heleno Amorim Linhares Júnior – 23/12/2015 4 2. String de conexão com o banco A String de

Schneider Electric 12 Suporte Técnico - Heleno Amorim Linhares Júnior – 23/12/2015

4. Projeto Vijeo Citect - Continuação //Verifica conexao com a fonte de dados

IF hSQL1 <> -1 THEN

consulta = "SELECT * FROM Example"

resultado = SQLExec(hSQL1, consulta);

//Executa o comando SQL

TraceMsg("Função BuscarDados - Consulta SQL:" + SQLErrMsg());

IF resultado = 0 THEN

TraceMsg("Função BuscarDados - Stored Procedure executada com sucesso");

resultado = SQLNext(hSQL1);

//Posiciona o ponteiro no primeiro registro da tabela

WHILE resultado = 0 DO

var_relat1 = SQLGetField(hSQL1, "Tag_name");

var_relat2 = SQLGetField(hSQL1, "Value1");

var_relat3 = SQLGetField(hSQL1, "Value2");

var_relat4 = SQLGetField(hSQL1, "Value3");

var_relat5 = SQLGetField(hSQL1, "Value4");

var_relat6 = SQLGetField(hSQL1, "Value5");

var_relat7 = SQLGetField(hSQL1, "Value6");

var_relat8 = SQLGetField(hSQL1, "TimeTag");

sLine = "<tr><td valign="+"top"+"><p>"+var_relat1+"</p></td> <td valign="+"top"+" ><p>

"+var_relat2+"</p></td><td valign="+"top"+"><p>"+var_relat3+"</p></td><td valign="+"top"+"><p>

"+var_relat4+"</p></td>";

FileWriteLn(hFile,sLine);

sLine = "<td valign="+"top"+"><p>"+var_relat5+"</p></td><td valign="+"top"+"><p>

"+var_relat6+"</p></td><td valign="+"top"+"><p>"+var_relat7+"</p></td><td valign="+"top"+"><p>

"+var_relat8+"</p></td></tr>";

FileWriteLn(hFile,sLine);

Page 13: Nota de Aplicação - schneider-electric.com · Schneider Electric Suporte Técnico - Heleno Amorim Linhares Júnior – 23/12/2015 4 2. String de conexão com o banco A String de

Schneider Electric 13 Suporte Técnico - Heleno Amorim Linhares Júnior – 23/12/2015

4. Cicode- Continuação resultado = SQLNext(hSQL1);

END

SQLEnd(hSQL1);

sline= "</tbody></table>"

FileWriteLn(hFile,sLine);

END

END

FileClose(hFile);

SQLDisconnect(hSQL1);

END

Page 14: Nota de Aplicação - schneider-electric.com · Schneider Electric Suporte Técnico - Heleno Amorim Linhares Júnior – 23/12/2015 4 2. String de conexão com o banco A String de

Schneider Electric 14 Suporte Técnico - Heleno Amorim Linhares Júnior – 23/12/2015

5. Projeto Vijeo Citect •Salve o arquivo .ci na pasta do seu projeto;

Utilize um botão para realizar chamar a função que gera o relatório em .hmtl.

Page 15: Nota de Aplicação - schneider-electric.com · Schneider Electric Suporte Técnico - Heleno Amorim Linhares Júnior – 23/12/2015 4 2. String de conexão com o banco A String de

Schneider Electric 15 Suporte Técnico - Heleno Amorim Linhares Júnior – 23/12/2015

6. Página em HTML Vá até o diretório em que foi salvo o arquivo e execute-o. No exemplo o diretório selecionado é "C:\rela.HTML";

Page 16: Nota de Aplicação - schneider-electric.com · Schneider Electric Suporte Técnico - Heleno Amorim Linhares Júnior – 23/12/2015 4 2. String de conexão com o banco A String de

Schneider Electric 16 Suporte Técnico - Heleno Amorim Linhares Júnior – 23/12/2015

Avisos Importantes

• Equipamentos elétricos devem ser instalados, operados e manuseados apenas por

pessoas qualificadas.

• Uma pessoa qualificada é aquela que tem habilidades e conhecimentos relacionados

com a construção, instalação e operação de equipamentos elétricos e recebeu

treinamento adequado para reconhecer e evitar os perigos envolvidos.

• Nenhuma responsabilidade é assumida pela Schneider Electric por qualquer

conseqüências decorrentes da utilização deste material.

•Todas as informações contidas neste documento estão corretas de acordo com o

conhecimento do autor. Esta abordagem foi projetada e testada em condições de

laboratório. O ambiente pode influenciar o comportamento de dispositivos eletrônicos e,

portanto, o usuário assume toda a responsabilidade para aplicar as soluções

apresentadas.

• Este documento está disponível no site http://www.schneider-electric.com