Научная статья на тему 'Операционная семантика функциональных блоков IЕС 61499 (часть 2. Циклическая модель выполнения)'

Операционная семантика функциональных блоков IЕС 61499 (часть 2. Циклическая модель выполнения) Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
244
73
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ФУНКЦИОНАЛЬНЫЙ БЛОК / СТАНДАРТ IEC 61499 / ОПЕРАЦИОННАЯ СЕМАНТИКА / АБСТРАКТНЫЙ СИНТАКСИС / ЦИКЛИЧЕСКАЯ МОДЕЛЬ ВЫПОЛНЕНИЯ / КОНФИГУРАЦИЯ / FUNCTION BLOCK / STANDARD IEC 61499 / OPERATIONAL SEMANTICS / ABSTRACT SYNTAX / CYCLIC EXECUTION MODEL / CONFIGURATION

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Дубинин Виктор Николаевич

Международный стандарт IЕС 61499 в области промышленной автоматизации вводит класс систем управления нового поколения, которые характеризуются как разумные реконфигурируемые распределенные компонентно-базированные системы. Стандарт IEC 61499 поддерживает парадигму проектирования на основе функциональных блоков (ФБ). Одной из наиболее важных моделей выполнения ФБ является циклическая модель. Отсутствие точно определенной формальной семантики для циклической модели выполнения может негативно отразиться на качестве проектируемого управляющего программного обеспечения, в частности, это может затруднить проведение верификации и имитационного моделирования систем автоматизации. В работе предлагается синтактико-семантическая модель функциональных блоков стандарта IЕС 61499, действующих в соответствии с циклической моделью выполнения. Определяется общая структура модели, а также работа каждого из модулей. Кроме того, рассматривается формальная модель системной конфигурации и метод ее развертывания, позволяющие понять правила образования систем ФБ на ресурсах и устройствах. Для определения операционной семантики ФБ используется формальная нотация, основанная на модифицированных машинах абстрактных состояний. При этом формальная модель системы ФБ определяет как схему модели, представляющую набор переменных и набор функций для определения значений переменных, так и динамику модели в виде правил изменения этих функций. Особое внимание уделено функционированию составных ФБ и диспетчера, а также взаимосвязи между модулями модели на уровне переменных. Модуль диспетчера определяет порядок запуска ФБ на выполнение и, таким образом, в основном определяет модель выполнения ФБ. Изменение диспетчера автоматически приводит к смене модели выполнения, что позволяет легко изменять семантику ФБ в целом.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Дубинин Виктор Николаевич

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

AN OPERATIONAL SEMANTICS OF IEC 61499 FUNCTION BLOCKS (PART 2. CYCLIC EXECUTION MODEL)

The international standard IEC 61499 in the field of industrial automation introduces a class of the new generation control systems which are characterized as smart reconfigurable distributed component-based ones. This standard supports the design paradigm based on the function blocks (FB). One of the most important FB execution model is the cyclic execution model. The lack of a clearly defined formal semantics for this model can negatively impact on the quality of designed control software, in particular, it may hinder the verification and simulation of automation systems. In this paper a syntactic-semantic model of IEC 61499 function blocks working in accordance with the cyclic execution model is proposed. The complete structure of the model and the functioning of each module are defined. Besides, a formal model of the system configuration and its unfolding algorithm making it possible to understand the rules of FB systems building on resources and devices are considered. For the definition of operational semantics of FB the author uses a formal notation based on modified abstract state machine. At that, the formal model of FB defines both a model's scheme, representing a set of variables and a set of functions for changing variables' values, and the dynamics of the model in the form of rules for changing these functions. The special attention is paid to the functioning of modules of composite FB and dispatcher as well as the interconnection between the modules at the variables level. The dispatcher module determines a start order for the execution of FB and thus mainly defines a FB execution model. A change of the dispatcher automatically alters the FB execution model, thus this makes it easy to change the FB semantics in general.

Текст научной работы на тему «Операционная семантика функциональных блоков IЕС 61499 (часть 2. Циклическая модель выполнения)»

УДК 004.423 : 519.71

В. Н. Дубинин

ОПЕРАЦИОННАЯ СЕМАНТИКА ФУНКЦИОНАЛЬНЫХ БЛОКОВ IEC 61499 (ЧАСТЬ 2. ЦИКЛИЧЕСКАЯ МОДЕЛЬ ВЫПОЛНЕНИЯ)1

Аннотация. Международный стандарт IEC 61499 в области промышленной автоматизации вводит класс систем управления нового поколения, которые характеризуются как разумные реконфигурируемые распределенные компо-нентно-базированные системы. Стандарт IEC 61499 поддерживает парадигму проектирования на основе функциональных блоков (ФБ). Одной из наиболее важных моделей выполнения ФБ является циклическая модель. Отсутствие точно определенной формальной семантики для циклической модели выполнения может негативно отразиться на качестве проектируемого управляющего программного обеспечения, в частности, это может затруднить проведение верификации и имитационного моделирования систем автоматизации. В работе предлагается синтактико-семантическая модель функциональных блоков стандарта IEC 61499, действующих в соответствии с циклической моделью выполнения. Определяется общая структура модели, а также работа каждого из модулей. Кроме того, рассматривается формальная модель системной конфигурации и метод ее развертывания, позволяющие понять правила образования систем ФБ на ресурсах и устройствах. Для определения операционной семантики ФБ используется формальная нотация, основанная на модифицированных машинах абстрактных состояний. При этом формальная модель системы ФБ определяет как схему модели, представляющую набор переменных и набор функций для определения значений переменных, так и динамику модели в виде правил изменения этих функций. Особое внимание уделено функционированию составных ФБ и диспетчера, а также взаимосвязи между модулями модели на уровне переменных. Модуль диспетчера определяет порядок запуска ФБ на выполнение и, таким образом, в основном определяет модель выполнения ФБ. Изменение диспетчера автоматически приводит к смене модели выполнения, что позволяет легко изменять семантику ФБ в целом.

Ключевые слова: функциональный блок, стандарт IEC 61499, операционная семантика, абстрактный синтаксис, циклическая модель выполнения, конфигурация.

V. N. Dubinin

AN OPERATIONAL SEMANTICS OF IEC 61499 FUNCTION BLOCKS (PART 2. CYCLIC EXECUTION MODEL)

Abstract. The international standard IEC 61499 in the field of industrial automation introduces a class of the new generation control systems which are characterized as smart reconfigurable distributed component-based ones. This standard supports the design paradigm based on the function blocks (FB). One of the most important FB execution model is the cyclic execution model. The lack of a clearly defined formal semantics for this model can negatively impact on the quality of designed control software, in particular, it may hinder the verification and simulation of automation

1 Работа выполнена в рамках федеральной целевой программы «Научные и научнопедагогические кадры инновационной России» на 2009-2013 гг.

systems. In this paper a syntactic-semantic model of IEC 61499 function blocks working in accordance with the cyclic execution model is proposed. The complete structure of the model and the functioning of each module are defined. Besides, a formal model of the system configuration and its unfolding algorithm making it possible to understand the rules of FB systems building on resources and devices are considered. For the definition of operational semantics of FB the author uses a formal notation based on modified abstract state machine. At that, the formal model of FB defines both a model's scheme, representing a set of variables and a set of functions for changing variables' values, and the dynamics of the model in the form of rules for changing these functions. The special attention is paid to the functioning of modules of composite FB and dispatcher as well as the interconnection between the modules at the variables level. The dispatcher module determines a start order for the execution of FB and thus mainly defines a FB execution model. A change of the dispatcher automatically alters the FB execution model, thus this makes it easy to change the FB semantics in general.

Key words: function block, standard IEC 61499, operational semantics, abstract syntax, cyclic execution model, configuration.

Введение

Международный стандарт IEC 61499 в области промышленной автоматизации вводит класс систем управления нового поколения [1]. Это разумные реконфигурируемые распределенные компонентно-базированные системы. Стандарт IEC 61499 поддерживает парадигму проектирования на основе функциональных блоков (ФБ). Эта парадигма вобрала в себя черты компонентного, объектноориентированного и автоматного подходов к проектированию и программированию сложных управляющих систем.

Стандарт IEC 61499 определяет абстрактную модель ФБ, допускающую различные интерпретации. Для того чтобы поведение приложения было полностью определено, необходимо задать так называемую модель выполнения ФБ - набор правил, регламентирующих порядок выполнения сети ФБ на ресурсе и устройстве. Модель выполнения должна по максимуму перевести недетерминированную по своей природе модель ФБ в плоскость детерминизма. Было предложено несколько моделей выполнения ФБ, среди которых циклическая, синхронная (параллельная), последовательная и NPMTR-модель [2].

Циклическая модель выполнения является одной из трех моделей, предложенных консорциумом O3NEIDA для стандартизации [3]. Она также является единственной моделью, принятой в широко известной системе программирования ПЛК ISaGRAF [4]. Суть циклической модели выполнения ФБ заключается в том, что ФБ выполняются последовательно друг за другом в заранее определенном порядке. Существует несколько вариантов циклической модели, например, в зависимости от того, учитывается ли при запуске ФБ наличие сигналов на его входах.

До настоящего времени не разработано общепринятой формальной семантики ФБ. Краткий обзор работ по этому направлению можно найти в работе [5], где предлагается так называемая модульная формальная модель операционной семантики ФБ (ФМОСФБ), представляющая модифицированную машину абстрактных состояний (МАС), которая используется в дальнейшем в качестве формальной нотации. При этом формальная модель системы ФБ

определяет как схему модели, представляющую набор переменных и набор функций для изменения значений переменных, так и динамику модели в виде правил изменения этих функций. С помощью ФМОСФБ определены: 1) операционная семантика ФБ, функционирующих в рамках модели выполнения на основе последовательной гипотезы [6] и двухтактной синхронной модели выполнения [7, 8]; 2) операционная семантика базисных ФБ [9], пригодная для многих моделей выполнения. В работе [10] предлагается подход к определению операционной семантики ФБ, основанной на системах переходов состояний (СПС), для циклической модели выполнения. Недостатком данного подхода является семантический разрыв между иерархическим модульным представлением систем ФБ и «плоским» представлением СПС.

В данной работе предлагается операционная семантика ФБ, функционирующих в соответствии с циклической моделью выполнения, основанная на использовании нотации ФМОСФБ.

Конфигурация системы 5 (далее просто система 5) в стандарте ІЕС 61499 определяется следующим кортежем:

где D = (а?1,^2,...,dND} - конечное непустое множество конфигураций

устройств (далее просто устройств), входящих в систему s; DT = (dt[,dt2,...,dtNDT} - конечное, возможно пустое, множество типов

устройств, используемых в системе s; dtype: D^DT и {none} - функция, назначающая устройствам тип устройств; RT = {rft, rt2,..., rtN } - конечное,

RT

возможно пустое, множество типов ресурсов, используемых в системе s; FBT = {fbu, fbt2,..., fbtN } - конечное непустое множество типов ФБ, ис-

FBT

пользуемых в системе s; SAT = {sat[,sat2,...,satNSAT } - конечное, возможно

пустое, множество типов субприложений, используемых в системе s; A = {a1,a2,...,aNA } - конечное, возможно пустое, множество приложений системы S; fbmap: FB ^ FBS - отображение ФБ приложений на ФБ устройств и ресурсов. Здесь под FB понимаются все ФБ, входящие в состав приложений и всех (рекурсивно) вложенных в него субприложений; SG - множество сегментов локальной вычислительной сети (ЛВС), на которых выполняются приложения; rmap: RS ^ SG - функция распределения ресурсов системы s по сегментам ЛВС. Если все ресурсы некоторого устройства относятся к одному и тому же сегменту, то считается, что все устройство в целом относится к этому сегменту.

Устройство di е D определяется следующим образом:

1. Системная конфигурация

s = (D, DT, dtype, RT, FBT, SAT, A, fbmap, SG, rmap),

где Rdi = {rd ,rd ,...,r^ } - конечное непустое множество ресурсов, входя -

Rdi

щих в состав устройства dt е D ; rtypedi : Rdi ^ RT и {none} - функция,

ставящая в соответствие ресурсам устройства е О тип ресурса; -

сеть ФБ, размещенная на устройстве е О .

Тип устройства Ж^ е ОТ определяется практически так же, как и устройство:

, I _dt.■ dt,- —-....dti _ dt,- \

dtj = I R 1, rtype 1, FBN 1, Par 1 ).

В данном случае дополнительный компонент кортежа Pardt] определяет множество параметров типа устройства dt, е DT. Каждый параметр есть

некоторая константа определенного типа, подаваемая на какой-либо информационный вход сети ФБ FBNdt] .

Ресурс r е R определяется только своей сетью ФБ:

rt = (FBNri).

Тип ресурса rtj е RT задается двойкой:

rtj =iyFBNrtj,Par*1 rtj

где Par 1 - множество параметров типа ресурса rtj е RT .

Сеть ФБ FBN в общем виде определяется кортежем

FBN = (FB, fbtype, EvConn, DataConn),

где FB - непустое множество компонентных ФБ сети FBN; fbtype: FB ^ FBT -функция, назначающая компонентным ФБ тип ФБ; EvConn - непустое множество событийных связей сети ФБ FBN; DataConn - непустое множество информационных связей сети ФБ FBN.

Все множество типов ФБ делится на три класса (сорта):

FBT = BFBT и CFBT и SIFBT; BFBT n CFBT n SIFBT = 0,

где BFBT, CFBT и SIFBT - множества типов базисных, составных и сервисных интерфейсных ФБ соответственно.

2. Развертывание системной конфигурации

Изначально в соответствии со стандартом IEC 16499 система управления представляется в «свернутом» виде, скорее, на уровне типов, чем на уровне экземпляров. Для имитационного моделирования системы управления, ее исследования, а также интерпретации в режиме реального времени (для управления реальными объектами) требуется представление системы на уровне экземпляров. Назовем процесс перехода от системы типов к системе экземпляров в IEC 61499 развертыванием системной конфигурации. Развертывание системной конфигурации включает: 1) развертывание ресурсов и устройств; 2) развертывание ФБ-подобных элементов, под которыми будем понимать составные ФБ, субприложения, приложения, а также сетей ФБ, ис-

пользуемых на ресурсах и устройствах. Следует отметить, что эти два типа развертываний существенно различаются.

Общий алгоритм развертывания системной конфигурации: procedure unfoldSys(s) do forall di є D dtj=dtype(di)

RedXd = Rdi u Rdt}

FBNdeXt = FBNdi u FBNdtj

do foa rkє Rit

rtm=rtype(rk)

FBNfXa = FBNrk u FBNrtm

unfoldFB( FBNrJXt)

end forall end forall end procedure

Здесь объекты с нижним индексом ext есть исходные объекты (без этого индекса), расширенные в результате развертывания. В соответствии с приведенным алгоритмом развертывание устройства сводится к «миграции» всех ресурсов из типа устройства в множество ресурсов собственно устройства, а также объединению сетей ФБ, определенных в устройстве и в соответствующем ему типе устройства. Развертывание ресурса включает только добавление сети ФБ, принадлежащей типу ресурса, к сети ФБ, расположенной на самом ресурсе. Дальнейший этап развертывания включает развертывание всех сетей ФБ, расположенных на ресурсах, а также развертывание приложений (если таковые имеются).

Развертывание ФБ, приложений и субприложений подробно рассмотрено в [ll].

3. Функциональная структура операционной модели составного ФБ

На рис. l приведена функциональная структура операционной модели составных ФБ (а также субприложений) для циклической модели выполнения, реализованной с использованием иерархически связанных диспетчеров [5].

На рис. l используются следующие обозначения: bfb\, ... ,bfbn - модели базисных ФБ; cfb\, ., cfbm - модели составных ФБ; disp - модель диспетчера. Как видно, для удобства и наглядности модель диспетчера включена в состав модели ФБ. На рис. l приведены только те входы-выходы и связи, которые влияют на порядок выполнения ФБ.

В циклической модели выполнения (рис. l) при получении ФБ стартового сигнала а производятся следующие действия: l) передвижение сигналов с входов модуля ФБ на входные переменные компонентных ФБ; 2) поочередный запуск всех компонентных ФБ диспетчером; 3) передвижение сигналов между компонентными ФБ и передача сигналов с выходов компонентных ФБ на выходы модуля ФБ; 4) формирование сигнала окончания р.

Рис. 1. Структура операционной модели составных ФБ для циклической модели выполнения

В предложенной модели организации вычислений с использованием иерархической системы диспетчеров в каждом составном ФБ порядок межу-ровневых передач можно варьировать, изменяя порядок выполнения действий на уровне модуля ФБ. Для того чтобы обеспечить «правильную» передачу сигналов с блоков верхнего уровня на блоки нижнего уровня и в обратную сторону, в каждом модуле ФБ необходимо производить передвижение сигналов с входов модуля в начале, а выдачу сигналов на выходы -в самом конце работы модуля.

4. Модель составного функционального блока определения схемы модели

Модуль (или модель) составного ФБ (МСФБ) может быть представлена формально следующим образом:

Me = (Syntc, SemC),

где Syntc - синтаксическая часть описания (на уровне абстрактного синтаксиса); SemcС - семантическая часть описания.

Синтаксическая часть описания МСФБ определяется четверкой:

Syntc = (Interface, FB, EvConn, DataConn),

где Interface - интерфейс составного ФБ (аналогичен интерфейсу базисного ФБ [9]); FB = {fi, fby,..., fb-м } - множество компонентных ФБ, входящих

FB

в составной ФБ, fb1 = (Interface1, fbt), i e [1, Nfb ], где Interface1 = (EI, EO1, VI,

VO1) - интерфейс компонентного ФБ. В данный интерфейс входят: EI и EO1 -множества входных и выходных событийных переменных; VI и VO - множества входных и выходных переменных -го компонентного ФБ, соответственно; fbt - тип 1 -го компонентного ФБ.

EvConn с

связей;

Г nfb "л nfb "Л

EI и U EO' x EO и U EI' i=1 у V i=1

Г NFB Л Nfb nfb

- множество событийных

DataConn с 'VI u ^ VO1 X ^ VIi и ^ VOi X VO - множество ин-V i=1 у i=1 i=1

формационных связей. Причем для информационных связей должно выполняться следующее условие:

V(p, t),(q, u) e EvConn[(t = u) ^ (p = q)] .

Иными словами, к одному информационному входу нельзя подключить более одного информационного выхода. При использовании событийных связей подобных топологических ограничений на структуру не накладывается, поскольку подразумевается неявное использование блоков E SPLIT и E MERGE для расщепления и слияния событий соответственно.

Семантическая часть описания МСФБ определяется тройкой:

SemC =[vRTq ,TS,DC),

где VRT(C - набор переменных и условий времени выполнения составного

С с

ФБ; Тс - набор функций переходов МСФБ; Бс - диспетчер, определяющий

порядок выполнения компонентных ФБ внутри родительского составного ФБ в соответствии с циклической моделью выполнения.

Набор переменных и условий времени выполнения определяется кортежем

VRTс = (ИБ, VOB, ЕББС, ю, а, в),

где VIB, VOB, а, в имеют тот же смысл, что и в модуле базисного ФБ (МБФБ) [9]; ю:

Л

=U EO,

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

ZEO (eoj ) л

л

eijЄEI

Zei (eij) - условие окончания передач

сигналов в составном ФБ; ЕББ = {Аъё^]Ъё2,...,^Ъё^рв } - множество дополнительных (семантических) описаний компонентных ФБ, входящих в состав составного ФБ; ЕБ ^ ЕББ0, ^Ъё,= (а,, в), где а, - переменная запуска і-го компонентного ФБ; в, - переменная окончания работы і-го компонентного ФБ.

Набор функций переходов МСФБ определяется как

ТС = ( Е ,(іЕҐ , (ЕОг , ІЕ°,Іуі, Іу°Б ),

где tEI; :[Zа ]x

N

FB

UZ

i=1

EO

X [Zei ] ^ [Zei ] - функция установки входных со-

бытийных переменных і-го компонентного ФБ; Е Л^ЕІ] х [^а] ^ [^ЕІ] -функция сброса входных событийных переменных модуля (в результате пе-

редачи сигналов); t^^o' [Zeo’ \ ^ [Zeo’ \ - функция сброса выходных собы-

тийных переменных ’-го компонентного ФБ; tEo :

Nf

и Z

i=1

EOо

X [Zei \ ^ [Zeo \ -

функция установки выходных событийных переменных модуля (в результате передачи сигналов на его выходы); tVI. [2а] X [2пв] X [2Е1] ^ [2^] - функция изменения входных переменных (в результате съема данных);

tVOB :

Nfb U ZVO' X [Zei \X Nfb U ZEOо

i=1 i=1

^ [ZvOB \ - функция изменения выход-

ных буферов (в результате выдачи данных).

Определение динамики модели

Ниже кратко представлены правила функционирования составного ФБ в рамках некоторой типичной последовательной модели выполнения, в которой выбор активного ФБ определяется как функция признаков завершения выполнения ФБ. К данному типу моделей выполнения относится, например, циклическая модель. При выполнении МСФБ будем считать, что все действия по передаче сигналов и данных между компонентными ФБ между собой, а также внешней средой производятся мгновенно, точнее - за один логический такт времени. В том числе одновременно производится съем данных в отношении тех событийных входов, на которых стоят сигналы. Это так называемый «синхронный съем данных». Таким образом, в отличие от базисного ФБ, в данном случае обрабатываются все входные сигналы. Тем не менее это не отвергает возможность использования других дисциплин выбора и обработки входных сигналов, в том числе приоритетных. Передача сигналов и данных на выходы ФБ в данном случае не требует наличия сигнала запуска

а. То есть здесь при передаче данных используется принцип «горячей картошки», в соответствии с которым сигналы передаются дальше сразу, как только они появляются. Следует, однако, заметить, что эти опции являются вариативной частью и могут изменяться от одной модели выполнения к другой. В то же время для передачи сигналов и данных с входов ФБ необходим сигнал запуска ФБ.

Функция передачи сигналов на входы у-го компонентного ФБ (функция tEJj) может быть определена следующим образом.

(

{рСЕС [k\: Zа (а) а

V ZEI (eim) V V Z

eim єЕІ, eoX^EOX,

(eim ,e’k y^EvConn (eon ,eik }^EvConn

EO

^ ZEIJ (e’k) ^ true I e’k є EIJ }, j = 1, NFb ,

где eik - k-я входная событийная переменная j-го компонентного ФБ.

В соответствии с данным правилом входная событийная переменная компонентного ФБ устанавливается в единицу, если в единицу установлена

хотя бы одна событийная переменная, связанная с данной событийной переменной событийной связью.

Похожим образом может быть определена функция передачи сигналов на выходы МСФБ (функция (ЕО):

Функция съема данных МСФБ (функция (У]) может быть реализована с помощью следующего семейства правил:

Функция выдачи данных МСФБ (функция ґУов) может быть задана следующими правилами:

Здесь в качестве аргумента функции ХУО используется не выходная переменная из множества УО, а ее представитель. Целью данной подмены является минимизация числа переменных без потери корректности, что подробнее объяснено ниже.

Функции сброса источников сигналов могут быть представлены следующими правилами:

Диспетчер для циклической модели выполнения в общем виде определяется в виде тройки:

менных диспетчера. Предполагаем, что диспетчер выполняется синхронно с родительским ФБ.

{РЮ ,1[k]: V ZEI (eim ) v

V' ZE0X (eon ) ^

eo^E0X,

(eon ,eok '^EvConn

e^EI,

(eim ,eok )^EvConn

^ Zeo (eok) ^ true | eok є EO} .

ZEI (eik ) ^ ZVI (vim ) ^ ZVIB (vibm ) 1 vim є VI} .

eikЄEI,

(eik ,vim )єІW

(eok ,vobm )eOW єі^єЕІ ,

(eij ,eok '^EvConn

eo^E0X,

(eoX ,eok )є EvConn

/

^ ZvOB (vobm ) ^ Zvo (reprvo (vom )) I vobm Є VOB} .

{PCf,1 [ j]: Za (а) л ZEI (eij ) ^ Zei (eij) ^ false I eij є EI};

{pCE/ [k]: ZE0j (eok) ^ ZE0j (eok) ^ false I eok є E0 }, j =1, nfb .

5. Модель диспетчера

Dc =

С с

где Ур - множество переменных диспетчера; Тр - множество функций пеС 0

реходов диспетчера; 2^ - множество функций начальных значений пере-

Множество переменных «циклического» диспетчера определяется как

VD = Р> (аг )г-=1,nnf ’(p W,Nfb ) ’

где а - входная переменная запуска подсистемы (составного ФБ или субприложения) с верхнего уровня; в - выходная переменная окончания выполнения контролируемой сети ФБ; (а,- )=rN— _ выходные переменные запуска ком-

i=1, N NF

понентных ФБ, входящих в контролируемую сеть ФБ; (в,). =jn— - входные

переменные окончания выполнения компонентных ФБ контролируемой сети ФБ.

Начальные значения всех переменных равны false.

Функции переходов циклического диспетчера определяются в виде

к°ртежа 7% = (ta, tp ,(ta, )i=1,NFB ,(tP, ^ Где *а : [ZPNfb ] ^ [Za] - функ-

ция сброса переменной запуска подсистемы; ta :[ZpN ] ^ [Zp ] - функция

установки переменной окончания выполнения подсистемы; tai :[Za ] ^ [Zai ]

и ta :[Zp. 1] ^ [Za. ], i = 2,Nfb - функции установки переменных а,;

Гр. : [Zp. ] ^ [Zp. ], i = 1,Nfb - функции сброса переменных р,.

Функционирование циклического диспетчера промежуточного уровня определяется следующими правилами:

Pf,1 : Za (а) ^ Zai (ai) ^ true ;

{Рс^’С 2 [i]: Zp,-1 (pi-1) ^ Zai (ai) ^ true Ii = 2, NFB } ;

{pDi C Др]: Zp, (pi) ^ Zp, (pi) ^ false | i = 1^};

Pp^ Д : Zpnfb (pNfb ) ^ Zp (p) ^ true ; pC,C Д : ZpNFB (pNfb ) ^ Zc (а) ^ false .

Следует отметить, что номер i определяет порядок выполнения ФБ, поэтому перед началом моделирования блоки должны быть упорядочены и им должны быть присвоены порядковые номера.

В отличие от диспетчера промежуточного уровня, диспетчер верхнего уровня является независимым от других диспетчеров. Как только будет выполнен последний ФБ в списке главного диспетчера, он приступает к выполнению первого блока этого списка. Данный процесс повторяется циклически. Модель главного диспетчера определяется аналогично модели диспетчера промежуточного уровня, но в ней отсутствуют переменные а и p, а также функции их модификации.

Правила функционирования главного диспетчера включают правила

DC 2 DC 1

Ра’ ’ [i], Pp ’ ’ [i], а также правило

а, p,

Взаимосвязь модулей ФБ осуществляется через общие (интерфейсные) переменные. Одна и та же переменная может использоваться как в родительском, так и в дочернем модуле. Однако локализация переменной должна быть только в одном модуле, за границами модуля эта же переменная будет использоваться в качестве параметра. Таким образом, для связи модулей используется механизм передачи параметров.

Важным элементом взаимодействия модулей является передача значений переменных, представляющих данные. При выборе оптимальной схемы буферирования можно минимизировать число межмодульных передач данных. При этом возможно избежать прямых передач данных между компонентными ФБ, а также между интерфейсом составного ФБ и компонентными ФБ. Для этого предлагается использовать в качестве точек буферирования переменные из множеств УО1 (для компонентных базисных и составных ФБ) и множества У1 (для составных ФБ).

На рис. 2 схематично представлены основные переменные, используемые в МБФБ и МСФБ, а также их взаимосвязи. На рис. 2 сплошными окружностями обозначены реальные переменные, а пунктирными - параметры. Взаимосвязи реальных переменных и параметров показаны двунаправленными пунктирными стрелками, а передачи значений переменных - сплошными стрелками.

6. Взаимосвязь модулей функциональных блоков

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

о-о

eOk eok

т

ynh

VOt

vi,„ (vo„“) vih.

vib,

v-O

t'

Рис. 2. Переменные МБФБ (сверху) МСФБ (снизу)

Для формального согласования работы МБФБ и МСФБ в принятой системе буферирования необходимо использовать операцию отождествления переменных, используемых в соседних модулях ФБ. Введем функцию repry], позволяющую определить представителей входных переменных компонентов , nfb

ных ФБ в МСФБ: repry] : У VI ^ VI u У VOi . Как видно из описания,

i=1 i=1

входные переменные компонентных ФБ отождествляются с входными переменными самого составного ФБ или выходными переменными внутренних компонентных ФБ.

Введем функцию reprVO, определяющую представителей выходных пе-

nfb

ременных МСФБ: repryo : VO ^ У VO1 . Выходные переменные составного

i=1

ФБ отождествляются с выходными переменными компонентных ФБ. Таким образом, физически выходные переменные составных ФБ не существуют.

Имеют место следующие взаимно однозначные соответствия между переменными i-го компонентного ФБ и соответствующего ему модуля х:

EIt ^ EF; EOi ^ EOx; VO, ^ VOBx; У reprVI (vi) ^ VIBx .

у^Иг

Заключение

В данной работе рассмотрена формальная (на уровне абстрактного синтаксиса) модель системной конфигурации и алгоритм ее развертывания, позволяющие понять на системном уровне правила образования систем ФБ на ресурсах и устройствах, используемых в дальнейшем для интерпретации. Предложена синтактико-семантическая модель ФБ, функционирующих в рамках циклической модели выполнения, причем акцент сделан на работе составных ФБ и диспетчера, описывается взаимосвязь между модулями модели на уровне переменных. Модель базисного ФБ была представлена ранее в [9]. Успешный опыт использования нотации ФМОСФБ [6-9] позволяет рекомендовать ее в качестве унифицированного аппарата для описания операционной семантики ФБ.

Список литературы

1. International Standard IEC 61499. Function blocks for industrial-process measurement and control systems. Part 1: Architecture // International Electrotechnical Commission. -Geneva, 2005. - 111 p.

2. Vyatkin, V. The IEC 61499 Standard and its Semantics / V. Vyatkin // IEEE Industrial Electronics Magazine - 2009. - V. 3, Issue 4. - P. 40-48.

3. IEC 61499 Compliance Profile: Execution Models of IEC 61499 Function Block Applications, draft in progress. URL: http://www.oooneida.org/standards_development_ Compliance_Profile.html, 2009.

4. ICSTriplex ISaGRAF Workbench for IEC 61499/61131. - V. 6. - URL: http://www.isagraf.com.

5. Вашкевич, Н. П. Вопросы разработки операционной семантики функциональных блоков IEC 61499 / Н. П. Вашкевич, В. Н. Дубинин // Программные системы и вычислительные методы. - 2012. - № 1. - С. 10-16.

6. Вашкевич, Н. П. Формализованное описание последовательной модели выполнения функциональных блоков / Н. П. Вашкевич, В. Н. Дубинин, В. В. Вяткин // Вычислительные системы и технологии обработки информации : межвуз. сб. науч. тр. - Вып. 10. - Пенза, 2011. - С. 45-61.

7. Дубинин, В. Н. Операционная семантика синхронных функциональных блоков IEC 61499 на основе машин абстрактных состояний. Часть 1: Модель диспетчеров / В. Н. Дубинин, В. В. Вяткин // XXI век: итоги прошлого и проблемы настоящего Плюс. - Пенза, 2012. - Вып. 4. - С. 233-240.

8. Дубинин, В. Н. Операционная семантика синхронных функциональных блоков IEC 61499 на основе машин абстрактных состояний. Часть 2: Модели блоков и представление в SMV / В. Н. Дубинин, В. В. Вяткин // Современные информационные технологии : тр. Междунар. науч.-техн. конф. - Вып. 14. - Пенза, 2011. -С. 94-100.

9. Дубинин, В. Н. Операционная семантика функциональных блоков IEC 61499. (Часть 1. Модель базисного блока) / В. Н. Дубинин // Известия высших учебных заведений. Поволжский регион. Технические науки. - 2012. - № 4. - С. 37-48.

10. Дубинин, В. Н. Верификация приложений IEC 61499 на основе метода Model Checking / В. Н. Дубинин, В. В. Вяткин // Известия высших учебных заведений. Поволжский регион. Технические науки. - 2011. - № 3. - C. 44-55.

11. Dubinin, V. On Definition of a Formal Semantic Model for IEC 61499 Function Blocks / V. Dubinin, V. Vyatkin // EURASIP Journal on Embedded Systems. - 2008. -V. Article ID 426713. - P. 10.

References

1. International Standard IEC 61499. Function blocks for industrial-process measurement and control systems. Part 1: Architecture. International Electrotechnical Commission. -Geneva, 2005, 111 p.

2. Vyatkin V. IEEE Industrial Electronics Magazine. 2009, vol. 3, Issue 4, pp. 40-48.

3. IEC 61499 Compliance Profile: Execution Models of IEC 61499 Function Block Applications, draft in progress. available at: http://www.oooneida.org/

standards_development_Compliance_Profile.html, 2009.

4. ICSTriplex ISaGRAF Workbench for IEC 61499/61131. vol. 6. available at: http://www.isagraf.com.

5. Vashkevich N. P., Dubinin V. N. Programmnye sistemy i vychislitel’nye metody [Program systems and computing methods]. 2012, no. 1, pp. 10-16.

6. Vashkevich N. P., Dubinin V. N., Vyatkin V. V. Vychislitel’nye sistemy i tekhnologii

obrabotki informatsii: mezhvuz. sb. nauch. tr. [Computing systems and technologies of data processing: interuniversity collected papers]. no. 10. Penza, 2011,

pp. 45-61.

7. Dubinin V. N., Vyatkin V. V. XXI vek: itogi proshlogo i problemy nastoyashchego Plyus [21st century: achievements of the past and the problems of the present Plus]. no.

4. Penza, 2012, pp. 233-240.

8. Dubinin V. N., Vyatkin V. V. Sovremennye informatsionnye tekhnologii: tr. Mezhdu-nar. nauch.-tekhn. konf [Modern information technologies: proceedings of the International scientific-technological conference]. no. 14. Penza, 2011, pp. 94-100.

9. Dubinin V. N. Izvestiya vysshikh uchebnykh zavedeniy. Povolzhskiy region. Tekhnich-eskie nauki [University proceedings. Volga region. Engineering sciences]. 2012, no. 4, pp. 37-48.

10. Dubinin V. N., Vyatkin V. V. Izvestiya vysshikh uchebnykh zavdeniy. Povolzhskiy region. Tekhnicheskie nauki [University proceedings. Volga region. Engineering sciences]. 2011, no. 3, pp. 44-55.

11. Dubinin V., Vyatkin V. EURASIP Journal on Embedded Systems. 2008, vol. Article ID 42б713, p. 10.

E-mail: victor_n_dubinin@yahoo.com

УДК 004.423 : 519.71 Дубинин, В. Н.

Операционная семантика функциональных блоков IEC 61499 (Часть 2. Циклическая модель выполнения) / В. Н. Дубинин // Известия высших учебных заведений. Поволжский регион. Технические науки. -

Дубинин Виктор Николаевич

кандидат технических наук, доцент, кафедра вычислительной техники, Пензенский государственный университет (г. Пенза, ул. Красная, 40)

Dubinin Viktor Nikolaevich

Candidate of engineering sciences, associate

professor, sub-department of computer

science, Penza State University

(Penza, 40 Krasnaya str.)

2013. - № 2 (2б). - С. 45-58.

i Надоели баннеры? Вы всегда можете отключить рекламу.