PROMOS fórum

FRED - grafické vývojové prostředí => FRED - platforma PL2 (CCPU) => Téma založeno: libor 05.04.2012, 06:37:13



Název: CCPU a 1200Bd na hlavním kanále
Přispěvatel: libor 05.04.2012, 06:37:13
Vytvořil jsem si projekt (ve FREDovi) pro jednotku PL2 a vše fungovalo, jak mělo. Následně jsem chtěl změnit nastavení rychlosti na 1200Bd. Použil jsem k tomu modul Modem. Po nahrání aplikace se program v jednotce rozeběhl a vše vypadalo ok. Po restartu jednotka už ale nenaběhla. Co s tím? To nejde na hlavním kanále použít rychlost 1200Bd?


Dotaz zákazníka (viz výzva (http://forum.elsaco.cz/index.php?topic=13.msg112#msg112)).


Název: Re: CCPU a 1200Bd na hlavním kanále
Přispěvatel: libor 05.04.2012, 06:54:26
Použití modulu MODEM pro změnu rychlosti na hlavním kanále je správné, ale bez dalších úprav funguje jenom pro rychlosti 2400 Bd a vyšší. Problém je totiž v tom, že tato rychlost (definovaná pomocí modulu MODEM) se nastaví i pro BIOS, jehož start je hlídán watchdogem. Pokud BIOS nespustí do daného okamžiku aplikaci, tak je jednotka zrestartována. Bohužel výpisy do hlavního kanálu, které provádí BIOS na rychlosti 1200 Bd, jsou natolik pomalé, že watchdog zabere ještě před spuštěním aplikace, takže jednotka se potom dokola restartuje.

Pokud je centrála v tomto stavu, tak bohužel jediná možnost na její zvonuoživení je pouze a jenom ve firmě ELSACO.

Jedno z možných řešení je zakázání výpisů BIOSu, což není jednoduchá věc.

Jednodušším řešením tohoto problému je použití modulu SerialComm. Jeho umístěním do projektu lze nastavit na vybraném kanále (tj. i hlavním) rychlost, paritu atd. Na rozdíl od modulu MODEM pak MUSÍ být modul SERIALCOMM v projektu přítomen, protože změna nastavení portu nemění nastavení v BIOSu, ale pouze nastavení aplikace.

Nastavení modulu SerialComm pro rychlost 1200Bd, 8bitů, žádná parita pro kanál 0 (COM0) je vidět na přiloženém obrázku.