Oto lista najważniejszych nowości w COSinus 1.22:
Filtrowanie adresów IP
Możliwe jest ograniczenie dostępu do sterownika poprzez filtrowanie adresów IP z których pochodzą otrzymywane pakiety. Dostępne są dwa tryby pracy filtru:
– biała lista, w której domyślnie wszystkie pakiety są ignorowane, a sterownik akceptuje wyłącznie pakiety pochodzące z adresów zdefiniowanych na liście. Jest to tryb zalecany i bezpieczniejszy.
– czarna lista, w której domyślnie wszystkie pakiety są przyjmowane, a sterownik ignoruje wyłącznie pakiety pochodzące z adresów zdefiniowanych na liście
Konfiguracja filtru jest możliwa poprzez Device Configurator, przy pozycji Ethernet w sekcji Onboard Communications.
Okno listy filtrów zawiera pola umożliwiające wpisanie adresu i maski wraz z opisem. Umożliwia to zdefiniowanie zarówno jednego konkretnego adresu IP, ale również całego zakresu adresów. Na liście może się znajdować do 32 takich wpisów.
W powyższym przykładzie na liście dodany został zakres adresów 192.168.10.0 do 192.168.10.255 oraz pojedynczy adres 192.168.11.1.
Dodane zostały również dwa nowe bloczki do biblioteki Communication (ACL = Access Control List) umożliwiające zarządzanie filtrowaniem w trakcie pracy programu sterownika:
ACL IP Open
ACL IP Filter
Klucz dostępu dla połączenia FTP
Dodany został nowy mechanizm autoryzacji dla połączenia FTP oraz funkcji “FTP over HTTP” (FTP po HTTP). Mechanizm ten znacznie upraszcza proces wgrywania danych do sterownika z narzędzi typu Web-Editor. Zamiast podawania hasła Web-Editora, nazwy użytkownika oraz hasła FTP, wystarczy teraz podać klucz dostępu zdefiniowany w Device Configuratorze we właściwościach sterownika.
Tryb pasywny FTP (Passive mode)
Serwer FTP wbudowany w sterownik obsługuje od teraz również połączenia w trybie pasywnym. Tryb ten jest definiowany po stronie klienta FTP i nie wymaga żadnych ustawień po stronie sterownika. Tryb pasywny stosowany jest szczególnie przy połączeniach zza firewalli.
Nowe funkcje systemowe
Do funkcji systemowych (lista instrukcji) dodane zostały nowe funkcje:
– konwersja daty i czasu do/z formatu stempla czasowego systemu Unix
CSF S.SF.CLOCK.Library | ||
S.SF.CLOCK.ConvertStdTimeToUnix | ; Konwertuj datę i godzinę na stempel w formacie Unix | |
Year | ;1 R|K IN, Rejestr/stała zawierająca rok | |
Month | ;2 R|K IN, Rejestr/stała zawierająca miesiąc | |
Day | ;3 R|K IN, Rejestr/stała zawierająca dzień | |
Hour | ;4 R|K IN, Rejestr/stała zawierająca godzinę | |
Minute | ;5 R|K IN, Rejestr/stała zawierająca minuty | |
Second | ;6 R|K IN, Rejestr/stała zawierająca sekundy | |
UnixTime | ;7 R OUT, Rejestr do którego zostanie wpisany stempel czasowy | |
Status | ;8 R OUT, Status |
CSF S.SF.CLOCK.Library | ||
S.SF.CLOCK.ConvertUnixTimeToStd | ; Konwertuje stempel czasowy w formacie Unix na datę i godzinę | |
UnixTime | ;1 R IN, Rejest zawierający stempel czasowy w formacie Unix | |
Year | ;2 R OUT, Rejestr do którego zostanie wpisany rok | |
Month | ;3 R OUT, Rejestr do którego zostanie wpisany miesiąc | |
Day | ;4 R OUT, Rejestr do którego zostanie wpisany dzień | |
Hour | ;5 R OUT, Rejestr do którego zostanie wpisana godzina | |
Minute | ;6 R OUT, Rejestr do którego zostaną wpisane minuty | |
Second | ;7 R OUT, Rejestr do którego zostaną wpisane sekundy | |
Status | ;8 R OUT, Status |
– szyfrowanie/odszyfrowanie danych przy użyciu szyfru AES128
CSF S.SF.SYS.Library | ||
S.SF.SYS.AES_128_Encrypt | ; Szyfruje dane przy pomocy AES 128 | |
Key | ;1 DB|X|R IN, 128-bitowy klucz szyfrujący (16 bajtów) | |
Data | ;2 DB|X|R IN, Dane do zaszyfrowania | |
K 16 | ;3 R|K IN, Ilość bajtów danych do zaszyfrowania | |
Encrypted_Data | ;4 DB|X|R OUT, Zaszyfrowane dane jako tablica bajtów | |
Error | ;5 R OUT, Kod błędu |
CSF S.SF.SYS.Library | ||
S.SF.SYS.AES_128_Decrypt | ; Odszyfrowuje dane przy pomocy AES 128 | |
Key | ;1 DB|X|R IN, 128-bitowy klucz szyfrujący (16 bajtów) | |
Encrypted_Data | ;2 DB|X|R IN, Dane do odszyfrowania | |
K 16 | ;3 R|K IN, Ilość bajtów danych do odszyfrowania, musi to być wielokrotność 16 bajtów | |
Data | ;4 DB|X|R OUT, Odszyfrowane dane jako tablica bajtów | |
Error | ;5 R OUT, Kod błędu |
Rozbudowa obsługi protokołu Modbus
Modbus RTU sprawdza teraz dokładnie odstęp pomiędzy przesyłanymi znakami (po stronie klienta i serwera). Domyślnie driver oczekuje odstępu 1,5 z możliwością ustawienia 2,0 oraz 2,5.
Dodana została możliwość zatrzymania działania serwera Modbus TCP/IP. Obsługa funkcji Modbus RTU/ASCII OFF była już dostępna w poprzednich wersjach. Dla protokołów TCP i UDP jest to teraz możliwe z poziomu kodu Listy Instrukcji.
Mapowanie wejść przerwań w sterownikach PCD3.Mxx60
Wejścia przerwań Int0 i Int1 znajdujące się na łączówce zasilającej sterowników PCD3.Mxx60 mogą być teraz mapowane z poziomu Device Configurator w nowej sekcji Onboard Inputs/Outputs.
Uwaga: Sterowniki z COSinus mogą być programowane w starszych wersjach PG5 (np. 2.0, 1.4), ale by korzystać z pełni możliwości, konieczne jest stosowanie PG5 2.1.
Zobacz też: Które sterowniki obsługują COSinus?