Autor Téma: TMS Async32 - komponenta VaComm  (Přečteno 149 krát)

Offline Leo.xxl

  • Nováček
  • *
  • Příspěvků: 16
  • Karma: 0
TMS Async32 - komponenta VaComm
« kdy: 17-05-2019, 16:03:27 »
Dobý den.
Bych chtěl poprosít ještě jednou o pmoc.
Muj první problem jsem řešil tad.
https://forum.delphi.cz/index.php/topic,16653.0.html

Pokoušim se komunikovat s vahou.
Odesilam ji HEX a ona mi zas vrací HEX.
Synapse sklamalo, ale podařilo se mi to zprovoznít přes komponentu  VaComm.

Když jsem přijimal data v lazarusu v HEX, a vracelo se mi to jako hex po jednom znaku, našel jsem na netu řešení.

Kód: Delphi [Vybrat]
  1. procedure TForm1.LazSerial1RxData(Sender: TObject);
  2. var
  3.   RecvData: array[0..255] of char;
  4. begin
  5. LazSerial1.synser.RecvBufferEx(@RecvData,250,10);
  6. Memo1.Lines.AddText(RecvData);    
  7. end;

Tentyž problem mám s tu komponentou VaComm.

Kód: Delphi [Vybrat]
  1. procedure TForm1.VaComm1RxChar(Sender: TObject; Count: Integer);
  2. var
  3. text: string;
  4. begin
  5. text:=Vacomm1.ReadText;
  6. Memo1.Lines.Add(text);
  7. end;

http://img24.cz/images/28702939631771532880.png

Komponenta ma proceduru VaComm1RxBuf ale hold lama  ;)
« Poslední změna: 17-05-2019, 16:24:31 od Leo.xxl »

Offline geby

  • Plnoletý
  • ***
  • Příspěvků: 207
  • Karma: 16
    • Verze Delphi: 7, 2007, XE2, 10.2
    • Synapse
Re:TMS Async32 - komponenta VaComm
« Odpověď #1 kdy: 18-05-2019, 07:07:11 »
Takze na začátku jsi to přes SynaSer v pohodě četl. Pak jsi to zkusil v jiném projektu, a nešlo ti to. SynaSer tě tedy zklamal. Čím? Že jsi nebyl schopen zjistit, co děláš jinak? A místo toho, abys zapatral po příčině problému, zkoušíš jiné komponenty, co ti padnou pod ruku? Ach...

Offline Leo.xxl

  • Nováček
  • *
  • Příspěvků: 16
  • Karma: 0
Re:TMS Async32 - komponenta VaComm
« Odpověď #2 kdy: 18-05-2019, 07:29:49 »
Ne špatně.
Prví co jsem zkoušel a fungovalo to bylo v lazarusu s tou komponentou LazSerial co použivá ty upravene unity od synapse.
Chtěl jsem ale ten program napsat v delphi a když to fungovalo s těmi unitami o synapse, myslel jsem si, že to pojede přes ně i v delphi.

On je největší problem, že ta vaha není moje a že ji nemám doma.
Jezdím tam tak 1 - 2 x týdně na hodku.

Offline vandrovnik

  • Guru
  • *****
  • Příspěvků: 741
  • Karma: 42
    • Verze Delphi: 10.3
Re:TMS Async32 - komponenta VaComm
« Odpověď #3 kdy: 18-05-2019, 10:54:05 »
Na podobné testování jsem kdysi používal na netu nalezený program, který uměl tunelovat sériovou komunikaci přes TCP, bohužel už si nepamatuju název (na mém počítači vytvořil virtuální COM port). Byl buď zdarma, nebo to byla nějaká časově omezená verze, což mi ale na vývoj stačilo. Měl jsem VPN připojení do sítě zákazníka, takže jsem s jeho váhou mohl komunikovat, jako kdybych ji měl připojenou u sebe.

Offline Leo.xxl

  • Nováček
  • *
  • Příspěvků: 16
  • Karma: 0
Re:TMS Async32 - komponenta VaComm
« Odpověď #4 kdy: 18-05-2019, 11:36:40 »
Tak ono by nebyl problem přes vzdalenou plochu.
Jenomže vaha se použiva každy den 24 hod.
Takže když jsem tam, furt přehazují ten kabl s jejích počitače do meho.

Jinak jsem našel na jedných činských strankach

Kód: Delphi [Vybrat]
  1. procedure TForm1.VaComm1RxChar(Sender: TObject; Count: Integer);
  2. var
  3.   buf: array[0..255] of byte;
  4. begin
  5.   vacomm1.ReadBuf(buf,256);
  6. end;
  7.  
Takže už to mam v array a jen to převest do řetězce.  ;)

Offline geby

  • Plnoletý
  • ***
  • Příspěvků: 207
  • Karma: 16
    • Verze Delphi: 7, 2007, XE2, 10.2
    • Synapse
Re:TMS Async32 - komponenta VaComm
« Odpověď #5 kdy: 18-05-2019, 21:09:50 »
Ne špatně.
Prví co jsem zkoušel a fungovalo to bylo v lazarusu s tou komponentou LazSerial co použivá ty upravene unity od synapse.
Chtěl jsem ale ten program napsat v delphi a když to fungovalo s těmi unitami o synapse, myslel jsem si, že to pojede přes ně i v delphi.

Proc spatne? Koukal ses, co je to ten LazSerial? To totiz neni nic jineho, nez velmi lehka (a z principu nepodstatna) nadstavba nad Synaser knihovnou. Ano, neni tam uplne originalni verze, je tam mirne modifikovcana stara verze Synaseru, ale zadna z tech modifikaci se netyka kodu pro windows! Kdyz si ty dva zdrojaky porovnas a neudes si vsimat kodu pro jine platformy, tak jsou uplne stejne.

Takze ti to pres Synaser opravdu funguje. ::)