Zachycení dat na RS232
Moderátor: Moderátoři
Zachycení dat na RS232
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?
- Přílohy
-
2.TXT- Zachycená data
- (10.5 KiB) Staženo 160 x
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
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;
}- Přílohy
-
decoded.png- (650 bajtů) Staženo 170 x
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.