Debian:

Sysfs

Ovladač SysFS je součást kernelového modulu pro jednotky Unipi se vstupy a výstupy a poskytuje jednoduchý přístup ke všem vstupům a výstupům na úrovni souborů.


(i)

Poznámka:
Chcete-li na jednotce Unipi s Base OS používat 1-Wire, je nutné nainstalovat a konfigurovat OWFS. V případě OS s EVOKem, je OWFS již instalováno.

Pro Mervis OS OWFS neinstalujte! Využívá alternativní metodu pro práci s 1-Wire a mohlo by docházet ke kolizím.


Do začátku si můžete prohlédnout příklady čtení a zápisu I/O:
Stejným způsobem lze přistupovat ke všem souborům v rámci SysFS.

Vyčtení stavu DO:

cat /run/unipi-plc/by-sys/DO1.1/value

Nastavení DO do stavu sepnuto:

echo 1 > /run/unipi-plc/by-sys/DO1.1/value

Vyčtení stavu DI:

cat /run/unipi-plc/by-sys/DI1.1/value

Vyčtení stavu všech DI první sekce:

cat /run/unipi-plc/by-sys/DI1.*/value

Vyčtení stavu všech dostupných DI jednotky:

cat /run/unipi-plc/by-sys/DI[1-3].*/value

Sysfs obsahuje: I/O rozhraní - zpřístupňuje vstupy a výstupy Unipi hardwaru

(i)

Poznámka:
Unipi sysfs je podsystém fungující jako klasické soubory a je automaticky spravován Linuxovým kernel modulem a uživatelskými nástroji. Hlavním cílem je poskytnutí jednoduchého přístupu pro rychlé zpracování dat a tvorbu krátkých shell skriptů bez nutnosti instalace dalších nástrojů.

Pro produkční nasazení doporučujeme použití rozhraní ModBus TCP, který má více možností. Podobně jako sysfs je vestavěný jako standardní komponenta v předinstalovaném balíčku pro všechny Unipi zařízení.

Protože jsou soubory sysfs rozloženy na více místech je výrazně doporučeno přistupovat k nim přes adresář:

/run/unipi-plc

V tomto adresáři jsou obsaženy symbolické odkazy na jednotlivé komponenty.

(!)

Poznámka:
Pro identifikaci zařízení je nutné použít API unipiid.

Informace jako model nebo sériové číslo zařízení byly dříve obsaženy také v rámci sysfs, ale počínaje Debian 13 byla identifikace zařízení přesunuta do unipiid.

I/O rozhraní

Obecné údaje

Název desky I/O

Soubor je pouze pro čtení a obsahuje název desky vstupů a výstupu jednotky Unipi, přičemž číslo v rozsahu [1-3] odpovídá sekci jednotky.

Vrátí chybu, pokud se jedná o desku s neznámým ID zařízení a není možné získat odpovídající název desky.

/run/unipi-plc/by-sys/iogroup[1-3]/sys_board_name
Sériové číslo desky I/O

Soubor je pouze pro čtení a obsahuje sériové číslo desky vstupů a výstupu jednotky Unipi, přičemž číslo v rozsahu [1-3] odpovídá sekci jednotky.

Pokud sériové číslo není platné, vrátí nulu.

/run/unipi-plc/by-sys/iogroup[1-3]/sys_board_serial
Verze firmwaru

Soubor je pouze pro čtení a obsahuje označení verze firmwaru desky vstupů a výstupu jednotky Unipi, přičemž číslo v rozsahu [1-3] odpovídá sekci jednotky. Číslo verze firmwaru používá následující formát: [0-9,A-F].[0-9,A-F][0-9,A-F].

Pokud je číslo verze neplatné, vrátí chybu.

/run/unipi-plc/by-sys/iogroup[1-3]/firmware_version
Stav životnosti úložiště

Soubory jsou pouze pro čtení a obsahují informace o stavu úložiště.

První soubor udává počet cyklů přemazání paměti oproti maximu [%].

/run/unipi_stats/cycles_used

Druhý soubor udává počet bloků [%], které jsou v pořádku.

/run/unipi_stats/good_blocks

Pro jednotky Neuron je k dispozici třetí soubor indikující počet startů jednotky s aktuální SD kartou.

/run/unipi_stats/power_cycles

V případě, že máte v Neuronu podporovanou SD kartu, je možno následujícími soubory zjistit výrobce karty.

/run/unipi_stats/vendor_1
/run/unipi_stats/vendor_2
/run/unipi_stats/vendor_3

Vstupy a výstupy (I/O)

Digitální vstupy

Slouží ke čtení stavu zvoleného vstupu v dané sekci [1-3] jednotky. Více informací, včetně napěťových úrovní pro detekci log.0/1 naleznete v článku o digitálních vstupech.

Soubor je pouze pro čtení a pokud obsahuje hodnotu 0, je na digitálním vstupu detekována logická hodnota 0. Obsahuje-li hodnotu 1, je detekována logická hodnota 1.

/run/unipi-plc/by-sys/DI[1-3].[0-9][0-9]/value
Digitální výstupy

Slouží ke čtení/nastavení stavu zvoleného tranzistorového výstupu v dané sekci [1-3] jednotky. Více informací naleznete v článku o digitálních výstupech.

Soubor umožňuje čtení i zápis a pokud obsahuje hodnotu 0, je digitální výstup rozepnut. Obsahuje-li hodnotu 1, je sepnut. Zápis hodnoty do tohoto souboru změní stav (sepnut/rozepnut) výstupu dle uvedeného pravidla.

/run/unipi-plc/by-sys/DO[1-3].[0-9][0-9]/value
Analogové vstupy

Následující soubory slouží k nastavení režimu a ke čtení hodnoty na analogovém vstupu v dané sekci jednotky [1-3]. Informace o zapojení, technické informace a další podrobné informace naleznete v článku o Analogových vstupech.

Nastavení režimu analogových vstupů

Nastavení režimu AI sekce 1 (s výjimkou některých jednotek např. S5xx):

Soubor umožňuje čtení i zápis a v závislosti na obsažené hodnotě je nastaven režim vstupu.

/run/unipi-plc/by-sys/AI[1-3].[1-9]/mode_voltage_current

Tento vstup je možné nastavit do dvou režimů dle následující tabulky:

Hodnota Režim AI
0 Napětí 0–10V
1 Proud 0–20mA

Nastavení režimu AI sekce 2,3 (a jednotek S5xx):

Soubor umožňuje čtení i zápis a v závislosti na obsažené hodnotě je nastaven režim vstupu.

/run/unipi-plc/by-sys/AI[1-3].[1-9]/mode

Tento typ vstupu je možné nastavit do několika režimů dle následující tabulky:

Hodnota Režim AI
0 Vypnuto
1 Napětí 0–10V
2 Napětí 0–2.5V
3 Proud 0–20mA
4 Odpor (třívodičová metoda) 0–1960 Ohm
5 Odpor (dvouvodičová metoda) 0–100 kOhm

Čtení analogových vstupů

(!)

Pozor:
Vždy lze číst pouze jeden soubor, dle nastaveného režimu vstupu.


Čtení hodnoty napětí na AI:

Soubor umožňuje pouze čtení a obsahuje měřenou hodnotu napětí v mV.

/run/unipi-plc/by-sys/AI[1-3].[1-9]/in_voltage_input

Čtení hodnoty proudu na AI:

Soubor umožňuje pouze čtení a obsahuje měřenou hodnotu proudu v mA.

/run/unipi-plc/by-sys/AI[1-3].[1-9]/in_current_input 

Čtení hodnoty odporu na AI (pouze u sekce 2,3 a jednotek S5xx):

Soubor umožňuje pouze čtení a obsahuje měřenou hodnotu odporu v Ohmech.

/run/unipi-plc/by-sys/AI[1-3].[1-9]/in_resistance_input
Analogové výstupy

Následující soubory slouží k nastavení režimu a k zápisu analogové hodnoty na výstup v dané sekci jednotky [1-3], na výstupu AOR v první sekci je také umožněno čtení odporu. Informace o zapojení, technické informace a další podrobné informace naleznete v článku o Analogových výstupech.

Nastavení režimu analogových výstupů

Nastavení režimu AO (pouze sekce 1, s výjimkou některých jednotek např. S5xx):

Soubor umožňuje čtení i zápis a v závislosti na obsažené hodnotě je nastaven režim výstupu.

/run/unipi-plc/by-sys/AO[1-3].[1-9]/mode_voltage_current_resistance 

Výstup je možné nastavit do tří režimů dle následující tabulky:

Hodnota Režim AOR
0 Napětí 0–10 V
1 Proud 0–20 mA
2 Čtení odporu 0–2 kOhm
Zápis na analogové výstupy

Napěťový režim je dostupný na libovolném analogovém výstupu, ale proudový režim pouze na výstupu AOR (pouze sekce 1, s výjimkou některých jednotek např. S5xx).

(!)

Pozor:
Vždy lze zapisovat pouze do jednoho souboru, dle nastaveného režimu vstupu.


Zápis hodnoty napětí na AO/AOR:

Soubor umožňuje pouze zápis a požadovaná hodnota napětí se do něj zadává v mV.

/run/unipi-plc/by-sys/AO[1-3].[1-9]/out_voltage_input

Zápis hodnoty proudu na AOR:

Soubor umožňuje pouze zápis a požadovaná hodnota proudu se do něj zadává v mA.

/run/unipi-plc/by-sys/AO[1-3].[1-9]/out_current_input

Čtení z analogového výstupu

Na speciálním analogovém výstupu AOR (pouze sekce 1, s výjimkou některých jednotek např. S5xx) je také možné čtení hodnoty odporu.

Čtení hodnoty odporu na výstupu AOR:

Soubor umožňuje pouze čtení a obsahuje měřenou hodnotu odporu v ohmech.

/run/unipi-plc/by-sys/AO[1-3].[1-9]/in_resistance_input
Relé výstupy

Slouží ke čtení/nastavení stavu zvoleného relé výstupu v dané sekci [1-3] jednotky. Více informací naleznete v článku o relé výstupech.

Soubor umožňuje čtení i zápis a pokud obsahuje hodnotu 0, je relé výstup rozepnut. Obsahuje-li hodnotu 1, je sepnut. Zápis hodnoty do tohoto souboru změní stav (sepnut/rozepnut) výstupu dle uvedeného pravidla.

/run/unipi-plc/by-sys/RO[1-3].[0-9][0-9]/value
Uživatelské LED

Slouží ke čtení/nastavení stavu zvolené uživatelské LED dané sekce [1-3] jednotky.

Soubor umožňuje čtení i zápis a pokud obsahuje hodnotu 0, LED nesvítí. Obsahuje-li hodnotu větší nebo rovno 1, LED svítí. Zápis hodnoty do tohoto souboru změní stav (svítí/nesvítí) LED dle uvedeného pravidla.

/run/unipi-plc/by-sys/ULED[1-3].[1-9]/brightness

Speciální funkce I/O

Čítač (Counter)

Funkce čítače je k dispozici pro každý digitální vstup jednotek Unipi. Více o této funkci naleznete v článku o digitálních vstupech.

Soubor umožňuje čtení i zápis a obsahuje celkový počet impulsů v rozsahu 0-4294967295 detekovaných digitálním vstupem dané sekce [1-3] jednotky. Zápis hodnoty do souboru nastaví zvolený čítač na požadovanou hodnotu. Zapsáním hodnoty 0 lze čítač resetovat.

/run/unipi-plc/by-sys/DI[1-3].[0-9][0-9]/counter
Debounce

Funkce Debounce slouží k potlačení zákmitů na digitálním vstupu. Tento soubor obsahuje čas ve stovkách µs (je-li jeho hodnota 10, odpovídá to 1 ms). Po tutu nastavenou dobu je reakce na změnu hodnoty na vstupu ignorována, aby se zabránilo náhodným sepnutním vstupu v důsledku indukce na kabeláži atp. Nastavení je dostupné pro každý jednotlivý vstup zvolené sekce [1-3] jednotky.

Soubor umožňuje čtení i zápis. Z výroby obsahuje hodnotu 50, která odpovídá době 5 ms. Hodnota 0 znamená, že je funkce debounce vypnutá.

/run/unipi-plc/by-sys/DI[1-3].[0-9][0-9]/debounce

Pokročilé nastavení desek I/O

Master Watchdog

Funkce Master Watchdog (MWD) nepřetržitě monitoruje příkazy z aplikace běžící na jednotce. Pokud během definovaného času watchdog_timeout nejsou detekovány žádné příkazy, procesor modulu se automaticky restartuje (pokud je povoleno) a použije uloženou výchozí konfiguraci. Tato funkce zajišťuje nastavení bezpečné konfigurace v případě mimořádných situací, např. při selhání řídící jednotky, přerušení komunikace, či problémech se softwarem tak, aby se zabránilo poškození ovládaných zařízení, či ohrožení osob.

Watchdog status

Hodnota souboru indikuje několik stavů MWD, které mohou nastat i současně. Každý stav je indikován jedním bitem, kde:

  • bit 0 indikuje, zda je MWD povolen (1 = povoleno)
  • bit 1 indikuje, zda byla sekce restartována funkcí MWD
  • bit 2 indikuje, zda od poslední komunikace uplynul watchdog_timeout

Kromě čtení stavů MWD je umožněn i zápis do souboru pro povolení/zakázání MWD. Povolení funkce se provádí zápisem 1 do tohoto souboru a zakázání zápisem 0.

/run/unipi-plc/by-sys/iogroup[1-3]/master_watchdog_enable

(!)

Pozor:
Bezprostředně po povolení MWD (než uplyne watchdog_timeout) je nutné uložit výchozí konfiguraci, jinak MWD zareaguje a vyrestartuje sekci I/O, čímž se načte uložená výchozí konfigurace, kde je MWD stále zakázán.

Watchdog timeout

Výchozí hodnotou je 2500, maximální možná hodnota je 65535 a minimální hodnotu timeoutu důrazně doporučujeme volit vyšší než 100.

Soubor umožňuje čtení i zápis a obsahuje hodnotu v ms.

/run/unipi-plc/by-sys/iogroup[1-3]/master_watchdog_timeout
Indikace Watchdog restartu

Hodnota tohoto souboru ukazuje, zda byl poslední start sekce způsoben pomocí MWD.

Soubor umožňuje čtení i zápis a po přečtení hodnoty se hodnota neresetuje do 0. Pro detekci více MWD restartů po sobě musí být po MWD resetu zapsána do tohoto souboru 0.

/run/unipi-plc/by-sys/iogroup[1-3]/was_watchdog
Výchozí konfigurace

Po zapsání hodnoty 1 dojde k uložení aktuální konfigurace sekce do její trvalé paměti. Při odpojení a připojení zařízení k napájení či restartu sekce se načte a použije uložená konfigurace.

Soubor umožňuje pouze zápis a poté se vždy automaticky resetuje do hodnoty 0.

/run/unipi-plc/by-sys/iogroup[1-3]/save_nvram
Restart sekce I/O

Po zapsání hodnoty 1 dojde k restartu celé sekce, podobně jako při odpojení a připojení zařízení k napájení.

Soubor umožňuje pouze zápis a poté se vždy automaticky resetuje do hodnoty 0.

/run/unipi-plc/by-sys/iogroup[1-3]/reboot

Vypnutí/zapnutí sběrnice 1-Wire

(i)

Poznámka:
V tomto případě se nejedná čistě o použití sysfs, ale standardních linux API.

(!)

Poznámka:
Soubor není nelze použít pro jednotky bez sběrnice 1-Wire, jednotky řady Unipi 1.1 a Patron S207.

Vypnutí a unbind sběrnice v systému.

echo x-0018 | sudo tee /sys/bus/i2c/drivers/ds2482/unbind
echo x-0018 | sudo tee /sys/bus/i2c/drivers/ds2482/bind

Nahraďte x za číslo:
1 - Unipi Neuron
2 - Unipi Patron

Zapnutí a bind sběrnice v systému.

echo x-0018 | sudo tee /sys/bus/i2c/drivers/ds2482/unbind
echo x-0018 | sudo tee /sys/bus/i2c/drivers/ds2482/bind

Nahraďte x za číslo:
1 - Unipi Neuron
2 - Unipi Patron

Alternativní způsob pro ovládání napájení 1-Wire je použití odpovídající Modbus coil.

Tento web používá cookies. Používáním těchto stránek souhlasíte s ukládáním cookies do vašeho počítače. Také berete na vědomí, že jste si přečetli a porozuměli našim Zásadám ochrany osobních údajů. Pokud nesouhlasíte s odchodem z webu.Více informací