Pakiety SZARPa dla dystrybucji Ubuntu Oneric

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/debianoneiric main

Od tej chwili Oneric staje się oficjalnie wspieraną przez nas wersją Ubuntu.

SZARP jesienią

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ą świtał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:

  • Uzupełniono dokumentację daemona uśredniającego meaner3.
  • 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.

Co w SZARPie piszczy

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.

SZARP wchodzi w rok 2012

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 inicjazlizację bazy szbase dla konfigruacji 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

Parametry i zestawy sieciowe w draw3!

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.

Wsparcie dla Ubuntu!

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 wilekiego 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).

Życzymy udanej pracy z systemem SZARP na Ubuntu!

Nowości w SZARPie

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.

Zmiany w SZARP – dekada i nie tylko

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.

Gotowi na Debiana 6.0

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!

Podsumowanie roku 2010

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!