====== Komunikační atributy ======
#;;
Patron
Neuron
Gate
Unipi 1.1
Axon
Extension
#;;
Každý komunikační kanál, nebo skupina disponuje atributy, zobrazované jako zelené řádky v rámci definice zařízení/kanálu. Atributy jsou určeny pro sledování/kontrolu komunikace, popř. pro její ovlivnění.
===== Základní informace =====
Komunikační atributy (commerror, timestamp) jsou velmi užitečné pro **sledování výpadků komunikace** způsobené rušením, poškozením kabeláže, či chybou samotného komunikovaného zařízení. Lze s jejich pomocí automaticky, snadno a rychle detekovat problém a adekvátně na něj reagovat, např. samoopravným mechanismem, nebo vyhlášením chybového stavu a zastavením běžného chodu programu.
Dále je možné atributy (commblock, forcecomm) použít pro další úroveň **optimalizace komunikace**, nebo speciální použití, např. **opakovaný zápis hodnoty** pro vynulování čítačového vstupu (CNT).
==== Komunikační kanál ====
Disponuje třemi atributy:
| ^ Význam ^ Datový typ ^
^ [[#commerror|commerror]] | chyba při poslední komunikaci | BOOL |
^ priorityrefresh | aktuálně nemá žádné použití | BOOL |
^ [[#timestamp|timestamp]] | čas poslední úspěšné komunikace | DATE_AND_TIME (DT) |
{{ .:comm-attributes:attributes_01_channel_attributes.png?direct |}}
==== Komunikační skupina ====
Disponuje až čtyřmi atributy:
| ^ Význam ^ Datový typ ^ Použití |
^ [[#commblock|commblock]] | zakázání komunikace | BOOL | u všech skupin |
^ [[#commerror|commerror]] | chyba při poslední komunikaci | BOOL | u všech skupin |
^ [[#forcecomm|forcecomm]] | manuální spuštění zápisu | BOOL | pouze skupiny woch |
^ [[#timestamp|timestamp]] | čas poslední úspěšné komunikace | DATE_AND_TIME (DT) | u všech skupin |
{{ .:comm-attributes:attributes_02_group_attributes.png?direct |}}
===== Podrobný popis atributů =====
==== commblock ====
Commblock je atribut umožňující přeskočit komunikaci skupiny. Pokud je hodnota atributu ''TRUE'', je komunikace celé skupiny přeskočena. Tento atribut je datového typu BOOL a umožňuje **čtení i zápis** hodnoty.
==== commerror ====
Commerror je atribut signalizující chybu komunikace. Je-li hodnota atributu ''TRUE'', nastala chyba komunikace (skupiny, nebo celého kanálu). Tento atribut je datového typu BOOL a je určen **pouze pro čtení**.
----
Ukázka funkce atributu commerror
Pro tuto ukázku je commerror komunikačního kanálu připojen na uživatelskou LED X1 (na PLC). Jelikož je komunikace bez chyb, LED je zhasnutá - stav ''FALSE'':
{{ en:sw:01-mervis:comm-attributes:attributes_04_commerror_main.png?direct |}}
Chybu komunikace kanálu mezi PLC a rozšiřujícím modulem xS11 lze nasimulovat vytažením konektoru komunikační linky RS-485. Tento stav je navozen na následujícím snímku, kdy se uživatelská LED X1 na PLC rozsvítí - stav ''TRUE'', čímž signalizuje chybu komunikace.
Mervis IDE v režimu ladění zobrazí proměnné nekomunikujícího zařízení s rudým podbarvením, tím je indikována chyba komunikace:
{{ en:sw:01-mervis:comm-attributes:attributes_05_commerror_main_error.png?direct |}}
==== forcecomm ====
Forcecomm je atribut umožňující vynucení komunikace skupiny (dotazu). Je možné ho použít pouze u skupin pro zápis s parametrem **WOCh** (Write Only on Change - zápis pouze při změně). Tento atribut je datového typu BOOL a umožňuje **čtení i zápis** hodnoty.
* Commblock ma přednost před forcecomm t.j. při náběžné hraně na forcecomm i commblock je komunikace přeskočena.
* Forcecomm zajistí spuštění mechanismu zápisu i v případě, že nedošlo ke změně hodnoty proměnné.
* Forcecomm nejsou v některých definicích zařízení knihovny obsaženy, protože byly vytvořeny před implementací forcecomm. Aby bylo možné atribut forcecomm použít, je nutné:
* kliknout na zařízení pravým tlačítkem myši a zvolit "Vytvořit specifické", čímž je umožněna editace zařízení z knihovny
* otevřít toto zařízení dvojklikem
* kliknout mezi skupiny a datové body pravým tlačítkem myši a přidat novou komunikační skupinu
* zkopírovat vlastnosti původní skupiny
* označit datové body původní skupiny a v jejich vlastnostech změnit skupinu, ke které jsou přiřazeny
* smazat původní skupinu a nastavit nové skupině název dle původní
==== timestamp ====
Udává čas poslední komunikace (dotazu). Atribut je datového typu DATE_AND_TIME (DT) a je určen **pouze pro čtení**.
{{ .:comm-attributes:attributes_08_timestamp.png?direct |}}
===== Jak pro atributy vygenerovat proměnné =====
K vygenerování proměnných pro atributy v plném módu je třeba otevřít zařízení, nebo komunikační kanál (na snímku níže kanál ModbusRTU), kliknout na příslušný atribut, v jeho vlastnostech v pravém sloupci nastavit "Povolit Autogen" na ''TRUE'' a vybrat "Cílový projekt". Lze také zadat vlastní název proměnné do "Generované jméno proměnné".
{{ .:comm-attributes:attributes_09_autogen_variable.png?direct |}}
Více informací je dostupných v článku [[cs:sw:01-mervis:autogen-hidden#prace_s_autogenem|Práce s autogenem]].