-
1. Data: 2009-04-25 11:23:47
Temat: Wymyslanie kola ;)
Od: "szomiz" <s...@k...dostawac.reklamy.przez.net>
Dopadl mnie badawczo-rozwojowy temat maksymalnie elastycznego mapowania
danych udostepnianych po protokolach typu RS, m-bus, modbus na struktury
xml'owe[1].
Zalozeniem jest stworzenie elastycznej, samoopisujacej sie struktury
przystosowanej do (*w*kolejnosci*):
1. Niskich (i bardzo niskich) predkosci danych - 9600 nalezy traktowac jako
predkosc zapewniajaca komfort.
2. Specyfiki protokolow, o ktorych w pierwszym akapicie.
3. Wydajnosci procesorow wykorzystywanych w sterownikach przemyslowych.
4. Przyzwyczajen programistow procesorow z pkt.3.
5. Minimalizowania narzutow na transmisje danych (pkt. 1.).
6. Minimalizowania narzutow na moc obliczeniowa zwiazana z *koniecznoscia*
wydalenia przez urzadzenie komunikatu xml [2].
7. Czytelnosci wydalanego xm'a.
8. Przetwarzalnosci otrzymanego xml'a.
Znaczy wymyslenie Swietego Grala ;>
Ze wstepnej analizy (wykonanej przy dobrej znajomosci modbusa oraz
pobiezniej RS'a i i m-bus'a) wyszlo mi, ze trzeba poklasyfikowac wartosci
[3]. Np. w ten sposob:
Pierwsze osiem bitow:
0x00 adres
0x01 znak: adres wzgledny/liczba ze znakiem
0x02 liczby (w tym wartosci logiczne)
0x04 data i czas
0x08 wartosc binarna
0x10 wartosc tekstowa
0x20 tablica
0x40 typ zlozony
0x80 typ wlasny
Wymyslam kolo, czy jest jakis standardard na "te rzeczy"?
Nastepne 8-ki rozwijalyby typy glowne, przykladowo:
0x00 0x.. -> wskazanie protokolu
0x01 0x.. -> adres wzgledny
0x02 0x00 -> wartosc logiczna (true== 0x01)
0x03 0x00 -> wartosc logiczna (true== 0xFF)
0x02 0x10 -> calkowita, bez znaku
0x03 0x11 -> staloprzecinkowa, ze znakiem
Sens rozwiniec - chwilowo - niewazny. Istotne jest czy pierwsze 8 bitow daje
szanse na wyprowadzenie wszystkich (rozsadnych) typow i czy nie ma na to
jakiegos standardu.
sz.
[1] Se ktos wymyslil, ze ma byc xml i juz. Na szczescie _jeszcze_ nie wie
jaki ;>
[2] *Koniecznoscia* (bo [1]). /Xml'izacja/ danych na serwerze akwizycyjnym
byla by prostsza i tansza. Ale ma byc w sterowniku [1].
[3] Przy cichym zalozeniu, ze nie dopuszczamy istnienia wartosci o
reprezenacji krotszej niz 8 bitow.