Приложение 2.

 

Спецификация на унифициран управляващ език на безжичните експериментални средства

(Технологичен протокол и Семантичен език).

 

. Терминология.

 

В описанието на БПМИО се използват различни технически термини, специфични за този проект. Основната терминология включва следните определения:

 

-       Безжична локална мрежа (WLAN) – това е локална мрежа, обединяваща няколко устройства, всяко с вградени възможности за комуникация по радиоканал. WLAN се характеризира с мрежови параметри, протокол за комуникация и специализирано програмно осигуряване ( Стек ), отговорно за управление на устройствата, включени в мрежата.

 

-       НОД – устройство включено в безжична мрежа.

 

-       Координатор на Безжичната локална мрежа- НОД, който създава и менажира мрежата. В даден момент, всяка WLAN има точно един Координатор.

 

-       Рутер- НОД, изпълняващ функциите на ретранслатор на мрежовите съобщения. Управляван от Координатора, всеки Рутер менажира множество от НОД-ове, явяващи се негови наследници в топологичната схема на Безжичната локална мрежа. БПМИО използва само НОД-ове с мрежова функционалност на Координатор или Рутери.

 

-       Безжичен индустриален контролер- това е идустриален контролер с възможност за комуникация по радиоканал с други подобни устройства. В качеството си на контролер, той управлява програмно някакъв индустриален обект. В същото време притежава възможност да функционира като НОД на Безжичната Локална Мрежа.

 

-       Активни мрежови устройства- те включват устройствата с функции на Безжични индустриални контролери, включени или с възможност за включване в WLAN.

 

-       RS485+ - междумрежов интерфейс, реализиран чрез жични и безжични сегменти между Координаторите на безжичните мрежи. Жичните сегменти използва стандартния RS485, а безжичните сегменти радиоканал 433MHz, посредством вградени в модулите радиотрансивери.

-       Мултимрежа – съвокупност от няколко безжични мрежи. Между Координаторите на мрежите е реализиран интерфейс RS485+.

 

-       Главна мрежа- безжична мрежа от Мултимрежата, чийто Координатор е свързан директно (USB) към Главна Операторска Станция.

 

-       Технологичен слой- Мултимрежа, в която НОД-вете са Активни мрежови устройства .

 

-       Технологичен протокол-това е език за конфигурация и менажиране на безжичните мрежи.

 

-       Семантичен език- това е език за управление на активните устройства, включени в мрежата. Дефинират се Семантични команди и съответни Рапорти от различните устройства, в съответствие с командите. Когато Активните мрежови устройства работят в автономен режим (не са включени в Технологичния слой ), Семантичните команди и съответните Рапорти се получават от и изпращат към външни устройства, посредством GATEWAY . Той се реализира от включен към Активното мрежово устройство на модем-терминал, осигуряващ GPRS комуникация, или Локална Операторска Станция(ЛОС).

 

-       Главна операторска станция (ГОС) – построена на базата на PC, под Windows XP, тя реализира операторски интерфейс към Технологичния слой и Активните мрежови устройства.

 

-       Локална операторска станция (ЛОС) - построена на базата на PC под Windows XP, тя реализира тестови потребителски интерфейс към Активно мрежово устройство, работещо в мрежов или автономен режим.

 

-       GATEWAY това е устройство и съответен фърмуер, осигуряващи комуникация на Активните мрежови устройства към външни мрежи, различни от Технологичния слой. Обикновено GATEWAY включва модем-терминал, свързан с Активното мрежово устройство по RS 232 C и програмен драйвер за поддръжка на модема. Възможно е включване на ЛОС към дадено Активно мрежово устройство посредством USB.

 

 

Въведение

 

Семантичният език и Технологичния протокол представляват надстройка на мрежовия протокол на Технологичния слой и са предназначени за конфигурация на мрежите, обмен на команди и рапорти между Активните мрежови устройства. Те ще се реализират на базата на мрежовите информационни съобщения.

 Семантични команди могат да постъпват и от външни устройства  ( ЛОС или GPRS модем-терминал), включени към Активните мрежови устройства.

Семантичният език и Технологичния протокол използват три вида елементи:

 

-       Терми - това са информационни структури, унифицирани в рамките на мрежата, с възможности за контрол на достоверността и целостта на информацията, съдържаща се в тях. Те се разполагат изцяло в дадено информационно съобщение на Технологичния слой и се интерпретират по еднакъв начин от всички мрежови устройства.Всяко информационно съобщение съдържа изцяло един или няколко терми, всеки терм се разполага изцяло в едно информационно съобщение;

-       Команди -     това са информационни структури, включващи няколко терми. Някои от тях са задължително включени във всички команди- такива са «адрес на получателя», «край на командата» и «режим на работа на устройството». Други са специфични и са свързани с конкретните видове мрежови устройства. Те формират «поле на данните на командата», което се интерпретира от конкретните устройства. Всеки терм на командата се потвърждава;

-       Рапорти  от устройства, получили команди - това са информационни структури, включващи няколко терми. Някои от тях са задължително включени във всички  Рапорти - такива са полетата «адрес на получателя и дължина на рапорта»  и «статус и режим на работа на устройството, получило командата». Всеки Рапорт ще включва един или повече терми от вида «поле на данните», което от своя страна ще съдържа няколко подполета- «номер на полето», «дължина на полето» и «данни включени в полето». Последните са специфични за различните устройства.

Технологичния протокол предполага използване на множество от команди и съобщения, интерпретирани еднакво от различните видове Активни мрежови устройства.

Семантичният език предполага използване на множество от команди и съобщения, интерпретирани индивидуално от различните видове Активни мрежови устройства.

 

1. Спецификация на Технологичния протокол.

 

            Технологичният протокол включва описание на група команди и съобщения използвани за конфигуриране, мониторинг и управление на Технологичния слой.

 

1. 1.          Команди на Технологичния протокол.

 

            Технологичният слой включва набор от безжични локални мрежи, реализиращи транспортиране по радиоканали и жичен интерфейс (RS485)  на информационните и служебни съобщения между ГОС и Активните мрежови устройства. Комуникацията се организира в съответствие с Технологичен протокол за работа с Технологичния слой. Този протокол осигурява изпълнението на групи от външни команди, изпращани от Координатора на Главната мрежа по жичен интерфейс  към останалите Координатори. Всяка външна команда съдържа вградена в тялото си вътрешна команда, която съответния Координатор изпраща към НОД-овете от своята мрежа .

 

-       Вътрешни команди- те се разпространяват по зададения за локалната мрежа работен радиоканал, генерират се от Координатора на мрежата и управляват комуникацията между НОД-овете;

 

-       Външни команди- те се разпространяват по хетерогенен интерфейс( RS485+) между координаторите в Технологичен слой, включващ няколко автономни безжични мрежи, генерират се от Координатора на Главната мрежа и реализират междумрежов информационен трафик.

 

Всяка от безжичните мрежи има свой уникален адрес, както следва:

 

-        главната безжична мрежа има адрес 0;

-       останалите безжични мрежи се адресират последователно 1,2, 3, ....

 

Външните команди имат следния синтаксис:

 

<N: на безжичната мрежа>:<вътрешна команда><CR>

 

Изпълнението на външна команда се извършва на няколко стъпки:

 

1. Координаторът на Главната мрежа извежда по RS485 кода на командата;

2.   Координаторът на адресираната мрежа получава този код;

3.  Координаторът на адресираната мрежа отделя тикста, обозначен като <вътрешна команда> и го подава към своята мрежа, като вътрешна команда по съответния радиоканал;

4.   След изпълнението на командата, Координаторът на адресираната мрежа получава рапорт, който се изпраща по RS485+ обратно към Координаторът на Главната мрежа. Рапортът е терминиран с NULL. Той може да включва 0 или повече стринга, завършващи с CR.

 

Когато адреса на безжичната мрежа е 0, не се извършва комуникация по RS485+, а направо се формира вътрешна команда по радиоканала на Главната безжична мрежа.

 

Вътрешните команди имат общ формат:

 

                       GGG_COMMAND:N=X,Y,Z

 

На Фиг.1 – Фиг.6. са показани основните параметри и описание на различните вътрешни команди.

 

1.2. Списък на вътрешните команди на Технологичния протокол

 

Тип

Група(GGG)

Функция

Gateway

CMD

Контрол на Координатора .

List

LST

Получаване на информация и поддържане на Базата на данните на Коорденатора за регистрираните мрежови уктройства.

Node

NDE

Работа с конкретно мрежово устройство.

Network

NWK

Работа с всички устройства от безжичната мрежа.

 

Фиг.1. Основни групи вътрешни команди.

 

                               N, X, Y, Z са десетични числа, представящи стойности на използвани в командата системни променливи (Фиг.2.).

 

Име на променлива

Стойност

Функция

H

0-23

Час

M

0-59

Минута

N

0-254

Индекс на мрежово устройство в Базата данни на Координатора.

V

0-65535

16-битов стойност.

X

0 or 1

Логическа константа (изключено, включено).

Ch

11-26

Номер на радиоканал.

 

Фиг.2. Системни променливи като параметри на вътрешните команди.

 

Команда

Функции

CMD_ASSOC=X

Включване (X=1) или изключване (X=0) на разрешение за асоцииране към безжичната локална мрежа, поддържана от Координатора.

CMD_CANCEL

Прекратяване на изпълняваща се в момента команда, стартирана от Координатора.

CMD_CLEAR_STATS

Нулиране на записите със статистическа информация за работата на устройствата от безжичната мрежа.

CMD_GET_STATS

Получаване и визуализация на всички пакети към всички мрежови устройства, деца на Координатора, изпращани от последния

( включително и загубените по време на комуникацията).

CMD_HELLO

Тестване комуникацията с Координатора ( последния трябва да отговори с рапорт „hello”).

CMD_HIDE_MESS=X

Скриване (X=1) или показване (X=0) на всички статусни съобщения, изпращани от мрежовите устройства и получени от Координатора.

CMD_ROUTING

Визуализация на таблицата съхранявана в Координатора (Routing table) за достъпа до различните мрежови устройства и взаимо- връзките (йерархията) между тях. Тази таблица определя и възможните пътища на пакетите по време на комуникацията в мрежата.

Пример:

Child --------- Router table

R 00013651

0000002B

000000AD

R 0005DBCB

000D88E0

000583FF

CMD_SAVE

Съхраняване в Координаторната Flash памет на мрежовия контекст в момента. Този контекст включва цялата информация, необходима на Координатора да възстанови мрежата, без да е нужно да се преминава през стандартната процедура на търсене, използвана при създаване на нова мрежа.

Тази операция се активира автоматично, всеки път когато някое мрежово устройство се включи в(асоциира с) мрежата или я напусне.

CMD_SW_RESET

Изпълнение на софтуерен ресет на Координатора.

CMD_TEST=Time

Стартиране на Автоматичен тест на мрежата. Тази команда се използва, когато устройствата от мрежата се емулират от „донгъли”. Последните имат светодиоди, управлявани по време на теста. Стартирането на командата предизвиква тяхното запалване за определено време, което определя яркостта на светенето им( dimming).e.

 

Time = test cycle period, in minutes.

Time = 0 switches off the test mode.

 

Всеки светодиод свети последователно от яркост 0 до максимална яркост(255) и обратно, като Координаторът последователно и в съответствие със списъка на регистрираните мрежови устройства изпраща индивидуално съобщение на всяко от тях и му указва текущата осветеност, която то трябва да постигне. След преключване на периода на цикъла, съответното мрежово устройство изпраща на Координатора статистическа информация, включваща (пример):

 

Node MAC           Sent - Received (hrs) (min)

0        03010ADC   360-30

1        0005BDC6   360-30

2        000000AD   360-30

3        000010C4    360-30

 

След преключване на съобщението цикълът се повтаря. Този тест е удобен за проверка на трафика (реалния) по мрежата и нейната жизненост.

 

CMD_TIMEOUT:V1,V2,V3

Задаване на времеви ограничения и граници (timeouts/limits):

V1: интервал между пакетите (в милисекунди).

V2: максимално закъснение допустимо за отговор на пакет

(в милисекунди).

V3: максимален брой опити при неуспешно изпращане на пакет.

Когато Координаторът изпълнява команда за мрежата

( предшествана с NWK_), той изпраща индивидуална команда за всяко устройство от списъка на регистрираните мрежови устройства, започвайки от НОД 0 и продължавайки до последнеят.

Действията на Координатора включват:

1) Изпращане на индивидуален пакет към дадения НОД и чакане на отговор от него.

Ако няма отговор за време V2, пакетът се изпраща  отново, докато броят на изпращанията достигне V3.

2) Изчаква се време(V1).

3) Изпраща се пакет към следващия НОД от списъка на регистрираните устройства в мрежата.

CMD_VISUALISE

Визуализиране на структурата на мрежата и нейната дълбочина (пример):

00013651

0000002B

000000AD

0005DBCB

000D88E0

000583FF

 

Фиг. 3. Команди, специфични за Координатора и управляващи само Координатора.

 

Команда

Функции

NDE_ASSOC:N=X

Разрешаване асоцииране (X=1) или забрана на асоциирането (X=0) за Рутер с индекс N. Управлява се възможността на Рутера да включва като свои деца външни мрежови устройства(Рутери).

NDE_GET_PARAM=N

Визуализира параметрите на даден Рутер (N), записани в неговата FLASH памет.

NDE_LEAVE=N

Заявка към даден Рутер (N) да напусне мрежата. След напускането си той автоматично започва да прави опит за нова асоциация.

NDE_RESET=N

Заявка за софтуерен ресет на Рутер (N).

NDE_TRACE=N

Трасиране на пътя от Координатора до даден Рутер (N) в съответствие със съществуващата Routing table в Координатора .

 

Фиг.4. Команди, предназначени за конкретен НОД (Рутер) от мрежата,

указан с индекс от съответната База данни.

 

 

Команда

Функции

LST_GET

Визуализация на списъка на всички регистрирани НОД-ове(Рутери) в безжичната мрежа (пример):

LIST

0 000010C4 1 03010ADC 2 000000AD 3 0005BDC6

LST_DELETE

Изтриване на всички регистрирани НОД-ове от списъка. Когато  асоцииран в мрежата НОД изпрати съобщение към Координатора, последният го пре-регистрира и записва в списъка. Пример:

New node 0 000010C4 Router Ver 1

LST_DISABLE

Маркиране на всички НОД-ове от мрежата като забранени. Към тези НОД-ове няма да се изпращат мрежови команди докато не се получи заявка от тях за нова асоциация към мрежата. След като се изпълни успешно заявката, те се регистрират и добавят към списъка (пример):

Rejoined 0

LST_ENABLE

Маркиране на всички НОД-ве от списъка, като разрешени. Към тези НОД-ове ще се изпращат мрежови команди .

 

 

Фиг.5. Команди за работа със Базата данни, поддържана от Координатора за

регистрираните НОД-ове на съответната безжична мрежа.

 

 

Команда

Функции

NWK_ASSOC=X

Разрешава асоцииране (X=1) или забранява асоцииране (X=0) за всички Рутери на мрежата.

NWK_CHANNEL=Ch

Команда за смяна на радиоканала (Ch) за всички НОД-ове на мрежата.

NWK_CLEAR_STATS

Нулиране на статистическите данни, събирани в различните НОД-ове на мрежата.

NWK_DISCOVER

Заявка към всички НОД-ове от мрежата да изпратят статусно съобщение към Координатора.

NWK_GET_PARAM

Заявка за получаване на текущите стойности на параметрите на всички НОД-ове.

NWK_LEAVE

Заявка към всички НОД-ове от мрежата да я напуснат

NWK_LOGGER=Time

Задаване на времето в секунди(Time) между изпращане на статусни съобщения към Координатора от НОД-овете на мрежата.

NWK_MAXFAILED=X

Задаване на допустимия брой(X) изпратени неуспешно пакети от Рутер към своя родител, преди първият да реши да напусне мрежата и да премине към нов опит за асоцииране с нея.

􀁹Голяма стойност на този параметър позволява реализиране на висок мрежов трафик но лошо детектиране на шум и бавна реакциия.

􀁹 Ниска стойност на този параметър намалява времето за възстановяване на мрежата при повреда на комуникацията.

 

X трябва да е по-голям от  1.

NWK_PING=Time

Задава времето (Time) в секунди между генерацията на съобщения  „pings” от детето към родителя.

􀁹 Голяма стойност на този параметър ще ускори мрежовия трафик, но ще увеличи времето за възстановяване на мрежата при повреда на комуникацията.

􀁹 Малка стойност на този параметър ще намали времето за самовъзстановяване на мрежата при комуникационна повреда, но ще увеличи служебния трафик за сметка на информационния

Ако Time е 0, „ping” съобщенията се забраняват.

NWK_RESET

Заявка за софтуерен ресет на всички НОД-ове на мрежата.

NWK_RESET_PARAMS

Нулира всички текущи параметри, записани в Flash на НОД-овете и преминава към техните подразбиращи се стойности.

NWK_SET_SHAPE

Форсира формирне на мрежа с „дълга и тънка” топология. Рутерите се свързват последователно във всеки един от два клона.След обновяване на параметрите на всички НОД-ове, мрежата трябва да получи софтуерен  или апаратен ресет за да се реформира и построи новата тополотечна схема.

 

За възстановяване на автоматично- оптимизираната топология на мрежата е необходимо изпълнение на командата NWK_RESET_PARAMS.

NWK_TIME_SET=H:M

Задаване на системното време на НОД-овете на мрежата в часове (H) и минути (M) – секундите се приемат за 0. Всички НОД-ове се синхронизират едновременно.

 

Фиг.6. Мрежови команди, предназначени за всички НОД-ове.

 

 

2. Спецификация на Семантичния език

 

Семантичният език е програмно средство за управление и комуникация на Активните мрежови устройства, включени като НОД-ове в някоя от локалните безжични мрежи на Мултимрежата чрез Технологичния слой.

Основна задача на Семантичния език е да осигури възможност за оператора на ГОС да задава режимите на работа, управлява програмно и наблюдава в „реално време” технологичните параметри на външните обекти контролирани от Активните мрежови устройства.

Особеност на реализацията на БПМИО е възможността всяко Активно мрежово устройство да функционира като автономно- т.е. невключено в Технологичен слой.В този случай се използва външен GPRS модем, свързан жично към устройството (като основен интерфейс) и Семантичния език  (като средство за програмиране) за параметризиране и въвеждане на приложната програма ( с помощта на GPRS или безжичен Интернет).

Съществува и опция за включване към всяко Активно мрежово устройство на ЛОС (която дублира частично работата на ГОС) за тестване и настройка на устройството. В този случай като основен интерфейс се използва вграден USB канал, поддържан от Активното мрежово устройство и USB порта на ЛОС.

 

2.1. Софтуерна архитектура на Активните мрежови устройства.

 

Активните мрежови устройства имат обща софтуерна архитектура, която определя определя в голяма степен синтаксиса и семантиката на командите на Семантичния език. Тази архитектура се базира на свойствата на въведените нови класове програмни обекти –„ външни драйверни програми” и „разширени функции”.За наименование на техните реализации ( т.е. създаване в адресното пространство на JN5148 на работни копия на тези обекти, заедно с инициализация на съответните структури и статични променливи) се използва термина програмни модули.

 

2.1.1.   Външни драйверни програми и разширени функции.

 

 

Микроконтролерът JN5148 има ограничена вътрешна памет (128 Kb). За да се изпълнят изискванията на различни приложения, тя е разширена чрез външна енерго-независима S25FL512SAGMFI011 с обем 64 MB от тип FLASH, достъпна по SPI интерфейс.

Външната памет има файлова организация, като всеки от файловете е с размер по-малък от 8 K. Във вътрешната памет на микроконтролера се резервират два линейни буфера с размер по 8 K всеки, за съхраняване на програмни модули за двата типа програмни обекти- разширена функция и външни драйверни програми .

В даден момент е възможно активиране на една разширена функция ( заредена в съответния линеен буфер) и една или повече външни драйверни програми ( заредени в съответния линеен буфер).

Външните драйверни програми и разширените функции се прехвърлят в съответни линейни буфери( т.е. създават се програмни модули), при наличие на заявка от функции на потребителското приложение.

 Модулите съдържат предварително компилиран програмен код (в него са включени копия на всички функции, към които има обръщение). Фърмуерът на Активните мрежови устройства предоставя методи за достъп на потребителските приложения до статуса, параметрите и резултатите от изпълнениетс на програмните модули.

Външните драйверни програми и разширени функции имат обща структура [ Фиг. 7]. Двата типа програмни модули се идентифицират с уникални имена ( същите се използват като имена на файловете, съдържащи програмния код на съответните обекти, във  външната FLASH памет).

Програмните модули( външни драйверни програми и разширени функции) се реализират чрез Машини на състоянията ( State machine). Всички работни динамични и статични променливи ( необходимите входни и/или изходни буфери за данни и резултати, статусни променливи, пойнтери и броячи) са включени в тялото на модулите и след генерацията на последните (в съответните линейни буфери) са позиционирани в адресното пространство на съответния  буфер.                

Различните драйверни програми и разширени функции реализират «собствени»  Машини на състоянията, включени в тялото на модулите. Това им осигурява възможности за индивидуална интерпретация на входните параметри и резултати.

 Важна особеност на програмните модули ( на външните драйверни програми и разширени функции) е че те работят като синхронни програмни устройства. За целта в тялото на модулите е включен параметър, наречен Time_scan. Той определя интервал, през който фърмуерът  на  Активните мрежови устройства стартира изпълнението на Машината на състоянията на съответния модул.

Контролира се целостта и валидността на информацията включена в модулите. Пълен контрол се извършва само при начално зареждане в линейния буфер. При следващи обращения към програмния модул се тества само валидността на заглавната контролна сума, тъй като в тялото на модула са включени полета за данни, които динамично се променят.

 

N: байт

Употреба

0

Синхро-Байтове    (87 CD).

1

2

Дължина на Модула.

3

4

Име на модула

(отместване).

5

6

Тип на модула  (D, X).

7

Заглавна контролна сума (0-6).

8

Машина на състоянието

(отместване).

9

10

Статус.

11

Време за сканиране x 10ms

(Time_scan).

12

Входен буфер- дължина.

13

Входен буфер

(отместване).

14

15

Изходен буфер – дължина.

16

Изходен буфер

(отместване).

17

. . .

. . .

. . .

. . .

n-2

CRC 16.

На целия модул (0- (n-3)).

n-1

 

 

Фиг.7. Структура на програмния модул на външна драйверна

програма или разширена функция.

 

 

 

2. 2. Команди на Семантичния език.

 

Семантичният език включва команди осигуряващи достъпа до информационната структура на различните разширени функции и външни драйверни програми поддържани от Активните мрежови устройства. Синтаксиса на тези команди е същия, като на командите на Технологичния протокол. Отново се използват външни и вътрешни Семантични команди, като вътрешните се включват в тялото на външните. Същият е и механизма, по който след постъпване в Координатор на някоя автономна безжична мрежа, последния извлича от външна Семантична команда на вътрешна такава и я транспортира по безжичен начин към НОД-овете на тази мрежа.

Основното различие е в начините на интерпретация на Семантичните команди. Докато командите на Технологичния протокол се изпълняват от Интерпретаторът на командите директно, Семантичните команди се интерпретират от вградената логика в разширените функции и външни драйверни програми, които са активни в дадения момент. Интерпретаторът на командите участва в този процес само като регистратор на наличието на постъпила Семантична команда и веднага предава управлението на вградената в нея Машина на състоянията за последваща обработка(конфигурирайки статичните променливи управляващи тази машина). Тези команди взаимодействат с полета от структурата на програмния модул (Фиг. 28.), без да отчитат конкретната семантика( тя се определя от съответните разширени функции и външни драйвери).

 

Външните Семантични команди имат следния синтаксис:

 

                       <N: на безжичната мрежа>:<вътрешна Семантична команда><CR>

 

Изпълнението на външна Семантична команда се извършва на няколко стъпки:

 

1. Координаторът на Главната безжична мрежа извежда по RS485+ кода на командата;

2.   Координаторът на адресираната мрежа получава този код;

3.  Координаторът на адресираната мрежа отделя кода, обозначен като <вътрешна Семантична команда> и го подава към своята мрежа, като вътрешна Семантична команда по съответния радиоканал;

4.   След изпълнението на командата, Координаторът на адресираната мрежа получава рапорт, който се изпраща по RS485+ обратно към Координатора на Главната безжична мрежа. Рапортът е терминиран с NULL. Той може да включва 0 или повече стринга, завършващи с CR.

 

Когато адреса на безжичната мрежа е 0, не се извършва извеждане по RS485+ и направо се формира вътрешна Семантична команда по радиоканала на Главната безжична мрежа.

 

Вътрешните Семантични команди имат общ формат:

 

                  SEM_COMMAND:N=X,Y,Z

N e десетично число, представящо индекс (пореден номер) на Активното мрежово устройство в Базата данни за регистрирани НОД-ове на Координатора. То се използва като адрес на устройството.

X е текстови стринг, съдържащ името (съвпадащо с името на файл в външната FLASH) на съответна Разширена функция или Външна драйверна програма.

Y е текстови стринг (определящ входните параметри на разширената функция или външната драйверна програма).

Z е десетично число (определящ вида на обработката или вътрешен специфичен параметър).

Съществуват две групи вътрешни Семантични команди-Основни и Помощни. Те са имплементирани във всички разширени функции и външни драйвери. Поддържат се от фърмуера на всички Активни мрежови устройства.

 

                        2.3 Списък на вътрешните Семантични команди

 

 

-       Основни Семантични команди.

 

Команда

Функции

SEM_EDRV:N=X,Y,Z

Обръщение към Активно мрежово устройство с индекс N за работа с Външна драйверна програма с име X.

Y – съдържание на входния буфер.

Z – режим на работа:

0 – инициализация;

1 – получаване на статусна информация;

2 – задаване на статусна информация(от поле Y);

3 – получаване на данните от изходния буфер;

4 -  изпращане на данни във входния буфер( от поле Y).

SEM_XFUN:N= X,Y,Z

Обръщение към Активно мрежово устройство с индекс N за работа с разширена функция с име X.

Y – съдържание на входния буфер.

Z – режим на работа:

0 – инициализация;

1 – получаване на статусна информация;

2 – задаване на статусна информация(от поле Y);

3 – получаване на данните от изходния буфер;

4 -  изпращане на данни във входния буфер( от поле Y).

 

Фиг. 8. Вътрешни Семантични команди от група Основни Семантични команди.

 

-       Помощни Семантични команди.

 

 

Команда

Функции

SEM_HEDRV:N=X,Y,Z

Обръщение към Активно мрежово устройство с индекс N за работа с Външна драйверна програма с име X. Машината на състоянията в начално състояние- неактивна (0).

Y – съдържание на входния буфер.

Z – режим на работа:

0 – инициализация на входния буфер. Машината на състоянията в начално състояние- неактивна (0);

1 – получаване на статусна информация Машината на състоянията в начално състояние- неактивна (0);

2 – задаване на статусна информация (от поле Y). Машината на състоянията в начално състояние- неактивна(0);

3 – получаване на данните от изходния буфер. Машината на състоянията в начално състояние- неактивна(0);

4 -  изпращане на данни във входния буфер( от поле Y). Машината на състоянията в начално състояние- неактивна(0).

SEM_HXFUN:N= X,Y,Z

Обръщение към Активно мрежово устройство с индекс N за работа с разширена функция с име X. Машината на състоянията в начално състояние- неактивна (0).

Y – съдържание на входния буфер.

Z – режим на работа:

0 – инициализация на входния буфер. Машината на състоянията в начално състояние- неактивна (0);

1 – получаване на статусна информация Машината на състоянията в начално състояние- неактивна (0);

2 – задаване на статусна информация (от поле Y). Машината на състоянията в начално състояние- неактивна (0);

3 – получаване на данните от изходния буфер. Машината на състоянията в начално състояние- неактивна (0);

4 -  изпращане на данни във входния буфер ( от поле Y). Машината на състоянията в начално състояние- неактивна(0).

SEM_LEDRV:N= ,,Y,Z

Връща списък с имена, съдържащи текст Y(ако текстовия стринг е празен, списъка включва всички имена) на Външни драйверни програми, поддържани от Активно мрежово устройство с индекс N. Ако Z=0, се търси външната памет, в противен случай(Z>=0) само програмния буфер за заредени Външни драйверни програми.

SEM_LXFUN:N= X,Y,Z

Връща списък с имена, съдържащи текст Y(ако текстовия стринг е празен, списъка включва всички имена) на Разширени функции, поддържани от Активно мрежово устройство с индекс N. Ако Z=0, се търси външната памет, в противен случай(Z>=0) само програмния буфер за заредени разширени функции.

SEM_ZEDRV:N=X ,,

Изтрива от програмния буфер за заредени Външни драйверни програми, поддържан от Активно мрежово устройство с индекс N, на Външна драйверна програма с име X.

SEM_ZEFUN:N=X ,,

Изтрива от програмния буфер за заредени Разширени функции, поддържан от Активно мрежово устройство с индекс N, на Разширена функция с име X.

SEM_LDE :N=X,,

Зарежда Външна драйверна програма като файл в директорията на Външните драйверни програми в FLASH.

SEM_LDX :N=X,,

Зарежда Разширена функция като файл в директорията на Разширените функции в FLASH.

 

Фиг. 9. Вътрешни Семантични команди от група  Помощни Семантични команди.

 

След изпълнението на вътрешната Семантична команда, постъпила по канала, реализиран чрез Технологичния слой, последната генерира рапорт за резултата, който се капсулира в последователност от терми и извежда чрез Технологичния слой към Координатора на локалната мрежа. Във случая, когато Семантична команда е постъпила от външно устройство, включено по сериен интерфейс към Активното мрежово устройство, нейния рапорт се капсулира в записи, съответни на на изискванията на външното устройство и извежда към него, използвайки съответен комуникационен драйвер (USB, GPRS). Спазва се принципа, че изпращача на Семантичната команда е получател на съответния рапорт генериран от нея.