Ostatnio piszę rzadziej bo a) nie ma o czym b) dogoniła mnie robota, w postaci dwu projektów na raz i to już w fazie "u klienta", więc rozjazdy, uzgadniania, a nawet jakieś uruchomienia. Więc brak czasu i sił.
Jeden projekt to bardzo duża SCADA (system nadzoru sterowania i zarządzania danymi sterowania); teoretycznie jest to unowocześnienie i odświeżenie (nowe PCty, Windowsy, no i sama SCADA nówka), bazujące na istniejącym hardware (nie dotykamy sterowników, sieci, itp) i imporcie czego się da ze starego systemu. W praktyce, import dotyczy tylko bazy danych zmiennych (tagów) sterowania i sam w sobie dostarczył "radości" i upierdliwości, bo jest to ok 28000 zmiennych... a resztę SCADA, obiekty, interfejs, ekrany, itd itp trzeba po prostu zrobić od podstaw. I to w dosyć niewygodnych założeniach i nowoczesnym standardzie. Niewygodnych założeniach, bo po tragicznym doświadczeniu z poprzednią "klasyczną" SCADA, klient zażyczył sobie jak najwięcej obiektowości i szablonów (substitution) - gdyż stara SCADA ma coś 1200 okienek (niedziedziczonych!) i odpowiednio do tego obiektów, co jest oczywiście nie do opanowania, zmian czy maintenance. I co dość głupie, gdyż serce instalacji którą zarządza to 6 linii, plus zylion zaworów, pomp, zbiorników itp. nieźle zunifikowanych, więc aż się prosi o szablony i dziedziczenie, i można było to 8 czy 10 lat temu spoko zrobić, no ale ktoś poleciał copy-paste po prostu, dla tysięcy zmiennych i setek obiektów. A ja mam się zmieścić w 100-150 okienkach i proporcjonalnie mniej obiektów. Nasz per klient nasz per pan, oczywiście, i wszystko da się zrobić - tyle, że SCADA którą wybrali nie jest idealnie obiektowa, ale "w pół drogi"; a co gorsza bazuje na Visual Basicu, więc jest dosyć wolna. Co widać, słychać i czuć, kiedy buduje się wykonawcze ekrany czy faceplates dynamicznie, jako wielokrotne podstawienia szablonów i obiektów, zamiast załadować elementy raz a dobrze.
Doszliśmy do etapu testów serwera wzg. redundantnych PLC (hot stand-by, kosztowne rozwiązanie - para PLC pracująca razem na dwa zestawy I/O i przełączająca się "w locie" w razie awarii) i wzg. jedengo PC-klienta (dającego od 1 do 4 ekranów operatorskich full HD; klientów będzie kilkunastu). Nawet jakby to wszystko działa, ale do końca daleka droga, po prostu mnóstwo towaru jest do wystrugania w kodzie i grafice, a pomoc mam raczej teoretyczną, w postaci jednego kolegi, zarobionego innymi rzeczami nie gorzej niż ja.
Tyle, że wyzwanie ambitne, i wszystko z dość wysokiej półki. Np. wymagany przez klienta standard interfejsu (w sensie - wygląd, kolor, grafika, ergonomia) jest bardzo nowoczesny i naprawdę dobry. A wypasiony na wszystkich poziomach hardware i projektowany zestaw konsol i monitorów wydawał mi się z czapy i przegięty, dopóki nie zaliczyłem jako kibic w kąciku centrum kontroli akcji klasy: "duża ilość syren i sygnałów, ludzie mieszają na cztery ręce, ktoś przez radio krzyczy "compressor down, RTO alfa beta down, smoke on dryer alfa!" na co operator pod nosem "fuck, flames" i usiłuje opanować dymiącą linię, a wielka suszarnia usiłuje się spalić, bo ciśnienie powietrza spadło o 2 bary" - może nie był to Czernobyl czy inny Three Mile Island, ale wyraźnie nie są to motywy i akcje typowego zakładu z jakim miałem do czynienia.
A skądinąd, mają wywieszoną dumnie tablicę z ok. 4500 dniami pracy bez przestoju, od początku istnienia instalacji - czyli są dobrzy w te klocki (i mają porządny sprzęt i maintenance). Pytałem mojego człowieka (lokalny automatyk) czy chcemy być bohaterami, którzy w końcu wyzerują ten licznik - twierdzi, że tego akurat nie chcemy...
Z jeszcze innej strony - ludzie klienta na różnych poziomach i działach kompetentni i mili, aż przyjemnie dłubać dla nich tak poważne rzeczy. Oczywiście, jak przyjdzie do prawdziwego uruchomienia, zobaczymy...
I tu możemy przejść płynnie do drugiego projektu, który różni się mocno skalą (parędziesiąt zmiennych a nie 28 tysięcy...), architekturą (6 PLC rozproszonych wokół miasta plus serwer, a nie - struktura 20 PLC na sieci i obiekcie lokalnym) ale przede wszystkim ludźmi, którzy go prowadzą i tak jakby są przeciwieństwem tych powyżej. Zresztą, oni nie prowadzą, oni wloką ten projekt; ma już ze dwa lata oficjalnie, a rzeczywiście to i nieco ponad. Ba, ja już jestem umoczony w to półtora roku, i
była o tym notka. No ale w końcu próbuję to nieszczęście zamknąć, dzisiaj zaczniemy testy live. Jak tylko przeniosę serwer do innej lokacji, bo się Naszym Kontaktom zmieniło zdanie na ten temat, i przeprogramuję logikę blokad itp. pomiędzy 6 przepompowniami ścieków, gdyż też się zmieniło zdanie... Ogólnie, masakra, i to na nietypowych rozwiązaniach (sterowniki i SCADA od ABB) plus upierdliwa topologia i routing sieci - ale nawet jakby to wszystko
technicznie działa. Jeszcze żeby było wiadomo "co to ma robić", byłoby nieźle; niestety głównie muszę zgadywać tudzież lawirować między klienta managementem, średnim szczeblem technicznym i operatorami. Plus robić tzw. zarządzenie zmianą, choć nikt mi za to nie płaci...
I na takich grach i zabawach schodzą mi dni i tygodnie.