Zrozumienie zakresu obecności informatyki w projekcie układu sterowania to ważny pierwszy krok do zidentyfikowania potrzebnej ekspertyzy. Aktualnie pracuję nad projektem ilustrującym różnorodność technik informatycznych stosowanych w nowoczesnych systemach sterowania.
Projekt ten obejmuje skonstruowany na zamówienie sprzęt oraz specyficzne układy sterujące,jak również gotowy sprzęt i standardowe układy sterowania, HMI, MES (manufacturing execution system ? system realizacji produkcji), programy do zbierania i archiwizacji danych kategorii historian, a także możliwości podłączenia do korporacyjnych systemów firmy. Projekt uwzględnia integracje z systemem laboratoryjnym kategorii LIMS (laboratory information management system ? system zarządzania informacjami laboratoryjnymi), CMMS (computerized maintenance management system ? komputerowy system zarządzania utrzymaniem ruchu) oraz system zarządzania CAPA (corrective action preventative action ? działania korekcyjne i prewencyjne). Podczas realizacji projektu wyzwaniem był fakt, że techniki informatyczne niezbędne do sprawnego działania systemu są od siebie wzajemnie zależne. Komponenty informatyczne muszą ze sobą współpracować w celu zapewnienia niezawodności, odpowiedniego zestawu funkcji oraz spełnienia wymogów bezpieczeństwa projektu całego systemu sterowania.
?Komponenty informatyczne muszą ze sobą współpracować w celu zapewnienia niezawodności, odpowiedniego zestawu funkcji oraz spełnienia wymogów bezpieczeństwa projektu całego systemu sterowania?
Jedną z pierwszych części projektu systemu jest jego partycjonowanie, obejmujące mapowanie aplikacji poprzez przyporządkowanie ich do poszczególnych komputerów i przyporządkowywanie komputerów do sieci. Wymaga to pewnej wiedzy na temat sieci LAN (local area networks ? lokalna sieć komputerowa), VLANS (virtual LAN ? wirtualna sieć LAN), topologii switchy sieciowych oraz opcji partycjonowania sieci. Jeśli w projekcie mają być używane bezprzewodowe urządzenia dostępu, takie jak: ręczne HMI, zdalne skanery do kodów kreskowych czy bezprzewodowe urządzenia wejścia-wyjścia (moduły I/O), wtedy konieczna jest również znajomość opcji WLAN (wireless LAN ? bezprzewodowa LAN), obejmująca zakres, wydajność, zakłócenia, bezpieczeństwo oraz wymagania dotyczące zasilania dla urządzeń sieciowych zgodnych ze standardami 802.11a, 802.11b, 802.11g, Bluetooth jak również innymi standardami obejmującymi połączenia bezprzewodowe.
Partycjonowanie sieciowe wymaga znajomości standardów bezpieczeństwa oraz praktycznych doświadczeń, tzw. ?najlepszych praktyk? (amer. best practice), jak również zasad zarządzania domenami i uprawnieniami. Zarządzanie domenami i uprawnieniami obejmuje zarządzanie: użytkownikami i ich przywilejami w systemie, grupami użytkowników i ich przywilejami, rejestracją komputerów i ich przywilejami, zasadami dotyczącymi haseł, plików i współużytkowania drukarek, jak również usług sieciowych.
Usługi sieciowe to nadzorowanie wdrażania programów korekcyjnych (tzw. łata, amer. patch) oraz aktualizacji (upgrade) systemów operacyjnych i aplikacji, DNS (domain name services ? usługi nazw domen) służące do identyfikowania lokalnych komputerów, dystrybucji sygnatur (ID) wirusów, monitorowania sieci (w poszukiwaniu uszkodzonych aplikacji, sprawdzania stanu serwera oraz wykrywania intruzów), usług związanych z plikami i drukowaniem oraz serwerami sieci Web. Ponieważ większość sprzedawców elementów systemów sterowania bazuje na platformie Microsoft Windows, konieczna jest znajomość Microsoft Active Directory.
Kolejny krok to integracja aplikacji za pomocą różnych zestawów elementów informatycznych. Integracja aplikacji może posługiwać się systemami kolejkowania komunikatów, takimi jak WebSphere MQ firmy IBM czy Message Queuing Services firmy Microsoft, do asynchronicznej wymiany komunikatów, protokołów transferu plików (FTP), do zwykłej wymiany plików czy usług sieci typu Web służących do interaktywnej wymiany komunikatów. Największa ilość nowych formatów komunikatów jest oparta na dokumentach języka XML (eXtensible Markup Language) i posługuje się językiem XSL (eXtensible Stylesheet Language) do mapowania elementów XML. Istnieją również różne specyfikacje XML dotyczące konkretnych aplikacji, takie jak Wymiana Danych w Przemyśle Chemicznym (Chemical Industry Data Exchange) czy B2MML (Business to Manufacturing Markup Language).
Innym typowym sposobem wymiany danych jest posługiwanie się bazami. Bazy danych stanowią zazwyczaj część każdego projektu. Należy zdobyć wiedzę dotyczącą techniki baz danych, taką jak: zasady normalizacji relacyjnych baz danych ERDs (Entity Relationship Diagrams ? schematy zależności pól baz danych) oraz SQL (Structured Query Language ? strukturalny język zapytań). W zależności od aplikacji może zajść potrzeba pogłębienia wiedzy w zakresie komercyjnych baz danych, takich firm jak Oracle, IBM czy Microsoft, lub dostępnych bezpłatnie popularnych baz danych.
Jeśli Państwa system wymaga dedykowanego kodu, to oprócz znajomości języka wdrożeniowego trzeba poznać język modelowania UML (Universal Modeling Language) oraz metody programowania, takie jak RUP (Rational Unified Process) czy XP (eXtreme Programming). Opracowywanie dedykowanego kodu wymaga również zastosowania systemu zarządzania konfiguracją oraz znajomości systemów zarządzania dokumentami, a także systemów archiwizowania i odtwarzania danych (backup and restore).
Przy tak wielu różnych elementach informatycznych niemożliwe jest posiadanie wiedzy eksperckiej w każdym zakresie. Na szczęście, inżynierowie automatycy i programiści systemów sterowania nie muszą być ekspertami, powinni jednak rozumieć zakres swoich projektów informatycznych i posiadać dobrą ogólną znajomość dostępnych technik.
DennisBrandl, dbrandl@brlconsulting.com, jest prezesem BR&L Consulting, firmy consultingowej zajmującej się rozwiązaniami informatycznymi dla produkcji, z siedzibą w Cary, USA.