[phpBB Debug] PHP Warning: in file [ROOT]/includes/session.php on line 214: htmlspecialchars(): charset `' not supported, assuming utf-8
[phpBB Debug] PHP Warning: in file [ROOT]/includes/session.php on line 216: htmlspecialchars(): charset `' not supported, assuming utf-8
[phpBB Debug] PHP Warning: in file [ROOT]/includes/session.php on line 87: htmlspecialchars(): charset `' not supported, assuming utf-8
[phpBB Debug] PHP Warning: in file [ROOT]/includes/session.php on line 129: htmlspecialchars(): charset `' not supported, assuming utf-8
[phpBB Debug] PHP Warning: in file [ROOT]/includes/session.php on line 130: htmlspecialchars(): charset `' not supported, assuming utf-8
[phpBB Debug] PHP Warning: in file [ROOT]/includes/session.php on line 1685: htmlspecialchars(): charset `' not supported, assuming utf-8
PROMOTIC FORUM • View topic - Komunikace po RS232

Komunikace po RS232

Toto je hlavní technické fórum pro diskusi o problémech při vytváření PROMOTIC aplikací a jejich řešení.

Komunikace po RS232

Postby tichylibor » Mon 04. Apr 2016 12:52:21

Dobrý den,
narazil jsem na problém při komunikaci s čtečkou čárových kódů.

Čtečka posílá data přes RS232 jako textový řetězec o délce 13 znaků.
Přijde 8 znaků, uloží se do proměnné, ale těch dalších 5 příchozích znaků je přepíše.

Po příjmu dat se zvýší "OK all transmissions counter" o 2.

Mám shodně nastavené parametry komunikace (rychlost, stopbity, paritu, ...)
V záložce "Data-příjem" mám pouze jednu proměnnou "prijataData" typu String o délce 100.
Timeout mezi příjmem dvou znaků je 100 ms (zkoušel jsem zvyšovat, ale nepomohlo to).

Myslel jsem, že Promotic přijme znak, vloží ho do proměnné "prijataData",
a pokud do 100 ms nepřijde další znak, tak ukončí příjem.

Pokud zkusím odchytit data z čtečky (např. programem Hercules), tak řetězec chodí celý a správně.

Nevíte prosím v čem může být problém?
Děkuji.

Libor Tichý
tichylibor
 
Posts: 1
Joined: Mon 04. Apr 2016 10:46:41

Re: Komunikace po RS232

Postby Petr Návrat » Fri 08. Apr 2016 8:07:10

Dobrý den
Předpokládám že používáte Promotic komunikační ovladač PmChar.
Tento ovladač ukončí příjem za následujících podmínek:

- když vznikne timeout mezi příjmem znaků - ten jak říkate máte 100 ms ale když to dáte víc (např. 10000ms ??) tak se to chová stejně. Tím to tedy asi nebude.
- když počet přijatých znaků bude roven maximálnímu počtu očekávaných znaků. Vy to máte nastaveno na 100 znaků, takže to tím také asi nebude.
- pokud je v parametrech protokolu nebo v parametrech zprávy nastaven konfigurátor "používat ETX" a pokud ETX máte nastaven na znak který se ve zpráve objeví.
ETX představuje znak příznaku konce zprávy.
Nevím zda tento znak máte nastaven.

Jinak si zatím nedovedu představit proč se příjem ukončí předčasně.
Pomohlo by kdybyste mi poslal Váš projekt (na mail: navrat@microsys.cz) a raději i výpis z INFO systému z položku /COMM/PmChar.
Petr Návrat
Administrátor
 
Posts: 79
Joined: Thu 13. Dec 2012 14:32:08


Return to Nevím jak...

Who is online

Users browsing this forum: No registered users and 5 guests