Zdravím,
Mám problém s komunikací dvou počítačů po sběrnici 485. Použitá technologie: na jedné straně průmyslový počítač AutoCont s komunikační kartou MOXA IC-132, na druhé straně jakýkoliv počítač, který má mým vlastním programem simulovat PLC, připojené k tomu průmyslovému počítači.
Nejprve jsem pomocí převodníku 485/232 a terminálu poslouchal jak moxa vysílá opakovaně jakási data. Podle specifikace protokolu by to měl být telegram s obsahem 10-00-21-69-6A-16 (hex). Komunikační rychlost 2400 baud je známá, zbytek nastavení neznámý. Při použití jakéhokoliv nastavení parity, počtu bitů ve znaku a počtu stopbitů však výstup na terminálu poslouchajícího PC neodpovídal, nebo odpovídal jen částečně (první a poslední znak apod). Zkusil jsem tedy odposlech osciloskopem a logickým analyzáorem, ze kterého vypadlo krásně čitelných 66 bitů, tedy 6 znaků po 11 bitech, které přesně odpovídaly znakům 100021696A16 se sudou paritou a jedním stopbitem. Nastavení přenosu by tedy mělo být 2400bd 8/O/1.
Ověřoval jsem pomocí osciloskopu rychlost komunikace, zda si "neujíždí" vzorkování, a podezření se potvrdilo. Pokud správně počítám, při 11 bitech (startbit + 8bitů znak + parita + 1 stopbit) a rychlosti 2400 by se mělo přenášet 26400 bitů za sekundu, což znamená 0.0378ms na jeden bit. Když vysílá moxa v průmyslovém počítači, trvá jí jeden bit 0.0384ms a když vysílá můj PC pomocí redukce, trvá mu jeden bit 0.0418ms.
Předpokládal bych, že tak jak je můj PC zabrzděn při odesílání dat, bude zabrzděn i při vzorkování přijímaného signálu, takže vzorkuje o něco pomaleji než dostává data, a tím vzniká v některých místech přenosu přeslech, a lezou z něj jen mírně poškozená data (například namísto 10-00-21-69-6A-16 terminál vypisuje 10-00-01-7F-90-16, odpovíá začátek a konec kde se náhodou vzorkování zrovna "trefilo").
Můj dotaz tedy zní - existuje způsob, jak srovnat (mírně zrychlit do nějakého tolerančního rámce) vzorkování na straně obyčejných PC s převodníkem 485/232 (popřípadě 485/USB - vyzkoušel jsem několik převodníků na několika počítačích, USB redukce i nativní COM porty, výsledky byly vesměs obdobné)?
Je nutné zůstat u nastavení 2400bd 8/O/1, SW v průmyslovém PC to tak má napevno nastavené.
Díky, N.