Stránka 1 z 1
Zachycení dat na RS232
Napsal: 26 srp 2014, 06:08
od dj_Paul
Zdravím
Mám tu tool presseter a k němu je tiskárna připojená přes RS232, tu ale nemám
presseter:
http://www.inspection.ie/shopping_admin ... Presetters
tiskárna s´print-s:
http://www.ers-online.co.uk/files/produ ... ochure.pdf
Presseter nemá jiný výstup než tu RS232. Data na portu zachytím ale jsou mi téměř k ničemu.Potřebuji je uložit nejlépe do excelovské tabulky a tu potom nahrát do CNC soustruhu.
Potřebuji automatizovat odměření nástrojů. Obsluha musí naměřené hodnoty opisovat na papír a k těm pak ještě připočíst posunutí základních upínačů a to je zdroj chyb.
Podle našeho IT machra to jsou data ve strojovém kódu a ty nejsme schopni nijak rozluštit. Neexistuje na to nějakej emulátor tiskárny, nebo něco takového, co ty data chytí na portu a převede do čitelné podoby?
Napsal: 26 srp 2014, 07:41
od p32
Co to tam máte za toho IT machra ? To jsou holá data (informace). Žádnej strojový kód to není (aspoň podle mě). Podle mě je to nějaká tabulka dat, jenom ji musíš naformátovat podle délky řádku. Na to by se hodil DOS či W98 a dosovský editor, ale ne zmetek T602.
Napsal: 26 srp 2014, 07:54
od Harry.pa
Zdravím, trochu odbočím - proč proboha přepočítáváte naměřené hodnoty? Přece posunutí podle upínače se řeší nulovým bodem - obvykle G54, G55... Co tam máš za CNC řízení?
Napsal: 26 srp 2014, 08:33
od rnbw
p32: Preco sem tahas T602?
Podla mna to tlaci v grafickom mode. Toto je jeden graficky riadok:
Kód: Vybrat vše
00000000 07 1D 57 30 FF FF FF FF FF FF FF FF FF FF FF FF ..W0............
00000010 FF FF FF FF FF FF FF FF FF FF FF FF FF 00 00 00 ................
00000020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00000030 00 00 00 00
07 = neviem (mozno pipnutie?)
1D 57 30 = nastavenie sirky tlace
ostatne = data - vsimni si, ze je ich 48 B, tzn. 384 b, co je prave maximalna sirka tlace
Napsal: 26 srp 2014, 08:46
od rnbw
Skutocne je to graficky mod. Jednoduchy dekoder, vystup je v PBM. Je to trochu prasacina, ten buffer by sa mal alokovat dynamicky podla sirky riadku. V prilohe je prekonvertovany subor do PNG.
Kód: Vybrat vše
#include <stdio.h>
int main(int argc, char *argv[]) {
char buf[48];
long height_pos;
int lines = 0;
if (argc < 3) {
fprintf(stderr, "Usage: decode <file.prn> <decoded.pbm>\n");
return 1;
}
FILE *f = fopen(argv[1], "r");
if (!f) {
perror("Error opening input file");
return 2;
}
FILE *fout = fopen(argv[2], "w");
if (!fout) {
perror("Error opening output file");
return 2;
}
fprintf(fout, "P4\n%d ", 384);
height_pos = ftell(fout);
fprintf(fout, "%4d\n", 0);
while (!feof(f)) {
unsigned char b = fgetc(f);
if (b == 0x07)
continue;
if (b == 0x1d) {
unsigned char x = fgetc(f);
if (x == 0x57) {
unsigned char len = fgetc(f);
fread(buf, 1, len, f);
fwrite(buf, 1, len, fout);
lines++;
}
}
}
fseek(fout, height_pos, SEEK_SET);
fprintf(fout, "%4d", lines);
fclose(f);
fclose(fout);
return 0;
}
Napsal: 02 zář 2014, 11:47
od dj_Paul
rnbw děkuji, výstup odpovídá obrazovce presseteru
myslíš že by to šlo vypsat do excelu?
zajímají mě jen řádky X a Z a jen čísla do příslušné buňky
Ad mašiny: jsou to Okumy LU400
Systém běží na Win, tak bych chtěl presseter připojit přímo k mašině a zapisovat přímo do tabulky nástrojů.
Problém je v tom že mašiny mají dva revolvery a každý má nulový bod vůči obrobku jiný. Navíc vzhledem k rozmanitosti výrobků jsou nástroje dost různorodé a od různých výrobců.
Presseter má výstup pouze na tiskárnu.
Napsal: 02 zář 2014, 19:26
od rnbw
Kedze je vystup v grafickom mode, na prevod do textu by sa muselo urobit jednoduche "OCR". Stacilo by si vygenerovat vsetky cisla 0 az 9 a urobit program, ktory ich v grafickom vystupe najde a tym padom zisti z obrazku hodnotu. To sa mi uz ale programovat nechce
