MBAI (Wejścia analogowe)
Wyjście:
- Out – Analogowe, wartość odczytanego parametru,
- Err – Analogowe, kod błędu komunikacji, wartość 0 oznacza brak błędu, wartość różna od zera wystąpienie błędu (opis poniżej).
Algorytm:
Funkcja dokonuje odczytu parametru Modbus HR na podstawie wprowadzonych ustawień bloku. Funkcja zwraca wartość w postaci słowa 16 bitowego, domyślnie wyświetlanego jako wartość całkowita ze znakiem. Niektórzy producenci przedstawiają dane w innej reprezentacji, np. w postaci liczby zmienno przecinkowej; w takiej sytuacji aby poprawnie interpretować zmienne należy skorzystać z funkcji z rodziny IEEE_ dostępne w grupie różne. Niektóre zmienne mogą być wysyłane z pominięciem liczb po przecinku (w postaci samych wartości całkowitych), inne z 1 czy 2 liczbami po przecinku. Ważne jest, aby sprawdzić w dokumentacji urządzenia, które chcemy odczytać, jak reprezentowane są dane.
Opis wyjścia Err:
Dla wersji firmware sterownika PLC poniżej w5/44 (przed 1.04.2020)
- 0 – Brak błędu, komunikacja poprawna,
- 1 – Niewłaściwa funkcja (urządzenie Slave nie obsługuje użytej do odczytania wartości funkcji),
- 2 – Niewłaściwy adres (urządzenie Slave nie obsługuje parametrów o takich adresach modbus),
- 3 – Niewłaściwa wartość parametru (jedynie dla wyjścia modbus, na urządzenie Slave nie można wysłać parametru o takiej wartości, wartość spoza zakresu),
- 4 – Błąd komunikacji – urządzenie nie odpowiada (urządzenie Slave nie odpowiedziało w ustalonym przez urządzenie Master czasie) lub urządzenie odpowiedziało błędnie (suma kontrolna CRC nie zgadza się z poprzednimi wartościami w słowie) lub odpowiedziało inne urządzenie (przy odpowiedzi urządzenie Slave załącza swój indywidualny adres ID, jeśli odczytane ID jest inne, niż ID urządzenie które odpytywał Master, wartość zostanie odrzucona i wyświetlony zostanie błąd nr 4).
Dla wersji firmware sterownika PLC od w5/44 (od 1.04.2020)
- 0 – Brak błędu, komunikacja poprawna,
- 1 – Niewłaściwa funkcja (urządzenie Slave nie obsługuje użytej do odczytania wartości funkcji),
- 2 – Niewłaściwy adres (urządzenie Slave nie obsługuje parametrów o takich adresach modbus),
- 3 – Niewłaściwa wartość parametru (jedynie dla wyjścia modbus, na urządzenie Slave nie można wysłać parametru o takiej wartości, wartość spoza zakresu),
- 4 – Błąd urządzenia slave (urządzenie slave nie odpowiada),
- 5 - Urządzenie slave potrzebuje więcej czasu na wykonanie odpowiedzi (urządzenie slave poprawnie odczytało zapytanie i potrzebuje więcej czasu na przygotowanie odpowiedzi, błąd wynika ze zbyt krótkiego czasu pomiędzy zapytaniami z urządzenia master),
- 6 – Urządzenie slave jest zajęte (należy odpytać urządzenie w późniejszym czasie),
- 8 – Błąd kontroli parzystości CRC (należy ponownie odpytać urządzenie),
- 10 – Żądana brama sieciowa jest nieosiągalna (brama może być źle skonfigurowana lub przeciążona),
- 11 – Urządzenie nie jest dostępne we wskazanej podsieci.
Przykład:
Komunikujemy się z czujnikiem temperatury w.TS.101, funkcja zwraca wartość parametru HR o Adresie modbus 8 odczytanego z urządzenia o adresie 1. Z dokumentacji producenta odczytujemy, że wartość jest w kodzie U2 x10, oznacza to, że odczytując temperaturę pomieszczenia w którym jest 22°C, odczytamy wartość 220. Przesunięcie to trzeba wziąć pod uwagę podczas wykonywania operacji z użyciem tej wartości.
powrót