Temat: Modbus kontra reszta świata...
Dla francuza najlepszy jest jego własny język, dla anglika - angielski. Nie zastanawiają się nad wyższością jednego, czy drugiego... Nie ma to dla nich większego sensu (poza sentymentem). Tu jest podobnie. W przeszłości producenci mocniej związani byli z konkretnym protokołem i nie zawsze dało się to technicznie uzasadnić (a raczej marketingowo). Z biegiem czasu sytuacja uległa zmianie i producenci już nie musieli okopywać się na swoich pozycjach - zaczęła liczyć się elastyczność, łatwość integracji z innymi systemami, itp. Analizując różnice pomiędzy protokołami zapewne w pierwszym odruchu spojrzymy na prędkości transmisji i inne takie :-) Po dalszej rozwadze sięgniemy po argumenty związane z bezpieczeństwem, potem popatrzymy na cenę itd. Będzie tak, jak wspominali moi szanowni przedmówcy :-) I faktycznie skończy się na tym, że nie wybierzemy rozwiązania najlepszego na świecie, a sięgniemy po najlepsze dla naszej aplikacji. Liczy się kompletne rozwiązanie - nie da się analizować kwestii protokołu transmisji w oderwaniu od innych, bardziej istotnych czynników. Po pierwsze - czy w ogóle dla naszych sterowników dostępny jest ten protokół (teraz już z reguły tak), czy zajdzie potrzeba wymiany danych z innymi systemami o tej samej lub odmiennej specyfice, ile danych i w jakim czasie musimy obsłużyć w ramach transmisji danych, aby system w ogóle się z tym "wyrobił", jakie są inne wymogi aby system w ogóle miał znamiona determinizmu (lub nie), itd itd itd :-)
A więc tak naprawdę.... samo życie :-)
Pana wybór na obecnym etapie, gdzie brak konkretnych danych nie ma większego znaczenia. Nabierze go w chwili, w której obrośnie w parametry krytyczne - kiedy wiadomo będzie dokładnie, jakim wyzwaniom musi sprostać.
Zapewne jednak, jak się domyślam, buduje Pan coś w rodzaju strategii na przyszłość i stąd tak ogólnie sformułowane pytanie. Moim zdaniem nie musi sie Pan czuć związany. Proszę zwyczajnie krok po kroczku przeanalizować obecne i przyszłe potrzeby i uwarunkowania i rozwiązanie pojawi się samo. Zarówno Modbus, Profibus, jak i kilka innych protokołów są na tyle dojrzałymi protokołami transmisji, że nie musi Pan się obawiać niespodzianek. Ja swój wysiłek skoncentrowałbym raczej na medium transmisyjnym. Czy powinien to być przewód miedziany, światłowód, radio... (i znowu analiza - koszty, ilość danych, poziom zakłóceń, długość trasy, rodzaj interfejsu itd)
Proszę również zwrócić uwagę, że bardzo często zdarza się, że producenci urządzeń do transmisji danych dla tych protokołów (bo te tak czy inaczej też się pojawią) produkują oczywiście urządzenia dla wszystkich popularnych protokołów, ale te z reguły są kosztowniejsze. Tańsze są rozwiązania transparentne dla protokołów transmisji - a często mają zabudowaną bramkę Modbusową.
Jeden z moich przedmówców trafnie wskazał na związki z TCT/IP. To w tej chwili najefektywniejsza forma transmisji, jednak proszę przeanalizować potrzeby Pańskiego systemu. Tym bardziej, że standard ten na swoje potrzeby wykorzystują zarówno ludzie od rozwoju Modbusa, Profibusa, jak i wielu, wielu innych...
Podsumowując (bo można tak jeszcze przez dwa dni) :-) Modbus to nie jest zły wybór. Dla jednych może się okazać optymalny, dla innych nieporozumieniem. Generalnie - nie jest źle :-) No i jeszcze jeden argument - wszyscy go znają, wszyscy (prawie) go mają, jest przez to jak klocki lego :-) Proszę Pamietać,również, aby nie dać się wciągnąć w pozorne oszczędności, bo to zwykle skutkuje dużo większymi kosztami na innym etapie.
Pozdrawiam i życzę spokoju w dokonywaniu analizy potrzeb :-) :-)