Stránka 1 z 1

Komunikace na XPressNet

PříspěvekNapsal: čtv 14 čer, 2018 6:39 am
od belgarat
Cau,

ve vedlejsim vlakne se nakously rozdil Loco vs XpressNet; tady bych se rad venoval moznostem jak zneuzit XpressNet pro dalsi komunikaci mezi zarizenimi. Prozatim jsem pochopil tolik, ze data se koduji 9 bitove, kde 9 bit je vzdy 0, KROME "call byte" (vyzva a prideleni casoveho slotu s adresou zarizeni) odesilanym z centraly. Zkouseli jste nekdo na "piratsky" zpusob, jak by si 2 zarizeni dokazala poslat data bez ucasti centraly, to znaci jen vyuzit prideleneho slotu a sdilene sbernice ?

Proc to chci: budu casem stavet "jako minimouse" zalozenou na Arduinu (Fulda nema zdrojaky ani HEX k dispozici, takze alternativa) a protoze mam 2 decka, napadlo mne zjednodusit jim "predani" vozidla kdyz bude kazde obsluhovat obvod jedne stanice. Na to si ale ty 2 minimouse musi aspon trochu povidat a idealni by bylo vyuzit (zatim) jediny kabel, ktery v sobe budou mit - XPressnet.

Prozatim mne napadlo jen "reseni", kdy zarizeni A na vyzvu "normal inquiry" vysle co potrebuje pricemz pouzije header byte s 9. bitem 0 + (napr. s adresou cile), zatimco zarizeni "B" hlida nejen sve sloty, ale take sloty sveho kolegy "A" a pokusi se interpretovat "header byte" s nejakou (zatim) nedefinovanou kombinaci (napr 1111 xxxx) nasledovanou "svymi" daty. Otazka je, jak se vyporada prikazova stanice s Xpressnet packetem ktery nezna, jestli se nebude treba snazit interpretovat dalsi prichazejici byte jako 'header'. Ve specifikaci neni pozadovana reakce prikazove stanice popsana.

Alternativne by se dal "znasilnit" nejaky packet pro lokomotivu id > 9999, ale znamenalo by to prenaset 3 byte balastu a jen jeden nebo 2 byte uzitecnych dat. Doufam, ze by centrala pri nesmyslnem cisle loko nedelala bordel na DCC opakovanim nesmyslnych packetu pro neexistujici loko.

Re: Komunikace na XPressNet

PříspěvekNapsal: čtv 14 čer, 2018 7:19 am
od JendaTT
belgarat píše:Proc to chci: budu casem stavet "jako minimouse" zalozenou na Arduinu (Fulda nema zdrojaky ani HEX k dispozici, takze alternativa) a protoze mam 2 decka, napadlo mne zjednodusit jim "predani" vozidla kdyz bude kazde obsluhovat obvod jedne stanice.

Trochu odbočím - také mám děcka a každý sám si ovládá lokomotivy na starém androidím telefonu pomocí app Z21. A když si řeknou, že jeden posílá Brejle s osobákem druhému, tak když souprava dorazí k druhé stanici, začne jí svým smartem ovládat ten druhý. Prostě si jí "ukradnou" a jen musí se domluvit, kdo a kdy danou lokomotivu ovládá. A ano, už se párkrát stalo, že oba zapomenou, že někde jede lokomotiva, kterou v té době nikdo neovládá :-)

Re: Komunikace na XPressNet

PříspěvekNapsal: čtv 14 čer, 2018 7:29 am
od belgarat
JendaTT píše:
belgarat píše:Proc to chci: budu casem stavet "jako minimouse" zalozenou na Arduinu (Fulda nema zdrojaky ani HEX k dispozici, takze alternativa) a protoze mam 2 decka, napadlo mne zjednodusit jim "predani" vozidla kdyz bude kazde obsluhovat obvod jedne stanice.

Trochu odbočím - také mám děcka a každý sám si ovládá lokomotivy na starém androidím telefonu pomocí app Z21. A když si řeknou, že jeden posílá Brejle s osobákem druhému, tak když souprava dorazí k druhé stanici, začne jí svým smartem ovládat ten druhý. Prostě si jí "ukradnou" a jen musí se domluvit, kdo a kdy danou lokomotivu ovládá. A ano, už se párkrát stalo, že oba zapomenou, že někde jede lokomotiva, kterou v té době nikdo neovládá :-)


Ano to je zalozni plan. Ale stejne by mne zajimala moznost "zneuzit" XpressNet.

Re: Komunikace na XPressNet

PříspěvekNapsal: čtv 14 čer, 2018 7:41 am
od fulda
belgarat píše:ve vedlejsim vlakne se nakously rozdil Loco vs XpressNet; tady bych se rad venoval moznostem jak zneuzit XpressNet pro dalsi komunikaci mezi zarizenimi.
Možná ti zjednoduším život informací, že XpressNet je derivátem průmyslové sběrnice Profi Bus. Její popis se v automatizaci hledá snáze.
belgarat píše:Prozatim jsem pochopil tolik, ze data se koduji 9 bitove, kde 9 bit je vzdy 0, KROME "call byte" (vyzva a prideleni casoveho slotu s adresou zarizeni) odesilanym z centraly.
Ano, tohle je běžné pro sběrnice typu single master, multiple slave. Je pro to podpora v hardware mikrořadičů, celá řada z nich má vlastnost, která umožňuje říci, že se data na sběrnici ignorují, dokud nepřijde "header", tedy slovo s nejvyšším byte=1.
belgarat píše:Zkouseli jste nekdo na "piratsky" zpusob, jak by si 2 zarizeni dokazala poslat data bez ucasti centraly, to znaci jen vyuzit prideleneho slotu a sdilene sbernice ?
Ano, pokud si chceš přešíst teorii, tak několik málo příkladů ze života:
Hodně se snaží Wolfgang Kufr ve svém projektu BiDiB. Praktické použití najdeš třeba u Roco MM při "posílání knihoven z jedné MM na druhou". Pak se dají najít podle mého názoru méně úspěšné pokusy - například R-Bus.

belgarat píše:Proc to chci: budu casem stavet "jako minimouse" zalozenou na Arduinu (Fulda nema zdrojaky ani HEX k dispozici, takze alternativa) a protoze mam 2 decka, napadlo mne zjednodusit jim "predani" vozidla kdyz bude kazde obsluhovat obvod jedne stanice. Na to si ale ty 2 minimouse musi aspon trochu povidat a idealni by bylo vyuzit (zatim) jediny kabel, ktery v sobe budou mit - XPressnet.
Ano, hrubým odhadem se ti bude hodit ta metoda, kterou používá Roco MM pr knihovny. (BTW - MM v sobě má také Arduino :) )

belgarat píše:Prozatim mne napadlo jen "reseni", kdy zarizeni A na vyzvu "normal inquiry" vysle co potrebuje pricemz pouzije header byte s 9. bitem 0 + (napr. s adresou cile), zatimco zarizeni "B" hlida nejen sve sloty, ale take sloty sveho kolegy "A" a pokusi se interpretovat "header byte" s nejakou (zatim) nedefinovanou kombinaci (napr 1111 xxxx) nasledovanou "svymi" daty. Otazka je, jak se vyporada prikazova stanice s Xpressnet packetem ktery nezna, jestli se nebude treba snazit interpretovat dalsi prichazejici byte jako 'header'. Ve specifikaci neni pozadovana reakce prikazove stanice popsana.
Podívej se na tu knihovnu v MM, to je trochu praktičtější. Pracuje to tak, že se identifikuješ podle bajtu bezprostředně následujícím po bajtu s bitem 9=1. Tedy z pohledu centrály je to normální request, kterému nerozumí, takže na něj odpoví chybou, ale sousední zařízení jej chápe jako broadcast, na který reaguje po svém.

Re: Komunikace na XPressNet

PříspěvekNapsal: čtv 14 čer, 2018 8:09 am
od belgarat
fulda píše: trochu praktičtější. Pracuje to tak, že se identifikuješ podle bajtu bezprostředně následujícím po bajtu s bitem 9=1. Tedy z pohledu centrály je to normální request, kterému nerozumí, takže na něj odpoví chybou, ale sousední zařízení jej chápe jako broadcast, na který reaguje po svém.


GUT ! Obaval jsem se toho, ze kdyz centrala nebude rozumet headeru, tak nejak "zrusi" slot a zacne vymyslet nesmysly; napr. pri headeru s porusenou paritou posila (?) nejaky ack request (nemam ted specifikaci pred sebou)

Re: Komunikace na XPressNet

PříspěvekNapsal: čtv 14 čer, 2018 8:49 am
od fulda
belgarat píše:
fulda píše: trochu praktičtější. Pracuje to tak, že se identifikuješ podle bajtu bezprostředně následujícím po bajtu s bitem 9=1. Tedy z pohledu centrály je to normální request, kterému nerozumí, takže na něj odpoví chybou, ale sousední zařízení jej chápe jako broadcast, na který reaguje po svém.

GUT ! Obaval jsem se toho, ze kdyz centrala nebude rozumet headeru, tak nejak "zrusi" slot a zacne vymyslet nesmysly; napr. pri headeru s porusenou paritou posila (?) nejaky ack request (nemam ted specifikaci pred sebou)

To ne, pokud poíláš paket, který je korektní, jen jej centrála nezná, tak ti tiše oznámí, že ten příkaz nezná a nebude na něj reagovat.

Re: Komunikace na XPressNet

PříspěvekNapsal: čtv 14 čer, 2018 9:04 am
od belgarat
fulda píše:
belgarat píše:
fulda píše: trochu praktičtější. Pracuje to tak, že se identifikuješ podle bajtu bezprostředně následujícím po bajtu s bitem 9=1. Tedy z pohledu centrály je to normální request, kterému nerozumí, takže na něj odpoví chybou, ale sousední zařízení jej chápe jako broadcast, na který reaguje po svém.

GUT ! Obaval jsem se toho, ze kdyz centrala nebude rozumet headeru, tak nejak "zrusi" slot a zacne vymyslet nesmysly; napr. pri headeru s porusenou paritou posila (?) nejaky ack request (nemam ted specifikaci pred sebou)

To ne, pokud poíláš paket, který je korektní, jen jej centrála nezná, tak ti tiše oznámí, že ten příkaz nezná a nebude na něj reagovat.


Boze ja su vul. Az ted mi doslo ze spodni bity v reponse header byte koduji pocet datovych byte v packetu. No, pak uz to smysl dava. Predpokladam, ze kvuli zpetne kompatibilite to budou cele dolni 4 bity, takze muzu beztrestne poslat az 16 byte "nakladu" (?)

Re: Komunikace na XPressNet

PříspěvekNapsal: pát 13 črc, 2018 10:11 am
od Jacek
Chci se zeptat majitelů interface LI-USB od Lenz:
https://www.walthers.com/media/catalog/ ... -liusb.gif
Co znamená rychle blikající červená dioda?

Z nějakého důvodu mi náhle po 10 letech fungování vypadla komunikace mezi kolejištěm a PC. Nakonec mě napadlo vyměnit kabel xpressnet a už to šlape, dioda trvale svítí. Jen nechápu co značí to blikání, přerušení vodiče nebo zkrat?

Re: Komunikace na XPressNet

PříspěvekNapsal: pát 13 črc, 2018 11:51 am
od fulda
odpovím ti trochu vyhýbavě, nemám tu LI-USB a nemohu si to ověřit.

Určitě to neznamená zkrat, ten se v každém případě indikuje jako "AUS".
Rychlé blikání myslím znamená, že se nedaří rozpoznat "call byte". To znamená, že dráty A-B nevedou signál. To jsou ty prostřední dva na telefonním kabelu.

Ale také může znamenat chybně nahraný firmware, což se u tebe nepotvrdilo.

Re: Komunikace na XPressNet

PříspěvekNapsal: pát 13 črc, 2018 11:55 am
od mpinta
Toto by mohlo stačit...
http://www.lenzusa.com/products/xpressnet/li101f.htm
http://translate.google.com/translate?h ... li101f.htm

Světelná dioda (LED)
LED dioda LI101F signalizuje provozní připravenost. Trvalé svícení
LED indikuje, že zařízení je v činnosti a komunikuje
na povelové stanici. Konstantní blikání však indikuje, že
LI101F není schopen komunikovat s povelovou stanicí. Možný
vysvětlení jsou:
• Příkazová stanice je v programovacím režimu (je zde dekodér)
čtení nebo naprogramování na programovací stopě).
• Řádek A nebo B zařízení XpressNet buď není připojen, nebo
špatně připojeno.
• LI101F je šesté zařízení, které používá kompaktní (nebo Atlas
Commander) nebo SET02 / 03 (tato zařízení řeší maximální
z 5 zařízení XpressNet).
• LI101 má adresu XpressNet, kterou systém nepodporuje.
(SET02 / 03 podporuje pouze adresy XpressNet 1,2,3,29 a 30).
• Příkazová stanice se nevztahuje na zařízení XpressNet
(poškozená povelová stanice).

Re: Komunikace na XPressNet

PříspěvekNapsal: pát 13 črc, 2018 1:10 pm
od Jacek
Děkuji za odpovědi, zatím jsem zjistil jen, že chyba je v kabelu, s druhým všechno funguje jak má. Jen nechápu co se může poškodit na kabelu, se kterým se 10 let nemanipuluje :cry: , možná se některý z vodičů zlomil, dioda pak tedy indikuje špatné připojení.

Re: Komunikace na XPressNet

PříspěvekNapsal: pát 13 črc, 2018 1:45 pm
od fulda
Jak jsem psal - bude přerušený jeden z prostředních dvou vodičů.
Stačilo, aby byl špatně zmáčknutý při krimplování a postupem doby se vytvořila vrstva oxidace.