Wymyslanie kola ;)

Apr 25, 2009 0 Replies

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.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required