Routery Advantech - Jak odczytać stan wejścia cyfrowego w skrypcie

23.04.2020 How to / Komunikacja przemysłowa
Routery Advantech - Jak odczytać stan wejścia cyfrowego w skrypcie
Wizerunek autora
Przemysław Strzała
Producent: Advantech
  • Zakłady przemysłowe
  • Energetyka
  • Woda i ścieki
  • Gaz i Paliwa

Jak odczytać stan wejścia cyfrowego w skrypcie?

Odczyt stanu wejść cyfrowych może być realizowany poprzez własne skrypty. W takim wypadku dużo łatwiej wprowadzać pewne zależności powodujące na przykład wysyłanie wiadomości po zmianie stanu wejścia cyfrowego. Poniżej przykład odczytu zmiennych cyfrowych.

Odczyt może być realizowany na dwa sposoby.

Pierwszy.

/usr/bin/io get bin0

VAL=$?

Drugi.

VAL=`/usr/bin/io get bin0`

Możliwe jest również odczytanie stanu bezpośrednio w instrukcji warunkowej:

if [ `io get bin0` -eq 1 ]; then
 .
 .
 .
fi

 

Poniżej skrypt powodujący wysłanie SMSa w momencie, gdy wejście cyfrowe bin0 jest w stanie wysokim:

#!/bin/sh
PHONE=123456789
MESSAGE="BIN0 is active"
while true
do
  /usr/bin/io get bin0
  VAL=$?
  if [ "$VAL" != "$OLD" ]; then
    [ "$VAL" = "0" ] && gsmsms $PHONE $MESSAGE
    OLD=$VAL
  fi
sleep 1
done

Opis tworzenia i wgrywania tego typu skryptów znajduje się w poradniku „Metody tworzenia własnych skryptów”.