1 Úvod
Mikrokontroléry se stále více používají v automatizovaných řídicích zařízeních, mikroprocesorových-systémech integrované ochrany pro rozvodné sítě a dalších oblastech průmyslové automatizace, přičemž složitost těchto zařízení neustále roste. Aby bylo možné řešit-více{3}}úkolové požadavky vývojových cílů v reálném čase, je model jeden-CPU, jeden{5}}vývojář nahrazen společným přístupem zahrnujícím více CPU různých typů a více vývojářů. Toto nové vývojové paradigma představuje zásadní výzvu: standardizaci hardwaru a softwaru pro výměnu informací mezi CPU během implementace. Tato standardizace je klíčová pro úspěšné přijetí tohoto nového modelu. Mezi mnoha komunikačními metodami je široce používán sériový komunikační protokol RS-485 založený na UART- díky jednoduchému zapojení, vysoké spolehlivosti a schopnosti podporovat více CPU. Pokud jde o softwarové komunikační protokoly, protokol Modbus nabízí uživatelům značné výhody díky své univerzální povaze a vyspělému softwaru pro ladění. Proto byla při vývoji nového zařízení komplexní ochrany motoru přijata metoda sériové komunikace RS-485 a komunikační protokol Modbus, aby se dosáhlo výměny dat a informací řídicích příkazů mezi více CPU. Pro zvýšení efektivity a koordinace sériové komunikace autor implementoval řadu opatření v hardwarové a softwarové architektuře komunikačního mechanismu a dosáhl vynikajících výsledků. Během fáze ladění systémové komunikace byla použita metoda, kdy každý modul CPU nejprve komunikoval se standardním testovacím softwarem Modbus, než prošel vzájemným laděním propojení, což výrazně zlepšilo efektivitu společného vývoje. Praxe prokázala, že tato konstrukční filozofie zjednodušuje strukturu systému a zároveň výrazně zvyšuje provozní účinnost a spolehlivost zařízení.
2 Vlastnosti zařízení pro komplexní ochranu motoru
Kromě komplexních ochranných funkcí zařízení na ochranu motoru integruje možnosti měření, dálkového ovládání a komunikace. Jeho velká-obrazovka LCD s čínskými znaky umožňuje uživatelsky-přívětivé rozhraní. Využitím komunikace CAN bus s monitorovacím hostitelem tvoří subsystém v rámci hierarchického, distribuovaného automatizačního systému rozvodny. Pro optimalizaci funkčnosti systému pro jeho multi{5}}požadavky na víceúlohovou práci byla přijata architektura více-CPU. Jeden procesor zpracovává periodické vzorkování pulsů a přenos; hlavní modul CPU řídí zpracování dat, výpočet elektrických parametrů, diagnostiku chyb a spínací operace; zatímco CPU modulu desky dohlíží na interakci mezi člověkem{8}}strojem a usnadňuje komunikaci s hlavním ochranným modulem a monitorovacím hostitelem. Každý modul CPU má jasně definované úkoly, což usnadňuje společný vývoj několika inženýrů během implementace. Sériová komunikace propojuje hlavní CPU a panel CPU, umožňuje interakci mezi člověkem{11}}strojem, a tedy zaujímá kritickou pozici. Vytvoření racionálního komunikačního mechanismu je jádrem sekce sériové komunikace, která určuje koordinaci komunikace a efektivitu ladění během pozdějších fází vývoje systému.
3 Úvod do komunikačních mechanismů
3.1 Hardwarový návrh komunikačního mechanismu
Komunikační mechanismus navržený pro tento systém má za cíl vysokou účinnost a spolehlivost. RS-485 využívá poloviční-duplexní strukturu, která je v aplikacích v terénu často praktičtější než plně duplexní. Zde je přijato zjednodušené připojení pouze pomocí dvou signálních vedení. Schéma obvodu rozhraní systému je znázorněno na obrázku 1. Logické úrovně TTL na výstupu mikrokontroléru 8051 na hlavním ochranném modulu jsou opticky izolovány a poté čipem MAX485 převedeny na úrovně RS-495. Následně je čip MAX485 na panelu panelu převede zpět na logické úrovně TTL pro čtení mikrokontrolérem 8031. Na straně mikrokontroléru 8051 pin P2.7 paralelního I/O portu 2 ovládá pin RE povolení vstupu MAX a pin DE povolení výstupu. Jak je znázorněno na obrázku 1, když P2.7 vysílá vysokou úroveň, RE je povoleno, což umožňuje straně mikrokontroléru přijímat data. Když P2.7 vysílá nízkou úroveň, DE je povoleno, což umožňuje straně mikrokontroléru přenášet data. Tento přístup zabraňuje ztrátě dat v důsledku překrývání způsobeného slepým přenosem, zajišťuje vysokou kvalitu komunikace a spolehlivou přenosovou rychlost.

3.2 Komunikační protokol
Aby byl zajištěn přesný přenos dat mezi dvěma moduly v rámci ochranného zařízení, je nezbytná sada specifikací upravujících přenos informací-včetně režimů přenosu, datových formátů a obsahu-. To představuje protokol nebo komunikační protokol. Bez snadno dostupného vyspělého softwaru pro ladění funguje hlavní modul CPU v podstatě jako černá skříňka, což vede k četným a obtížně{4}}-překonatelným problémům během testování systémové integrace. Proto byl vybrán a zjednodušen komunikační protokol Modbus, který vyhovuje specifickým požadavkům zařízení a umožňuje úspěšnou mezi-modulovou komunikaci s prokázanou účinností. Modbus využívá komunikační model master-slave. Master nejprve odešle příkaz s požadavkem na komunikaci podřízenému. Slave pak odpoví masteru daty na základě funkčního kódu v rámci příkazu požadavku. Každý slave má jedinečnou adresu. Jak rámce požadavku zasílané masterem, tak i rámce odpovědi zaslané slave zařízením začínají adresou slave. Podřízené jednotky pouze čtou příkazy adresované sobě a ignorují zprávy začínající jinými adresami podřízených jednotek. Tato funkce je implementována pomocí režimu 2 nebo režimu 3 sériového portu 8051. Tento komunikační model -a{20}}výrazně zvyšuje přesnost komunikace. V tomto zařízení je použit režim přenosu RTU Modbus.
4 Opatření ke zvýšení spolehlivosti komunikace
Poslední dva bajty zprávy Modbus slouží jako bajty kontrolního součtu. Komunikace RTU využívá cyklickou kontrolu redundance CRC-16 pro detekci chyb. Jeho mechanismus kódování/dekódování je relativně jednoduchý s nízkou chybovostí, dosažitelnou pomocí výpočetních nebo programovacích metod. Níže je uvedeno několik přístupů:
4.1 Základní algoritmus (ruční výpočet)
Použití CRC16-CCITT jako příklad: kontrolní součet CRC je 16 bitů a generující polynom je 17 bitů. Předpokládejme, že datový tok má 4 bajty: BYTE, BYTE, BYTE, BYTE[0];
Posuňte datový tok doleva o 16 bitů a efektivně jej rozšiřte o faktor 256×256. Poté proveďte dělení pomocí generátorového polynomu 0x11021 pomocí ne-výpůjčního dělení (ekvivalent bitového XOR). Výsledný zbytek je kontrolní součet CRC. Přenášený datový tok se skládá ze 6 bajtů: BYTE, BYTE, BYTE, BYTE[0], CRC, CRC[0].
4.2 Počítačový algoritmus 1 (algoritmus bitového-typu)
1) Umístěte horních 16 bitů (BYTE, BYTE) rozšířeného datového toku (6 bajtů) do 16bitového registru;
2) Pokud je nejvýznamnější bit registru 1, posuňte registr doleva o jeden bit (získáte nejméně významný bit z dalšího bajtu), poté proveďte operaci XOR se zjednodušenou formou polynomu generátoru; jinak jednoduše posuňte registr doleva o jeden bit (získáte nejméně významný bit z dalšího bajtu);
3) Opakujte krok 2, dokud nebude celý datový tok (6 bajtů) posunut do registru;
4) Hodnota v registru je kontrolní součet CRC CRC, CRC[0].
4.3 Počítačový algoritmus 2 (Algoritmus bajtového -typu) (256^n označuje 256 umocněné na n)
Představte datový tok-uspořádaný po bytech jako matematický polynom. Nechť datový tok je BYTE[n] BYTE[n-1] BYTE[n-2] ... BYTE[0] je reprezentován jako matematický výraz
BYTE[n] × 256^n + BYTE[n-1] × 256^(n-1) + ... + BYTE × 256 + BYTE[0], kde „+“ označuje operaci XOR. Nechť je polynom generátoru G17 (17-bit), pak kód CRC je CRC16.
CRC16=(BYTE[n] × 256^n + BYTE[n-1] × 256^(n-1) + ... + BYTE × 256 + BYTE[0]) × 256^2 / G17
To zahrnuje posunutí datového toku doleva o 16 bitů a následné dělení polynomem generátoru G17.
Odvození ukazuje, že kontrolní kód CRC pro BYTE[n-1] se rovná výsledku XOR horních 8 bitů kontrolního kódu CRC předchozího bytu Y[n] (YH8[n]) a aktuálního bytu BYTE[n-1].
Algoritmus typu bajt{0}} je následující:
1) Inicializujte skupinu registrů CRC na všechny "0" (0x0000).
2) Posuňte skupinu registrů CRC o 8 bitů doleva a uložte ji do skupiny registrů CRC.
3) Proveďte operaci XOR mezi vysokými 8 bity původní skupiny registrů CRC (posunuté o 8 bitů doprava) a datovým bytem, abyste získali index ukazující na tabulku hodnot.
4) Proveďte operaci XOR mezi hodnotou tabulky, na kterou ukazuje index, a skupinou registrů CRC.
5) Zvyšte ukazatel dat. Pokud není zpracování dat dokončeno, opakujte krok 2).
6) Získejte CRC.
5 opatření ke zlepšení účinnosti komunikace
5.1 Samostatné úkoly příjmu a přenosu komunikace
Mikrokontrolér 8051 může vysílat a přijímat data přes sériový port pomocí přerušení. Řadič sériového portu SCON podporuje inicializaci a bitové adresování. Když dojde k požadavku na přerušení sériového portu, spodní dva bity SCON zablokují přerušení vysílání a příjmu. Když CPU zapíše data nebo znak do vysílací vyrovnávací paměti SUBF sériového portu (instrukce: MOV SUBF, A), vysílač začne vysílat. Po dokončení jednoho datového rámce hardware nastaví příznak TI na "1", což znamená, že sériový port požaduje přerušení od CPU pro odeslání dalšího datového rámce. Podobně, pokud je přijímač sériového portu povolen pro příjem, po přijetí rámce dat je příznak RI nastaven na 1, což indikuje, že sériový port požaduje přerušení od CPU, aby mohl číst data z přijímané datové vyrovnávací paměti.
5.2 Zkrácení doby přerušení
Vzhledem k tomu, že se v návrhu architektury softwaru používá více přerušení, aby se zajistil spolehlivý provoz programu a minimalizovala se pravděpodobnost konfliktů mezi různými úlohami, měla by se softwarová implementace snažit zefektivnit úlohy různých přerušení a zkrátit dobu jejich provádění. V rámci podprogramu přerušení komunikace provádějte při vstupu do přerušení zásadní úkony, jako je: vymazání odpovídajících stavových bitů v řídicím registru sériového portu, čtení přijatých znaků nebo zápis znaků, které mají být přeneseny z/do vyrovnávací paměti, inkrementace počtu přijatých nebo vysílaných znaků atd. Poté přerušení okamžitě opusťte. Další úkoly, jako je ověřování rámců, reakce na přijaté příkazy rámců (telemetrie/telecommand) a příprava přenosových rámců, by měly být řešeny v rámci hlavního programu.
5.3 Efektivní detekce ukončení rámce, aby se zabránilo stagnaci komunikace
Využití vyhrazeného softwarového časovače pro detekci konce přijatého rámce zabraňuje zdržování komunikačních úkolů, pokud je rámec přijat neúplně, čímž je zajištěn včasný příjem následujících rámců. Vzhledem k tomu, že časový interval mezi bajty v rámci je mnohem kratší než interval -do{2}}snímku, softwarový časovač se spustí pokaždé, když je přijat nový bajt. Časovač je nastaven na minimální interval snímků-do{5}}snímků. Tento interval se mění s různými přenosovými rychlostmi. Pokud je přijat další bajt před uplynutím nastaveného času, znamená to, že rámec není úplný a časovač se restartuje. Pokud časovač úspěšně odpočítá do přednastaveného času, spustí odpovídající číslo přerušení. V rámci podprogramu přerušení časovače je nastaven příznak konce rámce, což znamená, že příjem rámce je dokončen. Poté, co hlavní program detekuje dokončení příjmu rámce, ověří integritu rámce ověřením adresy podřízeného zařízení a bajtu kontroly cyklické redundance (CRC). Je-li potvrzen jako platný rámec určený pro master, zpracuje příkaz frame na základě svého funkčního kódu a připraví se k odeslání rámce. Když slave obdrží nesprávnou zprávu, odešle zpět chybový rámec. Pokud má přijatá zpráva nesprávné CRC, může se podřízený rozhodnout neodpovědět. Pokud master neobdrží odpověď od slave ve stanoveném čase, znovu odešle zprávu s požadavkem. Pokud vícenásobná opakovaná vysílání neobdrží odpověď od podřízeného zařízení, je hlášena chyba komunikace.
5.4 Určení rychlosti komunikace
Protože všechna zařízení jsou umístěna ve stejném šasi, je vzdálenost mezi moduly minimální. Modbus pracuje na RS485 pro komunikaci na dlouhé-vzdálenosti, což eliminuje potřebu zvažovat vliv vzdálenosti na přenosovou rychlost. Kromě toho komunikační režim master-slave zabraňuje přetížení linky. Z hlediska efektivity komunikace tedy platí, že pokud nastavená přenosová rychlost nepřekročí maximální limit přenosové rychlosti čipu použitého v modulu, má vyšší přenosová rychlost za následek rychlejší výměnu informací a vyšší efektivitu komunikace. Nastavení přenosové rychlosti přesně stejné pro obě komunikační strany zajišťuje, že přijímající konec vzorkuje každý datový bit uprostřed bitového cyklu, čímž se dosáhne spolehlivé komunikace.
5.5 Rozumné metody ladění
Během ladění nejprve otestujte komunikaci mezi každým modulem CPU a mikropočítačem přes modul pro převod dat RS485/RS232. Po úspěšném individuálním testování přejděte k-ladění mezi moduly, čímž se výrazně zlepší celková efektivita ladění. Během ladění komunikace mezi moduly-k-počítač používá ladicí software Modbus k simulaci komunikačního procesu nadřízeného a aktivně vyžaduje informace od podřízeného. Díky tomu je celý proces příjmu a přenosu transparentní a jasný, což umožňuje včasné řešení problémů modulu. Během společného ladění sleduje software pro monitorování sběrnice data z obou stran, aby rychle identifikoval a vyřešil problémy.
6 inovačních bodů tohoto dokumentu
Za prvé, tento dokument přijímá Modbus, univerzální průmyslový standard, v ochranném zařízení. Požadovaný nástrojový software lze získat přímo z příslušných webových stránek, aniž by vznikaly náklady na duševní vlastnictví. Za druhé, ochranné zařízení implementuje multitasking a využívá protokol Modbus k vytvoření rozumného mechanismu společného ladění mezi moduly CPU, což výrazně zlepšuje efektivitu vývoje kolaborativního systému.




