Relacje katalogowe

Obsługiwane urządzenia

T&J D2MS (Device and Data Management System) jest platformą operatorską i warstwą nadrzędnego zarządzania procesem dla bioreaktorów T&J Bioengineering/TJXBIO. Łączy konfigurację urządzeń i parametrów, prowadzenie serii fermentacji, rejestrację danych, analizę przebiegów, raportowanie, zarządzanie użytkownikami oraz automatyzację wielu stanowisk. Główny program operatorski w pakietach instalacyjnych nazywa się OAJ — Operator Action Journal.

D2MS nie zastępuje sterownika czasu rzeczywistego. W architekturze producenta przemysłowy PLC utrzymuje pętle regulacji, a OAJ działa na komputerze Windows jako warstwa supervisory. Oddzielny Data Logger pobiera wartości ze sterowników i zapisuje je w Microsoft SQL Server. Dzięki temu jedna instalacja może nadzorować wiele niezależnych reaktorów, ale komputer OAJ, logger, baza i PLC tworzą wspólną powierzchnię bezpieczeństwa.

Parametr Potwierdzona wartość
Producent T&J Bioengineering / TJXBIO
Pełna nazwa Device and Data Management System
Program operatorski OAJ — Operator Action Journal
Edycje Community Edition, Native Basic, Native Pro
Najnowszy zestaw wymieniony na oficjalnej stronie wydań OAJ 2.6.9, D2MS Updater 2.6.9, Native Data Logger 2.3.6; stan potwierdzony ponownie w 2026 r.
System hosta dla pełnego pakietu Community 2.6.2.13 64-bitowy Windows 8.1 lub nowszy
Baza danych Microsoft SQL Server 2017; instancja \.\tnj, baza DB
Runtime aplikacji NI LabVIEW Runtime 2018 SP1, 32-bit
Integracja urządzeń obcych OPC DA i NI DataSocket w Community Edition
Automatyzacja profile, APC, Python UDF, import CSV, DoE
Podstawowe formaty XML-owe .tjp, .tjc, .udf, .tjd, .tjs, .tjmp, .tjrc; CSV i PDF
Model licencji Community bezpłatnie do zastosowań non-profit, z aktywacją zależną od identyfikatora komputera
Bieżące etykiety zgodności urządzeń Native Pro, Native Basic i All; strona Intelli-Ferm A G3 używa również nazwy D2MS Pro

Edycje i granice funkcjonalne

Community Edition służy do współpracy z urządzeniami różnych producentów. T&J udostępniło ją bezpłatnie do zastosowań non-profit. W tej edycji logger pobiera dane z serwera OPC DA, a konfiguracja wymaga mapowania urządzeń i parametrów. Community oraz Native współdzielą znaczną część kodu OAJ, dlatego układ zarządzania eksperymentami i analizy danych jest podobny.

Native Basic jest dostarczany z urządzeniami T&J i korzysta z przygotowanej przez producenta konfiguracji sterowników oraz parametrów. Operator nie musi budować warstwy mapowania OPC dla każdego tagu. Gałąź 1.x została zastąpiona właśnie przez Native Basic.

Native Pro obejmuje funkcje rozwijane dla platformy CloudReady: pracę wielu stanowisk przez sieć, rozbudowaną automatyzację, zdalny monitoring, kamery, WebAccess i mocniejszy audit trail. Oficjalny opis CloudReady wskazuje Native Pro jako część zintegrowanego systemu sprzętowo-programowego.

Rozróżnienie edycji jest istotne przy analizie konkretnej instalacji. Funkcja opisana w historii OAJ może być wspólna dla edycji, ograniczona do Native albo wymagać określonej wersji Data Loggera i poprawki bazy.

Chronologia OAJ i D2MS

Numery OAJ, D2MS Updatera i Native Data Loggera zmieniają się niezależnie. Sam zapis „D2MS 2.6” nie identyfikuje pełnego stanu instalacji.

Wersja Potwierdzona zmiana i zakres
1.2.x import historycznych danych urządzeń innych producentów
1.3.0 zdalny podgląd obrazu z kamer opartych na Raspberry Pi; front-end i aktualizacja bazy; viewer wymagał .NET Core 3.1
1.3.1 status zezwolenia na zdalne sterowanie na ekranie mini HMI; wymagana baza co najmniej 1.3.0
1.3.2 edycja profili i obsługa pliku diagnostycznego diagnostic.data
1.4.2 poprawka niepełnego wysyłania profilu zawierającego ponad 30 wierszy, zmiany bezpieczeństwa bazy i osie Y po obu stronach wykresu
1.4.3 poprawka nakładających się osi Y w głównym trendzie; wymagała wcześniejszej aktualizacji 1.4.2
1.4.3.8 poprawka dla instalacji 1.4.3.x: osie Y oraz nagłówki kolumn Profile Playera podczas sterowania wieloma reaktorami
2.6.2 / Community 2.6.2.13 nowy mechanizm aktywacji, przebudowany podgląd Data Management i poprawka nagłówków Profile Playera; aktualizacja wymagała ponownej aktywacji
2.6.3 paczki rozdzielone według edycji, eksport raportu batch do PDF, zachowanie układu wykresu oraz zmiana pola Description na Batch Number
2.6.4 + Updater 2.6.3 wspólna poprawka bazy dla Community, Native Basic i Native Pro; funkcja Data > Data Validation do kontroli eksportów
2.6.5 + Updater 2.6.4 rozszerzony audit trail i eksport śladu do PDF/CSV
2.6.6 raport batch PDF, raport audit trail poza Community Edition, walidacja danych i pionowy kursor na wykresach
2.6.7 dalsze wzmocnienie audit trail; zmiana parametrów w Native wymaga podania hasła
2.6.8 + Updater 2.6.6 + Native Logger 2.3.4 mocniejszy audit trail w Native Basic/Pro oraz poprawka przesunięcia wierszy loggera przy nieudanym połączeniu; logger wymagał poprawki kont użytkowników
2.6.9 + Updater 2.6.9 + Native Logger 2.3.6 szybkie uruchamianie HMI i kamer z menu OAJ, graficzna edycja podpisów kontrolek HMI, tryb okna loggera „zawsze na wierzchu” i podgląd stanu systemu

Producent oznacza linię 1.x jako maintenance-only. Ta gałąź nie była publicznym wydaniem ogólnym: odnośniki aktualizacyjne są przeznaczone dla wcześniejszych klientów T&J. Publiczna dystrybucja Community koncentruje się na linii 2.6.x.

Skład pełnego pakietu Community 2.6.2.13

Analiza oficjalnego pełnego archiwum pozwala rozdzielić elementy, które na stronie producenta bywają zbiorczo nazywane D2MS.

Katalog lub program Rola
Deployment/Database_Deployment.exe utworzenie i inicjalizacja bazy D2MS
Logger/OPC_Logger.exe pobieranie danych z OPC DA i zapis do SQL Server
OAJ/OAJ.exe główny interfejs operatorski, zarządzanie urządzeniami, eksperymentami i danymi
OAJ/Registration.exe rejestracja i aktywacja online
OAJ/QR_Registration.exe aktywacja w trybie z kodem QR
OAJ/MJPEG_Viewer.exe podgląd strumienia MJPEG z kamer
OPC Server Simulator źródło danych testowych dla konfiguracji Community
D2MS_Updater.exe migracja lub poprawka schematu bazy podczas aktualizacji
katalog data profile, reguły, style, mapowania i dane konfiguracyjne OAJ

Główne programy są 32-bitowymi aplikacjami PE zbudowanymi przy użyciu LabVIEW. Pełna paczka zawiera również narzędzia .NET używane do rejestracji QR i obrazu MJPEG. Moduły mogą działać na jednym komputerze, ale producent opisuje również architekturę rozproszoną, w której baza, logger i program użytkownika pracują na różnych hostach.

Wymagania hosta i zależności

Oficjalna instrukcja wdrożenia Community 2.6.2.13 wskazuje 64-bitowy Windows 8.1 lub nowszy; producent rekomenduje edycję Pro. Sprawdzony przez T&J wariant Windows 10 Home wymaga pełnej wersji wielojęzycznej — wydanie Home Single Language nie przechodziło instalacji pakietu.

Komponent Wersja potwierdzona w dokumentacji lub paczce
NI LabVIEW Runtime 2018 SP1, 32-bit
NI License Manager pakiet przygotowany względem linii 4.7; identyfikator hosta generuje generateComputerId.exe
Microsoft SQL Server 2017
Python 3.6.2, wpisany w OAJ/settings.ini
.NET Framework składnik instalacji hosta
.NET Core aplikacje framework-dependent: MJPEG Viewer żąda Microsoft.WindowsDesktop.App 3.1.0, a narzędzie QR Microsoft.NETCore.App 3.1.0; paczka nie zawiera własnego hostfxr ani coreclr
QrCodeGenerator ProductVersion 2.0.1, AssemblyVersion 1.6.0
System.Drawing.Common pakiet NuGet 5.0.3; plik 5.0.1221.52207, AssemblyVersion 5.0.0.2
Microsoft.Win32.SystemEvents pakiet 5.0.0
HtmlAgilityPack 1.11.30
AES_NET 1.0.0.3
MJPEG Viewer 1.0.0
iTextSharp 4.1.6 w paczkach aktualizacyjnych 2.6.3 i 2.6.6
OPC Core Components i NI DataSocket wymagane przez Community Edition

LabVIEW Runtime jest 32-bitowy mimo 64-bitowego systemu Windows. Ma to znaczenie dla zgodności sterowników OPC, bibliotek COM i narzędzi uruchamianych w tym samym środowisku.

Architektura PLC, loggera i OAJ

T&J rozdziela sterowanie na dwie warstwy. Przemysłowe PLC odpowiadają za regulatory control: cykliczne odczyty, wyjścia i pętle PID. D2MS realizuje supervisory control: wybór urządzeń, zarządzanie RunID, profile, trendy, zdarzenia użytkowników, raporty oraz komendy obejmujące pojedynczy reaktor lub grupę reaktorów.

W Native parametry urządzeń i mapowanie komunikacji są przygotowane fabrycznie. Native Data Logger korzysta z protokołu warstwy sterowników T&J. W Community rolę adaptera pełni OPC DA: serwer OPC wystawia tagi urządzenia, OPC Logger je odczytuje, a OAJ pracuje na ujednoliconym modelu urządzeń i parametrów.

Producent zaleca uruchamianie D2MS i serwera OPC na tym samym komputerze oraz w kontekście tego samego użytkownika Windows. Powodem jest złożoność konfiguracji DCOM. Takie wdrożenie upraszcza komunikację, lecz powoduje, że konto hosta OAJ staje się również granicą dostępu do serwera OPC.

Domyślna konfiguracja loggera w pełnym pakiecie Community ma interwał 60 sekund, cztery przykładowe identyfikatory urządzeń 86–89, tryb OnChange=true i wyłączone alarmy. Są to wartości demonstracyjnej paczki, nie stałe ograniczenia platformy.

Model danych i formaty plików

Pakiet tworzy instancję SQL Server \.\tnj i bazę DB. Aplikacje łączą się przez SQLOLEDB.1. Logger zapisuje wartości procesowe, a OAJ wiąże je z urządzeniem, kanałem, użytkownikiem, RunID, czasem i konfiguracją eksperymentu.

Konfiguracje użytkownika nie są zamkniętym formatem binarnym. Następujące rozszerzenia są plikami XML i można je wersjonować oraz porównywać narzędziami tekstowymi:

Rozszerzenie Zastosowanie
.tjp profile procesu i sekwencje wartości zadanych
.tjc reguły Advanced Process Control
.udf definicje funkcji użytkownika i automatyzacji Python
.tjd projekty Design of Experiments
.tjs style wykresów i prezentacji danych
.tjmp mapowania kolumn i parametrów przy imporcie
.tjrc definicje porównania przebiegów

Dane pomiarowe i raporty mogą być eksportowane do CSV i PDF. Tabele inicjalizacyjne znajdujące się w pakiecie wdrożeniowym są zapisane jako Microsoft XML rowset. Zasób DB.OBJ używany przy inicjalizacji bazy ma zakodowaną postać i nie jest zwykłym eksportem SQL.

Zarządzanie seriami i analiza danych

OAJ porządkuje pracę wokół urządzenia i numeru przebiegu RunID. Operator może oglądać bieżące wartości, otwierać historię, zestawiać wiele serii, zapisywać układ osi i krzywych, prowadzić komentarze oraz wprowadzać wartości laboratoryjne. Wbudowany import łączy kolumny zewnętrznego CSV z parametrami D2MS; znacznik czasu jest polem obowiązkowym, a mapowanie można zapisać do ponownego użycia.

Mapowanie kolumn CSV do parametrów D2MS

Import danych innego systemu: kolumny Date and Time, Agit, QG i pH są parowane z parametrami D2MS. Kadr z oficjalnej demonstracji „D2MS 3rd Party Data Import”, interfejs OAJ z 2021 r.; źródło: galeria TJXBIO.

Moduł Design of Experiments przyjmuje plan z CSV lub pliku T&J, przypisuje czynniki i odpowiedzi, a następnie prezentuje dopasowanie powierzchni odpowiedzi w widoku 3D. Pokaz producenta demonstruje algorytm Levenberg–Marquardt i rozkład LU dla modelu drugiego rzędu.

Analiza 3D Design of Experiments w D2MS

Projekt eksperymentu i inspekcja powierzchni odpowiedzi w OAJ Native; kadr z oficjalnej demonstracji „D2MS Built-in 3D Visual DoE”, interfejs z 2022 r.; źródło: galeria TJXBIO.

Profile, APC i Python UDF

Profile pozwalają zapisać przebieg wartości zadanych i odtworzyć go na jednym albo wielu reaktorach. Historia wersji 1.4.2 dokumentuje praktyczny szczegół tej funkcji: w wydaniach 1.3.3–1.4.1 profile dłuższe niż 30 wierszy mogły nie zostać wysłane w całości, co naprawiono w 1.4.2.

Advanced Process Control buduje sekwencje z warunków czasowych i procesowych oraz akcji na parametrach. Oficjalny przykład uruchamia akcję dopiero po określonym czasie, po przekroczeniu progu DO i utrzymaniu warunku przez ustaloną liczbę sekund, a następnie przełącza regulator DO do trybu automatycznego z nowym setpointem. Dispatcher pokazuje niezależny stan wykonania tej samej strategii dla kilku reaktorów.

Dispatcher Advanced Process Control w D2MS

Reguła APC sterująca DO równolegle w reaktorach Twin1 i Twin2; kadr z oficjalnej demonstracji „APC (Advanced Process Control) Demo”, interfejs z 2023 r.; źródło: galeria TJXBIO.

UDF rozszerza tę automatykę o skrypty Python. Producent opisuje wykonywanie pełnej serii z profilu CSV albo skryptu oraz stosowanie Python UDF do zaawansowanego sterowania. W pełnej paczce Community 2.6.2.13 interpreter jest oznaczony jako Python 3.6.2, dlatego ocena kodu UDF musi obejmować zarówno sam skrypt, jak i nieobsługiwaną już linię runtime.

Sterowanie wieloma reaktorami

Lista urządzeń w OAJ pozwala zaznaczyć kilka reaktorów i wykonywać wspólne operacje. Zrzut demonstracyjny Native Pro pokazuje jednoczesną zmianę wartości zadanych dla R1–R4 oraz tabelę zdarzeń z czasem, RunID, użytkownikiem, poprzednią i nową wartością. Ten mechanizm jest podstawą pracy wysokoprzepustowej: jedno polecenie może objąć dziesiątki stanowisk zamiast wymagać ręcznej obsługi każdego HMI.

Operacje wielu reaktorów i audit trail w D2MS Native Pro

Zmiana nastaw R1–R4 i lista zdarzeń operatorskich w Native Pro; kadr z oficjalnej demonstracji „D2MS Audit Trail Support”, interfejs z 2022 r.; źródło: galeria TJXBIO.

Kamery i monitoring procesu

Obsługa kamer pojawiła się w gałęzi 1.3.0. Producent zastosował Raspberry Pi po stronie obrazu oraz viewer wymagający .NET Core 3.1 na hoście OAJ. Pełny pakiet 2.6.2.13 zawiera MJPEG_Viewer.exe; przykładowy plik uruchomieniowy wywołuje go z adresem 192.168.0.99, portem 8000 i nazwą kamery TEST.

Paczka demonstracyjna urządzeń przechowuje osobno Camera IP. Przykładowa konfiguracja wskazuje 192.168.1.19:8000. OAJ Native Basic potrafi otworzyć równocześnie osobne okna obrazu dla wielu kanałów; 2.6.9 dodał szybkie uruchamianie monitoringu z głównego menu.

Wielokanałowy podgląd kamer w D2MS Native Basic

Dwanaście okien Live Video otwartych nad interfejsem Native Basic; kadr z oficjalnej demonstracji „D2MS Live Stream Cameras”, interfejs z 2022 r.; źródło: galeria TJXBIO.

WebAccess i warianty zdalnego dostępu

Podstawowym modelem wdrożenia opisanym w FAQ jest sieć lokalna bez wymaganego dostępu do Internetu. CloudReady rozszerza ten model o pracę zespołów z innych lokalizacji. Producent wymienia pięć sposobów zestawienia zdalnego dostępu:

  1. statyczny publiczny adres IP i domena dla serwera brzegowego;
  2. przekierowanie portów, jeśli organizacja posiada już publiczny adres;
  3. reverse proxy frp z publicznym serwerem, np. Ubuntu Linux;
  4. TeamViewer lub AnyDesk;
  5. VPN oraz własny pulpit zdalny albo serwer VNC.

D2MS WebAccess udostępnia w przeglądarce wybór urządzeń, bieżące wartości i wykresy. Oficjalny kadr pokazuje adres http://192.168.56.101/pagedisplay/index, czyli usługę HTTP w prywatnej podsieci, bez TLS na tym stanowisku demonstracyjnym. Interfejs pozwala wybrać Twin1–Twin4, ustawić tryb Digital+Graph, interwał odświeżania w milisekundach i długość historii w godzinach.

Konfiguracja widoku D2MS WebAccess

Strona konfiguracji D2MS WebAccess na hoście 192.168.56.101; kadr z oficjalnej demonstracji „D2MS WebAccess Feature Demo”; źródło: galeria TJXBIO.

Konta startowe, połączenie SQL i token tunelu

Pełny pakiet Community 2.6.2.13 zawiera konkretne wartości startowe. Należą one do instalatora i konfiguracji demonstracyjnej tej wersji; nie są uniwersalnym opisem każdej instalacji Native.

Miejsce Identyfikator Wartość Znaczenie
instrukcja Deployment/Readme Admin 123456 pierwsze logowanie do aplikacji po wdrożeniu bazy
Logger/settings/sql.udl remote_user 123456 login SQL zapisany jawnym tekstem w connection stringu
OAJ/settings/sql.udl remote_user 123456 ten sam login SQL używany przez OAJ
OAJ/sql.ini token PSWRD_54321 token klienta tunelu TCP do wskazanego serwera
OAJ/settings.ini admin zaszyfrowany lub zakodowany ciąg zapis poświadczenia administratora w konfiguracji OAJ

Pliki UDL mają ustawione Persist Security Info=True, bazę DB, instancję \.\tnj i provider SQLOLEDB.1. Oznacza to, że dostęp do katalogów aplikacji daje również dostęp do connection stringa z hasłem SQL w wersji 2.6.2.13.

Role i poziomy dostępu

Tabele inicjalizacyjne bazy definiują dziewięć grup. Wartości liczbowe są częścią seedów Community 2.6.2.13.

Grupa Poziom zapisany w paczce
Admin 255
OEM 255
Team Leader 129
Manager 129
Engineer 128
Operator 127
Technician 126
Pending 0
Customer 0

Dostęp do parametrów jest dodatkowo klasyfikowany jako Read albo Read-Write. FAQ opisuje siedem poziomów dostępu oraz dwa tryby pracy polityki — Strict i Sloppy. Zestaw nazw w seedach i siedmiopoziomowy model z FAQ odnoszą się do różnych warstw konfiguracji: grup użytkowników oraz egzekwowanych poziomów uprawnień.

Porty, endpointy i usługi widoczne w paczce

Port lub mechanizm Zakres i potwierdzona rola
OPC DA / DCOM integracja Community z serwerem OPC; negocjacja RPC/DCOM nie sprowadza się do jednego stałego portu aplikacyjnego
TCP/102 przykładowe urządzenia Bench, R1–R4 w Devices.tbl; port typowy dla ISO-on-TCP/S7, tutaj potwierdzony jako wartość konfiguracji demonstracyjnej
TCP/8000 strumień MJPEG kamery w przykładach Devices.tbl i viewer.bat
TCP/1433 docelowy port SQL Server po stronie tunelu z sql.ini
127.0.0.1:2433 lokalny endpoint klienta tunelu SQL
47.105.113.123:8050 serwer i port klienta tunelu zapisane w dostarczonym sql.ini
HTTP WebAccess; demonstracja producenta używa http://192.168.56.101/pagedisplay/index
VNC / RDP opcjonalny dostęp do hosta D2MS przez VPN według wariantów CloudReady
frp opcjonalny reverse proxy do publikacji instalacji przez serwer z publicznym IP

Konfiguracje aplikacji LabVIEW w pełnym pakiecie mają server.app.propertiesEnabled=True, server.ole.enabled=True i server.tcp.paranoid=True. Usługa VI Server jest nazwana My Computer/VI Server, a dostęp do wywołań i właściwości jest włączony. Reguły Web Server zapisane w plikach konfiguracyjnych to WebServer.TcpAccess="c+*" oraz WebServer.ViAccess="+*". Są to ustawienia dostarczonych plików aplikacji; faktyczne nasłuchiwanie zależy od uruchomionych modułów i konfiguracji hosta.

Licencjonowanie, aktywacja i zabezpieczenie fizyczne

Community Edition jest bezpłatna do zastosowań non-profit. Producent nie obejmuje jej standardowym wsparciem poza procedurą rejestracji i aktywacji. Rejestracja może być wykonana online albo przez kod QR, a zgłoszenie jest zatwierdzane po stronie T&J. Po zatwierdzeniu użytkownik ponownie uruchamia narzędzie rejestracyjne, aby zakończyć aktywację.

Licencja jest wiązana z identyfikatorem komputera generowanym przez narzędzie NI generateComputerId.exe i obsługiwana przez NI License Manager. Community 2.6.2.13 nie wymaga fizycznego dongla USB. Zabezpieczeniem jest identyfikator hosta oraz stan aktywacji przechowywany przez mechanizmy NI.

FAQ opisuje zakupione licencje jako bezterminowe z bezpłatnymi aktualizacjami. EULA T&J z 1 czerwca 2021 r. precyzuje jednak, że liczbę kopii, czas użycia i prawo do upgrade'ów wyznacza indywidualny Entitlement lub Usage Term; dopuszcza subskrypcję z odnowieniem, a domyślny okres wersji próbnej wynosi 90 dni. Dla wdrożenia komercyjnego obowiązuje więc dokument zamówienia. Native Basic i Native Pro są licencjonowane wraz z konfiguracją urządzeń lub platformą CloudReady, a nie jako produkt z publicznym cennikiem pudełkowym.

Bieżąca strona główna TJXBIO reklamuje dodatkowo, przez ograniczony czas, bezpłatną wersję D2MS „dla każdego do wypróbowania”. Jest to oferta testowa: nie zmienia opublikowanej zasady Community Edition „free of charge for non-profit purposes” ani warunku EULA, według którego bezpłatna wersja evaluation bez indywidualnie wskazanego terminu wygasa po 90 dniach. Status konkretnej instalacji trzeba zatem wiązać z jej entitlementem i stanem aktywacji, a nie wyłącznie z nazwą pliku OAJ.

Oficjalne pliki do pobrania

Pakiet Oficjalny odnośnik Zawartość lub zastosowanie
pełny D2MS Community 2.6.2.13 Google Drive baza, logger OPC, OAJ, rejestracja, simulator i pliki demonstracyjne
D2MS Community 2.6.3 Google Drive aktualizacja OAJ dla edycji Community
D2MS Updater 2.6.2 Google Drive migracja bazy
D2MS Community 2.6.6 Google Drive paczka Community z funkcjami 2.6.6
D2MS Updater 2.6.4 Google Drive migracja bazy dla aktualizacji 2.6.5
D2MS/OAJ 2.6.7 Google Drive paczka OAJ 2.6.7
OAJ 2.6.9 + Updater 2.6.9 + Native Logger 2.3.6 Baidu, kod TJX5 bieżący zestaw wskazany na stronie wydań
OAJ 2.6.8 + Updater 2.6.6 + Native Logger 2.3.4 Baidu, kod TJX9 wydanie Native i poprawki loggera
OAJ 2.6.5 + Updater 2.6.4 Baidu, kod TJX9 audit trail i eksport PDF/CSV
OAJ 2.6.4 + Updater 2.6.3 Baidu, kod TJX9 data validation i poprawka bazy
Native Pro OAJ 2.6.2.1 Baidu, kod TJX5 aktualizacja Native Pro i mechanizmu aktywacji
Native Data Logger 2.3.2 Baidu, kod TJX6 logger dla Native
SQL Server i Python — pakiet zależności Baidu, kod drfp instalacja silnika bazy i Pythona
NI Package Manager Baidu, kod TJX1 instalator komponentów NI
NI License Manager Baidu, kod TJX1 obsługa licencji i aktywacji
LabVIEW Runtime 2018 SP1 Baidu, kod TJX0 wymagany 32-bitowy runtime

Oficjalna strona wydań dm.parallel-bioreactor.com przedstawia historię i odnośniki, lecz 6 września 2026 r. jej certyfikat TLS był wygasły. Archiwa Google Drive pozostają niezależnymi celami pobrania.

Aktualizacja i integralność pakietów

Procedura 2.6.x składa się z trzech operacji: uruchomienia odpowiedniego D2MS_Updater.exe, zastąpienia pliku OAJ.exe oraz scalenia katalogu data. Aktualizacja 2.6.3 wymaga wyboru paczki zgodnej z edycją. Wydania 2.6.8 i 2.6.9 pozwalają przejść bezpośrednio z OAJ 2.6.5, z pominięciem wydań pośrednich. Native Logger 2.3.4 wymaga dodatkowej poprawki kont użytkowników.

T&J opublikowało sumy MD5 pięciu głównych programów pełnej paczki Community 2.6.2.13. Wartości plików pobranych z oficjalnego archiwum są zgodne:

Plik MD5
Database_Deployment.exe c8c4ac3846a27ee3d44799bb3c3ddc10
OPC_Logger.exe c979fdd2f534bb71c421bfb32a6adc10
OAJ.exe e7d852d56c6fa1d003621b7f5bc01a65
Registration.exe f7f59ceb0f24a1c022675a7904d620ce
QR_Registration.exe cd0cf7abfc1ccacc18a92aa671031a85

Każdy z tych plików ma pusty wpis PE Security Directory (00000000/00000000), czyli nie zawiera podpisu Authenticode. MD5 pozwala porównać pobraną paczkę z wartością podaną przez producenta, ale nie zapewnia kryptograficznego potwierdzenia wydawcy takiego jak ważny podpis kodu. Wszystkie zarchiwizowane ZIP-y przechodzą test integralności struktury unzip -t.

Audit trail, raporty i walidacja

Gałąź 2.6.5 dodała eksport audit trail do PDF i CSV. W 2.6.6 rozszerzono raporty batch oraz narzędzia inspekcji danych. W 2.6.7 zmiana parametrów w Native zaczęła wymagać ponownego podania hasła, a 2.6.8 wzmocniła śledzenie operacji w Native Basic i Native Pro.

Audit trail zapisuje co najmniej czas, urządzenie, RunID, działanie, użytkownika oraz wartości związane z operacją. Oficjalna demonstracja pokazuje zdarzenia takie jak uruchomienie mieszania, zmiana Agit_SP, zmiana DO_SP i komentarz operatora. Funkcja Data Validation służy do sprawdzenia, czy plik CSV lub raport PDF wyeksportowany przez OAJ został później zmieniony poza D2MS.

Community Edition nie ma automatycznego backupu. Kopia bezpieczeństwa instancji SQL i katalogu data jest więc oddzielną funkcją administracyjną hosta, a nie usługą zapewnianą przez bezpłatną edycję OAJ.

Bezpieczeństwo komponentów i CVE

Zapytania NVD dla nazw T&J D2MS i TJXBIO zwracają po 0 rekordów. Nie oznacza to braku podatnych składników: pełna paczka Community 2.6.2.13 wskazuje dokładnie Python 3.6.2, a zapytanie NVD dla tego CPE zwraca 69 rekordów. Python Software Foundation zakończyła wsparcie linii 3.6 dnia 23 grudnia 2021 r.; ostatnim wydaniem bezpieczeństwa było 3.6.15.

Poniżej zestawiono podatności reprezentujące klasy istotne dla funkcji UDF. Sam fakt obecności runtime nie dowodzi osiągalności: warunkiem jest użycie wskazanego modułu przez skrypt i doprowadzenie do niego kontrolowanego wejścia.

CVE Typ Warunek istotny dla D2MS
CVE-2007-4559 path traversal w tarfile.extract/extractall UDF rozpakowuje niezaufane archiwum TAR bez walidacji ścieżek
CVE-2018-1000117 przepełnienie bufora i wykonanie kodu w os.symlink() na Windows skrypt tworzy dowiązanie z kontrolowaną nazwą lub ścieżką; 3.6.2 należy do podatnego zakresu
CVE-2018-14647 wyczerpanie CPU/RAM przez kolizje hashy XML UDF parsuje kontrolowany XML przez akcelerator ElementTree/Expat
CVE-2019-9636, CVE-2019-10160 błędna normalizacja i parsowanie adresu URL, możliwe ujawnienie informacji skrypt podejmuje decyzje o hoście, cookies lub poświadczeniach na podstawie niezaufanego URL
CVE-2019-9740, CVE-2019-9947, CVE-2019-18348 CRLF injection w urllib UDF przekazuje kontrolowany query/path/host do urllib.request.urlopen
CVE-2018-20852 ujawnienie cookies wskutek błędnego dopasowania domeny skrypt używa http.cookiejar.DefaultPolicy i łączy się z hostem kontrolowanym przez atakującego
CVE-2020-8492 ReDoS w obsłudze Basic Auth klient HTTP UDF przetwarza spreparowane wyzwanie uwierzytelniające serwera
CVE-2020-15523 DLL search-order hijacking w osadzonym CPythonie dotyczy tylko wariantu osadzającego CPython i używającego Py_SetPath; paczka D2MS wskazuje zewnętrzny interpreter, więc warunek trzeba potwierdzić w instalacji
CVE-2021-3177 przepełnienie bufora w ctypes (PyCArg_repr) UDF przekazuje kontrolowane wartości zmiennoprzecinkowe do podatnej ścieżki ctypes
CVE-2021-23336 web cache poisoning w urllib.parse.parse_qs/parse_qsl UDF przetwarza URL-e w układzie z cache'em lub proxy
CVE-2022-0391 CRLF injection przez znaki sterujące w ścieżce URL skrypt używa urllib.parse dla kontrolowanych adresów
CVE-2022-26488 lokalne podniesienie uprawnień przez modyfikację PATH instalatora Windows Python zainstalowano dla wszystkich użytkowników z wpisami PATH, a lokalny użytkownik może uruchomić naprawę instalacji
CVE-2022-48565 XXE w plistlib UDF parsuje kontrolowany plik XML plist
CVE-2023-24329 obejście blokady URL przez początkowe białe znaki skrypt filtruje adresy na podstawie wyniku starego urllib.parse
CVE-2024-6232, CVE-2024-7592 ReDoS w parserze TAR i cookies UDF przetwarza spreparowane nagłówki archiwum lub wartości cookies

Narzędzia MJPEG i QR są aplikacjami framework-dependent dla .NET Core 3.1. Microsoft zakończył wsparcie tej linii 13 grudnia 2022 r.; ostatni patch to 3.1.32. Pliki runtimeconfig.json żądają co najmniej 3.1.0, ale nie zapisują wersji faktycznie zainstalowanej na hoście. Dlatego 21 rekordów NVD dla rodziny .NET Core 3.1 nie zostało automatycznie przypisanych D2MS. Dołączony System.Drawing.Common ma wersję pakietu 5.0.3, czyli pierwszą wersję naprawiającą CVE-2021-24112; podatność ta dotyczyła ponadto parsowania grafik na macOS/Linux, podczas gdy D2MS jest wdrażany na Windows.

Analogicznie określenie „SQL Server 2017” nie zawiera numeru builda/CU. Dziesięć rekordów NVD dla tej generacji jest materiałem do porównania z konkretnym hostem, a nie podstawą do przypisania ich wszystkim instalacjom. Własne programy D2MS w analizowanym pakiecie nie mają podpisów Authenticode, a konfiguracja przechowuje jawne poświadczenie SQL i stały token tunelu. Zdalne warianty frp, port forwarding, TeamViewer, AnyDesk, VPN/VNC oraz WebAccess tworzą odrębne ścieżki ekspozycji.

Źródła