W ramach dobrych praktyk cyberbezpieczeństwa systemów IT/OT oraz w duchu minimalistycznego open source, SZARP przeniósł swoją stronę główną na statycznie generowany szablon Hugo. Statycznie generowane strony www zmniejszają powierzchnię ataku oraz redukują złożoność zależności, co wpisuje się we współczesne strategie zapewnienia wysokiego poziomu bezpieczeństwa aplikacji i systemów IT/OT.
SZARP przenosi swój kod źródłowy na GitLab’a! Nasze repozytorium istnieje teraz pod tym adresem. Przejście na nową platformę do zarządzania repozytorium podyktowane zostało przez wiele jej zalet w stosunku do serwisu GitHub. Dzięki systemowi płynnego wdrażania możemy szybciej dostarczać aktualizacje naszego oprogramowania, a mnogość dostępnych narzędzi pozwala nam skupić się na pisaniu kodu i zapewnieniu najlepszej jakości naszego produktu.
GitLab posiada wiele praktycznych funkcjonalności, między innymi zintegrowany system śledzenia zadań, który pozwala na modyfikację wielu zadań jednocześnie. Jak wiadomo jakość kodu zależy w dużej mierze od rygorystycznego podejścia do jego recenzowania, a od teraz nie musimy angażować do tego zewnętrznych narzędzi, ponieważ GitLab oferuje nam wbudowane rozwiązanie. Oprócz tego posiada mechanizm monitorowania całego cyklu produkcji kodu, a także alternatywną opcję zarządzania projektem za pomocą SSH. Dużym plusem GitLab’a jest również szczegółowa dokumentacja dotycząca operacji na repozytoriach, którą udostepnia. Kolejną funkcjonalnością, z której skorzystaliśmy jest uruchomienie platformy na swoim serwerze, bez obawy o bezpieczeństwo i dostępność kodu zapewniane przez zewnętrzną firmę ;) Oprócz ułatwień, do takiej zmiany skłoniła nas rosnąca liczba programistów, którą zrzesza GitLab.
W ostatnim czasie bardzo dużo działo się w naszym projekcie na githubie. Zaczęliśmy od generalnego przeglądu kodu w celu pozbycia się wszelkiego rodzaju błędów i ostrzeżeń w czasie kompilacji i budowania paczek z naszym SZARPem. Przy okazji tych prac porzuciliśmy wsparcie dla analizy (boilery out!), psetd oraz sporej gamy przedawnionych daemonów. Później wzięliśmy się za przeniesienie naszych aplikacji okienkowych na bardziej aktualną wersję wxWidgets co znacznie usprawni wprowadzenie nowych funkcjonalności. W międzyczasie poprawiliśmy stertę (nie stos) błędów, bardzo często mylnie oznaczonych jako features. W tym roku zespół contributorów wyszedł z tarczą. Ba, nawet trzema.
W związku z nowymi zaleceniami dotyczącymi dobrego utrzymania stron internetowych, od tej pory strona szarp.org będzie serwowana za pomocą protokołu https. Jednocześnie następuje zmiana w sposobie dostępu do pakietów szarpa. Od tej pory adresem pod którym można znaleźć repozytorium szarpa jest packages.szarp.org
SZARP, od samego początku (pomijając krótki okres niemowlęctwa, gdy działał pod kontrolą systemu operacyjnego DOS) posiada architekturę bardzo, w swoim duchu, UNIX-ową. SZARP to kolekcja niezależnych procesów, z których każdy posiada (z grubsza) tylko jedno zadanie i, z założenia, ma je wykonywać idealnie :)
SZARP w typowej instalacji składa się z jednego procesu akumulującego dane wszystkich parametrów, oddzielnego procesu zajmującego się zapisywaniem parametrów do bazy, procesu udostępniającego aktualne dane przez protokół HTTP, procesów (zwanych demonami) komunikujących się ze urządzeniami, gdzie często jest to jeden proces uruchomiony na jedno urządzenie.
W minionym półroczu SZARP przeszedł gruntowne porządki związane z kodowaniem znaków. Rzecz pozornie bez znaczenia dla zwykłego użytkownika, ale w praktyce jednak nader często doskwierająca. O co chodzi?
Oprogramowanie SZARP jest aktywnie rozwijane już od przeszło 20 lat i co za tym idzie z pewnością znajdziemy w nim fragmenty kodu napisane te kilkanaście lat temu. W tamtym czasie do kodowania znaków narodowych (których w języku polskim nie brakuje) stosowano szereg rozproszonych standardów opisanych w normie ISO/IEC_8859. Rok 2006 przyniósł istotną zmianę – do użytku zaczął wchodzić, dziś powszechnie używany, jednolity system kodowania UTF-8 (implementujący standard Unicode). W czym rzecz? Przecież SZARP wspiera i używa kodowania UTF-8 nie od wczoraj.
W ostatnich miesiącach SZARP został rozbudowany o wsparcie dla urządzeń mobilnych. Wersja mobilna programu przeglądającego udostępnia wszystkie podstawowe funkcje takie jak: przeglądanie wykresów, tryb rozdwojonego kursora, wartości średnie i sumaryczne, wyszukiwanie parametrów i zestawów po nazwach. Wersja mobilna została zaimplementowana w przenośnej technologii HTML5+JS, dzięki czemu może być uruchamiana na każdym urządzeniu mobilnym, niezależnie od systemu operacyjnego (w szczególności wspierane są systemy Android i Windows Phone). Interfejs użytkownika został przeprojektowany tak, by zapewnić wygodną pracę nawet na małych ekranach telefonów przy użyciu zdarzeń dotyku. Dzięki temu wersja mobilna oprogramowania SZARP, stanowi dobre uzupełnienie dla bazowego systemu SZARP, uruchamianego na komputerach PC.
Oj, strasznie zaniedbujemy Szanownych Czytelników witryny szarp.org skąpo sącząc informacje ze świata SZARPa. Żeby chociaż trochę poprawić nasze notowania, śpieszymy z kolejnym wpisem. Dzisiaj mamy dla Was jeszcze ciepły, prosto z naszej kuźni, screenshot eksperymentalnej wersji programu draw3.
No dobra, obrazek jak obrazek, można powiedzieć. Co właściwie zasługuje w nim na uwagę? Bardzo uważny czytelnik może dostrzec jedną rzecz, której w produkcyjnej wersji programu zobaczyć nie można. A mianowicie rozdzielczość rysowanego wykresu. Jest to coś czego dotychczas SZARP nie był w stanie swoim użytkownikom zaoferować – rysowany wykres ma rozdzielczość pół-sekundy. Osiągnięcie takiej rozdzielczości było możliwe dzięki nowemu formatowi bazy danych, który przynajmniej teoretycznie rzecz biorąc pozwala na względnie efektywne przechowywanie danych z rozdzielczością do jednej nano sekundy. Co prawda w przypadku draw3 rysowanie wykresów o rozdzielczości 1ms byłoby problematyczne, ale gdy zaistnieje taka potrzeba, jak najbardziej do zrobienia! Ok, to kiedy będzie SZARPa z nowym formatem bazy danych będzie można zobaczyć w akcji na żywo? Już niedługo, mamy nadzieję. Musimy jeszcze posuwać trochę błędów oraz dobudować kilka brakujących elementów układanki. Gdy to się stanie, nie omieszkamy o tym poinformować.
Wychodząc naprzeciw szerokim rzeszom naszych użytkowników, którzy już od wielu miesięcy domagają się paczek SZARPa na wydany w kwietniu Ubuntu 12.04 LTS (Precise Pangolin), prezentujemy - SZARP i precyzyjny łuskowiec:
deb http://newterm.pl/debian precise main
(Wskaż menadżerowi pakietów w swoim łuskowcu wyżej podany URL żeby zainstalować paczki SZARPa)
Podążając za najnowszymi trendami, SZARP przenosi swój kod źródłowy na github’a. Nowy URL projektu to https://github.com/Newterm/szarp. Zassać kod źródłowy SZARPa można używając np. takiej komendy:
git clone https://github.com/Newterm/szarp.git
Przypuszczalnie przez jakiś czas strona szarp.sf.net zostanie aktywna, jednak nie planujemy jej aktualizować – wszelkie nowe zmiany będą trafiały na githuba.
Oj, obijaliśmy się ostatnio z uzupełnianiem szarp.org. Nie żeby w SZARPie nic się nie działo, co to to nie. Z powodu właśnie takich zajęć jak rozwój SZARPa i intensywna praca, aktualizowanie strony odkładane było ad calendas graecas. Jednak tego zaniedbania nie dało się zbyt długo ukryć przed szefostwem ;) Po kilkukrotnym nagabywaniu, że nic tu się nie dzieje, nie pozostało nam nic innego, jak nadrobić zaległości. Oto krótka notka z tego co u SZARPa słychać.
Witajcie użytkownicy SZARPa! Wiosna nadeszła, a za kilka dni będziemy jeść wielkanocne jajka, pomyśleliśmy ze to bardzo dobry moment żeby napisać co działo sie z SZARPem przez ostatnie kilka tygodni:
wypuściliśmy nową wersję SZARPa dla Windows, jej głównym atutem w stosunku do wersji poprzedniej jest znaczące przyśpieszenie synchronizacji danych (ponad 2,5-krotne), poza tym ta wersja zawiera wszystkie nowe ficzery które znajdują się w linuxowej wersji systemu SZARP.
nasz kolega zakończył pracę nad nową aplikacją systemu - PyIPK. PyIPK jest to oparte na pluginach narzędzie do edycji konfiguracji systemu SZARP (plików params.xml). Jako pierwsza aplikacja w SZARPie posiada zarówno graficzny (oparty na Qt) jak i tekstowy interfejs użytkownika.
uporządkowaliśmy kod serwera komentarzy oraz najbardzej chyba złożonej częsci draw3 – kontrolera wykresów dodaliśmy nowy duży feature do draw3 – parametry i zestawy sieciowe (ale o tym już pisaliśmy).
Ta lista w żaden sposób nie wyczerpuje wszystkich zmian jakie zaszły w SZARPie od naszego ostaniego podsumowania, w tym czasie do repozytorium SZARPa zostało wprowadzonych ponad 700 zmian zawierających dużo drobnych poprawek i usprawnień których nie sposób tutaj wymienić.
Do następnego razu i udanego dyngusa!
Właśnie zamieściliśmy pakiety SZARPa skompilowane dla dystrybucji Ubuntu Oneric. Najnowszą wersję SZARPa skompilowną dla Oneiric-a można zainstalować po wprowadzeniu następującego adresu repozytorium w menadżerze pakietów:
http://newterm.pl/debian oneiric main
Od tej chwili Oneric staje się oficjalnie wspieraną przez nas wersją Ubuntu.
Ostatnie miesiące były bardzo pracowitym okresem dla deweloperów systemu SZARP którzy byli zaangażowani w dwa większe projekty rozwojowe dotyczące SZARPa. Projekty te prawdopodobnie ujrzą światło dzienne na początku przyszłego roku. W międzyczasie udało nam się przygotować kilka mniejszych i nie takich znowu małych zmian do systemu SZARP:
Przywrócono przycisk “SEZON” w interfejsie programu przeglądającego.
Poprawiono obsługę kodowania ISO-8859-2 w programie raporter.py.
W daemonie k601dmn dodano zabezpieczenie na wypadek braku dostępu do portu szeregowego. Program będzie próbował odzyskać połączenie co minutę.
Poprawiono dwa drobne błędy we wtyczce modbus do daemona boruta.
Dodano funkcję logowania aktywności programu przeglądającego pozwalającą na lepsze dostosowanie aplikacji do potrzeb użytkowników.
Poprawiono system logowania zdarzeń w programie przeglądającym żeby nie blokował programu w wypadku braku połączenia sieciowego.
Usunięto błąd powodujący wyłączanie się programu przeglądającego przy używaniu parametrów i zestawów sieciowych w przypadku nie skonfigurowanego serwera komentarzy.
Poprawiono wyświetlanie informacji o dostępności nowej wersji programu przeglądającego.
Usunięto błąd w menu programu przeglądającego.
Poprawiono wsparcie dla pythona2.x w skryptach wykorzystujących ten język.
Dodano nową aplikację do edycji konfiguracji - pyipk.
Poprawiono skrypty instalacyjne pakietu szarp-xsltd aby nie nadpisywał konfiguracji przy aktualizacji.
Poprawiono wsparcie dla protokołu Modbus ASCII w daemonie boruta.
Usprawniono obsługę zestawów zawierających więcej niż 12 wykresów w programie przeglądajacym.
Poprawiono program filler aby poprawnie zachowywał się na Debianie Squeeze.
Zmieniono domyślnie używany parser konfiguracji na szybszy i mniej pamięciożerny parser oparty na xmlReader API.
Lato się kończy, nasi użytkownicy na pewno już wrócili z wakacji. By zaspokoić zżerającą ich ciekawość - co działo się z ich ulubionym systemem SCADA gdy wypoczywali - zamieszczamy listę ostatnich zmian i zachęcamy do samodzielnego wypróbowania najnowszej wersji SZARPa:
Dodana możliwość ustawiania adresu serwera w skrypcie szrsync przez zmienną środowiskową SZRSYNC_SERVER.
Poprawka błędu w aplikacji szbwriter (nieprawidłowa asercja).
Dodane logowanie adresów IP połączeń do serwera synchronizacji SZARP.
Dodana dokumentacja instalacji pośrednika dla protokołu DDE pod Windows.
Poprawki w oknie wyboru daty w aplikacjach SZARP.
Dodana w programie przeglądającym możliwość kopiowania nazwy aktualnie wybranego parametru do schowka.
Okręgi wokół punktów wykresu X/Y w programie przeglądającym rysowane są także w trybie uśredniania wartości.
Poprawki w szablonach XSLT synoptyki ISL dla biblioteki python-lxml wersjach powyżej 2.2.8.2.
Poprawki w formacie danych dla szndremover - narzędzia do maskowania przerw w zbieranych przez SZARP danych.
Poprawki w programie przeglądającym - prawidłowe odświeżanie listy parametrów w oknie edycji parametrów użytkownika.
Usunięta awaria programów przy ładowaniu błędnego pliku konfiguracyjnego params.xml.
Poprawka w obliczeniu wartości “zoptymalizowanych” parametrów LUA odnoszących się do parametrów o typie LUA_AV (średnia z wartości).
Dodana nowa paczka debianowa szarp-dbg-symbols, zawierająca wszystkie programy z dołączonymi symbolami do śledzenia błędów; przydatna przy analizie zrzutów pamięci z maszyn produkcyjnych.
Możliwość konfiguracji skalowania osi wykresów w zestawach definiowalnych w programie przeglądającym.
W wykresach X/Y w programie przeglądającym punkty wykresu otoczone są okręgami o promieniu proporcjonalnym do logarytmu z ilości pomiarów odpowiadających danemu punktowi na wykresie.
Poprawki w programie przeglądającym: poprawka w automatycznym ustawianiu sumowania godzinowego dla wykresów, poprawka przy przełączaniu na zestaw z wyłączonymi niektórymi wykresami, poprawka w obsłudze zestawów z dużą ilością wykresów.
Wszystkiego najlepszego w Nowym Roku użytkownikom systemu SZARP życzy zespół programistów Waszego ulubionego systemu SCADA! Oto lista ostatnich zmian w SZARPie:
Do systemu SZARP dodano bibliotekę libpyszbase. Biblioteka ta pozwala na dostęp do bazy danych SZARPa z poziomu języka Python. W bibliotece znajdują się funkcje służące do wyszkuwania danych oraz pobierania wartości parametrów. Możliwy jest dostęp do dowolnych rodzajów średnich (wliczając w to próbki 10-sekundowe). Jednym z celów wprowadzenia tej biblioteki było ułatwienie integracji systemu SZARP z innymi systemami informatycznymi. Bardzo często zachodzi potrzeba eksportu danych z SZARPa do innego systemu w jakimś specyficznym formacie. Dotychczas sprowadzało się to do pisania skrytpów które wywoływały istniejące aplikacje systemu SZARP by pobrać dane z bazy szbase, było to rozwiązanie pod kilkoma względami nieidealne: mało wydajne, wymagało pisania kodu parsującego wyjście istniejących narzędzi szarpa (uciązliwe i nieeleganckie). Teraz dostęp do bazy szbase odbywa się w sposób natywny dla języka Python, co jest wyjściem najlepszych z możliwych.
W najnowszej wersji szarpa dodano nową aplikację o nazwie pyipk. W tej chwili pozwala ona na wygodne przeglądanie plików konfiguracyjnych szarpa oraz edytowanie ich przy pomocy metody drag’n’drop. Docelowo program ma pozwolić na generowanie konfiguracji od zera
Poprawiono błąd w demonie k601dmn.
Poprawiono stabilność działania serwera komentarzy - serwer komentarzy automatycznie wznawia połaczenie z bazą danych gdy zostanie ono zerwane.
Wprowadzono zmiany umożliwiające kompilację SZARPa z nowszą wersją biblioteki boost, dzięki czemu SZARP może korzystać z wersji tych bibliotek dostępnych w standardowych repozytoriach debiana/ubuntu
Zmiany w obsłudze niepoprawnie/niekompletych zestawów użytkownika, jest to konsekwencja wprowadzenia obsługi zestawów sieciowych - wykresy odnoszące się do nieistniejących parametrów nie są automatycznie usuwane, a pojawiają się w programie przeglądającym z oznaczeniem ***, użytkownik może je usunąc samodzielnie
Przyśpieszono inicjalizację bazy szbase dla konfiguracji zawierających dużą ilość parametrów drawdefinable korzystających z formuł RPN
Rozbudowano dokumentację wykresów XYZ o opis 2 wariantów tych wykresów, dodano także wyjaśnienie w jaki sposób wykresy te są generowane z wartości parametrów
Z przyjemnością informujemy że najnowsza wersja systemu SZARP znajdujący się w repozytoriach Ubuntu Natty oraz Debian unstable zawiera wsparcie dla zestawów i parametrów sieciowych. Zestawy i parametry sieciowe jest to funkcja nad którą pracowaliśmy od jakiegoś czasu. Funkcja ta umożliwa wzjemnie dzielenie się użytkownikom zdefiniowanymi zestawami oraz parametrami programu draw3. Mamy nadzieję że ta funkcjonalność będzie miała duży wpływ na sposób w jaki zestawy oraz paramtery definowalne będą używane. Przede wszystkim, zestawy i parametry sieciowe pozwalają w bardzo wygodny sposób na tworzenie i modyfikację zestawów i parametrów które są widoczne przez wszystkie komputery pracujące w ramach danej instalacji (ale ich funkcjonalnosć nie ogranicza się do jednej instalacji - zestawy i paramtery sieciowe tak jak ich wcześniejszy odpowiednik - zestawy lokalne - mogą odwoływać się do kilku konfiguracji systemu SZARP). Ponadto, nie będzie już konieczne ręczne eksportowanie/importowanie zestawów między komputerami, które mają dzielić ten sam zbiór zestawów użytkownika. I może najmniej spektakularne, ale również bardzo istotne - wszystkie zestawy i parametry są backupowane na serwerach firmy Newterm - eliminuje to ryzyko, że w przypadku padu komputera/dysku użytkownik traci pracowicie zdefiniowane przez siebie zestawy i/lub parametry.
Jak dotąd w oficjalnych repozytoriach systemu SZARP (http://newterm.pl/debian) można było znaleźć gotowe paczki z systemem SZARP dla Debiana w wersji stable oraz unstable. Ponieważ Ubuntu jest oparte na Debianie, własnoręczne skompilowanie SZARPa dla Ubuntu nigdy nie stanowiło wielkiego problemu. Jednak dla użytkowników którzy używają SZARPa i Ubuntu, regularne kompilowanie tego systemu mogło być zajęciem dość uciążliwym. Od dzisiaj wychodząc naprzeciw tym użytkownikom, zaczynamy oficjalnie wspierać system SZARP na Ubuntu. W ramach wsparcia planujemy oferować pakiety dla aktualnie najnowszego wydania Ubuntu oraz tzw. wydania LTS (long term support). W dniu dzisiejszym zostało uruchomione repozytorium z paczkami dla Ubuntu Natty. URL repozytorium to http://newterm.pl/debian (tak, to nie pomyłka, ścieżka repozytorium jest taka sama jak dla dystrybucji Debian).
Lista zmian w systemie SZARP które pojawiły się w trakcie ostatnich dwóch miesięcy:
Dodano eksperymentalny szybszy parser XML do biblioteki IPK - powinno to przyspieszyć uruchamianie programów SZARP oraz zmniejszyć zużycie pamięci.
W programie przeglądającym dodano opcję sortowania wykresów z aktualnego zestawu względem ich wartości minimalnej/maksymalnej/średniej lub wartości z sumowania godzinowego. Sortowanie uwzględnia okres aktualnie wyświetlany lub zaznaczony za pomocą rozdwojonego kursora.
W programie przeglądającym dodano automatyczne przydzielanie kolorów wykresów dla zestawów o dużej ilości wykresów. Poprawki zachowania programu przeglądającego dla zestawów z dużą ilością wykresów.
Poprawki w wyświetlaniu udziału procentowego w tooltipie okna wartości sumarycznych w programie przeglądającym.
Poprawka w programie przeglądającym w obsłudze automatycznego wykrywania języka - dodano opcję “automatycznie” do menu wyboru języka.
Przyspieszono w programie przeglądającym zmianę okresu dla zestawów z dużą ilością wykresów.
Dodano nowy skrót klawiszowy “?” w programie przeglądającym, wyświetlający pełną nazwę aktywnego parametru
Usunięto z paska ikon w programie przeglądającym ikonę zmiany języka; inicjalizacja ustawień językowych programu została usprawniona, dodano możliwość automatycznego wykrywania języka na podstawie ustawień systemu.
Program do masowego zapisu danych do bazy SZARP (szbwriter) uzyskał nową opcję w pliku konfiguracyjnym (fill_how_many_sec) pozwalającą na automatyczne uzupełnianie przerw w plikach z próbkami 10-sekundowymi. Praca programu została także kilkukrotnie przyspieszona, przy jednoczesnym zmniejszeniu obciążenia procesora.
Ułatwiono korzystanie z okien Wartości średnie, Wykres XY i Wykres XYZ w programie przeglądającym - wykresy i okres do wyświetlenia są ustalane na podstawie aktualnie wyświetlanego zestawu w głównym oknie programu. Jest to szybsze i wygodniejsze niż dotychczasowa konieczność wybierania wykresów z listy, a czasu z kalendarza.
Wiele drobnych poprawek w programie przeglądającym: poprawki w drukowaniu, poprawione rysowanie osi czasu, usunięta awaria programu przy wyświetlaniu wykresu XYZ, poprawka przesuwania kursora za pomocą klawiszy strzałek przy wciśniętym klawiszu Shift.
Poprawki i usprawnienia w meta-demonie boruta: poprawki w ustawianiu parzystości i ustawianie maski wielkości znaków (character size) portu szeregowego, poprawki w obsłudze trybu Modbus ASCII, poprawki w zależnościach czasowych w sterowniku protokołu ZET.
Program przeglądający systemu SZARP został wzbogacony o możliwość wyświetlania średnich rocznych z wartości parametrów. W tym widoku domyślnie pokazywane są dane z 10 lat, stąd nowy tryb otrzymał nazwę DEKADA. Pozwala on na szybkie porównywanie zmian parametrów w ciągu lat dla użytkowników z długą historią zbieranych pomiarów. Inną istotną zmianą jest usunięcie limitu 12 wykresów na zestaw. Począwszy od wersji 3 programu przeglądającego, ograniczenie to nie był związane z kwestiami technicznymi, ale wynikało raczej z konstrukcji interfejsu użytkownika i chęci zachowania zgodności z poprzednią wersją. Zdecydowaliśmy jednak o umożliwieniu użytkownikom konstruowania zestawów z dowolną ilością wykresów, przy czym wraz z jej zwiększaniem zapewne przewijanie listy wykresów robi się coraz mniej wygodne. Ze zmian niewidocznych bezpośrednio dla użytkowników poprawiliśmy kilka problemów pojawiających się na instalacjach z dużą ilością zbieranych pomiarów (ostatnio uruchomiliśmy instalację z ponad 10000 parametrów). Poprawek doczekała się też między obsługa trybów pasywnych protokołu Modbus (TCP serwer i RTU slave) meta-sterownika Boruta. Nową istotną funkcja Boruty jest też możliwość uruchamiania sterowników urządzeń przeznaczonych do transmisji za pomocą łącza szeregowego także przez połączenia sieciowe TCP. Pozwala to na uruchamianie takich sterowników bez zmian w kodzie także za pomocą różnego rodzaju przejściówek np. Ethernet/RS232.
6 lutego ukazała się nowa wersja systemu operacyjnego Debian GNU/Linux - 6.0 o nazwie kodowej “Squeeze”. Zaledwie 3 dni później udostępniliśmy gotowe pakiety instalacyjne systemu SZARP dla tej dystrybucji. Dostępne są one z repozytorium apt o adresie
http://szarp.org/debian squeeze main
Ponieważ zawsze możliwa była kompilacja systemu SZARP także dla najnowszej niestabilnej wersji Debiana, przygotowanie paczek dla nowego wydania nie wymagało zmian w kodzie. Niemniej konieczne są drobne zmiany w celu przystosowania oprogramowania do nowo wprowadzanych standardów. Na przykład obecna wersja nie wymaga już skonfigurowania systemu w polskiej wersji językowej z kodowaniem ISO - można używać domyślnego kodowania UTF-8.
Obecnie nasze repozytorium dla wersji stabilnej nadal zawiera paczki dla Debiana w wersji 5.0 lenny. Zmiana nastąpi, gdy będziemy gotowi na przeprowadzenia uaktualnienia naszych automatycznie aktualizowanych instalacji SZARP, co wymaga niestety trochę czasu.
No i przy okazji gratulujemy całemu zespołowi Debiana nowego wydania!
Miniony rok był dla systemu SZARP kolejnym rokiem ewolucyjnego rozwoju - utrzymaliśmy tempo średnio ponad jednej zmiany dziennie, wykonując w ciągu roku ponad 400 commitów. Oto podsumowanie najważniejszych wydarzeń zeszłego roku.
W kwietniu nastąpiła zmiana używanego przez projekt systemu kontroli wersji - git zastąpił Subversion. Wymagało to z naszej strony zmiany pewnych przyzwyczajeń, ale git niewątpliwie jest lepszym narzędziem - bardziej niezawodnym, o większych możliwościach i co ważne, nieporównywalnie szybszym. Co ciekawe, pełne repozytorium git SZARP’a zajmuje na dysku mniej miejsca, niż pojedyncza kopia robocza używająca Subversion. Zmiana ta jest też w pewien sposób widoczna dla użytkowników, gdyż zmienił się sposób wersjonowania oprogramowania. Dotychczas najmniej znacząca część numeru wersji (czyli np. 508 dla 3.1.508) była skorelowana z numerem wersji całego repozytorium i zmieniała się po każdej zmianie kodu. Git nie używa rosnących numerów wersji, więc obecnie każde podniesienie wersji jest robione ręcznie przez developerów i związane jest z wypuszczeniem nowej wersji paczek dla gałęzi stable czy unstable, lub nowej wersji dla Windows. Zmiany wersji są więc rzadsze, ale każda z nich oznacza rzeczywistą nową wersję udostępnianą użytkownikom, poprawiającą jakieś błędy lub dodającą nowe funkcje.
Istotną zmianą w funkcjonalności oprogramowania jest udostępnienie możliwości rejestracji i analizy wartości parametrów z rozdzielczością 10 sekund, obok dotychczasowych 10 minut. Wymaga to dodatkowej konfiguracji i działa tylko przy bezpośrednim połączeniu (lokalnym lub VPN) do serwera SZARP, ale jest dobrze zintegrowane z resztą systemu, dając użytkownikom dodatkowy poziom szczegółowości danych.
Program przeglądający - najważniejsze narzędzie do analizy danych - został wzbogacony o sporo drobnych usprawnień, takich jak wykresy XYZ, możliwość skoku do i podążania za najnowszą daną, wyświetlanie zestawów wykresów w formie “drzewka”, wyszukiwanie momentów gdy spełniona jest dana formuła Lua. Jednocześnie nadal kontynuowano prace nad zwiększeniem jego wydajności. Poza poprawkami w mechanizmie cache’owania danych, pojawił się cały nowy moduł prekompilujący formuły w języku Lua opisujące parametry definiowalne. Program analizuje formuły parametrów i te, które składają się wyrażeń arytmetycznych i instrukcji warunkowych, są zamieniane na wewnętrzną reprezentację i wykonywane bezpośrednio przez SZARP, bez odwołania do interpretera języka Lua. W efekcie Lua staje się zalecanym narzędziem do konstrukcji nowych parametrów, zapewniając bezkompromisową wydajność w przypadku prostych formuł i jednocześnie możliwość stosowania bardziej zaawansowanych funkcji języka programowania.
Jedną z najważniejszych zmian “pod maską” systemu jest wprowadzenie zmodyfikowanej architektury dla sterowników urządzeń. Dotychczas każdy z nich był oddzielnym programem, komunikującym się z resztą systemu za pomocą mechanizmów IPC, w myśl tradycyjnej uniksowej filozofii “jednego programu do jednej rzeczy”. Podejście to jest bardzo elastyczne, ale ma swoje ograniczenia. Nie jest możliwe np. współdzielenie jednego portu szeregowego przez urządzenia używające różnych protokołów (a więc obsługiwane przez różne sterowniki). Dla konfiguracji obsługujących setki urządzeń (tak, mamy takie) wymagane było uruchomienie takiej samej ilości programów, z których każdy musiał wczytać do pamięci całą konfigurację systemu, co prowadziło do problemów wydajnościowych. Nowe podejście reprezentowane jest za pomocą meta-demona “boruta”, który zapewnia wspólną platformę do obsługi konfiguracji, połączeń szeregowych czy sieciowych. Poszczególne protokoły komunikacyjne zaimplementowane są jako moduły do boruty. Boruta dzięki wykorzystaniu mechanizmu sterowania przez zdarzenia pozwala na wydajną obsługę wielu urządzeń. Obecnie dostępne są moduły dla kilku najczęściej wykorzystywanych w naszych instalacjach protokołów, takich jak ZET czy Modbus RTU/TCP.
Liczba wdrożeń systemu zwiększyła się w zeszłym roku według naszej wiedzy o 6 nowych instalacji, osiągając od 1992 roku ogólną liczbę 60, z których 58 (!) jest aktywnych do dzisiaj. Użytkownicy cenią sobie szczególnie możliwość wygodnego zdalnego dostępu do danych. Instalacje objęte płatnym wsparciem oferowanym przez firmę Newterm otrzymują regularne aktualizacje oprogramowania i pomoc w konfiguracji i rozwiązywaniu pojawiających się problemów.
Dziękujemy wszystkim użytkownikom za kolejny wspólny rok i życzymy, aby następny był jeszcze lepszy!
SZARP jest rozwijany głównie dla systemu operacyjnego Debian GNU/Linux. Kompilacja nawet na bardzo zbliżonych dystrybucjach Linuksa, takich jak Ubuntu, może czasami nastręczać problemy. Staramy się w związku z tym udostępniać od czasu do czasu pakiety dla Ubuntu. Ostatnia wersja SZARP, zawierająca obsługę przechowywania historii próbek 10-sekundowych, jest obecnie dostępna w postaci gotowych pakietów dla dustrybucji Ubuntu Lucid Lynx 10.04 LTS. Instalacja jest prosta - wystarczy dodać wpis:
Najmocniejszą stroną systemu SZARP są jego możliwości analizowania danych historycznych. Dotychczas analiza ta była ograniczona do rozdzielczości 10-minut na pojedynczą dostępną próbkę. Zwykle jest to wystarczające w głównych zastosowaniach SZARP, czyli wolnozmiennych procesach w systemach ciepłowniczych. Większość systemów SCADA potrafi jednak lepiej lub gorzej prezentować trendy historyczne z większą rozdzielczością. Najnowsza niestabilna wersja SZARP zawiera więc możliwość zapisywania i wyświetlania próbek z rozdzielczością 10-sekundową.
SZARP od początku umożliwiał zbieranie i wyświetlanie próbek z kilkusekundową rozdzielczością, ale do bazy danych historycznych zapisywane były średnie 10-minutowe i jedynie one dostępne były do późniejszej analizy na wykresach. Nowa wersja wprowadza dodatkowy proces (prober) zajmujący się zapisywaniem na dysk także próbek 10-sekundowych. Zapis odbywa się w specjalizowanym formacie, zbliżonym do używanego do zapisu próbek 10-minutowych. Dodatkowe dane zapisywane są jednak w oddzielnej lokalizacji na dysku i ze względu na swój sporo większy rozmiar nie podlegają standardowemu mechanizmowi replikacji za pomocą sieci Internet. Udostępnianiem próbek 10-sekundowych zajmuje się inny proces (probes_server), który umożliwia dostęp do próbek za pomocą sieci TCP/IP. Główna biblioteka dostępu do danych systemu SZARP została rozszerzona o możliwość odpytywania na bieżąco przez sieć o żądane przez aplikacje wartości próbek. W ten sposób funkcjonalność próbek 10-sekundowych staje się dostępna w programie przeglądającym a także dla skryptów w języku Lua i tradycyjnych parametrów definiowalnych. Dostęp do nowych danych mogą też uzyskać inne programy, np. Ekstraktor - choć on akurat wymaga jeszcze nieco pracy. Próbki 10-sekundowe dostępne są dla każdego klienta, który może połączyć się bezpośrednio ze źródłowym systemem SZARP. Domyślnie działają więc w tradycyjnym układzie z serwerem i terminalami SZARP w sieci lokalnej. W razie potrzeby jest możliwość tunelowanie danych, np. przez połączenie VPN, w celu dostępu zdalnego.
Pozostało jeszcze sporo pracy (np. z poprawieniem wszystkich błędów w wersji dla Windows), ale nowa funkcjonalność powoli staje się na tyle dojrzała, że powinna pojawić się w kolejnej stabilnej wersji systemu SZARP.
Wydana została nowa stabilna wersja SZARP - 3.1.406. Najważniejsze zmiany w tej wersji:
Kilka istotnych poprawek, w tym naprawienie błędu z uruchamianiem demonów linii (sterowników urządzeń) przez proces parcook.
Automatycznie generowana dokumentacja dla wszystkich sterowników urządzeń.
Nowy sterownik setdmn pozwalający na ustawianie wartości parametrów przez sieć oraz towarzyszący mu klient graficzny setter (tłumaczone jako ustawiacz). Funkcjonalność ta mogła być uzyskana przez połączenie istniejących wcześniej elementów systemu, ale nowe rozwiązanie jest prostsze w konfiguracji i bardziej niezawodne.
Import i eksport zestawów definiowalnych w programie przeglądającym draw3. Definiowane przez użytkownika zestawy parametrów mogą być zapisywane do pliku i importowane przez innych użytkowników czy na innym komputerze. Nowa funkcja Edytuj jako nowy w programie przeglądającym, upraszczająca tworzenie zestawu parametrów użytkownika na podstawie istniejącego zestawu.
Optymalizator parametrów Lua. Język Lua pozwala na dużą elastyczność w tworzeniu parametrów definiowalnych, ale obliczanie przez komputer parametrów w Lua może być wolne - przynajmniej jak na standardy SZARP - czyli użytkownicy mogą w przypadku bardziej skomplikowanych formuł nawet zauważać proces obliczania i wyświetlania parametrów. Nowy moduł SZARP potrafi zrozumieć dużą część języka Lua, łącznie z odwołaniami do funkcji specyficznych dla SZARP. Większość formuł może być sparsowana i trzymana w postaci przetworzonej, dzięki czemu wartości parametrów są obliczane nawet szybciej niż tradycyjne parametry SZARP zapisywane w Odwrotnej Notacji Polskiej (RPN). Jeśli parametr jest zbyt złożony, aby został przetworzony przez optymalizator, jest przekazywany do wykonania przez interpreter Lua. Nowa funkcjonalność pozwala użytkownikom SZARP na jeszcze szybsze analizowanie danych historycznych.
Ta wersja SZARP jest jednocześnie ostatnią opublikowaną wersją bazującą na repozytorium Subversion. Warto także wypróbować nową wersję niestabilną 3.1.409, zawierającą całkowicie nową funkcjonalność - wykresy trójwymiarowe (3D) do analizy zależności między 3 parametrami. Prace nad tą funkcjonalnością nie jest jeszcze zakończona, można spodziewać się błędów.
Począwszy od dzisiaj, SZARP używa Git jako systemu kontroli wersji kodu źródłowego. Git jest otwartym, darmowym systemem kontroli wersji, stworzonym przez Linusa Torvaldsa na potrzeby jądra Linuksa. Jest używany przez wiele innych projektów, w tym Android, Debian, Fedora, GIMP, GNOME, Perl, Qt, Samba, Wine, X.Org. Powody zmiany są zapewne podobne jak dla wielu innych projektów, które porzuciły scentralizowane systemy kontroli wersji na rzecz posiadających większą funkcjonalność systemów rozproszonych, takich jak Git, Baazar czy Mercurial. Git został wybrany ze względu na swoją stabilność i dojrzałość, dużą prędkość działania i doskonałe wsparcie dla tworzenia/łączenia gałęzi kodu. Nadal używamy SourceForge, kod źródłowy może być pobrany za pomocą komendy:
Styczeń przyniósł ponad 30 większych zmian w repozytorium SZARP. Duże części programu przeglądającego draw3 zostały w poprzednim miesiącu przepisane w celu uproszczenia kodu, co spowodowało wprowadzenie sporej ilości drobnych błędów. Do czasu upewnienia się, że wszystkie zostały usunięte, wstrzymujemy jeszcze opublikowanie kolejnej wersji “stabilnej”. Najważniejsza funkcjonalna zmiana jaka zaszła w SZARP to usprawnienie komunikacji z aplikacjami Windows korzystającymi z mechanizmu DDE. (Dynamic Data Exchange) to starodawny protokół typu “kolejka komunikatów” wprowadzony przez Microsoft w Windows 2.0 w 1987 (!) roku. Umożliwia programom wymianę krótkich komunikatów o dowolnej treści, np. poinformowanie edytora tekstu o zmianie wartości komórki w Excelu. Firma Wonderware, producent popularnego oprogramowania SCADA - InTouch, była jedną z pierwszych, które wprowadziły DDE do zastosowań w automatyce przemysłowej. Jest także twórcą NetDDE - odmiany DDE działającej przez sieć, która była nawet licencjonowana przez Microsoft i dostępna w wielu wersjach systemu Windows. Ostatecznie z powodów bezpieczeństwa zniknęła z Windows wraz z drugim service packiem do Windows XP i wydaniem Windows Vista. Jednak stare dobre DDE dostępne jest we wszystkich wersjach, nawet w nowym ślicznym Windows 7 (przy okazji - SZARP pod Windows według raportów użytkowników działa także pod Windows 7). Poza tym zawsze można doinstalować NetDDE od Wonderware. DDE z założenia jest technologią niebezpieczną - nie ma żadnej możliwości zidentyfikowania, od kogo pochodzi komunikat dostarczony do aplikacji. Nowsze technologie, takie jak COM, OLE czy OPC miały zastąpić DDE, ale jest ono nadal popularne w wielu zastosowaniach, w tym także w wymianie danych z systemami SCADA. Nie ma żadnego prostego sposobu na połączenie się z programu działającego pod Linuksem (takiego jak serwer SZARP) do programu pod Windows korzystającego z DDE. DDE (oraz NetDDE) bazuje na własnościowych protokołach Microsoftu i nie istnieją żadne niezależne implementacje - jeśli ktoś potrzebuje DDE, korzysta po prostu z API win32. W celu umożliwienia wymiany danych z programami SCADA pracującymi pod Windows (tak naprawdę - właśnie z aplikacją InTouch), SZARP używał prostego skryptu w Pythonie - ddespy - który zamieniał zapytania XML-RPC przesyłane z komputera z Linuksem na zapytania DDE do aplikacji Windows. Początkowo skrypt obsługiwał tylko jeden szczególny przypadek aplikacji - dostępny do InToucha sterownik protokołu Modbus (MBENET). Ostatnie zmiany (w tym zmiana nazwy - z ddespy na ddeproxy) umożliwiają proste pobranie do SZARP dowolnych danych z systemu InTouch lub innej aplikacji Windows wykorzystującej DDE. Wystarczy znać nazwy “itemów” (w terminologii DDE), które odpowiadają nazwom “tagów” (w terminologii InTouch). Dzięki pythonowej filozofii “dołączonych baterii” (batteries included) i rozszerzeniom Win32, stworzenie serwera XML-RPC, który jednocześnie jest klientem DDE, wymaga napisania w Pythonie dosłownie kilku linijek kodu. Po uruchomieniu skrypt działa w tle. Dzięki narzędziu py2exe (http://www.py2exe.org) nie jest konieczna oddzielna instalacja pod Windows Pythona i rozszerzeń Win32 - całość można zapakować w zgrabny zbiór jednego pliku EXE i kilku DLL. Jako że ddeproxy używa standardowego protokołu XML-RPC, może być wykorzystane niezależnie od SZARP - do przesyłania danych z dowolnej aplikacji używającej DDE (np. Excela) do dowolnego klienta XML-RPC.
Instalacja ddeproxy nie obniża w znaczący sposób bezpieczeństwa Windows - w każdym razie dużo mniej niż np. uruchomienie usługi NetDDE. Obsługiwane są tylko komunikaty DDE “Request” (umożliwiające wyłącznie odczyt), a do komunikacji wykorzystywany jest pojedynczy, konfigurowalny port TCP, dostęp do którego można łatwo ograniczyć za pomocą firewalla. Prostota wykorzystania ddeproxy daje dobrą okazję aby wypróbować SZARP obok używanego obecnie innego systemu SCADA dla Windows - wystarczy jedynie stary komputer PC na którym zainstalujemy Debiana i ściągniemy pakiety SZARP, a możemy korzystać z zupełnie nowych możliwości analizy danych historycznych. Pozostałe styczniowe zmiany w SZARP dotyczą między innymi procesu uruchamiania przez SZARP swoich sterowników (demonów linii). Dotychczas było to robione za pośrednictwem powłoki (sh -c), co prowadziło do problemów z propagacją sygnałów oraz dość nieoczywistych zachowań w przypadku użycia w poleceniu uruchamiającym sterownik specjalnych konstrukcji powłoki (np. przekierowania wyjścia do innego procesu). Inne wymienione w pliku NEWS.pl zmiany, to początek zapewne dość długiej drogi do obsługi przez bazę danych próbek o lepszej niż obecnie rozdzielczości - np. 10 sekund zamiast obecnych 10 minut, co pozwoliłoby też rozszerzyć zakres zastosowań systemu. W tej chwili planujemy, że te dokładniejszy dane dostępne byłyby jedynie w ramach lokalnej instalacji (bez propagacji przez Internet), ale wiele szczegółów technicznych może się jeszcze zmienić.
Główne zmiany jakie zaszły w SZARPie w grudniu obejmują refaktoring kodu aplikacji draw3. Pojawiło się także kilka nowych aplikacji. Szczegóły poniżej:
Zasadnicza przebudowa kodu programu przeglądającego, w celu zwiększenia czytelności i możliwości przyszłych modyfikacji. Zmiany wiązały się z wprowadzeniem wielu drobnych usterek, które w większości zostały wkrótce (mamy nadzieję) usunięte.
Usunięto oddzielny wątek odpowiadający za zapis na dysk bufora podręcznego programu.
Dodano ikony do okien dialogowych w różnych miejscach programu.
Wartości parametrów wyświetlane na ciemno-niebieskim tle na niektórych monitorach były słabo widoczne, zmieniono kolor wyświetlanego tła na nieco jaśniejszy.
Dodano nową aplikację viszio, pozwalającą na wyświetlanie bezpośrednio na ekranie wartości wybranych parametrów. Program nie jest jeszcze ukończony.
Dodano narzędzie ‘szbndremover’ do usuwania ‘dziur’ w bazie SZARP. Wartości ‘brak danych’ zastępowane są średnimi z okolicznych wartości.
Poprawiono generowanie odnośników HTML w programie paramd.
Dodano nową funkcję M do szybkiego odfiltrowywania za dużych wartości w parametrach definiowalnych.
Dodano nowy driver do protokołu Modbus, obsługujący kodowania ASCII i RTU oraz transmisję za pomocą zarówno łącza szeregowego, jak i sieci TCP/IP.
W repozytoriach stable i unstable SZARP pojawiły się wersje odpowiednio 3.1.214 i 3.1.212. Najważniejsze zmiany dotyczą programu raporter3, gdzie zmieniono sposób dostępu do raportów użytkownika.
Poniżej pełna lista zmian w stosunku do wersji 3.1.163:
Dostępna jest nowa gałąź w repozytorium apt na szarp.org “karmic”, zawierająca SZARP skompilowanego dla Ubuntu w wersji “Karmic koala”.
Program przeglądający: możliwe jest teraz ustawienie marginesów, rozmiaru oraz orientacji wydruków przez użytkownika.
Niepoprawnie funkcjonujący, pochodzący z biblioteki wxWidgets, mechanizm sprawdzający czy kopia właśnie uruchomionego programu jest już uruchomiona (czasami wskazywał błędnie, że program nie uruchomiony już działa) został zastąpiony naszą własną implementacją, która nie ma takich problemów.
mbrtudmn(demon do komunikacji po Modbus RTU): poprawiono obsługę trybu ‘slave’.
ipkedit(program do edycji konfiguracji SZARP): dodano obsługę zakresów min-max wykresów oraz ustawiania ich kolorów. Uaktualniono także dokumentację programu.
raporter3: program został rozbudowany, wzorce użytkownika są zapisywane automatycznie i są dostępne bezpośrednio z menu - jest to bardziej zgodne z zachowaniem programu draw3, wprowadzano także liczne poprawki i usprawnienia.
raporter3: dostępna jest pierwsza wersja dokumentacji.
Poprawka w systemie pomocy: poprawnie działa wyszukiwanie dokumentacji z poziomu programów SZARP.
Ukończony nowy sposób rysowania wykresów w programie przeglądającym “antyaliasowany” - bardziej odpowiedni dla monitorów o wysokich rozdzielczościach. Nowy sposób powinien zmniejszać też zużycie pamięci, ale na niektórych konfiguracjach sprzętowych może być wolniejszy. Tryb “antyaliasowany” jest obecnie domyślny zarówno dla Linuksa jak i dla Windows.
Poprawki i nowe funkcje w programie kontroler3: odgrywanie dźwięku przy alarmie.
Dodana obsługa różnych kolejności słów dla wartości typu float w driverze Modbus TCP.
Dodano driver dla ciepłomierza Calec MCP-300.
Dodana funkcja ’m’ do funkcji RPN, pozwalająca na szybkie odfiltrowanie wartości spoza prawidłowego zakresu.
Poprawki w programie przeglądającym: rysowanie wykresów X/Y, automatyczne przydzielanie kolorów wykresów, otwieranie nowego okna, dorysowywanie nowych punktów z włączonym filtrem, informacja o aktualnie wybranym stylu rysowania wykresów, pobieranie adresu serwera poprawek.
Dodano skrypty do pobierania prognozy pogody ze strony Meteoprog; prognozowana temperatura może być pokazywana na wykresach.
Poprawka w programie sender - puste elementy <send/> w konfiguracji są ignorowane.
Poprawki w kompilacji/budowaniu paczek - poprawki dla najnowszego mingw32, usunięcie kodu specyficznego dla boost-1.34, usunięte “krytyczne” błędy lintiana, budowanie paczek dla najnowszej niestabilnej wersji Debiana.
Uaktualnienie programu isledit (wtyczki do programu graficznego Inkscape do tworzenia schematów wizualizacji w SVG); program działa pod Linuksem i pod Windows.
Dodano więcej przykładów schematów wizualizacji - kompletny przykład schematu ciepłowni z 4 kotłami.
Do łączenia się do serwerów SZARP z terminali z Windows w sieci lokalnej używane są emulatory X-terminala. Najczęściej wykorzystywany jest darmowy serwer X.Org z pakietu Cygwin. Plik xorg-setup.exe dostępny do pobrania ze strony projektu SZARP zawiera graficzny instalator pozwalający na podanie adresu IP serwera X. Instalator zawiera tylko niezbędne pliki, dzięki czemu jego rozmiar wynosi tylko 6 MB. Oczywiście może być używany do innych celów, niekoniecznie związanych z oprogramowaniem SZARP.
Nowo udostępniony pakiet Debiana szarp-examples zawiera 2 przykładowe konfiguracje SZARP, umożliwiające testowanie aplikacji i zapoznanie się ze sposobem konfiguracji serwera SZARP. Pierwsza z nich, o nazwie po prostu test, zawiera ponad 300 MB danych historycznych, pozwalających na pełne przetestowanie możliwości Programu Przeglądającego Draw3 oraz Ekstraktora. Druga, o nazwie stat, zawiera pliki konfiguracyjne dla prostej instalacji serwera SZARP, zbierającego informacje o zużyciu procesora, pamięci i dysku komputera. Pakiet szarp-examples może być pobrany z następującego repozytorium APT:
W ciągu ostatniego miesiąca developerzy SZARP’a wykonali ponad 40 zmian w kodzie. Najważniejsze z nich to:
Poprawiono prezentację wartości 32-bitowych (parametrów tzw. “sklejanych” - np. wartości z liczników energii/wody) w programach paramd/raporter.
Driver do protokołu ModbusTCP może obsługiwać więcej niż 128 parametrów dla pojedynczego urządzenia.
Wyłączono potencjalnie szkodliwą opcję ustawienia ścieżki do katalogu z danymi w systemie Linux w programie Centrum Sterowania SZARP - ścieżka ta dla systemu Linux nie powinna być zmieniana.
Poprawki w driverze do protokołu Modbus RTU - poprawiona obsługa portu szeregowego, czytanie konfiguracji, synchronizacja czasowa.
W przypadku braku danych Raporter wyświetla ‘brak danych’ (poprzednio ‘unknown’ - komunikat nie był lokalizowany).
Nowa funkcja w Centrum Sterowania SZARP - użytkownik może wybrać bazy, które nie będą pokazywane w programach SCC, Ekstraktor, Draw3.
Usprawnienia w obsłudze komentarzy w Programie Przeglądającym Draw3 - nazwa serwera może być podana wpostaci nazwy DNS a nie adresu IP, domyślne wartości użytkownika/hasła pobierane są z Synchronizatora SZARP; podstawowa obsługa konfiguracji zagregowanych.
Dodane dokumentacja funkcji ‘komentarze’ Programu Przeglądającego.
Podstawowa administracja użytkownikami komentarzy może być wykonywana za pomocą interfejsu WWW programu ssweb.
Poprawiono rejestrację kluczy nowych użytkowników Synchronizatora SZARP (problem z uprawnieniami).
Eksperymentalne wsparcie dla nowego sposobu rysowania wykresów w Programie Przeglądającym z użyciem API wxGraphicsContext.
Poprawione zależności dla programu Filler - umożliwia instalację na nowych wersjach Debiana.
Automatyczna aktualizacja SZARP dla Windows pobiera prawidłowo nową wersję oprogramowania z portalu SourceForge.net.
Uaktualniono Instrukcję Eksploatacji Systemu SZARP.
W serwisie YouTube pod adresem http://www.youtube.com/watch?v=jktQu56L9Fk dostępny jest 6-minutowy film prezentujący podstawy obsługi Programu Przeglądającego systemu SZARP. Film omawia najważniejsze dostępne operacje – uruchamianie programu, wybór wykresu i rodzaju średnich, nawigację po wykresach, korzystanie z pomocy.
Udostępniono wersję 3.1.53 oprogramowania SZARP. Najważniejsze zmiany w stosunku do wersji 3.1.1:
Nowa funkcja komentarzy w programie przeglądającym draw3. Komentarz to krótkie tekstowe informacje przyporządkowane do zestawu wykresów (lub wszystkich danych) i konkretnej daty/godziny. Mogą opisywać jakieś istotne zdarzenie (np. awarię jakiegoś urządzenia) lub zawierać informacje dla obsługi. Komentarze są trzymane na centralnym serwerze i dystrybuowane do użytkowników oglądających dane z konkretnej instalacji za pomocą protokołu typu RPC. Użytkownicy z odpowiednimi uprawnieniami mogą dodawać i edytować komentarze.
Skrypty startowe dla komputerów pełniących role terminala zostały dostosowane do typowego dla wersji 3 systemu sposobu przekazywania wartości chwilowych.
W programie ekstraktor3 poprawiono obsługę formatu Open Document Spreadsheet, istnieje obecnie możliwość ekstrakcji danych do tego formatu także na platformie Windows.
Poprawiono i usprawniono definiowanie raportów użytkownika w programie raporter3.
Parametry definiowalne użytkownika teraz także pod systemem Windows korzystają z szybszej wersji interpretera języka LUA wykorzystującego mechanizm just-in-time compilation.
Opracowano i wdrożono nowe systemy budowania wersji systemu SZARP zarówno na platformę MS Windows jak i Linux. Te dwa nowe rozwiązania korzystają z nowej lokalizacji źródeł systemu SZARP – portalu https://sourceforge.net, główne repozytorium pakietów Debiana zostało przeniesione na serwer http://szarp.org. Pakiety dla wersji stable i unstable mają obecnie odpowiednie zależności binarne.
Główny numer wersji systemu SZARP został podniesiony z 3.0 do 3.1. Głównym powodem zmiany jest przeniesienie repozytorium kodu źródłowego na portal SourceForge.net. Wersje pobierane z sf.net mają numery wersji w postaci 3.1.X, gdzie X jest numerem wersji repozytorium Subversion. Najważniejsze zmiany w stosunku do wersji 3.0 to:
Nowe repozytorium APT pod adresem http://szarp.org/debian, zawierające paczki dla wersji stabilnej i niestabilnej Debiana. (Instalator dla Windows jest dostępny bezpośrednio ze strony projektu na SourceForge.net http://sourceforge.net/projects/szarp).
W repozytorium pozostał tylko kod na licencji GPL, nie ma więc dłużej potrzeby podwójnego licencjonowania. Część nie-wolnego kodu została przeniesiona do wtyczki, dostępnej jako binarny pakiet Debiana o nazwie szarp-proprietary-daemons.
Pakiet jest do ściągnięcia z sekcji non-free repozytorium APT.
Dodano możliwość eksportu z programu Ekstraktor w formacie ODF (OpenOffice 2.0 i późniejsze).
Kod jest kompatybilny z dystrybucją Ubuntu - powinno dać się ze źródeł budować paczki Ubuntu. Planujemy uruchomienie repozytorium z pakietami dla Ubuntu.
Wiele innych poprawek w programach i dokumentacji. Chwilowo nie działa automatyczna aktualizacja SZARP pod Windows - oprogramowanie aktualizacyjne nie sprawdza dostępności nowych wersji na SourceForge; pracujemy nad odpowiednią poprawką.
SZARP jest rozwijany począwszy od roku 1991/1992, wolnym oprogramowaniem został w roku 2007 i wtedy też został zarejestrowany jako projekt na SourceForge.net – największym światowym portalu Wolnego Oprogramowania. Projekt na sf.net nie był jednak zbyt aktywny - aż do teraz. Główne repozytorium projektu zostało przeniesione na SourceForge, tak więc cały rozwój oprogramowania został skupiony wokół tego portalu. Powstała także nowa strona domowa projektu - http://www.szarp.org, mająca stać się głównym miejscem dla aktualności dotyczących projektu, a także do pobierania oprogramowania i dostępu do dokumentacji.
Dostępne jest repozytorium APT’a z pakietami dla aktualnej wersji stabilnej. W celu pobrania pakietów, do pliku /etc/apt/sources.list dodaj adres repozytorium:
deb [signed-by=/usr/share/keyrings/szarp.asc] http://packages.szarp.org/debian trixie main non-free contrib
Następnie użyj poleceń:
apt update
apt search szarp
aby wyświetlić listę dostępnych pakietów. Klucz repozytorium APT może być zaimportowany za pomocą następującego polecenia:
SZARP to dojrzałe, funkcjonalne, darmowe oprogramowanie typu SCADA HMI.
SZARP jest dostępny za darmo, zgodnie z warunkami Licencji Publicznej GNU 2.0.
SZARP został zaprojektowany do nadzoru miejskich systemów ciepłowniczych.
SZARP jest aktywnie rozwijany od ponad 15 lat.
SZARP jest obecnie używany w ponad 40 ciepłowniach w całej Polsce.
SZARP wspiera wiele języków – jest dostępny po polsku, z polską dokumentacją, ale dostępne są też tłumaczenia angielskie i częściowo francuskie i niemieckie.