IFM O2I510 instrukcja

Typ
instrukcja

Ten podręcznik jest również odpowiedni dla

Przewodnik programisty
Interfejs procesowy
Ethernet/IP
PROFINET
O2I5xx
80290966 / 01 01 / 2020
PL
Przewodnik programisty
2
Zawartość
1  Uwagi wstępne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4
1.1 Stosowane symbole . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4
1.2 Prawa autorskie i znaki towarowe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4
1.3 Open source information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4
2 Interfejs procesowy. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5
2.1  Wysyłanie komend . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5
2.2 Lista komend interfejsu procesowego . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7
2.2.1  Komenda a (aktywuj aplikację). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7
2.2.2  Komenda A? (zajętość na liście aplikacji). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7
2.2.3  Komenda c (załaduj konfigurację wyjścia interfejsu procesowego) . . . . . . . . . . . . . . . . . . . . .8
2.2.4  Komenda C? (zwraca bieżącą konfigurację interfejsu procesowego) . . . . . . . . . . . . . . . . . . .8
2.2.5  Komenda E? (żądanie podania bieżącego stanu błędu) . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8
2.2.6  Komenda g (załącz / wyłącz bramkowane wyzwalanie softwarowe) . . . . . . . . . . . . . . . . . . . .9
2.2.7  Komenda G? (żądanie informacji o urządzeniu) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9
2.2.8  Komenda H? (podaj listę dostępnych komend) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10
2.2.9  Komenda I? (pokaż ostatni zrobiony obraz). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10
2.2.10  Komenda j (nadpisuje dane ciągu znaków) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.2.11  Komenda J? (czytaj ciąg znaków ze zdefiniowanego kontenera) . . . . . . . . . . . . . . . . . . . . 11
2.2.12  Komenda L? (podaje ID bieżącej sesji) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.2.13  Komenda o (ustaw stan logiczny ID) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12
2.2.14  Komenda O? (podaj stan logiczny ID) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12
2.2.15  Komenda p (załącz / wyłącz wyjście interfejsu procesowego) . . . . . . . . . . . . . . . . . . . . . . .13
2.2.16  Komenda S? (żądanie podania bieżących statystyk dekodowania). . . . . . . . . . . . . . . . . . .13
2.2.17  Komenda t (wykonaj wyzwolenie asynchroniczne) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .14
2.2.18  Komenda T? (wykonaj wyzwolenie synchroniczne) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .14
2.2.19  Komenda v (ustaw bieżącą wersję protokołu) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .14
2.2.20  Komenda V? (podaj bieżącą wersję protokołu) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15
2.3  Kody błędów . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .16
3 EtherNet/IP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .17
3.1  .  Struktury danych dla podzespołów zużycia i wytwarzania . . . . . . . . . . . . . . . . . . . . . . . . . . . . .17
3.2  Funkcjonalność aplikacji Ethernet/IP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18
3.2.1  Zmiana stanu 0 -> 1 bitu komendy w podzespole zużycia. . . . . . . . . . . . . . . . . . . . . . . . . . .18
3.2.2 Wielokrotne zmiany stanu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18
3.2.3  Reset stanu bitów przez PLC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18
3.2.4  Blokowanie wiadomości asynchronicznych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18
3.2.5  Odłączenie klienta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18
3.2.6  Ogólna odpowiedź na zastosowaną komendę. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18
3.2.7  Odpowiedź na zastosowaną komendę - odpowiedź zawiera konkretne dane . . . . . . . . . . . .18
3.2.8  Odpowiedź na zastosowaną komendę z błędem w sekcji danych. . . . . . . . . . . . . . . . . . . . .19
3.2.9  Odpowiedź na zastosowaną komendę, która wywołuje błąd . . . . . . . . . . . . . . . . . . . . . . . . .19
3.2.10  3.2.10  Odpowiedź na komendę niewykonaną19. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19
3.2.11  Zerowanie bitu błędu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19
3.2.12  Funkcjonalność bitu wiadomości asynchronicznej . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19
3.2.13  Bity dla identyfikatora wiadomości asynchronicznej. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20
3.2.14  Licznik wiadomości. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20
3.2.15  Pobierz ostatni błąd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20
3.2.16  Pobierz ID połączenia. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20
3.2.17 Pobierz statystyki . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20
3.2.18  Domyślne ustawienie endianness . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20
3.2.19  Aktywuj aplikację . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20
3.2.20  Pobierz listę aplikacji . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20
3.2.21  Pokaż stan IO. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21
3.2.22 Ustaw stan IO. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21
3.2.23 Wykonaj wyzwolenie synchroniczne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21
3.2.24  Aktywuj asynchroniczne wyjście interfejsu procesowego. . . . . . . . . . . . . . . . . . . . . . . . . . .21
3.3  Sekwencja sygnału dla wyzwalania synchronicznego . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .22
3.4  Sekwencja sygnału przy błędzie wyzwolenia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .22
3
Przewodnik programisty
PL
4 PROFINET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .23
4.1 Struktura komendy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .23
4.1.1  Dostępne sloty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .23
4.1.2  Weryfikacja wielkości wybranych slotów w ustawieniu połączenia . . . . . . . . . . . . . . . . . . . .23
4.1.3  Wielkość modułu dla slotu 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .23
4.1.4  Wielkość modułu dla slotów 3-12 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .23
4.1.5  Wielkość modułu dla slotu 13. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .23
4.1.6 Obcinanie danych. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .24
4.1.7  Układ danych w slotach 2-12 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .24
4.1.8 Definiowanie stanu procesu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .25
4.1.9  Układ danych w slocie 13  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .25
4.1.10  Układ danych słowa komendy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .25
4.1.11  Identyfikator dla wiadomości synchronicznych i asynchronicznych . . . . . . . . . . . . . . . . . . .25
4.2  Wymagania obsługi komend . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26
4.2.1  Ilość wspieranych połączeń PROFINET. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26
4.2.2  Inicjalizacja buforów wejściowych i wyjściowych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26
4.2.3 Wykonanie komendy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .27
4.2.4  Obsługa poszczególnych bitów komendy. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .27
4.2.5  Wysyłanie wiadomości asynchronicznych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .27
4.2.6  Obsługa rozłączeń w trakcie wykonywania komendy. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .27
4.2.7  Obsługa komend, które nie generują odpowiedzi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .28
4.2.8  Obsługa komend, które generują dane odpowiedzi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .28
4.2.9  Obsługa komend z niewłaściwą sekcją danych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .28
4.2.10  Obsługa błędu komendy. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .28
4.2.11  Obsługa komendy nie wspieranej. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .29
4.2.12  Zerowanie bitu błędu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .29
4.2.13  Kolejkowanie kodów błędu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .29
4.2.14  Funkcjonalność bitu wiadomości asynchronicznej . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .29
4.2.15  Bity dla identyfikatora wiadomości asynchronicznej. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .29
4.2.16  Licznik wiadomości. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .29
4.3 Opis komendy. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .30
4.3.1 Wykonaj bramkowane wyzwolenie programowe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .30
4.3.2  Pobierz ostatni błąd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .30
4.3.3  Pobierz ID połączenia. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .31
4.3.4 Pobierz statystyki . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .31
4.3.5  Aktywuj aplikację . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .31
4.3.6  Pobierz listę aplikacji . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .32
4.3.7  Pokaż stan IO. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .32
4.3.8 Ustaw stan IO. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .33
4.3.9 Wykonaj wyzwolenie synchroniczne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .33
4.3.10  Aktywuj asynchroniczne wyjście danych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .34
4.3.11  Ustawienie domyślne Endianess . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .34
4.3.12  Pobierz następny segment danych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .34
4.4 Komendy rozszerzone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .34
4.4.1  Użyj komendy rozszerzonej . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .34
4.4.2 Segmentacja danych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .34
4.4.3 Blokowanie / Odblokowanie segmentacji danych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .35
4.4.4  Wysyłanie pierwszej sekwencji danych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .35
4.4.5 Potwierdzenie odebrania segmentu danych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .35
4.4.6 Identyfikator asynchronicznego segmentu danych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .35
4.4.7 Segmentacja danych zablokowana . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .35
4.4.8 Blokowanie dalszych danych asynchronicznych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .35
4.4.9  Błąd dla brakującej ramki dekodowanej . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .35
4.4.10  Przerwanie wysyłania segmentu przez inną komendę. . . . . . . . . . . . . . . . . . . . . . . . . . . . .36
4.4.11  Ustawianie zawartości kontenera dopasowanego ciągu . . . . . . . . . . . . . . . . . . . . . . . . . . .36
4.4.12  Pobieranie zawartości danego kontenera dopasowanego ciągu . . . . . . . . . . . . . . . . . . . . .36
Przewodnik programisty
4
1 Uwagi wstępne
Dane techniczne, zatwierdzenia, akcesoria i dalsze informacje: www.ifm.com.
1.1 Stosowane symbole
Instrukcje
>
Reakcja, wynik
[…]
Oznaczenie klawiszy, przycisków oraz wskaźników
Odsyłacz
Ważna uwaga 
Niestosowanie się do instrukcji obsługi może prowadzić do nieprawidłowego działania lub zakłóceń.
Informacje
Nota uzupełniająca
1.2 Prawa autorskie i znaki towarowe
© Wszystkie prawa zastrzeżone przez ifm electronic Sp. z o.o.. Żadna części niniejszej instrukcji nie 
może być kopiowana i stosowana bez zgody ifm electronic Sp. z o.o.
Wszystkie nazwy towarowe, zdjęcia, nazwy firm lub innych marek użyte na naszych stronach są 
własnością odpowiednich właścicieli praw.
1.3 Open source information
This product can contain Free Software or Open Source Software from various software developers
which is subject to the following licenses: General Public License version 1, version 2 and version 3 
(General Public License version 3 in conjunction with the GNU Compiler Collection Runtime Library
Exception version 3.1), Lesser General Public License version 2.1, Lesser General Public License 
version 3, Berkeley Software Distribution („This product includes software developed by the University of 
California, Berkeley and its contributors“), The Academic Free License version 2.1. For the components 
subject to the General Public License in their respective versions the following applies:
This program is free software: you can redistribute it 
and/or modify it under the terms of the GNU General Public License as published by the Free Software
Foundation. If version 1 applies to the software: either version 1 of the License or (at your option) any 
later version; if version 2 (or 2.1) applies to the software: either version 2 (or 2.1) of the License or 
(at your option) any later version; if version 3 applies to the software: either version 3 of the License 
or (at your option) any later version. The following disclaimer of the software developers applies to 
the software components that are subject to the General Public License or the Lesser General Public
License in their respective versions: The Free Software is distributed in the hope that it will be useful, but 
WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE. See the GNU General Public License and the GNU Lesser General
Public License for more details.
The responsibility of ifm electronic gmbh for ifm products, in the case of product-specific software, 
remains unaffected by the above disclaimer. Please note that the firmware for the ifm products is in some
cases provided free of charge. The price of the ifm products has then to be paid for the respective device
itself (hardware) and not for the firmware. For the latest information on the license agreement for your 
product please visit www.ifm.com
For binaries that are licensed under any version of the GNU General Public License (GPL) or the GNU 
LGPL you may obtain the complete corresponding source code of the GPL software from us by sending
a written request to: [email protected] or to ifm electronic gmbh, Friedrichstraße 1, 45128 Essen, 
Germany.
We charge €30 for each request. Please write “source for product Y” in the memo line of your payment. 
Your request should include (i) the name of the covered binary, (ii) the name and the version number of 
the ifm product, (iii) your name and (iv) your return address. 
This offer is valid to anyone in receipt of this information. This offer is valid for at least three years (from
the date you received the GLP/LGPL covered code).
5
Przewodnik programisty
PL
2 Interfejs procesowy
Interfejs procesowy jest wykorzystywany w trakcie normalnej pracy do odbierania z urządzenia  danych 
(np. wartości procesowych , zdjęć itp. )
2.1 Wysyłanie komend
Aby wysyłać komendy przez interfejs procesowy komendy muszą być wysyłane specjalnym protokołem 
jako ciągi znaków ASCII. Ten protokół jest zgodny z wersją 3 produktów O2V/O2D/O3D.
Struktura protokołu:
<Ticket><length>CR LF<Ticket><content>CR LF
Skrót Opis kod ASCII Kod ASCII (hex)
CR Nowy wiersz 13 D
LF Koniec wiersza 10 A
< > Symbol zastępczy 
(np. <code> jest
symbolem zastępczym 
dla kodu)
[ ] Argument opcjonalny
(możliwy, ale nie jest 
wymagany)
Komenda Opis
<spis treści> Jest to treść polecenia do urządzenia (np. wyzwól rejestrację)
<ticket> To ciąg 4 znaków z zakresu 0-9. Po wysłaniu danego ciągu znaków do urządzenia, ono 
odpowiada takim samym ciągiem.
Liczba w tym ciągu musi być > 0999.Trzeba wykorzystywać numery z zakresu 1000 
- 9999.
<length>
długość
Jest to ciąg znaków rozpoczynający się literą L z 9 cyframi. Wskazuje on na długość 
danych, które nadejdą (<ticket><content>CR LF) w bajtach.
Numery dla wiadomości asynchronicznych:
Numer komendy Opis
0000 Wynik asynchroniczny
0001 Asynchroniczne komunikaty błędu / kody błędu
0010 Asynchroniczne informacje / kody wiadomości
Format asynchronicznych notyfikacji
Format asynchronicznych powiadomień jest kombinacją unikalnego identyfikatora wiadomości ID i ciągu 
w formacie JSON zawierającego szczegóły powiadomienia: <unique message ID>:<JSON content>
Przykład dla protokołu wersja 3:
<ticket=0010>L<length>CR LF<ticket=0010><unique message ID>:<JSON content>CR LF
Rezultat:
0010L000000045\r\n0010000500000:{"ID": 1034160761,"Index":1,"Name": "Pos 1"}\r\n
Przewodnik programisty
6
Objaśnienie result:
Komenda Rezultat
<ticket=0010> 0010
L<length> L000000045
CR LF \r\n
<ticket=0010> 0010
<unique message ID> 000500000
<JSON content> {"ID": 1034160761,"Index":1,"Name": "Pos 1"}
CR LF \r\n
Identyfikatory wiadomości asynchronicznych
Identyfikator
wiadomości 
asynchronicznej
Opis Przykład Opis
000500000 Aplikacja została 
zmieniona
{"ID": 
1034160761,"Index":1,"Name": 
"Pos 1","valid":true}
000500001 Aplikacja jest
nieważna
{"ID": 
1034160761,"Index":1,"Name": 
"Pos 1","valid":false}
Jeżeli aplikacja istniała, ale 
jest nieważna, pola ID i Name 
są wypełniane zgodnie z 
danymi aplikacji. Jeżeli dla 
podanego indeksu nie ma
aplikacji, ID aplikacji będzie 
0, a Name będzie pustym 
ciągiem "".
000500002 zakończono 
analizę obrazu
{} Ta wiadomość sygnalizuje 
do odbiornika, że urządzenie 
zakończyło analizę obrazu. 
Może to być wykorzystane 
do kaskadowania kolejnych
urządzeń z wyzwalaniem 
programowym.
7
Przewodnik programisty
PL
2.2 Lista komend interfejsu procesowego
Wszystkie odebrane wiadomości, które są wysłane w wyniku wysyłania poniższych komend bez 
„start”/„stop” na początku lub końcu ciągu znaków
2.2.1 Komenda a (aktywuj aplikację)
Komenda a<application number>
Opis Aktywacja wybranej aplikacji
Typ Akcja
Odpowiedź *
!Aplikacja jest niedostępna
<application number> zawiera niewłaściwą 
wartość 
Aktywne jest zewnętrzne przełączanie 
aplikacji
Urządzenie jest w stanie niewłaściwym do 
wykonania komendy, np. w trybie konfiguracji
?Niewłaściwa długość komendy
Uwaga <application number>
2 cyfry w formacie dziesiętnym jako 
numer aplikacji
2.2.2 Komenda A? (zajętość na liście aplikacji)
Komenda A?
Opis Żądanie zajęcia na liście aplikacji
Typ Żądanie
Odpowiedź <amount><t><number active
application><t>
..
<number><t><number>
?Niewłaściwa długość komendy
!Niewłaściwy stan (np. nie ma aktywnej 
aplikacji)
Uwaga <amount>
ciąg 3 cyfr w formacie dziesiętnym jako 
ilość aplikacji zapisanych w urządzeniu
<t>
tabulator (0x09)
<number active application>
2 cyfry podające numer aktywnej 
aplikacji
<number>
2 cyfry oznaczające numer aplikacji
Aktywna aplikacja jest powtarzana w liście 
aplikacji.
Przewodnik programisty
8
2.2.3 Komenda c (załaduj kongurację wyjścia interfejsu procesowego)
Komenda c<length><configuration>
Opis Ładuje konfigurację wyjściową 
interfejsu procesowego, trwającą przez 
bieżącą sesję
Typ Akcja
Odpowiedź *
!Błąd  w trakcie konfiguracji
Niewłaściwa długość danych
?Niewłaściwa długość komendy
Uwaga <length>
9 cyfr w formacie dziesiętnym jako 
długość danych
<configuration>
dane konfiguracji
2.2.4 Komenda C? (zwraca bieżącą kongurację interfejsu procesowego)
Komenda C?
Opis Zwraca bieżącą konfigurację interfejsu 
procesowego
Typ Żądanie
Odpowiedź <length><configuration>
?Niewłaściwa długość komendy
Uwaga <length>
9 cyfr w formacie dziesiętnym jako 
długość danych
<configuration>
dane konfiguracji
2.2.5 Komenda E? (żądanie podania bieżącego stanu błędu)
Komenda E?
Opis Żądanie podania bieżącego stanu błędu
Typ Żądanie
Odpowiedź <code>
!Niewłaściwy stan (np. tryb konfiguracji)
?Niewłaściwa długość komendy
Uwaga <code>
Kod błędu z 8 cyframi w formacie 
dziesiętnym. Zawiera on zera 
poprzedzające.
9
Przewodnik programisty
PL
2.2.6 Komenda g (załącz / wyłącz bramkowane wyzwalanie softwarowe)
Komenda g<state>
Opis załącz / wyłącz bramkowane wyzwalanie 
softwarowe
Typ Żądanie
Odpowiedź *Można wykonać wyzwolenie.
!Nieprawidłowy argument, niewłaściwy stan, 
wyzwolenie już zostało wykonane.
?Coś innego poszło nie tak.
Uwaga <state> 1 digit
„0”: wyłączenie bramkowanego 
wyzwalania programowego
„1”: włączenie bramkowanego 
wyzwalania programowego
2.2.7 Komenda G? (żądanie informacji o urządzeniu)
Komenda G?
Opis Żądanie informacji o urządzeniu
Typ Żądanie
Odpowiedź <vendor><t><article number><t><name><t>
<location><t><description><t><ip>
<subnet mask><t><gateway><t><MAC><t>
<DHCP><t><port number>
Uwaga <vendor>
IFM ELECTRONIC
<t>
Tabulator (0x09)
<article number>
np. O2I500
<name>
UTF8 Unicode string
<location>
UTF8 Unicode string
<description>
UTF8 Unicode string
<ip>
Adres IP urządzenia jako ciąg znaków ASCII np. 192.168.0.96
<port number>
numer portu XML-RPC
<subnet mask>
subnet mask urządzenia jako ciąg ASCII np. 192.168.0.96
<gateway>
bramka urządzenia jako ciąg ASCII np. 192.168.0.96
<MAC>
Adres MAC urządzenia jako ciąg ASCII
np. AA:AA:AA:AA:AA:AA
<DHCP>
Znak ASCII "0" dla off i "1" dla on
Przewodnik programisty
10
2.2.8 Komenda H? (podaj listę dostępnych komend)
Komenda H?
Opis Podaje listę dostępnych komend
Typ Żądanie
Odpowiedź a - aktywuj aplikację
A? - zajętość na liście aplikacji
c - załaduj konfigurację wyjścia interfejsu procesowego
C? - podaj bieżącą konfigurację interfejsu procesowego
E? - żądanie podania bieżącego stanu błędu
g - wyłączenie / załączenie bramkowanego wyzwalania 
programowego
G? - żądanie informacji o urządzeniu
H? - pokaż tą listę
I? - pokaż ostatni zrobiony obraz
j - nadpisuje dane ciągu znaków
J<ID>? - czytaj ciąg znaków ze zdefiniowanego kontenera
L? - zwraca ID połączenia
o - ustaw stan logiczny dla ID
O? - żądanie podania stanu dla ID
p - wyłączenie / załączenie interfejsu procesowego
S? - podaj bieżące statystyki dekodowania
t - wykonaj wyzwolenie asynchroniczne
T? - wykonaj wyzwolenie synchroniczne
v - ustaw bieżącą wersję protokołu
V? - podaj bieżącą wersję protokołu
2.2.9 Komenda I? (pokaż ostatni zrobiony obraz)
Komenda I<image-ID>?
Opis Pokazuje ostatni zrobiony obraz
Typ Żądanie
Odpowiedź <length><image data>
! Brak ostatniego obrazu
Zły identyfikator ID
?Niewłaściwa długość komendy
Uwaga <image-ID>
2 cyfry oznaczające typ obrazu
<length>
ciąg dokładnie 9 znaków w formacie dziesiętnym 
jako rozmiar danych obrazu w bajtach
<image data>
dane obrazu / dane wyniku. Dane są zaszyte we 
fragmencie obrazu
Ważne identyfikatory obrazu ID:
01 - wszystkie obrazy JPEG
02 - wszystkie obrazy
nieskompresowane
11
Przewodnik programisty
PL
2.2.10 Komenda j (nadpisuje dane ciągu znaków)
Komenda j<ID><length><data>
Opis Nadpisuje dane ciągu znaków 
o podanym (ID) kontenera 
wykorzystywanego w warstwie
logicznej
Typ Akcja
Odpowiedź *
!Niewłaściwy argument lub niewłaściwy stan 
(inny niż tryb pracy normalnej)
Nie istnieje ciąg w kontenerze wejściowym o 
podanym ID
?Błąd składni
Uwaga <ID> to liczba od 00 do 09
<length> 9 cyfr w formacie
dziesiętnym jako długość danych
<data> string of a maximum size of
256 Bytes
2.2.11 Komenda J? (czytaj ciąg znaków ze zdeniowanego kontenera)
Komenda J<input-container-ID>?
Opis Odczytuje bieżący określony ciąg z 
podanego kontenera wejściowego. 
Ciąg jest przedstawiony jako macierz 
bajtowa.
Typ Żądanie
Odpowiedź <length><data> Macierz bajtowa związana z kontenerem o 
podanym ID.
!Nieprawidłowy argument
Nie istnieje ciąg w kontenerze wejściowym o 
podanym ID
?Coś innego poszło nie tak
Uwaga <input-container-ID> liczba od 00 do
09
<length> 9 cyfr w formacie
dziesiętnym jako długość danych
<data> zawartość macierzy bajtowej
2.2.12 Komenda L? (podaje ID bieżącej sesji)
Komenda L?
Opis Zwraca ID bieżącej sesji
Typ Żądanie
Odpowiedź <ID>
Uwaga <ID>
3 cyfry poprzedzone "0"
Przewodnik programisty
12
2.2.13 Komenda o (ustaw stan logiczny ID)
Komenda o<IO-ID><IO-state>
Opis Ustawia stan logiczny dla ID
Typ Akcja
Odpowiedź *
!Niewłaściwy stan (np. tryb konfiguracji)
?Niewłaściwa długość komendy
Uwaga <IO-ID>
2 cyfry oznaczenia wyjścia 
binarnego:"01" dla IO1
"02" dla IO2
<IO-state>
1 cyfra stanu wyjścia:
"0" dla stanu logicznego niskiego
"1" dla stanu logicznego wysokiego
2.2.14 Komenda O? (podaj stan logiczny ID)
Komenda O<IO-ID>?
Opis Podaje stan logiczny dla konkretnego ID
Typ Żądanie
Odpowiedź <IO-ID><IO-state>
!Niewłaściwy stan (np. tryb konfiguracji)
Zły identyfikator ID
?Niewłaściwa długość komendy
Uwaga <IO-ID>
2 cyfry oznaczenia wyjścia 
binarnego:"01" dla IO1
"02" dla IO2
<IO-state>
1 cyfra stanu wyjścia:
"0" dla stanu logicznego niskiego
"1" dla stanu logicznego wysokiego
Urządzenie wspiera ID 1 i ID 2.
13
Przewodnik programisty
PL
2.2.15 Komenda p (załącz / wyłącz wyjście interfejsu procesowego)
Komenda p<state>
Opis Załącza / wyłącza wyjście interfejsu 
procesowego
Typ Akcja
Odpowiedź *
!<state> zawiera złą wartość
?Niewłaściwa długość komendy
Uwaga <state> 1 cyfra
0: dezaktywuje wszystkie wyjścia 
asynchroniczne
1: aktywuje asynchroniczne wyjście wyniku 
2: aktywuje asynchroniczne wyjście sygnału 
błędu
3: aktywuje asynchroniczne wyjście sygnału 
błędu i danych
4: aktywuje asynchroniczne powiadomienia
5: aktywuje asynchroniczne powiadomienia i 
asynchroniczny wynik
6: aktywuje asynchroniczne powiadomienia i 
asynchroniczne wyjście błedu
7: aktywuje wszystkie wyjścia
Po restarcie urządzenia wartość 
skonfigurowana w aplikacji jest istotna
dla wyjścia danych.
Ta komenda może być wykonywana 
w dowolnym stanie urządzenia.
Kody błędów nie są domyślnie 
wysyłane przez urządzenie.
2.2.16 Komenda S? (żądanie podania bieżących statystyk dekodowania)
Komenda S?
Opis Podaje bieżące statystyki dekodowania
Typ Żądanie
Odpowiedź <number of results><t><number of positive
decodings><t><number of false decodings>
! Brak aktywnej aplikacji
Uwaga <t>
tabulator (0x09)
<number of results>
Ilość obrazów zapisanych od uruchomienia 
aplikacji. Dziesięciocyfrowa liczba dziesiętna 
rozpoczynająca się od "0"
<number of positive decodings>
Ilość dekodowań z wynikiem dodatnim. 
Dziesięciocyfrowa liczba dziesiętna 
rozpoczynająca się od "0"
<number of false decodings>
Ilość dekodowań z wynikiem ujemnym. 
Dziesięciocyfrowa liczba dziesiętna 
rozpoczynająca się od "0"
Przewodnik programisty
14
2.2.17 Komenda t (wykonaj wyzwolenie asynchroniczne)
Komenda t
Opis Wykonuje wyzwolenie. Dane
wynikowe są wysyłane 
asynchronicznie
Typ Akcja
Odpowiedź *Wyzwolenie zostało wykonane, urządzenie zbiera 
dane obrazu i przetwarza wynik.
!Urządzenie jest zajęte w trakcie przetwarzania
Urządzenie jest w stanie niewłaściwym do 
wykonania komendy, np. w trybie konfiguracji
Urządzenie jest ustawione na inne źródło 
wyzwalania
Brak aktywnej aplikacji
2.2.18 Komenda T? (wykonaj wyzwolenie synchroniczne)
Komenda T?
Opis Wykonuje wyzwolenie. Dane
wynikowe są wysyłane 
synchronicznie
Typ Żądanie
Odpowiedź Dane procesowe w
skonfigurowanym formacie
Wyzwolenie zostało wykonane, urządzenie zbiera 
dane obrazu, przetwarza wynik i wysyła dane 
procesowe.
!Urządzenie jest zajęte w trakcie przetwarzania
Urządzenie jest w stanie niewłaściwym do 
wykonania komendy, np. w trybie konfiguracji
Urządzenie jest ustawione na inne źródło 
wyzwalania
Brak aktywnej aplikacji
2.2.19 Komenda v (ustaw bieżącą wersję protokołu)
Komenda v<version>
Opis Ustawia bieżącą wersję protokołu. Konfiguracja 
urządzenia nie jest zmieniana
Typ Akcja
Odpowiedź *
!Niewłaściwa wersja
?Niewłaściwa długość 
komendy
Uwaga <wersja>
2 cyfry jako wersja protokołu
Wspierany jest tylko
protokół w wersji V3
Wstępnie ustawiona wersja protokołu jest „V3” 
15
Przewodnik programisty
PL
2.2.20 Komenda V? (podaj bieżącą wersję protokołu)
Komenda V?
Opis Żąda podania bieżącej wersji protokołu
Typ Żądanie
Odpowiedź <current version><empty><min
version><empty><max version>
Uwaga <current version>
2 cyfry jako bieżąca ustawiona wersja
<empty>
znak spacji: 0x20
<min/max version>
2 cyfry dla możliwych do ustawienia wersji 
min i maks
Przewodnik programisty
16
2.3 Kody błędów
Kody błędów nie są domyślnie wysyłane przez urządzenie. The p command can activate their provision 
(→ 2.2.15).
Lista ID kodów błędu Opis
100000001 Maksymalna ilość połączeń została przekroczona 
100000002 Błąd wewnętrzny w trakcie odwołania magistrali D-Bus
100000003 Nieznany błąd wewnętrzny
100000004 Ogólnie niewłaściwy parametr
100000005 Niewłaściwa komenda
100001000 Konfiguracja aplikacji nie pozwala na wyzwolenie interfejsu procesowego
100001001 Tryb wideo nie pozwala na wyzwolenie interfejsu procesowego
100001002 Brak skonfigurowanej aplikacji
100001003 Niewłaściwy identyfikator ID obrazu w komendzie I?
100001004 Niewłaściwy numer pinu w komendzie o/O?
100001005 Niewłaściwa konfiguracja pinów w komendzie o/O? 
100001006 Wybrano niewłaściwy typ konwersji
100001007 Do chwili obecnej nie było wyzwolenia
110001001 Przekroczony czas bootowania
110001002 Fatalny błąd oprogramowania
110001003 Nieznany sprzęt
100001004 Niewłaściwy numer pinu w komendzie o/O?
100001005 Niewłaściwa konfiguracja pinów w komendzie o/O?
110001006 Nakładające się wyzwolenia
110002000 Zwarcie na wyjściu Ready for Trigger
110002001 Zwarcie na wyjściu OUT1
110002002 Zwarcie na wyjściu OUT2
110002003 Odwrotne zasilanie
110003000 Przekroczenie napięcia Vled
110003001 Zbyt niskie napięcie Vled
110003002 Przekroczenie napięcia Vmod
110003003 Zbyt niskie napięcie Vmod
110003004 Przekroczenie napięcia płyty głównej
110003005 Zbyt niskie napięcie płyty głównej
110003006 Przekroczenie napięcia zasilania
110003007 Zbyt niskie napięcie zasilania
110003008 Alarm VFEMon
110003009 Alarm zasilania PMIC
110004000 Przekroczenie temperatury oświetlacza
120000001 Serwer NTP niedostępny
120000002 inny błąd NTP
17
Przewodnik programisty
PL
3 EtherNet/IP
3.1 . Struktury danych dla podzespołów zużycia i wytwarzania
Podzespoły
Rodzaj Bajty Typ
100 8 Zużycie (z punktu widzenia urządzenia: bufor danych do odbierania z PLC)
101 450 Wytwarzanie (z punktu widzenia urządzenia: bufor danych do wysyłania do 
PLC)
Układ danych w podzespole zużycia
Bajty 0-1 2-7
Opis Słowo komendy Dane komendy
Układ danych w podzespole wytwarzania
Bajty 0-1 2-3 4-5 6-7 8-15 16-449
Opis
Słowo komendy 
dla powielenia
Identyfikator
wiadomości 
synchronicznej /
asynchronicznej
Licznik
wiadomości
Zarezerwowane
Wymagane dane
wiadomości (np.
kod błędu)
Niewymagane
pola danych
Układ danych w słowie komendy
Bit 0 1-15
Opis Bit błędu
Ten bit nie ma znaczenia w podzespole
zużycia. Jest on wykorzystywany do 
sygnalizacji błędu jaki wystąpił do 
sterownika PLC
Bity komendy
Każdy bit reprezentuje konkretną 
komendę
Słowo komendy
Bit01234567891011 12 13 14 15
Opis
Bit błędu
Nie dotyczy
Nie dotyczy
Nie dotyczy
Nie dotyczy
Nie dotyczy
Pobierz ostatni błąd
Pobierz ID połączenia
Pobierz statystyki
Aktywuj aplikację
Pobierz listę aplikacji
Pokaż stan IO
Ustaw stan IO
Wykonaj wyzwolenie
synchroniczne
Aktywuj asynchroniczne
wyjście interfejsu 
procesowego
Nie dotyczy
Identyfikator wiadomości synchronicznej/asynchronicznej
Bit 0 1-15
Opis Bit wiadomości asynchronicznej Bity dla identyfikatora wiadomości asynchronicznej
Dane do przesłania przekraczają rozmiar sekcji danych ramki wyjściowej
Jeżeli wielkość danych przekracza rozmiar skonfigurowanej sekcji danych ramki wyjściowej, dane są 
obcinane. Błąd nie jest sygnalizowany.
Przewodnik programisty
18
3.2 Funkcjonalność aplikacji Ethernet/IP
Rozdział opisuje inicjalizację buforów podzespołów wytwarzania.
W trakcie inicjalizacji wszystkie bufory są ustawiane na 
0.
3.2.1 Zmiana stanu 0 -> 1 bitu komendy w podzespole zużycia
Jeżeli stan dowolnego bitu komendy zmienia się z 0 na 1 wykonuje się odpowiednia komenda 
przekazująca informację wewnątrz sekcji komend.
3.2.2 Wielokrotne zmiany stanu
Jeżeli następuje zmiana z 0 na 1 wielu bitów, to takie zdarzenie jest interpretowane jako błąd.
3.2.3 Reset stanu bitów przez PLC
Sterownik PLC musi wyzerować bit komendy 1 -> 0 zanim może znowu wykonać nową komendę. 
Urządzenie musi zresetować słowo komendy i powiększyć licznik wiadomości w podzespole wytwarzania.
3.2.4 Blokowanie wiadomości asynchronicznych
Dopóki nie została zakończona procedura potwierdzenia handshake komendy, nie ma możliwości 
wysłania wiadomości asynchronicznej przez interface Ethernet/IP.
3.2.5 Odłączenie klienta
Jeżeli klient jest rozłączony przed zakończeniem procedury handshake, jest ona kasowana a wszystkie 
bufory są resetowane.
3.2.6 Ogólna odpowiedź na zastosowaną komendę
Po zastosowaniu komendy dane w sekcji danych są ważne i wykonanie komendy nie wywołuje błędu. 
Podzespół wytwarzania jest wypełniany jak poniżej:
Bit błędu = 0
Bity komendy stanowią odbicie komendy w podzespole zużycia
Bit wiadomości asynchronicznej = 0
Identyfikator wiadomości asynchronicznej = 0
Licznik wiadomości wzrasta o 1
Dane wiadomości ustawione na 0x0
3.2.7 Odpowiedź na zastosowaną komendę - odpowiedź zawiera konkretne dane
Po zastosowaniu komendy dane w sekcji danych są ważne i wykonanie komendy nie wywołuje błędu. 
Podzespół wytwarzania jest wypełniany jak poniżej:
Bit błędu = 0
Bity komendy stanowią odbicie komendy w podzespole zużycia
Bit wiadomości asynchronicznej = 0
Identyfikator wiadomości asynchronicznej = 0
Licznik wiadomości wzrasta o 1
Dane wiadomości zostają ustawione zgodnie z definicją komendy
19
Przewodnik programisty
PL
3.2.8 Odpowiedź na zastosowaną komendę z błędem w sekcji danych
Jeżeli zawartość sekcji danych komendy nie pasuje do komendy, to wiadomość jest obsługiwana jako 
błąd. Podzespół wytwarzania zawiera następujące dane:
Bit błędu = 1
Bity komendy stanowią odbicie komendy w podzespole zużycia
Bit wiadomości asynchronicznej = 0
Identyfikator wiadomości asynchronicznej = 0
Licznik wiadomości wzrasta o 1
W sekcji danych nie jest wysyłany kod błędu. Kod błędu można pobrać komendą "get last error".
3.2.9 Odpowiedź na zastosowaną komendę, która wywołuje błąd
Jeżeli wykonanie komendy prowadzi do błędu, to podzespół wytwarzania zawiera następujące dane:
Bit błędu = 1
Bity komendy stanowią odbicie komendy w podzespole zużycia
Bit wiadomości asynchronicznej = 0
Identyfikator wiadomości asynchronicznej = 0
Licznik wiadomości wzrasta o 1
W sekcji danych nie jest wysyłany kod błędu. Kod błędu można pobrać komendą "get last error".
3.2.10 3.2.10 Odpowiedź na komendę niewykonaną19
Jeżeli jest odebrany bit komendy bez funkcjonalności, podlega on zmianie z 0 na 1, a wiadomość jest 
obsługiwana jako błąd. Podzespół wytwarzania zawiera następujące dane:
Bit błędu = 1
Bity komendy stanowią odbicie komendy w podzespole zużycia
Bit wiadomości asynchronicznej = 0
Identyfikator wiadomości asynchronicznej = 0
Licznik wiadomości wzrasta o 1
W sekcji danych nie jest wysyłany kod błędu. Kod błędu można pobrać komendą "get last error".
3.2.11 Zerowanie bitu błędu
Bit błędu jest zerowany jeżeli
kod błędu wywołanego przez komendę jest odebrany z klienta
to błąd systemowy już nie występuje
3.2.12 Funkcjonalność bitu wiadomości asynchronicznej
Jeżeli wiadomość zawiera dane asynchroniczne (wyniki ramek, błędy systemowe, itd.), to bit wiadomości 
asynchronicznej musi być ustawiony na 1.
Przewodnik programisty
20
3.2.13 Bity dla identykatora wiadomości asynchronicznej
Jeżeli wiadomość zawiera dane asynchroniczne, to identyfikator reprezentuje typ wiadomości 
asynchronicznej.
Numer zgłoszenia dla wyników asynchronicznych wynosi 0.
Numer zgłoszenia dla asynchronicznych kodów błędu wynosi 1.
3.2.14 Licznik wiadomości
Dla każdej wiadomości wysłanej przez podzespół wytwarzania rośnie licznik wiadomości. Licznik 
rozpoczyna działanie od wartości 0. Jeżeli licznik osiąga maksimum, to zaczyna od nowa od "0".
3.2.15 Pobierz ostatni błąd
Komenda jest wykorzystywana do resetu bitu błędu.
3.2.16 Pobierz ID połączenia
Komenda zwraca identyfikator połączenia bieżącego połączenia Ethernet/IP. Zawartość obowiązkowej 
sekcji danych podzespołu wytwarzania:
Bajty 0-3: Identyfikator połączenia ID, liczba całkowita 32-bitowa bez znaku
3.2.17 Pobierz statystyki
Komenda zwraca bieżące statystyki. Zawartość obowiązkowej sekcji danych podzespołu wytwarzania:
Bajty 0-3: całkowita ilość odczytów od startu aplikacji
Bajty 4-7: odczyty poprawne
Bajty 8-11: odczyty błędne
Wszystkie wartości są w postaci liczb całkowitych 
32-bitowych bez znaku
3.2.18 Domyślne ustawienie endianness
Domyślne ustawienie endianness jest w formacie little-endian.
3.2.19 Aktywuj aplikację
Komenda aktywuje aplikację definiowaną przez bajty 6 i 7 sekcji danych Bajty 2-5 muszą być zerowane. 
Jeżeli bajty 2-5 nie są zerowane generowany jest błąd.
Zawartość danych podzespołu procesowego jest ustawiana na 0.
3.2.20 Pobierz listę aplikacji
Komenda zwraca bieżącą listę konfiguracji. Zawartość obowiązkowej sekcji danych podzespołu 
wytwarzania:
Bajty 0-3: Całkowita ilość zapamiętanych aplikacji, liczba całkowita 32 bitowa bez znaku
Bajty 4-7: liczba aktywnych aplikacji, 32 bitowa liczba całkowita bez znaku 
Bajty 8-n: zawsze jako 32 bitowa liczba całkowita bez znaku jako ilość działających aplikacji
  • Page 1 1
  • Page 2 2
  • Page 3 3
  • Page 4 4
  • Page 5 5
  • Page 6 6
  • Page 7 7
  • Page 8 8
  • Page 9 9
  • Page 10 10
  • Page 11 11
  • Page 12 12
  • Page 13 13
  • Page 14 14
  • Page 15 15
  • Page 16 16
  • Page 17 17
  • Page 18 18
  • Page 19 19
  • Page 20 20
  • Page 21 21
  • Page 22 22
  • Page 23 23
  • Page 24 24
  • Page 25 25
  • Page 26 26
  • Page 27 27
  • Page 28 28
  • Page 29 29
  • Page 30 30
  • Page 31 31
  • Page 32 32
  • Page 33 33
  • Page 34 34
  • Page 35 35
  • Page 36 36

IFM O2I510 instrukcja

Typ
instrukcja
Ten podręcznik jest również odpowiedni dla