Manual de programação ECD

Documentos relacionados
ECD1200 Equipamento de Consulta de Dados KIT DE DESENVOLVIMENTO

Documentação SC501GER.DLL V2.4

Manual do Desenvolvedor Linha VP Tanca

Documentação SC501GER.DLL V2.2

Manual de Instalação SI-300S e SI-300L

MANUAL DE INSTALAÇÃO E PROGRAMAÇÃO CONVERSOR - IP / USB / SERIAL RV1

Manual de Instalação SI-150

SW Ativação SMFE. Manual do Usuário

Manual do aplicativo Servidor ECD

Conectar-se ao quadro branco remoto

Manual para App Android e Software Windows

Boletim Técnico. Interface TCP/IP. Introdução

O telefone IP 7940/7960 não inicializa - Aplicativo de protocolo inválido

Laboratório Usando Wireshark para Examinar Quadros Ethernet

Registrar senha, endereço de e contato

Conectar-se ao quadro branco remoto

Laboratório Uso do Wireshark para examinar quadros Ethernet

Laboratório - Uso do Wireshark para examinar uma captura UDP DNS

Manual do Usuário Brother Meter Read Tool

Cerne Tecnologia e Treinamento

Manual de Integração. Versão 1.0.2

manual do sdk para rep trilobit layouts

Parabéns pela aquisição do seu DMI. Este manual destina-se a ativação do DMI, para posterior utilização.

Guia do Usuario CONTEÚDO

ÍNDICE. 2.1 Arquivos e Pastas PREIMG.CFG IMAGES.CFG 4

MANUAL DE OPERAÇÕES MODBUS GATEWAY CCM-18A/N-E (K02-MODBUS)

Utilitário Epson FAX Utility 2.0 para Windows

Avisos legais KYOCERA Document Solutions Inc.

DESENVOLVIMENTO COORDENAÇÃO ENTRE TAREFAS

ÍNDICE 1- INTRODUÇÃO 3 2- RECONHECENDO O TERMINAL 3 3- INSTALAÇÃO 4 4 CONFIGURAÇÃO 4 5 ATUALIZAÇÃO DE FIRMWARE 7 6 APLICATIVO 8

Document Capture Pro 2.0 para Windows

Guia rápido de configuração.

RedeMBTCP 1.23 Procedimento de Instalação e Download de memória de massa Konect/Mult-K Grafic ligados diretamente a notebook

Aplicações de Rede DHCP

Aula Prática de Redes Industriais Wireshark

Procedimentos para configuração do DWL-G700AP em modo Access Point

Atualização de Software SoapAdmin3.5 23/04/2019 Versão 0.24

Data and Computer Network Endereçamento IP

Sumário REGISTRADOR ELETRÔNICO DE PONTO - REP-1000 REGISTRADOR ELETRÔNICO DE PONTO - REP-1000

Nota Técnica. NT-UN Conexão DataXport.doc. Data: 18/02/2016 Versão 0 Autor: JNohara/ JRogério 1. INTRODUÇÃO

TUTORIAL SAT DIMEP. Apresentação. Tabela de Alterações

Comunicação. Rotinas da dll

FUNCIONALIDADES DO STCPCONSOLE

CashDriver Android Instalação

Este manual destina-se a ativação do DMI, para posterior utilização.

Terminal de Consulta Gertec TC 505

Versão 8.3A-01. Versão Final da Apostila de Novidades

REDES DE COMPUTADORES

Login. Guia de Início

Busca Preço G2 Manual de Usuário

DS-1100KI Teclado para uso em rede. Especificações técnicas

Cadastro PORTAL DE COMPRAS SÃO JOSÉ DO RIO PRETO

Pimenta Advocacia Sistema Online Departamento de Informática. Spark MANUAL DO USUÁRIO

Cerne Tecnologia e Treinamento

Amadeus Touchless Queue Dispatch

BuscaPreço Gertec V3.0

Este documento requer uma compreensão do ARP e de ambientes Ethernet.

MÓDULO FISCAL ELETRÔNICO MFE MANUAL DE INSTALAÇÃO


Manual de Configuração e Operação

PcScale. DLL 32 Bits para leitura de balanças. Versão da DLL : Versão do Manual : 2.05

Manual Converte-MV S_Line

Redes Industriais. Carlos Roberto da Silva Filho, M. Eng.

Manual do Aplicativo de Configuração

Gerenciamento da impressora

Configuração do Wide Area Network (WAN) em RV215W

Verificador Slimterm TCP-IP

DOCUMENTO TÉCNICO RQ-130

INSTALAÇÃO PRINTERTUX. Tutorial

Perguntas frequentes sobre o uso seguro do Remote Support Platform para SAP Business One (RSP)

Procedimentos para configuração do DWL-2100AP em modo Repeater

Parabéns pela aquisição do seu DMI. Este manual destina-se a ativação do DMI, para posterior utilização.

Procedimentos para configuração do DWL-G700AP em modo Repeater

Exercício Programa Mini Web Server

GUIA RÁPIDO. MDIForms. Sintel Informática Ltda. Rua Vergueiro, nº º andar Vila Mariana, São Paulo - SP CEP:

SECRETARIA DE VIGILÂNCIA EM SAÚDE DEPARTAMENTO DE GESTÃO DA VIGILÂNCIA EM SAÚDE

Como usar o P-touch Transfer Manager

Laboratório - Uso do Wireshark para observar o handshake triplo do TCP

UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO 9º PERÍODO. Profª Danielle Casillo

DL ELETRÔNICOS SOFTWARE DLSYNC

TUTORIAL CONSULTA DE PREÇOS GERTEC TUTORIAL CONSULTA DE PREÇOS GERTEC 1 / 8

Manual de Utilização

Manual do Usuário. Sistema Controle de Caixa (versão gratuita)

Conferencing. Novell. Conferencing 1.0. novdocx (pt-br) 6 April 2007 INICIAR O CLIENTE CONFERENCING: INICIAR SESSÃO: Julho de 2007

Digitalizando e enviando por e mail

Cerne Tecnologia e Treinamento

Lab - Conectando um Roteador Pela Primeira Vez

Guia do Google Cloud Print

Este é um produto da marca GTS Network, que está sempre comprometida com o desenvolvimento de soluções inovadoras e de alta qualidade.

Laboratório - Projeto e implantação de um esquema de endereçamento de sub-rede IPv4

Copyright 2018 HP Development Company, L.P.

Solução de problemas. Visão geral. Instalar o MarkVision. Adicionar dispositivos. Adicionar servidores. Adicionar contas.

Classes de endereços IP - Os bits de endereços IP são reservados um para a classe de rede e os outros para computador (host).

Manual do InCD Reader

POLÍTICA DE PRIVACIDADE DA PLATAFORMA SHINNER. 2. Informações coletadas finalidade, atualização ou mudança de perfil e forma de utilização

Carregar Documentos Fiscais Fornecedor (Modelo 93) Fatura de Conhecimento de Transporte. Última Atualização 11/01/2019

Aula 5 Camada de rede (TCP/IP):

Manual de utilização NSE Módulo TCP/IP MTCP-1E1S

Modicon M241 e Modicon M251 Network Variable List (NVL) Bruno Oliveira de Souza e Douglas Pereira da Silva Data: 10/01/17 Versão: V1.

Transcrição:

Manual de programação ECD Terminais Verificadores de Preços ECD-1200 / ECD-2000 / ECD-2500 1

Versão 01.03 Edição: outubro de 2016 Este manual tem caráter técnico-informativo, sendo propriedade da SWEDA. Todos os direitos reservados. Nenhuma parte deste manual pode ser reproduzida ou armazenada por processo mecânico, eletrônico, de fotocópia, de gravação ou de qualquer outro tipo, sem autorização prévia e por escrito da SWEDA. Todos os cuidados foram tomados na preparação deste manual. Entretanto, a SWEDA não assume nenhuma responsabilidade por erros, imprecisões ou omissões em seu conteúdo, assim como por quaisquer tipos de danos, perdas ou lucros cessantes decorrentes do uso da informação aqui contida. As informações contidas neste manual estão sujeitas a alteração sem aviso prévio. 2

Conteúdo 1. Introdução... 4 2. Documentação... 4 2.1 Documentação de Referência... 4 2.2 Descrição Funcional... 5 2.2.1 Interface... 5 3. Protocolo de Mensagens do ECD1200... 8 3.1 Mensagens... 8 3.2 Mensagens de Operação... 8 3.3 Mensagens de Atividade... 9 3.4 Mensagens de Configuração... 9 Lista de figuras Figura 1: ECD-1200... 4 Figura 2: ECD-2000... 4 Figura 3: ECD-2500... 4 Lista de tabelas Tabela 1: Resumo das Funções da DLL... 5 Tabela 2: Estrutura de Dados staddress... 6 Tabela 3: Mensagens de Operação... 8 Tabela 4: Mensagens de Atividade... 9 Tabela 5: Mensagens de Configuração... 10 Tabela 6: Exemplo de Configuração... 10 3

1. Introdução Este manual descreve a DLL (Dynamic Link Library) responsável pela configuração e controle de acesso aos Terminais de Consulta de Preço da linha ECD. Esta DLL pode ser utilizada em qualquer linguagem de programação em 32 bits, compatível com Windows. Adicionalmente, o manual descreve o seu protocolo de mensagens via TCP/IP. 2. Documentação 2.1 Documentação de Referência Os Terminais de Consulta de Preço Sweda da linha ECD são dispositivos com scanner a laser, por onde se reconhecem os códigos de barras dos produtos. Conecta-se ao Servidor da base de dados por uma conexão Ethernet (TCP/IP). O Servidor responde ao ECD mandando a descrição e o preço do produto, previamente cadastrados em sua base de dados. Estas informações são apresentadas pelo display de cristal líquido. Para maiores referências às características do Terminal de Consulta de Preço Sweda, consulte o nosso site (www.sweda.com.br). Figura 1: ECD-1200 Figura 2: ECD-2000 Figura 3: ECD-2500 4

2.2 Descrição Funcional A DLL funciona como uma ponte entre os protocolos dos ECDs e a base de dados onde os produtos se encontram cadastrados. Deste modo, a aplicação do cliente ganha mais funcionalidade e flexibilidade, pois seu funcionamento é independente do tipo da base de dados (Access, Paradox, etc.) e da linguagem de programação utilizada (Delphi, C++ Builder, Visual Basic, Visual C++, C#, etc.). 2.2.1 Interface A DLL de comunicação entre o Servidor e o ECD é a ecdsweda.dll, desta forma, o aplicativo deverá chamar as funções desta DLL. No pacote da Interface também contém a DLL pthreadvc2.dll, mas o aplicativo não necessita chamar nenhuma função desta dll, precisando apenas deixá-la no mesmo diretório da DLL principal ecdsweda.dll. Na tabela 1 são listadas as funções contidas na DLL, é importante observar que o programador deve seguir uma seqüência para que seu aplicativo tenha acesso completo à DLL e aos ECDs. Onde nesta sequência deverá estar: a chamada da função binitialize() logo após carregar a DLL e a chamada da bterminate() antes de sair da aplicação. A porta 6500 é utilizada pelo Servidor para comunicação com o ECD, devido a isso, a mesma deverá estar liberada para o uso. Funções fornecidas pela ecdsweda.dll BOOL stdcall binitialize (HWND Handle); BOOL stdcall bterminate (void); void stdcall vgetmsgwinreceivedatatc (LPUINT MsgWinReg); BOOL stdcall bconnect (staddress *ID); BOOL stdcall bdisconnect (staddress *ID); BOOL stdcall breceivebarcode (staddress *ID, char *barcode); BOOL stdcall bsendprodnotfound (staddress *ID); BOOL stdcall bsendprodpricetc50x (staddress *ID, char *NameProd, char *PriceProd); void stdcall Inet_NtoA (DWORD nip, char *sip); DWORD stdcall Inet_Addr (char *sip); BOOL stdcall bshowwindow (void); BOOL stdcall SendConfiguration(char *ip, char *ip_cliente, char *ip_server, char *mascara, char *linha1, char *linha2, char *linha3, char *linha4, char *tempo); BOOL stdcall GetConfiguration (char *ip, char *data); BOOL stdcall GetConfigurationNew(char *ip, char *ip_cliente, char *ip_server, char *mascara, char *linha1, char *linha2, char *linha3, char *linha4, char *tempo, char *gateway, char *linha5, char *linha6, char *linha7, char *linha8); BOOL stdcall SendPrice (char *ip, char *NameProd, char *PriceProd); BOOL stdcall CloseTerminal (staddress *ID); Tabela 1: Resumo das Funções da DLL 5

Campo Tipo Definição IP DWORD Endereço IP do ECD Port WORD Porta do Socket conectado no ECD Tabela 2: Estrutura de Dados staddress A DLL (ecdsweda.dll) é compatível com outras DLLs (Sc50X.dll e tcd1200i.dll) utilizadas anteriormente para conexão com os Terminais de Consulta de Preço. BOOL stdcall binitialize (HWND Handle): Inicia o Servidor dos ECDs. Deve ser chamada no início do aplicativo e antes de qualquer outra função da DLL. O Handle é o manipulador da janela do aplicativo, que responde as mensagens dos ECDs, havendo sucesso, esta rotina retorna TRUE. Esta função é compatível com as DLLs (Sc50X.dll e tcd1200i.dll); BOOL stdcall bterminate (void): Finaliza o Servidor dos ECDs. Deve ser chamada imediatamente antes do término do aplicativo, havendo sucesso, esta rotina retorna TRUE. Esta função é compatível com a DLL (Sc50X.dll e tcd1200i.dll); void stdcall vgetmsgwinreceivedatatc (LPUINT MsgWinReg): Permite ao aplicativo obter o número da mensagem registrada no Windows, que deve interceptar em seu loop de mensagens do Windows no handle da janela cadastrada em binitialize, de forma, a saber, quando há dados para ler dos ECDs. Esta função é compatível com a DLL (Sc50X.dll); BOOL stdcall bconnect (staddress* ID): Esta rotina verifica na lista de eventos se houve a conexão de algum ECD ao Servidor. Caso algum ECD tenha se conectado, a rotina retorna TRUE, e coloca o endereço do ECD na estrutura ID. Esta função é compatível com a DLL (Sc50X.dll); BOOL stdcall bdisconnect (staddress* ID): Esta rotina verifica na lista de eventos se algum ECD se desconectou ao Servidor. Caso algum ECD tenha se desconectado, a rotina retorna TRUE, e coloca o endereço do ECD desconectado na estrutura ID. Esta função é compatível com a DLL (Sc50X.dll); BOOL stdcall breceivebarcode (staddress *ID, char * barcode): Esta rotina verifica na lista de eventos se há alguma solicitação de código de barras (barcode) pendente. Caso possua esta rotina retorna TRUE, e coloca o endereço do ECD na estrutura ID e o código de barras em barcode. Esta função é compatível com a DLL (Sc50X.dll); BOOL stdcall bsendprodnotfound (staddress* ID): Esta rotina envia uma mensagem para o ECD identificado pela estrutura ID, indicando que o produto não está cadastrado atualmente na base de dados, havendo sucesso, esta rotina retorna TRUE. Esta função é compatível com a DLL (Sc50X.dll); 6

BOOL stdcall bsendprodpricetc50x (staddress* ID, char *NameProd, char *PriceProd): Esta rotina envia uma mensagem para o ECD identificado pela estrutura ID, indicando o nome e preço do produto, que serão exibidos respectivamente na primeira e segunda linha do display do ECD, havendo sucesso, esta rotina retorna TRUE. Esta função é compatível com a DLL (Sc50X.dll); void stdcall Inet_NtoA (DWORD nip, char *sip): Esta rotina converte um número de IP no formato DWORD em um número IP no formato string (XXX.XXX.XXX.XXX). Esta função é compatível com a DLL (Sc50X.dll); DWORD stdcall Inet_Addr (char *sip): Esta rotina retorna um IP no formato DWORD convertido a partir de um IP no formato string. Esta função é compatível com a DLL (Sc50X.dll); BOOL stdcall bshowwindow (void): Esta rotina sempre retornará TRUE, e a DLL não abrirá uma tela para configuração do ECD, devendo este processo ser realizado pelo aplicativo. Onde esta função está contida na DLL apenas para manter compatibilidade com a DLL (Sc50X.dll); BOOL stdcall SendConfiguration (char *ip, char *ip_cliente, char *ip_server, char *mascara, char *linha1, char *linha2, char *linha3, char *linha4, char *tempo): Através desta rotina o Servidor envia os parâmetros de configuração para um determinado ECD, identificado pelo número de ip no formato string, havendo sucesso, esta rotina retorna TRUE. Esta função é compatível com a DLL (tcd1200i.dll); BOOL stdcall GetConfiguration (char *ip, char *data): Através desta rotina o Servidor captura os parâmetros de configuração de um determinado ECD, identificado pelo número de ip no formato string. Todos os parâmetros serão concatenados em uma única string, de acordo com protocolo de mensagem do ECD. Para maiores informações, verifique o item 3 (Protocolo de Mensagem do ECD). Esta função é compatível com a DLL (tcd1200i.dll); BOOL stdcall GetConfigurationNew (char *ip, char *ip_cliente, char *ip_server, char *mascara, char *linha1, char *linha2, char *linha3, char *linha4, char *tempo, char *gateway, char *linha5, char *linha6, char *linha7, char *linha8): Através desta rotina o Servidor captura os parâmetros de configuração de um determinado ECD, identificado pelo número de ip no formato string, havendo sucesso, esta rotina retorna TRUE. Os parâmetros (gateway, linha5, linha6, linha7, linha8) não retornarão dados significativos, pois são destinados a implementações futuras. Esta função é fornecida apenas pela DLL (ecdsweda.dll); 7

BOOL stdcall SendPrice (char *ip, char *NameProd, char *PriceProd): Esta rotina envia uma mensagem para um determinado ECD, identificado pelo número de ip no formato string, indicando o nome e preço do produto, que serão exibidos respectivamente, na primeira e segunda linha do display do ECD, havendo sucesso, esta rotina retorna TRUE. Esta função é compatível com a DLL (tcd1200i.dll); BOOL stdcall CloseTerminal (staddress *ID): Esta rotina desconecta um determinado ECD, identificado pela estrutura ID, havendo sucesso na desconexão, retornará TRUE. Esta função é fornecida apenas pela DLL (ecdsweda.dll); 3. Protocolo de Mensagens do ECD1200 O uso da DLL permite a utilização dos ECDs sem a necessidade de dominar o protocolo, porém conhecê-lo ajuda na compreensão das mensagens enviadas pelo ECD. 3.1 Mensagens A mensagem é qualquer informação lida ou escrita pelo ECD no "Socket" aberto para o Servidor. Na versão atual, todas as mensagens são ASCII iniciadas com caractere tralha ("#") enviadas ao Socket de comunicação (porta 6500). Os tipos de mensagens são: Mensagem de Operação; Mensagens de Atividade; Mensagens de Configuração. 3.2 Mensagens de Operação Estas mensagens destinam-se a consulta de preço, segue abaixo na tabela 3 a descrição destas mensagens: Mensagem Objetivo Origem #999999999999 Enviar o código de barra ECD1200 #nfound Avisar que código de barra não foi cadastrado Servidor #Nome Preço Enviar o nome e preço do produto Servidor Tabela 3: Mensagens de Operação Na mensagem #999999999999, o valor 999999999999 representa o código de barra lido pelo scanner. Quando esta mensagem chega ao Servidor, o caractere tralha é removido e feito uma busca na base de dados. Caso não encontre o produto, é emitida a mensagem #nfound, quando o encontra, é enviada a mensagem composta pelo nome e preço do 8

produto separado pelo caractere pipe (" ") que estão cadastrados na base de dados, colocando o nome do produto na primeira linha do display do ECD e o preço na segunda. 3.3 Mensagens de Atividade Estas mensagens são referentes à conectividade entre o Servidor e os ECDs, segue abaixo na tabela 4 a descrição destas mensagens: Mensagem Objetivo Origem #ok Resposta a uma conexão aberta Servidor #ecd-1200 versão Identifica o tipo de ECD e sua versão ECD1200 #live? Pergunta ao ECD se está ativo Servidor #live Avisar que se encontra ativo ECD1200 Tabela 4: Mensagens de Atividade Assim que a conexão entre o ECD e o Servidor é realizada, o Servidor manda uma mensagem #ok, para que confirme ao ECD que sua conexão foi aceita. Neste ponto, o ECD identifica-se pela mensagem #ecd-1200. A mensagem #live? é enviada pelo Servidor para cada ECD de 10 em 10 segundos, registrando sempre sua hora de envio. Em resposta a esta mensagem, o ECD responde com a mensagem #live. Ao receber esta última mensagem o Servidor armazena a hora da resposta, se este intervalo de tempo exceder a 50 segundos a conexão é fechada automaticamente pelo Servidor. 3.4 Mensagens de Configuração Estas mensagens destinam-se a realizar a configuração online dos ECDs conectados ao Servidor, segue abaixo na tabela 5 a descrição destas mensagens: Mensagem Objetivo Origem #config? #configtam_ipsx_ipstam_ipcx_ipc Tam_msnX_msnTam_linha1X_linha1 Tam_linha2X_linha2Tam_linha3X_linha4 Tam_linha4X_linha4TempExibicao #rconfigtam_ipsx_ipstam_ipcx_ipc Tam_msnX_msnTam_linha1X_linha1 Tam_linha2X_linha2Tam_linha3X_linha4 Solicita ao ECD a configuração atual Envio da sua configuração atual ao Servidor Envio de uma nova configuração ao ECD 9 Servidor ECD1200 Servidor

Tam_linha4X_linha4TempExibicao Tabela 5: Mensagens de Configuração Quando ECD recebe a mensagem #config?, ele envia uma mensagem de sua configuração. Onde esta mensagem é formada por uma única string que concatena todos os parâmetros de configuração, sendo da seguinte forma: Possui um cabeçalho #config; A separação dos dados na string é dada por um caractere que representa o tamanho do dado; A seqüência dos dados será: o Endereço IP do Servidor; o Endereço IP do ECD; o Máscara de rede do ECD; o Texto da linha 1 e texto da linha 2 (Mensagem Promocional 1); o Texto da linha 3 e linha 4 (Mensagem Publicitária 2); o E por último, vem um caractere que representa o tempo de exibição em segundos, referente à apresentação do nome do produto e o seu preço no display do ECD. Para exemplificar isto, considere a seguinte configuração: Configuração Tamanho da String Endereço IP do Servidor: 192.168.1.8 11 Endereço IP do ECD: 192.168.1.12 12 Mascara da Rede: 255.255.255.0 13 Linha1: Sweda 5 Linha2: Passe o produto... 18 Linha3: Obrigado 8 Linha4: Volte Sempre... 15 Tempo de Exibição: 6 segundos - Tabela 6: Exemplo de Configuração Como o tamanho do dado deve ser armazenando dentro de um caractere (byte), e longe da faixa dos caracteres especiais como "\r", "\n" ou "\0", é adicionado o código ASCII do caractere zero ("0"). Desse modo, os tamanhos dos dados da tabela 6 (11, 12, 13, 5, 18, 8, 15) e o tempo de exibição (6) passam a ser representados pelos respectivos caracteres: ";", "<","=", "5", "B", 8,? e "6", que são respectivamente "0"+11, "0"+12, "0"+13, "0"+5, "0"+18, 0 +8, 0 +15 e "0"+6. 10

Assim a mensagem de configuração seria a seguinte: "#config;192.168.1.8<192.168.1.12=255.255.255.05swedabpasse o produto...8obrigado?volte Sempre...6" Para reconfigurar o ECD, o Servidor envia a mensagem com cabeçalho #rconfig com dados escritos de maneira semelhante à mensagem #config, mostrada anteriormente. Por exemplo: "#rconfig;192.168.1.8<192.168.1.12=255.255.255.05swedabpasse o produto...8obrigado?volte Sempre...6" Após receber a nova configuração, o ECD atualiza seus arquivos de configuração, fecha a conexão atual, e efetua uma nova conexão ao Servidor com os novos parâmetros. 11