Piszę sobie poprawki do kodu protokołu OPC UA, nic specjalnego. Ale udało mi się doprowadzić Wireshark (narzędzie wspomagające analizy ruchu sieciowego) do płaczu. Dowód na obrazku. Wystarczyło, że Wireshark zobaczył wygenerowany przeze mnie pakiet.

Jak patrzę ile tam jest poziomów abstrakcji to też mam chęć płakać. Niby zlecenie na 100h, a już widzę, że mi się zejdzie dłużej. Jakieś 50-100%. Teoretycznie mogę zostawić to po skończonym limicie, ale głupio porzucić rozwalony kod, jak już się zaczęło i wlazło tak głęboko.
8959adfb-b00e-4bc9-84c8-1eaead8067ff
db0b200b-5f23-449c-8a7d-dbe0f4317805
9

Komentarze (9)

@splatch - to Ty specjalista widzę jesteś - w jakim języku?

@koszotorobur Nietypowo dla tego obszaru, bo w Javie.

@splatch - a typowo jakie języki są używane?

No i generalnie jakie rzeczy te poprawki poprawiają?

@koszotorobur Mogę tylko spekulować, ale najczęściej będzie to C lub Python. Pierwszy język ponieważ ów kod można próbować skompilować pod mikrokontroler, z obsługą stosu sieciowego. Drugi, ponieważ sporo ludzi siedzących w automatyce ogarnia programowanie PLC i radzi sobie dobrze z językami skryptowymi - subiektywnie częściej z Pythonem niż JS.


A poprawki obejmują obsługę zdarzeń. Na poziomie protokołu jest coś takiego jak subskrypcja, tj. urządzenie/serwer wysyła powiadomienia o zmianie stanu rejestrów (wartości). Tylko że jest tych powiadomień parę rodzajów 1) Zmiana wartości (DataChange) 2) zmiana statusu (StatusChange) 3) zdarzenie (event notification). Obecnie biblioteka obsługuje tylko pierwszy tryb, drugi jest istotny ponieważ pozwala szybciej reagować na utratę łączności a trzeci na tzw. alarmy, czyli informacje o przekroczeniach progów alarmowych różnych rejestrów (i ich wartości).

Zawsze szkoda jak się skończy ale na jakiś czas trochę się odechciewa

@kodyak W zeszłym roku uparłem się i zrobiłem do końca, inny element protokołu. Skończyło się na tym, że zarobiłem mniej, ale klient wrócił w tym roku. Niestety z mniejszym budżetem.

@splatch nawet hejto ma dość i obrazka nie pokazuje xd

Zaloguj się aby komentować