Научная статья на тему 'Формализация моделей выполнения функциональных блоков IEC 61499'

Формализация моделей выполнения функциональных блоков IEC 61499 Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
337
89
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ФУНКЦИОНАЛЬНЫЙ БЛОК / СТАНДАРТ IEC 61499 / МОДЕЛЬ ВЫПОЛНЕНИЯ / КЛАССИФИКАЦИЯ / ФОРМАЛИЗАЦИЯ / СЕМАНТИКА / ФУНКЦИЯ ВОЗБУЖДЕНИЯ / FUNCTIONAL BLOCK / STANDARD IEC 61499 / EXECUTION MODEL / CLASSIFICATION / FORMALIZATION / SEMANTICS / EXCITATION FUNCTION

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

Рассматривается формализованное представление моделей выполнения функциональных блоков международного стандарта IEC 61499 на основе функций возбуждения функциональных блоков, построенных с использованием предикатов и функций времени выполнения. Предлагается расширенный набор моделей выполнения функциональных блоков, включающий как традиционные модели, так и нетрадиционные. Освещаются вопросы обработки входных событий в моделях выполнения.

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

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

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

Текст научной работы на тему «Формализация моделей выполнения функциональных блоков IEC 61499»

УДК 004.423.4

В. Н. Дубинин, В. В. Вяткин

ФОРМАЛИЗАЦИЯ МОДЕЛЕЙ ВЫПОЛНЕНИЯ ФУНКЦИОНАЛЬНЫХ БЛОКОВ IEC 614991

Аннотация. Рассматривается формализованное представление моделей выполнения функциональных блоков международного стандарта IEC 61499 на основе функций возбуждения функциональных блоков, построенных с использованием предикатов и функций времени выполнения. Предлагается расширенный набор моделей выполнения функциональных блоков, включающий как традиционные модели, так и нетрадиционные. Освещаются вопросы обработки входных событий в моделях выполнения.

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

Abstract. The article consideres a formalized representation of IEC 61499 functional blocks execution models based on functional blocks excitation functions built using run-time predicates and functions. The authors suggest an extended set of execution models including both conventional models and unconventional ones. The article also deals with questions of input event processing in the execution models.

Key words: functional block, standard IEC 61499, execution model, classification, formalization, semantics, excitation function.

Введение

Современным тенденциям развития систем промышленной автоматики наиболее полно соответствует международный стандарт IEC 61499, определяющий путь построения распределенных компонентно-базированных систем управления промышленными процессами на основе функциональных блоков (ФБ) [1]. Широкое распространение стандарта сдерживается наличием в нем так называемых «семантических дыр» [2]. Одной из особенностей предложенной в стандарте семантики ФБ является недетерминированность модели ФБ. Это может привести к тому, что одно и то же приложение будет выполняться по-разному на различных платформах. Для решения проблемы недетерминизма ФБ были предложены модели выполнения ФБ. В настоящее время наибольшее признание получили три модели выполнения: циклическая, синхронная и последовательная [2-4].

Существует два пути реализации систем управления на основе ФБ с учетом сложившихся реалий:

1) с ориентацией на конкретную среду выполнения, поддерживающую одну из моделей выполнения (рис. 1,а);

2) на основе универсальной среды выполнения ФБ.

При этом для задания конкретной модели выполнения используется специальная управляющая информация для интерпретации ФБ (рис. 1,б).

Первый подход нашел наибольшее распространение на практике. В настоящее время существует множество сред выполнения с собственными моделями выполнения.

1 Работа выполнена в рамках аналитической ведомственной целевой программы «Развитие научного потенциала высшей школы (2009-2010 годы)», № гос. регистрации НИР 01200952061.

а) б)

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

Среди наиболее известных можно выделить следующие системы: РВБК/РВЯТ, БВепоЬ, 4БІАС/РОЯТЕ, СОЯБИ-РВВК, КаОЯАР, пхСопЦ-оі, |іСгоп8, БИВЕЯ и СЕС. Второй подход является более универсальным и гибким, в нем отсутствует жесткая привязка к конкретной среде выполнения или платформе. Однако в данном случае производителями управляющего программного обеспечения должна обеспечиваться поставка как самой системы ФБ, так и закодированной определенным образом модели выполнения. Таким образом, здесь просматривается концепция аннотированного (моделью выполнения) управляющего приложения. Одним из вариантов для представления модели выполнения является использование концепции параметризации [5]. Другой вариант, предлагаемый в данной работе, основан на формульном задании моделей выполнения. Данный подход открывает возможность формирования практически любой модели выполнения, включая все известные. Достигаемая гибкость в формировании моделей выполнения позволит, например, задать повышенный приоритет для определенного пути прохождения критического сигнала при определенных условиях. Кроме того, этот механизм дает возможность условно исключать и включать ФБ в процесс планирования, что является очень полезной опцией при проектировании реконфигурируемых систем. Но, несмотря на очевидные преимущества, второй подход на практике пока не используется. Это можно объяснить рядом причин, в числе которых сложность метода и потеря быстродействия из-за накладных затрат на интерпретацию.

В настоящее время работы по формальному представлению моделей выполнения ФБ как отдельной области исследования практически отсутствуют. Наиболее близкими работами по этой тематике являются: статья [6], в которой описана параллельная асинхронная модель выполнения ФБ, причем в качестве гранулы выполнения выбран ЕС-переход; статья [3], в которой предложено использование динамически изменяемых приоритетов как основы для определения порядка выполнения ФБ; работа [4], посвященная описанию семантики синхронной модели выполнения.

Формальное представление моделей выполнения может служить основой для построения интерпретаторов ФБ, составляющих ядро среды выполнения ФБ. Совокупность «модель ФБ + модель выполнения ФБ» представляет собственно модель системы управления, которую можно использовать для верификации.

1. Классификация моделей выполнения ФБ

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

Рис. 2. Классификация моделей выполнения ФБ (по режимам выполнения)

Как видно из рис. 2, все модели по режиму выполнения можно разделить на последовательные и параллельные, последние, в свою очередь, делятся на синхронные, асинхронные и синхронно-асинхронные. Следует отметить, что существуют и другие классификационные признаки [5]. В дальнейшем для определенности примем за гранулу выполнения функциональный блок.

Для удобства пояснения моделей выполнения введем понятие (дискретного) модельного времени. Можно считать, что работа в последовательной и синхронной моделях тактируется некоторым абстрактным внешним генератором. В один и тот же момент модельного времени могут одновременно выполняться несколько гранул, но в реальном времени они могут выполняться как последовательно (псевдопараллельное выполнение), так и параллельно. В последовательных моделях выполнения в каждый модельный момент времени выполняется ровно один ФБ, а в синхронных - несколько ФБ.

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

2. Формализованное определение моделей выполнения

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

Предварительно введем ряд определений.

FB = {fb1,fb2, ...,fbn} - множество ФБ, входящих в систему и подлежащих исполнению.

El = [ei\, ei2, ..., eik} - множество событийных входов блока fbj. В дальнейшем для простоты верхний индекс будет опускаться.

ZEI: EI ^ {0,1} - функция значений входных событийных переменных. Если EI(eij) = і, то входная событийная переменная eij установлена (иными словами, сигнал присутствует на входе), иначе - сброшена;

Предикат activeFB: FB ^ {true, false} определяет ФБ, являющиеся активными в текущий момент модельного времени. Предикат задает так называемую функцию возбуждения (или спусковую функцию). Интерпретатором будет сделана попытка запуска активного ФБ. В дальнейшем для краткости предикаты будем определять только именем, без показа самого отображения. Пример определения вышеприведенного предиката: activeFB(fbi). Обозначим FBa = {fbeFB | activeFB(fb)} - множество активных ФБ в текущий момент модельного времени.

Предикат activeFBPrev(fbj) определяет, являлся ли блок fbj активным в предыдущий момент модельного времени. Обозначим FBap = {fbeFB | activeFBPrev(fb)} - множество ФБ, которые были активными непосредственно в прошлом.

Предикат enabled(fb) = З eie EI [ZEI(ei) = і] определяет, является ли разрешенным в текущий момент модельного времени блок fbj. ФБ является разрешенным, если хотя бы на одном из его событийных входов находится сигнал. Определим FBe = {fbeFB | enabled(fb)} - множество разрешенных ФБ.

Функция EOS(fbj) определяет линейно-упорядоченное мультимножество сигналов (последовательность), выданных блоком fbjeFB при своем выполнении. В данном случае сигналы идентифицируются событийными выходами ФБ, на которых они находятся. Упорядоченность определяется порядком выдачи сигналов.

Функция ElS(fbj) определяет последовательность сигналов, которые появились на входах ФБ в результате выполнения блока fbj. Упорядоченность определяется порядком появления сигналов на входах.

Функция OF(fbj) определяет последовательность блоков-приемников сигналов, выданных с блока fbj при его выполнении. Упорядоченность определяется порядком получения соответствующими блоками входных сигналов.

Функция pr: FB u EI ^ N0 = {0, 1, 2 ,...} определяет приоритет блока или событийного входа.

Отношение предпочтения Pref с FB x FB служит для определения наиболее предпочтительных блоков для выполнения. Это отношение частич-

ного порядка. Если (fbi, fbj)ePref, то выполнение блока fbt предпочтительнее выполнения блока fbj.

Отношение PoolOrder с FB x FB задает жесткий порядок выполнения ФБ в циклической модели. С помощью этого отношения все ФБ связаны в кольцо опроса.

Отношение EvConn с FB x FB определяет событийные связи между ФБ как целыми единицами. Обозначим prefb - множество предшественников блока fb по отношению EvConn.

Предикат activeEI(eij) определяет, является ли событийный вход eij активным. Сигнал на активном входе подлежит обязательной обработке.

Функция т j: El ^ N u {ю} определяет времена прибытия (порядковые номера) сигналов на событийных входах блока fbj. В дальнейшем для простоты верхний индекс будет опускаться. Если T(eik) = ю, то считается, что на событийной линии eik сигнал отсутствует. В каждый новый момент модельного времени локальные часы для регистрации входных сигналов в системе сбрасываются в ноль.

Циклические модели выполнения

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

Циклическую модель выполнения можно определить следующей функцией возбуждения: activeFB(fbj) = З JbieFB[activeFBPrev(fbi) & (fbi, fb)e PoolOrder].

Циклическая модель выполнения с пропуском неразрешенных ФБ определяется следующим образом:

activeFB(fbj) = enabled(fbj) & (З fbieFBap[З s = (fbi,fbi+1, ...,fbj) [Vke {i, i + 1, ..., j - 1}[(f,fk+1)ePoolOrder] & |s| > 2 ^ Vme {i + 1, ..., j - 1} [^enabled(fbj)]] v З fbe FBap & З fbe FBe[pr(fbi) > prfbj)]).

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

Последовательная модель выполнения

В модели выполнения на основе последовательной гипотезы первым запускается тот ФБ, на который первым пришел сигнал. При активизации ФБ сигналы с его выходов выдаются в том же порядке, в каком они были сгенерированы во время выполнения ФБ. Данная модель выполнения предполагает построение последовательностей EOS, ElS и OF. Следует заметить, что при построении последовательности ElS на основе EOS для избегания неопределенности следует учитывать дополнительную информацию, например, прио-

ритетность ФБ или выходных линий ФБ. Рассмотрим пример на рис. 3. Пусть Е0Б(/Ы) = (ео2,ео1,ео3,ео2) ирг(/Ь4) >рг(/Ь3). Тогда Е/£(/Ь 1) = (/Ь4.вИ,/Ь3.еИ, /Ь2.еИ, /Ь4.в12, /Ь4.вИ, /Ь3.вИ) и, соответственно, 0F(fЬ1) = (/Ь4, /ЬЗ,/Ь2,/Ь4, /Ь4, /Ь3). В выражении для Е1Б для идентификации входных сигналов использовалась точечная нотация.

---- ег\

Jb3

ei\

Jb4

ei 1 ei2

Рис. 3. Структура взаимосвязей ФБ-источника и ФБ-приемников

Последовательная модель выполнения может быть определена следующим образом:

activeFB(fbj) = 3 fbjEprejbjlfbjEOFifbi) & (3 fbkEOF(fbi)[activeFBPrev(fbk) & fbj = next(fbk)] v activeFBPrev(fb) &first(OF(fbi),fbj) = true)].

В соответствии с этим определением блок fbj является активным, если он имеет предшественника fb, у которого в последовательности OF он стоит непосредственно после ближайшего в прошлом активного блокаfbk, или если блок fbi сам являлся в ближайшем прошлом активным блоком и при этом блок fbj стоит в его списке OF первым.

Синхронные модели выполнения

В классической синхронной однотактной модели в каждый момент модельного времени выполняются все разрешенные ФБ:

activeFB(fbj) = enabled(fbj).

Недостатком данной модели является неопределенность при одновременном выполнении связанных событийными линиями разрешенных ФБ. При этом при псевдопараллельном выполнении ФБ результат будет зависеть от порядка выполнения этих ФБ, а при истинном параллельном выполнении -от скоростей интерпретации каждого из ФБ. Для исключения подобных ситуаций используются двухтактные схемы [8].

В синхронной модели с использованием частичного порядка срабатывания в каждый момент модельного времени активизируются только наиболее предпочтительные разрешенные ФБ:

activeFB(fbj) = enabled(fbj) & 3 fbiEFB[enabled(fbi) & (fbi,fb])EPref].

Рассмотрим следующий пример. Пусть отношение предпочтения Рге/ задано в виде диаграммы Хассе на рис. 4. Тогда если разрешены все ФБ /Ь1.../Ь 8, то будет активизирован только один блок /Ь1. Если же разрешены все ФБ, кроме /Ь1, то одновременно будут активизированы блоки /Ь2, /Ь3 и /Ь4.

Рис. 4. Диаграмма Хассе, определяющая отношение предпочтения ФБ

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

activeFB(fbj) = enabled(fbj) & 3 fbiEFB[enabled(fbi) &pr(fbt) >pr(fbj)].

Синхронная модель выполнения с явным группированием предполагает разбиение ФБ на группы G1, G2, ..., Gn и активизацию блоков целыми группами. Возможно вхождение одного ФБ в разные группы, т.е. возможно, что Gi П Gj Ф 0. В группе ФБ может выделяться один или несколько «лидеров» группы. Можно определить следующие условия разрешенности группы:

а) разрешены все члены группы;

б) разрешен один из лидеров группы;

в) разрешены все лидеры группы;

г) условие в виде произвольного логического выражения.

Одновременно может быть разрешено несколько групп, что определяет конфликтную ситуацию. Возможны следующие пути разрешения конфликтов:

а) на основе приоритетов групп;

б) на основе максимального числа разрешенных ФБ в группах;

в) на основе максимального числа разрешенных ФБ-лидеров в группах

и т. д.

Синхронные модели на основе произвольных функций возбуждения являются наиболее общими моделями. При этом функции возбуждения представляются в виде логических выражений, включающих предикаты типа enabled, activeFBPrev, а также любые другие предикаты, связанные с объектами времени интерпретации, определенными выше. С помощью подобных логических выражений можно задать практически любую модель выполнения.

В отличие от выражений для предиката activeFB, используемых для спецификации моделей, логические выражения должны быть четко определены с вычислительной точки зрения и выполняться за относительно короткое время. Обозначим x1, x2, ..., xm - значения предикатов, используемых в логических выражениях. Тогда модель выполнения определяется выражениями вида

activeFB(fbi) = Fi(xi, Х2, ., Xm), (1)

для iE {1, 2, ., m}, где Fi - функция в виде логического выражения.

В качестве примера рассмотрим реализацию синхронной модели на основе частичного порядка с помощью логических выражений. В функцию возбуждения включаются конъюнкция инверсных значений предикатов разре-шенности тех ФБ, которые предпочтительнее данного ФБ. Для блока fb5, приведенного в примере, представленном на рис. 4, можно определить следующую функцию возбуждения: activeFB(fb5) = enabled(fb5) & —enabled(fb1) & —enabled(fb2) & & —ienabled(fb4).

Модели на основе произвольных функций возбуждения могут быть довольно запутанными и содержать ошибки. Для проверки некоторых условий корректности данных моделей можно решать системы булевых уравнений на основе выражений типа (1). Например, для того чтобы узнать, при каких условиях в системе не будет ни одного активного ФБ, следует решить следующую систему уравнений:

Л

F1(x1, x2, ., xm) = false

F2(X1, x2, ..., xm) = false

F„(xb x2, ..., xm) = false

> (2)

Для того чтобы найти условие, при котором модель выполнения будет последовательной (т.е. когда в любой момент модельного времени будет активным один ФБ), можно решить уравнение (3):

F1(xb x2, ., xm) & — F2(x1, x2, ., xm) &. & —F„(xbx2,.. .,xm)v

—F1(x1, x2, ., xm) & F2(x1, x2, ., xm) &. & — F„(xb x2, ., xm)v

... v —F1(x1, x2, ., xm) & — F2(x1, x2, ., xm) &. & Fn (x1, x2, ., xm) = true. (3)

По всей видимости, для оптимизации моделей выполнения также будут полезны методы целочисленного линейного и динамического программирования.

3. Обработка входных сигналов в моделях выполнения

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

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

«Хорошая» ситуация, однозначно интерпретируемая стандартом IEC 61499 и не вызывающая проблем в моделях выполнения ФБ, приведена на

рис. 5. Это случай, когда на один из событийных входов поступает сигнал, и при этом существует разрешенный переход в диаграмме ЕСС, помеченный этим сигналом.

F3

ц ^ ^ Существует " ^ N

^ разрешенный ЕС- )

. _ ' у

□ Р

St atе= free

Рис. 5. Однозначная ситуация с входными сигналами

Если предположить параллельное асинхронное функционирование ФБ, которое покрывает все возможные сценарии развития событий в системе ФБ, то кроме «хорошей» ситуации, представленной на рис. 5, возможны и другие ситуации, которые, однако, вызывают различные трактовки у разных исследователей. Назовем эти ситуации проблемными. Схематичное представление подобных ситуаций приведено на рис. 6. На данном рисунке состояние операционного автомата (OSM) обозначено как State. Значение free («свободно») соответствует состоянию 50 автомата OSM, а состояние busy («занято») - состояниям s 1 или s2 автомата OSM [1].

Рис. 6. Проблемные ситуации с входными сигналами: а - одновременный приход сигналов на входы ФБ (ситуация 1); б - приход сигнала на занятый ФБ (ситуация 2); в - приход сигнала на незанятый ФБ, когда его обработка не предусмотрена в ЕСС (ситуация 3)

Ситуация 1 (рис. 6,а), когда на входы ФБ одновременно приходят несколько сигналов, является маловероятной, но возможной. Более вероятной является ситуация 2 (рис. 6,б), когда в занятом состоянии на ФБ приходит сигнал. И чем больше реальная продолжительность выполнения алгоритмов, тем более вероятна данная ситуация. Ситуацию 3 можно считать типовой и она встречается на практике очень часто. Не рассматриваются отдельно ситуации 2 и 3 в случае прихода нескольких сигналов, поскольку это не меняет сути дела. Также особо не рассматривается ситуация, когда на один событийный вход приходит два (или более) сигнала с разных направлений, поскольку событийный вход с несколькими входящими событийными линиями можно заменить на эквивалентную конструкцию, содержащую стандартный ФБ

E MERGE. В этом случае данная ситуация трансформируется в ситуацию 1. Ситуация, когда на один и тот же событийный вход одновременно приходят два (или более) различных сигнала с одной и той же событийной линии, является логически бессмысленной. В этом случае «серия» из нескольких сигналов может быть представлена одним сигналом (хотя возможны другие варианты).

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

Рассмотрим возможные пути решения проблемных ситуаций. По ситуации 1 имеются следующие варианты обработки входных событий ФБ:

1. По какому-либо правилу выбирается один (активный) входной сигнал, который будет в дальнейшем обрабатываться, а другие сигналы удаляются:

VeiEEI \ eia {ZEI(ei) = 0}.

Здесь под eia обозначен событийный вход, на котором находится активный сигнал, а в фигурные скобки заключены исполняемые действия. Потерю сигнала можно считать недостатком этого правила, поскольку по сути дела теряется (возможно, важная) информация.

2. Обрабатываются все входные сигналы, но по одному, в порядке предпочтительности. Фаза активности ФБ включает обработку всех входных сигналов последовательно, один за другим.

3. Обрабатывается один (активный) сигнал, выбираемый по определенному правилу, а остальные не трогаются (сохраняются). После обработки этого сигнала могут выполняться другие разрешенные ФБ. Фаза активности ФБл включает обработку одного сигнала.

Возможны следующие варианты выбора активного сигнала:

1) по приоритету входной событийной линии. При этом предикат выбора определяется как

activeEI(eij) = ZEI(eij) = 1 & 3 eikEEI [pr(eik) >pr(eij)];

2) по времени поступления сигнала:

activeEI(eij) = ZEI(eij) =1 & 3 eikEEI [x(eik) < x(e/j)];

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

Для решения ситуации 2 возможны следующие варианты обработки входного сигнала: 1) сигнал на входе уничтожается; 2) сигнал на входе сохраняется. Можно предполагать, что стандарт скорее склоняется к варианту 1, в то время как черновик стандарта был ориентирован на вариант 2, поскольку в нем вводились очереди сигналов единичной длины (так называемые EI-переменные). Ситуация 3 может решаться теми же двумя способами, что и ситуация 2, т.е. сигнал на входе или уничтожается, или нет. Скорее всего, в стандарте предполагался первый вариант, Основанием для этого является табл. 1 стандарта IEC 61499 [1].

Заключение

В работе предпринята попытка формализации моделей выполнения на основе функций возбуждения, а также рассмотрены вопросы обработки входных событий. В качестве подхода к унифицированному описанию операционной семантики модели ФБ в совокупности с моделями выполнения возможно использование машин абстрактных состояний, предложенных Ю. Гуревичем [8].

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

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. - V. 3, № 4. - 2009. - P. 40-48.

3. Дубинин, В. Н. Модели последовательного выполнения функциональных блоков IEC 61499 на основе динамически изменяемых приоритетов / В. Н. Дубинин, В. В. Вяткин // Известия высших учебных заведений. Поволжский регион. Технические науки. - 2007. - № 1. - С. 13-22.

4. Yoong, L. H. A Synchronous Approach for IEC 61499 Function Block Implementation / L. H. Yoong, P. S. Roop, V. Vyatkin, Z. Salcic // IEEE Transactions on Computers. - 2009. - V. 58 (12). - P. 1599-1614.

5. Дубинин, В. Н. Разработка интегрированной параметризованной модели выполнения функциональных блоков IEC 61499 с использованием морфологических методов / В. Н. Дубинин, В. В. Вяткин // Современные информационные технологии : сб. статей Международной научно-технической конференции. -Пенза, 2008. - Вып. 7. - С. 146-154.

6. Дубинин, В. Н. Формализованное описание и моделирование систем функциональных блоков IEC 61499 / В. Н. Дубинин, В. В. Вяткин // Известия высших учебных заведений. Поволжский регион. Сер. Технические науки. - 2005. -№ 5. - С. 76-89.

7. Котов, В. Е. Сети Петри / В. Е. Котов. - М. : Наука, 1984. - 160 с.

8. Gurevich, Y. Evolving Algebras 1993: Lipari Guide / Y. Gurevich // Specification and Validation Methods. - Oxford University Press, 1995. - P. 9-36.

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

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

E-mail: [email protected]

DubininViktor Nikolaevich Candidate of engineering sciences, associate professor, sub-department of computer science, Penza State University

Вяткин Валерий Владимирович

доктор технических наук, профессор, факультет электронных и компьютерных наук, Оклендский университет (г. Окленд, Новая Зеландия)

E-mail: [email protected]

УДК 004.423.4 Дубинин, В. Н.

Формализация моделей выполнения функциональных блоков IEC 61499 / В. Н. Дубинин, В. В. Вяткин // Известия высших учебных заведений. Поволжский регион. Технические науки. - 2011. - № 1 (17). - С. 12-23.

Vyatkin Valery Vladimirovich Doctor of engineering sciences, professor, department of electronics and computer science, Auckland University (Auckland, New Zealand)

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