Índice:

Reengenharia de um dispositivo baseado em série: 6 etapas (com imagens)
Reengenharia de um dispositivo baseado em série: 6 etapas (com imagens)

Vídeo: Reengenharia de um dispositivo baseado em série: 6 etapas (com imagens)

Vídeo: Reengenharia de um dispositivo baseado em série: 6 etapas (com imagens)
Vídeo: ENGENHARIA DE SOFTWARE - AULA 02. Processos de Software e Modelos 2024, Novembro
Anonim
Reengenharia de um dispositivo baseado em série
Reengenharia de um dispositivo baseado em série

Reengeneering a Serial interfaceTarged for reengeneering Fluke 6500 Farei isso porque o software original da Fluke é muito "hostil ao usuário, não intuitivo" ou como meu colega de trabalho diz "f * d up". Vamos começar o mistério.

Etapa 1: Etapa 1: Pesquisa

Etapa 1: Pesquisa
Etapa 1: Pesquisa

Meu dispositivo é o testador de aparelhos portáteis Fluke 6500-2.

Pesquisando informações sobre o dispositivo e a empresa. Freqüentemente, os dispositivos são rotulados apenas por outra empresa. Então temos que investigar mais. Este parece ser um original.

O hardware do Appliance Tester é diferente em alguns países porque os plugues são diferentes.

Existem pelo menos 2 versões, a primeira com e uma sem teclado. A versão mais recente é construída com uma porta USB, mas acho que os dados de envio ainda são os mesmos.

Para o nosso dispositivo não encontraremos muito. Apenas preço, lojas, software original, informações sobre medição e manuais. infelizmente, não achei nada importante sobre a interface serial. Apenas para outros dispositivos, mas as interfaces são muito diferentes. Eu encontro as configurações para as portas de comunicação.

Etapa 2: Etapa 2: conectar o testador ao PC

Etapa 2: conectar o testador ao PC
Etapa 2: conectar o testador ao PC
Etapa 2: conectar o testador ao PC
Etapa 2: conectar o testador ao PC
Etapa 2: conectar o testador ao PC
Etapa 2: conectar o testador ao PC
Etapa 3: Instale um software de terminal
Etapa 3: Instale um software de terminal
Etapa 3: Instale um software de terminal
Etapa 3: Instale um software de terminal

Aqui está um Terminal freeware:

circuitdesolator.blogspot.com/2010/12/termi… muito obrigado por este br @ y.

As configurações devem ser padrão (e eu encontrei uma verificação online), ou pelo menos nada incomum

Porta COM: 4 (consulte o gerenciador de dispositivos)

Baudrate: 9600

Databits: 8 Paridade: Sem paridade ou n

Controle de fluxo: Nenhum Stopbits: 1

Clique no botão Conectar. Agora estamos ouvindo o Com-Port.

No Application Tester, temos que iniciar a comunicação via:

"PC / Druck" (ou PC / impressão)

Dados pré-escolhidos "Iniciar" -> PC

"Iniciar" pré-escolheu todos os dados (todos os registros)

"Iniciar" pré-selecionado (último formato) eu uso FLUKE DMS

Agora vemos que o dispositivo está enviando algo.

O Terminal tem que mostrar algo. (Veja fotos)

Para formatos possíveis:

o dispositivo pode enviar.csv,. FLK,. PRN. na verdade. FLK é apenas um arquivo de texto, no modo.csv, sinto falta de informações, então não as uso

o.prn é apenas um arquivo de impressão para impressão direta.

Etapa 4: Etapa 4: Analisar

Leia os dados (consulte DMS. FLK), armazenei todos os modos de teste automático:

Se eu salvar os dados no CF-Card do dispositivo e os ler no meu PC, obtenho exatamente o mesmo resultado.

O formato parece muito, muito antigo. Um tipo de formato de impressão para impressora boa ou algo parecido. Todos os dispositivos que testei estavam bem. então temos que fazer outra corrida para ver o que muda se algo está ruim. Na primeira tentativa, numero os dispositivos exatamente como no modo automático.

o que mais, vamos dar uma olhada nas primeiras linhasMODEL 6500-02 15 caracteres, bem claro, o número do meu modelo

SN 1801234 18 caracteres, número de série do meu dispositivo

uma linha vazia

NÚMERO DE TESTE 1 18 caracteres, o primeiro teste executado que armazenei, este é um contador

DATA 25-AGO-06 18 chars, data em que testei o aparelho, não acertei o relógio, então não estou certo, porque o aparelho às vezes perdia o relógio e a reinicialização é hostil ao usuário, ignoro esta linha no momento

APP NO 145 18 caracteres, o número do dispositivo que digitei, posso definir 2-3 outras coisas armazenando o departamento de linha ou comentário, mas se eu tiver que digitar 40 vezes eu enlouqueço, então preencho apenas esta linha no mundo real

MODO DE TESTE 145 AUTO 18 caracteres, o modo de teste que usei

SITE 18 caracteres, não faço ideia

SITE1 18 caracteres, ainda não faço ideia

SITE2 18 caracteres, realmente não tenho ideia

USUÁRIO 18 caracteres, e isso também, não tenho ideia

VISUAL CHECK P 18 chars, a primeira medição em cada teste é para verificar se o decice está OK. P é para positivo, eu acho

BOND RANGE 200mA 18 chars, medição 1 esta é a faixa da medição, existem algumas faixas possíveis (consulte o manual do dispositivo)

TERRA 0,28 OHM P 18 caracteres, medição 1 este é o resultado da medição

LIMITE 0,30 OHM 18 caracteres, medição 1 este é o limite da medição INS 1> 299,9 MEG P 18 caracteres, medição 2 este é o resultado

LIMIT 1.0 MEG 18 chars, medição 2 este é o limite

PN CONTINUIDADE P 18 caracteres, medição 3 este é o resultado

CARGA 160 VA P 18 caracteres, medição 4 este é o resultado LIMITE 3700 VA 18 caracteres, medição 4 este é o limite CORRENTE 0,6 AP 18 caracteres, medição 5 este é o resultado LIMITE 16,0 A 18 caracteres, medição 5 este é o limite LKGE 0,03 mA P 18 caracteres, medição 6 este é o resultado LIMITE 3,50 mA 18 caracteres, medição 6 este é o limite e novamente uma linha vazia

repita o formato semelhante para outras gravações.

FIM DOS DADOS 11 caracteres, muito claro

Etapa 5: Etapa 5: hora de quebra-cabeças

Etapa 5: hora de quebra-cabeça
Etapa 5: hora de quebra-cabeça
Etapa 5: hora de quebra-cabeça
Etapa 5: hora de quebra-cabeça
Etapa 5: hora de quebra-cabeça
Etapa 5: hora de quebra-cabeça

Veja, verifique, teste

O que eu faço até agora é quase o mesmo que tenho que fazer no Fluke DMS. Isso é irritante, porque todos os outros testadores são lidos pelo PC, então ninguém precisa apertar botões lá. E em qualquer caso eu faço isso todas as vezes e esperando, mas nada acontece.

Vamos ver se podemos fazer isso melhor do que o Fluke. Manipule a comunicação.

Acho que isso é possível porque o desenvolvedor que construiu isso precisava de uma maneira de programar e depurar.

Nunca fiz nada antes e mostro o que tento e como trabalho.

1. Experimentado aleatoriamente como 1, aaa

mostra que o dispositivo está recebendo algo por "1" e emite um bipe, por "aaa" faz 3 bips. Yay, este é um canto goog. Isso me diz que se eu escrever comandos como "wakeup", "listen", "start", não funcionará porque cada char é enviado como um comando separado.

Qual é o próximo. É hora de perguntar ao pato-pato.

Depois de ler eu encontrei comandos usados por telecomunicação chamados ATcommands mas sem sorte, nada acontece.

Depois que encontrei códigos ASCII no terminal de Br @ y, tenho que escrevê-los com um # na frente do comando ASCII que irei escrever. Então eu tento # 001 e WOW algo aconteceu no testador agora ele mostra o RPE-Check (200mA).

Eu quero mais disso, encontrei uma tabela ASCII

www.torsten-horn.de/techdocs/ascii.htm

Eu montei uma mesa e tento todos os comandos e veja o que acontece e volto para a tela principal. Isso vai levar algum tempo.

Faltam algumas teclas para que o próximo texto seja executado em uma tela onde eu veja mais.

O resultado você pode ver nas tabelas 1-3.

código para terminal; Zeichen; botão; # 0; NUL ^ @;;

# 1; SOH ^ A; RPE (200mA);

# 2; STX ^ B; RPE (10A);

# 3; ETX ^ C;;

# 4; EOT ^ D; RISO SK1;

# 5; ENQ ^ E; IEA SK1;

# 6; ACK ^ F; IB;

# 7; BEL ^ G; IL / ID SK1;

# 8; BS ^ H; Teste de Leitungs; Teste de fio

# 9; TAB ^ I; Sichtprüfung; Verificação visual

# 10; LF ^ J;;

# 11; VT ^ K; Teste automático;

# 12; FF ^ L; Iniciar;

# 13; CR ^ M; Enter;

# 14; SO ^ N; Parar; Parar

# 15; SI ^ O; Configuração;

# 16; DLE ^ P; Speicher; Armazenamento

# 17; DC1 ^ Q; Backspace;

# 18; DC2 ^ R; PC / Druck; PC / impressão

# 19; DC3 ^ S; Ja; Sim

# 20; DC4 ^ T; Nein; Não

# 21; NAK ^ U; Hilfe; Ajuda

# 22; SYN ^ V; hoch; up

# 23; ETB ^ W; runter; descido

# 24; CAN ^ X; links; esquerdo

# 25; EM ^ Y; rechts; certo

# 26; SUB ^ Z;;

# 27; Esc ^ [; Leertaste; Espaço

# 28; FS ^; Leertaste; Espaço

# 29; GS ^]; Leertaste; Espaço

# 30; RS ^^; Leertaste; Espaço

# 31; US ^ _; Leertaste; Espaço

# 32; SP; Leertaste; Espaço

#33;!;!;

#34;"""";"""";

#35;#;#;

#36;$;$;

#37;%;%;

#38;&;&;

#39;';';

#40;(;(;

#41;););

#42;*;*;

#43;+;+;

#44;,;,;

#45;-;-;

#46;.;.;

#47;/;/;

#48;0;0;

#49;1;1;

#50;2;2;

#51;3;3;

#52;4;4;

#53;5;5;

#54;6;6;

#55;7;7;

#56;8;8;

#57;9;9;

#58;:;:;

#59;";";";";

#60;<;<;

#61;=;=;

#62;>;>;

#63;?;?;

# 65; A; A;

# 66; B; B;

# 67; C; C;

# 68; D; D;

# 69; E; E;

# 70; F; F;

# 71; G; G;

# 72; H; H;

# 73; I; I;

# 74; J; J;

# 75; K; K;

# 76; L; L;

# 77; M; M;

# 78; N; N;

# 79; O; O;

# 80; P; P;

# 81; Q; Q;

# 82; R; R;

# 83; S; S;

# 84; T; T; #

85; U; U;

# 86; V; V;

# 87; W; W;

# 88; X; X;

# 89; Y; Y;

# 90; Z; Z;

#91;[;[;

#92;;;

#93;];];

#94;^;^;

#95;_;_;

#96;`;`;

# 97; a; a;

# 98; b; b;

# 99; c; c;

# 100; d; d;

# 101; e; e;

# 102; f; f;

# 103; g; g;

# 104; h; h;

# 105; i; i;

# 106; j; j;

# 107; k; k;

# 108; l; l;

# 109; m; m;

# 110; n; n;

# 111; o; o;

# 112; p; p;

# 113; q; q;

# 114; r; r;

# 115; s; s;

# 116; t; t;

# 117; u; u;

# 118; v; v;

# 119; w; w;

# 120; x; x;

# 121; y; y;

# 122; z; z;

#123;{;{;

#124;|;|;

#125;};};

#126;~;;

# 127; DEL;;

# 128;;; # 129;; RPE (200mA);

# 130;; RPE (10A);

#131;;;

# 132;; RISO SK2;

# 133;; IEA SK2;

# 134;; IB;

# 135;; IL / ID SK2;

# 136;; Teste de Leitungs;

# 137;; Sichtprüfung;

#138;;;

# 139;; Teste automático;

#140;;;

#141;;;

# 142;; Stopp;

# 143;; Configuração;

# 144;; Speicher;

#145;;;

# 146;; PC / Druck;

#147;;;

#148;;;

# 149;; Hilfe;

#150;;;

Resultado: Temos que enviar Char 18 para PC / Impressão e 3 vezes Char 12 para Start, para iniciar a função de envio.

Etapa 6: Etapa 6: Ler Arquivo para Excel

O projeto está crescendo rapidamente e em grande. Eu vou fazer uma pausa aqui.

Ler isso com o Excel é um grande quebra-cabeça. Não posso escrever tudo aqui. Este é um projeto para o opensouce e estou trabalhando para engenheiros de software que estão ajudando com isso.

Mas, uma última parte, quero mostrar. Lendo arquivos com o Excel.

Aktivate "ferramentas de desenvolvedor" no Excel.

vá para o editor Visualbasic.

insira isso no Módulo ou Planilha:

Editor instrutível não é bom para código, então anexei o código como VBAcode.txt

Eu adiciono o DMS. FLK também. Recebo do cartão CF do meu testador de aplicativos.

Você também pode ler os dados copiados do Terminal e salvá-los como.txt.

Agora eu começo os grandes quebra-cabeças:

  1. obter dados com o testador de formulário direto do Excel
  2. mover valores para documentos legíveis
  3. salvar dados no banco de dados
  4. exportar para o word

Obrigado e saudações a FAU / IAA, linksunten.indymedia, FLUKE, www.herber.de/forum e muitos mais.

Zynch

Recomendado: